Skip to content

Commit 5590bc5

Browse files
committed
Handle sending accept_channel when signer is unblocked
1 parent 0bdb607 commit 5590bc5

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

lightning/src/ln/channel.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8053,6 +8053,20 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
80538053

80548054
Ok((channel, funding_signed, channel_monitor))
80558055
}
8056+
8057+
/// Indicates that the signer may have some signatures for us, so we should retry if we're
8058+
/// blocked.
8059+
#[allow(unused)]
8060+
pub fn signer_maybe_unblocked<L: Deref>(&mut self, logger: &L) -> Option<msgs::AcceptChannel>
8061+
where L::Target: Logger
8062+
{
8063+
if !self.context.holder_commitment_point.is_available() {
8064+
self.context.holder_commitment_point.advance(&self.context.holder_signer, &self.context.secp_ctx, logger);
8065+
}
8066+
if self.signer_pending_accept_channel && self.context.holder_commitment_point.is_available() {
8067+
self.generate_accept_channel_message(logger)
8068+
} else { None }
8069+
}
80568070
}
80578071

80588072
// A not-yet-funded outbound (from holder) channel using V2 channel establishment.

lightning/src/ln/channelmanager.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8146,9 +8146,17 @@ where
81468146
});
81478147
}
81488148
}
8149-
ChannelPhase::UnfundedInboundV1(_) => {},
8149+
ChannelPhase::UnfundedInboundV1(chan) => {
8150+
let logger = WithChannelContext::from(&self.logger, &chan.context, None);
8151+
if let Some(msg) = chan.signer_maybe_unblocked(&&logger) {
8152+
pending_msg_events.push(events::MessageSendEvent::SendAcceptChannel {
8153+
node_id,
8154+
msg,
8155+
});
8156+
}
8157+
},
81508158
}
8151-
};
8159+
};
81528160

81538161
let per_peer_state = self.per_peer_state.read().unwrap();
81548162
if let Some((counterparty_node_id, channel_id)) = channel_opt {

0 commit comments

Comments
 (0)