You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/running_tests/execute/hive.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,20 @@ Tests can be executed on a local hive-controlled single-client network by runnin
4
4
5
5
## The `eest/execute-blobs` Simulator
6
6
7
-
The `blob_transaction_test` execute test spec sends blob transactions to a running client in order to verify its `engine_getBlobsVX` endpoint behavior. These tests can be run using:
7
+
The `blob_transaction_test` execute test spec sends blob transactions to a running client. Blob transactions are fully supported in execute mode:
8
+
9
+
- Blob transactions can be sent via `eth_sendRawTransaction`
10
+
- Blob validation via `engine_getBlobsVX` endpoints (when Engine RPC available)
Copy file name to clipboardExpand all lines: docs/running_tests/execute/index.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,4 +39,12 @@ Reasoning behind the random generation of the sender keys is that one can execut
39
39
40
40
The `fill` plugin will use a fixed and minimum gas price for all the transactions it uses for testing, but this is not possible with the `execute` plugin, as the gas price is determined by the current state of the network.
41
41
42
-
At the moment, the `execute` plugin does not query the client for the current gas price, but instead uses a fixed increment to the gas price in order to avoid the transactions to be stuck in the mempool.
42
+
The `execute` plugin queries the network for current gas prices and defaults to 1.5x the network price to ensure transaction inclusion. Gas prices can be overridden via command-line flags (`--default-gas-price`, `--default-max-fee-per-gas`, `--default-max-priority-fee-per-gas`).
43
+
44
+
### Deferred EOA Funding
45
+
46
+
EOAs are funded after gas prices are determined, enabling accurate balance calculations based on actual network conditions. This ensures sufficient funds are allocated for all test transactions.
47
+
48
+
### Blob Transaction Support
49
+
50
+
Blob transactions are fully supported in execute mode, including automatic gas pricing for blob gas fees and validation via `engine_getBlobsVX` endpoints when Engine RPC is available.
Copy file name to clipboardExpand all lines: docs/running_tests/execute/remote.md
+35Lines changed: 35 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,41 @@ One last requirement is that the `--chain-id` flag is set to the chain id of the
24
24
uv run execute remote --fork=Prague --rpc-endpoint=https://rpc.endpoint.io --rpc-seed-key 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f --chain-id 12345
25
25
```
26
26
27
+
## Test Accounts and Contracts
28
+
29
+
Since `execute remote` does not control the blockchain where it runs the tests, and therefore cannot modify the genesis pre-allocation like `fill` does, all accounts and contracts need to be deployed via transactions sent to the network.
30
+
31
+
These transactions are created from the seed or worker accounts provided via the command flags.
32
+
33
+
When the test is executed, all instances of `pre.fund_eoa` and `pre.deploy_contract` calls, instead of placing the account directly in the `pre` object like `fill` does, they generate transactions that result in the creation of the accounts when executed on chain.
34
+
35
+
The transactions are collected and only sent after the test function finishes execution. This is done in order to perform optimizations based on the transactions that the test requires to perform its verifications.
36
+
37
+
One optimization is the deferred calculation of the funding amount for the EOA, which is calculated on the fly depending the test transactions that use the account as sender, and this amount is the minimum balance that the account would need in order for the transactions to be included given the current network gas prices.
38
+
39
+
### Dry Run Mode
40
+
41
+
Calculate minimum balance requirements without executing any transactions on chain:
42
+
43
+
```bash
44
+
uv run execute remote --fork=Prague --rpc-endpoint=https://rpc.endpoint.io --dry-run ./tests/prague/eip7702_set_code_tx/
45
+
```
46
+
47
+
This outputs the minimum balance needed and total gas consumption per test, useful for:
Tests exceeding this limit will fail with an assertion error and will not send any transactions to the chain.
61
+
27
62
## Engine RPC Endpoint (Optional)
28
63
29
64
By default, the `execute remote` command assumes that the execution client is connected to a beacon node and the chain progresses automatically. However, you can optionally specify an Engine RPC endpoint to drive the chain manually when new transactions are submitted.
0 commit comments