Skip to content

Commit

Permalink
Check devnet genesis block (#2057)
Browse files Browse the repository at this point in the history
* Fix off-by-one in BIPXX activation heights for devnet

* Fail on invalid devnet genesis block
  • Loading branch information
UdjinM6 committed May 13, 2018
1 parent 1dbf5a0 commit ff93dd6
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
6 changes: 3 additions & 3 deletions src/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -420,9 +420,9 @@ class CDevNetParams : public CChainParams {
consensus.nGovernanceMinQuorum = 1;
consensus.nGovernanceFilterElements = 500;
consensus.nMasternodeMinimumConfirmations = 1;
consensus.BIP34Height = 2; // BIP34 activated immediately on devnet
consensus.BIP65Height = 2; // BIP65 activated immediately on devnet
consensus.BIP66Height = 2; // BIP66 activated immediately on devnet
consensus.BIP34Height = 1; // BIP34 activated immediately on devnet
consensus.BIP65Height = 1; // BIP65 activated immediately on devnet
consensus.BIP66Height = 1; // BIP66 activated immediately on devnet
consensus.DIP0001Height = 2; // DIP0001 activated immediately on devnet
consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); // ~uint256(0) >> 1
consensus.nPowTargetTimespan = 24 * 60 * 60; // Dash: 1 day
Expand Down
6 changes: 4 additions & 2 deletions src/validation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4212,8 +4212,10 @@ bool InitBlockIndex(const CChainParams& chainparams)
return false;

if (chainparams.NetworkIDString() == CBaseChainParams::DEVNET) {
if (!AddGenesisBlock(chainparams, chainparams.DevNetGenesisBlock(), state))
return false;
// We can't continue if devnet genesis block is invalid
std::shared_ptr<const CBlock> shared_pblock = std::make_shared<const CBlock>(chainparams.DevNetGenesisBlock());
bool fProcessDevnetGenesisBlock = ProcessNewBlock(chainparams, shared_pblock, true, NULL);
assert(fProcessDevnetGenesisBlock);
}

// Force a chainstate write so that when we VerifyDB in a moment, it doesn't check stale data
Expand Down

0 comments on commit ff93dd6

Please sign in to comment.