@@ -1481,6 +1481,11 @@ pub(crate) enum MonitorUpdateCompletionAction {
14811481 },
14821482 ///
14831483 AckMonitorEvents { event_ids: Vec<MonitorEventSource> },
1484+ ///
1485+ EmitForwardEvent {
1486+ event: ForwardEventContents,
1487+ post_event_ackable_monitor_event: Option<MonitorEventSource>,
1488+ },
14841489}
14851490
14861491impl_writeable_tlv_based_enum_upgradable!(MonitorUpdateCompletionAction,
@@ -1504,6 +1509,10 @@ impl_writeable_tlv_based_enum_upgradable!(MonitorUpdateCompletionAction,
15041509 },
15051510 (3, AckMonitorEvents) => {
15061511 (1, event_ids, required_vec),
1512+ },
1513+ (5, EmitForwardEvent) => {
1514+ (1, event, required),
1515+ (3, post_event_ackable_monitor_event, option),
15071516 }
15081517);
15091518
@@ -10476,6 +10485,17 @@ This indicates a bug inside LDK. Please report this error at https://github.com/
1047610485 self.chain_monitor.ack_monitor_event(id);
1047710486 }
1047810487 },
10488+ MonitorUpdateCompletionAction::EmitForwardEvent {
10489+ event,
10490+ post_event_ackable_monitor_event,
10491+ } => {
10492+ let post_event_action = post_event_ackable_monitor_event
10493+ .map(|event_id| EventCompletionAction::AckMonitorEvent { event_id });
10494+ self.pending_events
10495+ .lock()
10496+ .unwrap()
10497+ .push_back((event.into(), post_event_action));
10498+ },
1047910499 }
1048010500 }
1048110501
0 commit comments