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