Skip to content

fix(ol): correct checkpoint DA and inbox indexes#1801

Closed
voidash wants to merge 1 commit into
mainfrom
codex/bridge-e2e-core-fixes
Closed

fix(ol): correct checkpoint DA and inbox indexes#1801
voidash wants to merge 1 commit into
mainfrom
codex/bridge-e2e-core-fixes

Conversation

@voidash
Copy link
Copy Markdown
Contributor

@voidash voidash commented May 11, 2026

Summary

  • compute checkpoint DA witness bytes from preseal-only OL block execution, matching the state root authenticated by checkpoint proofs
  • keep full epoch replay for logs/header validation so manifest processing is still checked separately
  • fix OL chain tracker inbox range bookkeeping so non-empty ranges report the next inbox index after the last returned block, while empty ranges preserve the before-range index
  • remove stale direct strata prover dependencies that became unused after sharing the checkpoint DA helper

Bug / context

This addresses the Slack-reported OL prover failure under STR-3412:

DA witness does not match authenticated preseal state root: ChainIntegrity

The old prover input path built DA by replaying full OL blocks through DaAccumulatingState. Full replay includes L1 manifest processing, so deposits, limbo deposits, or predicate-key updates could be included in the DA blob. The checkpoint proof verifies the DA blob against the terminal block's preseal_state_root, which is taken before manifest processing. In those cases the witness described epoch_start -> post-manifest, while the proof expected epoch_start -> preseal.

The inbox index fix is a separate local e2e finding: get_inbox_messages was deriving next_inbox_msg_idx from the block before the range instead of the last block in the returned range.

Verification

  • cargo fmt --check -p strata -p strata-ol-checkpoint -p alpen-ee-sequencer
  • git diff --check
  • CARGO_INCREMENTAL=0 cargo check -p strata-ol-checkpoint --lib
  • CARGO_INCREMENTAL=0 cargo check -p strata --features prover --no-default-features
  • CARGO_INCREMENTAL=0 cargo check -p alpen-ee-sequencer --lib

@github-actions
Copy link
Copy Markdown
Contributor

Commit: 25ac030

SP1 Execution Results

program cycles success
EVM EE Chunk 553,055
EVM EE Account 1,271,238
Checkpoint 2,203,301

@voidash voidash marked this pull request as ready for review May 11, 2026 16:57
@voidash voidash requested review from a team as code owners May 11, 2026 16:57
@storopoli
Copy link
Copy Markdown
Member

@codex review this pr

@voidash voidash closed this May 11, 2026
@voidash voidash deleted the codex/bridge-e2e-core-fixes branch May 11, 2026 17:02
@codecov
Copy link
Copy Markdown

codecov Bot commented May 11, 2026

Codecov Report

❌ Patch coverage is 97.72727% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 78.90%. Comparing base (b819de3) to head (372b083).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
crates/ol/checkpoint/src/context.rs 96.96% 1 Missing ⚠️
@@            Coverage Diff             @@
##             main    #1801      +/-   ##
==========================================
- Coverage   78.95%   78.90%   -0.05%     
==========================================
  Files         655      655              
  Lines       71268    71309      +41     
==========================================
  Hits        56268    56268              
- Misses      15000    15041      +41     
Flag Coverage Δ
functional 58.15% <95.45%> (-0.26%) ⬇️
unit 64.96% <25.00%> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...s/alpen-ee/sequencer/src/ol_chain_tracker/state.rs 98.74% <100.00%> (-0.01%) ⬇️
crates/ol/checkpoint/src/context.rs 71.90% <96.96%> (+3.06%) ⬆️

... and 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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.

2 participants