@@ -53,7 +53,7 @@ use crate::ln::channel_state::ChannelDetails;
53
53
use crate::ln::features::{Bolt12InvoiceFeatures, ChannelFeatures, ChannelTypeFeatures, InitFeatures, NodeFeatures};
54
54
#[cfg(any(feature = "_test_utils", test))]
55
55
use crate::ln::features::Bolt11InvoiceFeatures;
56
- use crate::routing::router::{BlindedTail, InFlightHtlcs, Path, Payee, PaymentParameters, Route, RouteParameters, Router};
56
+ use crate::routing::router::{BlindedTail, InFlightHtlcs, Path, Payee, PaymentParameters, Route, RouteParameters, RouteParametersConfig, Router};
57
57
use 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};
58
58
use crate::ln::msgs;
59
59
use crate::ln::onion_utils;
@@ -1846,6 +1846,7 @@ where
1846
1846
/// # use lightning::events::{Event, EventsProvider, PaymentPurpose};
1847
1847
/// # use lightning::ln::channelmanager::AChannelManager;
1848
1848
/// # use lightning::offers::parse::Bolt12SemanticError;
1849
+ /// # use lightning::routing::router::RouteParametersConfig;
1849
1850
/// #
1850
1851
/// # fn example<T: AChannelManager>(channel_manager: T) -> Result<(), Bolt12SemanticError> {
1851
1852
/// # let channel_manager = channel_manager.get_cm();
@@ -1893,15 +1894,16 @@ where
1893
1894
/// # use lightning::events::{Event, EventsProvider};
1894
1895
/// # use lightning::ln::channelmanager::{AChannelManager, PaymentId, RecentPaymentDetails, Retry};
1895
1896
/// # use lightning::offers::offer::Offer;
1897
+ /// # use lightning::routing::router::RouteParametersConfig;
1896
1898
/// #
1897
1899
/// # fn example<T: AChannelManager>(
1898
1900
/// # channel_manager: T, offer: &Offer, quantity: Option<u64>, amount_msats: Option<u64>,
1899
- /// # payer_note: Option<String>, retry: Retry, max_total_routing_fee_msat : Option<u64 >
1901
+ /// # payer_note: Option<String>, retry: Retry, route_params_config : Option<RouteParametersConfig >
1900
1902
/// # ) {
1901
1903
/// # let channel_manager = channel_manager.get_cm();
1902
1904
/// let payment_id = PaymentId([42; 32]);
1903
1905
/// match channel_manager.pay_for_offer(
1904
- /// offer, quantity, amount_msats, payer_note, payment_id, retry, max_total_routing_fee_msat
1906
+ /// offer, quantity, amount_msats, payer_note, payment_id, retry, route_params_config
1905
1907
/// ) {
1906
1908
/// Ok(()) => println!("Requesting invoice for offer"),
1907
1909
/// Err(e) => println!("Unable to request invoice for offer: {:?}", e),
@@ -9208,10 +9210,15 @@ macro_rules! create_refund_builder { ($self: ident, $builder: ty) => {
9208
9210
9209
9211
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop($self);
9210
9212
9213
+ let route_params_config = max_total_routing_fee_msat.map(
9214
+ |fee_msat| RouteParametersConfig::new()
9215
+ .with_max_total_routing_fee_msat(fee_msat)
9216
+ );
9217
+
9211
9218
let expiration = StaleExpiration::AbsoluteTimeout(absolute_expiry);
9212
9219
$self.pending_outbound_payments
9213
9220
.add_new_awaiting_invoice(
9214
- payment_id, expiration, retry_strategy, max_total_routing_fee_msat , None,
9221
+ payment_id, expiration, retry_strategy, route_params_config , None,
9215
9222
)
9216
9223
.map_err(|_| Bolt12SemanticError::DuplicatePaymentId)?;
9217
9224
@@ -9304,7 +9311,7 @@ where
9304
9311
pub fn pay_for_offer(
9305
9312
&self, offer: &Offer, quantity: Option<u64>, amount_msats: Option<u64>,
9306
9313
payer_note: Option<String>, payment_id: PaymentId, retry_strategy: Retry,
9307
- max_total_routing_fee_msat : Option<u64 >
9314
+ route_params_config : Option<RouteParametersConfig >
9308
9315
) -> Result<(), Bolt12SemanticError> {
9309
9316
let expanded_key = &self.inbound_payment_key;
9310
9317
let entropy = &*self.entropy_source;
@@ -9346,7 +9353,7 @@ where
9346
9353
};
9347
9354
self.pending_outbound_payments
9348
9355
.add_new_awaiting_invoice(
9349
- payment_id, expiration, retry_strategy, max_total_routing_fee_msat ,
9356
+ payment_id, expiration, retry_strategy, route_params_config ,
9350
9357
Some(retryable_invoice_request)
9351
9358
)
9352
9359
.map_err(|_| Bolt12SemanticError::DuplicatePaymentId)?;
0 commit comments