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");
@@ -5722,7 +5740,7 @@ impl<SP: Deref> Channel<SP> where
5722
5740
} else { None };
5723
5741
5724
5742
if msg.next_local_commitment_number == next_counterparty_commitment_number {
5725
-
if required_revoke.is_some() {
5743
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5726
5744
log_debug!(logger, "Reconnected channel {} with only lost outbound RAA", &self.context.channel_id());
5727
5745
} else {
5728
5746
log_debug!(logger, "Reconnected channel {} with no loss", &self.context.channel_id());
@@ -5735,7 +5753,7 @@ impl<SP: Deref> Channel<SP> where
5735
5753
order: self.context.resend_order.clone(),
5736
5754
})
5737
5755
} else if msg.next_local_commitment_number == next_counterparty_commitment_number - 1 {
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 lost outbound RAA and lost remote commitment tx", &self.context.channel_id());
5740
5758
} else {
5741
5759
log_debug!(logger, "Reconnected channel {} with only lost remote commitment tx", &self.context.channel_id());
@@ -5749,7 +5767,14 @@ impl<SP: Deref> Channel<SP> where
5749
5767
order: self.context.resend_order.clone(),
5750
5768
})
5751
5769
} else {
5752
-
let commitment_update = self.get_last_commitment_update_for_send(logger).ok();
5770
+
let commitment_update = if self.context.resend_order == RAACommitmentOrder::RevokeAndACKFirst
5771
+
&& self.context.signer_pending_revoke_and_ack {
5772
+
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