Skip to content

Commit f5c9271

Browse files
committed
Retransmit announcement_signatures if requested
The previous commit allowed requesting retransmission of announcement_signatures during channel reestablishment. This commit handles such requests.
1 parent 9417780 commit f5c9271

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

lightning/src/ln/channel.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8734,6 +8734,12 @@ where
87348734

87358735
let shutdown_msg = self.get_outbound_shutdown();
87368736

8737+
if let Some(funding_locked) = &msg.my_current_funding_locked {
8738+
if funding_locked.should_retransmit(msgs::RetransmitFlag::AnnouncementSignatures) {
8739+
self.context.announcement_sigs_state = AnnouncementSigsState::NotSent;
8740+
}
8741+
}
8742+
87378743
let announcement_sigs = self.get_announcement_sigs(node_signer, chain_hash, user_config, best_block.height, logger);
87388744

87398745
if matches!(self.context.channel_state, ChannelState::AwaitingChannelReady(_)) {

lightning/src/ln/msgs.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -954,6 +954,11 @@ impl FundingLocked {
954954
pub fn retransmit(&mut self, flag: RetransmitFlag) {
955955
self.retransmit_flags |= 1 << flag as u8;
956956
}
957+
958+
/// Returns whether the message corresponding to `flag` should be retransmitted.
959+
pub fn should_retransmit(&self, flag: RetransmitFlag) -> bool {
960+
self.retransmit_flags & (1 << flag as u8) != 0
961+
}
957962
}
958963

959964
/// Bit positions used in [`FundingLocked::retransmit_flags`] for requesting message retransmission.

0 commit comments

Comments
 (0)