@@ -67,6 +67,8 @@ fn pre_funding_lock_shutdown_test() {
67
67
68
68
assert ! ( nodes[ 0 ] . node. list_channels( ) . is_empty( ) ) ;
69
69
assert ! ( nodes[ 1 ] . node. list_channels( ) . is_empty( ) ) ;
70
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
71
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
70
72
}
71
73
72
74
#[ test]
@@ -139,6 +141,8 @@ fn updates_shutdown_wait() {
139
141
nodes[ 1 ] . node . handle_closing_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , & node_0_2nd_closing_signed. unwrap ( ) ) ;
140
142
let ( _, node_1_none) = get_closing_signed_broadcast ! ( nodes[ 1 ] . node, nodes[ 0 ] . node. get_our_node_id( ) ) ;
141
143
assert ! ( node_1_none. is_none( ) ) ;
144
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
145
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
142
146
143
147
assert ! ( nodes[ 0 ] . node. list_channels( ) . is_empty( ) ) ;
144
148
@@ -147,6 +151,8 @@ fn updates_shutdown_wait() {
147
151
close_channel ( & nodes[ 1 ] , & nodes[ 2 ] , & chan_2. 2 , chan_2. 3 , true ) ;
148
152
assert ! ( nodes[ 1 ] . node. list_channels( ) . is_empty( ) ) ;
149
153
assert ! ( nodes[ 2 ] . node. list_channels( ) . is_empty( ) ) ;
154
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
155
+ check_closed_event ! ( nodes[ 2 ] , 1 ) ;
150
156
}
151
157
152
158
#[ test]
@@ -221,6 +227,9 @@ fn htlc_fail_async_shutdown() {
221
227
close_channel ( & nodes[ 1 ] , & nodes[ 2 ] , & chan_2. 2 , chan_2. 3 , true ) ;
222
228
assert ! ( nodes[ 1 ] . node. list_channels( ) . is_empty( ) ) ;
223
229
assert ! ( nodes[ 2 ] . node. list_channels( ) . is_empty( ) ) ;
230
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
231
+ check_closed_event ! ( nodes[ 1 ] , 2 ) ;
232
+ check_closed_event ! ( nodes[ 2 ] , 1 ) ;
224
233
}
225
234
226
235
fn do_test_shutdown_rebroadcast ( recv_count : u8 ) {
@@ -359,6 +368,7 @@ fn do_test_shutdown_rebroadcast(recv_count: u8) {
359
368
nodes[ 1 ] . node . handle_closing_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , & node_0_2nd_closing_signed. unwrap ( ) ) ;
360
369
let ( _, node_1_none) = get_closing_signed_broadcast ! ( nodes[ 1 ] . node, nodes[ 0 ] . node. get_our_node_id( ) ) ;
361
370
assert ! ( node_1_none. is_none( ) ) ;
371
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
362
372
} else {
363
373
// If one node, however, received + responded with an identical closing_signed we end
364
374
// up erroring and node[0] will try to broadcast its own latest commitment transaction.
@@ -387,6 +397,7 @@ fn do_test_shutdown_rebroadcast(recv_count: u8) {
387
397
// closing_signed so we do it ourselves
388
398
check_closed_broadcast ! ( nodes[ 1 ] , false ) ;
389
399
check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
400
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
390
401
}
391
402
392
403
assert ! ( nodes[ 0 ] . node. list_channels( ) . is_empty( ) ) ;
@@ -396,6 +407,9 @@ fn do_test_shutdown_rebroadcast(recv_count: u8) {
396
407
close_channel ( & nodes[ 1 ] , & nodes[ 2 ] , & chan_2. 2 , chan_2. 3 , true ) ;
397
408
assert ! ( nodes[ 1 ] . node. list_channels( ) . is_empty( ) ) ;
398
409
assert ! ( nodes[ 2 ] . node. list_channels( ) . is_empty( ) ) ;
410
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
411
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
412
+ check_closed_event ! ( nodes[ 2 ] , 1 ) ;
399
413
}
400
414
401
415
#[ test]
@@ -489,6 +503,7 @@ fn test_upfront_shutdown_script() {
489
503
MessageSendEvent :: SendClosingSigned { node_id, .. } => { assert_eq ! ( node_id, nodes[ 1 ] . node. get_our_node_id( ) ) }
490
504
_ => panic ! ( "Unexpected event" ) ,
491
505
}
506
+ check_closed_event ! ( nodes[ 2 ] , 1 ) ;
492
507
}
493
508
494
509
#[ test]
@@ -538,6 +553,7 @@ fn test_unsupported_anysegwit_upfront_shutdown_script() {
538
553
} ,
539
554
_ => panic ! ( "Unexpected event" ) ,
540
555
}
556
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
541
557
}
542
558
543
559
#[ test]
@@ -685,6 +701,7 @@ fn test_unsupported_anysegwit_shutdown_script() {
685
701
_ => panic ! ( "Unexpected event" ) ,
686
702
}
687
703
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
704
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
688
705
}
689
706
690
707
#[ test]
@@ -720,6 +737,7 @@ fn test_invalid_shutdown_script() {
720
737
_ => panic ! ( "Unexpected event" ) ,
721
738
}
722
739
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
740
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
723
741
}
724
742
725
743
#[ derive( PartialEq ) ]
@@ -785,7 +803,9 @@ fn do_test_closing_signed_reinit_timeout(timeout_step: TimeoutStep) {
785
803
let node_0_2nd_closing_signed = get_closing_signed_broadcast ! ( nodes[ 0 ] . node, nodes[ 1 ] . node. get_our_node_id( ) ) ;
786
804
if timeout_step == TimeoutStep :: NoTimeout {
787
805
nodes[ 1 ] . node . handle_closing_signed ( & nodes[ 0 ] . node . get_our_node_id ( ) , & node_0_2nd_closing_signed. 1 . unwrap ( ) ) ;
806
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
788
807
}
808
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
789
809
}
790
810
791
811
if timeout_step != TimeoutStep :: NoTimeout {
@@ -808,6 +828,7 @@ fn do_test_closing_signed_reinit_timeout(timeout_step: TimeoutStep) {
808
828
txn[ 0 ] . output[ 0 ] . script_pubkey. is_v0_p2wsh( ) ) ) ;
809
829
check_closed_broadcast ! ( nodes[ 1 ] , true ) ;
810
830
check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
831
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
811
832
} else {
812
833
assert ! ( txn[ 0 ] . output[ 0 ] . script_pubkey. is_v0_p2wpkh( ) ) ;
813
834
assert ! ( txn[ 0 ] . output[ 1 ] . script_pubkey. is_v0_p2wpkh( ) ) ;
@@ -867,6 +888,8 @@ fn do_simple_legacy_shutdown_test(high_initiator_fee: bool) {
867
888
nodes[ 0 ] . node . handle_closing_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & node_1_closing_signed. unwrap ( ) ) ;
868
889
let ( _, node_0_none) = get_closing_signed_broadcast ! ( nodes[ 0 ] . node, nodes[ 1 ] . node. get_our_node_id( ) ) ;
869
890
assert ! ( node_0_none. is_none( ) ) ;
891
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
892
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
870
893
}
871
894
872
895
#[ test]
@@ -920,4 +943,6 @@ fn simple_target_feerate_shutdown() {
920
943
nodes[ 0 ] . node . handle_closing_signed ( & nodes[ 1 ] . node . get_our_node_id ( ) , & node_1_closing_signed) ;
921
944
let ( _, node_0_none) = get_closing_signed_broadcast ! ( nodes[ 0 ] . node, nodes[ 1 ] . node. get_our_node_id( ) ) ;
922
945
assert ! ( node_0_none. is_none( ) ) ;
946
+ check_closed_event ! ( nodes[ 0 ] , 1 ) ;
947
+ check_closed_event ! ( nodes[ 1 ] , 1 ) ;
923
948
}
0 commit comments