Module lightning_invoice::utils
source · Expand description
Convenient utilities to create an invoice.
Functions
Utility to construct an invoice. Generally, unless you want to do something like a custom
cltv_expiry, this is what you should be using to create an invoice. The reason being, this
method stores the invoice’s payment secret and preimage in
ChannelManager
, so (a) the user
doesn’t have to store preimage/payment secret information and (b) ChannelManager
can verify
that the payment secret is valid when the invoice is paid.See
create_invoice_from_channelmanager
This version can be used in a no_std
environment, where std::time::SystemTime
is not
available and the current time is supplied by the caller.See
create_invoice_from_channelmanager_and_duration_since_epoch
This version allows for providing a custom PaymentHash
for the invoice.
This may be useful if you’re building an on-chain swap or involving another protocol where
the payment hash is also involved outside the scope of lightning.Utility to construct an invoice. Generally, unless you want to do something like a custom
cltv_expiry, this is what you should be using to create an invoice. The reason being, this
method stores the invoice’s payment secret and preimage in
ChannelManager
, so (a) the user
doesn’t have to store preimage/payment secret information and (b) ChannelManager
can verify
that the payment secret is valid when the invoice is paid.
Use this variant if you want to pass the description_hash
to the invoice.See
create_invoice_from_channelmanager_with_description_hash
This version can be used in a no_std
environment, where std::time::SystemTime
is not
available and the current time is supplied by the caller.Utility to create an invoice that can be paid to one of multiple nodes, or a “phantom invoice.”
See
PhantomKeysManager
for more information on phantom node payments.Utility to create an invoice that can be paid to one of multiple nodes, or a “phantom invoice.”
See
PhantomKeysManager
for more information on phantom node payments.