@@ -551,6 +551,7 @@ fn do_test_monitor_temporary_update_fail(disconnect_count: usize) {
551551 nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_second_revoke_and_ack) ;
552552 assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
553553 check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
554+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
554555
555556 expect_pending_htlcs_forwardable ! ( nodes[ 1 ] ) ;
556557
@@ -1090,12 +1091,12 @@ fn test_monitor_update_fail_reestablish() {
10901091 let chan_1 = create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
10911092 create_announced_chan_between_nodes ( & nodes, 1 , 2 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
10921093
1093- let ( our_payment_preimage , _, _) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] , & nodes[ 2 ] ] , 1000000 ) ;
1094+ let ( payment_preimage , _, _) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] , & nodes[ 2 ] ] , 1000000 ) ;
10941095
10951096 nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
10961097 nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
10971098
1098- assert ! ( nodes[ 2 ] . node. claim_funds( our_payment_preimage ) ) ;
1099+ assert ! ( nodes[ 2 ] . node. claim_funds( payment_preimage ) ) ;
10991100 check_added_monitors ! ( nodes[ 2 ] , 1 ) ;
11001101 let mut updates = get_htlc_update_msgs ! ( nodes[ 2 ] , nodes[ 1 ] . node. get_our_node_id( ) ) ;
11011102 assert ! ( updates. update_add_htlcs. is_empty( ) ) ;
@@ -1159,13 +1160,7 @@ fn test_monitor_update_fail_reestablish() {
11591160 assert_eq ! ( updates. update_fulfill_htlcs. len( ) , 1 ) ;
11601161 nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & updates. update_fulfill_htlcs [ 0 ] ) ;
11611162 commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , updates. commitment_signed, false ) ;
1162-
1163- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
1164- assert_eq ! ( events. len( ) , 1 ) ;
1165- match events[ 0 ] {
1166- Event :: PaymentSent { payment_preimage, .. } => assert_eq ! ( payment_preimage, our_payment_preimage) ,
1167- _ => panic ! ( "Unexpected event" ) ,
1168- }
1163+ expect_payment_sent ! ( nodes[ 0 ] , payment_preimage) ;
11691164}
11701165
11711166#[ test]
@@ -1300,7 +1295,7 @@ fn claim_while_disconnected_monitor_update_fail() {
13001295 let channel_id = create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) . 2 ;
13011296
13021297 // Forward a payment for B to claim
1303- let ( payment_preimage_1, payment_hash_1 , _) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , 1000000 ) ;
1298+ let ( payment_preimage_1, _ , _) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , 1000000 ) ;
13041299
13051300 nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
13061301 nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
@@ -1395,16 +1390,7 @@ fn claim_while_disconnected_monitor_update_fail() {
13951390
13961391 nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_raa) ;
13971392 check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
1398-
1399- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
1400- assert_eq ! ( events. len( ) , 1 ) ;
1401- match events[ 0 ] {
1402- Event :: PaymentSent { ref payment_preimage, ref payment_hash, .. } => {
1403- assert_eq ! ( * payment_preimage, payment_preimage_1) ;
1404- assert_eq ! ( * payment_hash, payment_hash_1) ;
1405- } ,
1406- _ => panic ! ( "Unexpected event" ) ,
1407- }
1393+ expect_payment_sent ! ( nodes[ 0 ] , payment_preimage_1) ;
14081394
14091395 claim_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , payment_preimage_2) ;
14101396}
@@ -1766,7 +1752,7 @@ fn monitor_update_claim_fail_no_response() {
17661752 let channel_id = create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) . 2 ;
17671753
17681754 // Forward a payment for B to claim
1769- let ( payment_preimage_1, payment_hash_1 , _) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , 1000000 ) ;
1755+ let ( payment_preimage_1, _ , _) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , 1000000 ) ;
17701756
17711757 // Now start forwarding a second payment, skipping the last RAA so B is in AwaitingRAA
17721758 let ( route, payment_hash_2, payment_preimage_2, payment_secret_2) = get_route_and_payment_hash ! ( nodes[ 0 ] , nodes[ 1 ] , 1000000 ) ;
@@ -1802,16 +1788,7 @@ fn monitor_update_claim_fail_no_response() {
18021788 let bs_updates = get_htlc_update_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ;
18031789 nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_updates. update_fulfill_htlcs [ 0 ] ) ;
18041790 commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , bs_updates. commitment_signed, false ) ;
1805-
1806- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
1807- assert_eq ! ( events. len( ) , 1 ) ;
1808- match events[ 0 ] {
1809- Event :: PaymentSent { ref payment_preimage, ref payment_hash, .. } => {
1810- assert_eq ! ( * payment_preimage, payment_preimage_1) ;
1811- assert_eq ! ( * payment_hash, payment_hash_1) ;
1812- } ,
1813- _ => panic ! ( "Unexpected event" ) ,
1814- }
1791+ expect_payment_sent ! ( nodes[ 0 ] , payment_preimage_1) ;
18151792
18161793 claim_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , payment_preimage_2) ;
18171794}
@@ -2323,7 +2300,7 @@ fn do_channel_holding_cell_serialize(disconnect: bool, reload_a: bool) {
23232300 assert ! ( updates. update_fee. is_none( ) ) ;
23242301 assert_eq ! ( updates. update_fulfill_htlcs. len( ) , 1 ) ;
23252302 nodes[ 1 ] . node . handle_update_fulfill_htlc ( & nodes[ 0 ] . node . get_our_node_id ( ) , & updates. update_fulfill_htlcs [ 0 ] ) ;
2326- expect_payment_sent ! ( nodes[ 1 ] , payment_preimage_0) ;
2303+ expect_payment_sent_without_paths ! ( nodes[ 1 ] , payment_preimage_0) ;
23272304 assert_eq ! ( updates. update_add_htlcs. len( ) , 1 ) ;
23282305 nodes[ 1 ] . node . handle_update_add_htlc ( & nodes[ 0 ] . node . get_our_node_id ( ) , & updates. update_add_htlcs [ 0 ] ) ;
23292306 updates. commitment_signed
@@ -2342,7 +2319,18 @@ fn do_channel_holding_cell_serialize(disconnect: bool, reload_a: bool) {
23422319
23432320 commitment_signed_dance ! ( nodes[ 1 ] , nodes[ 0 ] , ( ) , false , true , false ) ;
23442321
2345- expect_pending_htlcs_forwardable ! ( nodes[ 1 ] ) ;
2322+ let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
2323+ assert_eq ! ( events. len( ) , 2 ) ;
2324+ match events[ 0 ] {
2325+ Event :: PendingHTLCsForwardable { .. } => { } ,
2326+ _ => panic ! ( "Unexpected event" ) ,
2327+ } ;
2328+ match events[ 1 ] {
2329+ Event :: PaymentPathSuccessful { .. } => { } ,
2330+ _ => panic ! ( "Unexpected event" ) ,
2331+ } ;
2332+
2333+ nodes[ 1 ] . node . process_pending_htlc_forwards ( ) ;
23462334 expect_payment_received ! ( nodes[ 1 ] , payment_hash_2, payment_secret_2, 100000 ) ;
23472335
23482336 claim_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , payment_preimage_1) ;
@@ -2427,9 +2415,10 @@ fn do_test_reconnect_dup_htlc_claims(htlc_status: HTLCStatusAtDupClaim, second_f
24272415 bs_updates = Some ( get_htlc_update_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ) ;
24282416 assert_eq ! ( bs_updates. as_ref( ) . unwrap( ) . update_fulfill_htlcs. len( ) , 1 ) ;
24292417 nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_updates. as_ref ( ) . unwrap ( ) . update_fulfill_htlcs [ 0 ] ) ;
2430- expect_payment_sent ! ( nodes[ 0 ] , payment_preimage) ;
2418+ expect_payment_sent_without_paths ! ( nodes[ 0 ] , payment_preimage) ;
24312419 if htlc_status == HTLCStatusAtDupClaim :: Cleared {
24322420 commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , & bs_updates. as_ref( ) . unwrap( ) . commitment_signed, false ) ;
2421+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
24332422 }
24342423 } else {
24352424 assert ! ( nodes[ 1 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
@@ -2453,10 +2442,11 @@ fn do_test_reconnect_dup_htlc_claims(htlc_status: HTLCStatusAtDupClaim, second_f
24532442 bs_updates = Some ( get_htlc_update_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ) ;
24542443 assert_eq ! ( bs_updates. as_ref( ) . unwrap( ) . update_fulfill_htlcs. len( ) , 1 ) ;
24552444 nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_updates. as_ref ( ) . unwrap ( ) . update_fulfill_htlcs [ 0 ] ) ;
2456- expect_payment_sent ! ( nodes[ 0 ] , payment_preimage) ;
2445+ expect_payment_sent_without_paths ! ( nodes[ 0 ] , payment_preimage) ;
24572446 }
24582447 if htlc_status != HTLCStatusAtDupClaim :: Cleared {
24592448 commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , & bs_updates. as_ref( ) . unwrap( ) . commitment_signed, false ) ;
2449+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
24602450 }
24612451}
24622452
@@ -2620,7 +2610,7 @@ fn double_temp_error() {
26202610 assert_eq ! ( node_id, nodes[ 0 ] . node. get_our_node_id( ) ) ;
26212611 nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & update_fulfill_1) ;
26222612 check_added_monitors ! ( nodes[ 0 ] , 0 ) ;
2623- expect_payment_sent ! ( nodes[ 0 ] , payment_preimage_1) ;
2613+ expect_payment_sent_without_paths ! ( nodes[ 0 ] , payment_preimage_1) ;
26242614 nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & commitment_signed_b1) ;
26252615 check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
26262616 nodes[ 0 ] . node . process_pending_htlc_forwards ( ) ;
@@ -2658,6 +2648,7 @@ fn double_temp_error() {
26582648 } ;
26592649 nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & raa_b2) ;
26602650 check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
2651+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
26612652
26622653 nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & update_fulfill_2) ;
26632654 check_added_monitors ! ( nodes[ 0 ] , 0 ) ;
0 commit comments