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 +5753,7 @@ impl<SP: Deref> Channel<SP> where
5735
5753
} else { None };
5736
5754
5737
5755
if msg.next_local_commitment_number == next_counterparty_commitment_number {
5738
-
if required_revoke.is_some() {
5756
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5739
5757
log_debug!(logger, "Reconnected channel {} with only lost outbound RAA", &self.context.channel_id());
5740
5758
} else {
5741
5759
log_debug!(logger, "Reconnected channel {} with no loss", &self.context.channel_id());
@@ -5748,7 +5766,7 @@ impl<SP: Deref> Channel<SP> where
5748
5766
order: self.context.resend_order.clone(),
5749
5767
})
5750
5768
} else if msg.next_local_commitment_number == next_counterparty_commitment_number - 1 {
5751
-
if required_revoke.is_some() {
5769
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5752
5770
log_debug!(logger, "Reconnected channel {} with lost outbound RAA and lost remote commitment tx", &self.context.channel_id());
5753
5771
} else {
5754
5772
log_debug!(logger, "Reconnected channel {} with only lost remote commitment tx", &self.context.channel_id());
@@ -5762,7 +5780,14 @@ impl<SP: Deref> Channel<SP> where
5762
5780
order: self.context.resend_order.clone(),
5763
5781
})
5764
5782
} else {
5765
-
let commitment_update = self.get_last_commitment_update_for_send(logger).ok();
5783
+
let commitment_update = if self.context.resend_order == RAACommitmentOrder::RevokeAndACKFirst
5784
+
&& self.context.signer_pending_revoke_and_ack {
5785
+
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