Skip to content

Commit e75fbd8

Browse files
committed
f clean up flow
1 parent 7100cb8 commit e75fbd8

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

lightning/src/ln/channelmanager.rs

+20-21
Original file line numberDiff line numberDiff line change
@@ -7672,30 +7672,29 @@ where
76727672
pending.len()
76737673
} else { 0 };
76747674

7675-
let channel =
7676-
if let Some(ChannelPhase::Funded(chan)) = peer_state.channel_by_id.get_mut(channel_id) {
7677-
chan
7678-
} else {
7679-
if remaining_in_flight != 0 {
7680-
return;
7681-
}
7682-
7683-
let update_actions = peer_state.monitor_update_blocked_actions
7684-
.remove(channel_id).unwrap_or(Vec::new());
7685-
mem::drop(peer_state_lock);
7686-
mem::drop(per_peer_state);
7687-
self.handle_monitor_update_completion_actions(update_actions);
7688-
return;
7689-
};
7675+
let logger = WithContext::from(&self.logger, Some(counterparty_node_id), Some(*channel_id), None);
7676+
log_trace!(logger, "ChannelMonitor updated to {}. {} pending in-flight updates.",
7677+
highest_applied_update_id, remaining_in_flight);
76907678

7691-
let logger = WithChannelContext::from(&self.logger, &channel.context, None);
7692-
log_trace!(logger, "ChannelMonitor updated to {}. Current highest is {}. {} pending in-flight updates.",
7693-
highest_applied_update_id, channel.context.get_latest_monitor_update_id(),
7694-
remaining_in_flight);
7695-
if remaining_in_flight != 0 || !channel.is_awaiting_monitor_update() {
7679+
if remaining_in_flight != 0 {
76967680
return;
76977681
}
7698-
handle_monitor_update_completion!(self, peer_state_lock, peer_state, per_peer_state, channel);
7682+
7683+
if let Some(ChannelPhase::Funded(chan)) = peer_state.channel_by_id.get_mut(channel_id) {
7684+
if chan.is_awaiting_monitor_update() {
7685+
log_trace!(logger, "Channel is open and awaiting update, resuming it");
7686+
handle_monitor_update_completion!(self, peer_state_lock, peer_state, per_peer_state, chan);
7687+
} else {
7688+
log_trace!(logger, "Channel is open but not awaiting update");
7689+
}
7690+
} else {
7691+
let update_actions = peer_state.monitor_update_blocked_actions
7692+
.remove(channel_id).unwrap_or(Vec::new());
7693+
log_trace!(logger, "Channel is closed, applying {} post-update actions", update_actions.len());
7694+
mem::drop(peer_state_lock);
7695+
mem::drop(per_peer_state);
7696+
self.handle_monitor_update_completion_actions(update_actions);
7697+
}
76997698
}
77007699

77017700
/// Accepts a request to open a channel after a [`Event::OpenChannelRequest`].

0 commit comments

Comments
 (0)