Skip to content

refactor(test): rename gas cost constants#2094

Merged
Carsons-Eels merged 19 commits intoethereum:forks/amsterdamfrom
Carsons-Eels:refactor_gas_constants
Feb 24, 2026
Merged

refactor(test): rename gas cost constants#2094
Carsons-Eels merged 19 commits intoethereum:forks/amsterdamfrom
Carsons-Eels:refactor_gas_constants

Conversation

@Carsons-Eels
Copy link
Contributor

@Carsons-Eels Carsons-Eels commented Jan 28, 2026

🗒️ Description

Changes:

  • Refactored our Gas constants to have clearer naming (described in table below)
  • Removed unnecessary Uint cast for REFUND_STORAGE_CLEAR

Note

Cherry picked PR#1870 onto forks/amsterdam
Order matches gas_costs.py

old new Value Description
G_JUMPDEST GAS_JUMPDEST 1 Jump destination opcode
G_BASE GAS_BASE 2 Base operation cost
G_VERY_LOW GAS_VERY_LOW 3 Very low cost operations
G_LOW GAS_LOW 5 Low cost operations
G_MID GAS_MID 8 Medium cost operations
G_HIGH GAS_HIGH 10 High cost operations
G_WARM_ACCOUNT_ACCESS GAS_WARM_ACCOUNT_ACCESS 100 Warm account access
G_COLD_ACCOUNT_ACCESS GAS_COLD_ACCOUNT_ACCESS 2600 Cold account access
G_ACCESS_LIST_ADDRESS GAS_TX_ACCESS_LIST_ADDRESS 2400 Access list address cost (EIP-2930)
G_ACCESS_LIST_STORAGE GAS_TX_ACCESS_LIST_STORAGE_KEY 1900 Access list storage key cost (EIP-2930)
G_WARM_SLOAD GAS_WARM_SLOAD 100 Warm storage load
G_COLD_SLOAD GAS_COLD_SLOAD 2100 Cold storage load
G_STORAGE_SET GAS_STORAGE_SET 20000 Storage slot set cost
G_STORAGE_UPDATE GAS_STORAGE_UPDATE 5000 Storage slot update cost
G_STORAGE_RESET GAS_STORAGE_RESET 2900 Storage slot reset cost
G_SELF_DESTRUCT GAS_SELF_DESTRUCT 5000 Self-destruct base cost
G_CREATE GAS_CREATE 32000 Contract creation cost
G_CODE_DEPOSIT_BYTE GAS_CODE_DEPOSIT_PER_BYTE 200 Code deposit per byte
G_INITCODE_WORD GAS_CODE_INIT_PER_WORD 2 Init code cost per word
G_CALL_VALUE GAS_CALL_VALUE 9000 Value transfer cost
G_CALL_STIPEND GAS_CALL_STIPEND 2300 Call stipend
G_NEW_ACCOUNT GAS_NEW_ACCOUNT 25000 New account creation
G_EXP GAS_EXPONENTIATION 10 Exponentiation base cost
G_EXP_BYTE GAS_EXPONENTIATION_PER_BYTE 50 Exponentiation per byte
G_MEMORY GAS_MEMORY 3 Memory allocation cost
G_TRANSACTION GAS_TX_BASE 21000 Base transaction cost
G_TRANSACTION_CREATE GAS_TX_CREATE 32000 Contract creation transaction cost
G_TX_DATA_ZERO GAS_TX_DATA_PER_ZERO 4 Gas cost per zero byte in the transaction data.
G_TX_DATA_NON_ZERO GAS_TX_DATA_PER_NON_ZERO 68 Gas cost per non-zero byte in the transaction data.
G_TX_DATA_STANDARD_TOKEN_COST GAS_TX_DATA_TOKEN_STANDARD fork dependent Standard calldata token cost
G_TX_DATA_FLOOR_TOKEN_COST GAS_TX_DATA_TOKEN_FLOOR fork dependent Floor calldata token cost
G_LOG GAS_LOG 375 Log operation cost
G_LOG_DATA GAS_LOG_DATA_PER_BYTE 8 Log data cost per byte
G_LOG_TOPIC GAS_LOG_TOPIC 375 Log topic cost
G_KECCAK_256 GAS_KECCAK256 30 Keccak256 base cost
G_KECCAK_256_WORD GAS_KECCAK256_PER_WORD 6 Keccak256 per word
G_COPY GAS_COPY 3 Copy operation cost
G_BLOCKHASH GAS_BLOCK_HASH 20 Block hash cost
G_AUTHORIZATION GAS_AUTH_PER_EMPTY_ACCOUNT fork dependent Cost per empty account authorization
G_PRECOMPILE_ECRECOVER GAS_PRECOMPILE_ECRECOVER 3000 Gas cost for ECRECOVER operations
G_PRECOMPILE_SHA256_BASE GAS_PRECOMPILE_SHA256_BASE 60 Gas base cost for SHA-256
G_PRECOMPILE_SHA256_WORD GAS_PRECOMPILE_SHA256_PER_WORD 12 Gas cost per SHA-256 word
G_PRECOMPILE_RIPEMD160_BASE GAS_PRECOMPILE_RIPEMD160_BASE 600 Gas base cost for RIPEMD-160
G_PRECOMPILE_RIPEMD160_WORD GAS_PRECOMPILE_RIPEMD160_PER_WORD 120 Gas cost per RIPEMD-160 word
G_PRECOMPILE_IDENTITY_BASE G_PRECOMPILE_IDENTITY_BASE 15 Gas base cost for identity (data copy)
G_PRECOMPILE_IDENTITY_WORD GAS_PRECOMPILE_IDENTITY_PER_WORD 3 Gas cost per word for the identity
G_PRECOMPILE_ECADD GAS_PRECOMPILE_ECADD fork dependent Gas cost for ECADD operations
G_PRECOMPILE_ECMUL GAS_PRECOMPILE_ECMUL fork dependent Gas cost for ECMUL operations
G_PRECOMPILE_ECPAIRING_BASE GAS_PRECOMPILE_ECPAIRING_BASE fork dependent Gas cost for ecpairing base operations
G_PRECOMPILE_ECPAIRING_PER_POINT GAS_PRECOMPILE_ECPAIRING_PER_POINT fork dependent Gas cost per point pair for ecpairing
G_PRECOMPILE_BLAKE2F_BASE GAS_PRECOMPILE_BLAKE2F_BASE fork dependent Gas base cost for BLAKE2F
G_PRECOMPILE_BLAKE2F_PER_ROUND GAS_PRECOMPILE_BLAKE2F_PER_ROUND fork dependent Gas cost per BLAKE2F round
G_PRECOMPILE_BLS_G1ADD GAS_PRECOMPILE_BLS_G1ADD fork dependent Gas cost for BLS12-381 G1 point addition
G_PRECOMPILE_BLS_G1MUL GAS_PRECOMPILE_BLS_G1MUL fork dependent Gas cost for BLS12-381 G1 scalar multiplication
G_PRECOMPILE_BLS_G1MAP GAS_PRECOMPILE_BLS_G1MAP fork dependent Gas cost for mapping a field to a BLS12-381 G1 point
G_PRECOMPILE_BLS_G2ADD GAS_PRECOMPILE_BLS_G2ADD fork dependent Gas cost for BLS12-381 G2 point addition
G_PRECOMPILE_BLS_G2MUL GAS_PRECOMPILE_BLS_G2MUL fork dependent Gas cost for BLS12-381 G1 point multiplication
G_PRECOMPILE_BLS_G2MAP GAS_PRECOMPILE_BLS_G2MAP fork dependent Gas cost for mapping a field element to a BLS12-381 G2 point
G_PRECOMPILE_BLS_PAIRING_BASE GAS_PRECOMPILE_BLS_PAIRING_BASE fork dependent Gas base cost for BLS pairing
G_PRECOMPILE_BLS_PAIRING_PER_PAIR GAS_PRECOMPILE_BLS_PAIRING_PER_PAIR fork dependent Gas cost for BLS pairing per pair
G_PRECOMPILE_P256VERIFY GAS_PRECOMPILE_P256VERIFY fork dependent Cost for signature verification
R_STORAGE_CLEAR REFUND_STORAGE_CLEAR 4800 Storage clear refund
R_AUTHORIZATION_EXISTING_AUTHORITY REFUND_AUTH_PER_EXISTING_ACCOUNT fork dependent Refund granted when an existing account is already authorized

🔗 Related Issues or PRs

Issue #1879

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered adding an entry to CHANGELOG.md.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

Cute Animal Picture

I (Louis) like Junji Ito.

Gemini_Generated_Image_7lb0d7lb0d7lb0d7

@Carsons-Eels Carsons-Eels force-pushed the refactor_gas_constants branch from 88b35c0 to 5211a81 Compare January 28, 2026 20:07
@Carsons-Eels
Copy link
Contributor Author

Okay, I figured out something that was wrong here. There used to be only G_STORAGE_SET and G_STORAGE_RESET and since the last fork G_STORAGE_UPDATE was added. This changeset is based off the older PR where G_STORAGE_UPDATE did not exist, and instead G_STORAGE_RESET was refactored to G_STORAGE_UPDATE. So I'm adding that back in and going through to correct the things which got mistakenly got changed over. That was confusing 😆

@Carsons-Eels Carsons-Eels force-pushed the refactor_gas_constants branch 2 times, most recently from be51118 to a58e103 Compare January 30, 2026 04:50
@Carsons-Eels Carsons-Eels force-pushed the refactor_gas_constants branch 2 times, most recently from 075209e to 4366c80 Compare February 19, 2026 18:54
@Carsons-Eels Carsons-Eels marked this pull request as ready for review February 19, 2026 19:37
@codecov
Copy link

