From 129917c4638ccc361d54d0e8f16e0ac9d2d1ec06 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Mon, 15 Jan 2024 19:25:54 +0000 Subject: [PATCH] lnworker: fix current_feerate_per_kw for regtest follow-up 45b248fdefd880161e048efb64e68b6732b715d6 ``` 121.72 | I | P/lnpeer.Peer.[LNWallet, 034cd7a09f-e1e44142] | FEES HAVE FALLEN 121.72 | I | P/lnpeer.Peer.[LNWallet, 034cd7a09f-e1e44142] | (chan: 502x1x1) current pending feerate 45000. new feerate 250 121.72 | E | W/lnwatcher.LNWalletWatcher.[default_wallet-LNW] | Exception in update_channel_state: Exception('Cannot update_fee: feerate lower than min relay fee. 250 sat/kw. us: True') Traceback (most recent call last): File "/home/user/wspace/electrum/electrum/util.py", line 1148, in wrapper return await func(*args, **kwargs) File "/home/user/wspace/electrum/electrum/lnwatcher.py", line 434, in update_channel_state await self.lnworker.handle_onchain_state(chan) File "/home/user/wspace/electrum/electrum/lnworker.py", line 1216, in handle_onchain_state peer.maybe_update_fee(chan) File "/home/user/wspace/electrum/electrum/lnpeer.py", line 2221, in maybe_update_fee chan.update_fee(feerate_per_kw, True) File "/home/user/wspace/electrum/electrum/lnchannel.py", line 1490, in update_fee raise Exception(f"Cannot update_fee: feerate lower than min relay fee. {feerate} sat/kw. us: {from_us}") Exception: Cannot update_fee: feerate lower than min relay fee. 250 sat/kw. us: True ``` --- electrum/lnworker.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/electrum/lnworker.py b/electrum/lnworker.py index 28fa8fe37..5cb0b15d3 100644 --- a/electrum/lnworker.py +++ b/electrum/lnworker.py @@ -2912,10 +2912,11 @@ class LNWallet(LNWorker): from .simple_config import FEE_LN_ETA_TARGET, FEERATE_FALLBACK_STATIC_FEE from .simple_config import FEERATE_PER_KW_MIN_RELAY_LIGHTNING if constants.net is constants.BitcoinRegtest: - return self.network.config.FEE_EST_STATIC_FEERATE // 4 - feerate_per_kvbyte = self.network.config.eta_target_to_fee(FEE_LN_ETA_TARGET) - if feerate_per_kvbyte is None: - feerate_per_kvbyte = FEERATE_FALLBACK_STATIC_FEE + feerate_per_kvbyte = self.network.config.FEE_EST_STATIC_FEERATE + else: + feerate_per_kvbyte = self.network.config.eta_target_to_fee(FEE_LN_ETA_TARGET) + if feerate_per_kvbyte is None: + feerate_per_kvbyte = FEERATE_FALLBACK_STATIC_FEE return max(FEERATE_PER_KW_MIN_RELAY_LIGHTNING, feerate_per_kvbyte // 4) def create_channel_backup(self, channel_id: bytes):