Skip to content

Commit 1ed9dc5

Browse files
committed
f Account for force_close_without_broadcasting being dropped
1 parent bc78ceb commit 1ed9dc5

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
@@ -383,7 +383,7 @@ enum PaymentFailureReason {
383383
[Enum]
384384
interface ClosureReason {
385385
CounterpartyForceClosed(UntrustedString peer_msg);
386-
HolderForceClosed(boolean? broadcasted_latest_txn);
386+
HolderForceClosed(boolean? broadcasted_latest_txn, string message);
387387
LegacyCooperativeClosure();
388388
CounterpartyInitiatedCooperativeClosure();
389389
LocallyInitiatedCooperativeClosure();

src/event.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ where
545545
Err(err) => {
546546
log_error!(self.logger, "Failed to create funding transaction: {}", err);
547547
self.channel_manager
548-
.force_close_without_broadcasting_txn(
548+
.force_close_broadcasting_latest_txn(
549549
&temporary_channel_id,
550550
&counterparty_node_id,
551551
"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
@@ -1316,35 +1316,16 @@ impl Node {
13161316
open_channels.iter().find(|c| c.user_channel_id == user_channel_id.0)
13171317
{
13181318
if force {
1319-
if self.config.anchor_channels_config.as_ref().map_or(false, |acc| {
1320-
acc.trusted_peers_no_reserve.contains(&counterparty_node_id)
1321-
}) {
1322-
self.channel_manager
1323-
.force_close_without_broadcasting_txn(
1324-
&channel_details.channel_id,
1325-
&counterparty_node_id,
1326-
force_close_reason.unwrap_or_default(),
1327-
)
1328-
.map_err(|e| {
1329-
log_error!(
1330-
self.logger,
1331-
"Failed to force-close channel to trusted peer: {:?}",
1332-
e
1333-
);
1334-
Error::ChannelClosingFailed
1335-
})?;
1336-
} else {
1337-
self.channel_manager
1338-
.force_close_broadcasting_latest_txn(
1339-
&channel_details.channel_id,
1340-
&counterparty_node_id,
1341-
force_close_reason.unwrap_or_default(),
1342-
)
1343-
.map_err(|e| {
1344-
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1345-
Error::ChannelClosingFailed
1346-
})?;
1347-
}
1319+
self.channel_manager
1320+
.force_close_broadcasting_latest_txn(
1321+
&channel_details.channel_id,
1322+
&counterparty_node_id,
1323+
force_close_reason.unwrap_or_default(),
1324+
)
1325+
.map_err(|e| {
1326+
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1327+
Error::ChannelClosingFailed
1328+
})?;
13481329
} else {
13491330
self.channel_manager
13501331
.close_channel(&channel_details.channel_id, &counterparty_node_id)

0 commit comments

Comments
 (0)