Skip to content

feat(pre_alloc): Add maximum bytecode size limit for contract deployment#2150

Merged
LouisTsai-Csie merged 4 commits intoethereum:mainfrom
LouisTsai-Csie:fix/deploy-contract-limit
Oct 6, 2025
Merged

feat(pre_alloc): Add maximum bytecode size limit for contract deployment#2150
LouisTsai-Csie merged 4 commits intoethereum:mainfrom
LouisTsai-Csie:fix/deploy-contract-limit

Conversation

@LouisTsai-Csie
Copy link
Collaborator

@LouisTsai-Csie LouisTsai-Csie commented Sep 15, 2025

🗒️ Description

We do not verify the deployed code size limit in fill, this leads to several issue:

  • The PUSH benchmark test is actually invalid.
  • We do not notice the limit in bloatnet benchmark test -> i left a review that is impossible to implement.

This PR enforces the deployed contract size limit check and resolve the failing test.

🔗 Related Issues or PRs

PR #2090

Comment: #2090 (comment)

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx --with=tox-uv tox -e lint,typecheck,spellcheck,markdownlint
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered adding an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.
  • Tests: For PRs implementing a missed test case, update the post-mortem document to add an entry the list.
  • Ported Tests: All converted JSON/YML tests from ethereum/tests or tests/static have been assigned @ported_from marker.

@LouisTsai-Csie LouisTsai-Csie force-pushed the fix/deploy-contract-limit branch from 557109a to c76fcd9 Compare September 15, 2025 10:13
@LouisTsai-Csie LouisTsai-Csie merged commit d8523ed into ethereum:main Oct 6, 2025
16 checks passed
kclowes pushed a commit to kclowes/execution-spec-tests that referenced this pull request Oct 20, 2025
…ent (ethereum#2150)

* feat(pre_alloc): Add maximum bytecode size limit for contract deployment

* refactor(benchmark): resolve contract size limit failing cases

* feat(pre_alloc): integrate fork dependency for dynamic bytecode size limit

* refactor: remove hardcoded value
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants