pub enum PaymentPurpose {
Bolt11InvoicePayment {
payment_preimage: Option<PaymentPreimage>,
payment_secret: PaymentSecret,
},
Bolt12OfferPayment {
payment_preimage: Option<PaymentPreimage>,
payment_secret: PaymentSecret,
payment_context: Bolt12OfferContext,
},
Bolt12RefundPayment {
payment_preimage: Option<PaymentPreimage>,
payment_secret: PaymentSecret,
payment_context: Bolt12RefundContext,
},
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§
Bolt11InvoicePayment
A payment for a BOLT 11 invoice.
Fields
payment_preimage: Option<PaymentPreimage>The preimage to the payment_hash, if the payment hash (and secret) were fetched via
ChannelManager::create_inbound_payment. When handling Event::PaymentClaimable,
this can be passed directly to ChannelManager::claim_funds to claim the payment. No
action is needed when seen in Event::PaymentClaimed.
payment_secret: PaymentSecretThe “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.
Bolt12OfferPayment
A payment for a BOLT 12 Offer.
Fields
payment_preimage: Option<PaymentPreimage>The preimage to the payment hash. When handling Event::PaymentClaimable, this can be
passed directly to ChannelManager::claim_funds, if provided. No action is needed
when seen in Event::PaymentClaimed.
payment_secret: PaymentSecretThe secret used to authenticate the sender to the recipient, preventing a number of de-anonymization attacks while routing a payment.
See PaymentPurpose::Bolt11InvoicePayment::payment_secret for further details.
payment_context: Bolt12OfferContextThe context of the payment such as information about the corresponding Offer and
InvoiceRequest.
This includes the Human Readable Name which the sender indicated they were paying to, for possible recipient disambiguation if you’re using a single wildcard DNS entry to resolve to many recipients.
Bolt12RefundPayment
A payment for a BOLT 12 Refund.
Fields
payment_preimage: Option<PaymentPreimage>The preimage to the payment hash. When handling Event::PaymentClaimable, this can be
passed directly to ChannelManager::claim_funds, if provided. No action is needed
when seen in Event::PaymentClaimed.
payment_secret: PaymentSecretThe secret used to authenticate the sender to the recipient, preventing a number of de-anonymization attacks while routing a payment.
See PaymentPurpose::Bolt11InvoicePayment::payment_secret for further details.
payment_context: Bolt12RefundContextThe context of the payment such as information about the corresponding Refund.
SpontaneousPayment(PaymentPreimage)
Because this is a spontaneous payment, the payer generated their own preimage rather than us (the payee) providing a preimage.
Implementations§
Source§impl PaymentPurpose
impl PaymentPurpose
Sourcepub fn preimage(&self) -> Option<PaymentPreimage>
pub fn preimage(&self) -> Option<PaymentPreimage>
Returns the preimage for this payment, if it is known.
Trait Implementations§
Source§impl Clone for PaymentPurpose
impl Clone for PaymentPurpose
Source§fn clone(&self) -> PaymentPurpose
fn clone(&self) -> PaymentPurpose
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more