Enum lightning::util::events::PaymentPurpose
source · pub enum PaymentPurpose {
InvoicePayment {
payment_preimage: Option<PaymentPreimage>,
payment_secret: PaymentSecret,
},
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§
InvoicePayment
Fields
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
.
Information for receiving a payment that we generated an invoice for.
SpontaneousPayment(PaymentPreimage)
Because this is a spontaneous payment, the payer generated their own preimage rather than us (the payee) providing a preimage.
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 moresource§impl Debug for PaymentPurpose
impl Debug for PaymentPurpose
source§impl PartialEq<PaymentPurpose> for PaymentPurpose
impl PartialEq<PaymentPurpose> for PaymentPurpose
source§fn eq(&self, other: &PaymentPurpose) -> bool
fn eq(&self, other: &PaymentPurpose) -> bool
self
and other
values to be equal, and is used
by ==
.