|
@@ -207,6 +207,9 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, genesis *Genesis, override
|
|
|
if overrideIstanbul != nil {
|
|
if overrideIstanbul != nil {
|
|
|
newcfg.IstanbulBlock = overrideIstanbul
|
|
newcfg.IstanbulBlock = overrideIstanbul
|
|
|
}
|
|
}
|
|
|
|
|
+ if err := newcfg.CheckConfigForkOrder(); err != nil {
|
|
|
|
|
+ return newcfg, common.Hash{}, err
|
|
|
|
|
+ }
|
|
|
storedcfg := rawdb.ReadChainConfig(db, stored)
|
|
storedcfg := rawdb.ReadChainConfig(db, stored)
|
|
|
if storedcfg == nil {
|
|
if storedcfg == nil {
|
|
|
log.Warn("Found genesis block without chain config")
|
|
log.Warn("Found genesis block without chain config")
|
|
@@ -295,6 +298,13 @@ func (g *Genesis) Commit(db ethdb.Database) (*types.Block, error) {
|
|
|
if block.Number().Sign() != 0 {
|
|
if block.Number().Sign() != 0 {
|
|
|
return nil, fmt.Errorf("can't commit genesis block with number > 0")
|
|
return nil, fmt.Errorf("can't commit genesis block with number > 0")
|
|
|
}
|
|
}
|
|
|
|
|
+ config := g.Config
|
|
|
|
|
+ if config == nil {
|
|
|
|
|
+ config = params.AllEthashProtocolChanges
|
|
|
|
|
+ }
|
|
|
|
|
+ if err := config.CheckConfigForkOrder(); err != nil {
|
|
|
|
|
+ return nil, err
|
|
|
|
|
+ }
|
|
|
rawdb.WriteTd(db, block.Hash(), block.NumberU64(), g.Difficulty)
|
|
rawdb.WriteTd(db, block.Hash(), block.NumberU64(), g.Difficulty)
|
|
|
rawdb.WriteBlock(db, block)
|
|
rawdb.WriteBlock(db, block)
|
|
|
rawdb.WriteReceipts(db, block.Hash(), block.NumberU64(), nil)
|
|
rawdb.WriteReceipts(db, block.Hash(), block.NumberU64(), nil)
|
|
@@ -302,11 +312,6 @@ func (g *Genesis) Commit(db ethdb.Database) (*types.Block, error) {
|
|
|
rawdb.WriteHeadBlockHash(db, block.Hash())
|
|
rawdb.WriteHeadBlockHash(db, block.Hash())
|
|
|
rawdb.WriteHeadFastBlockHash(db, block.Hash())
|
|
rawdb.WriteHeadFastBlockHash(db, block.Hash())
|
|
|
rawdb.WriteHeadHeaderHash(db, block.Hash())
|
|
rawdb.WriteHeadHeaderHash(db, block.Hash())
|
|
|
-
|
|
|
|
|
- config := g.Config
|
|
|
|
|
- if config == nil {
|
|
|
|
|
- config = params.AllEthashProtocolChanges
|
|
|
|
|
- }
|
|
|
|
|
rawdb.WriteChainConfig(db, block.Hash(), config)
|
|
rawdb.WriteChainConfig(db, block.Hash(), config)
|
|
|
return block, nil
|
|
return block, nil
|
|
|
}
|
|
}
|