@@ -551,6 +551,7 @@ fn do_test_monitor_temporary_update_fail(disconnect_count: usize) {
551
551
nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_second_revoke_and_ack) ;
552
552
assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
553
553
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
554
+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
554
555
555
556
expect_pending_htlcs_forwardable ! ( nodes[ 1 ] ) ;
556
557
@@ -1090,12 +1091,12 @@ fn test_monitor_update_fail_reestablish() {
1090
1091
let chan_1 = create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
1091
1092
create_announced_chan_between_nodes ( & nodes, 1 , 2 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) ;
1092
1093
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 ) ;
1094
1095
1095
1096
nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
1096
1097
nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
1097
1098
1098
- assert ! ( nodes[ 2 ] . node. claim_funds( our_payment_preimage ) ) ;
1099
+ assert ! ( nodes[ 2 ] . node. claim_funds( payment_preimage ) ) ;
1099
1100
check_added_monitors ! ( nodes[ 2 ] , 1 ) ;
1100
1101
let mut updates = get_htlc_update_msgs ! ( nodes[ 2 ] , nodes[ 1 ] . node. get_our_node_id( ) ) ;
1101
1102
assert ! ( updates. update_add_htlcs. is_empty( ) ) ;
@@ -1159,13 +1160,7 @@ fn test_monitor_update_fail_reestablish() {
1159
1160
assert_eq ! ( updates. update_fulfill_htlcs. len( ) , 1 ) ;
1160
1161
nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & updates. update_fulfill_htlcs [ 0 ] ) ;
1161
1162
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) ;
1169
1164
}
1170
1165
1171
1166
#[ test]
@@ -1300,7 +1295,7 @@ fn claim_while_disconnected_monitor_update_fail() {
1300
1295
let channel_id = create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) . 2 ;
1301
1296
1302
1297
// 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 ) ;
1304
1299
1305
1300
nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
1306
1301
nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
@@ -1395,16 +1390,7 @@ fn claim_while_disconnected_monitor_update_fail() {
1395
1390
1396
1391
nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_raa) ;
1397
1392
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) ;
1408
1394
1409
1395
claim_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , payment_preimage_2) ;
1410
1396
}
@@ -1766,7 +1752,7 @@ fn monitor_update_claim_fail_no_response() {
1766
1752
let channel_id = create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: known ( ) , InitFeatures :: known ( ) ) . 2 ;
1767
1753
1768
1754
// 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 ) ;
1770
1756
1771
1757
// Now start forwarding a second payment, skipping the last RAA so B is in AwaitingRAA
1772
1758
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() {
1802
1788
let bs_updates = get_htlc_update_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ;
1803
1789
nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_updates. update_fulfill_htlcs [ 0 ] ) ;
1804
1790
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) ;
1815
1792
1816
1793
claim_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , payment_preimage_2) ;
1817
1794
}
@@ -2323,7 +2300,7 @@ fn do_channel_holding_cell_serialize(disconnect: bool, reload_a: bool) {
2323
2300
assert ! ( updates. update_fee. is_none( ) ) ;
2324
2301
assert_eq ! ( updates. update_fulfill_htlcs. len( ) , 1 ) ;
2325
2302
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) ;
2327
2304
assert_eq ! ( updates. update_add_htlcs. len( ) , 1 ) ;
2328
2305
nodes[ 1 ] . node . handle_update_add_htlc ( & nodes[ 0 ] . node . get_our_node_id ( ) , & updates. update_add_htlcs [ 0 ] ) ;
2329
2306
updates. commitment_signed
@@ -2342,7 +2319,18 @@ fn do_channel_holding_cell_serialize(disconnect: bool, reload_a: bool) {
2342
2319
2343
2320
commitment_signed_dance ! ( nodes[ 1 ] , nodes[ 0 ] , ( ) , false , true , false ) ;
2344
2321
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 ( ) ;
2346
2334
expect_payment_received ! ( nodes[ 1 ] , payment_hash_2, payment_secret_2, 100000 ) ;
2347
2335
2348
2336
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
2427
2415
bs_updates = Some ( get_htlc_update_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ) ;
2428
2416
assert_eq ! ( bs_updates. as_ref( ) . unwrap( ) . update_fulfill_htlcs. len( ) , 1 ) ;
2429
2417
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) ;
2431
2419
if htlc_status == HTLCStatusAtDupClaim :: Cleared {
2432
2420
commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , & bs_updates. as_ref( ) . unwrap( ) . commitment_signed, false ) ;
2421
+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
2433
2422
}
2434
2423
} else {
2435
2424
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
2453
2442
bs_updates = Some ( get_htlc_update_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ) ;
2454
2443
assert_eq ! ( bs_updates. as_ref( ) . unwrap( ) . update_fulfill_htlcs. len( ) , 1 ) ;
2455
2444
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) ;
2457
2446
}
2458
2447
if htlc_status != HTLCStatusAtDupClaim :: Cleared {
2459
2448
commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , & bs_updates. as_ref( ) . unwrap( ) . commitment_signed, false ) ;
2449
+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
2460
2450
}
2461
2451
}
2462
2452
@@ -2620,7 +2610,7 @@ fn double_temp_error() {
2620
2610
assert_eq ! ( node_id, nodes[ 0 ] . node. get_our_node_id( ) ) ;
2621
2611
nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & update_fulfill_1) ;
2622
2612
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) ;
2624
2614
nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & commitment_signed_b1) ;
2625
2615
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
2626
2616
nodes[ 0 ] . node . process_pending_htlc_forwards ( ) ;
@@ -2658,6 +2648,7 @@ fn double_temp_error() {
2658
2648
} ;
2659
2649
nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & raa_b2) ;
2660
2650
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
2651
+ expect_payment_path_successful ! ( nodes[ 0 ] ) ;
2661
2652
2662
2653
nodes[ 0 ] . node . handle_update_fulfill_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & update_fulfill_2) ;
2663
2654
check_added_monitors ! ( nodes[ 0 ] , 0 ) ;
0 commit comments