Skip to content

Commit 46923f2

Browse files
Pass pending events to outbound_payments::abandon_payment
This makes it uniform with the outbound payment methods that generate events and set us up for abandoning payments on behalf of the user.
1 parent 4085b22 commit 46923f2

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

lightning/src/ln/channelmanager.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -2606,9 +2606,7 @@ where
26062606
/// [`Event::PaymentSent`]: events::Event::PaymentSent
26072607
pub fn abandon_payment(&self, payment_id: PaymentId) {
26082608
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self.total_consistency_lock, &self.persistence_notifier);
2609-
if let Some(payment_failed_ev) = self.pending_outbound_payments.abandon_payment(payment_id) {
2610-
self.pending_events.lock().unwrap().push(payment_failed_ev);
2611-
}
2609+
self.pending_outbound_payments.abandon_payment(payment_id, &self.pending_events);
26122610
}
26132611

26142612
/// Send a spontaneous payment, which is a payment that does not require the recipient to have

lightning/src/ln/outbound_payment.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1130,21 +1130,21 @@ impl OutboundPayments {
11301130
if let Some(ev) = pending_retry_ev { pending_events.push(ev); }
11311131
}
11321132

1133-
pub(super) fn abandon_payment(&self, payment_id: PaymentId) -> Option<events::Event> {
1134-
let mut failed_ev = None;
1133+
pub(super) fn abandon_payment(&self, payment_id: PaymentId,
1134+
pending_events: &Mutex<Vec<events::Event>>
1135+
) {
11351136
let mut outbounds = self.pending_outbound_payments.lock().unwrap();
11361137
if let hash_map::Entry::Occupied(mut payment) = outbounds.entry(payment_id) {
11371138
if let Ok(()) = payment.get_mut().mark_abandoned() {
11381139
if payment.get().remaining_parts() == 0 {
1139-
failed_ev = Some(events::Event::PaymentFailed {
1140+
pending_events.lock().unwrap().push(events::Event::PaymentFailed {
11401141
payment_id,
11411142
payment_hash: payment.get().payment_hash().expect("PendingOutboundPayments::RetriesExceeded always has a payment hash set"),
11421143
});
11431144
payment.remove();
11441145
}
11451146
}
11461147
}
1147-
failed_ev
11481148
}
11491149

11501150
#[cfg(test)]

0 commit comments

Comments
 (0)