Documentation ¶
Index ¶
- Constants
- func StartMintServer(server *MintServer)
- type BoltDB
- func (b *BoltDB) GetInvoice(id string) *lightning.Invoice
- func (db *BoltDB) GetKeysets() map[string]crypto.Keyset
- func (b *BoltDB) GetMeltQuote(quoteId string) *MeltQuote
- func (db *BoltDB) GetProof(secret string) *cashu.Proof
- func (b *BoltDB) SaveInvoice(invoice lightning.Invoice) error
- func (db *BoltDB) SaveKeyset(keyset *crypto.Keyset) error
- func (b *BoltDB) SaveMeltQuote(quote MeltQuote) error
- func (b *BoltDB) SaveProof(proof cashu.Proof) error
- type Config
- type MeltQuote
- type Mint
- func (m *Mint) GetMeltQuoteState(method, quoteId string) (MeltQuote, error)
- func (m *Mint) GetMintQuoteState(method, quoteId string) (nut04.PostMintQuoteBolt11Response, error)
- func (m *Mint) MeltRequest(method, request, unit string) (MeltQuote, error)
- func (m *Mint) MeltTokens(method, quoteId string, proofs cashu.Proofs) (MeltQuote, error)
- func (m *Mint) MintTokens(method, id string, blindedMessages cashu.BlindedMessages) (cashu.BlindedSignatures, error)
- func (m *Mint) RequestMintQuote(method string, amount uint64, unit string) (nut04.PostMintQuoteBolt11Response, error)
- func (m *Mint) Swap(proofs cashu.Proofs, blindedMessages cashu.BlindedMessages) (cashu.BlindedSignatures, error)
- func (m *Mint) VerifyProofs(proofs cashu.Proofs) (bool, error)
- type MintServer
Constants ¶
const (
QuoteExpiryMins = 10
)
Variables ¶
This section is empty.
Functions ¶
func StartMintServer ¶
func StartMintServer(server *MintServer)
Types ¶
type BoltDB ¶
type BoltDB struct {
// contains filtered or unexported fields
}
func (*BoltDB) GetMeltQuote ¶
func (*BoltDB) SaveMeltQuote ¶
type Mint ¶
type Mint struct { // active keysets ActiveKeysets map[string]crypto.Keyset // map of all keysets (both active and inactive) Keysets map[string]crypto.Keyset LightningClient lightning.Client MintInfo *nut06.MintInfo // contains filtered or unexported fields }
func (*Mint) GetMeltQuoteState ¶
GetMeltQuoteState returns the state of a melt quote. Used to check whether a melt quote has been paid.
func (*Mint) GetMintQuoteState ¶
func (m *Mint) GetMintQuoteState(method, quoteId string) (nut04.PostMintQuoteBolt11Response, error)
GetMintQuoteState returns the state of a mint quote. Used to check whether a mint quote has been paid.
func (*Mint) MeltRequest ¶
MeltRequest will process a request to melt tokens and return a MeltQuote. A melt is requested by a wallet to request the mint to pay an invoice.
func (*Mint) MeltTokens ¶
MeltTokens verifies whether proofs provided are valid and proceeds to attempt payment.
func (*Mint) MintTokens ¶
func (m *Mint) MintTokens(method, id string, blindedMessages cashu.BlindedMessages) (cashu.BlindedSignatures, error)
MintTokens verifies whether the mint quote with id has been paid and proceeds to sign the blindedMessages and return the BlindedSignatures if it was paid.
func (*Mint) RequestMintQuote ¶
func (m *Mint) RequestMintQuote(method string, amount uint64, unit string) (nut04.PostMintQuoteBolt11Response, error)
RequestMintQuote will process a request to mint tokens and returns a mint quote response or an error. The request to mint a token is explained in NUT-04 here: https://github.com/cashubtc/nuts/blob/main/04.md.
func (*Mint) Swap ¶
func (m *Mint) Swap(proofs cashu.Proofs, blindedMessages cashu.BlindedMessages) (cashu.BlindedSignatures, error)
Swap will process a request to swap tokens. A swap requires a set of valid proofs and blinded messages. If valid, the mint will sign the blindedMessages and invalidate the proofs that were used as input. It returns the BlindedSignatures.
type MintServer ¶
type MintServer struct {
// contains filtered or unexported fields
}
func SetupMintServer ¶
func SetupMintServer(config Config) (*MintServer, error)
func (*MintServer) LogInfo ¶
func (ms *MintServer) LogInfo(format string, v ...any)