@@ -9748,7 +9748,7 @@ where
9748
9748
Ok((payment_hash, payment_secret)) => {
9749
9749
let payment_context = PaymentContext::Bolt12Refund(Bolt12RefundContext {});
9750
9750
let payment_paths = self.create_blinded_payment_paths(
9751
- Some(amount_msats), payment_secret, payment_context
9751
+ Some(amount_msats), payment_secret, payment_context, relative_expiry,
9752
9752
)
9753
9753
.map_err(|_| Bolt12SemanticError::MissingPaths)?;
9754
9754
@@ -10055,14 +10055,20 @@ where
10055
10055
/// Creates multi-hop blinded payment paths for the given `amount_msats` by delegating to
10056
10056
/// [`Router::create_blinded_payment_paths`].
10057
10057
fn create_blinded_payment_paths(
10058
- &self, amount_msats: Option<u64>, payment_secret: PaymentSecret, payment_context: PaymentContext
10058
+ &self, amount_msats: Option<u64>, payment_secret: PaymentSecret, payment_context: PaymentContext,
10059
+ relative_expiry_seconds: u32
10059
10060
) -> Result<Vec<BlindedPaymentPath>, ()> {
10060
10061
let secp_ctx = &self.secp_ctx;
10061
10062
10062
10063
let first_hops = self.list_usable_channels();
10063
10064
let payee_node_id = self.get_our_node_id();
10064
- let max_cltv_expiry = self.best_block.read().unwrap().height + CLTV_FAR_FAR_AWAY
10065
- + LATENCY_GRACE_PERIOD_BLOCKS;
10065
+
10066
+ const SECONDS_PER_BLOCK: u32 = 10 * 60;
10067
+ let relative_expiry_blocks = relative_expiry_seconds / SECONDS_PER_BLOCK;
10068
+ let max_cltv_expiry = core::cmp::max(relative_expiry_blocks, CLTV_FAR_FAR_AWAY)
10069
+ .saturating_add(LATENCY_GRACE_PERIOD_BLOCKS)
10070
+ .saturating_add(self.best_block.read().unwrap().height);
10071
+
10066
10072
let payee_tlvs = ReceiveTlvs {
10067
10073
payment_secret,
10068
10074
payment_constraints: PaymentConstraints {
@@ -11585,7 +11591,7 @@ where
11585
11591
invoice_request: invoice_request.fields(),
11586
11592
});
11587
11593
let payment_paths = match self.create_blinded_payment_paths(
11588
- Some(amount_msats), payment_secret, payment_context
11594
+ Some(amount_msats), payment_secret, payment_context, relative_expiry
11589
11595
) {
11590
11596
Ok(payment_paths) => payment_paths,
11591
11597
Err(()) => {
0 commit comments