Closed
Conversation
…pes; batch-limited advancement; engine head logs; tests for commit + reorg; update plan
88f946c to
a0c3dd2
Compare
| // best-effort refresh of local anchor hash if available | ||
| if lr, err := c.l2.L2BlockRefByHash(ctx, anchor.Hash); err == nil { | ||
| anchor = lr | ||
| } |
There was a problem hiding this comment.
Bug: Anchor State Inconsistency After Decrement
In stepFinalizedOne and stepSafeOne, after anchor.Number is decremented, the L2BlockRefByHash lookup uses the old anchor.Hash. This hash belongs to the previous block number, not the decremented one, which can lead to an inconsistent anchor state.
Additional Locations (1)
| // Start poller after driver start | ||
| go func() { | ||
| _ = poller.Start(driverCtx) | ||
| }() |
There was a problem hiding this comment.
karlfloersch
pushed a commit
that referenced
this pull request
Mar 5, 2026
…thereum-optimism#19272) * contracts: implement audit code fixes and add tests Add onlyDelegateCall enforcement to upgradeSuperchain, upgrade, and migrate functions (#17). Include msg.sender in deploy salt to prevent cross-caller CREATE2 collisions (#17). Add duplicate instruction key detection in upgrade validation (#9). Validate startingRespectedGameType against enabled game configs (#10). Add code-existence check in loadBytes (#18). Add setUp guard to VerifyOPCM.runSingle (#4). Remove unused _findChar function (#5). Pass real AddressManager in migrator proxy deploy args (#11). Add tests covering all audit fix behaviors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * contracts: regenerate semver-lock.json for OPContractsManagerV2 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * contracts: bump OPContractsManagerV2 version to 7.0.10 Semver-diff requires a patch version bump when bytecode changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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.
Note
Introduces an experimental lite-mode that sources L2 safe/finalized heads from an external RPC, with new flags, engine guards, driver wiring, and a poller to advance labels and commit missing blocks.
safe/finalizedheads viaop-node/litemode/poller (single-step advancement, common-ancestor check, commit missing blocks via payload envelopes, FCU updates).TryUpdateEngine.--lite-mode-rpc,--lite-mode-poll-interval; env support in devstack (OP_NODE_LITE_MODE_RPC).service.go,driver.Config, andconfig.Config; enforces exclusion with interop/indexing.EngineController:liteModeEnabledgate; safe/finality promotion paths inert when enabled; added info logs onSet*Head.driver.NewDriver: wires lite-mode, skipsfinalizer, starts poller.node/node.go: guardFinalizer.OnL1Finalizedwhennil.LITE_MODE_RPC.md,litemode/DESIGN.md).Written by Cursor Bugbot for commit a0c3dd2. This will update automatically on new commits. Configure here.