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) {
@@ -5865,17 +5865,20 @@ where
5865
5865
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))
5866
5866
};
5867
5867
5868
-
match peer_state.channel_by_id.entry(funding_msg.channel_id) {
5868
+
match peer_state.channel_by_id.entry(chan.context.channel_id()) {
5869
5869
hash_map::Entry::Occupied(_) => {
5870
-
Err(MsgHandleErrInternal::send_err_msg_no_close("Already had channel with the new channel_id".to_owned(), funding_msg.channel_id))
5870
+
Err(MsgHandleErrInternal::send_err_msg_no_close(
5871
+
"Already had channel with the new channel_id".to_owned(),
5872
+
chan.context.channel_id()
5873
+
))
5871
5874
},
5872
5875
hash_map::Entry::Vacant(e) => {
5873
5876
let mut id_to_peer_lock = self.id_to_peer.lock().unwrap();
5874
5877
match id_to_peer_lock.entry(chan.context.channel_id()) {
0 commit comments