@@ -5527,46 +5527,48 @@ mod tests {
55275527 // Drop the payment_event messages, and let them get re-generated in reconnect_nodes!
55285528 } else {
55295529 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-
55345530 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 ( ) ) ;
55385534
55395535 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( ) ) ;
55435538 check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
55445539
55455540 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+ }
55495551 }
55505552 }
55515553 }
55525554 }
55535555
55545556 nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
55555557 nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
5556- if messages_delivered < 2 {
5558+ if messages_delivered < 3 {
55575559 // Even if the funding_locked messages get exchanged, as long as nothing further was
55585560 // received on either side, both sides will need to resend them.
55595561 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 {
55615563 // nodes[0] still wants its RAA + commitment_signed
55625564 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 {
55645566 // nodes[0] still wants its commitment_signed
55655567 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 {
55675569 // nodes[1] still wants its final RAA
55685570 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 {
55705572 // Everything was delivered...
55715573 reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
55725574 }
@@ -5694,13 +5696,14 @@ mod tests {
56945696 do_test_drop_messages_peer_disconnect ( 0 ) ;
56955697 do_test_drop_messages_peer_disconnect ( 1 ) ;
56965698 do_test_drop_messages_peer_disconnect ( 2 ) ;
5699+ do_test_drop_messages_peer_disconnect ( 3 ) ;
56975700 }
56985701
56995702 #[ test]
57005703 fn test_drop_messages_peer_disconnect_b ( ) {
5701- do_test_drop_messages_peer_disconnect ( 3 ) ;
57025704 do_test_drop_messages_peer_disconnect ( 4 ) ;
57035705 do_test_drop_messages_peer_disconnect ( 5 ) ;
5706+ do_test_drop_messages_peer_disconnect ( 6 ) ;
57045707 }
57055708
57065709 #[ test]
0 commit comments