Enum lightning::util::events::PaymentPurpose [−][src]
pub enum PaymentPurpose { InvoicePayment { payment_preimage: Option<PaymentPreimage>, payment_secret: PaymentSecret, user_payment_id: u64, }, SpontaneousPayment(PaymentPreimage), }
Expand description
Some information provided on receipt of payment depends on whether the payment received is a spontaneous payment or a “conventional” lightning payment that’s paying an invoice.
Variants
Information for receiving a payment that we generated an invoice for.
Fields of InvoicePayment
payment_preimage: Option<PaymentPreimage>
The preimage to the payment_hash, if the payment hash (and secret) were fetched via
ChannelManager::create_inbound_payment
. If provided, this can be handed directly to
ChannelManager::claim_funds
.
payment_secret: PaymentSecret
The “payment secret”. This authenticates the sender to the recipient, preventing a
number of deanonymization attacks during the routing process.
It is provided here for your reference, however its accuracy is enforced directly by
ChannelManager
using the values you previously provided to
ChannelManager::create_inbound_payment
or
ChannelManager::create_inbound_payment_for_hash
.
user_payment_id: u64
This is the user_payment_id
which was provided to
ChannelManager::create_inbound_payment_for_hash
or
ChannelManager::create_inbound_payment
. It has no meaning inside of LDK and is
simply copied here. It may be used to correlate PaymentReceived events with invoice
metadata stored elsewhere.
Because this is a spontaneous payment, the payer generated their own preimage rather than us (the payee) providing a preimage.
Tuple Fields of SpontaneousPayment
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for PaymentPurpose
impl Send for PaymentPurpose
impl Sync for PaymentPurpose
impl Unpin for PaymentPurpose
impl UnwindSafe for PaymentPurpose
Blanket Implementations
Mutably borrows from an owned value. Read more