kleros / vea

Vea bridge
https://vea.ninja
MIT License
10 stars 6 forks source link

Update Solc version from 0.8.18 to 0.8.24 #280

Closed jaybuidl closed 4 months ago

jaybuidl commented 4 months ago

Notable changes

v0.8.18

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



[v0.8.19](https://soliditylang.org/blog/2023/02/22/solidity-0.8.19-release-announcement/): 
- User-defined value types, [blog post](https://soliditylang.org/blog/2023/02/22/user-defined-operators/)

[v0.8.20](https://soliditylang.org/blog/2023/05/10/solidity-0.8.20-release-announcement):
- 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](https://soliditylang.org/blog/2023/07/19/solidity-0.8.21-release-announcement)
- 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](https://soliditylang.org/blog/2023/10/25/solidity-0.8.22-release-announcement)
- 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](https://soliditylang.org/blog/2023/11/08/solidity-0.8.23-release-announcement)
- Nothing at language level

[v0.8.24](https://soliditylang.org/blog/2024/01/26/solidity-0.8.24-release-announcement)
- Support for Cancun features, not enabled by default
- Notable Cancun features
  - [EIP-1153: Transient storage TSTORE and TLOAD opcodes](https://soliditylang.org/blog/2024/01/26/transient-storage/), 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: https://github.com/kleros/kleros-v2/issues/1510