@@ -932,8 +932,9 @@ impl OutboundPayments {
932932 custom_tlvs : vec ! [ ] ,
933933 } ;
934934 let route = match self . find_initial_route (
935- payment_id, payment_hash, & recipient_onion, None , & mut route_params, router,
936- & first_hops, & inflight_htlcs, node_signer, best_block_height, logger,
935+ payment_id, payment_hash, & recipient_onion, keysend_preimage, invoice_request. as_ref ( ) ,
936+ & mut route_params, router, & first_hops, & inflight_htlcs, node_signer, best_block_height,
937+ logger,
937938 ) {
938939 Ok ( route) => route,
939940 Err ( e) => {
@@ -1045,7 +1046,7 @@ impl OutboundPayments {
10451046
10461047 if let Err ( ( ) ) = onion_utils:: set_max_path_length (
10471048 & mut route_params, & RecipientOnionFields :: spontaneous_empty ( ) , Some ( keysend_preimage) ,
1048- best_block_height
1049+ Some ( invreq ) , best_block_height
10491050 ) {
10501051 abandon_with_entry ! ( entry, PaymentFailureReason :: RouteNotFound ) ;
10511052 return Err ( Bolt12PaymentError :: SendingFailed ( RetryableSendFailure :: OnionPacketSizeExceeded ) )
@@ -1175,8 +1176,8 @@ impl OutboundPayments {
11751176 }
11761177
11771178 fn find_initial_route < R : Deref , NS : Deref , IH , L : Deref > (
1178- & self , payment_id : PaymentId , payment_hash : PaymentHash ,
1179- recipient_onion : & RecipientOnionFields , keysend_preimage : Option < PaymentPreimage > ,
1179+ & self , payment_id : PaymentId , payment_hash : PaymentHash , recipient_onion : & RecipientOnionFields ,
1180+ keysend_preimage : Option < PaymentPreimage > , invoice_request : Option < & InvoiceRequest > ,
11801181 route_params : & mut RouteParameters , router : & R , first_hops : & Vec < ChannelDetails > ,
11811182 inflight_htlcs : & IH , node_signer : & NS , best_block_height : u32 , logger : & L ,
11821183 ) -> Result < Route , RetryableSendFailure >
@@ -1195,7 +1196,7 @@ impl OutboundPayments {
11951196 }
11961197
11971198 onion_utils:: set_max_path_length (
1198- route_params, recipient_onion, keysend_preimage, best_block_height
1199+ route_params, recipient_onion, keysend_preimage, invoice_request , best_block_height
11991200 )
12001201 . map_err ( |( ) | {
12011202 log_error ! ( logger, "Can't construct an onion packet without exceeding 1300-byte onion \
@@ -1243,7 +1244,7 @@ impl OutboundPayments {
12431244 SP : Fn ( SendAlongPathArgs ) -> Result < ( ) , APIError > ,
12441245 {
12451246 let route = self . find_initial_route (
1246- payment_id, payment_hash, & recipient_onion, keysend_preimage, & mut route_params, router,
1247+ payment_id, payment_hash, & recipient_onion, keysend_preimage, None , & mut route_params, router,
12471248 & first_hops, & inflight_htlcs, node_signer, best_block_height, logger,
12481249 ) ?;
12491250
0 commit comments