Skip to content

bump base to 0.9.1#4

Merged
maoueh merged 5 commits into
firehose/0.xfrom
bump_0_9_1
May 27, 2026
Merged

bump base to 0.9.1#4
maoueh merged 5 commits into
firehose/0.xfrom
bump_0_9_1

Conversation

@sduchesneau
Copy link
Copy Markdown

@sduchesneau sduchesneau commented May 27, 2026

github-actions Bot and others added 3 commits May 27, 2026 16:06
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…ase#2936)

* fix(consensus): recover pruned forkchoice checkpoints

Persist safe and finalized forkchoice checkpoints in the consensus service so validator restarts can recover when reth has pruned historical block bodies. Use checkpoints only after the specific missing L1 info deposit error and validate them against the reth-labeled block header before sync start accepts them.

Co-authored-by: Codex <noreply@openai.com>
(cherry picked from commit 0bfc265)

* chore(succinct): refresh ELF manifest to match main

The reproducible SP1 ELF hashes pinned in manifest.toml drifted from what
the build environment currently produces. Main already updated these
hashes (commit a052beb); this brings the v0.9.1 backport branch in line
so CI can verify reproducibility.

Unrelated to the checkpoint backport itself - none of the diff in this
branch touches the SP1 program source or its dependency tree.

* chore: update succinct manifest and program cargo lock

* fix(execution): use LenientRpcModuleValidator to allow base RPC namespace

The default RpcModuleValidator rejects unknown namespaces, including
'base'. When operators include 'base' in --http.api, the node crashlooped
with 'Invalid RPC module base in http.api: Unknown RPC module: base'.

Switch the default Rpc generic on Cli to LenientRpcModuleValidator so
operator-configured custom namespaces (like 'base') are accepted.

* fix(consensus): recover to earliest unpruned block on pruned forkchoice

When base-consensus starts from a GBS snapshot with a stale safe/finalized
head whose block body has been pruned, and no forkchoice checkpoint exists,
instead of crashing with MissingL1InfoDeposit, binary search between the
pruned block and the latest block to find the earliest unpruned block and
use that as the recovery point.

For safe head: falls back to the recovered finalized value.
For finalized head: binary searches for the prune boundary.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>

---------

Co-authored-by: Andreas Bigger <andreas.bigger@coinbase.com>
Co-authored-by: Codex <noreply@openai.com>
Co-authored-by: Mihir Wadekar <mwadekar2000@gmail.com>
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Copy link
Copy Markdown

@maoueh maoueh left a comment

Choose a reason for hiding this comment

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

@sduchesneau
Copy link
Copy Markdown
Author

informed changelog @maoueh

@maoueh maoueh merged commit 68bb2a3 into firehose/0.x May 27, 2026
2 checks passed
@maoueh maoueh deleted the bump_0_9_1 branch May 27, 2026 20:58
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