@@ -931,8 +931,9 @@ impl OutboundPayments {
931931 custom_tlvs : vec ! [ ] ,
932932 } ;
933933 let route = match self . find_initial_route (
934- payment_id, payment_hash, & recipient_onion, None , & mut route_params, router,
935- & first_hops, & inflight_htlcs, node_signer, best_block_height, logger,
934+ payment_id, payment_hash, & recipient_onion, keysend_preimage, invoice_request. as_ref ( ) ,
935+ & mut route_params, router, & first_hops, & inflight_htlcs, node_signer, best_block_height,
936+ logger,
936937 ) {
937938 Ok ( route) => route,
938939 Err ( e) => {
@@ -1044,7 +1045,7 @@ impl OutboundPayments {
10441045
10451046 if let Err ( ( ) ) = onion_utils:: set_max_path_length (
10461047 & mut route_params, & RecipientOnionFields :: spontaneous_empty ( ) , Some ( keysend_preimage) ,
1047- best_block_height
1048+ Some ( invreq ) , best_block_height
10481049 ) {
10491050 abandon_with_entry ! ( entry, PaymentFailureReason :: RouteNotFound ) ;
10501051 return Err ( Bolt12PaymentError :: SendingFailed ( RetryableSendFailure :: OnionPacketSizeExceeded ) )
@@ -1174,8 +1175,8 @@ impl OutboundPayments {
11741175 }
11751176
11761177 fn find_initial_route < R : Deref , NS : Deref , IH , L : Deref > (
1177- & self , payment_id : PaymentId , payment_hash : PaymentHash ,
1178- recipient_onion : & RecipientOnionFields , keysend_preimage : Option < PaymentPreimage > ,
1178+ & self , payment_id : PaymentId , payment_hash : PaymentHash , recipient_onion : & RecipientOnionFields ,
1179+ keysend_preimage : Option < PaymentPreimage > , invoice_request : Option < & InvoiceRequest > ,
11791180 route_params : & mut RouteParameters , router : & R , first_hops : & Vec < ChannelDetails > ,
11801181 inflight_htlcs : & IH , node_signer : & NS , best_block_height : u32 , logger : & L ,
11811182 ) -> Result < Route , RetryableSendFailure >
@@ -1194,7 +1195,7 @@ impl OutboundPayments {
11941195 }
11951196
11961197 onion_utils:: set_max_path_length (
1197- route_params, recipient_onion, keysend_preimage, best_block_height
1198+ route_params, recipient_onion, keysend_preimage, invoice_request , best_block_height
11981199 ) . map_err ( |( ) | RetryableSendFailure :: OnionPacketSizeExceeded ) ?;
11991200
12001201 let mut route = router. find_route_with_id (
@@ -1237,7 +1238,7 @@ impl OutboundPayments {
12371238 SP : Fn ( SendAlongPathArgs ) -> Result < ( ) , APIError > ,
12381239 {
12391240 let route = self . find_initial_route (
1240- payment_id, payment_hash, & recipient_onion, keysend_preimage, & mut route_params, router,
1241+ payment_id, payment_hash, & recipient_onion, keysend_preimage, None , & mut route_params, router,
12411242 & first_hops, & inflight_htlcs, node_signer, best_block_height, logger,
12421243 ) ?;
12431244
0 commit comments