Skip to content

feat(kona-genesis): add rollup_config_override feature for custom max sequencer drift#19994

Merged
theochap merged 5 commits intodevelopfrom
theo/kona-rollup-config-override
Apr 10, 2026
Merged

feat(kona-genesis): add rollup_config_override feature for custom max sequencer drift#19994
theochap merged 5 commits intodevelopfrom
theo/kona-rollup-config-override

Conversation

@theochap
Copy link
Copy Markdown
Member

@theochap theochap commented Apr 9, 2026

Summary

  • Adds a rollup_config_override Cargo feature to kona-genesis (and propagated through kona-registry) that exposes a configurable fjord_max_sequencer_drift field on RollupConfig.
  • When the feature is off, behavior is unchanged — the Fjord max sequencer drift remains the FJORD_MAX_SEQUENCER_DRIFT constant. When on, each chain can override the value (useful for chains that build only on finalized L1 blocks, where L1 finality delays can exceed the standard drift).
  • Rebases feat(kona-genesis): add rollup_config_override feature for custom max sequencer drift #19131 onto current develop, which had interop_message_expiry_window removed since that PR was authored. Dangling references to the removed field/constant are cleaned up so the workspace builds.

Supersedes #19131.

Test plan

  • just b (workspace builds without the feature)
  • cargo check -p kona-genesis --features rollup_config_override (feature-gated path compiles)
  • cargo nextest run -p kona-genesis --features rollup_config_override (new rollup_config_override_tests pass)

🤖 Generated with Claude Code

karlb added 4 commits April 9, 2026 10:07
… sequencer drift

Add a `rollup_config_override` feature to kona-genesis that overrides
the Fjord max sequencer drift to 2892s for chains building only on
finalized L1 blocks, where L1 finality delays can exceed the standard
1800s limit.

This replaces #18859
until the proper solution is in place, see
#18859 (comment)

Since this is only a temporary solution, I've chosen the small and
primitive solution over a more generic approach.
…lupConfig field

Replace the hardcoded constant override with a runtime-configurable
fjord_max_sequencer_drift field on RollupConfig, gated behind the
rollup_config_override feature flag. This allows chains that build
on finalized L1 blocks to set a custom max sequencer drift via config
rather than a compile-time constant.
@theochap theochap requested review from a team and joshklop April 9, 2026 14:26
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.2%. Comparing base (9d68e89) to head (2d04899).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #19994      +/-   ##
===========================================
+ Coverage     11.7%    63.2%   +51.5%     
===========================================
  Files          677      194     -483     
  Lines        71141    10878   -60263     
===========================================
- Hits          8328     6882    -1446     
+ Misses       62669     3852   -58817     
  Partials       144      144              
Flag Coverage Δ
cannon-go-tests-64 66.3% <ø> (ø)
contracts-bedrock-tests 61.4% <ø> (-16.5%) ⬇️
unit ?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 533 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

… imports

The rust/kona registry crate was missing the rollup_config_override
feature, causing CI failures when building with --all-features. The
FJORD_MAX_SEQUENCER_DRIFT imports also need to be conditional to avoid
unused import warnings when the feature is disabled.
@theochap theochap force-pushed the theo/kona-rollup-config-override branch from 2d04899 to 1150d9b Compare April 9, 2026 14:36
@theochap theochap enabled auto-merge April 9, 2026 16:21
@theochap theochap disabled auto-merge April 9, 2026 18:10
@theochap theochap added this pull request to the merge queue Apr 9, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Apr 9, 2026
@theochap theochap added this pull request to the merge queue Apr 10, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Apr 10, 2026
@theochap theochap added this pull request to the merge queue Apr 10, 2026
Merged via the queue into develop with commit 8fbd06e Apr 10, 2026
161 of 163 checks passed
@theochap theochap deleted the theo/kona-rollup-config-override branch April 10, 2026 22:47
InoMurko pushed a commit to ConstellationCrypto/optimism that referenced this pull request Apr 12, 2026
… sequencer drift (ethereum-optimism#19994)

* feat(kona-genesis): add rollup_config_override feature for custom max sequencer drift

Add a `rollup_config_override` feature to kona-genesis that overrides
the Fjord max sequencer drift to 2892s for chains building only on
finalized L1 blocks, where L1 finality delays can exceed the standard
1800s limit.

This replaces ethereum-optimism#18859
until the proper solution is in place, see
ethereum-optimism#18859 (comment)

Since this is only a temporary solution, I've chosen the small and
primitive solution over a more generic approach.

* feat(kona-genesis): make fjord_max_sequencer_drift a configurable RollupConfig field

Replace the hardcoded constant override with a runtime-configurable
fjord_max_sequencer_drift field on RollupConfig, gated behind the
rollup_config_override feature flag. This allows chains that build
on finalized L1 blocks to set a custom max sequencer drift via config
rather than a compile-time constant.

* Format with correct toolchain version

* fix(kona-registry): add missing fjord_max_sequencer_drift to test config initializers

* fix(kona-registry): propagate rollup_config_override feature and gate imports

The rust/kona registry crate was missing the rollup_config_override
feature, causing CI failures when building with --all-features. The
FJORD_MAX_SEQUENCER_DRIFT imports also need to be conditional to avoid
unused import warnings when the feature is disabled.

---------

Co-authored-by: Karl Bartel <karl.bartel@clabs.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants