Skip to content

feat(eip8130): re-pin Keystore contract set to finalized deployment - #4322

Open
chunter-cb wants to merge 1 commit into
feat/eip8130-admin-actor-delegationfrom
feat/eip8130-keystore-addresses
Open

feat(eip8130): re-pin Keystore contract set to finalized deployment#4322
chunter-cb wants to merge 1 commit into
feat/eip8130-admin-actor-delegationfrom
feat/eip8130-keystore-addresses

Conversation

@chunter-cb

Copy link
Copy Markdown
Contributor

Summary

Re-pin the EIP-8130 system-contract set in addresses.rs to the finalized base/eip-8130 deployment (contract renamed AccountConfigurationKeystore).

  • The whole set is now deployed under a single mined, non-zero CREATE2 salt shared across every contract (yielding the Keystore's 0x8130… vanity address). Updates SALT (was B256::ZERO), all seven addresses, and the four changed init-code hashes.
  • P256/WebAuthn/AlwaysValid init-code hashes are unchanged — only their addresses moved with the salt.
  • High-rate-payer proxy code hash updated to match the new implementation.

Verified against the base/eip-8130 Deploy.s.sol broadcast (chain 84532): each address CREATE2-derives from factory + shared salt + init-code hash.

Stacked on #4302 (feat/eip8130-admin-actor-delegation).

Test plan

  • cargo test -p base-common-consensus --lib addresses:: (incl. addresses_match_create2_derivation) passes

The reference contracts (base/eip-8130) finalized under a mined, non-zero
CREATE2 salt shared across the whole set (yielding the Keystore's 0x8130…
vanity address). Re-pin every address, the shared salt, and the four changed
init-code hashes; the high-rate-payer proxy code hash is updated to match the
new implementation. P256/WebAuthn/AlwaysValid init-code hashes are unchanged —
only their addresses moved with the salt.

Verified against the base/eip-8130 Deploy.s.sol broadcast (chain 84532): each
address CREATE2-derives from factory + shared salt + init-code hash
(addresses_match_create2_derivation stays green).
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Review Summary

The diff is a straightforward re-pin of EIP-8130 system-contract constants (salt, addresses, init-code hashes) to match a finalized deployment. The existing addresses_match_create2_derivation test provides strong assurance that addresses and init-code hashes are self-consistent under CREATE2.

Finding

Stale test doc comment (addresses.rs:208-209): The doc comment on addresses_match_create2_derivation still reads:

Each (address, init_code_hash) pair must be self-consistent under CREATE2 with the canonical factory + zero salt.

This should say "shared mined salt" (or similar) since this PR changes SALT from B256::ZERO to the mined 0x9ebf94… value. The test code itself correctly uses Eip8130Contracts::SALT (not a hardcoded zero), so this is a documentation-only issue — but the comment is misleading as-is.

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Base Std historical fork tests

Fork Result Passed Failed Skipped base/base base-anvil base-std
Beryl pass 616 0 13 ada92714 6d744e03 4658f1b7
Cobalt pass 709 0 14 ada92714 ae7557c4 8f88bf3e

View run

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