From 92bdf70c7358c47164e62ad9c4715056d6fe148a Mon Sep 17 00:00:00 2001 From: SomberNight Date: Fri, 27 Jun 2025 11:24:42 +0000 Subject: [PATCH] fee_policy: separate fallback static fee vs regtest hardcoded fee --- electrum/fee_policy.py | 3 ++- electrum/lnworker.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/electrum/fee_policy.py b/electrum/fee_policy.py index f09f458ca..6c5e53962 100644 --- a/electrum/fee_policy.py +++ b/electrum/fee_policy.py @@ -23,6 +23,7 @@ FEERATE_STATIC_VALUES = [1000, 2000, 5000, 10000, 20000, 30000, FEERATE_MAX_DYNAMIC = 1500000 FEERATE_WARNING_HIGH_FEE = 600000 FEERATE_FALLBACK_STATIC_FEE = 150000 +FEERATE_REGTEST_STATIC_FEE = FEERATE_FALLBACK_STATIC_FEE # hardcoded fee used on regtest FEERATE_DEFAULT_RELAY = 1000 FEERATE_MAX_RELAY = 50000 @@ -218,7 +219,7 @@ class FeePolicy(Logger): Note: might return None. """ if self.use_dynamic_estimates and constants.net is constants.BitcoinRegtest: - return FEERATE_FALLBACK_STATIC_FEE + return FEERATE_REGTEST_STATIC_FEE if self.method == FeeMethod.FEERATE: fee_rate = self.value diff --git a/electrum/lnworker.py b/electrum/lnworker.py index 1333a4914..e732cd29c 100644 --- a/electrum/lnworker.py +++ b/electrum/lnworker.py @@ -40,7 +40,7 @@ from .util import ( ) from .fee_policy import ( FeePolicy, FEERATE_FALLBACK_STATIC_FEE, FEE_LN_ETA_TARGET, FEE_LN_LOW_ETA_TARGET, - FEERATE_PER_KW_MIN_RELAY_LIGHTNING, FEE_LN_MINIMUM_ETA_TARGET + FEERATE_PER_KW_MIN_RELAY_LIGHTNING, FEE_LN_MINIMUM_ETA_TARGET, FEERATE_REGTEST_STATIC_FEE ) from .invoices import Invoice, PR_UNPAID, PR_PAID, PR_INFLIGHT, PR_FAILED, LN_EXPIRY_NEVER, BaseInvoice from .bitcoin import COIN, opcodes, make_op_return, address_to_scripthash, DummyAddress @@ -3080,9 +3080,10 @@ class LNWallet(LNWorker): # grows quickly feerate_per_kvbyte = max(feerate_per_kvbyte, 5000) else: - if constants.net is not constants.BitcoinRegtest: + if constants.net is constants.BitcoinRegtest: + feerate_per_kvbyte = FEERATE_REGTEST_STATIC_FEE + else: return None - feerate_per_kvbyte = FEERATE_FALLBACK_STATIC_FEE return max(FEERATE_PER_KW_MIN_RELAY_LIGHTNING, feerate_per_kvbyte // 4) def current_low_feerate_per_kw_srk_channel(self) -> Optional[int]: