Conversation
…sterdam (Glamsterdam EL) schedule
….py: parse Amsterdam block header (blockAccessListHash, slotNumber); discard receipts/blockAccessList fixture keys in the harness
…v7.2.0 from ethereum/execution-specs
… max 21 / fraction 11684671) AMSTERDAM inherited the Osaka/Prague blob parameters (target 6 / max 9 / fraction 5007716). EELS amsterdam vm/gas.py has BLOB_SCHEDULE_TARGET = 14 and BLOB_SCHEDULE_MAX = 21 (at PER_BLOB = 2^17: Gtargetblobgas = 1835008, Gmaxblobgas = 2752512) and BLOB_BASE_FEE_UPDATE_FRACTION = 11684671, matching the mainnet BPO2 blob schedule (EIP-8135 / EIP-7892) that Amsterdam starts from. Raising Gmaxblobgas from 9 to 21 blobs exposes the pre-existing missing EIP-7594 per-tx blob limit (EELS BLOB_COUNT_LIMIT = 6, fork.py:150): the blob_count_21 sub-case of invalid_max_blobs_per_tx was previously rejected by the too-small inherited block max instead of the per-tx check. Mask it in failing.llvm next to its already-masked blob_count_7/8 siblings until the per-tx limit is implemented. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
read_csv_file crashed test collection with IndexError on any blank line in failing.llvm/slow.llvm — which the fixtures-failing-list Makefile target itself can produce via its sort/sed post-processing. Skip empty rows.
# Conflicts: # kevm-pyk/src/kevm_pyk/kproj/evm-semantics/driver.md
Emit an EIP-7708 transfer LOG3 at every nonzero-value transfer to a different account. All four categories (tx-level, CALL, CREATE endowment, SELFDESTRUCT) route through #transferFunds, so the log is appended in its single balance- moving rule (ACCTFROM =/= ACCTTO), gated on the new Ghaseip7708 flag (true at AMSTERDAM) and VALUE =/= 0. The entry matches the EELS reference exactly: address = SYSTEM_ADDRESS (0xff..fe), topics = (keccak256 "Transfer(address,address,uint256)", from, to), data = 32-byte big-endian value. No new gas charge (EIP-2780 already prices Gtransferlog). Reverts are handled by the existing #pushWorldState/#popWorldState substate snapshot (the snapshot precedes the transfer), so failed CALL/CREATE frames drop the log. Unmask 34 of the 37 eip7708 fixtures. The remaining amsterdam fixtures are blocked by pre-existing non-7708 gaps (CREATE state-gas #8, delegation/typed-tx Ctxfloor #6) and the transition fixture by the single-schedule harness limit; verified the transfer logs themselves are correct in those cases. osaka/prague sweep unchanged (5 fail / 5122 pass); amsterdam-native suites show only the 10 known pre-existing gap failures. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Implements EIP-7708: ETH balance changes emit synthetic logs (CALL-value transfers, SELFDESTRUCT sweeps, fee payments).
Changes:
evm.md: transfer-log emission in#transferFunds;schedule.md:Ghaseip7708. (TheGtransferlogintrinsic pricing will be implemented in a follow-up PR )