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

Missing bytecode size warnings for EIP-3860 and in Yul/EVM asm mode #15861

Open
cameel opened this issue Feb 13, 2025 · 1 comment
Open

Missing bytecode size warnings for EIP-3860 and in Yul/EVM asm mode #15861

cameel opened this issue Feb 13, 2025 · 1 comment
Labels
low effort There is not much implementation work to be done. The task is very easy or tiny. low impact Changes are not very noticeable or potential benefits are limited. should have We like the idea but it’s not important enough to be a part of the roadmap.

Comments

@cameel
Copy link
Member

cameel commented Feb 13, 2025

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 in spuriousDragon.
  2. 49152 bytes for initcode, introduced by EIP-3860: Limit and meter initcode 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.

@cameel cameel added low effort There is not much implementation work to be done. The task is very easy or tiny. low impact Changes are not very noticeable or potential benefits are limited. should have We like the idea but it’s not important enough to be a part of the roadmap. labels Feb 13, 2025
@cameel
Copy link
Member Author

cameel commented Feb 18, 2025

This was discussed on the call yesterday. We decided we should add the warnings, though the priority is low. No one complained about missing them so far and I think frameworks already check these limits before deployment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
low effort There is not much implementation work to be done. The task is very easy or tiny. low impact Changes are not very noticeable or potential benefits are limited. should have We like the idea but it’s not important enough to be a part of the roadmap.
Projects
None yet
Development

No branches or pull requests

1 participant