Skip to content

feat(execute,tests): implement blob_transaction_test execute spec #1644

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 9 commits into from
May 27, 2025

Conversation

marioevz
Copy link
Member

🗒️ Description

Adds get_blobs marked tests to execute that send blobs to a running client and verify the blob commitments using engine_getBlobsVX endpoint.

The tests can only be run using execute and cannot be used to generate fixtures using fill, contrary to the rest of the specs which normally can do both operations.

Test tests/osaka/eip7594_peerdas/test_get_blobs.py is added to make a sanity check of the blob endpoints for clients, but should be considered incomplete and a follow up PR should increase coverage by adding meaningful tests that contain proper kzg cell proofs.

Note: The PR contains commits separated by functionality and could be merged using "Rebase and Merge".

🔗 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.
  • All: Considered updating the online docs in the ./docs/ directory.

@marioevz marioevz added scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature scope:execute Scope: Changes to the execute command labels May 22, 2025
@marioevz marioevz force-pushed the execute-blob-txs-tests branch from d0a6be6 to fe9f546 Compare May 22, 2025 23:36
Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

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

This is pretty amazing! Minor comments below!

Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

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

Whilst looking at the hive simulator Dockerfile, I realised that -m get_blobs is not very descriptive and not particularly consistent with our current naming. A small change, but an important one 🙂

To be more consistent, I quite like blob_transaction_test. Even if we don't fill these tests, I think the naming's ok? And matches expectations, following on from our regular transaction_test format?

@marioevz marioevz force-pushed the execute-blob-txs-tests branch from 4de6545 to bc1cc3f Compare May 26, 2025 21:49
@danceratopz danceratopz changed the title feat(execute,tests): Implement get-blobs execute spec feat(execute,tests): implement blob_transaction_test execute spec May 27, 2025
Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

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

LGTM! Amazing addition!

I would suggest updating the changelog to reflect the execute spec name change to blob_transaction_test.

marioevz added 7 commits May 27, 2025 16:08
…version

refactor(tests): Blob type returns NetworkWrappedTransaction

refactor(types): Move Blob to types

refactor(types): NetworkWrappedTransaction uses Blob construct

refactor(types): Return correct BlobAndProof
Update src/ethereum_test_rpc/types.py

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

fix(rpc): BlobAndProofV1 and V2
@marioevz marioevz force-pushed the execute-blob-txs-tests branch from bc1cc3f to 7dcda11 Compare May 27, 2025 16:09
marioevz and others added 2 commits May 27, 2025 16:56
Update exception message in src/ethereum_test_execution/get_blobs.py

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

Update description src/ethereum_test_execution/get_blobs.py

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

Apply suggestions from code review to src/ethereum_test_execution/get_blobs.py

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

Update docs/CHANGELOG.md for ethereum_test_execution

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

fix ethereum_test_execution comment

fix ethereum_test_execution tox

fix(execution): Use BlobAndProofV1 and BlobAndProofV2

fix(execution): Rename blob_transaction_test

fix(sepcs): Rename blob_transaction_test

Update docs/CHANGELOG.md

Co-authored-by: danceratopz <[email protected]>
This reverts commit da371d2c45fdf448345168cb5ef2655b7ed05c90.

feat(tests): Update 7594 test to include cell proofs
@marioevz marioevz force-pushed the execute-blob-txs-tests branch from 08e9a60 to e52feca Compare May 27, 2025 16:57
@marioevz marioevz merged commit 2556e6a into main May 27, 2025
26 checks passed
@marioevz marioevz deleted the execute-blob-txs-tests branch May 27, 2025 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:execute Scope: Changes to the execute command 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