message: AcceptBlock() check for double spent serials only on main chain flag.
diff: @@ -4643,7 +4643,7 @@ bool AcceptBlock(CBlock& block, CValidationState& state, CBlockIndex** ppindex,
  }
  if (!ContextualCheckZerocoinSpendNoSerialCheck(stakeTxIn, spend, pindex, 0))
  - return state.DoS(100,error("%s: ContextualCheckZerocoinSpend failed for tx %s", __func__,
  + return state.DoS(100,error("%s: forked chain ContextualCheckZerocoinSpend failed for tx %s", __func__,
  stakeTxIn.GetHash().GetHex()), REJECT_INVALID, "bad-txns-invalid-zpiv");
  // Now only the ZKP left..
  @@ -4686,12 +4686,14 @@ bool AcceptBlock(CBlock& block, CValidationState& state, CBlockIndex** ppindex,
  }
  }
  } else {
  + if(!isBlockFromFork)
  for (CTxIn zPivInput : zPIVInputs) {
  CoinSpend spend = TxInToZerocoinSpend(zPivInput);
  if (!ContextualCheckZerocoinSpend(stakeTxIn, spend, pindex, 0))
  - return state.DoS(100,error("%s: ContextualCheckZerocoinSpend failed for tx %s", __func__,
  + return state.DoS(100,error("%s: main chain ContextualCheckZerocoinSpend failed for tx %s", __func__,
  stakeTxIn.GetHash().GetHex()), REJECT_INVALID, "bad-txns-invalid-zpiv");
  }
  +
  }
  }
  