From 78a5da8b5c72fc2b63c384742fc9b9b1b02c61ff Mon Sep 17 00:00:00 2001 From: random-zebra Date: Fri, 23 Jul 2021 16:01:23 +0200 Subject: [PATCH] [BUG] Remove spork-based CheckPublicCoinSpendVersion as this was meant to be checked only if IsBlockChainSynced. As zerocoin public spends are no longer accepted (both in main-net/testnet) we can just remove it. --- src/consensus/zerocoin_verify.cpp | 11 +---------- src/consensus/zerocoin_verify.h | 2 -- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/src/consensus/zerocoin_verify.cpp b/src/consensus/zerocoin_verify.cpp index 547b53d86da05..a5304ddb915d2 100644 --- a/src/consensus/zerocoin_verify.cpp +++ b/src/consensus/zerocoin_verify.cpp @@ -127,14 +127,6 @@ bool CheckPublicCoinSpendEnforced(int blockHeight, bool isPublicSpend) return true; } -int CurrentPublicCoinSpendVersion() { - return sporkManager.IsSporkActive(SPORK_18_ZEROCOIN_PUBLICSPEND_V4) ? 4 : 3; -} - -bool CheckPublicCoinSpendVersion(int version) { - return version == CurrentPublicCoinSpendVersion(); -} - bool ContextualCheckZerocoinTx(const CTransactionRef& tx, CValidationState& state, const Consensus::Params& consensus, int nHeight) { // zerocoin enforced via block time. First block with a zc mint is 863735 @@ -269,8 +261,7 @@ Optional ParseAndValidateZerocoinSpends(const Consensus::Params if (isPublicSpend) { libzerocoin::ZerocoinParams* params = consensus.Zerocoin_Params(false); PublicCoinSpend publicSpend(params); - if (!ZPIVModule::ParseZerocoinPublicSpend(txIn, tx, state, publicSpend) || - !CheckPublicCoinSpendVersion(publicSpend.getCoinVersion())) { + if (!ZPIVModule::ParseZerocoinPublicSpend(txIn, tx, state, publicSpend)) { return nullopt; } //queue for db write after the 'justcheck' section has concluded diff --git a/src/consensus/zerocoin_verify.h b/src/consensus/zerocoin_verify.h index b681ce99b87a8..f3fd7fbb19244 100644 --- a/src/consensus/zerocoin_verify.h +++ b/src/consensus/zerocoin_verify.h @@ -13,8 +13,6 @@ bool isBlockBetweenFakeSerialAttackRange(int nHeight); // Public coin spend bool CheckPublicCoinSpendEnforced(int blockHeight, bool isPublicSpend); -int CurrentPublicCoinSpendVersion(); -bool CheckPublicCoinSpendVersion(int version); bool ContextualCheckZerocoinTx(const CTransactionRef& tx, CValidationState& state, const Consensus::Params& consensus, int nHeight); bool ContextualCheckZerocoinSpend(const CTransaction& tx, const libzerocoin::CoinSpend* spend, int nHeight); bool ContextualCheckZerocoinSpendNoSerialCheck(const CTransaction& tx, const libzerocoin::CoinSpend* spend, int nHeight);