pub fn create_invoice_from_channelmanager<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref>(
    channelmanager: &ChannelManager<Signer, M, T, K, F, L>,
    keys_manager: K,
    network: Currency,
    amt_msat: Option<u64>,
    description: String
) -> Result<Invoice, SignOrCreationError<()>> where
    M::Target: Watch<Signer>,
    T::Target: BroadcasterInterface,
    K::Target: KeysInterface<Signer = Signer>,
    F::Target: FeeEstimator,
    L::Target: Logger
This is supported on crate feature std only.
Expand description

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.