cmd/utils: ensure chain configs get always correctly set

This commit is contained in:
Péter Szilágyi 2016-11-15 22:54:01 +02:00
parent 4febf264ce
commit f803e046df
No known key found for this signature in database
GPG key ID: 119A76381CCB7DD2

View file

@ -863,58 +863,39 @@ func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *params.ChainCon
// Set any missing chainConfig fields due to them being unset or system upgrade // Set any missing chainConfig fields due to them being unset or system upgrade
if defaults { if defaults {
if config.HomesteadBlock == nil { // Homestead fork
if ctx.GlobalBool(TestNetFlag.Name) { if ctx.GlobalBool(TestNetFlag.Name) {
config.HomesteadBlock = params.TestNetHomesteadBlock config.HomesteadBlock = params.TestNetHomesteadBlock
} else { } else {
config.HomesteadBlock = params.MainNetHomesteadBlock config.HomesteadBlock = params.MainNetHomesteadBlock
} }
} // DAO fork
if config.DAOForkBlock == nil {
if ctx.GlobalBool(TestNetFlag.Name) { if ctx.GlobalBool(TestNetFlag.Name) {
config.DAOForkBlock = params.TestNetDAOForkBlock config.DAOForkBlock = params.TestNetDAOForkBlock
} else { } else {
config.DAOForkBlock = params.MainNetDAOForkBlock config.DAOForkBlock = params.MainNetDAOForkBlock
} }
config.DAOForkSupport = true config.DAOForkSupport = true
}
if config.EIP150Block == nil { // DoS reprice fork
if ctx.GlobalBool(TestNetFlag.Name) { if ctx.GlobalBool(TestNetFlag.Name) {
config.EIP150Block = params.TestNetHomesteadGasRepriceBlock config.EIP150Block = params.TestNetHomesteadGasRepriceBlock
} else {
config.EIP150Block = params.MainNetHomesteadGasRepriceBlock
}
}
if config.EIP150Hash == (common.Hash{}) {
if ctx.GlobalBool(TestNetFlag.Name) {
config.EIP150Hash = params.TestNetHomesteadGasRepriceHash config.EIP150Hash = params.TestNetHomesteadGasRepriceHash
} else { } else {
config.EIP150Block = params.MainNetHomesteadGasRepriceBlock
config.EIP150Hash = params.MainNetHomesteadGasRepriceHash config.EIP150Hash = params.MainNetHomesteadGasRepriceHash
} }
} // DoS state cleanup fork
if config.EIP155Block == nil {
if ctx.GlobalBool(TestNetFlag.Name) { if ctx.GlobalBool(TestNetFlag.Name) {
config.EIP155Block = params.TestNetSpuriousDragon config.EIP155Block = params.TestNetSpuriousDragon
} else {
config.EIP155Block = params.MainNetSpuriousDragon
}
}
if config.EIP158Block == nil {
if ctx.GlobalBool(TestNetFlag.Name) {
config.EIP158Block = params.TestNetSpuriousDragon config.EIP158Block = params.TestNetSpuriousDragon
} else {
config.EIP158Block = params.MainNetSpuriousDragon
}
}
if config.ChainId.BitLen() == 0 {
if ctx.GlobalBool(TestNetFlag.Name) {
config.ChainId = params.TestNetChainID config.ChainId = params.TestNetChainID
} else { } else {
config.EIP155Block = params.MainNetSpuriousDragon
config.EIP158Block = params.MainNetSpuriousDragon
config.ChainId = params.MainNetChainID config.ChainId = params.MainNetChainID
} }
} }
config.DAOForkSupport = true
}
// Force override any existing configs if explicitly requested // Force override any existing configs if explicitly requested
switch { switch {