Skip to content

chore: merge upstream changes#25

Merged
chetna-mittal merged 149 commits into
forks/amsterdamfrom
sync-upstream
May 29, 2026
Merged

chore: merge upstream changes#25
chetna-mittal merged 149 commits into
forks/amsterdamfrom
sync-upstream

Conversation

@chetna-mittal
Copy link
Copy Markdown
Collaborator

@chetna-mittal chetna-mittal commented Apr 20, 2026

🗒️ Description

Syncs the latest changes on upstream forks/amsterdam branch along with adding gnosis support for pre-merge forks (Constantinople -> Paris) from PR #26

✅ Checklist

danceratopz and others added 30 commits April 13, 2026 11:44
…N]` kwarg (ethereum#2665)

`@pytest.mark.eip_checklist(..., eip=[N])` is the documented escape
hatch for a test that covers EIP N but lives outside a `tests/**/eipN_*/`
directory (introduced in ethereum/execution-spec-tests#2088). The
collector's `get_eip(N)` stores such EIPs with `path=None`, relying on
a later pass over items inside the EIP's own directory to back-fill
the path. When those primary tests aren't collected (e.g. deselected
by a `-m` filter or `--until`), the path stays `None` and
`--checklist-doc-gen` aborts at an `assert eip.path is not None`.

Add a filesystem fallback that scans `tests/` for the canonical
`eip<N>_*` directory after item collection, and downgrade the assert
to a warning-plus-skip so a genuinely missing directory no longer
crashes checklist doc generation. The fix is exercised by running
`docs/scripts/gen_test_case_reference.py` with `tests/benchmark`
included, where `tests/benchmark/compute/precompile/test_p256verify.py`
references EIP 7951 via the kwarg.
…ethereum#2660)

* chore(tooling): add docs-serve and docs-serve-fast just recipes

* chore(tooling): only set DYLD_FALLBACK_LIBRARY_PATH no macOS
…o `PytestCommand` (ethereum#2648)

Co-authored-by: danceratopz <danceratopz@gmail.com>
Add `docs/img/eth-diamond-orange.svg` shaded like `eth-diamond-white.svg`
using the Material deep-orange theme color, and wire it up as the mkdocs
favicon in place of `ETH-logo-icon.svg`.
…_enabled` (ethereum#2676)

* feat(test-forks): Make `eip_number` in `is_eip_enabled` positional arg

* feat(test-forks): Make `is_eip_enabled` receive multiple EIPs
…2600)

* feat: add while gas generator

* feat: add inner gas cost field for cost calculator

* refactor: expected opcode count validation

* chore: ignore fixed-opcode-count time-comsuming cases

* fix ec_pairing and alt_bn128 uncachable benchmarks

* refactor point evaluation uncachable benchmark

* feat: add uncachable precompile benchmarks

* fix: loop check logic

* fix(tests-benchmark): Fix test_point_evaluation_uncachable

---------

Co-authored-by: marioevz <marioevz@gmail.com>
…thereum#2653)

* feat: add more invalid BAL test cases; extend invalid case coverage

* chore: align renames with test_cases.md

* chore: align test_cases.md with implementations from audit

* feat(tests): add missing / invalid coinbase BAL tests

* chore: consolidate unused BAL exceptions

* fix(tests): changes from comments on PR ethereum#2653

* fix(test,types): Fix bal_hash / block_access_list_hash mismatch for modifier

