diff --git a/src/validation.cpp b/src/validation.cpp index 559e2db0d..8097630e7 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3038,6 +3038,10 @@ static bool FindUndoPos(CValidationState &state, int nFile, CDiskBlockPos &pos, static bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, const Consensus::Params& consensusParams, bool fCheckPOW = true) { + if (block.cnHeader.major_version != consensusParams.GetCryptonoteMajorVersion()) { + return state.Invalid(false, 0, "incorrect-major-version", "Cryptonote major version incorrect"); + } + // Check proof of work matches claimed amount if (fCheckPOW && !CheckProofOfWork(block.GetPoWHash(), block.nBits, consensusParams)) return state.DoS(50, false, REJECT_INVALID, "high-hash", false, "proof of work failed");