Skip to content

Commit 6dcfd17

Browse files
committed
Cleanup calculation of the biggest HTLC value that can be sent next
No functional change.
1 parent d4e0801 commit 6dcfd17

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
@@ -5119,16 +5119,12 @@ where
51195119
// We will first subtract the fee as if we were above-dust. Then, if the resulting
51205120
// value ends up being below dust, we have this fee available again. In that case,
51215121
// match the value to right-below-dust.
5122-
let mut capacity_minus_commitment_fee_msat: i64 = available_capacity_msat as i64 -
5123-
max_reserved_commit_tx_fee_msat as i64;
5124-
if capacity_minus_commitment_fee_msat < (real_dust_limit_timeout_sat as i64) * 1000 {
5125-
let one_htlc_difference_msat = max_reserved_commit_tx_fee_msat - min_reserved_commit_tx_fee_msat;
5126-
debug_assert!(one_htlc_difference_msat != 0);
5127-
capacity_minus_commitment_fee_msat += one_htlc_difference_msat as i64;
5128-
capacity_minus_commitment_fee_msat = cmp::min(real_dust_limit_timeout_sat as i64 * 1000 - 1, capacity_minus_commitment_fee_msat);
5129-
available_capacity_msat = cmp::max(0, cmp::min(capacity_minus_commitment_fee_msat, available_capacity_msat as i64)) as u64;
5122+
let capacity_minus_max_commitment_fee_msat = available_capacity_msat.saturating_sub(max_reserved_commit_tx_fee_msat);
5123+
if capacity_minus_max_commitment_fee_msat < real_dust_limit_timeout_sat * 1000 {
5124+
let capacity_minus_min_commitment_fee_msat = available_capacity_msat.saturating_sub(min_reserved_commit_tx_fee_msat);
5125+
available_capacity_msat = cmp::min(real_dust_limit_timeout_sat * 1000 - 1, capacity_minus_min_commitment_fee_msat);
51305126
} else {
5131-
available_capacity_msat = capacity_minus_commitment_fee_msat as u64;
5127+
available_capacity_msat = capacity_minus_max_commitment_fee_msat;
51325128
}
51335129
} else {
51345130
// If the channel is inbound (i.e. counterparty pays the fee), we need to make sure

0 commit comments

Comments
 (0)