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");
@@ -5718,7 +5736,7 @@ impl<SP: Deref> Channel<SP> where
5718
5736
} else { None };
5719
5737
5720
5738
if msg.next_local_commitment_number == next_counterparty_commitment_number {
5721
-
if required_revoke.is_some() {
5739
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5722
5740
log_debug!(logger, "Reconnected channel {} with only lost outbound RAA", &self.context.channel_id());
5723
5741
} else {
5724
5742
log_debug!(logger, "Reconnected channel {} with no loss", &self.context.channel_id());
@@ -5731,7 +5749,7 @@ impl<SP: Deref> Channel<SP> where
5731
5749
order: self.context.resend_order.clone(),
5732
5750
})
5733
5751
} else if msg.next_local_commitment_number == next_counterparty_commitment_number - 1 {
5734
-
if required_revoke.is_some() {
5752
+
if required_revoke.is_some() || self.context.signer_pending_revoke_and_ack {
5735
5753
log_debug!(logger, "Reconnected channel {} with lost outbound RAA and lost remote commitment tx", &self.context.channel_id());
5736
5754
} else {
5737
5755
log_debug!(logger, "Reconnected channel {} with only lost remote commitment tx", &self.context.channel_id());
@@ -5745,7 +5763,14 @@ impl<SP: Deref> Channel<SP> where
5745
5763
order: self.context.resend_order.clone(),
5746
5764
})
5747
5765
} else {
5748
-
let commitment_update = self.get_last_commitment_update_for_send(logger).ok();
5766
+
let commitment_update = if self.context.resend_order == RAACommitmentOrder::RevokeAndACKFirst
5767
+
&& self.context.signer_pending_revoke_and_ack {
5768
+
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