feat(fixtures,specs,types): Verify address collisions during pre-alloc grouping phase#1922
Merged
feat(fixtures,specs,types): Verify address collisions during pre-alloc grouping phase#1922
Conversation
Collaborator
|
Can you provide an example command (ideally a minimal / fast one) that we can use to see the different behavior (before this PR vs after the PR)? |
felix314159
approved these changes
Jul 18, 2025
Member
Author
You can try this command: uv run fill --clean --fork=Cancun --fill-static-tests --generate-pre-alloc-groups tests/static/state_tests/Shanghai/stEIP3855_push0/ -xBefore and after this PR: before it fails until the second phase, and after it fails during the first phase because it detects the collision early. |
9b85fca to
a5caed7
Compare
a5caed7 to
4fa1f0d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🗒️ Description
Detects different tests writing different accounts to the same address in the pre-allocation in the same group, and fails early if that's the case.
It works by the following procedure:
consume engine-x, so even though the two tests access and (potentially) modify the same account, when the revert to genesis happens the account also reverts to the original state expected by both tests.This is helpful to debug static tests and quickly detect when two static tests with same hard-coded addresses interfere with each other.
🔗 Related Issues or PRs
N/A.
✅ Checklist
toxchecks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:uvx --with=tox-uv tox -e lint,typecheck,spellcheck,markdownlinttype(scope):.