@@ -57,7 +57,7 @@ use crate::types::features::{Bolt12InvoiceFeatures, ChannelFeatures, ChannelType
5757use crate::types::features::Bolt11InvoiceFeatures;
5858#[cfg(trampoline)]
5959use crate::routing::gossip::NodeId;
60- use crate::routing::router::{BlindedTail, FixedRouter, InFlightHtlcs, Path, Payee, PaymentParameters, Route, RouteParameters, Router};
60+ use crate::routing::router::{BlindedTail, FixedRouter, InFlightHtlcs, Path, Payee, PaymentParameters, Route, RouteParameters, RouteParametersConfig, Router};
6161use crate::ln::onion_payment::{check_incoming_htlc_cltv, create_recv_pending_htlc_info, create_fwd_pending_htlc_info, decode_incoming_update_add_htlc_onion, InboundHTLCErr, NextPacketDetails};
6262use crate::ln::msgs;
6363use crate::ln::onion_utils;
@@ -2105,6 +2105,7 @@ where
21052105/// # use lightning::events::{Event, EventsProvider, PaymentPurpose};
21062106/// # use lightning::ln::channelmanager::AChannelManager;
21072107/// # use lightning::offers::parse::Bolt12SemanticError;
2108+ /// # use lightning::routing::router::RouteParametersConfig;
21082109/// #
21092110/// # fn example<T: AChannelManager>(channel_manager: T) -> Result<(), Bolt12SemanticError> {
21102111/// # let channel_manager = channel_manager.get_cm();
@@ -2152,15 +2153,16 @@ where
21522153/// # use lightning::events::{Event, EventsProvider};
21532154/// # use lightning::ln::channelmanager::{AChannelManager, PaymentId, RecentPaymentDetails, Retry};
21542155/// # use lightning::offers::offer::Offer;
2156+ /// # use lightning::routing::router::RouteParametersConfig;
21552157/// #
21562158/// # fn example<T: AChannelManager>(
21572159/// # channel_manager: T, offer: &Offer, quantity: Option<u64>, amount_msats: Option<u64>,
2158- /// # payer_note: Option<String>, retry: Retry, max_total_routing_fee_msat: Option<u64>
2160+ /// # payer_note: Option<String>, retry: Retry, route_params_config: RouteParametersConfig
21592161/// # ) {
21602162/// # let channel_manager = channel_manager.get_cm();
21612163/// let payment_id = PaymentId([42; 32]);
21622164/// match channel_manager.pay_for_offer(
2163- /// offer, quantity, amount_msats, payer_note, payment_id, retry, max_total_routing_fee_msat
2165+ /// offer, quantity, amount_msats, payer_note, payment_id, retry, route_params_config
21642166/// ) {
21652167/// Ok(()) => println!("Requesting invoice for offer"),
21662168/// Err(e) => println!("Unable to request invoice for offer: {:?}", e),
@@ -2208,16 +2210,17 @@ where
22082210/// # use lightning::events::{Event, EventsProvider};
22092211/// # use lightning::ln::channelmanager::{AChannelManager, PaymentId, RecentPaymentDetails, Retry};
22102212/// # use lightning::offers::parse::Bolt12SemanticError;
2213+ /// # use lightning::routing::router::RouteParametersConfig;
22112214/// #
22122215/// # fn example<T: AChannelManager>(
22132216/// # channel_manager: T, amount_msats: u64, absolute_expiry: Duration, retry: Retry,
2214- /// # max_total_routing_fee_msat: Option<u64>
2217+ /// # route_params_config: RouteParametersConfig
22152218/// # ) -> Result<(), Bolt12SemanticError> {
22162219/// # let channel_manager = channel_manager.get_cm();
22172220/// let payment_id = PaymentId([42; 32]);
22182221/// let refund = channel_manager
22192222/// .create_refund_builder(
2220- /// amount_msats, absolute_expiry, payment_id, retry, max_total_routing_fee_msat
2223+ /// amount_msats, absolute_expiry, payment_id, retry, route_params_config
22212224/// )?
22222225/// # ;
22232226/// # // Needed for compiling for c_bindings
@@ -10161,7 +10164,7 @@ macro_rules! create_refund_builder { ($self: ident, $builder: ty) => {
1016110164 /// [Avoiding Duplicate Payments]: #avoiding-duplicate-payments
1016210165 pub fn create_refund_builder(
1016310166 &$self, amount_msats: u64, absolute_expiry: Duration, payment_id: PaymentId,
10164- retry_strategy: Retry, max_total_routing_fee_msat: Option<u64>
10167+ retry_strategy: Retry, route_params_config: RouteParametersConfig
1016510168 ) -> Result<$builder, Bolt12SemanticError> {
1016610169 let node_id = $self.get_our_node_id();
1016710170 let expanded_key = &$self.inbound_payment_key;
@@ -10186,7 +10189,7 @@ macro_rules! create_refund_builder { ($self: ident, $builder: ty) => {
1018610189 let expiration = StaleExpiration::AbsoluteTimeout(absolute_expiry);
1018710190 $self.pending_outbound_payments
1018810191 .add_new_awaiting_invoice(
10189- payment_id, expiration, retry_strategy, max_total_routing_fee_msat , None,
10192+ payment_id, expiration, retry_strategy, route_params_config , None,
1019010193 )
1019110194 .map_err(|_| Bolt12SemanticError::DuplicatePaymentId)?;
1019210195
@@ -10362,7 +10365,7 @@ where
1036210365 pub fn pay_for_offer(
1036310366 &self, offer: &Offer, quantity: Option<u64>, amount_msats: Option<u64>,
1036410367 payer_note: Option<String>, payment_id: PaymentId, retry_strategy: Retry,
10365- max_total_routing_fee_msat: Option<u64>
10368+ route_params_config: RouteParametersConfig
1036610369 ) -> Result<(), Bolt12SemanticError> {
1036710370 self.pay_for_offer_intern(offer, quantity, amount_msats, payer_note, payment_id, None, |invoice_request, nonce| {
1036810371 let expiration = StaleExpiration::TimerTicks(1);
@@ -10373,7 +10376,7 @@ where
1037310376 };
1037410377 self.pending_outbound_payments
1037510378 .add_new_awaiting_invoice(
10376- payment_id, expiration, retry_strategy, max_total_routing_fee_msat ,
10379+ payment_id, expiration, retry_strategy, route_params_config ,
1037710380 Some(retryable_invoice_request)
1037810381 )
1037910382 .map_err(|_| Bolt12SemanticError::DuplicatePaymentId)
@@ -10606,14 +10609,14 @@ where
1060610609 #[cfg(feature = "dnssec")]
1060710610 pub fn pay_for_offer_from_human_readable_name(
1060810611 &self, name: HumanReadableName, amount_msats: u64, payment_id: PaymentId,
10609- retry_strategy: Retry, max_total_routing_fee_msat: Option<u64> ,
10612+ retry_strategy: Retry, route_params_config: RouteParametersConfig ,
1061010613 dns_resolvers: Vec<Destination>,
1061110614 ) -> Result<(), ()> {
1061210615 let (onion_message, context) =
1061310616 self.hrn_resolver.resolve_name(payment_id, name, &*self.entropy_source)?;
1061410617 let reply_paths = self.create_blinded_paths(MessageContext::DNSResolver(context))?;
1061510618 let expiration = StaleExpiration::TimerTicks(1);
10616- self.pending_outbound_payments.add_new_awaiting_offer(payment_id, expiration, retry_strategy, max_total_routing_fee_msat , amount_msats)?;
10619+ self.pending_outbound_payments.add_new_awaiting_offer(payment_id, expiration, retry_strategy, route_params_config , amount_msats)?;
1061710620 let message_params = dns_resolvers
1061810621 .iter()
1061910622 .flat_map(|destination| reply_paths.iter().map(move |path| (path, destination)))
0 commit comments