1111use ldk_node:: config:: { Config , EsploraSyncConfig } ;
1212use ldk_node:: io:: sqlite_store:: SqliteStore ;
1313use ldk_node:: payment:: { PaymentDirection , PaymentKind , PaymentStatus } ;
14- use ldk_node:: { Builder , Event , LightningBalance , LogLevel , Node , NodeError , PendingSweepBalance } ;
14+ use ldk_node:: {
15+ Builder , Event , LightningBalance , LogLevel , Node , NodeError , PendingSweepBalance , TlvEntry ,
16+ } ;
1517
1618use lightning:: ln:: msgs:: SocketAddress ;
1719use lightning:: ln:: { PaymentHash , PaymentPreimage } ;
@@ -751,14 +753,18 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
751753 // Test spontaneous/keysend payments
752754 println ! ( "\n A send_spontaneous_payment" ) ;
753755 let keysend_amount_msat = 2500_000 ;
754- let keysend_payment_id =
755- node_a. spontaneous_payment ( ) . send ( keysend_amount_msat, node_b. node_id ( ) , None ) . unwrap ( ) ;
756+ let custom_tlvs = vec ! [ TlvEntry { r#type: 13377331 , value: vec![ 1 , 2 , 3 ] } ] ;
757+ let keysend_payment_id = node_a
758+ . spontaneous_payment ( )
759+ . send_with_custom_tlvs ( keysend_amount_msat, node_b. node_id ( ) , None , custom_tlvs. clone ( ) )
760+ . unwrap ( ) ;
756761 expect_event ! ( node_a, PaymentSuccessful ) ;
757- let received_keysend_amount = match node_b. wait_next_event ( ) {
758- ref e @ Event :: PaymentReceived { amount_msat, .. } => {
762+ let next_event = node_b. wait_next_event ( ) ;
763+ let ( received_keysend_amount, received_custom_records) = match next_event {
764+ ref e @ Event :: PaymentReceived { amount_msat, ref custom_records, .. } => {
759765 println ! ( "{} got event {:?}" , std:: stringify!( node_b) , e) ;
760766 node_b. event_handled ( ) ;
761- amount_msat
767+ ( amount_msat, custom_records )
762768 } ,
763769 ref e => {
764770 panic ! ( "{} got unexpected event!: {:?}" , std:: stringify!( node_b) , e) ;
@@ -772,6 +778,7 @@ pub(crate) fn do_channel_full_cycle<E: ElectrumApi>(
772778 node_a. payment( & keysend_payment_id) . unwrap( ) . kind,
773779 PaymentKind :: Spontaneous { .. }
774780 ) ) ;
781+ assert_eq ! ( received_custom_records. as_ref( ) . unwrap( ) . 0 , custom_tlvs) ;
775782 assert_eq ! ( node_b. payment( & keysend_payment_id) . unwrap( ) . status, PaymentStatus :: Succeeded ) ;
776783 assert_eq ! ( node_b. payment( & keysend_payment_id) . unwrap( ) . direction, PaymentDirection :: Inbound ) ;
777784 assert_eq ! ( node_b. payment( & keysend_payment_id) . unwrap( ) . amount_msat, Some ( keysend_amount_msat) ) ;
0 commit comments