kleros-v2 icon indicating copy to clipboard operation
kleros-v2 copied to clipboard

Update Solc version from 0.8.18 to 0.8.24

Open jaybuidl opened this issue 1 year ago • 2 comments

Notable changes

v0.8.18

  • Use named parameters in mappings
// before
mapping(address => uint256) public balanceOf;

// after
mapping(address userAddress => uint256 balance) public balanceOf;

v0.8.19:

v0.8.20:

  • Defaults to EVM version Shanghai
  • PUSH0 support: make that the target chain supports it, Arbitrum and Gnosis chain now support it.
    • Run cast call -r <RPC_URL> --create 0x5f, if it returns 0x then it supports it, otherwise it returns an error.

v0.8.21

  • Immutable variables initialization is now optional
  • Qualified access to foreign events now allows emitting events defined in other contracts not inherited from.

v0.8.22

  • Ugly unchecked increments in for loops no longer necessary to save gas
  • Events can now be defined at file-level, outside a contract

v0.8.23

  • Nothing at language level

v0.8.24

  • Support for Cancun features, not enabled by default
  • Notable Cancun features
    • EIP-1153: Transient storage TSTORE and TLOAD opcodes, not in Solidity yet.
    • EIP-4844: Blob transactions, adds blobhash() and block. blobbasefee.
    • EIP-6780 SELFDESTRUCT limitations: it doesn't clear storage and contract code anymore unless the contract was created in the same transaction.

jaybuidl avatar Feb 18 '24 03:02 jaybuidl

v0.8.25

  • Defaults to EVM version Cancun.
  • MCOPY instead of MLOAD/MSTORE while copying byte arrays.
  • Emit transient storage warning only for the first occurrence of tstore.

Anmol-Dhiman avatar Apr 09 '24 12:04 Anmol-Dhiman

Hardhat doesn't support v0.8.25 yet. resource

Anmol-Dhiman avatar Apr 09 '24 17:04 Anmol-Dhiman