From eea1eb5eb00eebd0cf3b1639049ac2ccfbfa5160 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Thu, 13 Mar 2025 17:02:08 +0000 Subject: [PATCH] wallet: consider "future" coins as frozen by default --- electrum/gui/qt/main_window.py | 2 ++ electrum/wallet.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/electrum/gui/qt/main_window.py b/electrum/gui/qt/main_window.py index d432a6fda..7708ab397 100644 --- a/electrum/gui/qt/main_window.py +++ b/electrum/gui/qt/main_window.py @@ -465,6 +465,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener): def on_event_adb_set_future_tx(self, adb, txid): if adb == self.wallet.adb: self.history_model.refresh('set_future_tx') + self.utxo_list.refresh_all() # for coin frozen status + self.update_status() # frozen balance @qt_event_listener def on_event_verified(self, *args): diff --git a/electrum/wallet.py b/electrum/wallet.py index cdaec1f2d..e964dd4fb 100644 --- a/electrum/wallet.py +++ b/electrum/wallet.py @@ -1966,6 +1966,9 @@ class Abstract_Wallet(ABC, Logger, EventListener): if frozen is not None: # user has explicitly set the state return bool(frozen) # State not set. We implicitly mark certain coins as frozen: + tx_mined_status = self.adb.get_tx_height(utxo.prevout.txid.hex()) + if tx_mined_status.height == TX_HEIGHT_FUTURE: + return True if self._is_coin_small_and_unconfirmed(utxo): return True return False