codecov bot commented Feb 19, 2026

Codecov Report

❌ Patch coverage is 84.33420% with 60 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.85%. Comparing base (7c41a14) to head (cc3262d).
⚠️ Report is 2 commits behind head on forks/amsterdam.

Files with missing lines Patch % Lines
src/ethereum/forks/arrow_glacier/transactions.py 54.54% 5 Missing ⚠️
src/ethereum/forks/bpo1/transactions.py 54.54% 5 Missing ⚠️
src/ethereum/forks/bpo2/transactions.py 54.54% 5 Missing ⚠️
src/ethereum/forks/bpo3/transactions.py 54.54% 5 Missing ⚠️
src/ethereum/forks/bpo4/transactions.py 54.54% 5 Missing ⚠️
src/ethereum/forks/bpo5/transactions.py 54.54% 5 Missing ⚠️
src/ethereum/forks/gray_glacier/transactions.py 54.54% 5 Missing ⚠️
src/ethereum/forks/dao_fork/transactions.py 50.00% 4 Missing ⚠️
src/ethereum/forks/muir_glacier/transactions.py 50.00% 4 Missing ⚠️
src/ethereum/forks/spurious_dragon/transactions.py 50.00% 4 Missing ⚠️
... and 10 more
Additional details and impacted files
@@               Coverage Diff                @@
##           forks/amsterdam    #2094   +/-   ##
================================================
  Coverage            85.85%   85.85%           
================================================
  Files                  599      599           
  Lines                39428    39428           
  Branches              3776     3776           
================================================
  Hits                 33851    33851           
  Misses                4946     4946           
  Partials               631      631           
Flag Coverage Δ
unittests 85.85% <84.33%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Member

@marioevz marioevz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I think we should merge as soon as possible to avoid having to rebase.
It's potentially going to break branches based on forks/amsterdam, but I think this is a one-time operation.
We will have to make sure the names do not deviate when we add new constants to the protocol.

@marioevz
Copy link
Member

I assume that the code coverage wants the new lines to be covered, but if these were not covered prior to this PR, they are not going to be covered afterwards.

@Carsons-Eels
Copy link
Contributor Author

Yes, I thought the same about the coverage. Just going to tweak the description a bit then merge this.

