message: have mempool tests use global mempool object not locally created one
diff: #include <list>
  #include <vector>
  +extern CTxMemPool mempool;
  -static void AddTx(const CTransactionRef &tx, const CAmount &nFee, CTxMemPool &pool)
  +static void AddTx(const CTransactionRef &tx, const CAmount &nFee)
  {
  int64_t nTime = 0;
  double dPriority = 10.0;
  @@ -21,13 +22,13 @@ static void AddTx(const CTransactionRef &tx, const CAmount &nFee, CTxMemPool &po
  bool spendsCoinbase = false;
  unsigned int sigOpCost = 4;
  LockPoints lp;
  - pool.addUnchecked(tx->GetHash(), CTxMemPoolEntry(tx, nFee, nTime, dPriority, nHeight, pool.HasNoInputsOf(tx),
  + mempool.addUnchecked(tx->GetHash(), CTxMemPoolEntry(tx, nFee, nTime, dPriority, nHeight, mempool.HasNoInputsOf(tx),
  tx->GetValueOut(), spendsCoinbase, sigOpCost, lp));
  }
  static void RpcMempool(benchmark::State &state)
  {
  - CTxMemPool pool(CFeeRate(1000));
  + mempool.clear();
  for (int i = 0; i < 1000; ++i)
  {
  @@ -38,7 +39,7 @@ static void RpcMempool(benchmark::State &state)
  tx.vout[0].scriptPubKey = CScript() << OP_1 << OP_EQUAL;
  tx.vout[0].nValue = i * CENT;
  const CTransactionRef tx_r{MakeTransactionRef(tx)};
  - AddTx(tx_r, /* fee */ i * CENT, pool);
  + AddTx(tx_r, /* fee */ i * CENT);
  }
  while (state.KeepRunning())
  @@ -49,7 +50,7 @@ static void RpcMempool(benchmark::State &state)
  static void RpcMempool10k(benchmark::State &state)
  {
  - CTxMemPool pool(CFeeRate(1000));
  + mempool.clear();
  const size_t nTx = 10000, nIns = 10, nOuts = 10;
  @@ -69,7 +70,7 @@ static void RpcMempool10k(benchmark::State &state)
  tx.vout[j].nValue = int64_t(i * j) * CENT;
  }
  const CTransactionRef tx_r{MakeTransactionRef(tx)};
  - AddTx(tx_r, /* fee */ int64_t(i) * CENT, pool);
  + AddTx(tx_r, /* fee */ int64_t(i) * CENT);
  }
  while (state.KeepRunning())
  