Skip to content

Commit 203e0a6

Browse files
committed
f Account for force_close_without_broadcasting being dropped
1 parent 4bd76f5 commit 203e0a6

File tree

4 files changed

+18
-36
lines changed

4 files changed

+18
-36
lines changed

bindings/ldk_node.udl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ enum PaymentFailureReason {
392392
[Enum]
393393
interface ClosureReason {
394394
CounterpartyForceClosed(UntrustedString peer_msg);
395-
HolderForceClosed(boolean? broadcasted_latest_txn);
395+
HolderForceClosed(boolean? broadcasted_latest_txn, string message);
396396
LegacyCooperativeClosure();
397397
CounterpartyInitiatedCooperativeClosure();
398398
LocallyInitiatedCooperativeClosure();

src/event.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ where
547547
Err(err) => {
548548
log_error!(self.logger, "Failed to create funding transaction: {}", err);
549549
self.channel_manager
550-
.force_close_without_broadcasting_txn(
550+
.force_close_broadcasting_latest_txn(
551551
&temporary_channel_id,
552552
&counterparty_node_id,
553553
"Failed to create funding transaction".to_string(),
@@ -1084,7 +1084,7 @@ where
10841084
log_error!(self.logger, "Rejecting inbound announced channel from peer {} due to missing configuration: {}", counterparty_node_id, err);
10851085

10861086
self.channel_manager
1087-
.force_close_without_broadcasting_txn(
1087+
.force_close_broadcasting_latest_txn(
10881088
&temporary_channel_id,
10891089
&counterparty_node_id,
10901090
"Channel request rejected".to_string(),
@@ -1128,7 +1128,7 @@ where
11281128
required_amount_sats,
11291129
);
11301130
self.channel_manager
1131-
.force_close_without_broadcasting_txn(
1131+
.force_close_broadcasting_latest_txn(
11321132
&temporary_channel_id,
11331133
&counterparty_node_id,
11341134
"Channel request rejected".to_string(),
@@ -1145,7 +1145,7 @@ where
11451145
counterparty_node_id,
11461146
);
11471147
self.channel_manager
1148-
.force_close_without_broadcasting_txn(
1148+
.force_close_broadcasting_latest_txn(
11491149
&temporary_channel_id,
11501150
&counterparty_node_id,
11511151
"Channel request rejected".to_string(),

src/io/test_utils.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,18 +145,19 @@ pub(crate) fn do_test_store<K: KVStore + Sync>(store_0: &K, store_1: &K) {
145145

146146
// Force close because cooperative close doesn't result in any persisted
147147
// updates.
148+
let message = "Channel force-closed".to_owned();
148149
nodes[0]
149150
.node
150151
.force_close_broadcasting_latest_txn(
151152
&nodes[0].node.list_channels()[0].channel_id,
152153
&nodes[1].node.get_our_node_id(),
153-
"whoops".to_string(),
154+
message.clone(),
154155
)
155156
.unwrap();
156157
check_closed_event!(
157158
nodes[0],
158159
1,
159-
ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true) },
160+
ClosureReason::HolderForceClosed { broadcasted_latest_txn: Some(true), message },
160161
[nodes[1].node.get_our_node_id()],
161162
100000
162163
);

src/lib.rs

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,35 +1237,16 @@ impl Node {
12371237
open_channels.iter().find(|c| c.user_channel_id == user_channel_id.0)
12381238
{
12391239
if force {
1240-
if self.config.anchor_channels_config.as_ref().map_or(false, |acc| {
1241-
acc.trusted_peers_no_reserve.contains(&counterparty_node_id)
1242-
}) {
1243-
self.channel_manager
1244-
.force_close_without_broadcasting_txn(
1245-
&channel_details.channel_id,
1246-
&counterparty_node_id,
1247-
force_close_reason.unwrap_or_default(),
1248-
)
1249-
.map_err(|e| {
1250-
log_error!(
1251-
self.logger,
1252-
"Failed to force-close channel to trusted peer: {:?}",
1253-
e
1254-
);
1255-
Error::ChannelClosingFailed
1256-
})?;
1257-
} else {
1258-
self.channel_manager
1259-
.force_close_broadcasting_latest_txn(
1260-
&channel_details.channel_id,
1261-
&counterparty_node_id,
1262-
force_close_reason.unwrap_or_default(),
1263-
)
1264-
.map_err(|e| {
1265-
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1266-
Error::ChannelClosingFailed
1267-
})?;
1268-
}
1240+
self.channel_manager
1241+
.force_close_broadcasting_latest_txn(
1242+
&channel_details.channel_id,
1243+
&counterparty_node_id,
1244+
force_close_reason.unwrap_or_default(),
1245+
)
1246+
.map_err(|e| {
1247+
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1248+
Error::ChannelClosingFailed
1249+
})?;
12691250
} else {
12701251
self.channel_manager
12711252
.close_channel(&channel_details.channel_id, &counterparty_node_id)

0 commit comments

Comments
 (0)