@Carsons-Eels Carsons-Eels force-pushed the refactor_gas_constants branch 7 times, most recently from 66ba4a5 to 9680b7d Compare February 23, 2026 16:28
@Carsons-Eels Carsons-Eels force-pushed the refactor_gas_constants branch from a29b9aa to 8c05626 Compare February 23, 2026 17:49
@Carsons-Eels Carsons-Eels mentioned this pull request Feb 23, 2026
13 tasks
LouisTsai-Csie and others added 4 commits February 23, 2026 15:28
- rename gas constants
- rename base gas cost
- rename very low gas cost
- rename memory gas cost
- rename copy gas cost
- rename low gas cost
- rename medium gas cost
- rename high gas cost
- rename warm access gas cost
- rename cold access gas cost
- rename storage reset gas cost
- rename storage clear gas cost
- rename storage set gas cost
- rename warm account gas cost
- rename cold account gas cost
- rename initcode word gas cost
- rename code deposit gas cost
- rename create gas cost
- rename call stipen gas cost
- rename selfdestruct gas cost
- rename call value gas cost
- rename new account gas cost
- rename exp gas cost
- rename exp per byte gas cost
- rename keccak256 gas cost
- rename keccak256 word gas cost
- rename blockhash gas cost
- rename log data gas cost
- rename log gas cost
- rename log topic gas cost
- rename tx based gas cost
- rename contract creation gas cost
- rename access list addr gas cost
- rename access list storage gas cost
- rename floor calldata gas cost
- rename token standard gas cost
- rename authorize gas cost
- rename authorize base cost
- rename data zero gas cost
- rename non-zero data gas cost
- rename blob gas per block gas cost
- rename blob min price gas cost
- rename all precompile gas costs

fix: linting issues
@Carsons-Eels Carsons-Eels force-pushed the refactor_gas_constants branch from 3ca9315 to cc3262d Compare February 23, 2026 20:31
@Carsons-Eels Carsons-Eels merged commit 7329095 into ethereum:forks/amsterdam Feb 24, 2026
18 of 19 checks passed
@Carsons-Eels Carsons-Eels deleted the refactor_gas_constants branch February 25, 2026 16:06
kevaundray added a commit to kevaundray/execution-specs that referenced this pull request Feb 28, 2026
commit a48c892
Author: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Date:   Fri Feb 27 17:39:02 2026 +0000

    introduce BlockDiff

commit a4a4b47
Merge: e801c45 5034aa2
Author: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Date:   Tue Feb 24 23:25:33 2026 +0000

    Merge remote-tracking branch 'upstream/forks/amsterdam' into kw/extract-stateless-functionality

commit e801c45
Author: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Date:   Tue Feb 24 23:14:11 2026 +0000

    add doc comments for ChainContext fields

commit de68f63
Author: Kevaundray Wedderburn <kevtheappdev@gmail.com>
Date:   Tue Feb 24 22:57:06 2026 +0000

    initial commit

