Documentation ¶
Index ¶
- func AddInvoice(ctx context.Context, cfg *AddInvoiceConfig, invoice *AddInvoiceData) (*lntypes.Hash, *channeldb.Invoice, error)
- func CreateRPCFeatures(fv *lnwire.FeatureVector) map[uint32]*api.Feature
- func CreateRPCInvoice(invoice *channeldb.Invoice, activeNetParams *chaincfg.Params) (*api.Invoice, error)
- func CreateRPCRouteHints(routeHints [][]zpay32.HopHint) []*api.RouteHint
- func DisableLog()
- func UseLogger(logger btclog.Logger)
- type AddInvoiceConfig
- type AddInvoiceData
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddInvoice ¶
func AddInvoice(ctx context.Context, cfg *AddInvoiceConfig, invoice *AddInvoiceData) (*lntypes.Hash, *channeldb.Invoice, error)
AddInvoice attempts to add a new invoice to the invoice database. Any duplicated invoices are rejected, therefore all invoices *must* have a unique payment preimage.
func CreateRPCFeatures ¶
func CreateRPCFeatures(fv *lnwire.FeatureVector) map[uint32]*api.Feature
CreateRPCFeatures maps a feature vector into a list of lnrpc.Features.
func CreateRPCInvoice ¶
func CreateRPCInvoice(invoice *channeldb.Invoice, activeNetParams *chaincfg.Params) (*api.Invoice, error)
CreateRPCInvoice creates an *lnrpc.Invoice from the *channeldb.Invoice.
func CreateRPCRouteHints ¶
CreateRPCRouteHints takes in the decoded form of an invoice's route hints and converts them into the lnrpc type.
func DisableLog ¶
func DisableLog()
DisableLog disables all library log output. Logging output is disabled by by default until UseLogger is called.
Types ¶
type AddInvoiceConfig ¶
type AddInvoiceConfig struct { // AddInvoice is called to add the invoice to the registry. AddInvoice func(invoice *channeldb.Invoice, paymentHash lntypes.Hash) ( uint64, error) // IsChannelActive is used to generate valid hop hints. IsChannelActive func(chanID lnwire.ChannelID) bool // ChainParams are required to properly decode invoice payment requests // that are marshalled over rpc. ChainParams *chaincfg.Params // NodeSigner is an implementation of the MessageSigner implementation // that's backed by the identity private key of the running lnd node. NodeSigner *netann.NodeSigner // MaxPaymentMSat is the maximum allowed payment. MaxPaymentMSat lnwire.MilliSatoshi // DefaultCLTVExpiry is the default invoice expiry if no values is // specified. DefaultCLTVExpiry uint32 // ChanDB is a global boltdb instance which is needed to access the // channel graph. ChanDB *channeldb.DB // GenInvoiceFeatures returns a feature containing feature bits that // should be advertised on freshly generated invoices. GenInvoiceFeatures func() *lnwire.FeatureVector }
AddInvoiceConfig contains dependencies for invoice creation.
type AddInvoiceData ¶
type AddInvoiceData struct { // An optional memo to attach along with the invoice. Used for record // keeping purposes for the invoice's creator, and will also be set in // the description field of the encoded payment request if the // description_hash field is not being used. Memo string // The preimage which will allow settling an incoming HTLC payable to // this preimage. If Preimage is set, Hash should be nil. If both // Preimage and Hash are nil, a random preimage is generated. Preimage *lntypes.Preimage // The hash of the preimage. If Hash is set, Preimage should be nil. // This condition indicates that we have a 'hold invoice' for which the // htlc will be accepted and held until the preimage becomes known. Hash *lntypes.Hash // The value of this invoice in millisatoshis. Value lnwire.MilliSatoshi // Hash (SHA-256) of a description of the payment. Used if the // description of payment (memo) is too long to naturally fit within the // description field of an encoded payment request. DescriptionHash []byte // Payment request expiry time in seconds. Default is 3600 (1 hour). Expiry int64 // Fallback on-chain address. FallbackAddr string // Delta to use for the time-lock of the CLTV extended to the final hop. CltvExpiry uint64 // Whether this invoice should include routing hints for private // channels. Private bool }
AddInvoiceData contains the required data to create a new invoice.