Skip to content

feat(tests): eip7623 - parametrize test_transaction_validity_type_* with a tx to an eoa #1422

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 14, 2025

Conversation

danceratopz
Copy link
Member

@danceratopz danceratopz commented Apr 9, 2025

🗒️ Description

Additionally parametrize the test functions:

with a "to" value that corresponds to an EOA.

This adds an additional 96 test cases, due to the existing parametrization these tests. All mainnet clients were tested using consume-engine, no fails were found.

Coverage analysis of the tests themselves revealed that L47 in the to fixture was not hit:

@pytest.fixture
def to(
request: pytest.FixtureRequest,
pre: Alloc,
) -> Address | None:
"""Create the sender account."""
if hasattr(request, "param"):
param = request.param
else:
param = Op.STOP
if param is None:
return None
if isinstance(param, Address):
return param
if isinstance(param, Bytecode):
return pre.deploy_contract(param)
raise ValueError(f"Invalid value for `to` fixture: {param}")

Generate a coverage report locally with:

fill --until Prague tests/prague/eip7623_increase_calldata_cost/test_transaction_validity.py --cov tests --cov-report=html:7623-coverage

🔗 Related Issues

None

✅ Checklist

  • All: Set appropriate labels for the changes.
  • All: Considered squashing commits to improve commit history.
  • All: Added an entry to CHANGELOG.md.

@danceratopz danceratopz added scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature labels Apr 9, 2025
@danceratopz
Copy link
Member Author

@marioevz feel free to close if these bring no value, but then I'd favor updating the to fixture to remove Address as a valid request.param.

@danceratopz danceratopz requested a review from marioevz April 9, 2025 09:27
@danceratopz
Copy link
Member Author

@marioevz Ran the tests against all clients via consume-engine with no failures.

@danceratopz danceratopz added the fork:prague Prague hardfork label Apr 11, 2025
Copy link
Contributor

@spencer-tb spencer-tb left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks

