@@ -2307,7 +2307,7 @@ fn channel_monitor_network_test() {
2307
2307
nodes[1].node.force_close_broadcasting_latest_txn(&chan_1.2, &nodes[0].node.get_our_node_id(), error_message.to_string()).unwrap();
2308
2308
check_added_monitors!(nodes[1], 1);
2309
2309
check_closed_broadcast!(nodes[1], true);
2310
- check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed, [nodes[0].node.get_our_node_id()], 100000);
2310
+ check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[0].node.get_our_node_id()], 100000);
2311
2311
{
2312
2312
let mut node_txn = test_txn_broadcast(&nodes[1], &chan_1, None, HTLCType::NONE);
2313
2313
assert_eq!(node_txn.len(), 1);
@@ -2345,7 +2345,7 @@ fn channel_monitor_network_test() {
2345
2345
check_closed_broadcast!(nodes[2], true);
2346
2346
assert_eq!(nodes[1].node.list_channels().len(), 0);
2347
2347
assert_eq!(nodes[2].node.list_channels().len(), 1);
2348
- check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed, [nodes[2].node.get_our_node_id()], 100000);
2348
+ check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[2].node.get_our_node_id()], 100000);
2349
2349
check_closed_event!(nodes[2], 1, ClosureReason::CommitmentTxConfirmed, [nodes[1].node.get_our_node_id()], 100000);
2350
2350
2351
2351
macro_rules! claim_funds {
@@ -2391,7 +2391,7 @@ fn channel_monitor_network_test() {
2391
2391
check_closed_broadcast!(nodes[3], true);
2392
2392
assert_eq!(nodes[2].node.list_channels().len(), 0);
2393
2393
assert_eq!(nodes[3].node.list_channels().len(), 1);
2394
- check_closed_event!(nodes[2], 1, ClosureReason::HolderForceClosed, [nodes[3].node.get_our_node_id()], 100000);
2394
+ check_closed_event!(nodes[2], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[3].node.get_our_node_id()], 100000);
2395
2395
check_closed_event!(nodes[3], 1, ClosureReason::CommitmentTxConfirmed, [nodes[2].node.get_our_node_id()], 100000);
2396
2396
2397
2397
// Drop the ChannelMonitor for the previous channel to avoid it broadcasting transactions and
@@ -3605,7 +3605,7 @@ fn test_htlc_ignore_latest_remote_commitment() {
3605
3605
connect_blocks(&nodes[0], TEST_FINAL_CLTV + LATENCY_GRACE_PERIOD_BLOCKS + 1);
3606
3606
check_closed_broadcast!(nodes[0], true);
3607
3607
check_added_monitors!(nodes[0], 1);
3608
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
3608
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
3609
3609
3610
3610
let node_txn = nodes[0].tx_broadcaster.unique_txn_broadcast();
3611
3611
assert_eq!(node_txn.len(), 2);
@@ -3668,7 +3668,7 @@ fn test_force_close_fail_back() {
3668
3668
nodes[2].node.force_close_broadcasting_latest_txn(&payment_event.commitment_msg.channel_id, &nodes[1].node.get_our_node_id(), error_message.to_string()).unwrap();
3669
3669
check_closed_broadcast!(nodes[2], true);
3670
3670
check_added_monitors!(nodes[2], 1);
3671
- check_closed_event!(nodes[2], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
3671
+ check_closed_event!(nodes[2], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
3672
3672
let commitment_tx = {
3673
3673
let mut node_txn = nodes[2].tx_broadcaster.txn_broadcasted.lock().unwrap();
3674
3674
// Note that we don't bother broadcasting the HTLC-Success transaction here as we don't
@@ -4550,7 +4550,7 @@ fn test_claim_sizeable_push_msat() {
4550
4550
nodes[1].node.force_close_broadcasting_latest_txn(&chan.2, &nodes[0].node.get_our_node_id(), error_message.to_string()).unwrap();
4551
4551
check_closed_broadcast!(nodes[1], true);
4552
4552
check_added_monitors!(nodes[1], 1);
4553
- check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed, [nodes[0].node.get_our_node_id()], 100000);
4553
+ check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[0].node.get_our_node_id()], 100000);
4554
4554
let node_txn = nodes[1].tx_broadcaster.txn_broadcasted.lock().unwrap().clone();
4555
4555
assert_eq!(node_txn.len(), 1);
4556
4556
check_spends!(node_txn[0], chan.3);
@@ -4580,7 +4580,7 @@ fn test_claim_on_remote_sizeable_push_msat() {
4580
4580
nodes[0].node.force_close_broadcasting_latest_txn(&chan.2, &nodes[1].node.get_our_node_id(), error_message.to_string()).unwrap();
4581
4581
check_closed_broadcast!(nodes[0], true);
4582
4582
check_added_monitors!(nodes[0], 1);
4583
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
4583
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
4584
4584
4585
4585
let node_txn = nodes[0].tx_broadcaster.txn_broadcasted.lock().unwrap().split_off(0);
4586
4586
assert_eq!(node_txn.len(), 1);
@@ -8856,7 +8856,7 @@ fn do_test_onchain_htlc_settlement_after_close(broadcast_alice: bool, go_onchain
8856
8856
nodes[force_closing_node].node.force_close_broadcasting_latest_txn(&chan_ab.2, &nodes[counterparty_node].node.get_our_node_id(), error_message.to_string()).unwrap();
8857
8857
check_closed_broadcast!(nodes[force_closing_node], true);
8858
8858
check_added_monitors!(nodes[force_closing_node], 1);
8859
- check_closed_event!(nodes[force_closing_node], 1, ClosureReason::HolderForceClosed, [nodes[counterparty_node].node.get_our_node_id()], 100000);
8859
+ check_closed_event!(nodes[force_closing_node], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[counterparty_node].node.get_our_node_id()], 100000);
8860
8860
if go_onchain_before_fulfill {
8861
8861
let txn_to_broadcast = match broadcast_alice {
8862
8862
true => alice_txn.clone(),
@@ -9589,7 +9589,7 @@ fn do_test_tx_confirmed_skipping_blocks_immediate_broadcast(test_height_before_t
9589
9589
let error_message = "Channel force-closed";
9590
9590
nodes[1].node.force_close_broadcasting_latest_txn(&channel_id, &nodes[2].node.get_our_node_id(), error_message.to_string()).unwrap();
9591
9591
check_closed_broadcast!(nodes[1], true);
9592
- check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed, [nodes[2].node.get_our_node_id()], 100000);
9592
+ check_closed_event!(nodes[1], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[2].node.get_our_node_id()], 100000);
9593
9593
check_added_monitors!(nodes[1], 1);
9594
9594
let node_txn = nodes[1].tx_broadcaster.txn_broadcasted.lock().unwrap().split_off(0);
9595
9595
assert_eq!(node_txn.len(), 1);
@@ -10647,7 +10647,7 @@ fn test_remove_expired_outbound_unfunded_channels() {
10647
10647
},
10648
10648
_ => panic!("Unexpected event"),
10649
10649
}
10650
- check_closed_event(&nodes[0], 1, ClosureReason::HolderForceClosed, false, &[nodes[1].node.get_our_node_id()], 100000);
10650
+ check_closed_event(&nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) } , false, &[nodes[1].node.get_our_node_id()], 100000);
10651
10651
}
10652
10652
10653
10653
#[test]
@@ -10698,7 +10698,7 @@ fn test_remove_expired_inbound_unfunded_channels() {
10698
10698
},
10699
10699
_ => panic!("Unexpected event"),
10700
10700
}
10701
- check_closed_event(&nodes[1], 1, ClosureReason::HolderForceClosed, false, &[nodes[0].node.get_our_node_id()], 100000);
10701
+ check_closed_event(&nodes[1], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) } , false, &[nodes[0].node.get_our_node_id()], 100000);
10702
10702
}
10703
10703
10704
10704
#[test]
@@ -10732,7 +10732,7 @@ fn test_channel_close_when_not_timely_accepted() {
10732
10732
10733
10733
// Since we disconnected from peer and did not connect back within time,
10734
10734
// we should have forced-closed the channel by now.
10735
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
10735
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) } , [nodes[1].node.get_our_node_id()], 100000);
10736
10736
assert_eq!(nodes[0].node.list_channels().len(), 0);
10737
10737
10738
10738
{
@@ -11140,7 +11140,7 @@ fn do_test_funding_and_commitment_tx_confirm_same_block(confirm_remote_commitmen
11140
11140
_ => panic!("Unexpected event"),
11141
11141
}
11142
11142
check_added_monitors(closing_node, 1);
11143
- check_closed_event(closing_node, 1, ClosureReason::HolderForceClosed, false, &[other_node.node.get_our_node_id()], 1_000_000);
11143
+ check_closed_event(closing_node, 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , false, &[other_node.node.get_our_node_id()], 1_000_000);
11144
11144
11145
11145
let commitment_tx = {
11146
11146
let mut txn = closing_node.tx_broadcaster.txn_broadcast();
0 commit comments