diff options
author | Russell Yanofsky <russ@yanofsky.org> | 2017-07-28 19:29:50 -0400 |
---|---|---|
committer | Russell Yanofsky <russ@yanofsky.org> | 2019-02-22 15:43:02 -0400 |
commit | 291276f7f40df9fcd62e54c016953705bf0ed04a (patch) | |
tree | bd5e5f8280ff559fe2a8eb84538655957619136b | |
parent | bdc6628683197945326cbdfea3f53ec0b7d1949f (diff) |
Remove use of GetCountWithDescendants in wallet code
This commit does not change behavior.
-rw-r--r-- | src/interfaces/chain.cpp | 6 | ||||
-rw-r--r-- | src/interfaces/chain.h | 3 | ||||
-rw-r--r-- | src/wallet/feebumper.cpp | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/interfaces/chain.cpp b/src/interfaces/chain.cpp index 7cab303aad..8c5921970b 100644 --- a/src/interfaces/chain.cpp +++ b/src/interfaces/chain.cpp @@ -190,6 +190,12 @@ public: LOCK(::mempool.cs); return IsRBFOptIn(tx, ::mempool); } + bool hasDescendantsInMempool(const uint256& txid) override + { + LOCK(::mempool.cs); + auto it_mp = ::mempool.mapTx.find(txid); + return it_mp != ::mempool.mapTx.end() && it_mp->GetCountWithDescendants() > 1; + } }; } // namespace diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index 486f1ea169..aa4f17a8ec 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -135,6 +135,9 @@ public: //! Check if transaction is RBF opt in. virtual RBFTransactionState isRBFOptIn(const CTransaction& tx) = 0; + + //! Check if transaction has descendants in mempool. + virtual bool hasDescendantsInMempool(const uint256& txid) = 0; }; //! Interface to let node manage chain clients (wallets, or maybe tools for diff --git a/src/wallet/feebumper.cpp b/src/wallet/feebumper.cpp index 7a71aea715..f4b419ca2a 100644 --- a/src/wallet/feebumper.cpp +++ b/src/wallet/feebumper.cpp @@ -27,9 +27,7 @@ static feebumper::Result PreconditionChecks(interfaces::Chain::Lock& locked_chai } { - LOCK(mempool.cs); - auto it_mp = mempool.mapTx.find(wtx.GetHash()); - if (it_mp != mempool.mapTx.end() && it_mp->GetCountWithDescendants() > 1) { + if (wallet->chain().hasDescendantsInMempool(wtx.GetHash())) { errors.push_back("Transaction has descendants in the mempool"); return feebumper::Result::INVALID_PARAMETER; } |