You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Handle sign_counterparty_commitment failing during inb funding
If sign_counterparty_commitment fails (i.e. because the signer is
temporarily disconnected), this really indicates that we should
retry the message sending which required the signature later,
rather than force-closing the channel (which probably won't even
work if the signer is missing).
Here we add initial handling of sign_counterparty_commitment
failing during inbound channel funding, setting a flag in
`ChannelContext` which indicates we should retry sending the
`funding_signed` later. We don't yet add any ability to do that
retry.
match inbound_chan.funding_created(msg, best_block, &self.signer_provider, &self.logger) {
@@ -6254,17 +6254,20 @@ where
6254
6254
None => return Err(MsgHandleErrInternal::send_err_msg_no_close(format!("Got a message for a channel from the wrong node! No such channel for the passed counterparty_node_id {}", counterparty_node_id), msg.temporary_channel_id))
6255
6255
};
6256
6256
6257
-
match peer_state.channel_by_id.entry(funding_msg.channel_id) {
6257
+
match peer_state.channel_by_id.entry(chan.context.channel_id()) {
6258
6258
hash_map::Entry::Occupied(_) => {
6259
-
Err(MsgHandleErrInternal::send_err_msg_no_close("Already had channel with the new channel_id".to_owned(), funding_msg.channel_id))
6259
+
Err(MsgHandleErrInternal::send_err_msg_no_close(
6260
+
"Already had channel with the new channel_id".to_owned(),
6261
+
chan.context.channel_id()
6262
+
))
6260
6263
},
6261
6264
hash_map::Entry::Vacant(e) => {
6262
6265
let mut id_to_peer_lock = self.id_to_peer.lock().unwrap();
6263
6266
match id_to_peer_lock.entry(chan.context.channel_id()) {
0 commit comments