@@ -3153,7 +3153,7 @@ where
3153
3153
}
3154
3154
} else {
3155
3155
let mut chan_phase = remove_channel_phase!(self, chan_phase_entry);
3156
- shutdown_result = Some(chan_phase.context_mut().force_shutdown(false, ClosureReason::HolderForceClosed));
3156
+ shutdown_result = Some(chan_phase.context_mut().force_shutdown(false, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) } ));
3157
3157
}
3158
3158
},
3159
3159
hash_map::Entry::Vacant(_) => {
@@ -3322,7 +3322,7 @@ where
3322
3322
let closure_reason = if let Some(peer_msg) = peer_msg {
3323
3323
ClosureReason::CounterpartyForceClosed { peer_msg: UntrustedString(peer_msg.to_string()) }
3324
3324
} else {
3325
- ClosureReason::HolderForceClosed
3325
+ ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(broadcast) }
3326
3326
};
3327
3327
let logger = WithContext::from(&self.logger, Some(*peer_node_id), Some(*channel_id), None);
3328
3328
if let hash_map::Entry::Occupied(chan_phase_entry) = peer_state.channel_by_id.entry(channel_id.clone()) {
@@ -5497,7 +5497,7 @@ where
5497
5497
log_error!(logger,
5498
5498
"Force-closing pending channel with ID {} for not establishing in a timely manner", chan_id);
5499
5499
update_maps_on_chan_removal!(self, &context);
5500
- shutdown_channels.push(context.force_shutdown(false, ClosureReason::HolderForceClosed));
5500
+ shutdown_channels.push(context.force_shutdown(false, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(false) } ));
5501
5501
pending_msg_events.push(MessageSendEvent::HandleError {
5502
5502
node_id: counterparty_node_id,
5503
5503
action: msgs::ErrorAction::SendErrorMessage {
@@ -7984,7 +7984,7 @@ where
7984
7984
let reason = if let MonitorEvent::HolderForceClosedWithInfo { reason, .. } = monitor_event {
7985
7985
reason
7986
7986
} else {
7987
- ClosureReason::HolderForceClosed
7987
+ ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) }
7988
7988
};
7989
7989
failed_channels.push(chan.context.force_shutdown(false, reason.clone()));
7990
7990
if let Ok(update) = self.get_channel_update_for_broadcast(&chan) {
@@ -12458,7 +12458,7 @@ mod tests {
12458
12458
12459
12459
nodes[0].node.force_close_channel_with_peer(&chan.2, &nodes[1].node.get_our_node_id(), None, true).unwrap();
12460
12460
check_added_monitors!(nodes[0], 1);
12461
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
12461
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
12462
12462
12463
12463
// Confirm that the channel_update was not sent immediately to node[1] but was cached.
12464
12464
let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
@@ -12517,7 +12517,7 @@ mod tests {
12517
12517
nodes[0].node.force_close_broadcasting_latest_txn(&chan.2, &nodes[1].node.get_our_node_id(), error_message.to_string()).unwrap();
12518
12518
check_closed_broadcast!(nodes[0], true);
12519
12519
check_added_monitors!(nodes[0], 1);
12520
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
12520
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
12521
12521
12522
12522
{
12523
12523
// Assert that nodes[1] is awaiting removal for nodes[0] once nodes[1] has been
@@ -13254,7 +13254,7 @@ mod tests {
13254
13254
nodes[0].node.force_close_broadcasting_latest_txn(&chan_id, &nodes[1].node.get_our_node_id(), error_message.to_string()).unwrap();
13255
13255
check_closed_broadcast(&nodes[0], 1, true);
13256
13256
check_added_monitors(&nodes[0], 1);
13257
- check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
13257
+ check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) } , [nodes[1].node.get_our_node_id()], 100000);
13258
13258
{
13259
13259
let txn = nodes[0].tx_broadcaster.txn_broadcast();
13260
13260
assert_eq!(txn.len(), 1);
0 commit comments