File tree Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -536,6 +536,21 @@ impl OutboundPayments {
536
536
}
537
537
} else { break }
538
538
}
539
+
540
+ let mut outbounds = self . pending_outbound_payments . lock ( ) . unwrap ( ) ;
541
+ outbounds. retain ( |pmt_id, pmt| {
542
+ let mut retain = true ;
543
+ if !pmt. is_auto_retryable_now ( ) && pmt. remaining_parts ( ) == 0 {
544
+ if pmt. mark_abandoned ( ) . is_ok ( ) {
545
+ pending_events. lock ( ) . unwrap ( ) . push ( events:: Event :: PaymentFailed {
546
+ payment_id : * pmt_id,
547
+ payment_hash : pmt. payment_hash ( ) . expect ( "PendingOutboundPayments::Retryable always has a payment hash set" ) ,
548
+ } ) ;
549
+ retain = false ;
550
+ }
551
+ }
552
+ retain
553
+ } ) ;
539
554
}
540
555
541
556
/// Will return `Ok(())` iff at least one HTLC is sent for the payment.
Original file line number Diff line number Diff line change @@ -1729,7 +1729,6 @@ fn do_automatic_retries(test: AutoRetry) {
1729
1729
let mut msg_events = nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) ;
1730
1730
assert_eq ! ( msg_events. len( ) , 0 ) ;
1731
1731
1732
- nodes[ 0 ] . node . abandon_payment ( PaymentId ( payment_hash. 0 ) ) ;
1733
1732
let mut events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
1734
1733
assert_eq ! ( events. len( ) , 1 ) ;
1735
1734
match events[ 0 ] {
@@ -1764,7 +1763,6 @@ fn do_automatic_retries(test: AutoRetry) {
1764
1763
let mut msg_events = nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) ;
1765
1764
assert_eq ! ( msg_events. len( ) , 0 ) ;
1766
1765
1767
- nodes[ 0 ] . node . abandon_payment ( PaymentId ( payment_hash. 0 ) ) ;
1768
1766
let mut events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
1769
1767
assert_eq ! ( events. len( ) , 1 ) ;
1770
1768
match events[ 0 ] {
You can’t perform that action at this time.
0 commit comments