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
(XXX: Handle monitor restoration return) Inform ChannelManager when fulfilled HTLCs are finalized
When an HTLC has been failed, we track it up until the point there
exists no broadcastable commitment transaction which has the HTLC
present, at which point Channel returns the HTLCSource back to the
ChannelManager, which fails the HTLC backwards appropriately.
When an HTLC is fulfilled, however, we fulfill on the backwards path
immediately. This is great for claiming upstream HTLCs, but when we
want to track pending payments, we need to ensure we can check with
ChannelMonitor data to rebuild pending payments. In order to do so,
we need an event similar to the HTLC failure event, but for
fulfills instead.
This commit does so, informing the ChannelManager via a new return
element where appropriate of the HTLCSource corresponding to the
failed HTLC.
log_info!($self.logger,"Disabling channel {} due to monitor update TemporaryFailure. On restore will send {} and process {} forwardsand {} fails",
1021
+
log_info!($self.logger,"Disabling channel {} due to monitor update TemporaryFailure. On restore will send {} and process {} forwards, {} fails, and {} fulfill finalizations",
handle_monitor_err!(self, e, channel_state.short_to_id, chan_entry.get_mut(),RAACommitmentOrder::CommitmentFirst,false,false,Vec::new(),Vec::new(), chan_entry.key());
1417
+
handle_monitor_err!(self, e, channel_state.short_to_id, chan_entry.get_mut(),RAACommitmentOrder::CommitmentFirst,false,false,Vec::new(),Vec::new(),Vec::new(),chan_entry.key());
handle_monitor_err!(self, e, channel_state.short_to_id, chan_entry.get_mut(),RAACommitmentOrder::CommitmentFirst,false,false,Vec::new(),Vec::new(), chan_entry.key());
3637
+
handle_monitor_err!(self, e, channel_state.short_to_id, chan_entry.get_mut(),RAACommitmentOrder::CommitmentFirst,false,false,Vec::new(),Vec::new(),Vec::new(),chan_entry.key());
0 commit comments