Skip to content

Commit bbfea66

Browse files
committed
f Account for force_close_without_broadcasting being dropped
1 parent d63e3eb commit bbfea66

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
@@ -1339,35 +1339,16 @@ impl Node {
13391339
open_channels.iter().find(|c| c.user_channel_id == user_channel_id.0)
13401340
{
13411341
if force {
1342-
if self.config.anchor_channels_config.as_ref().map_or(false, |acc| {
1343-
acc.trusted_peers_no_reserve.contains(&counterparty_node_id)
1344-
}) {
1345-
self.channel_manager
1346-
.force_close_without_broadcasting_txn(
1347-
&channel_details.channel_id,
1348-
&counterparty_node_id,
1349-
force_close_reason.unwrap_or_default(),
1350-
)
1351-
.map_err(|e| {
1352-
log_error!(
1353-
self.logger,
1354-
"Failed to force-close channel to trusted peer: {:?}",
1355-
e
1356-
);
1357-
Error::ChannelClosingFailed
1358-
})?;
1359-
} else {
1360-
self.channel_manager
1361-
.force_close_broadcasting_latest_txn(
1362-
&channel_details.channel_id,
1363-
&counterparty_node_id,
1364-
force_close_reason.unwrap_or_default(),
1365-
)
1366-
.map_err(|e| {
1367-
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1368-
Error::ChannelClosingFailed
1369-
})?;
1370-
}
1342+
self.channel_manager
1343+
.force_close_broadcasting_latest_txn(
1344+
&channel_details.channel_id,
1345+
&counterparty_node_id,
1346+
force_close_reason.unwrap_or_default(),
1347+
)
1348+
.map_err(|e| {
1349+
log_error!(self.logger, "Failed to force-close channel: {:?}", e);
1350+
Error::ChannelClosingFailed
1351+
})?;
13711352
} else {
13721353
self.channel_manager
13731354
.close_channel(&channel_details.channel_id, &counterparty_node_id)

0 commit comments

Comments
 (0)