Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Solc version from 0.8.18 to 0.8.24 #280

Closed
jaybuidl opened this issue May 15, 2024 · 0 comments · Fixed by #277 or #273
Closed

Update Solc version from 0.8.18 to 0.8.24 #280

jaybuidl opened this issue May 15, 2024 · 0 comments · Fixed by #277 or #273

Comments

@jaybuidl
Copy link
Member

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.

Related: kleros/kleros-v2#1510

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant