Module utils
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 ano_std
environment, wherestd::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 customPaymentHash
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 thedescription_hash
to the invoice. - See
create_invoice_from_channelmanager_with_description_hash
This version can be used in ano_std
environment, wherestd::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.