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 {
536536 }
537537 } else { break }
538538 }
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+ } ) ;
539554 }
540555
541556 /// 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) {
17291729 let mut msg_events = nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) ;
17301730 assert_eq ! ( msg_events. len( ) , 0 ) ;
17311731
1732- nodes[ 0 ] . node . abandon_payment ( PaymentId ( payment_hash. 0 ) ) ;
17331732 let mut events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
17341733 assert_eq ! ( events. len( ) , 1 ) ;
17351734 match events[ 0 ] {
@@ -1764,7 +1763,6 @@ fn do_automatic_retries(test: AutoRetry) {
17641763 let mut msg_events = nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) ;
17651764 assert_eq ! ( msg_events. len( ) , 0 ) ;
17661765
1767- nodes[ 0 ] . node . abandon_payment ( PaymentId ( payment_hash. 0 ) ) ;
17681766 let mut events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
17691767 assert_eq ! ( events. len( ) , 1 ) ;
17701768 match events[ 0 ] {
You can’t perform that action at this time.
0 commit comments