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) {
@@ -5700,16 +5700,19 @@ where
5700
5700
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))
5701
5701
};
5702
5702
5703
-
match peer_state.channel_by_id.entry(funding_msg.channel_id) {
5703
+
match peer_state.channel_by_id.entry(chan.context.channel_id()) {
5704
5704
hash_map::Entry::Occupied(_) => {
5705
-
Err(MsgHandleErrInternal::send_err_msg_no_close("Already had channel with the new channel_id".to_owned(), funding_msg.channel_id))
5705
+
Err(MsgHandleErrInternal::send_err_msg_no_close(
5706
+
"Already had channel with the new channel_id".to_owned(),
5707
+
chan.context.channel_id()
5708
+
))
5706
5709
},
5707
5710
hash_map::Entry::Vacant(e) => {
5708
5711
match self.id_to_peer.lock().unwrap().entry(chan.context.channel_id()) {
0 commit comments