@@ -3188,7 +3188,7 @@ where
3188
3188
}
3189
3189
} else {
3190
3190
let mut chan_phase = remove_channel_phase!(self, chan_phase_entry);
3191
- shutdown_result = Some(chan_phase.context_mut().force_shutdown(false, ClosureReason::HolderForceClosed));
3191
+ shutdown_result = Some(chan_phase.context_mut().force_shutdown(false, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) } ));
3192
3192
}
3193
3193
},
3194
3194
hash_map::Entry::Vacant(_) => {
@@ -3357,7 +3357,7 @@ where
3357
3357
let closure_reason = if let Some(peer_msg) = peer_msg {
3358
3358
ClosureReason::CounterpartyForceClosed { peer_msg: UntrustedString(peer_msg.to_string()) }
3359
3359
} else {
3360
- ClosureReason::HolderForceClosed
3360
+ ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(broadcast) }
3361
3361
};
3362
3362
let logger = WithContext::from(&self.logger, Some(*peer_node_id), Some(*channel_id), None);
3363
3363
if let hash_map::Entry::Occupied(chan_phase_entry) = peer_state.channel_by_id.entry(channel_id.clone()) {
@@ -5531,7 +5531,7 @@ where
5531
5531
log_error!(logger,
5532
5532
"Force-closing pending channel with ID {} for not establishing in a timely manner", chan_id);
5533
5533
update_maps_on_chan_removal!(self, &context);
5534
- shutdown_channels.push(context.force_shutdown(false, ClosureReason::HolderForceClosed));
5534
+ shutdown_channels.push(context.force_shutdown(false, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) } ));
5535
5535
pending_msg_events.push(MessageSendEvent::HandleError {
5536
5536
node_id: counterparty_node_id,
5537
5537
action: msgs::ErrorAction::SendErrorMessage {
@@ -8018,7 +8018,7 @@ where
8018
8018
let reason = if let MonitorEvent::HolderForceClosedWithInfo { reason, .. } = monitor_event {
8019
8019
reason
8020
8020
} else {
8021
- ClosureReason::HolderForceClosed
8021
+ ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) }
8022
8022
};
8023
8023
failed_channels.push(chan.context.force_shutdown(false, reason.clone()));
8024
8024
if let Ok(update) = self.get_channel_update_for_broadcast(&chan) {
@@ -12584,7 +12584,7 @@ mod tests {
12584
12584
12585
12585
nodes[0].node.force_close_channel_with_peer(&chan.2, &nodes[1].node.get_our_node_id(), None, true).unwrap();
12586
12586
check_added_monitors!(nodes[0], 1);
12587
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
12587
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
12588
12588
12589
12589
// Confirm that the channel_update was not sent immediately to node[1] but was cached.
12590
12590
let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
@@ -12643,7 +12643,7 @@ mod tests {
12643
12643
nodes[0].node.force_close_broadcasting_latest_txn(&chan.2, &nodes[1].node.get_our_node_id(), error_message.to_string()).unwrap();
12644
12644
check_closed_broadcast!(nodes[0], true);
12645
12645
check_added_monitors!(nodes[0], 1);
12646
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
12646
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
12647
12647
12648
12648
{
12649
12649
// Assert that nodes[1] is awaiting removal for nodes[0] once nodes[1] has been
@@ -13380,7 +13380,7 @@ mod tests {
13380
13380
nodes[0].node.force_close_broadcasting_latest_txn(&chan_id, &nodes[1].node.get_our_node_id(), error_message.to_string()).unwrap();
13381
13381
check_closed_broadcast(&nodes[0], 1, true);
13382
13382
check_added_monitors(&nodes[0], 1);
13383
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
13383
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
13384
13384
{
13385
13385
let txn = nodes[0].tx_broadcaster.txn_broadcast();
13386
13386
assert_eq!(txn.len(), 1);
0 commit comments