@@ -32,7 +32,7 @@ use lightning::events::{Event as LdkEvent, PaymentFailureReason};
32
32
use lightning:: impl_writeable_tlv_based_enum;
33
33
use lightning:: ln:: channelmanager:: PaymentId ;
34
34
use lightning:: ln:: types:: ChannelId ;
35
- use lightning:: ln:: PaymentHash ;
35
+ use lightning:: ln:: { PaymentHash , PaymentPreimage } ;
36
36
use lightning:: routing:: gossip:: NodeId ;
37
37
use lightning:: util:: errors:: APIError ;
38
38
use lightning:: util:: ser:: { Readable , ReadableArgs , Writeable , Writer } ;
@@ -65,6 +65,12 @@ pub enum Event {
65
65
payment_id : Option < PaymentId > ,
66
66
/// The hash of the payment.
67
67
payment_hash : PaymentHash ,
68
+ /// The preimage to the `payment_hash`.
69
+ ///
70
+ /// Note that this serves as a payment receipt.
71
+ ///
72
+ /// Will only be `None` for events serialized with LDK Node v0.4.2 or prior.
73
+ payment_preimage : Option < PaymentPreimage > ,
68
74
/// The total fee which was spent at intermediate hops in this payment.
69
75
fee_paid_msat : Option < u64 > ,
70
76
} ,
@@ -163,6 +169,7 @@ impl_writeable_tlv_based_enum!(Event,
163
169
( 0 , payment_hash, required) ,
164
170
( 1 , fee_paid_msat, option) ,
165
171
( 3 , payment_id, option) ,
172
+ ( 5 , payment_preimage, option) ,
166
173
} ,
167
174
( 1 , PaymentFailed ) => {
168
175
( 0 , payment_hash, option) ,
@@ -869,6 +876,7 @@ where
869
876
} ) ;
870
877
let event = Event :: PaymentSuccessful {
871
878
payment_id : Some ( payment_id) ,
879
+ payment_preimage : Some ( payment_preimage) ,
872
880
payment_hash,
873
881
fee_paid_msat,
874
882
} ;
0 commit comments