@@ -1226,14 +1226,12 @@ impl OutboundPayments {
12261226 )
12271227 }
12281228
1229- #[ rustfmt:: skip]
12301229 pub ( super ) fn check_retry_payments < R : Deref , ES : Deref , NS : Deref , SP , IH , FH , L : Deref > (
1231- & self , router : & R , first_hops : FH , inflight_htlcs : IH , entropy_source : & ES , node_signer : & NS ,
1232- best_block_height : u32 ,
1233- pending_events : & Mutex < VecDeque < ( events:: Event , Option < EventCompletionAction > ) > > , logger : & L ,
1234- send_payment_along_path : SP ,
1235- )
1236- where
1230+ & self , router : & R , first_hops : FH , inflight_htlcs : IH , entropy_source : & ES ,
1231+ node_signer : & NS , best_block_height : u32 ,
1232+ pending_events : & Mutex < VecDeque < ( events:: Event , Option < EventCompletionAction > ) > > ,
1233+ logger : & L , send_payment_along_path : SP ,
1234+ ) where
12371235 R :: Target : Router ,
12381236 ES :: Target : EntropySource ,
12391237 NS :: Target : NodeSigner ,
@@ -1248,48 +1246,86 @@ impl OutboundPayments {
12481246 let mut retry_id_route_params = None ;
12491247 for ( pmt_id, pmt) in outbounds. iter_mut ( ) {
12501248 if pmt. is_auto_retryable_now ( ) {
1251- if let PendingOutboundPayment :: Retryable { pending_amt_msat, total_msat, payment_params : Some ( params) , payment_hash, remaining_max_total_routing_fee_msat, .. } = pmt {
1249+ if let PendingOutboundPayment :: Retryable {
1250+ pending_amt_msat,
1251+ total_msat,
1252+ payment_params : Some ( params) ,
1253+ payment_hash,
1254+ remaining_max_total_routing_fee_msat,
1255+ ..
1256+ } = pmt
1257+ {
12521258 if pending_amt_msat < total_msat {
1253- retry_id_route_params = Some ( ( * payment_hash, * pmt_id, RouteParameters {
1254- final_value_msat : * total_msat - * pending_amt_msat,
1255- payment_params : params. clone ( ) ,
1256- max_total_routing_fee_msat : * remaining_max_total_routing_fee_msat,
1257- } ) ) ;
1258- break
1259+ retry_id_route_params = Some ( (
1260+ * payment_hash,
1261+ * pmt_id,
1262+ RouteParameters {
1263+ final_value_msat : * total_msat - * pending_amt_msat,
1264+ payment_params : params. clone ( ) ,
1265+ max_total_routing_fee_msat :
1266+ * remaining_max_total_routing_fee_msat,
1267+ } ,
1268+ ) ) ;
1269+ break ;
12591270 }
1260- } else { debug_assert ! ( false ) ; }
1271+ } else {
1272+ debug_assert ! ( false ) ;
1273+ }
12611274 }
12621275 }
12631276 core:: mem:: drop ( outbounds) ;
12641277 if let Some ( ( payment_hash, payment_id, route_params) ) = retry_id_route_params {
1265- self . find_route_and_send_payment ( payment_hash, payment_id, route_params, router, first_hops ( ) , & inflight_htlcs, entropy_source, node_signer, best_block_height, logger, pending_events, & send_payment_along_path)
1266- } else { break }
1278+ self . find_route_and_send_payment (
1279+ payment_hash,
1280+ payment_id,
1281+ route_params,
1282+ router,
1283+ first_hops ( ) ,
1284+ & inflight_htlcs,
1285+ entropy_source,
1286+ node_signer,
1287+ best_block_height,
1288+ logger,
1289+ pending_events,
1290+ & send_payment_along_path,
1291+ )
1292+ } else {
1293+ break ;
1294+ }
12671295 }
12681296
12691297 let mut outbounds = self . pending_outbound_payments . lock ( ) . unwrap ( ) ;
12701298 outbounds. retain ( |pmt_id, pmt| {
12711299 let mut retain = true ;
1272- if !pmt. is_auto_retryable_now ( ) && pmt. remaining_parts ( ) == 0 && !pmt. is_awaiting_invoice ( ) {
1300+ if !pmt. is_auto_retryable_now ( )
1301+ && pmt. remaining_parts ( ) == 0
1302+ && !pmt. is_awaiting_invoice ( )
1303+ {
12731304 pmt. mark_abandoned ( PaymentFailureReason :: RetriesExhausted ) ;
12741305 if let PendingOutboundPayment :: Abandoned { payment_hash, reason, .. } = pmt {
1275- pending_events. lock ( ) . unwrap ( ) . push_back ( ( events:: Event :: PaymentFailed {
1276- payment_id : * pmt_id,
1277- payment_hash : Some ( * payment_hash) ,
1278- reason : * reason,
1279- } , None ) ) ;
1306+ pending_events. lock ( ) . unwrap ( ) . push_back ( (
1307+ events:: Event :: PaymentFailed {
1308+ payment_id : * pmt_id,
1309+ payment_hash : Some ( * payment_hash) ,
1310+ reason : * reason,
1311+ } ,
1312+ None ,
1313+ ) ) ;
12801314 retain = false ;
12811315 }
12821316 }
12831317 retain
12841318 } ) ;
12851319 }
12861320
1287- #[ rustfmt:: skip]
12881321 pub ( super ) fn needs_abandon ( & self ) -> bool {
12891322 let outbounds = self . pending_outbound_payments . lock ( ) . unwrap ( ) ;
1290- outbounds. iter ( ) . any ( |( _, pmt) |
1291- !pmt. is_auto_retryable_now ( ) && pmt. remaining_parts ( ) == 0 && !pmt. is_fulfilled ( ) &&
1292- !pmt. is_awaiting_invoice ( ) )
1323+ outbounds. iter ( ) . any ( |( _, pmt) | {
1324+ !pmt. is_auto_retryable_now ( )
1325+ && pmt. remaining_parts ( ) == 0
1326+ && !pmt. is_fulfilled ( )
1327+ && !pmt. is_awaiting_invoice ( )
1328+ } )
12931329 }
12941330
12951331 #[ rustfmt:: skip]
0 commit comments