Add pytest configuration and initial test cases for EIP-7702 transactions#6
Merged
YoshihitoAso merged 6 commits intomainfrom Jan 22, 2026
Merged
Add pytest configuration and initial test cases for EIP-7702 transactions#6YoshihitoAso merged 6 commits intomainfrom
YoshihitoAso merged 6 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a pytest-based testing setup for the EIP-7702 example flow (including positive and negative-path tests), and introduces CI automation to run the suite on pull requests.
Changes:
- Added pytest tests + fixtures for connecting to the local Hardhat chain and interacting with deployed contracts.
- Added a GitHub Actions workflow to run
make teston PRs. - Added pytest to Python dev dependencies and exposed
make test.
Reviewed changes
Copilot reviewed 9 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| uv.lock | Adds pytest (and transitive deps) to the resolved dev environment. |
| pyproject.toml | Adds pytest to the dev dependency group. |
| tests/conftest.py | Adds session fixtures for RPC/web3 setup and contract ABI/address wiring. |
| tests/test_eip7702_tx.py | Adds initial EIP-7702 “delegation then calldata execution” test coverage. |
| .github/workflows/pytest.yml | Adds CI job to install deps, start Hardhat, and run pytest. |
| Makefile | Adds make test to run pytest (after deploy). |
| package.json | Changes Hardhat + plugin versions (major downgrade) and updates ethers version. |
| package-lock.json | Locks the new Node dependency graph after the Hardhat/tooling change. |
| example/eip7702_one_tx.py | Logging/terminology refinement around delegation and eth_getCode output. |
| example/eip7702_separate_tx.py | Logging/terminology refinement around delegation and eth_getCode output. |
| example/RESULTS.md | Updates example output to match revised logging text. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 Description
This pull request introduces automated testing infrastructure.
And also, refines terminology and logging for clarity in EIP-7702 example scripts.
✅ Related Issues
None
🔄 Changes
Testing Infrastructure
pytesttest suite with fixtures for contract deployments, accounts, and web3 setup intests/conftest.py..github/workflows/pytest.yml) to automatically run tests on pull requests, including environment setup and log artifact upload on failure.pyproject.tomlto includepytestas a development dependency.make testcommand to theMakefilefor running the test suite.📌 Checklist