argotorg / argotorg/solidity

Missing bytecode size warnings in Yul/EVM asm mode

Open
#15,861 6 comments 0 reactions 1 assignee Claimed by @rodiazet View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.