diff options
author | Felix Lange <fjl@twurst.com> | 2016-11-14 17:52:02 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-14 17:52:02 +0800 |
commit | ca73dea3b9bcdf3b5424b5c48c70817439e2e304 (patch) | |
tree | 670e2833878e72555644fbbd81db6c5a1b44493f /cmd/utils | |
parent | 21701190ac0a838e347f31b7a918bb0a60c1e8c1 (diff) | |
parent | 648bd22427000b6e20a5e1a9c397005aa1ad4f9b (diff) | |
download | go-tangerine-ca73dea3b9bcdf3b5424b5c48c70817439e2e304.tar go-tangerine-ca73dea3b9bcdf3b5424b5c48c70817439e2e304.tar.gz go-tangerine-ca73dea3b9bcdf3b5424b5c48c70817439e2e304.tar.bz2 go-tangerine-ca73dea3b9bcdf3b5424b5c48c70817439e2e304.tar.lz go-tangerine-ca73dea3b9bcdf3b5424b5c48c70817439e2e304.tar.xz go-tangerine-ca73dea3b9bcdf3b5424b5c48c70817439e2e304.tar.zst go-tangerine-ca73dea3b9bcdf3b5424b5c48c70817439e2e304.zip |
Merge pull request #3179 from obscuren/eip-158
EIP158 & 160 Hardfork
Diffstat (limited to 'cmd/utils')
-rw-r--r-- | cmd/utils/flags.go | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 626c2615d..2d6bb4f5b 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -801,7 +801,7 @@ func SetupNetwork(ctx *cli.Context) { } // MakeChainConfig reads the chain configuration from the database in ctx.Datadir. -func MakeChainConfig(ctx *cli.Context, stack *node.Node) *core.ChainConfig { +func MakeChainConfig(ctx *cli.Context, stack *node.Node) *params.ChainConfig { db := MakeChainDatabase(ctx, stack) defer db.Close() @@ -809,9 +809,9 @@ func MakeChainConfig(ctx *cli.Context, stack *node.Node) *core.ChainConfig { } // MakeChainConfigFromDb reads the chain configuration from the given database. -func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfig { +func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *params.ChainConfig { // If the chain is already initialized, use any existing chain configs - config := new(core.ChainConfig) + config := new(params.ChainConfig) genesis := core.GetBlock(db, core.GetCanonicalHash(db, 0), 0) if genesis != nil { @@ -825,6 +825,10 @@ func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfi Fatalf("Could not make chain configuration: %v", err) } } + // set chain id in case it's zero. + if config.ChainId == nil { + config.ChainId = new(big.Int) + } // Check whether we are allowed to set default config params or not: // - If no genesis is set, we're running either mainnet or testnet (private nets use `geth init`) // - If a genesis is already set, ensure we have a configuration for it (mainnet or testnet) @@ -849,21 +853,37 @@ func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfi } config.DAOForkSupport = true } - if config.HomesteadGasRepriceBlock == nil { + if config.EIP150Block == nil { + if ctx.GlobalBool(TestNetFlag.Name) { + config.EIP150Block = params.TestNetHomesteadGasRepriceBlock + } else { + config.EIP150Block = params.MainNetHomesteadGasRepriceBlock + } + } + if config.EIP150Hash == (common.Hash{}) { if ctx.GlobalBool(TestNetFlag.Name) { - config.HomesteadGasRepriceBlock = params.TestNetHomesteadGasRepriceBlock + config.EIP150Hash = params.TestNetHomesteadGasRepriceHash } else { - config.HomesteadGasRepriceBlock = params.MainNetHomesteadGasRepriceBlock + config.EIP150Hash = params.MainNetHomesteadGasRepriceHash } } - if config.HomesteadGasRepriceHash == (common.Hash{}) { + if config.EIP155Block == nil { if ctx.GlobalBool(TestNetFlag.Name) { - config.HomesteadGasRepriceHash = params.TestNetHomesteadGasRepriceHash + config.EIP150Block = params.TestNetSpuriousDragon } else { - config.HomesteadGasRepriceHash = params.MainNetHomesteadGasRepriceHash + config.EIP155Block = params.MainNetSpuriousDragon } } + if config.EIP158Block == nil { + if ctx.GlobalBool(TestNetFlag.Name) { + config.EIP158Block = params.TestNetSpuriousDragon + } else { + config.EIP158Block = params.MainNetSpuriousDragon + } + } + config.DAOForkSupport = true } + // Force override any existing configs if explicitly requested switch { case ctx.GlobalBool(SupportDAOFork.Name): |