diff --git a/electrum/commands.py b/electrum/commands.py index 325bd5ca1..55f5f4ce8 100644 --- a/electrum/commands.py +++ b/electrum/commands.py @@ -1079,9 +1079,9 @@ class Commands: @command('n') async def inject_fees(self, fees): - import ast - self.network.config.fee_estimates = ast.literal_eval(fees) - self.network.notify('fee') + # e.g. use from Qt console: inject_fees("{25: 1009, 10: 15962, 5: 18183, 2: 23239}") + fee_est = ast.literal_eval(fees) + self.network.update_fee_estimates(fee_est=fee_est) @command('wn') async def enable_htlc_settle(self, b: bool, wallet: Abstract_Wallet = None): diff --git a/electrum/network.py b/electrum/network.py index a48bbcd3a..a72f4d013 100644 --- a/electrum/network.py +++ b/electrum/network.py @@ -534,13 +534,14 @@ class Network(Logger, NetworkRetryManager[ServerAddr]): return {} return self.interface.fee_estimates_eta - def update_fee_estimates(self): - e = self.get_fee_estimates() - for nblock_target, fee in e.items(): + def update_fee_estimates(self, *, fee_est: Dict = None): + if fee_est is None: + fee_est = self.get_fee_estimates() + for nblock_target, fee in fee_est.items(): self.config.update_fee_estimates(nblock_target, fee) - if not hasattr(self, "_prev_fee_est") or self._prev_fee_est != e: - self._prev_fee_est = copy.copy(e) - self.logger.info(f'fee_estimates {e}') + if not hasattr(self, "_prev_fee_est") or self._prev_fee_est != fee_est: + self._prev_fee_est = copy.copy(fee_est) + self.logger.info(f'fee_estimates {fee_est}') self.notify('fee') @with_recent_servers_lock