Repository navigation
feat(spec-specs, tests): implement EIP-8272 recent roots for frame transactions - #71
Draft
spencer-tb wants to merge 1 commit into
Draft
spencer-tb wants to merge 1 commit into
spencer-tb wants to merge 1 commit into
Conversation
This was referenced Oct 6, 2026
2 tasks done
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status
Documentation/reference prototype for EIP-8272. This draft is not proposed for merge in its current form.
The implementation lives in the Amsterdam spec module and activates through the testing-side
Bogotapseudo-fork. This is the user-confirmed EIP-8141 substrate exception: frame execution is required, so the target isspencer-tb/execution-specs:eips/amsterdam/eip-8141at748bbb89e122dafb421f47ec9ae6cb5a5ecd78ac.Description
Implements EIP-8272 at the revision pinned by the tests: applications publish roots by source and slot, and ordinary EIP-8141
VERIFYframes check up to sixteen recent references.RECENT_ROOT_CODEundefined. The 426-byte candidate has keccak2560x92581be6144206cc1ba9f655324d74f0a49f20661ff2d31975aefb2449884342; tests pin the assembly, spec constant, fixture code and reference vector.Required EIP follow-up
Specification
RECENT_ROOT_CODE, ideally with maintained assembly and a pinned build/hash. Semantics alone do not determine the activation state root. This branch's code is a reviewable candidate, not an accepted protocol constant. The existing sys-asm proposal still implements the older write-only design and needs the validation path before it can supply this constant.Gas and compatibility language
154 + 429*ninternally, plus ordinary SLOAD costs and EIP-8141 frame entry; sixteen distinct cold references currently require 43,618 execution gas. Changing the runtime requires re-deriving the gas expectations.Known limitations
apply_fork; generated transition fixtures cannot currently express that rejection. Activation-crossing reorgs are not covered here.References
824cbc0b0e, file blob274ce98c57ec285862f4d2ff48cd9f545c385f12): https://github.com/ethereum/EIPs/blob/824cbc0b0e459ea6b105d8b96420a5d46abf0806/EIPS/eip-8272.md