Skip to content

Commit 6090c0f

Browse files
committed
f Account for force_close_without_broadcasting being dropped
1 parent 2a3c96c commit 6090c0f

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
@@ -1351,35 +1351,16 @@ impl Node {
13511351
open_channels.iter().find(|c| c.user_channel_id == user_channel_id.0)
13521352
{
13531353
if force {
1354-
if self.config.anchor_channels_config.as_ref().map_or(false, |acc| {
1355-
acc.trusted_peers_no_reserve.contains(&counterparty_node_id)
1356-
}) {
1357-
self.channel_manager
1358-
.force_close_without_broadcasting_txn(
1359-
&channel_details.channel_id,
1360-
&counterparty_node_id,
1361-
force_close_reason.unwrap_or_default(),
1362-
)
1363-
.map_err(|e| {
1364-
log_error!(
1365-
self.logger,
1366-
"Failed to force-close channel to trusted peer: {:?}",
1367-
e
1368-
);
1369-
Error::ChannelClosingFailed
1370-
})?;
1371-
} else {
1372-
self.channel_manager
1373-
.force_close_broadcasting_latest_txn(
1374-
&channel_details.channel_id,
1375-
&counterparty_node_id,
1376-
force_close_reason.unwrap_or_default(),
1377-
)
1378-
.map_err(|e| {
1379-
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1380-
Error::ChannelClosingFailed
1381-
})?;
1382-
}
1354+
self.channel_manager
1355+
.force_close_broadcasting_latest_txn(
1356+
&channel_details.channel_id,
1357+
&counterparty_node_id,
1358+
force_close_reason.unwrap_or_default(),
1359+
)
1360+
.map_err(|e| {
1361+
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1362+
Error::ChannelClosingFailed
1363+
})?;
13831364
} else {
13841365
self.channel_manager
13851366
.close_channel(&channel_details.channel_id, &counterparty_node_id)

0 commit comments

Comments
 (0)