aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/utils/flags.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/utils/flags.go')
-rw-r--r--cmd/utils/flags.go43
1 files changed, 37 insertions, 6 deletions
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 58e3ebfcb..c46caf7eb 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -769,7 +769,7 @@ func SetupNetwork(ctx *cli.Context) {
}
// MustMakeChainConfig reads the chain configuration from the database in ctx.Datadir.
-func MustMakeChainConfig(ctx *cli.Context) *core.ChainConfig {
+func MustMakeChainConfig(ctx *cli.Context) *params.ChainConfig {
db := MakeChainDatabase(ctx)
defer db.Close()
@@ -777,9 +777,9 @@ func MustMakeChainConfig(ctx *cli.Context) *core.ChainConfig {
}
// MustMakeChainConfigFromDb reads the chain configuration from the given database.
-func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainConfig {
+func MustMakeChainConfigFromDb(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))
if genesis != nil {
@@ -793,6 +793,9 @@ func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainC
Fatalf("Could not make chain configuration: %v", err)
}
}
+ if config.ChainId == nil {
+ config.ChainId = new(big.Int)
+ }
// Set any missing fields due to them being unset or system upgrade
if config.HomesteadBlock == nil {
if ctx.GlobalBool(TestNetFlag.Name) {
@@ -809,11 +812,39 @@ func MustMakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *core.ChainC
}
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.EIP150Hash = params.TestNetHomesteadGasRepriceHash
+ } else {
+ config.EIP150Hash = params.MainNetHomesteadGasRepriceHash
+ }
+ }
+ if config.EIP155Block == nil {
+ if ctx.GlobalBool(TestNetFlag.Name) {
+ config.EIP150Block = params.TestNetSpuriousDragon
+ } else {
+ config.EIP155Block = params.MainNetSpuriousDragon
+ }
+ }
+ if config.EIP158Block == nil {
+ if ctx.GlobalBool(TestNetFlag.Name) {
+ config.EIP158Block = params.TestNetSpuriousDragon
+ } else {
+ config.EIP158Block = params.MainNetSpuriousDragon
+ }
+ }
+ if config.ChainId.BitLen() == 0 {
if ctx.GlobalBool(TestNetFlag.Name) {
- config.HomesteadGasRepriceBlock = params.TestNetHomesteadGasRepriceBlock
+ config.ChainId = params.TestNetChainID
} else {
- config.HomesteadGasRepriceBlock = params.MainNetHomesteadGasRepriceBlock
+ config.ChainId = params.MainNetChainID
}
}
// Force override any existing configs if explicitly requested