Fix inbound fee oscillating at max cost boundary (issue #434) (#456)

This commit is contained in:
kp 2026-07-13 06:21:55 -07:00 committed by GitHub
parent 69ec726a5e
commit f3cbb906d0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

4
af.py
View file

@ -217,14 +217,14 @@ def main(channels):
# Compute new outbound rates
channels_df['new_rate'] = channels_df['local_fee_rate'] + channels_df['adjustment']
channels_df['new_rate'] = (channels_df['new_rate'] / increment).round(0) * increment
channels_df['new_rate'] = channels_df['new_rate'].clip(min_rate, max_rate)
channels_df['new_rate'] = (channels_df['new_rate'] / increment).round(0) * increment
channels_df['adjustment'] = channels_df['new_rate'] - channels_df['local_fee_rate']
# Compute new inbound rates
channels_df['new_inbound_rate'] = channels_df['local_inbound_fee_rate'] + channels_df['inbound_adjustment']
channels_df['new_inbound_rate'] = (channels_df['new_inbound_rate'] / increment).round(0) * increment
channels_df['new_inbound_rate'] = channels_df['new_inbound_rate'].clip(-((channels_df['ar_max_cost']/100)*channels_df['local_fee_rate']), 0)
channels_df['new_inbound_rate'] = (channels_df['new_inbound_rate'] / increment).round(0) * increment
channels_df['inbound_adjustment'] = channels_df['new_inbound_rate'] - channels_df['local_inbound_fee_rate']
# Return results