Relevant changes / opcode specs
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.
Gas cost for the
exp opcode increased, impacts gas estimation and optimization.
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.
Constantinople / Petersburg
sar are available in assembly.
Bitwise shifting operators use shifting opcodes (
sar), requiring less gas.
selfbalance are available in assembly.
Gas costs for
SELFDESTRUCT increased. The compiler assumes cold gas costs for such operations. This is relevant for gas estimation and the optimizer.
The block’s base fee (EIP-3198 and EIP-1559) can be accessed via the global
basefee() in inline assembly.
Delays the difficulty bomb until June 2022.
Delays the difficulty bomb by an additional 3 months to September 2022.