Skip to content

fix(deps): bump reth v2 stack#9

Merged
haardikk21 merged 8 commits into
base-anvil-forkfrom
rf/fix/bump-base-precompile-rev
May 23, 2026
Merged

fix(deps): bump reth v2 stack#9
haardikk21 merged 8 commits into
base-anvil-forkfrom
rf/fix/bump-base-precompile-rev

Conversation

@refcell
Copy link
Copy Markdown
Contributor

@refcell refcell commented May 23, 2026

Summary:

  • Bump the Alloy/revm/Reth-adjacent dependency stack for reth v2 compatibility.
  • Update Foundry/anvil/cast/cheatcode/config call sites for the new Alloy 2, revm 38, op-revm 19, and reqwest/foundry compiler APIs.
  • Bump the Base precompile/chains rev and adapt to the current B20 precompile naming.
  • Keep the local base/base patch override out of the PR diff.

Validation:

  • cargo +nightly fmt --all
  • cargo check -p anvil -p forge
  • cargo check -p cast
  • git diff --check
  • cargo build --release

@refcell refcell added the dependencies Pull requests that update a dependency file label May 23, 2026
@refcell refcell self-assigned this May 23, 2026
@refcell refcell force-pushed the rf/fix/bump-base-precompile-rev branch from 9d4bfd1 to dd01cc6 Compare May 23, 2026 01:54
@refcell refcell changed the title fix(networks): Bump Base Precompile Revision fix(deps): bump reth v2 stack May 23, 2026
refcell and others added 6 commits May 22, 2026 22:15
The alloy 2.0.5 and foundry-config bumps added new fields to Header and
VyperConfig respectively. The library/binary builds were unaffected,
but five test-target struct literals broke compilation under
'cargo check --all-targets'. Add '..Default::default()' so future
upstream field additions don't break the test build again.
…t fix

Original pin (c0ebd548d, 'align base-std precompile parity') lived on an
off-main branch and was missing every fix landed since 2026-05-22 12:24,
including:

  - b20 factory address moved back to 0xB20F..0000 to match base-std
    fixtures (base/base#2892)
  - security share ratio sentinel alignment (#2889)
  - REDEEM_SENDER_POLICY default = ALWAYS_BLOCK_ID (#2887)
  - METADATA_ROLE required for updateContractURI (#2878)
  - assorted policy / activation precompile fixes

This PR bumps to 2f27f588ec75e79b7868524b888947965237b49e, which sits on
top of base/base#2895 ('seed policy builtins independently of bytecode
init'). The latter fix is required because base-anvil pre-warms the
three singleton precompile addresses with sentinel bytecode so Solidity
high-level wrappers pass the EXTCODESIZE check; this pre-warm also
trips the upstream lazy-init gate (is_initialized = 'has code'),
causing PolicyRegistry's ALWAYS_ALLOW_ID / ALWAYS_BLOCK_ID slots to
stay empty and next_counter to start at 0.

End-to-end verification against base-std fork tests:

  - before: 116 / 233 pass (stale rev)
  - after rev bump only:  437 / 465
  - after rev bump + #2895: 450 / 463

The remaining 13 failures are unrelated upstream issues (EIP712 fields
bitfield, updateName metadata propagation, AccessControl caller
attribution) tracked separately.

TODO: re-pin to base/base main once #2895 lands and is included in
the trunk SHA.
Resolves cargo deny advisories failure caused by unsound aliased
mutable references in rand v0.8.5 when log + thread_rng features
are active.
The repo was forked from foundry which uses custom depot.dev runners
(depot-ubuntu-latest, depot-ubuntu-22.04-16, depot-windows-latest-16,
foundry-runner, macos-*-large, etc.) that don't exist in the base
GitHub org and never trigger CI jobs on the fork.

Runner mapping:
  depot-ubuntu-latest / -16          -> ubuntu-latest
  depot-ubuntu-latest-arm-16         -> ubuntu-24.04-arm
  depot-ubuntu-22.04-16              -> ubuntu-22.04
  depot-ubuntu-22.04-arm-16          -> ubuntu-22.04-arm
  depot-macos-latest / macos-*-large -> macos-latest / macos-13
  depot-windows-latest-16            -> windows-latest
  foundry-runner                     -> ubuntu-latest

docker-publish: replaced depot/setup-action + depot/build-push-action
with standard docker/setup-qemu-action + docker/setup-buildx-action +
docker/build-push-action (multi-arch via QEMU instead of depot infra).

release: dropped 'contains(matrix.runner, "depot")' conditional gating
sccache so it runs unconditionally now that the matrix has no depot
labels.
Picks up #2895 (policy builtins init fix - now merged) plus #2860,
#2893, #2894. Fork-test suite holds at 450/465 passing; remaining 13
failures are tracked upstream (EIP712 fields=0x0c vs 0x0f, updateName
metadata, ActivationRegistry deactivate, B20Security recursion +
factory bootstrap).
@haardikk21 haardikk21 marked this pull request as ready for review May 23, 2026 05:03
Picks up #2859 'Align Base Std Precompile Parity' (squash of 8804a1282)
which fixes most B20Security / B20Factory / Policy parity issues with
the base-std fixtures. Fork-test suite holds at 450/465 passing -
remaining 13 failures all stem from the unmerged permittable.rs EIP-712
fields=0x0c -> 0x0f canonical-domain change tracked separately.
@haardikk21 haardikk21 merged commit 14a4390 into base-anvil-fork May 23, 2026
13 of 18 checks passed
@haardikk21 haardikk21 deleted the rf/fix/bump-base-precompile-rev branch May 23, 2026 05:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants