[Fix] Emit genesis shnarf and initializer to latest version#2337
Open
thedarkjester wants to merge 6 commits intomainfrom
Open
[Fix] Emit genesis shnarf and initializer to latest version#2337thedarkjester wants to merge 6 commits intomainfrom
thedarkjester wants to merge 6 commits intomainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2337 +/- ##
============================================
- Coverage 60.93% 60.92% -0.01%
Complexity 1619 1619
============================================
Files 436 437 +1
Lines 17363 17359 -4
Branches 1908 1906 -2
============================================
- Hits 10580 10576 -4
Misses 6123 6123
Partials 660 660
*This pull request uses carry forward flags. Click here to find out more.
🚀 New features to boost your workflow:
|
kyzooghost
previously approved these changes
Feb 10, 2026
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.
This PR implements issue(s) #
Checklist
Note
High Risk
Touches upgrade/initializer gating and reentrancy protections in core messaging/bridging/rollup contracts; incorrect versioning or slot handling could break proxy upgrades or weaken safety guarantees.
Overview
Adds a shared
InitializationVersionCheckmixin and updatesTokenBridge,L2MessageService, andLineaRollupinitializers to require an exact pre-initialized version (0) and to use newerreinitializerversions (TokenBridge/L2MessageService: 3,LineaRollup: 8), changing “double-initialize” failures to the newInitializedVersionWrongcustom error.Reworks upgrade reinitializers (
reinitializeV3/reinitializeV8) to drop proxy-admin slot checks and instead clear legacy OpenZeppelin reentrancy guard storage with explicit slot writes, reverting withReentrantCallif the legacy guard indicates an entered state;TransientStorageReentrancyGuardUpgradeableis also updated to use a fixed transient storage key viatload/tstore.Updates rollup initialization to emit
LineaRollupBaseInitializedwith an addedgenesisShnarfargument, and extends test-only contracts to allow rawsload/sstorefor simulating upgrade states; Hardhat tests are updated/expanded to assert initialized versions, upgrade behavior, and new revert expectations.Written by Cursor Bugbot for commit 7f1bd60. This will update automatically on new commits. Configure here.