Skip to content

Commit c9cc53a

Browse files
committed
Handle sending accept_channel when signer is unblocked
1 parent 881f868 commit c9cc53a

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
@@ -8150,6 +8150,20 @@ impl<SP: Deref> InboundV1Channel<SP> where SP::Target: SignerProvider {
81508150

81518151
Ok((channel, funding_signed, channel_monitor))
81528152
}
8153+
8154+
/// Indicates that the signer may have some signatures for us, so we should retry if we're
8155+
/// blocked.
8156+
#[allow(unused)]
8157+
pub fn signer_maybe_unblocked<L: Deref>(&mut self, logger: &L) -> Option<msgs::AcceptChannel>
8158+
where L::Target: Logger
8159+
{
8160+
if !self.context.holder_commitment_point.is_available() {
8161+
self.context.holder_commitment_point.advance(&self.context.holder_signer, &self.context.secp_ctx, logger);
8162+
}
8163+
if self.signer_pending_accept_channel && self.context.holder_commitment_point.is_available() {
8164+
self.generate_accept_channel_message(logger)
8165+
} else { None }
8166+
}
81538167
}
81548168

81558169
// 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
@@ -8183,9 +8183,17 @@ where
81838183
});
81848184
}
81858185
}
8186-
ChannelPhase::UnfundedInboundV1(_) => {},
8186+
ChannelPhase::UnfundedInboundV1(chan) => {
8187+
let logger = WithChannelContext::from(&self.logger, &chan.context, None);
8188+
if let Some(msg) = chan.signer_maybe_unblocked(&&logger) {
8189+
pending_msg_events.push(events::MessageSendEvent::SendAcceptChannel {
8190+
node_id,
8191+
msg,
8192+
});
8193+
}
8194+
},
81878195
}
8188-
};
8196+
};
81898197

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

0 commit comments

Comments
 (0)