Skip to content

chore: bump signet-sdk to 0.18.0 (for real this time)#276

Open
Evalir wants to merge 1 commit into
mainfrom
evalir/bump-signet-sdk-0.18
Open

chore: bump signet-sdk to 0.18.0 (for real this time)#276
Evalir wants to merge 1 commit into
mainfrom
evalir/bump-signet-sdk-0.18

Conversation

@Evalir
Copy link
Copy Markdown
Member

@Evalir Evalir commented May 14, 2026

Description

Re-bumps the signet stack to actually consume 0.18.0. The previous PR (#274) merged with a title claiming 0.18.0 but its content only moved signet-* to 0.17.0 and left signet-block-processor / signet-genesis on the node-components git tag v0.16.0-rc.10. This catches the builder up and removes the cross-repo git pin.

Version bumps

  • init4-bin-base 0.20.0 → 0.21.0
  • signet-{constants,sim,tx-cache,types,zenith} 0.17.0 → 0.18.0
  • signet-bundle (dev-dep) 0.17.0 → 0.18.0

Dep source changes

  • signet-block-processor and signet-genesis move from node-components@v0.16.0-rc.10 (git) → crates.io 0.18.0 now that they're published there.
  • signet-block-processor is removed — it was only there for revm_spec, which was deleted upstream in node-components v0.17.0 when the reth dep was dropped.
  • signet-evm = "0.18.0" added — that's where the replacement helper lives.

Source migration in SignetCfgEnv

  • revm_spec(chainspec, timestamp)EthereumHardfork::active_hardforks(&chainspec.genesis().config, block_number, timestamp).spec_id().
  • SignetCfgEnv now carries block_number next to timestamp (the new helper needs both for full fork resolution). Threaded through 5 call sites.
  • Added SignetCfgEnv::from_block_env(chain_id, &BlockEnv) so the 4 BlockEnv-derived sites stay one-liners. prep.rs keeps new() since it builds for the next block from a Header.

Behavior note

Old revm_spec had a hard PRAGUE floor; the new path reports whatever the genesis config says is active. Cross-checked against the actual signet-genesis configs:

  • Rollup configs (mainnet, parmigiana) activate every fork at timestamp 0 → both old and new return OSAKA for any timestamp ≥ 0.
  • Host config (real Ethereum mainnet schedule, prague=May 2025 / osaka=Dec 2025) → all current production timestamps are past Osaka, so both paths return OSAKA.
  • The floor would only have mattered for pre-Prague host timestamps, which nothing in the builder reaches today.

Related Issue

Closes ENG-2235 (carried over from #274).

Testing

  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test -p builder --lib tasks::block::cfg (the mainnet_cfg_env PRAGUE↔OSAKA spec-resolution test passes)
  • make fmt
  • make clippy
  • make test

The previous bump PR (#274) landed with title claiming 0.18.0 but content
only at 0.17.0 and node-components still on the v0.16.0-rc.10 git tag.
This catches the builder up to current published versions and clears the
cross-repo git pin.

Version bumps:
- init4-bin-base 0.20.0 -> 0.21.0
- signet-{constants,sim,tx-cache,types,zenith} 0.17.0 -> 0.18.0
- signet-bundle (dev-dep) 0.17.0 -> 0.18.0

Dep source changes:
- signet-block-processor and signet-genesis: git tag v0.16.0-rc.10 ->
  crates.io 0.18.0 (now that node-components publishes to crates.io).
- signet-block-processor removed entirely; it was only there for the
  revm_spec re-export, which was deleted in node-components v0.17.0 when
  the reth dep was dropped (#93 there).
- signet-evm 0.18.0 added: replacement for revm_spec lives there as
  EthereumHardfork::active_hardforks(...).spec_id().

Source migration in SignetCfgEnv:
- revm_spec(chainspec, timestamp) replaced with
  EthereumHardfork::active_hardforks(&chainspec.genesis().config,
  block_number, timestamp).spec_id().
- SignetCfgEnv now carries block_number alongside timestamp; the new
  helper needs both. Threaded through 5 call sites.
- Added SignetCfgEnv::from_block_env(chain_id, &BlockEnv) so the 4
  BlockEnv-derived sites stay one-liners. prep.rs keeps new() since it
  builds for the next block from a Header.

Behavior note: the old revm_spec floored at PRAGUE. The new path reports
the actual active spec from the genesis config. For mainnet/parmigiana
rollup configs (all forks at timestamp 0) and for current host
timestamps (post-Osaka), output is identical. The floor would only have
mattered for pre-Prague host timestamps, which no production path here
uses.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Member Author

Evalir commented May 14, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

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