Skip to content

Update Solc version from 0.8.18 to 0.8.24 #1510

Closed
@jaybuidl

Description

@jaybuidl

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions