Skip to content

Conversation

@SamWilsn
Copy link
Contributor

@SamWilsn SamWilsn commented Dec 8, 2025

Cute Animal Picture

image

chfast and others added 30 commits October 1, 2025 20:45
Add more tests cases for the `p256verify` precompile where the final
computed point `R` is at infinity by passing `Q = -G` and `u1 == u2`.

Similar test cases exist in "wycheproof_extra".
* chore(forks): update bpo hardfork params to match testnet.

* feat(execute): Update eth-config networks.yml

---------

Co-authored-by: Mario Vega <[email protected]>
* test(tests): add BLOCKHASH genesis hash availability test

Add regression test verifying BLOCKHASH(0) returns genesis hash in block 1.
Tests blockchain test infrastructure properly populates genesis hash before
execution, preventing BLOCKHASH(0) from returning 0.

Regression context: revm blockchaintest runner wasn't inserting block_hashes
into state, causing BLOCKHASH(0) to return 0. This broke tests with dynamic
address computations like BLOCKHASH(0) | TIMESTAMP, where the computed
address would be incorrect, leading to balance transfer failures.

Test validates infrastructure setup by storing ISZERO(BLOCKHASH(0)) which
should be 0 (false) when genesis hash is properly available.

* test(tests): extend BLOCKHASH test to verify block 1 hash availability

Extends test_genesis_hash_available to verify both genesis (block 0)
and first executed block (block 1) hash insertion by adding a second
block that calls the contract, testing BLOCKHASH(0) and BLOCKHASH(1).

Addresses PR feedback to test complete block hash infrastructure.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>

---------

Co-authored-by: Claude <[email protected]>
* Changed intrinsic gas too low for gas below floor gas cost

* Fixing wrongly removing intrinsic gas too low error

* Fixing message for intrinsic gas too low error

* Improved error messages

* Added mapping for TYPE_3_TX_CONTRACT_CREATION error
* Enforce keyword-only arguments in calldata_gas_calculator methods and calls

* Apply keyword-only enforcement to all BaseFork methods and implementations

* fixes

---------

Co-authored-by: Abhishek Kafle <[email protected]>
Co-authored-by: Mario Vega <[email protected]>
* Enforce keyword-only arguments in calldata_gas_calculator methods and calls

* Apply keyword-only enforcement to all BaseFork methods and implementations

* fixes

---------

Co-authored-by: Abhishek Kafle <[email protected]>
Co-authored-by: Mario Vega <[email protected]>
* Enforce keyword-only arguments in calldata_gas_calculator methods and calls

* Apply keyword-only enforcement to all BaseFork methods and implementations

* fixes

---------

Co-authored-by: Abhishek Kafle <[email protected]>
Co-authored-by: Mario Vega <[email protected]>
Add better test cases for the `p256verify` precompile where `x` or `y`
coordinate of the public key point are incorrectly bigger than `P`.
The difference from the previous similar cases is that reducing
the invalid values by `P` creates a valid signature. The reduction can
happen unintentionally by converting values to the Montgomery form.
* use --chain-id in ProgramChainid

* Update tests/frontier/scenarios/programs/context_calls.py

---------

Co-authored-by: Mario Vega <[email protected]>
* chore(consume): Mark all consume sync tests as flaky

* refactor: simplify consume sync logic

* chore: CHANGELOG entry
* chore(consume): Mark all consume sync tests as flaky

* refactor: simplify consume sync logic

* chore: CHANGELOG entry
…nce in access list (#2253)

* add test for repeated address in acl

* ruff lint
* ✨ feat(EIP-7928): OOG: Intrinsic gas

* 🚧 wip(EIP-7928): OOG tests

* fix: BAL expectations for OOG 7928 tests

- fix linter

* remove equivalent test cases as covered by opcode cases

* 🥢 nit: named parameters

* fix: Tighten up validation for empty lists on BALs

* chore: CHANGELOG entry

* chore: fix docstring after refactor

---------

Co-authored-by: raxhvl <[email protected]>
Co-authored-by: fselmo <[email protected]>
* ✨ feat(EIP-7928): OOG: Intrinsic gas

* 🚧 wip(EIP-7928): OOG tests

* fix: BAL expectations for OOG 7928 tests

- fix linter

* remove equivalent test cases as covered by opcode cases

* 🥢 nit: named parameters

* fix: Tighten up validation for empty lists on BALs

* chore: CHANGELOG entry

* chore: fix docstring after refactor

---------

Co-authored-by: raxhvl <[email protected]>
Co-authored-by: fselmo <[email protected]>
* ✨ feat(EIP-7928): OOG: Intrinsic gas

* 🚧 wip(EIP-7928): OOG tests

* fix: BAL expectations for OOG 7928 tests

- fix linter

* remove equivalent test cases as covered by opcode cases

* 🥢 nit: named parameters

* fix: Tighten up validation for empty lists on BALs

* chore: CHANGELOG entry

* chore: fix docstring after refactor

---------

Co-authored-by: raxhvl <[email protected]>
Co-authored-by: fselmo <[email protected]>
* type(tests): convert create suicide during init

* Fixes, increase coverage

* fix: Coverage script

* Add coveraged missed reason

---------

Co-authored-by: Mario Vega <[email protected]>
* ✨ feat(tests): EIP-7928 tests for EIP-2930:

🧹 chore(tests): Move to new test file
✨ feat(tests): EIP-7928test_bal_2930_slot_listed_and_unlisted_reads
✨ feat(tests): EIP-7928 test_bal_2930_slot_listed_and_unlisted_writes
✨ feat(tests): EIP-7928 test_bal_2930_slot_listed_but_untouched

* fix: issues after refactor; rename test file

* ✨ feat(test): test_bal_2930_account_listed_but_untouched

* chore: move 2930 tests into main test file

* chore: add changelog entry

* fix: fix rebase error for OOG 7928 tests

* fix: validate expected empty account changes

---------

Co-authored-by: raxhvl <[email protected]>
Co-authored-by: fselmo <[email protected]>
* ✨ feat(tests): EIP-7928 tests for EIP-2930:

🧹 chore(tests): Move to new test file
✨ feat(tests): EIP-7928test_bal_2930_slot_listed_and_unlisted_reads
✨ feat(tests): EIP-7928 test_bal_2930_slot_listed_and_unlisted_writes
✨ feat(tests): EIP-7928 test_bal_2930_slot_listed_but_untouched

* fix: issues after refactor; rename test file

* ✨ feat(test): test_bal_2930_account_listed_but_untouched

* chore: move 2930 tests into main test file

* chore: add changelog entry

* fix: fix rebase error for OOG 7928 tests

* fix: validate expected empty account changes

---------

Co-authored-by: raxhvl <[email protected]>
Co-authored-by: fselmo <[email protected]>
* ✨ feat(tests): EIP-7928 tests for EIP-2930:

🧹 chore(tests): Move to new test file
✨ feat(tests): EIP-7928test_bal_2930_slot_listed_and_unlisted_reads
✨ feat(tests): EIP-7928 test_bal_2930_slot_listed_and_unlisted_writes
✨ feat(tests): EIP-7928 test_bal_2930_slot_listed_but_untouched

* fix: issues after refactor; rename test file

* ✨ feat(test): test_bal_2930_account_listed_but_untouched

* chore: move 2930 tests into main test file

* chore: add changelog entry

* fix: fix rebase error for OOG 7928 tests

* fix: validate expected empty account changes

---------

Co-authored-by: raxhvl <[email protected]>
Co-authored-by: fselmo <[email protected]>
`actions-rs` has been archived and is no longer the recommended way to
install packages. Instead, I'm using the Ubuntu-provided `rustup`.
… BloatNet tests (#2242)

Replace duplicate test functions with parametrized versions to avoid repetitive
code. Each test now accepts a `balance_first` parameter that controls the order
of operations, eliminating the need for separate `_extcodesize_balance`,
`_extcodecopy_balance`, and `_extcodehash_balance` variants.

Changes:
- Add @pytest.mark.parametrize to test_bloatnet_balance_extcodesize,
  test_bloatnet_balance_extcodecopy, and test_bloatnet_balance_extcodehash
- Each test now generates two variants via parametrization with descriptive IDs
  (e.g., "balance_extcodesize" and "extcodesize_balance")
- Extract operation sequences into variables and conditionally compose them
  based on balance_first parameter
- Remove test_bloatnet_extcodesize_balance, test_bloatnet_extcodecopy_balance,
  and test_bloatnet_extcodehash_balance (now covered by parametrization)

This reduces the file from 793 lines to 462 lines while maintaining the same
test coverage (6 tests total: 3 test functions × 2 parametrization values).

To run specific parameter variants, use the -k flag:
  fill -k "balance_extcodesize" tests/benchmark/bloatnet/test_multi_opcode.py
  fill -k "extcodesize_balance" tests/benchmark/bloatnet/test_multi_opcode.py
marioevz and others added 19 commits December 3, 2025 00:47
* fix(t8n): introduce profiler

* profiler pauses

* fix(testing/base_types): Speed up to_bytes

fix(base_types): unnecessary cast

* fix(testing/base_types): CoerceBytes

* fix(testing): Optimize pre-alloc grouping state hash

* feat(t8n): introduce LazyAlloc

* feat(fixtures): Cached genesis model dump

* refactor: prefer explicit cache over circular reference (#2)

* Update packages/testing/src/execution_testing/client_clis/cli_types.py

Co-authored-by: spencer <[email protected]>

* fix: verify modified gas limit

* refactor: Use generics

* refactor: Add state root cache

* docs: changelog

* feat(client_clis): Add unit tests

---------

Co-authored-by: danceratopz <[email protected]>
Co-authored-by: spencer <[email protected]>
* feat: added more mainnet tests

* fix: fix modexp tests

* fix: fix

* chore(test-tests): update mainnet marked tests for osaka

* chore(test-types): add logging for rejected txs

* chore: fix static tox ruff format ci fail

* Apply suggestions from code review

* fix(tests): Change all mainnet osaka tests to ty-2 tx

* fix(tests): Fix EIP-7883 tests

---------

Co-authored-by: spencer-tb <[email protected]>
Co-authored-by: Mario Vega <[email protected]>
…and (#1822)

* feat(execute): Deferred EOA funding

* fix(execute): remove _refresh_sender_nonce calls

* fix(execute): workaround for priority fee

* feat(execute): Support blob transactions

* refactor(execute): Re-nonce worker key

* refactor(execute): Fixture renames

* refactor(execute): unused param

* refactor(execute): nit

* refactor(execute): Add a ton of logging

* fix(plugins): Change `execute remote` from loadscope to load

* fix(execute): Try on refund txs

* refactor(execute): More logging

* fix(execute): Collect only

* fix(execute): mypy

* fix(plugins): Change `execute hive` from loadscope to load

* refactor: Rename flag

* docs: Add new features

* feat(execute): Use seed directly if not running xdist

* fix: docs lint

* docs: Changelog

* Update docs/running_tests/execute/hive.md

Co-authored-by: spencer <[email protected]>

* Update docs/running_tests/execute/hive.md

Co-authored-by: spencer <[email protected]>

* Update docs/running_tests/execute/hive.md

Co-authored-by: spencer <[email protected]>

* Apply suggestions from code review

Co-authored-by: spencer <[email protected]>

* Apply suggestions from code review

Co-authored-by: spencer <[email protected]>

* fix: Logging mode

---------

Co-authored-by: spencer <[email protected]>
* refactor: update filter logic

* fix: fixed opcode count logic

* chore: update comment

* refactor: add negate logic
* chore(ci): updates for final osaka test release

* chore(docs): bump release date
* fix reference

* fix typo

* fix typo
@SamWilsn SamWilsn marked this pull request as draft December 8, 2025 17:52
@SamWilsn
Copy link
Contributor Author

SamWilsn commented Dec 8, 2025

Don't merge this one directly. I'll do a fast-forward-only push if we're happy with it.

chfast and others added 3 commits December 8, 2025 19:32
Add valid ecrecover test inputs which invoke point doubling in the
multi-scalar multiplication based on the Shamir trick.

Ported from evmone unit tests:
ipsilon/evmone#1391.
…#1852)

* fix(test-cli-fill): Use default evm-dump-dir for traces; gitignore it

---------

Co-authored-by: Mario Vega <[email protected]>
@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (mainnet@94349d9). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             mainnet    #1866   +/-   ##
==========================================
  Coverage           ?   83.87%           
==========================================
  Files              ?      402           
  Lines              ?    25101           
  Branches           ?     2285           
==========================================
  Hits               ?    21053           
  Misses             ?     3609           
  Partials           ?      439           
Flag Coverage Δ
unittests 83.87% <ø> (?)

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.

marioevz and others added 3 commits December 9, 2025 00:37
* enhance(ci): Add EIP Tracker Issue Template

* Add note and paraphrase.

* Update .github/ISSUE_TEMPLATE/eip-tracker.yaml

Co-authored-by: Carson <[email protected]>

* Update .github/ISSUE_TEMPLATE/eip-tracker.yaml

Co-authored-by: spencer <[email protected]>

* Update .github/ISSUE_TEMPLATE/eip-tracker.yaml

Co-authored-by: Carson <[email protected]>

* Update .github/ISSUE_TEMPLATE/eip-tracker.yaml

Co-authored-by: spencer <[email protected]>

* Review feedback

* Update .github/ISSUE_TEMPLATE/eip-tracker.yaml

* Apply suggestions from code review

Co-authored-by: felipe <[email protected]>

* Review comments

* Update .github/ISSUE_TEMPLATE/eip-tracker.yaml

---------

Co-authored-by: Carson <[email protected]>
Co-authored-by: spencer <[email protected]>
Co-authored-by: felipe <[email protected]>
…rios (#1790)

* enhance(test-benchmark): use config file for fixed opcode count scenarios

* chore(test-benchmark): update help messages for fixed opcode count and gas bench values

* chore(test-benchmark): fix repricing filter to work with both benchmark options

* chore(test-benchmark): allow fixed-opcode-count for all benchmark tests

* chore(test-benchmark): warn when config file missing for fixed-opcode-count

* chore(test-benchmark): update test to match new help text

* chore(test-benchmark): remove unnecessary generic_visit call in parser

* chore(test-benchmark): format test file
@SamWilsn SamWilsn merged commit d1e7e6b into mainnet Dec 9, 2025
46 of 52 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.