Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 11.9 KB

evm-version-information.md

File metadata and controls

22 lines (17 loc) · 11.9 KB

EVM Version Information

You are asked to provide the EVM version the contract uses during the verification process. If the bytecode does not match the version, we try to verify using the latest EVM version (currently London).

For more information, see the Solidity docs on specifying the EVM version when compiling a contract. Note that backward compatibility is not guaranteed between each version.

Name Date Mainnet Block # Relevant changes / opcode specs EIP details
Homestead 14 Mar 2016 1,150,000 Oldest version http://eips.ethereum.org/EIPS/eip-606
Tangerine Whistle 18 Oct 2016 2,463,000

Gas cost to access other accounts increased, impacts gas estimation and optimization.

All gas sent by default for external calls, previously a certain amount had to be retained.

http://eips.ethereum.org/EIPS/eip-608
Spurious Dragon 22 Nov 2016 2,675,000 Gas cost for the exp opcode increased, impacts gas estimation and optimization. http://eips.ethereum.org/EIPS/eip-607
Byzantium 16 Oct 2017 4,370,000

Opcodes returndatacopy, returndatasize and staticcall available in assembly.

staticcall opcode used when calling non-library view or pure functions, which prevents the functions from modifying state at the EVM level, this even applies to invalid type conversions.

Ability to access dynamic data returned from function calls.

revert opcode introduced, revert() will not waste gas.

http://eips.ethereum.org/EIPS/eip-609
Constantinople / Petersburg 28 Feb 2019 7,280,000

Opcodes create2, extcodehash, shl, shr and sar are available in assembly.

Bitwise shifting operators use shifting opcodes (shl,shr,sar), requiring less gas.

http://eips.ethereum.org/EIPS/eip-1013
Istanbul 08 Dec 2019 9,069,000 Opcodes chainid and selfbalance are available in assembly. https://eips.ethereum.org/EIPS/eip-1679
Berlin 14 Apr 2021 12,244,000 Gas costs for SLOAD, *CALL, BALANCE, EXT* and SELFDESTRUCT increased. The compiler assumes cold gas costs for such operations. This is relevant for gas estimation and the optimizer. https://eips.ethereum.org/EIPS/eip-2070
London 05 Aug 2021 12,965,000 The block’s base fee (EIP-3198 and EIP-1559) can be accessed via the global block.basefee or basefee() in inline assembly.

Arrow Glacier* 09 Aug 2021 13,773,000 Delays the difficulty bomb until June 2022. ****https://eips.ethereum.org/EIPS/eip-4345
Gray Glacier* 30 June 2022 15,050,000 Delays the difficulty bomb by an additional 3 months to September 2022. https://eips.ethereum.org/EIPS/eip-5133

*Does not impact version for contract verification.