Skip to content

chore: bump signet-storage family to 0.8 (workspace 0.18.0)#143

Open
rswanson wants to merge 2 commits into
mainfrom
chore/bump-signet-storage-0.8
Open

chore: bump signet-storage family to 0.8 (workspace 0.18.0)#143
rswanson wants to merge 2 commits into
mainfrom
chore/bump-signet-storage-0.8

Conversation

@rswanson
Copy link
Copy Markdown
Member

Summary

  • Bumps the signet-storage family (storage, cold, hot, hot-mdbx, cold-mdbx, storage-types) from 0.7 → 0.8. Because 0.8 is a breaking upstream release with transitive constraints, this also bumps init4-bin-base 0.19.1 → 0.20.0 and the rest of the signet-* ecosystem (bundle, constants, evm, extract, types, tx-cache, zenith, journal, test-utils) 0.16 → 0.17. Workspace version goes 0.17.2 → 0.18.0 (minor, not patch — this is a breaking API change for downstream consumers of signet-node / signet-rpc).
  • Migrates the codebase to the new storage API:
    • UnifiedStorage<H> is now UnifiedStorage<H, B> where B: ColdStorageBackend. The B generic propagates through StorageRpcCtx, SignetNode, SignetNodeBuilder, and every RPC endpoint signature.
    • ColdStorageReadHandle is gone; cold_reader() now returns ColdStorage<B> (a cheap clone).
    • ColdStorageTask::spawn removed — use ColdStorage::new or UnifiedStorage::spawn.
    • UnifiedStorage::append_blocks / unwind_above are now async.
    • signet-types 0.17 wraps headers in SignetHeaderV1; sites that handled Sealed<Header> directly now bridge via SignetHeaderV1::new_unchecked / SignetHeaderV1::into_inner.
    • signet-node-config exposes a NodeColdBackend type alias (EitherCold with SQL features, MdbxColdBackend otherwise) so callers can name the cold backend concretely without caring which runtime backend is active.

Test plan

  • cargo +nightly fmt --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo clippy --workspace --all-targets --no-default-features -- -D warnings
  • RUSTDOCFLAGS=\"-D warnings\" cargo doc --workspace --no-deps
  • CI green
  • Manual smoke against a dev stack before merging (storage migration risk)

🤖 Generated with Claude Code

Bumps the workspace to 0.18.0 and updates the signet-storage family of
crates (signet-storage, signet-cold, signet-hot, signet-hot-mdbx,
signet-cold-mdbx, signet-storage-types) from 0.7 to 0.8. This is a
breaking upstream release, so the rest of the signet ecosystem
(signet-bundle, signet-types, signet-evm, signet-zenith, etc.) and
init4-bin-base also move forward to coherent versions: 0.16 -> 0.17,
init4-bin-base 0.19.1 -> 0.20.0.

Code migration for the new storage API:

- UnifiedStorage<H> -> UnifiedStorage<H, B> (second generic for the
  cold-storage backend). The B parameter propagates through every
  type that holds the unified handle: StorageRpcCtx, SignetNode,
  SignetNodeBuilder, and all rpc endpoint signatures.
- ColdStorageReadHandle -> ColdStorage<B> (read handle is now a
  cheap clone of the cold storage handle itself).
- ColdStorageTask::spawn / ColdStorageHandle removed; use
  ColdStorage::new or UnifiedStorage::spawn.
- append_blocks and unwind_above on UnifiedStorage are now async.
- signet-types 0.17 wraps headers in SignetHeaderV1. Sites that
  used Sealed<Header> directly now bridge via
  SignetHeaderV1::new_unchecked and SignetHeaderV1::into_inner.
- node-config exposes a NodeColdBackend type alias that resolves to
  EitherCold when SQL features are on and to MdbxColdBackend
  otherwise, so callers can name the cold side concretely without
  caring which runtime backend was chosen.

Pre-push checks (fmt, clippy --all-features, clippy
--no-default-features, doc) all pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rswanson rswanson requested a review from a team as a code owner May 12, 2026 16:12
The `# Examples` block on `SignetNodeBuilder` referenced
`UnifiedStorage<H, B>` after the storage-0.8 migration but only declared
`H` on the `example` fn, so `cargo test --doc` failed to compile.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rswanson rswanson self-assigned this May 12, 2026
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.

1 participant