message: Do not record zerocoin tx's in ConnectBlock() if it is fJustCheck
diff: @@ -2769,7 +2769,7 @@ bool ReindexAccumulators(list<uint256>& listMissingCheckpoints, string& strError
  return true;
  }
  -bool UpdateZPIVSupply(const CBlock& block, CBlockIndex* pindex)
  +bool UpdateZPIVSupply(const CBlock& block, CBlockIndex* pindex, bool fJustCheck)
  {
  std::list<CZerocoinMint> listMints;
  bool fFilterInvalid = pindex->nHeight >= Params().Zerocoin_Block_RecalculateAccumulators();
  @@ -2794,7 +2794,7 @@ bool UpdateZPIVSupply(const CBlock& block, CBlockIndex* pindex)
  pindex->mapZerocoinSupply.at(denom)++;
  //Remove any of our own mints from the mintpool
  - if (pwalletMain) {
  + if (!fJustCheck && pwalletMain) {
  if (pwalletMain->IsMyMint(m.GetValue())) {
  pwalletMain->UpdateMint(m.GetValue(), pindex->nHeight, m.GetTxHash(), m.GetDenomination());
  @@ -3040,7 +3040,7 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
  }
  //Track zPIV money supply in the block index
  - if (!UpdateZPIVSupply(block, pindex))
  + if (!UpdateZPIVSupply(block, pindex, fJustCheck))
  return state.DoS(100, error("%s: Failed to calculate new zPIV supply for block=%s height=%d", __func__,
  block.GetHash().GetHex(), pindex->nHeight), REJECT_INVALID);
  @@ -3104,13 +3104,15 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
  }
  //Record zPIV serials
  - set<uint256> setAddedTx;
  - for (pair<CoinSpend, uint256> pSpend : vSpends) {
  - // Send signal to wallet if this is ours
  if (pwalletMain) {
  + std::set<uint256> setAddedTx;
  + for (std::pair<CoinSpend, uint256> pSpend : vSpends) {
  + // Send signal to wallet if this is ours
  if (pwalletMain->IsMyZerocoinSpend(pSpend.first.getCoinSerialNumber())) {
  - LogPrintf("%s: %s detected zerocoinspend in transaction %s \n", __func__, pSpend.first.getCoinSerialNumber().GetHex(), pSpend.second.GetHex());
  - pwalletMain->NotifyZerocoinChanged(pwalletMain, pSpend.first.getCoinSerialNumber().GetHex(), "Used", CT_UPDATED);
  + LogPrintf("%s: %s detected zerocoinspend in transaction %s \n", __func__,
  + pSpend.first.getCoinSerialNumber().GetHex(), pSpend.second.GetHex());
  + pwalletMain->NotifyZerocoinChanged(pwalletMain, pSpend.first.getCoinSerialNumber().GetHex(), "Used",
  + CT_UPDATED);
  //Don't add the same tx multiple times
  if (setAddedTx.count(pSpend.second))
  