tests, core: update tests and make STATICCALL cause touch-delete (#18187)
This commit is contained in:
		
				
					committed by
					
						 Péter Szilágyi
						Péter Szilágyi
					
				
			
			
				
	
			
			
			
						parent
						
							3d21d455dc
						
					
				
				
					commit
					7c657fc789
				
			| @@ -339,6 +339,12 @@ func (evm *EVM) StaticCall(caller ContractRef, addr common.Address, input []byte | |||||||
| 	contract := NewContract(caller, to, new(big.Int), gas) | 	contract := NewContract(caller, to, new(big.Int), gas) | ||||||
| 	contract.SetCallCode(&addr, evm.StateDB.GetCodeHash(addr), evm.StateDB.GetCode(addr)) | 	contract.SetCallCode(&addr, evm.StateDB.GetCodeHash(addr), evm.StateDB.GetCode(addr)) | ||||||
|  |  | ||||||
|  | 	// We do an AddBalance of zero here, just in order to trigger a touch. | ||||||
|  | 	// This doesn't matter on Mainnet, where all empties are gone at the time of Byzantium, | ||||||
|  | 	// but is the correct thing to do and matters on other networks, in tests, and potential | ||||||
|  | 	// future scenarios | ||||||
|  | 	evm.StateDB.AddBalance(addr, bigZero) | ||||||
|  |  | ||||||
| 	// When an error was returned by the EVM or when setting the creation code | 	// When an error was returned by the EVM or when setting the creation code | ||||||
| 	// above we revert to the snapshot and consume any gas remaining. Additionally | 	// above we revert to the snapshot and consume any gas remaining. Additionally | ||||||
| 	// when we're in Homestead this also counts for code storage gas errors. | 	// when we're in Homestead this also counts for code storage gas errors. | ||||||
|   | |||||||
| @@ -86,6 +86,15 @@ var Forks = map[string]*params.ChainConfig{ | |||||||
| 		EIP158Block:    big.NewInt(0), | 		EIP158Block:    big.NewInt(0), | ||||||
| 		ByzantiumBlock: big.NewInt(5), | 		ByzantiumBlock: big.NewInt(5), | ||||||
| 	}, | 	}, | ||||||
|  | 	"ByzantiumToConstantinopleAt5": { | ||||||
|  | 		ChainID:             big.NewInt(1), | ||||||
|  | 		HomesteadBlock:      big.NewInt(0), | ||||||
|  | 		EIP150Block:         big.NewInt(0), | ||||||
|  | 		EIP155Block:         big.NewInt(0), | ||||||
|  | 		EIP158Block:         big.NewInt(0), | ||||||
|  | 		ByzantiumBlock:      big.NewInt(0), | ||||||
|  | 		ConstantinopleBlock: big.NewInt(5), | ||||||
|  | 	}, | ||||||
| } | } | ||||||
|  |  | ||||||
| // UnsupportedForkError is returned when a test requests a fork that isn't implemented. | // UnsupportedForkError is returned when a test requests a fork that isn't implemented. | ||||||
|   | |||||||
 Submodule tests/testdata updated: 95a3092038...c02a2a17c0
									
								
							
		Reference in New Issue
	
	Block a user