@@ -62,6 +62,7 @@ async fn monitor_v0_7_0_serialization_downgrade_channel_payment() {
6262
6363 let node_id_a;
6464 let node_id_b;
65+ let pre_downgrade_payment_id;
6566
6667 {
6768 let node_a = build_current_node (
@@ -105,8 +106,13 @@ async fn monitor_v0_7_0_serialization_downgrade_channel_payment() {
105106 assert_current_channel_ready ( & node_a, node_id_b) ;
106107 assert_current_channel_ready ( & node_b, node_id_a) ;
107108
108- send_current_bolt11_payment ( & node_a, & node_b, PRE_DOWNGRADE_PAYMENT_MSAT , "pre-downgrade" )
109- . await ;
109+ pre_downgrade_payment_id = send_current_bolt11_payment (
110+ & node_a,
111+ & node_b,
112+ PRE_DOWNGRADE_PAYMENT_MSAT ,
113+ "pre-downgrade" ,
114+ )
115+ . await ;
110116
111117 node_a. stop ( ) . unwrap ( ) ;
112118 node_b. stop ( ) . unwrap ( ) ;
@@ -130,6 +136,21 @@ async fn monitor_v0_7_0_serialization_downgrade_channel_payment() {
130136 assert_eq ! ( node_a_v070. node_id( ) , node_id_a) ;
131137 assert_eq ! ( node_b_v070. node_id( ) , node_id_b) ;
132138
139+ let pre_downgrade_payment_id =
140+ ldk_node_070:: lightning:: ln:: channelmanager:: PaymentId ( pre_downgrade_payment_id. 0 ) ;
141+ assert_v070_bolt11_payment (
142+ & node_a_v070,
143+ & pre_downgrade_payment_id,
144+ ldk_node_070:: payment:: PaymentDirection :: Outbound ,
145+ PRE_DOWNGRADE_PAYMENT_MSAT ,
146+ ) ;
147+ assert_v070_bolt11_payment (
148+ & node_b_v070,
149+ & pre_downgrade_payment_id,
150+ ldk_node_070:: payment:: PaymentDirection :: Inbound ,
151+ PRE_DOWNGRADE_PAYMENT_MSAT ,
152+ ) ;
153+
133154 node_a_v070. sync_wallets ( ) . unwrap ( ) ;
134155 node_b_v070. sync_wallets ( ) . unwrap ( ) ;
135156 node_a_v070. connect ( node_id_b, v070_addresses_b. first ( ) . unwrap ( ) . clone ( ) , true ) . unwrap ( ) ;
@@ -217,7 +238,7 @@ async fn open_current_channel(node_a: &CurrentNode, node_b: &CurrentNode) -> bit
217238
218239async fn send_current_bolt11_payment (
219240 payer : & CurrentNode , payee : & CurrentNode , amount_msat : u64 , description : & str ,
220- ) {
241+ ) -> ldk_node :: lightning :: ln :: channelmanager :: PaymentId {
221242 let invoice_description = CurrentBolt11InvoiceDescription :: Direct (
222243 CurrentDescription :: new ( description. to_owned ( ) ) . unwrap ( ) ,
223244 ) ;
@@ -229,6 +250,7 @@ async fn send_current_bolt11_payment(
229250 payer. payment( & payment_id) . unwrap( ) . status,
230251 ldk_node:: payment:: PaymentStatus :: Succeeded
231252 ) ;
253+ payment_id
232254}
233255
234256async fn send_v070_bolt11_payment (
@@ -363,6 +385,17 @@ fn assert_current_channel_ready(node: &CurrentNode, counterparty_node_id: Public
363385 assert ! ( channel. is_channel_ready) ;
364386}
365387
388+ fn assert_v070_bolt11_payment (
389+ node : & ldk_node_070:: Node , payment_id : & ldk_node_070:: lightning:: ln:: channelmanager:: PaymentId ,
390+ expected_direction : ldk_node_070:: payment:: PaymentDirection , expected_amount_msat : u64 ,
391+ ) {
392+ let payment = node. payment ( payment_id) . unwrap ( ) ;
393+ assert_eq ! ( payment. amount_msat, Some ( expected_amount_msat) ) ;
394+ assert_eq ! ( payment. direction, expected_direction) ;
395+ assert_eq ! ( payment. status, ldk_node_070:: payment:: PaymentStatus :: Succeeded ) ;
396+ assert ! ( matches!( payment. kind, ldk_node_070:: payment:: PaymentKind :: Bolt11 { .. } ) ) ;
397+ }
398+
366399fn to_v070_socket_addresses (
367400 addresses : & [ CurrentSocketAddress ] ,
368401) -> Vec < ldk_node_070:: lightning:: ln:: msgs:: SocketAddress > {
0 commit comments