Merge pull request #2828 from TheBlueMatt/2024-01-crypto-module
[rust-lightning] / lightning / src / routing / router.rs
index 0b19369a4aa74bf95ed1cc4e3f038c6b381f486d..9a5c2dfbf215d5a21a3cab0fe2d2689a8453c496 100644 (file)
@@ -114,19 +114,14 @@ impl<G: Deref<Target = NetworkGraph<L>> + Clone, L: Deref, S: Deref, SP: Sized,
                                        None => return None,
                                };
                                let payment_relay: PaymentRelay = match details.counterparty.forwarding_info {
-                                       Some(forwarding_info) => forwarding_info.into(),
+                                       Some(forwarding_info) => match forwarding_info.try_into() {
+                                               Ok(payment_relay) => payment_relay,
+                                               Err(()) => return None,
+                                       },
                                        None => return None,
                                };
 
-                               // Avoid exposing esoteric CLTV expiry deltas
-                               let cltv_expiry_delta = match payment_relay.cltv_expiry_delta {
-                                       0..=40 => 40u32,
-                                       41..=80 => 80u32,
-                                       81..=144 => 144u32,
-                                       145..=216 => 216u32,
-                                       _ => return None,
-                               };
-
+                               let cltv_expiry_delta = payment_relay.cltv_expiry_delta as u32;
                                let payment_constraints = PaymentConstraints {
                                        max_cltv_expiry: tlvs.payment_constraints.max_cltv_expiry + cltv_expiry_delta,
                                        htlc_minimum_msat: details.inbound_htlc_minimum_msat.unwrap_or(0),
@@ -2706,7 +2701,7 @@ where L::Target: Logger {
                                                }
                                        }
 
-                                       // Means we succesfully traversed from the payer to the payee, now
+                                       // Means we successfully traversed from the payer to the payee, now
                                        // save this path for the payment route. Also, update the liquidity
                                        // remaining on the used hops, so that we take them into account
                                        // while looking for more paths.
@@ -7803,7 +7798,7 @@ mod tests {
        fn do_min_htlc_overpay_violates_max_htlc(blinded_payee: bool) {
                // Test that if overpaying to meet a later hop's min_htlc and causes us to violate an earlier
                // hop's max_htlc, we don't consider that candidate hop valid. Previously we would add this hop
-               // to `targets` and build an invalid path with it, and subsquently hit a debug panic asserting
+               // to `targets` and build an invalid path with it, and subsequently hit a debug panic asserting
                // that the used liquidity for a hop was less than its available liquidity limit.
                let secp_ctx = Secp256k1::new();
                let logger = Arc::new(ln_test_utils::TestLogger::new());
@@ -8452,7 +8447,7 @@ pub(crate) mod bench_utils {
                                                        }
                                                        break;
                                                }
-                                               // If we couldn't find a path with a higer amount, reduce and try again.
+                                               // If we couldn't find a path with a higher amount, reduce and try again.
                                                score_amt /= 100;
                                        }