@@ -3585,7 +3585,9 @@ fn test_dup_events_on_peer_disconnect() {
3585
3585
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
3586
3586
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
3587
3587
3588
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (1, 0), (0, 0), (0, 0), (0, 0), (false, false));
3588
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3589
+ reconnect_args.pending_htlc_claims.0 = 1;
3590
+ reconnect_nodes(reconnect_args);
3589
3591
expect_payment_path_successful!(nodes[0]);
3590
3592
}
3591
3593
@@ -3642,7 +3644,9 @@ fn test_simple_peer_disconnect() {
3642
3644
3643
3645
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
3644
3646
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
3645
- reconnect_nodes(&nodes[0], &nodes[1], (true, true), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, false));
3647
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3648
+ reconnect_args.send_channel_ready = (true, true);
3649
+ reconnect_nodes(reconnect_args);
3646
3650
3647
3651
let payment_preimage_1 = route_payment(&nodes[0], &vec!(&nodes[1], &nodes[2])[..], 1000000).0;
3648
3652
let payment_hash_2 = route_payment(&nodes[0], &vec!(&nodes[1], &nodes[2])[..], 1000000).1;
@@ -3651,7 +3655,7 @@ fn test_simple_peer_disconnect() {
3651
3655
3652
3656
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
3653
3657
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
3654
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, false ));
3658
+ reconnect_nodes(ReconnectArgs::new( &nodes[0], &nodes[1]));
3655
3659
3656
3660
let (payment_preimage_3, payment_hash_3, _) = route_payment(&nodes[0], &vec!(&nodes[1], &nodes[2])[..], 1000000);
3657
3661
let payment_preimage_4 = route_payment(&nodes[0], &vec!(&nodes[1], &nodes[2])[..], 1000000).0;
@@ -3664,7 +3668,10 @@ fn test_simple_peer_disconnect() {
3664
3668
claim_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], true, payment_preimage_3);
3665
3669
fail_payment_along_route(&nodes[0], &[&[&nodes[1], &nodes[2]]], true, payment_hash_5);
3666
3670
3667
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (1, 0), (1, 0), (false, false));
3671
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3672
+ reconnect_args.pending_cell_htlc_fails.0 = 1;
3673
+ reconnect_args.pending_cell_htlc_claims.0 = 1;
3674
+ reconnect_nodes(reconnect_args);
3668
3675
{
3669
3676
let events = nodes[0].node.get_and_clear_pending_events();
3670
3677
assert_eq!(events.len(), 4);
@@ -3776,19 +3783,29 @@ fn do_test_drop_messages_peer_disconnect(messages_delivered: u8, simulate_broken
3776
3783
}
3777
3784
// Even if the channel_ready messages get exchanged, as long as nothing further was
3778
3785
// received on either side, both sides will need to resend them.
3779
- reconnect_nodes(&nodes[0], &nodes[1], (true, true), (0, 1), (0, 0), (0, 0), (0, 0), (0, 0), (false, false));
3786
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3787
+ reconnect_args.send_channel_ready = (true, true);
3788
+ reconnect_args.pending_htlc_adds.1 = 1;
3789
+ reconnect_nodes(reconnect_args);
3780
3790
} else if messages_delivered == 3 {
3781
3791
// nodes[0] still wants its RAA + commitment_signed
3782
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (-1, 0), (0, 0), (0, 0), (0, 0), (0, 0), (true, false));
3792
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3793
+ reconnect_args.pending_htlc_adds.0 = -1;
3794
+ reconnect_args.pending_raa.0 = true;
3795
+ reconnect_nodes(reconnect_args);
3783
3796
} else if messages_delivered == 4 {
3784
3797
// nodes[0] still wants its commitment_signed
3785
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (-1, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, false));
3798
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3799
+ reconnect_args.pending_htlc_adds.0 = -1;
3800
+ reconnect_nodes(reconnect_args);
3786
3801
} else if messages_delivered == 5 {
3787
3802
// nodes[1] still wants its final RAA
3788
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, true));
3803
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3804
+ reconnect_args.pending_raa.1 = true;
3805
+ reconnect_nodes(reconnect_args);
3789
3806
} else if messages_delivered == 6 {
3790
3807
// Everything was delivered...
3791
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, false ));
3808
+ reconnect_nodes(ReconnectArgs::new( &nodes[0], &nodes[1]));
3792
3809
}
3793
3810
3794
3811
let events_1 = nodes[1].node.get_and_clear_pending_events();
@@ -3812,7 +3829,7 @@ fn do_test_drop_messages_peer_disconnect(messages_delivered: u8, simulate_broken
3812
3829
3813
3830
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
3814
3831
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
3815
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, false ));
3832
+ reconnect_nodes(ReconnectArgs::new( &nodes[0], &nodes[1]));
3816
3833
3817
3834
nodes[1].node.process_pending_htlc_forwards();
3818
3835
@@ -3896,24 +3913,33 @@ fn do_test_drop_messages_peer_disconnect(messages_delivered: u8, simulate_broken
3896
3913
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
3897
3914
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
3898
3915
if messages_delivered < 2 {
3899
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (1, 0), (0, 0), (0, 0), (0, 0), (false, false));
3916
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3917
+ reconnect_args.pending_htlc_claims.0 = 1;
3918
+ reconnect_nodes(reconnect_args);
3900
3919
if messages_delivered < 1 {
3901
3920
expect_payment_sent!(nodes[0], payment_preimage_1);
3902
3921
} else {
3903
3922
assert!(nodes[0].node.get_and_clear_pending_msg_events().is_empty());
3904
3923
}
3905
3924
} else if messages_delivered == 2 {
3906
3925
// nodes[0] still wants its RAA + commitment_signed
3907
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, -1), (0, 0), (0, 0), (0, 0), (0, 0), (false, true));
3926
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3927
+ reconnect_args.pending_htlc_adds.1 = -1;
3928
+ reconnect_args.pending_raa.1 = true;
3929
+ reconnect_nodes(reconnect_args);
3908
3930
} else if messages_delivered == 3 {
3909
3931
// nodes[0] still wants its commitment_signed
3910
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, -1), (0, 0), (0, 0), (0, 0), (0, 0), (false, false));
3932
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3933
+ reconnect_args.pending_htlc_adds.1 = -1;
3934
+ reconnect_nodes(reconnect_args);
3911
3935
} else if messages_delivered == 4 {
3912
3936
// nodes[1] still wants its final RAA
3913
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (true, false));
3937
+ let mut reconnect_args = ReconnectArgs::new(&nodes[0], &nodes[1]);
3938
+ reconnect_args.pending_raa.0 = true;
3939
+ reconnect_nodes(reconnect_args);
3914
3940
} else if messages_delivered == 5 {
3915
3941
// Everything was delivered...
3916
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, false ));
3942
+ reconnect_nodes(ReconnectArgs::new( &nodes[0], &nodes[1]));
3917
3943
}
3918
3944
3919
3945
if messages_delivered == 1 || messages_delivered == 2 {
@@ -3923,7 +3949,7 @@ fn do_test_drop_messages_peer_disconnect(messages_delivered: u8, simulate_broken
3923
3949
nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
3924
3950
nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
3925
3951
}
3926
- reconnect_nodes(&nodes[0], &nodes[1], (false, false), (0, 0), (0, 0), (0, 0), (0, 0), (0, 0), (false, false ));
3952
+ reconnect_nodes(ReconnectArgs::new( &nodes[0], &nodes[1]));
3927
3953
3928
3954
if messages_delivered > 2 {
3929
3955
expect_payment_path_successful!(nodes[0]);
0 commit comments