Skip to content
This repository was archived by the owner on Jan 16, 2026. It is now read-only.

feat(node/service): Delay sequencer's view of L1 chain#2568

Merged
clabby merged 1 commit intomainfrom
cl/delay-seq-l1
Jul 28, 2025
Merged

feat(node/service): Delay sequencer's view of L1 chain#2568
clabby merged 1 commit intomainfrom
cl/delay-seq-l1

Conversation

@clabby
Copy link
Copy Markdown
Contributor

@clabby clabby commented Jul 28, 2025

Overview

Adds the confirmation-delayed provider for the sequencer's L1 origin selector. This provider holds a reference to the L1 chain's head, and delays any block-by-number requests by a configurable amount. This prevents the sequencer from selecting an origin too close to the tip of the chain, resulting in fewer L1 origin selections that are reorganized out.

closes #2401

@clabby clabby self-assigned this Jul 28, 2025
@clabby clabby added K-feature Kind: feature A-node Area: cl node (eq. Go op-node) handles single-chain consensus W-node Workstream: kona-node labels Jul 28, 2025
@clabby clabby force-pushed the cl/delay-seq-l1 branch 2 times, most recently from 62782fd to cd74237 Compare July 28, 2025 16:45
@codecov
Copy link
Copy Markdown

codecov bot commented Jul 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.4%. Comparing base (f30aabe) to head (cd2b771).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@clabby clabby marked this pull request as ready for review July 28, 2025 16:57
Copilot AI review requested due to automatic review settings July 28, 2025 16:57
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a confirmation-delayed provider for the sequencer's L1 origin selector to prevent selecting L1 origins too close to the chain tip, reducing reorganization-related issues.

  • Introduces DelayedL1OriginSelectorProvider that wraps the existing provider and delays block-by-number requests based on a configurable confirmation depth
  • Adds L1 head tracking to the sequencer context to enable the delay logic
  • Updates sequencer configuration to include the L1 confirmation delay parameter

Reviewed Changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
crates/node/service/src/service/core.rs Adds L1 head receiver to sequencer context
crates/node/service/src/lib.rs Exports new DelayedL1OriginSelectorProvider type
crates/node/service/src/actors/sequencer/origin_selector.rs Implements the delayed provider with confirmation depth logic
crates/node/service/src/actors/sequencer/mod.rs Exports the new delayed provider type
crates/node/service/src/actors/sequencer/config.rs Adds L1 confirmation delay configuration field
crates/node/service/src/actors/sequencer/actor.rs Updates sequencer to use delayed provider and handle new configuration
crates/node/service/src/actors/mod.rs Re-exports the delayed provider type

Comment thread crates/node/service/src/actors/sequencer/origin_selector.rs Outdated
@clabby clabby force-pushed the cl/delay-seq-l1 branch 2 times, most recently from abce415 to 0d67201 Compare July 28, 2025 17:16
Comment thread crates/node/service/src/actors/sequencer/origin_selector.rs Outdated
Comment thread crates/node/service/src/actors/sequencer/origin_selector.rs Outdated
Copy link
Copy Markdown
Contributor

@refcell refcell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't update the derivation pipeline's view of the l1 chain though like the issue suggests right?

@clabby clabby force-pushed the cl/delay-seq-l1 branch from 0d67201 to 41ffa67 Compare July 28, 2025 19:29
@clabby
Copy link
Copy Markdown
Contributor Author

clabby commented Jul 28, 2025

This doesn't update the derivation pipeline's view of the l1 chain though like the issue suggests right?

Yeah not yet. Just for the sequencer. The L1 conf depth in the derivation pipeline will be split into a separate ticket.

@clabby clabby force-pushed the cl/delay-seq-l1 branch from 41ffa67 to cd2b771 Compare July 28, 2025 19:30
@clabby clabby added this pull request to the merge queue Jul 28, 2025
Merged via the queue into main with commit 85a9955 Jul 28, 2025
30 checks passed
@clabby clabby deleted the cl/delay-seq-l1 branch July 28, 2025 20:14
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Dec 10, 2025
## Overview

Adds the confirmation-delayed provider for the sequencer's L1 origin
selector. This provider holds a reference to the L1 chain's head, and
delays any block-by-number requests by a configurable amount. This
prevents the sequencer from selecting an origin too close to the tip of
the chain, resulting in fewer L1 origin selections that are reorganized
out.

closes op-rs/kona#2401
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Jan 14, 2026
## Overview

Adds the confirmation-delayed provider for the sequencer's L1 origin
selector. This provider holds a reference to the L1 chain's head, and
delays any block-by-number requests by a configurable amount. This
prevents the sequencer from selecting an origin too close to the tip of
the chain, resulting in fewer L1 origin selections that are reorganized
out.

closes #2401
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

A-node Area: cl node (eq. Go op-node) handles single-chain consensus K-feature Kind: feature W-node Workstream: kona-node

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(node): Introduce confirmation-delayed Provider

3 participants