aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet.cpp
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2020-05-01 17:36:17 +0200
committerMarcoFalke <falke.marco@gmail.com>2021-03-07 12:18:15 +0100
commitfa4e088cbac035b8029a10b492849540150d0622 (patch)
treed17dcac856a41aa29af39a03dcfd7588bf709722 /src/wallet/wallet.cpp
parented25cb58f605ba583c735f330482df0bf9348f3a (diff)
downloadbitcoin-fa4e088cbac035b8029a10b492849540150d0622.tar.xz
wallet: Mark replaced tx to not be in the mempool anymore
Diffstat (limited to 'src/wallet/wallet.cpp')
-rw-r--r--src/wallet/wallet.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
index 08e480225d..2e742f2927 100644
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -791,6 +791,12 @@ bool CWallet::MarkReplaced(const uint256& originalHash, const uint256& newHash)
wtx.mapValue["replaced_by_txid"] = newHash.ToString();
+ // Refresh mempool status without waiting for transactionRemovedFromMempool
+ // notification so the wallet is in an internally consistent state and
+ // immediately knows the old transaction should not be considered trusted
+ // and is eligible to be abandoned
+ wtx.fInMempool = chain().isInMempool(originalHash);
+
WalletBatch batch(GetDatabase());
bool success = true;