Skip to content

feat(spec-specs,tests): deploy the EIP-8272 recent root contract as an ordinary contract - #75

Closed
AnkushinDaniil wants to merge 1 commit into
spencer-tb:eips/amsterdam/eip-8272from
AnkushinDaniil:daniil/eip8272-recent-root-deploy
Closed

AnkushinDaniil wants to merge 1 commit into
spencer-tb:eips/amsterdam/eip-8272from
AnkushinDaniil:daniil/eip8272-recent-root-deploy

Conversation

@AnkushinDaniil

Copy link
Copy Markdown

Description

ethereum/EIPs#12443 makes the recent root contract an ordinary contract. A pre-signed legacy transaction creates it at 0x8272D9679689Ea2f307140CdF9002D27dC00Ffff, and the fork no longer installs anything. That PR also fixes RECENT_ROOT_CODE (320 bytes). This branch still installs a candidate at 0x…8272 in apply_fork.

  • Specification: RECENT_ROOT_ADDRESS and RECENT_ROOT_CODE take the values from the EIP PR. apply_fork drops the recent root install and its occupied-address check.
  • Testing framework: the contract is pre-allocated with nonce 1 for state and blockchain tests, as feat(specs, tests): deploy the EIP-8141 expiry verifier as an ordinary contract ethereum/execution-specs#3729 does for the expiry verifier.
  • Tests: contract.py is removed, the code pin compares against the EIP bytes. VALIDATION_FIXED_GAS is 119 and VALIDATION_TUPLE_GAS is 296 for the new code. The install-at-transition test becomes test_fork_transition_leaves_recent_root_contract_unchanged. The two cases with an empty address before the fork are gone, the pre-allocation always holds the contract.

uv run fill tests/amsterdam/eip8272_recent_roots --fork Bogota: 161 passed. ruff is clean on the touched files; I did not run the rest of just static. The reference spec pin is unchanged because the EIP PR is not merged. There is no deployment test with the EIP's transaction yet.

Related Issues or PRs

Spec change: ethereum/EIPs#12443 (open). Same pattern as ethereum#3729.

@AnkushinDaniil

Copy link
Copy Markdown
Author

superseded by ethereum#3738

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