cmd/utils, mobile, params: set the correct field on testnet EIP 155 (#3272)
This commit is contained in:
		
							parent
							
								
									5a3853f83f
								
							
						
					
					
						commit
						64359c9417
					
				| @ -847,61 +847,40 @@ func MakeChainConfigFromDb(ctx *cli.Context, db ethdb.Database) *params.ChainCon | ||||
| 		(genesis.Hash() == params.MainNetGenesisHash && !ctx.GlobalBool(TestNetFlag.Name)) || | ||||
| 		(genesis.Hash() == params.TestNetGenesisHash && ctx.GlobalBool(TestNetFlag.Name)) | ||||
| 
 | ||||
| 	// Set any missing chainConfig fields due to them being unset or system upgrade
 | ||||
| 	if defaults { | ||||
| 		if config.HomesteadBlock == nil { | ||||
| 			if ctx.GlobalBool(TestNetFlag.Name) { | ||||
| 				config.HomesteadBlock = params.TestNetHomesteadBlock | ||||
| 			} else { | ||||
| 				config.HomesteadBlock = params.MainNetHomesteadBlock | ||||
| 			} | ||||
| 		// Homestead fork
 | ||||
| 		if ctx.GlobalBool(TestNetFlag.Name) { | ||||
| 			config.HomesteadBlock = params.TestNetHomesteadBlock | ||||
| 		} else { | ||||
| 			config.HomesteadBlock = params.MainNetHomesteadBlock | ||||
| 		} | ||||
| 		if config.DAOForkBlock == nil { | ||||
| 			if ctx.GlobalBool(TestNetFlag.Name) { | ||||
| 				config.DAOForkBlock = params.TestNetDAOForkBlock | ||||
| 			} else { | ||||
| 				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.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.ChainId = params.TestNetChainID | ||||
| 			} else { | ||||
| 				config.ChainId = params.MainNetChainID | ||||
| 			} | ||||
| 		// DAO fork
 | ||||
| 		if ctx.GlobalBool(TestNetFlag.Name) { | ||||
| 			config.DAOForkBlock = params.TestNetDAOForkBlock | ||||
| 		} else { | ||||
| 			config.DAOForkBlock = params.MainNetDAOForkBlock | ||||
| 		} | ||||
| 		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
 | ||||
| 	switch { | ||||
| 	case ctx.GlobalBool(SupportDAOFork.Name): | ||||
|  | ||||
| @ -130,6 +130,7 @@ func NewNode(datadir string, config *NodeConfig) (*Node, error) { | ||||
| 	if config.EthereumEnabled { | ||||
| 		ethConf := ð.Config{ | ||||
| 			ChainConfig: ¶ms.ChainConfig{ | ||||
| 				ChainId:        big.NewInt(config.EthereumChainConfig.ChainID), | ||||
| 				HomesteadBlock: big.NewInt(config.EthereumChainConfig.HomesteadBlock), | ||||
| 				DAOForkBlock:   big.NewInt(config.EthereumChainConfig.DAOForkBlock), | ||||
| 				DAOForkSupport: config.EthereumChainConfig.DAOForkSupport, | ||||
|  | ||||
| @ -27,6 +27,7 @@ import ( | ||||
| // MainnetChainConfig returns the chain configurations for the main Ethereum network.
 | ||||
| func MainnetChainConfig() *ChainConfig { | ||||
| 	return &ChainConfig{ | ||||
| 		ChainID:        params.MainNetChainID.Int64(), | ||||
| 		HomesteadBlock: params.MainNetHomesteadBlock.Int64(), | ||||
| 		DAOForkBlock:   params.MainNetDAOForkBlock.Int64(), | ||||
| 		DAOForkSupport: true, | ||||
| @ -46,9 +47,10 @@ func MainnetGenesis() string { | ||||
| // TestnetChainConfig returns the chain configurations for the Ethereum test network.
 | ||||
| func TestnetChainConfig() *ChainConfig { | ||||
| 	return &ChainConfig{ | ||||
| 		ChainID:        params.TestNetChainID.Int64(), | ||||
| 		HomesteadBlock: params.TestNetHomesteadBlock.Int64(), | ||||
| 		DAOForkBlock:   0, | ||||
| 		DAOForkSupport: false, | ||||
| 		DAOForkSupport: true, | ||||
| 		EIP150Block:    params.TestNetHomesteadGasRepriceBlock.Int64(), | ||||
| 		EIP150Hash:     Hash{params.TestNetHomesteadGasRepriceHash}, | ||||
| 		EIP155Block:    params.TestNetSpuriousDragon.Int64(), | ||||
| @ -63,6 +65,7 @@ func TestnetGenesis() string { | ||||
| 
 | ||||
| // ChainConfig is the core config which determines the blockchain settings.
 | ||||
| type ChainConfig struct { | ||||
| 	ChainID        int64 // Chain ID for replay protection
 | ||||
| 	HomesteadBlock int64 // Homestead switch block
 | ||||
| 	DAOForkBlock   int64 // TheDAO hard-fork switch block
 | ||||
| 	DAOForkSupport bool  // Whether the nodes supports or opposes the DAO hard-fork
 | ||||
|  | ||||
| @ -24,6 +24,7 @@ import ( | ||||
| 
 | ||||
| // MainnetChainConfig is the chain parameters to run a node on the main network.
 | ||||
| var MainnetChainConfig = &ChainConfig{ | ||||
| 	ChainId:        MainNetChainID, | ||||
| 	HomesteadBlock: MainNetHomesteadBlock, | ||||
| 	DAOForkBlock:   MainNetDAOForkBlock, | ||||
| 	DAOForkSupport: true, | ||||
| @ -35,6 +36,7 @@ var MainnetChainConfig = &ChainConfig{ | ||||
| 
 | ||||
| // TestnetChainConfig is the chain parameters to run a node on the test network.
 | ||||
| var TestnetChainConfig = &ChainConfig{ | ||||
| 	ChainId:        TestNetChainID, | ||||
| 	HomesteadBlock: TestNetHomesteadBlock, | ||||
| 	DAOForkBlock:   TestNetDAOForkBlock, | ||||
| 	DAOForkSupport: false, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user