all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509)
* core/vm, core/state: implement EIP-2929 + YOLOv2 * core/state, core/vm: fix some review concerns * core/state, core/vm: address review concerns * core/vm: address review concerns * core/vm: better documentation * core/vm: unify sload cost as fully dynamic * core/vm: fix typo * core/vm/runtime: fix compilation flaw * core/vm/runtime: fix renaming-err leftovers * core/vm: renaming * params/config: use correct yolov2 chainid for config * core, params: use a proper new genesis for yolov2 * core/state/tests: golinter nitpicks
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							fb2c79df19
						
					
				
				
					commit
					6487c002f6
				
			| @@ -135,9 +135,9 @@ var ( | ||||
| 		Name:  "goerli", | ||||
| 		Usage: "Görli network: pre-configured proof-of-authority test network", | ||||
| 	} | ||||
| 	YoloV1Flag = cli.BoolFlag{ | ||||
| 		Name:  "yolov1", | ||||
| 		Usage: "YOLOv1 network: pre-configured proof-of-authority shortlived test network.", | ||||
| 	YoloV2Flag = cli.BoolFlag{ | ||||
| 		Name:  "yolov2", | ||||
| 		Usage: "YOLOv2 network: pre-configured proof-of-authority shortlived test network.", | ||||
| 	} | ||||
| 	RinkebyFlag = cli.BoolFlag{ | ||||
| 		Name:  "rinkeby", | ||||
| @@ -744,8 +744,8 @@ func MakeDataDir(ctx *cli.Context) string { | ||||
| 		if ctx.GlobalBool(GoerliFlag.Name) { | ||||
| 			return filepath.Join(path, "goerli") | ||||
| 		} | ||||
| 		if ctx.GlobalBool(YoloV1Flag.Name) { | ||||
| 			return filepath.Join(path, "yolo-v1") | ||||
| 		if ctx.GlobalBool(YoloV2Flag.Name) { | ||||
| 			return filepath.Join(path, "yolo-v2") | ||||
| 		} | ||||
| 		return path | ||||
| 	} | ||||
| @@ -803,7 +803,7 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) { | ||||
| 		urls = params.RinkebyBootnodes | ||||
| 	case ctx.GlobalBool(GoerliFlag.Name): | ||||
| 		urls = params.GoerliBootnodes | ||||
| 	case ctx.GlobalBool(YoloV1Flag.Name): | ||||
| 	case ctx.GlobalBool(YoloV2Flag.Name): | ||||
| 		urls = params.YoloV1Bootnodes | ||||
| 	case cfg.BootstrapNodes != nil: | ||||
| 		return // already set, don't apply defaults. | ||||
| @@ -839,7 +839,7 @@ func setBootstrapNodesV5(ctx *cli.Context, cfg *p2p.Config) { | ||||
| 		urls = params.RinkebyBootnodes | ||||
| 	case ctx.GlobalBool(GoerliFlag.Name): | ||||
| 		urls = params.GoerliBootnodes | ||||
| 	case ctx.GlobalBool(YoloV1Flag.Name): | ||||
| 	case ctx.GlobalBool(YoloV2Flag.Name): | ||||
| 		urls = params.YoloV1Bootnodes | ||||
| 	case cfg.BootstrapNodesV5 != nil: | ||||
| 		return // already set, don't apply defaults. | ||||
| @@ -1269,8 +1269,8 @@ func setDataDir(ctx *cli.Context, cfg *node.Config) { | ||||
| 		cfg.DataDir = filepath.Join(node.DefaultDataDir(), "rinkeby") | ||||
| 	case ctx.GlobalBool(GoerliFlag.Name) && cfg.DataDir == node.DefaultDataDir(): | ||||
| 		cfg.DataDir = filepath.Join(node.DefaultDataDir(), "goerli") | ||||
| 	case ctx.GlobalBool(YoloV1Flag.Name) && cfg.DataDir == node.DefaultDataDir(): | ||||
| 		cfg.DataDir = filepath.Join(node.DefaultDataDir(), "yolo-v1") | ||||
| 	case ctx.GlobalBool(YoloV2Flag.Name) && cfg.DataDir == node.DefaultDataDir(): | ||||
| 		cfg.DataDir = filepath.Join(node.DefaultDataDir(), "yolo-v2") | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @@ -1483,7 +1483,7 @@ func SetShhConfig(ctx *cli.Context, stack *node.Node) { | ||||
| // SetEthConfig applies eth-related command line flags to the config. | ||||
| func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) { | ||||
| 	// Avoid conflicting network flags | ||||
| 	CheckExclusive(ctx, DeveloperFlag, LegacyTestnetFlag, RopstenFlag, RinkebyFlag, GoerliFlag, YoloV1Flag) | ||||
| 	CheckExclusive(ctx, DeveloperFlag, LegacyTestnetFlag, RopstenFlag, RinkebyFlag, GoerliFlag, YoloV2Flag) | ||||
| 	CheckExclusive(ctx, LegacyLightServFlag, LightServeFlag, SyncModeFlag, "light") | ||||
| 	CheckExclusive(ctx, DeveloperFlag, ExternalSignerFlag) // Can't use both ephemeral unlocked and external signer | ||||
| 	CheckExclusive(ctx, GCModeFlag, "archive", TxLookupLimitFlag) | ||||
| @@ -1603,11 +1603,11 @@ func SetEthConfig(ctx *cli.Context, stack *node.Node, cfg *eth.Config) { | ||||
| 		} | ||||
| 		cfg.Genesis = core.DefaultGoerliGenesisBlock() | ||||
| 		SetDNSDiscoveryDefaults(cfg, params.GoerliGenesisHash) | ||||
| 	case ctx.GlobalBool(YoloV1Flag.Name): | ||||
| 	case ctx.GlobalBool(YoloV2Flag.Name): | ||||
| 		if !ctx.GlobalIsSet(NetworkIdFlag.Name) { | ||||
| 			cfg.NetworkId = 133519467574833 // "yolov1" | ||||
| 			cfg.NetworkId = 133519467574834 // "yolov2" | ||||
| 		} | ||||
| 		cfg.Genesis = core.DefaultYoloV1GenesisBlock() | ||||
| 		cfg.Genesis = core.DefaultYoloV2GenesisBlock() | ||||
| 	case ctx.GlobalBool(DeveloperFlag.Name): | ||||
| 		if !ctx.GlobalIsSet(NetworkIdFlag.Name) { | ||||
| 			cfg.NetworkId = 1337 | ||||
| @@ -1791,8 +1791,8 @@ func MakeGenesis(ctx *cli.Context) *core.Genesis { | ||||
| 		genesis = core.DefaultRinkebyGenesisBlock() | ||||
| 	case ctx.GlobalBool(GoerliFlag.Name): | ||||
| 		genesis = core.DefaultGoerliGenesisBlock() | ||||
| 	case ctx.GlobalBool(YoloV1Flag.Name): | ||||
| 		genesis = core.DefaultYoloV1GenesisBlock() | ||||
| 	case ctx.GlobalBool(YoloV2Flag.Name): | ||||
| 		genesis = core.DefaultYoloV2GenesisBlock() | ||||
| 	case ctx.GlobalBool(DeveloperFlag.Name): | ||||
| 		Fatalf("Developer chains are ephemeral") | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user