-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
op-node: Separate attributes processing from EngineQueue #10642
Conversation
Semgrep found 2 No Semgrep found 2 Variable Semgrep found 1 Do not use Semgrep found 1 Please create a GitHub ticket for this TODO. Ignore this finding from todos_require_linear. |
d9f1845
to
06e3ba3
Compare
06746b5
to
9059f6d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
06e3ba3
to
113cde7
Compare
9059f6d
to
fbe198b
Compare
Rebased on |
113cde7
to
22c10ae
Compare
fbe198b
to
3f5004d
Compare
rebased on develop, dependency PR was merged |
3f5004d
to
3bc8330
Compare
Rebased again, hoping for less flakes in CI, although won't affect merge queue |
Description
This separate the attributes-processing (safe head consolidation / force-insertion) from the EngineQueue.
This PR depends on #10599, and is the next sub-step of 1a in the derivation refactor (see design doc) to remove the EngineQueue and make the derivation-pipeline return attributes, rather than tightly coupled to the execution engine.
Since attributes-matching is coupled to the attributes-handling, I moved this out of
derive
and into the same newattributes
package, with some slight improvements.The
EngineQueue
still does a L1-origin check for the derivation traversal, which I'll pull into its own isolated function in the next PR, and then we can finally remove theEngineQueue
.Also moves the sync-progress logging to the engine-controller, so it doesn't get duplicated by all the different engine-bindings callers.
Tests
The
EngineQueue
was missing tests for safe-head progression/consolidation. Now that this functionality has been encapsulated, theAttributesHandler
covers the different ways attributes can be processed.Metadata
Fix https://github.com/ethereum-optimism/protocol-quest/issues/271
added the do-not-merge label, so the base PRs can be merged first, to keep the diffs sane