Missing bytecode size warnings in Yul/EVM asm mode
Open
low effort
low impact
should have
- Dominant language
- C++
- Stars
- 25.7k
- Forks
- 6.2k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 29
Description
There are currently two limits on the bytecode size on mainnet:
1. 24576 bytes for runtime code, introduced by [EIP-170: Contract code size limit](https://eips.ethereum.org/EIPS/eip-170) in `spuriousDragon`.
2. 49152 bytes for initcode, introduced by [EIP-3860: Limit and meter initcode](https://eips.ethereum.org/EIPS/eip-3860) in `shanghai`.
The compiler emits warnings only when the first one is exceeded and then only when compiling Solidity (i.e. not Yul or imported EVM assembly). If the warning is useful, we should emit it in both cases and in all input modes.
EDIT: Apparently the EIP-3860 warning is already there.
Contributor guide
Assessment
This issue has not been assessed yet.