Closed gallizoltan closed 4 months ago
Good that we put that assert in ;)
@gallizoltan Do we need to fix this by i.e. by replacing the forward_event_subscription
early return in forward_event
to check for this in line 178 where maybe_adjust_fees
is called? Can you make a test for this?
Partly addressed by https://github.com/lightningd/plugins/pull/198 (only rebalance)
I'm not sure what would be the best solution. Maybe we should write a @plugin.subscribe("invoice_payment")
and a @plugin.subscribe("sendpay_success")
.
Fixed by #525
Description
I've seen a curious line in the lightningd log:
I've investigated the situation and figured out what happened. It caused by the assert at line 122 in feeadjuster/feeadjuster.py:
Steps to reproduce
feeadjust
. It saves my balance inplugin.adj_balances[scid]
at line 198.plugin.adj_balances[scid]
still stores the 20,000 Sats value. Thefeeadjuster
is not aware of the incoming payments.feeadjuster
is subscribed to the forward event, so it reduces my stored balance by 40,000 Sats at line 173. The result will be negative: -20,000 Sats. This will trigger the assert.A possible solution
The easy way: it will not happen again if I turn off the automatic fee updates in
feeadjuster
.