X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning%2Fsrc%2Fevents%2Fmod.rs;h=4e04a3634e10d3f9152ae6d074bb19365bf989a4;hb=98ed285b9cabf19097665aef0e9d8d1688ba5b39;hp=adbc7faf7e0f9d0acf1fa3349495733669d41193;hpb=a0183d7ef1bdf95eb009b1c85849585e3faa0217;p=rust-lightning diff --git a/lightning/src/events/mod.rs b/lightning/src/events/mod.rs index adbc7faf..4e04a363 100644 --- a/lightning/src/events/mod.rs +++ b/lightning/src/events/mod.rs @@ -72,6 +72,16 @@ pub enum PaymentPurpose { SpontaneousPayment(PaymentPreimage), } +impl PaymentPurpose { + /// Returns the preimage for this payment, if it is known. + pub fn preimage(&self) -> Option { + match self { + PaymentPurpose::InvoicePayment { payment_preimage, .. } => *payment_preimage, + PaymentPurpose::SpontaneousPayment(preimage) => Some(*preimage), + } + } +} + impl_writeable_tlv_based_enum!(PaymentPurpose, (0, InvoicePayment) => { (0, payment_preimage, option),