@@ -5500,46 +5500,48 @@ mod tests {
5500
5500
// Drop the payment_event messages, and let them get re-generated in reconnect_nodes!
5501
5501
} else {
5502
5502
nodes[ 1 ] . node . handle_update_add_htlc ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payment_event. msgs [ 0 ] ) . unwrap ( ) ;
5503
- nodes[ 1 ] . node . handle_commitment_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payment_event. commitment_msg ) . unwrap ( ) ;
5504
- check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5505
- let ( bs_revoke_and_ack, bs_commitment_signed) = get_revoke_commit_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ;
5506
-
5507
5503
if messages_delivered >= 3 {
5508
- nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_revoke_and_ack ) . unwrap ( ) ;
5509
- assert ! ( nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) . is_empty ( ) ) ;
5510
- check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
5504
+ nodes[ 1 ] . node . handle_commitment_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payment_event . commitment_msg ) . unwrap ( ) ;
5505
+ check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5506
+ let ( bs_revoke_and_ack , bs_commitment_signed ) = get_revoke_commit_msgs ! ( nodes[ 1 ] , nodes [ 0 ] . node . get_our_node_id ( ) ) ;
5511
5507
5512
5508
if messages_delivered >= 4 {
5513
- nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_commitment_signed) . unwrap ( ) ;
5514
- let as_revoke_and_ack = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendRevokeAndACK , nodes[ 1 ] . node. get_our_node_id( ) ) ;
5515
- // No commitment_signed so get_event_msg's assert(len == 1) passes
5509
+ nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_revoke_and_ack) . unwrap ( ) ;
5510
+ assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
5516
5511
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
5517
5512
5518
5513
if messages_delivered >= 5 {
5519
- nodes[ 1 ] . node . handle_revoke_and_ack ( & nodes[ 0 ] . node . get_our_node_id ( ) , & as_revoke_and_ack) . unwrap ( ) ;
5520
- assert ! ( nodes[ 1 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
5521
- check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5514
+ nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_commitment_signed) . unwrap ( ) ;
5515
+ let as_revoke_and_ack = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendRevokeAndACK , nodes[ 1 ] . node. get_our_node_id( ) ) ;
5516
+ // No commitment_signed so get_event_msg's assert(len == 1) passes
5517
+ check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
5518
+
5519
+ if messages_delivered >= 6 {
5520
+ nodes[ 1 ] . node . handle_revoke_and_ack ( & nodes[ 0 ] . node . get_our_node_id ( ) , & as_revoke_and_ack) . unwrap ( ) ;
5521
+ assert ! ( nodes[ 1 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
5522
+ check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5523
+ }
5522
5524
}
5523
5525
}
5524
5526
}
5525
5527
}
5526
5528
5527
5529
nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
5528
5530
nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
5529
- if messages_delivered < 2 {
5531
+ if messages_delivered < 3 {
5530
5532
// Even if the funding_locked messages get exchanged, as long as nothing further was
5531
5533
// received on either side, both sides will need to resend them.
5532
5534
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , true , ( 0 , 1 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
5533
- } else if messages_delivered == 2 {
5535
+ } else if messages_delivered == 3 {
5534
5536
// nodes[0] still wants its RAA + commitment_signed
5535
5537
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( -1 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( true , false ) ) ;
5536
- } else if messages_delivered == 3 {
5538
+ } else if messages_delivered == 4 {
5537
5539
// nodes[0] still wants its commitment_signed
5538
5540
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( -1 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
5539
- } else if messages_delivered == 4 {
5541
+ } else if messages_delivered == 5 {
5540
5542
// nodes[1] still wants its final RAA
5541
5543
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , true ) ) ;
5542
- } else if messages_delivered == 5 {
5544
+ } else if messages_delivered == 6 {
5543
5545
// Everything was delivered...
5544
5546
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
5545
5547
}
@@ -5667,13 +5669,14 @@ mod tests {
5667
5669
do_test_drop_messages_peer_disconnect ( 0 ) ;
5668
5670
do_test_drop_messages_peer_disconnect ( 1 ) ;
5669
5671
do_test_drop_messages_peer_disconnect ( 2 ) ;
5672
+ do_test_drop_messages_peer_disconnect ( 3 ) ;
5670
5673
}
5671
5674
5672
5675
#[ test]
5673
5676
fn test_drop_messages_peer_disconnect_b ( ) {
5674
- do_test_drop_messages_peer_disconnect ( 3 ) ;
5675
5677
do_test_drop_messages_peer_disconnect ( 4 ) ;
5676
5678
do_test_drop_messages_peer_disconnect ( 5 ) ;
5679
+ do_test_drop_messages_peer_disconnect ( 6 ) ;
5677
5680
}
5678
5681
5679
5682
#[ test]
0 commit comments