mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-26 06:36:43 +00:00
cmd/utils: ensure chain configs get always correctly set
This commit is contained in:
parent
4febf264ce
commit
f803e046df
1 changed files with 29 additions and 48 deletions
|
|
@ -863,57 +863,38 @@ 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
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if config.DAOForkBlock == nil {
|
// DAO fork
|
||||||
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
|
|
||||||
}
|
|
||||||
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.EIP155Block = 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.ChainId = params.TestNetChainID
|
|
||||||
} else {
|
|
||||||
config.ChainId = params.MainNetChainID
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
config.DAOForkSupport = true
|
config.DAOForkSupport = true
|
||||||
|
|
||||||
|
// DoS reprice fork
|
||||||
|
if ctx.GlobalBool(TestNetFlag.Name) {
|
||||||
|
config.EIP150Block = params.TestNetHomesteadGasRepriceBlock
|
||||||
|
config.EIP150Hash = params.TestNetHomesteadGasRepriceHash
|
||||||
|
} else {
|
||||||
|
config.EIP150Block = params.MainNetHomesteadGasRepriceBlock
|
||||||
|
config.EIP150Hash = params.MainNetHomesteadGasRepriceHash
|
||||||
|
}
|
||||||
|
// DoS state cleanup fork
|
||||||
|
if ctx.GlobalBool(TestNetFlag.Name) {
|
||||||
|
config.EIP155Block = params.TestNetSpuriousDragon
|
||||||
|
config.EIP158Block = params.TestNetSpuriousDragon
|
||||||
|
config.ChainId = params.TestNetChainID
|
||||||
|
} else {
|
||||||
|
config.EIP155Block = params.MainNetSpuriousDragon
|
||||||
|
config.EIP158Block = params.MainNetSpuriousDragon
|
||||||
|
config.ChainId = params.MainNetChainID
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Force override any existing configs if explicitly requested
|
// Force override any existing configs if explicitly requested
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue