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 +5759,7 @@ impl<SP: Deref> Channel<SP> where
5735
5759
} else { None };
5736
5760
5737
5761
if msg.next_local_commitment_number == next_counterparty_commitment_number {
5738
-
if required_revoke.is_some() {
5762
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5739
5763
log_debug!(logger, "Reconnected channel {} with only lost outbound RAA", &self.context.channel_id());
5740
5764
} else {
5741
5765
log_debug!(logger, "Reconnected channel {} with no loss", &self.context.channel_id());
@@ -5748,7 +5772,7 @@ impl<SP: Deref> Channel<SP> where
5748
5772
order: self.context.resend_order.clone(),
5749
5773
})
5750
5774
} else if msg.next_local_commitment_number == next_counterparty_commitment_number - 1 {
5751
-
if required_revoke.is_some() {
5775
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5752
5776
log_debug!(logger, "Reconnected channel {} with lost outbound RAA and lost remote commitment tx", &self.context.channel_id());
5753
5777
} else {
5754
5778
log_debug!(logger, "Reconnected channel {} with only lost remote commitment tx", &self.context.channel_id());
@@ -5762,7 +5786,14 @@ impl<SP: Deref> Channel<SP> where
5762
5786
order: self.context.resend_order.clone(),
5763
5787
})
5764
5788
} else {
5765
-
let commitment_update = self.get_last_commitment_update_for_send(logger).ok();
5789
+
let commitment_update = if self.context.resend_order == RAACommitmentOrder::RevokeAndACKFirst
5790
+
&& self.context.signer_pending_revoke_and_ack {
5791
+
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