aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRussell Yanofsky <russ@yanofsky.org>2017-07-28 19:42:27 -0400
committerRussell Yanofsky <russ@yanofsky.org>2019-02-22 15:43:02 -0400
commitcd32160af0528cc746968ee0eadf4f63c98665f2 (patch)
tree38c2df53e845cb7c3206507ca23d7a5d59a75e72 /src
parent291276f7f40df9fcd62e54c016953705bf0ed04a (diff)
Remove use of GetTransactionAncestry in wallet code
This commit does not change behavior.
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/chain.cpp4
-rw-r--r--src/interfaces/chain.h4
-rw-r--r--src/wallet/wallet.cpp2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/interfaces/chain.cpp b/src/interfaces/chain.cpp
index 8c5921970b..d7bad0543c 100644
--- a/src/interfaces/chain.cpp
+++ b/src/interfaces/chain.cpp
@@ -196,6 +196,10 @@ public:
auto it_mp = ::mempool.mapTx.find(txid);
return it_mp != ::mempool.mapTx.end() && it_mp->GetCountWithDescendants() > 1;
}
+ void getTransactionAncestry(const uint256& txid, size_t& ancestors, size_t& descendants) override
+ {
+ ::mempool.GetTransactionAncestry(txid, ancestors, descendants);
+ }
};
} // namespace
diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h
index aa4f17a8ec..33bbfefd9f 100644
--- a/src/interfaces/chain.h
+++ b/src/interfaces/chain.h
@@ -9,6 +9,7 @@
#include <policy/rbf.h> // For RBFTransactionState
#include <memory>
+#include <stddef.h>
#include <stdint.h>
#include <string>
#include <vector>
@@ -138,6 +139,9 @@ public:
//! Check if transaction has descendants in mempool.
virtual bool hasDescendantsInMempool(const uint256& txid) = 0;
+
+ //! Calculate mempool ancestor and descendant counts for the given transaction.
+ virtual void getTransactionAncestry(const uint256& txid, size_t& ancestors, size_t& descendants) = 0;
};
//! Interface to let node manage chain clients (wallets, or maybe tools for
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp
index eb99c6cd77..a77b1c60f2 100644
--- a/src/wallet/wallet.cpp
+++ b/src/wallet/wallet.cpp
@@ -4528,7 +4528,7 @@ std::vector<OutputGroup> CWallet::GroupOutputs(const std::vector<COutput>& outpu
CInputCoin input_coin = output.GetInputCoin();
size_t ancestors, descendants;
- mempool.GetTransactionAncestry(output.tx->GetHash(), ancestors, descendants);
+ chain().getTransactionAncestry(output.tx->GetHash(), ancestors, descendants);
if (!single_coin && ExtractDestination(output.tx->tx->vout[output.i].scriptPubKey, dst)) {
// Limit output groups to no more than 10 entries, to protect
// against inadvertently creating a too-large transaction