node: Use mempool from node context instead of global

This commit is contained in:
MarcoFalke
2019-11-22 16:24:38 -05:00
parent facbaf092f
commit fa660d65d7
8 changed files with 16 additions and 14 deletions

View File

@@ -4,14 +4,16 @@
#include <node/coin.h>
#include <node/context.h>
#include <txmempool.h>
#include <validation.h>
void FindCoins(std::map<COutPoint, Coin>& coins)
void FindCoins(const NodeContext& node, std::map<COutPoint, Coin>& coins)
{
LOCK2(cs_main, ::mempool.cs);
assert(node.mempool);
LOCK2(cs_main, node.mempool->cs);
CCoinsViewCache& chain_view = ::ChainstateActive().CoinsTip();
CCoinsViewMemPool mempool_view(&chain_view, ::mempool);
CCoinsViewMemPool mempool_view(&chain_view, *node.mempool);
for (auto& coin : coins) {
if (!mempool_view.GetCoin(coin.first, coin.second)) {
// Either the coin is not in the CCoinsViewCache or is spent. Clear it.