From 8f17f8f7320d12113836656b0e3c4795ece1fba2 Mon Sep 17 00:00:00 2001 From: J Ross Nicoll Date: Thu, 27 Aug 2015 22:25:34 +0100 Subject: Update block height used to determine relevant parameters --- src/main.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 070b27832..5fa42d032 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1187,7 +1187,8 @@ static bool ReadBlockOrHeader(T& block, const CDiskBlockPos& pos) } // Check the header - if (!CheckAuxPowProofOfWork(block, Params().GetConsensus(0))) // FIXME: Can we get height at all? + // Dogecoin: We don't necessarily have block height, so we depend on using the base parameters + if (!CheckAuxPowProofOfWork(block, Params().GetConsensus(0))) return error("ReadBlockFromDisk: Errors in block header at %s", pos.ToString()); return true; @@ -2677,7 +2678,10 @@ bool FindUndoPos(CValidationState &state, int nFile, CDiskBlockPos &pos, unsigne bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, bool fCheckPOW) { // Check proof of work matches claimed amount - if (fCheckPOW && !CheckAuxPowProofOfWork(block, Params().GetConsensus(0))) // FIXME: Get actual height + // We don't have block height as this is called without context (i.e. without + // knowing the previous block), but that's okay, as the checks done are permissive + // (i.e. doesn't check work limit or whether AuxPoW is enabled) + if (fCheckPOW && !CheckAuxPowProofOfWork(block, Params().GetConsensus(0))) return state.DoS(50, error("CheckBlockHeader(): proof of work failed"), REJECT_INVALID, "high-hash"); -- cgit v1.2.3