Skip to content

Commit 8a7a479

Browse files
f don't use separate for loop for htlc min
1 parent e51038a commit 8a7a479

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

lightning/src/blinded_path/payment.rs

+3-7
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,8 @@ pub(super) fn compute_payinfo(
159159
let mut curr_base_fee: u64 = 0;
160160
let mut curr_prop_mil: u64 = 0;
161161
let mut cltv_expiry_delta: u16 = 0;
162-
for (_, tlvs) in intermediate_nodes.iter().rev() {
162+
let mut htlc_minimum_msat = payee_tlvs.payment_constraints.htlc_minimum_msat as u128;
163+
for (idx, (_, tlvs)) in intermediate_nodes.iter().enumerate().rev() {
163164
// In the future, we'll want to take the intersection of all supported features for the
164165
// `BlindedPayInfo`, but there are no features in that context right now.
165166
if tlvs.features.requires_unknown_bits_from(&BlindedHopFeatures::empty()) { return Err(()) }
@@ -183,11 +184,8 @@ pub(super) fn compute_payinfo(
183184
.ok_or(())?;
184185

185186
cltv_expiry_delta = cltv_expiry_delta.checked_add(tlvs.payment_relay.cltv_expiry_delta).ok_or(())?;
186-
}
187187

188-
let mut htlc_minimum_msat = 0;
189-
for (idx, node) in intermediate_nodes.iter().map(|(_, tlvs)| tlvs).enumerate() {
190-
let mut htlc_min_candidate = node.payment_constraints.htlc_minimum_msat as u128;
188+
let mut htlc_min_candidate = tlvs.payment_constraints.htlc_minimum_msat as u128;
191189
// Get an iterator over `(curr_hop_tlvs..last_intermediate_hop_tlvs]`.
192190
let next_nodes = intermediate_nodes.iter()
193191
.enumerate()
@@ -208,8 +206,6 @@ pub(super) fn compute_payinfo(
208206
}
209207
htlc_minimum_msat = core::cmp::max(htlc_min_candidate, htlc_minimum_msat);
210208
}
211-
htlc_minimum_msat =
212-
core::cmp::max(payee_tlvs.payment_constraints.htlc_minimum_msat as u128, htlc_minimum_msat);
213209

214210
Ok(BlindedPayInfo {
215211
fee_base_msat: u32::try_from(curr_base_fee).map_err(|_| ())?,

0 commit comments

Comments
 (0)