commit 5034aa2
Author: kevaundray <kevtheappdev@gmail.com>
Date:   Tue Feb 24 22:56:44 2026 +0000

    chore(ci): Skip diffs if not on default branch (ethereum#2304)

    * skip diffs

    * Update .github/workflows/gh-pages.yaml

    Co-authored-by: Sam Wilson <57262657+SamWilsn@users.noreply.github.com>

    * revert: actionlint

    ---------

    Co-authored-by: Sam Wilson <57262657+SamWilsn@users.noreply.github.com>

commit 7ca499e
Author: danceratopz <danceratopz@gmail.com>
Date:   Tue Feb 24 20:06:22 2026 +0100

    feat(test-fill,test-benchmark): organize fixtures into fork and gas-limit subdirs (ethereum#2134)

    * feat(test-benchmark): split gas benchmark outputs by subdir

    * docs(test-benchmark): document gas benchmark output layout

    * test(test-benchmark): verify gas benchmark subdir layout

    * feat(test-benchmark): update folder structure according to review

    * refactor(test-filler): move fixture_output to shared

    Move FixtureOutput from filler/ to shared/ and absorb fixture_naming.py.
    This prepares for future build-tool plugins that also generate fixtures.

    * feat(test-filler): organize fill fixture output by target fork

    Always include the gas-limit suffix in the fork output subdirectory,
    not just for benchmark tests. Non-benchmark (consensus) tests now also
    get a subdirectory like `for_prague_at_0120M/` using the environment
    default gas limit (respecting `--block-gas-limit`).

    The `_at_` separator makes the directory name unambiguous:
      for_{fork}_at_{gas}M   (e.g. for_prague_at_0120M)

    * docs(releases): document fixture output directory layout

    Add a "Fixture Output Directory Structure" section explaining the
    for_{fork}_at_{gas}M subdirectory convention, default gas limit, and
    how benchmark tests use --gas-benchmark-values.

    * feat(test-filler): drop gas limit from consensus fixture subdirs

    Consensus fixtures now use `for_{fork}/` (e.g. `for_prague/`) instead of
    `for_{fork}_at_{gas}M/`. Benchmark fixtures keep the gas limit suffix.

    * feat(test-filler): use fixture_subfolder marker for output subdirs

    Replace manual gas-benchmark detection in the filler with a composable
    pytest.mark.fixture_subfolder(level, prefix) marker:

    - Add level-0 marker (fork prefix) in fork parametrization.
    - Add level-1 marker in GasBenchmarkValues and OpcodeCountsConfig.
    - Resolve output subdirs from markers in filler instead of hard-coding.
    - Break circular import so collector can share the separator constant.
    - Register the marker in execute_fill alongside other shared markers.

    * feat(test-tests): add fixed-opcode-count subdirectory output test

    - Verify --fixed-opcode-count splits fixtures into per-count subdirs.
    - Mirror the existing gas-benchmark subdir test for opcode counts.

    * fix(test-fill): fix-up typehints for mypy

    * fix(test-fill): remove dead code and tighten types

    - Remove unused `should_auto_enable_all_formats` property.
    - Remove unused `format_gas_limit_subdir()` function.
    - Remove unreachable `FORK_SUBDIR_PREFIX` check in post-merge
      verification (format dir is always at `parts[0]`).
    - Tighten `resolve_fixture_subfolder` parameter from `list` to
      `list[pytest.Mark]`.
    - Clarify "benchmark" prefix stripping in collector with comment.

    * docs(test-fill): update docs for fixed-opcode-count fixture dir layout

    * fix: static tests

    ---------

    Co-authored-by: Mario Vega <marioevz@gmail.com>

commit 84025b7
Author: Sam Wilson <57262657+SamWilsn@users.noreply.github.com>
Date:   Tue Feb 24 14:05:19 2026 -0500

    chore: bump docc version (ethereum#2303)

commit 4fff5eb
Author: Mario Vega <marioevz@gmail.com>
Date:   Tue Feb 24 19:30:35 2026 +0100

    feat(test-execute): Support `testing_buildBlockV1` (ethereum#2295)

    * feat(test-rpc): Add `Testing` namespace

    * nit: transactions parameter

    * feat(test-execute): Support `testing_buildBlockV1`

    * docs

    * refactor(execute): Testing endpoint non-auth

    * review comments

    Co-authored-by: fselmo <fselmo2@gmail.com>

    ---------

    Co-authored-by: fselmo <fselmo2@gmail.com>

commit 7329095
Author: Carson <carson@ethereum.org>
Date:   Tue Feb 24 12:29:35 2026 -0500

    refactor(test): rename/align gas cost constants (ethereum#2094)

    - rename base gas cost
    - rename very low gas cost
    - rename memory gas cost
    - rename copy gas cost
    - rename low gas cost
    - rename medium gas cost
    - rename high gas cost
    - rename warm access gas cost
    - rename cold access gas cost
    - rename storage reset gas cost
    - rename storage clear gas cost
    - rename storage set gas cost
    - rename warm account gas cost
    - rename cold account gas cost
    - rename initcode word gas cost
    - rename code deposit gas cost
    - rename create gas cost
    - rename call stipen gas cost
    - rename selfdestruct gas cost
    - rename call value gas cost
    - rename new account gas cost
    - rename exp gas cost
    - rename exp per byte gas cost
    - rename keccak256 gas cost
    - rename keccak256 word gas cost
    - rename blockhash gas cost
    - rename log data gas cost
    - rename log gas cost
    - rename log topic gas cost
    - rename tx based gas cost
    - rename contract creation gas cost
    - rename access list addr gas cost
    - rename access list storage gas cost
    - rename floor calldata gas cost
    - rename token standard gas cost
    - rename authorize gas cost
    - rename authorize base cost
    - rename data zero gas cost
    - rename non-zero data gas cost
    - rename blob gas per block gas cost
    - rename blob min price gas cost
    - rename all precompile gas costs
    - (refactor) TX_ACCESS_LIST_ADDRESS_COST => GAS_TX_ACCESS_LIST_ADDRESS
    - (refactor) GAS_CODE_DEPOSIT => GAS_CODE_DEPOSIT_PER_BYTE
    - (refactor) remove unnecessary Uint cast for REFUND_STORAGE_CLEAR
    - (refactor) TX_ACCESS_LIST_STORAGE_KEY_COST => GAS_TX_ACCESS_LIST_STORAGE_KEY
    - (refactor) GAS_KECCAK256_WORD => GAS_KECCAK256_PER_WORD
    - (refactor) TX_BASE_COST => GAS_TX_BASE
    - (refactor) TX_CREATE_COST => GAS_TX_CREATE
    - (refactor) TX_DATA_STANDARD_TOKEN_COST => GAS_TX_DATA_TOKEN_STANDARD
    - (refactor) => TX_DATA_FLOOR_TOKEN_COST => GAS_TX_DATA_TOKEN_FLOOR
    - (refactor) GAS_INIT_CODE_WORD_COST => GAS_CODE_INIT_PER_WORD
    - (refactor) TX_DATA_COST_PER_ZERO => GAS_TX_DATA_PER_ZERO
    - (refactor) TX_DATA_COST_PER_NON_ZERO => GAS_TX_DATA_PER_NON_ZERO
    - (refactor) GAS_AUTH_PER_EMPTY_ACCOUNT_COST => GAS_AUTH_PER_EMPTY_ACCOUNT
    - (refactor) GAS_LOG_DATA => GAS_LOG_DATA_PER_BYTE
    - (refactor) GAS_PRECOMPILE_SHA256_WORD => GAS_PRECOMPILE_SHA256_PER_WORD
    - (refactor) GAS_PRECOMPILE_RIPEMD160_WORD => GAS_PRECOMPILE_RIPEMD160_PER_WORD
    - (refactor) GAS_PRECOMPILE_IDENTITY_WORD => GAS_PRECOMPILE_IDENTITY_PER_WORD
    - (refactor) REFUND_PER_AUTH_BASE_COST => REFUND_AUTH_PER_EXISTING_ACCOUNT

    ---------

    Co-authored-by: LouisTsai <q1030176@gmail.com>

commit cdf9add
Author: Paweł Bylica <pawel@hepcolgum.band>
Date:   Tue Feb 24 16:53:55 2026 +0100

    feat(tests): port EXTCODEHASH dynamicAccountOverwriteEmpty (ethereum#2032)

    Port the legacy static test:
    stExtCodeHash/dynamicAccountOverwriteEmpty_Paris
    for EIP-1052 EXTCODEHASH testing.

    The test verifies EXTCODEHASH correctly updates when an empty account is
    overwritten by CREATE2. Modified from original: target account has no
    storage to avoid EIP-7610 collision behavior.

commit 9bd111a
Author: felix <felix314159@users.noreply.github.com>
Date:   Tue Feb 24 14:20:18 2026 +0100

    fix: failing test in ci for 7981 (ethereum#2297)

commit 6f80f72
Author: Jochem Brouwer <jochembrouwer96@gmail.com>
Date:   Tue Feb 24 10:25:24 2026 +0100

    refactor(test-benchmarks): ensure `SSTORE` N->N writes nonzero key/value (ethereum#2255)

commit 04fb242
Author: Paweł Bylica <pawel@hepcolgum.band>
Date:   Mon Feb 23 23:24:31 2026 +0100

    feat(tests): port EXTCODEHASH codeless account with storage test (ethereum#2291)

    Port sub-case from dynamicAccountOverwriteEmpty_ParisFiller.yml:
    a codeless account with storage returns keccak256("") for EXTCODEHASH
    and 0 for EXTCODESIZE. Parametrized over three non-empty variants
    (balance only, nonce only, both).

commit 7add493
Author: Sam Wilson <57262657+SamWilsn@users.noreply.github.com>
Date:   Mon Feb 23 15:45:25 2026 -0500

    chore: expand docstring guide (ethereum#2195)

    Co-authored-by: danceratopz <danceratopz@gmail.com>
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.

5 participants