@@ -2986,8 +2986,9 @@ where
29862986 Ok(counterparty_node_id)
29872987 }
29882988
2989- fn force_close_sending_error(&self, channel_id: &ChannelId, counterparty_node_id: &PublicKey, broadcast: bool, error_message: &str ) -> Result<(), APIError> {
2989+ fn force_close_sending_error(&self, channel_id: &ChannelId, counterparty_node_id: &PublicKey, broadcast: bool, error_message: String ) -> Result<(), APIError> {
29902990 let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
2991+ log_debug!(self.logger, "The error message {} sent to the peer", error_message);
29912992 match self.force_close_channel_with_peer(channel_id, counterparty_node_id, None, broadcast) {
29922993 Ok(counterparty_node_id) => {
29932994 let per_peer_state = self.per_peer_state.read().unwrap();
@@ -3012,7 +3013,9 @@ where
30123013 /// rejecting new HTLCs on the given channel. Fails if `channel_id` is unknown to
30133014 /// the manager, or if the `counterparty_node_id` isn't the counterparty of the corresponding
30143015 /// channel.
3015- pub fn force_close_broadcasting_latest_txn(&self, channel_id: &ChannelId, counterparty_node_id: &PublicKey, error_message: &str)
3016+ /// # Arguments
3017+ /// * `error_message` - The error message to be sent to the peer. This string will be sent to our peer.
3018+ pub fn force_close_broadcasting_latest_txn(&self, channel_id: &ChannelId, counterparty_node_id: &PublicKey, error_message: String)
30163019 -> Result<(), APIError> {
30173020 self.force_close_sending_error(channel_id, counterparty_node_id, true, error_message)
30183021 }
@@ -3023,24 +3026,24 @@ where
30233026 ///
30243027 /// You can always get the latest local transaction(s) to broadcast from
30253028 /// [`ChannelMonitor::get_latest_holder_commitment_txn`].
3026- pub fn force_close_without_broadcasting_txn(&self, channel_id: &ChannelId, counterparty_node_id: &PublicKey, error_message: &str )
3029+ pub fn force_close_without_broadcasting_txn(&self, channel_id: &ChannelId, counterparty_node_id: &PublicKey, error_message: String )
30273030 -> Result<(), APIError> {
30283031 self.force_close_sending_error(channel_id, counterparty_node_id, false, error_message)
30293032 }
30303033
30313034 /// Force close all channels, immediately broadcasting the latest local commitment transaction
30323035 /// for each to the chain and rejecting new HTLCs on each.
3033- pub fn force_close_all_channels_broadcasting_latest_txn(&self, error_message: &str ) {
3036+ pub fn force_close_all_channels_broadcasting_latest_txn(&self, error_message: String ) {
30343037 for chan in self.list_channels() {
3035- let _ = self.force_close_broadcasting_latest_txn(&chan.channel_id, &chan.counterparty.node_id, error_message);
3038+ let _ = self.force_close_broadcasting_latest_txn(&chan.channel_id, &chan.counterparty.node_id, error_message.clone() );
30363039 }
30373040 }
30383041
30393042 /// Force close all channels rejecting new HTLCs on each but without broadcasting the latest
30403043 /// local transaction(s).
3041- pub fn force_close_all_channels_without_broadcasting_txn(&self, error_message: &str ) {
3044+ pub fn force_close_all_channels_without_broadcasting_txn(&self, error_message: String ) {
30423045 for chan in self.list_channels() {
3043- let _ = self.force_close_without_broadcasting_txn(&chan.channel_id, &chan.counterparty.node_id, error_message);
3046+ let _ = self.force_close_without_broadcasting_txn(&chan.channel_id, &chan.counterparty.node_id, error_message.clone() );
30443047 }
30453048 }
30463049
@@ -11744,7 +11747,7 @@ mod tests {
1174411747 nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
1174511748 nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
1174611749 let error_message = "Channel force-closed";
11747- nodes[0].node.force_close_broadcasting_latest_txn(&chan.2, &nodes[1].node.get_our_node_id(), & error_message).unwrap();
11750+ nodes[0].node.force_close_broadcasting_latest_txn(&chan.2, &nodes[1].node.get_our_node_id(), error_message.to_string() ).unwrap();
1174811751 check_closed_broadcast!(nodes[0], true);
1174911752 check_added_monitors!(nodes[0], 1);
1175011753 check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
@@ -11970,9 +11973,9 @@ mod tests {
1197011973
1197111974 check_unkown_peer_error(nodes[0].node.close_channel(&channel_id, &unkown_public_key), unkown_public_key);
1197211975
11973- check_unkown_peer_error(nodes[0].node.force_close_broadcasting_latest_txn(&channel_id, &unkown_public_key, & error_message), unkown_public_key);
11976+ check_unkown_peer_error(nodes[0].node.force_close_broadcasting_latest_txn(&channel_id, &unkown_public_key, error_message.to_string() ), unkown_public_key);
1197411977
11975- check_unkown_peer_error(nodes[0].node.force_close_without_broadcasting_txn(&channel_id, &unkown_public_key, & error_message), unkown_public_key);
11978+ check_unkown_peer_error(nodes[0].node.force_close_without_broadcasting_txn(&channel_id, &unkown_public_key, error_message.to_string() ), unkown_public_key);
1197611979
1197711980 check_unkown_peer_error(nodes[0].node.forward_intercepted_htlc(intercept_id, &channel_id, unkown_public_key, 1_000_000), unkown_public_key);
1197811981
@@ -12001,9 +12004,9 @@ mod tests {
1200112004
1200212005 check_channel_unavailable_error(nodes[0].node.close_channel(&channel_id, &counterparty_node_id), channel_id, counterparty_node_id);
1200312006
12004- check_channel_unavailable_error(nodes[0].node.force_close_broadcasting_latest_txn(&channel_id, &counterparty_node_id, & error_message), channel_id, counterparty_node_id);
12007+ check_channel_unavailable_error(nodes[0].node.force_close_broadcasting_latest_txn(&channel_id, &counterparty_node_id, error_message.to_string() ), channel_id, counterparty_node_id);
1200512008
12006- check_channel_unavailable_error(nodes[0].node.force_close_without_broadcasting_txn(&channel_id, &counterparty_node_id, & error_message), channel_id, counterparty_node_id);
12009+ check_channel_unavailable_error(nodes[0].node.force_close_without_broadcasting_txn(&channel_id, &counterparty_node_id, error_message.to_string() ), channel_id, counterparty_node_id);
1200712010
1200812011 check_channel_unavailable_error(nodes[0].node.forward_intercepted_htlc(InterceptId([0; 32]), &channel_id, counterparty_node_id, 1_000_000), channel_id, counterparty_node_id);
1200912012
@@ -12367,7 +12370,7 @@ mod tests {
1236712370 let events = nodes[1].node.get_and_clear_pending_events();
1236812371 match events[0] {
1236912372 Event::OpenChannelRequest { temporary_channel_id, .. } => {
12370- nodes[1].node.force_close_broadcasting_latest_txn(&temporary_channel_id, &nodes[0].node.get_our_node_id(), & error_message).unwrap();
12373+ nodes[1].node.force_close_broadcasting_latest_txn(&temporary_channel_id, &nodes[0].node.get_our_node_id(), error_message.to_string() ).unwrap();
1237112374 }
1237212375 _ => panic!("Unexpected event"),
1237312376 }
@@ -12481,7 +12484,7 @@ mod tests {
1248112484 let (_, _, chan_id, funding_tx) = create_announced_chan_between_nodes(&nodes, 0, 1);
1248212485 nodes[0].node.peer_disconnected(&nodes[1].node.get_our_node_id());
1248312486 nodes[1].node.peer_disconnected(&nodes[0].node.get_our_node_id());
12484- nodes[0].node.force_close_broadcasting_latest_txn(&chan_id, &nodes[1].node.get_our_node_id(), & error_message).unwrap();
12487+ nodes[0].node.force_close_broadcasting_latest_txn(&chan_id, &nodes[1].node.get_our_node_id(), error_message.to_string() ).unwrap();
1248512488 check_closed_broadcast(&nodes[0], 1, true);
1248612489 check_added_monitors(&nodes[0], 1);
1248712490 check_closed_event!(nodes[0], 1, ClosureReason::HolderForceClosed, [nodes[1].node.get_our_node_id()], 100000);
0 commit comments