@@ -5500,46 +5500,48 @@ mod tests {
55005500 // Drop the payment_event messages, and let them get re-generated in reconnect_nodes!
55015501 } else {
55025502 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-
55075503 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 ( ) ) ;
55115507
55125508 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( ) ) ;
55165511 check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
55175512
55185513 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+ }
55225524 }
55235525 }
55245526 }
55255527 }
55265528
55275529 nodes[ 0 ] . node . peer_disconnected ( & nodes[ 1 ] . node . get_our_node_id ( ) , false ) ;
55285530 nodes[ 1 ] . node . peer_disconnected ( & nodes[ 0 ] . node . get_our_node_id ( ) , false ) ;
5529- if messages_delivered < 2 {
5531+ if messages_delivered < 3 {
55305532 // Even if the funding_locked messages get exchanged, as long as nothing further was
55315533 // received on either side, both sides will need to resend them.
55325534 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 {
55345536 // nodes[0] still wants its RAA + commitment_signed
55355537 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 {
55375539 // nodes[0] still wants its commitment_signed
55385540 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 {
55405542 // nodes[1] still wants its final RAA
55415543 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 {
55435545 // Everything was delivered...
55445546 reconnect_nodes ( & nodes[ 0 ] , & nodes[ 1 ] , false , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( 0 , 0 ) , ( false , false ) ) ;
55455547 }
@@ -5667,13 +5669,14 @@ mod tests {
56675669 do_test_drop_messages_peer_disconnect ( 0 ) ;
56685670 do_test_drop_messages_peer_disconnect ( 1 ) ;
56695671 do_test_drop_messages_peer_disconnect ( 2 ) ;
5672+ do_test_drop_messages_peer_disconnect ( 3 ) ;
56705673 }
56715674
56725675 #[ test]
56735676 fn test_drop_messages_peer_disconnect_b ( ) {
5674- do_test_drop_messages_peer_disconnect ( 3 ) ;
56755677 do_test_drop_messages_peer_disconnect ( 4 ) ;
56765678 do_test_drop_messages_peer_disconnect ( 5 ) ;
5679+ do_test_drop_messages_peer_disconnect ( 6 ) ;
56775680 }
56785681
56795682 #[ test]
0 commit comments