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
debug_assert!(false, "All values should have been handled in the four cases above");
@@ -5735,7 +5760,7 @@ impl<SP: Deref> Channel<SP> where
5735
5760
} else { None };
5736
5761
5737
5762
if msg.next_local_commitment_number == next_counterparty_commitment_number {
5738
-
if required_revoke.is_some() {
5763
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5739
5764
log_debug!(logger, "Reconnected channel {} with only lost outbound RAA", &self.context.channel_id());
5740
5765
} else {
5741
5766
log_debug!(logger, "Reconnected channel {} with no loss", &self.context.channel_id());
@@ -5748,7 +5773,7 @@ impl<SP: Deref> Channel<SP> where
5748
5773
order: self.context.resend_order.clone(),
5749
5774
})
5750
5775
} else if msg.next_local_commitment_number == next_counterparty_commitment_number - 1 {
5751
-
if required_revoke.is_some() {
5776
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5752
5777
log_debug!(logger, "Reconnected channel {} with lost outbound RAA and lost remote commitment tx", &self.context.channel_id());
5753
5778
} else {
5754
5779
log_debug!(logger, "Reconnected channel {} with only lost remote commitment tx", &self.context.channel_id());
@@ -5762,7 +5787,14 @@ impl<SP: Deref> Channel<SP> where
5762
5787
order: self.context.resend_order.clone(),
5763
5788
})
5764
5789
} else {
5765
-
let commitment_update = self.get_last_commitment_update_for_send(logger).ok();
5790
+
let commitment_update = if self.context.resend_order == RAACommitmentOrder::RevokeAndACKFirst
5791
+
&& self.context.signer_pending_revoke_and_ack {
5792
+
log_trace!(logger, "Reconnected channel {} with lost outbound RAA and lost remote commitment tx, but unable to send due to resend order, waiting on signer for revoke and ack", &self.context.channel_id());
log_trace!(logger, "Reconnected channel {} with lost outbound RAA and lost remote commitment tx, but unable to send due to resend order, waiting on signer for commitment update", &self.context.channel_id());
0 commit comments