1
0

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

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.
"""

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