Skip to content

Commit d60eba4

Browse files
committed
Handle sending accept_channel when signer is unblocked
1 parent 1fb9fd6 commit d60eba4

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

82408240
Ok((channel, funding_signed, channel_monitor))
82418241
}
8242+
8243+
/// Indicates that the signer may have some signatures for us, so we should retry if we're
8244+
/// blocked.
8245+
#[allow(unused)]
8246+
pub fn signer_maybe_unblocked<L: Deref>(&mut self, logger: &L) -> Option<msgs::AcceptChannel>
8247+
where L::Target: Logger
8248+
{
8249+
if !self.context.holder_commitment_point.is_available() {
8250+
self.context.holder_commitment_point.advance(&self.context.holder_signer, &self.context.secp_ctx, logger);
8251+
}
8252+
if self.signer_pending_accept_channel && self.context.holder_commitment_point.is_available() {
8253+
self.generate_accept_channel_message(logger)
8254+
} else { None }
8255+
}
82428256
}
82438257

82448258
// 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
@@ -8434,9 +8434,17 @@ where
84348434
});
84358435
}
84368436
}
8437-
ChannelPhase::UnfundedInboundV1(_) => {},
8437+
ChannelPhase::UnfundedInboundV1(chan) => {
8438+
let logger = WithChannelContext::from(&self.logger, &chan.context, None);
8439+
if let Some(msg) = chan.signer_maybe_unblocked(&&logger) {
8440+
pending_msg_events.push(events::MessageSendEvent::SendAcceptChannel {
8441+
node_id,
8442+
msg,
8443+
});
8444+
}
8445+
},
84388446
}
8439-
};
8447+
};
84408448

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

0 commit comments

Comments
 (0)