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
				
			| @@ -95,6 +95,18 @@ func ApplyTransaction(config *params.ChainConfig, bc ChainContext, author *commo | ||||
| 	// Create a new environment which holds all relevant information | ||||
| 	// about the transaction and calling mechanisms. | ||||
| 	vmenv := vm.NewEVM(context, statedb, config, cfg) | ||||
|  | ||||
| 	if config.IsYoloV2(header.Number) { | ||||
| 		statedb.AddAddressToAccessList(msg.From()) | ||||
| 		if dst := msg.To(); dst != nil { | ||||
| 			statedb.AddAddressToAccessList(*dst) | ||||
| 			// If it's a create-tx, the destination will be added inside evm.create | ||||
| 		} | ||||
| 		for _, addr := range vmenv.ActivePrecompiles() { | ||||
| 			statedb.AddAddressToAccessList(addr) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// Apply the transaction to the current state (included in the env) | ||||
| 	result, err := ApplyMessage(vmenv, msg, gp) | ||||
| 	if err != nil { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user