op-supervisor: Cross-safe updates [rebased]#12624
Merged
protolambda merged 6 commits intodevelopfrom Oct 25, 2024
Merged
Conversation
op-supervisor: experimental cross-safety, with hazard detection tweak: Add some errors/error returns in backend/cross. wip: Chain index <> ID mapping. fix: Check parent instead of re-checking hazardBlock. Remove Hazard Work Write missing DB Bindings OpenBlock, LocallyDerivedFrom, CrossDerivedFrom Configurable WorkFn for Workers op-supervisor: move chain-index <> chain ID translation into dependency set, fix some interfaces op-supervisor: update cross-safety worker routine op-supervisor: update more error handling op-supervisor: move errors to types package op-supervisor: check CanExecuteAt and CanInitiateAt op-supervisor: determine cross-safe candidate and L1 scope, and more fixes todo L1 scope increment op-supervisor: cross-safe L1 scope bump op-supervisor: dependency set getter op-supervisor: L1 scope increment fix op-supervisor: fix cross-safe updates typing op-node: signal L1 traversal of derivation to supervisor op-supervisor: fromda fixes and tests op-supervisor: fix OpenBlock, fix/add missing interface methods, hook up cross-safe worker routines OpenBlock to return map[uint32]ExecutingMessage Add Frontier Unit Tests fix WithParent panic op-node: register L1 traversal with op-supervisor op-node,op-supervisor: add logging, temp work around for interop local-safe updates Add safe_start_test, unsafe_start_test Add safe_update_test and unsafe_update_test add worker_test op-supervisor: fix cross-safe L1 scope bumping op-supervisor: fix logs DB test Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt>
a8a0812 to
fd55193
Compare
axelKingsley
approved these changes
Oct 24, 2024
Contributor
axelKingsley
left a comment
There was a problem hiding this comment.
Annotating as I go:
LocalSafeUpdateEventsare now described asInteropPendingSafeChangedEvents, and theLastL2informs the Ref- Processors in the backend 👍 (I am already very familiar with this)
Hazard*FrontierChecks👍Cross*Hazards👍Cross*Update👍Worker👍
I wrote unit tests across all the cross package, so I am already familiar with its behavior and functionality. There is an issue with changed expectations in an Action Test which need to be fixed, but besides that this LGTM 🚀 .
Contributor
|
Semgrep found 3
Malformed revert statement style. Ignore this finding from sol-style-malformed-revert.Semgrep found 9
"Hash not approved" Malformed require statement style. Ignore this finding from sol-style-malformed-require. |
samlaf
pushed a commit
to samlaf/optimism
that referenced
this pull request
Nov 10, 2024
* op-supervisor: cross-safe-updates PR squashed op-supervisor: experimental cross-safety, with hazard detection tweak: Add some errors/error returns in backend/cross. wip: Chain index <> ID mapping. fix: Check parent instead of re-checking hazardBlock. Remove Hazard Work Write missing DB Bindings OpenBlock, LocallyDerivedFrom, CrossDerivedFrom Configurable WorkFn for Workers op-supervisor: move chain-index <> chain ID translation into dependency set, fix some interfaces op-supervisor: update cross-safety worker routine op-supervisor: update more error handling op-supervisor: move errors to types package op-supervisor: check CanExecuteAt and CanInitiateAt op-supervisor: determine cross-safe candidate and L1 scope, and more fixes todo L1 scope increment op-supervisor: cross-safe L1 scope bump op-supervisor: dependency set getter op-supervisor: L1 scope increment fix op-supervisor: fix cross-safe updates typing op-node: signal L1 traversal of derivation to supervisor op-supervisor: fromda fixes and tests op-supervisor: fix OpenBlock, fix/add missing interface methods, hook up cross-safe worker routines OpenBlock to return map[uint32]ExecutingMessage Add Frontier Unit Tests fix WithParent panic op-node: register L1 traversal with op-supervisor op-node,op-supervisor: add logging, temp work around for interop local-safe updates Add safe_start_test, unsafe_start_test Add safe_update_test and unsafe_update_test add worker_test op-supervisor: fix cross-safe L1 scope bumping op-supervisor: fix logs DB test Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt> * op-node: fix interop deriver test * op-e2e: fix interop action test * op-supervisor: improve map init * op-node: link interop TODO comment to issue, in engine events emitter * op-supervisor: cleanup Worker instances of tests --------- Co-authored-by: axelKingsley <axel.kingsley@gmail.com> Co-authored-by: Tyler Smith <mail@tcry.pt>
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
The cross-safe update routines part, and some integration fixes, of #12460
Based on top of #12623
Tests
Additional context
Metadata
Commits in Squash (copied from commit body):
op-supervisor: experimental cross-safety, with hazard detection
tweak: Add some errors/error returns in backend/cross.
wip: Chain index <> ID mapping.
fix: Check parent instead of re-checking hazardBlock.
Remove Hazard Work
Write missing DB Bindings OpenBlock, LocallyDerivedFrom, CrossDerivedFrom
Configurable WorkFn for Workers
op-supervisor: move chain-index <> chain ID translation into dependency set, fix some interfaces
op-supervisor: update cross-safety worker routine
op-supervisor: update more error handling
op-supervisor: move errors to types package
op-supervisor: check CanExecuteAt and CanInitiateAt
op-supervisor: determine cross-safe candidate and L1 scope, and more fixes
todo L1 scope increment
op-supervisor: cross-safe L1 scope bump
op-supervisor: dependency set getter
op-supervisor: L1 scope increment fix
op-supervisor: fix cross-safe updates typing
op-node: signal L1 traversal of derivation to supervisor
op-supervisor: fromda fixes and tests
op-supervisor: fix OpenBlock, fix/add missing interface methods, hook up cross-safe worker routines
OpenBlock to return map[uint32]ExecutingMessage
Add Frontier Unit Tests
fix WithParent panic
op-node: register L1 traversal with op-supervisor
op-node,op-supervisor: add logging, temp work around for interop local-safe updates
Add safe_start_test, unsafe_start_test
Add safe_update_test and unsafe_update_test
add worker_test
op-supervisor: fix cross-safe L1 scope bumping
op-supervisor: fix logs DB test