@danceratopz danceratopz self-assigned this Apr 14, 2025
@danceratopz danceratopz changed the title feat(tests): parametrize test_transaction_validity_type_* with a tx to an eoa feat(tests): eip7623 - parametrize test_transaction_validity_type_* with a tx to an eoa Apr 14, 2025
@danceratopz danceratopz merged commit 648e8c9 into main Apr 14, 2025
21 checks passed
@danceratopz danceratopz deleted the 7623-add-tx-with-address branch April 14, 2025 09:14
pacrob pushed a commit to pacrob/execution-spec-tests that referenced this pull request May 5, 2025
felix314159 pushed a commit to felix314159/execution-spec-tests that referenced this pull request May 16, 2025
sonhv0212 pushed a commit to ronin-chain/execution-spec-tests that referenced this pull request May 19, 2025
sonhv0212 pushed a commit to ronin-chain/execution-spec-tests that referenced this pull request May 20, 2025
sonhv0212 added a commit to ronin-chain/execution-spec-tests that referenced this pull request May 21, 2025
* feat(tests): EIP-2537: add bls12 audit test cases (ethereum#1275)

* fix(test): remove test violating EIP-7523 (ethereum#1257)

* fix(test): remove test violating EIP-7523

* Simplify the test by removing parameterization

* chore(tests): update bls12 test vectors (ethereum#1289)

* new(tests): add state test with empty 7702 authorization list (ethereum#1224)

* new(tests): add state test with empty 7702 authorization list

* fix(clis): Add exception to EELS

---------

Co-authored-by: Mario Vega <[email protected]>

* new(tests): EIP-7702: Sender not EOA test

* Add self-sponsored variant

* apply comments

* fix(test): improve EIP-7702 test for type 4 transaction with empty to (ethereum#1337)

* fix(tests): EIP-7702 verification/merge issue (ethereum#1358)

* new(tests): EIP-7702: More RLP tests (ethereum#1347)

* refactor(types): remove nonce-as-list from auth list

* new(tests): EIP-7702: Tx serialization tests

* refactor(tests): Use RLP encoding changes

* Change log

* new(tests): EIP-7702: more rlp tests

* 🧹 chore(EIP-7623): Remove duplicate fixture (ethereum#1381)

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

* feat(tests): Additional EIP-2935 coverage (ethereum#1379)

Update CHANGELOG.md

* new(tests): EIP-7702: Delegation Designation as Initcode, max-fee-per-gas tests (ethereum#1372)

* new(tests): EIP-7702: Delegation designation as initcode

* new(tests): EIP-7702: Invalid max_fee_per_gas/max_priority_fee_per_gas

* docs: changelog

* refactor(tests): Combine similar cases into one

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

---------

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

* fix(execute,tests): EIP-7702: send tx of eoa after setcode tx is mined (ethereum#1411)

* fix(tests): EIP-7702: send transaction of an EOA after setcode tx is mined

* refactor(execute): send batch of txs by block

* fix(tests): Parametrize instead of change

* refactor(execution): Change error check to per-block basis

---------

Co-authored-by: Mario Vega <[email protected]>

* feat(tests): update 7702 precompile test cases (ethereum#1431)

- Add a test case that calls the delegated precompile acct directly from
  the same transaction as the auth. Supply enough gas only to cover the
  intrinsic cost of the call, with no extra gas for any precompile
  code execution.

- Update the test case for all call opcodes to use all of the call opcodes.

* feat(tests): eip7623 - parametrize `test_transaction_validity_type_*` with a tx to an eoa (ethereum#1422)

* feat(tests): EIP-2537: extra BLS12-381 coverage (ethereum#1350)

* feat(tests): bls point generator and extra coverage.

* chore(tests): remove bls msm duplicates.

* chore: fix tox issues.

* feat(tests): Add more msm invalid tests

---------

Co-authored-by: Mario Vega <[email protected]>

* new(tests): EIP-7702 - ensure DELEGATECALLing a 7702 target works (ethereum#1485)

Co-authored-by: Mario Vega <[email protected]>

* feat(tests): add bls map to curve on identity cases (ethereum#1505)

* fix(tests): EIP-7702: use penultimate block number instead of fixing block 0 (ethereum#1390)

* fix(tests): EIP-7702: use penultimate block number instead of fixing block 0

* fix(tests): EIP-7702: use contract code to get blocknumber instead of rpc

* Update uv.lock

* Update uv.lock

* Update uv.lock

* Update uv.lock

* Update pyproject.toml

* refactor(base_types,types,tests): Create RLP Serialization Classes (ethereum#1359)

* fix(types): tests: Add serialization unit tests

* fix(types): tests: Fix unit tests

* feat(base_types): Implement serialization RLP types

* feat(base_types,types,fixtures): Apply serialization RLP types

* fix(types): Auth tuple defaults

* fix(fixtures,rpc,specs,types,tests): Transaction.rlp is a function

* fix(base_types,types,rpc): fixes

* refactor(base_types,types): Network wrapped transaction

* fix(tests): Network wrapped transactions

* fix(types): Fix NetworkWrappedTransaction rlp prefix

* docs: Changelog

* Apply suggestions from code review

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

* Add network wrapper explanation

* fix: tox

* Update docs/CHANGELOG.md

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

* Add comment

---------

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

* fix(tests): EIP-2537: mark slow

* fix(tests): EIP-7623: remove blob in blob tx

* fix(dependency): update prague execution specs

* new(dependency): add joblib

---------

Co-authored-by: spencer <[email protected]>
Co-authored-by: Andrei Maiboroda <[email protected]>
Co-authored-by: Paweł Bylica <[email protected]>
Co-authored-by: Mario Vega <[email protected]>
Co-authored-by: Dimitry Kh <[email protected]>
Co-authored-by: raxhvl <[email protected]>
Co-authored-by: raxhvl <[email protected]>
Co-authored-by: Stuart Reed <[email protected]>
Co-authored-by: felipe <[email protected]>
Co-authored-by: danceratopz <[email protected]>
Co-authored-by: pdobacz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fork:prague Prague hardfork scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants