Auto merge of #2977 - str4d:loadblockindexguts-correctness, r=str4d
Check Equihash solution when loading block index An additional consistency check, which also ensures that the in-memory representation matches the stored index.
This commit is contained in:
commit
50400310af
|
@ -314,6 +314,9 @@ bool CBlockTreeDB::LoadBlockIndexGuts()
|
||||||
pindexNew->nTx = diskindex.nTx;
|
pindexNew->nTx = diskindex.nTx;
|
||||||
pindexNew->nSproutValue = diskindex.nSproutValue;
|
pindexNew->nSproutValue = diskindex.nSproutValue;
|
||||||
|
|
||||||
|
auto header = pindexNew->GetBlockHeader();
|
||||||
|
if (!CheckEquihashSolution(&header, Params()))
|
||||||
|
return error("LoadBlockIndex(): CheckEquihashSolution failed: %s", pindexNew->ToString());
|
||||||
if (!CheckProofOfWork(pindexNew->GetBlockHash(), pindexNew->nBits, Params().GetConsensus()))
|
if (!CheckProofOfWork(pindexNew->GetBlockHash(), pindexNew->nBits, Params().GetConsensus()))
|
||||||
return error("LoadBlockIndex(): CheckProofOfWork failed: %s", pindexNew->ToString());
|
return error("LoadBlockIndex(): CheckProofOfWork failed: %s", pindexNew->ToString());
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue