Skip to content

feat(plugins/execute): Deferred eoa funding#1566

Closed
marioevz wants to merge 16 commits into
mainfrom
defered-eoa-funding
Closed

feat(plugins/execute): Deferred eoa funding#1566
marioevz wants to merge 16 commits into
mainfrom
defered-eoa-funding

Conversation

@marioevz

@marioevz marioevz commented May 6, 2025

Copy link
Copy Markdown
Member

🗒️ Description

Deferred EOA Funding

Adds deferred funding of the EOAs and Deployed contracts, to allow calculating how much value the funding account must have before sending the txs.

Live Gas Prices Usage

Fetch the gas price on real time before sending the transaction to the network.

Dry-Run Mode

Introduce dry-run mode to allow pre-calculating how much eth is required to run any of the tests:

2025-05-06 15:47:23.648+00:00 [INFO] pytest_plugins.logging.logging: ℹ️  - START TEST: tests/prague/eip7702_set_code_tx/test_eip_mainnet.py::test_eip_7702[fork_Prague-state_test]
2025-05-06 15:47:23.831+00:00 [INFO] pytest_plugins.execute.execute: Minimum balance required: 0.000828871322948070
2025-05-06 15:47:23.831+00:00 [INFO] pytest_plugins.execute.execute: Max gas consumption: 132878
2025-05-06 15:47:23.831+00:00 [INFO] pytest_plugins.logging.logging: ✅ - PASSED in 0.00s: tests/prague/eip7702_set_code_tx/test_eip_mainnet.py::test_eip_7702[fork_Prague-state_test]

And also print a total for all selected tests:

2025-05-06 15:47:23.832+00:00 [INFO] pytest_plugins.execute.execute: Total gas limit: 1401054
2025-05-06 15:47:23.832+00:00 [INFO] pytest_plugins.execute.execute: Total minimum balance: 0.009197924844059697

🔗 Related Issues

✅ 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.
  • Tests: All converted JSON/YML tests from ethereum/tests have been added to converted-ethereum-tests.txt.
  • Tests: A PR with removal of converted JSON/YML tests from ethereum/tests have been opened.
  • Tests: Included the type and version of evm t8n tool used to locally execute test cases: e.g., ref with commit hash or geth 1.13.1-stable-3f40e65.
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.

gas_price: int,
max_fee_per_gas: int,
max_priority_fee_per_gas: int,
) -> Dict[Address, int]:

@winsvega winsvega May 23, 2025

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

it was defined as:

    @abstractmethod
    def get_required_sender_balances(
        self,
        max_fee_per_gas: int,
        max_priority_fee_per_gas: int,
    ) -> Dict[Address, int]:
    ```
    
    is it ok to introduce new fields in abstract override?

@marioevz

Copy link
Copy Markdown
Member Author

Closing and re-open PR on EELS will be tracked by #1839.

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.

2 participants