feat(tests): cover invalid-BAL content canonicality (no-op / missing / phantom-read entries)#3170
Open
edg-l wants to merge 1 commit into
Open
Conversation
Add invalid Block-Level Access List (EIP-7928) cases exercising content-canonicality violations the existing suite misses: - spurious no-op (post==pre) storage/balance/nonce/code change entries - a storage write omitted from the BAL - a CREATE's code_changes omitted - a slot change recorded only at a later index than the tx that wrote it - a phantom storage_read on a same-tx selfdestructed account Add remove_slot_change modifier to drop a single slot_change entry, and catalog the new cases in test_cases.md.
edg-l
marked this pull request as ready for review
July 14, 2026 16:05
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/amsterdam #3170 +/- ##
================================================
Coverage 93.37% 93.37%
================================================
Files 624 624
Lines 36993 36993
Branches 3384 3384
================================================
Hits 34544 34544
Misses 1676 1676
Partials 773 773
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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
Adds invalid Block-Level Access List (EIP-7928) tests for canonicality violations the current suite doesn't cover. The existing invalid-BAL tests inject values that differ from execution state, so entries that match the start-of-tx value, omitted writes, and phantom reads on destroyed accounts all pass today.
New cases, all expecting
INVALID_BLOCK_ACCESS_LIST:code_changesomittedstorage_readon an account created and destroyed in the same txAlso adds a
remove_slot_changemodifier and lists the new cases intest_cases.md. All cases fill against the reference spec and the full amsterdam eip7928 suite fills with no regressions.Related Issues or PRs
N/A.
Checklist
just static<type>(<area>): <title>, where<type>and<area>come from an appropriateC-<type>, respectivelyA-<area>, label. The title should match the target squash commit message.Cute Animal Picture