Skip to content

Commit f2bfd67

Browse files
committed
Cleanup calculation of the biggest HTLC value that can be sent next
No functional change.
1 parent 0bc52cc commit f2bfd67

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

lightning/src/ln/channel.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5723,16 +5723,12 @@ where
57235723
// We will first subtract the fee as if we were above-dust. Then, if the resulting
57245724
// value ends up being below dust, we have this fee available again. In that case,
57255725
// match the value to right-below-dust.
5726-
let mut capacity_minus_commitment_fee_msat: i64 = available_capacity_msat as i64 -
5727-
max_reserved_commit_tx_fee_msat as i64;
5728-
if capacity_minus_commitment_fee_msat < (real_dust_limit_timeout_sat as i64) * 1000 {
5729-
let one_htlc_difference_msat = max_reserved_commit_tx_fee_msat - min_reserved_commit_tx_fee_msat;
5730-
debug_assert!(one_htlc_difference_msat != 0);
5731-
capacity_minus_commitment_fee_msat += one_htlc_difference_msat as i64;
5732-
capacity_minus_commitment_fee_msat = cmp::min(real_dust_limit_timeout_sat as i64 * 1000 - 1, capacity_minus_commitment_fee_msat);
5733-
available_capacity_msat = cmp::max(0, cmp::min(capacity_minus_commitment_fee_msat, available_capacity_msat as i64)) as u64;
5726+
let capacity_minus_max_commitment_fee_msat = available_capacity_msat.saturating_sub(max_reserved_commit_tx_fee_msat);
5727+
if capacity_minus_max_commitment_fee_msat < real_dust_limit_timeout_sat * 1000 {
5728+
let capacity_minus_min_commitment_fee_msat = available_capacity_msat.saturating_sub(min_reserved_commit_tx_fee_msat);
5729+
available_capacity_msat = cmp::min(real_dust_limit_timeout_sat * 1000 - 1, capacity_minus_min_commitment_fee_msat);
57345730
} else {
5735-
available_capacity_msat = capacity_minus_commitment_fee_msat as u64;
5731+
available_capacity_msat = capacity_minus_max_commitment_fee_msat;
57365732
}
57375733
} else {
57385734
// If the channel is inbound (i.e. counterparty pays the fee), we need to make sure

0 commit comments

Comments
 (0)