binary(tests): consecutive deploys into a shared code zone - #3316
Open
awskii wants to merge 2 commits into
Open
Conversation
Every existing overflow-code case deploys into an empty code zone. Chunks past the header are content-addressed and share one zone chain-wide, so every deploy after the first inserts beside stems already there.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## projects/binary-trie #3316 +/- ##
=====================================================
Coverage 93.00% 93.00%
=====================================================
Files 628 628
Lines 37395 37395
Branches 3445 3445
=====================================================
Hits 34779 34779
Misses 1859 1859
Partials 757 757
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:
|
CPerezz
self-requested a review
August 5, 2026 15:02
Contributor
|
Do you mind also rebasing this ser? (merged in a PR that removes code from the account header) |
EIP-8297 moved every code chunk into the code zone (ethereum#3310), removing CODE_OFFSET. Sizing by chunk count instead leaves the test valid on either side of that change.
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.
Every existing case that reaches the code zone puts one contract there. Code chunks are
content-addressed, so the whole chain shares one zone: the first deploy is the only one
that inserts into an empty one, and nothing pins that a later deploy leaves the stems
already present alone.
Changes
test_consecutive_deploys_share_the_code_zone: three contracts of 129, 137 and 256chunks, deployed one per block, then all three called in a final block. The lengths
differ so their stems cannot coincide by accident, and each writes its own marker on
the last block, which fails if a later deploy disturbed the code of an earlier one.
Sized by chunk count rather than by
CODE_OFFSET, so it fills unchanged before andafter #3310. Verified against both.