* chore(test,types): If Header has a field and FixtureHeader doesn't, validate against this on apply
…ist workers (ethereum#2664)

* Fix bug in verify-traces

* Convert to pydantic models

* Add Ignore stack and gas mode

* Allow differences in return_data for no-stack comparators
feat: switch back to original branch after creating devnet branch, makes local testing easier (i usually delete the devnet branch and try again, but that doesn't work when i am on it)

feat: devnet script optimization to avoid merge conflicts

feat: mario feedback
fix: 7976 and 7981 devnet merger fix, extract count_tokens_in_data and restructure floor calc

refactor: 8037+7981 harmonization, add zero-valued access list token scaffolding

fix: add comment
Co-authored-by: spencer-tb <spencer.taylor-brown@ethereum.org>
…ure.yaml` (ethereum#2702)

* feat(fill): make --generate-all-formats opt-in via feature.yaml

Tarball output (.tar.gz) no longer auto-enables --generate-all-formats.
Release features declare the flag explicitly in fill-params; benchmark
and benchmark_fast opt in, mainnet and bal do not.

* style(test-fill): ruff format test_generate_all_formats.py
…thereum#2690)

Co-authored-by: spencer-tb <spencer.tb@ethereum.org>
…2712)

* test: Add account-only BAL invalid test

* refactor(test): parametrize missing account test / DRY

---------

Co-authored-by: Felipe Selmo <fselmo2@gmail.com>
Co-authored-by: spencer-tb <spencer.tb@ethereum.org>
…EIP-4788 (ethereum#2716)

Co-authored-by: spencer-tb <spencer.tb@ethereum.org>
fselmo and others added 17 commits May 20, 2026 16:33
* test(tests): extend BALs coverage for edge cases

* test(tests): closes ethereum#1910 - parametrize memory for call_opcode tests

* test(tests): expand BAL coverage for insufficient-funds boundaries

Add a combined outer-REVERT + inner-insufficient-funds test (CALL and CREATE), and layer EIP-7928-gated BAL expectations onto three existing cross-fork insufficient-funds tests (EIP-7708, EIP-2929 frontier CALL).

* feat(tests): add some more parallelization test scenarios for BALs

* chore(tests): add SSTORE to CREATE2 + SD + re-create as sanity check

* cleanups from comments on PR ethereum#2854

* feat(tests): add parallelization BAL tests for collision / OOG create chain

* chore: audit * update ``test_cases.md`` after suggestions and PR ethereum#2882

* fix(tests): update expected exception(s) for transition tests
ethereum#2883)

* feat(tests): EIP-7928 BAL withdrawal predeploy balance read across txs

Add a cross-tx test in eip7928_block_level_access_lists/test_block_access_lists_cross_index.py
that verifies a transaction observing the BAL balance change of the
WITHDRAWAL_REQUEST_PREDEPLOY recorded by a prior transaction within the
same block.

tx 0 pays the withdrawal fee (balance 0 -> fee, recorded as a BAL
balance_change at index 1). tx 1 calls a contract that performs
SSTORE(0, BALANCE(WITHDRAWAL_REQUEST_PREDEPLOY)); the assertion that
slot 0 equals fee exercises that tx 1's pre-state for the predeploy
includes tx 0's BAL prefix entry.

* chore: add entry to ``test_cases.md``

* chore: unrelated cleanup to use Spec instead of hard-coding

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
…thereum#2893)

* feat(tests): EIP-7928 self destruct to system address with 0 value

* chore: some cleanup and add test case to ``tests_cases.md``

* chore: move test to more appropriate location

---------

Co-authored-by: fselmo <fselmo2@gmail.com>
@chetna-mittal chetna-mittal marked this pull request as ready for review May 25, 2026 10:48
@chetna-mittal chetna-mittal requested a review from dapplion May 25, 2026 10:49
GottfriedHerold and others added 9 commits May 25, 2026 22:11
…thereum#2896)

* tests/benchmark/compute/precompile/test_modexp.py: Add tests for modexp with random bit patterns and relevant lengths.
Add tests for modexp where the modulus is a power of 2.

* remove newline

* Fix typo

* refactor: comment and helper function

---------

Co-authored-by: LouisTsai <q1030176@gmail.com>
* 🧪 test: Extend create endowment

* 🧪 test: Extend tx boundary test

* feat(tests): 2D parametrize with (tx, withdrawal) for BAL gas limit test

---------

Co-authored-by: raxhvl <raxhvl@users.noreply.github.com>
Co-authored-by: fselmo <fselmo2@gmail.com>
* feat: fill-stateful pytest pluging implementation

* fix: test phase extraction; remove AI guesswork

* WIP: debug_setHead resets

* WIP: separate global setup step

* use withdrawal to fund; default gen seed key

* chore: cleanups related to stateful filling

* add --clean support; remove xdist logging

* chore: fix unit test for stateful fixture

* more refactoring

* refactor(test-cli): share live-network pytest plugin logic

* feat(test-cli): Use setup groups to optimize the setup + execution behavior

* refactor: some refactor and work on setup groups

* fix: address comments from PR ethereum#2637

* refactor: remove the setup groups; unnecessarily complex for small gain

* feat(tests-specs): added improvements and cleanup for stateful filling

* chore: fail loudly for parametrized stub tests missing stub file

* refactor: Use `PhaseManager` for fill-stateful

* fix: format selection

* fix: forks unit tests

* feat: fill-stateful hive support

* fix: hive flags

* fix: fill-stateful exclude from fill format

* refactor(fill): Get rid of PhaseManager, FormatSelector

* nit: comment update

* Louis' comments

Co-authored-by: 蔡佳誠 Louis Tsai <72684086+LouisTsai-Csie@users.noreply.github.com>

* refactor: rename global_setup to block hash

---------

Co-authored-by: Mario Vega <marioevz@gmail.com>
Co-authored-by: LouisTsai <q1030176@gmail.com>
Co-authored-by: 蔡佳誠 Louis Tsai <72684086+LouisTsai-Csie@users.noreply.github.com>
Copy link
Copy Markdown
Member

@dapplion dapplion left a comment

Choose a reason for hiding this comment

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

#26 has been reviewed carefully, and this PR does not add meaninful gnosis modifications beyond it

@chetna-mittal chetna-mittal merged commit 5d2e7fe into forks/amsterdam May 29, 2026
30 checks passed
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.