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) {
@@ -6255,17 +6255,20 @@ where
6255
6255
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))
6256
6256
};
6257
6257
6258
-
match peer_state.channel_by_id.entry(funding_msg.channel_id) {
6258
+
match peer_state.channel_by_id.entry(chan.context.channel_id()) {
6259
6259
hash_map::Entry::Occupied(_) => {
6260
-
Err(MsgHandleErrInternal::send_err_msg_no_close("Already had channel with the new channel_id".to_owned(), funding_msg.channel_id))
6260
+
Err(MsgHandleErrInternal::send_err_msg_no_close(
6261
+
"Already had channel with the new channel_id".to_owned(),
6262
+
chan.context.channel_id()
6263
+
))
6261
6264
},
6262
6265
hash_map::Entry::Vacant(e) => {
6263
6266
let mut id_to_peer_lock = self.id_to_peer.lock().unwrap();
6264
6267
match id_to_peer_lock.entry(chan.context.channel_id()) {
0 commit comments