@@ -5527,46 +5527,48 @@ mod tests {
5527
5527
// Drop the payment_event messages, and let them get re-generated in reconnect_nodes!
5528
5528
} else {
5529
5529
nodes[ 1 ] . node . handle_update_add_htlc ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payment_event. msgs [ 0 ] ) . unwrap ( ) ;
5530
- nodes[ 1 ] . node . handle_commitment_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payment_event. commitment_msg ) . unwrap ( ) ;
5531
- check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5532
- let ( bs_revoke_and_ack, bs_commitment_signed) = get_revoke_commit_msgs ! ( nodes[ 1 ] , nodes[ 0 ] . node. get_our_node_id( ) ) ;
5533
-
5534
5530
if messages_delivered >= 3 {
5535
- nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_revoke_and_ack ) . unwrap ( ) ;
5536
- assert ! ( nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) . is_empty ( ) ) ;
5537
- check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
5531
+ nodes[ 1 ] . node . handle_commitment_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , & payment_event . commitment_msg ) . unwrap ( ) ;
5532
+ check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5533
+ let ( bs_revoke_and_ack , bs_commitment_signed ) = get_revoke_commit_msgs ! ( nodes[ 1 ] , nodes [ 0 ] . node . get_our_node_id ( ) ) ;
5538
5534
5539
5535
if messages_delivered >= 4 {
5540
- nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_commitment_signed) . unwrap ( ) ;
5541
- let as_revoke_and_ack = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendRevokeAndACK , nodes[ 1 ] . node. get_our_node_id( ) ) ;
5542
- // No commitment_signed so get_event_msg's assert(len == 1) passes
5536
+ nodes[ 0 ] . node . handle_revoke_and_ack ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_revoke_and_ack) . unwrap ( ) ;
5537
+ assert ! ( nodes[ 0 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
5543
5538
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
5544
5539
5545
5540
if messages_delivered >= 5 {
5546
- nodes[ 1 ] . node . handle_revoke_and_ack ( & nodes[ 0 ] . node . get_our_node_id ( ) , & as_revoke_and_ack) . unwrap ( ) ;
5547
- assert ! ( nodes[ 1 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
5548
- check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5541
+ nodes[ 0 ] . node . handle_commitment_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & bs_commitment_signed) . unwrap ( ) ;
5542
+ let as_revoke_and_ack = get_event_msg ! ( nodes[ 0 ] , MessageSendEvent :: SendRevokeAndACK , nodes[ 1 ] . node. get_our_node_id( ) ) ;
5543
+ // No commitment_signed so get_event_msg's assert(len == 1) passes
5544
+ check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
5545
+
5546
+ if messages_delivered >= 6 {
5547
+ nodes[ 1 ] . node . handle_revoke_and_ack ( & nodes[ 0 ] . node . get_our_node_id ( ) , & as_revoke_and_ack) . unwrap ( ) ;
5548
+ assert ! ( nodes[ 1 ] . node. get_and_clear_pending_msg_events( ) . is_empty( ) ) ;
5549
+ check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
5550
+ }
5549
5551
}
5550
5552
}
5551
5553
}
5552
5554
}
5553
5555
5554
5556
nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
5555
5557
nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
5556
- if messages_delivered < 2 {
5558
+ if messages_delivered < 3 {
5557
5559
// Even if the funding_locked messages get exchanged, as long as nothing further was
5558
5560
// received on either side, both sides will need to resend them.
5559
5561
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , true , ( 0 , 1 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
5560
- } else if messages_delivered == 2 {
5562
+ } else if messages_delivered == 3 {
5561
5563
// nodes[0] still wants its RAA + commitment_signed
5562
5564
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( -1 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( true , false ) ) ;
5563
- } else if messages_delivered == 3 {
5565
+ } else if messages_delivered == 4 {
5564
5566
// nodes[0] still wants its commitment_signed
5565
5567
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( -1 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
5566
- } else if messages_delivered == 4 {
5568
+ } else if messages_delivered == 5 {
5567
5569
// nodes[1] still wants its final RAA
5568
5570
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , true ) ) ;
5569
- } else if messages_delivered == 5 {
5571
+ } else if messages_delivered == 6 {
5570
5572
// Everything was delivered...
5571
5573
reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
5572
5574
}
@@ -5694,13 +5696,14 @@ mod tests {
5694
5696
do_test_drop_messages_peer_disconnect ( 0 ) ;
5695
5697
do_test_drop_messages_peer_disconnect ( 1 ) ;
5696
5698
do_test_drop_messages_peer_disconnect ( 2 ) ;
5699
+ do_test_drop_messages_peer_disconnect ( 3 ) ;
5697
5700
}
5698
5701
5699
5702
#[ test]
5700
5703
fn test_drop_messages_peer_disconnect_b ( ) {
5701
- do_test_drop_messages_peer_disconnect ( 3 ) ;
5702
5704
do_test_drop_messages_peer_disconnect ( 4 ) ;
5703
5705
do_test_drop_messages_peer_disconnect ( 5 ) ;
5706
+ do_test_drop_messages_peer_disconnect ( 6 ) ;
5704
5707
}
5705
5708
5706
5709
#[ test]
0 commit comments