available_to_spend: remove unused 'strict' parameter

This commit is contained in:
ThomasV
2025-05-14 12:07:38 +02:00
parent fed526bbdf
commit 128eb9cc8b
2 changed files with 8 additions and 9 deletions
+7 -8
View File
@@ -1088,10 +1088,6 @@ class Channel(AbstractChannel):
if not self.can_send_update_add_htlc():
raise PaymentFailure('Channel cannot add htlc')
# If proposer is LOCAL we apply stricter checks as that is behaviour we can control.
# This should lead to fewer disagreements (i.e. channels failing).
strict = (htlc_proposer == LOCAL)
# check htlc raw value
if not ignore_min_htlc_value:
if amount_msat <= 0:
@@ -1099,7 +1095,7 @@ class Channel(AbstractChannel):
if amount_msat < chan_config.htlc_minimum_msat:
raise PaymentFailure(f'HTLC value too small: {amount_msat} msat')
if self.too_many_htlcs(htlc_proposer, strict):
if self.too_many_htlcs(htlc_proposer):
raise PaymentFailure('Too many HTLCs already in channel')
if amount_msat > self.remaining_max_inflight(htlc_receiver):
@@ -1108,15 +1104,18 @@ class Channel(AbstractChannel):
f'would exceed max allowed: {chan_config.max_htlc_value_in_flight_msat/1000} sat')
# check proposer can afford htlc
max_can_send_msat = self.available_to_spend(htlc_proposer, strict=strict)
max_can_send_msat = self.available_to_spend(htlc_proposer)
if max_can_send_msat < amount_msat:
raise PaymentFailure(f'Not enough balance. can send: {max_can_send_msat}, tried: {amount_msat}')
def too_many_htlcs(self, htlc_proposer: HTLCOwner, strict:bool) -> bool:
def too_many_htlcs(self, htlc_proposer: HTLCOwner) -> bool:
# check "max_accepted_htlcs"
htlc_receiver = htlc_proposer.inverted()
ctn = self.get_next_ctn(htlc_receiver)
chan_config = self.config[htlc_receiver]
# If proposer is LOCAL we apply stricter checks as that is behaviour we can control.
# This should lead to fewer disagreements (i.e. channels failing).
strict = (htlc_proposer == LOCAL)
# this is the loose check BOLT-02 specifies:
if len(self.hm.htlcs_by_direction(htlc_receiver, direction=RECEIVED, ctn=ctn)) + 1 > chan_config.max_accepted_htlcs:
return True
@@ -1476,7 +1475,7 @@ class Channel(AbstractChannel):
def has_unsettled_htlcs(self) -> bool:
return len(self.hm.htlcs(LOCAL)) + len(self.hm.htlcs(REMOTE)) > 0
def available_to_spend(self, subject: HTLCOwner, *, strict: bool = True) -> int:
def available_to_spend(self, subject: HTLCOwner) -> int:
"""The usable balance of 'subject' in msat, after taking reserve and fees (and anchors) into
consideration. Note that fees (and hence the result) fluctuate even without user interaction.
"""
+1 -1
View File
@@ -2045,7 +2045,7 @@ class LNWallet(LNWorker):
self.logger.info(f'per trampoline fees: {per_trampoline_fees}')
for chan_id, part_amount_msat in trampoline_parts:
chan = self.channels[chan_id]
margin = chan.available_to_spend(LOCAL, strict=True) - part_amount_msat
margin = chan.available_to_spend(LOCAL) - part_amount_msat
delta_fee = min(per_trampoline_fees, margin)
# TODO: distribute trampoline fee over several channels?
part_amount_msat_with_fees = part_amount_msat + delta_fee