message: Fixed duplicate entries in CTxMemPool::vTxHashes
diff: @@ -428,12 +428,13 @@ bool CTxMemPool::addUnchecked(const uint256& hash, const CTxMemPoolEntry &entry,
  cachedInnerUsage += entry.DynamicMemoryUsage();
  const CTransaction& tx = newit->GetTx();
  - if (!entry.GetTx().IsZerocoinSpend() && !entry.GetTx().IsSigmaSpend() && !entry.GetTx().IsZerocoinRemint()) {
  std::set<uint256> setParentTransactions;
  + if (!entry.GetTx().IsZerocoinSpend() && !entry.GetTx().IsSigmaSpend() && !entry.GetTx().IsZerocoinRemint()) {
  for (unsigned int i = 0; i < tx.vin.size(); i++) {
  mapNextTx.insert(std::make_pair(&tx.vin[i].prevout, &tx));
  setParentTransactions.insert(tx.vin[i].prevout.hash);
  }
  + }
  // Don't bother worrying about child transactions of this one.
  // Normal case of a new transaction arriving is that there can't be any
  // children, because such children would be orphans.
  @@ -448,13 +449,9 @@ bool CTxMemPool::addUnchecked(const uint256& hash, const CTxMemPoolEntry &entry,
  UpdateParent(newit, pit, true);
  }
  }
  +
  UpdateAncestorsOf(true, newit, setAncestors);
  UpdateEntryForAncestors(newit, setAncestors);
  - minerPolicyEstimator->processTransaction(entry, validFeeEstimate);
  -
  - vTxHashes.emplace_back(tx.GetWitnessHash(), newit);
  - newit->vTxHashesIdx = vTxHashes.size() - 1;
  - }
  nTransactionsUpdated++;
  totalTxSize += entry.GetTxSize();
  