Skip to content

Commit f03aaf0

Browse files
authored
Merge branch 'main' into consolidation-modified
2 parents 99dfe8d + 8666e45 commit f03aaf0

File tree

74 files changed

+982
-359
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+982
-359
lines changed

.markdownlint.yaml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# All rules: https://github.com/DavidAnson/markdownlint#rules--aliases
2-
default: true # Default state for all rules
3-
MD013: false # line-length: We don't fill paragaraphs/limit line length
4-
MD034: false # no-bare-urls - We use pymdownx.magiclink which allows bare urls
5-
MD046: false # code-block-style - This doesn't play well with material's admonitions)
6-
MD024: false # no-duplicate-heading - We use duplicate headings in the changelog.
7-
MD033: false # no-inline-html - Too strict.
2+
default: true # Default state for all rules
3+
MD013: false # line-length: We don't fill paragaraphs/limit line length
4+
MD034: false # no-bare-urls - We use pymdownx.magiclink which allows bare urls
5+
MD046: false # code-block-style - This doesn't play well with material's admonitions)
6+
MD024: false # no-duplicate-heading - We use duplicate headings in the changelog.
7+
MD033: false # no-inline-html - Too strict.
8+
MD007:
9+
indent: 4

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ If you encounter issues during the installation process, please refer to the [In
180180

181181
Contributions and feedback are welcome. Please see the [online documentation](https://eest.ethereum.org/main/writing_tests/) for this repository's coding standards and help on implementing new tests.
182182

183-
Pull requests containing only typo fixes will not be merged and must be accompanied by documentation, test or framework improvements.
183+
We welcome earnest newcomers, no matter how small the contribution! However, we currently do not accept contributions that only fix spelling or grammatical errors in documentation, code or elsewhere. Pull requests should have reasonable substance or resolve an existing repository open issue; pull requests from obvious airdrop farmers will be closed upon review.
184184

185185
Care is required when adding PRs or issues for functionality that is live on Ethereum mainnet, please refer to the [Security Policy](SECURITY.md) for more information about reporting vulnerabilities and eligibility for the [bug bounty program](https://bounty.ethereum.org).
186186

docs/CHANGELOG.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,19 @@ Test fixtures for use by clients are available for each release on the [Github r
2020

2121
- 🐞 Fix fixture tarball downloading with regular, non-Github release URLS and with numerical versions in regular release specs, e.g., `[email protected]` ([#1437](https://github.com/ethereum/execution-spec-tests/pull/1437)).
2222

23-
### 📋 Misc
24-
2523
### 🧪 Test Cases
2624

2725
-[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Test precompile case in same transaction as delegation without extra gas in case of precompile code execution; parametrize all call opcodes in existing precompile test ([#1431](https://github.com/ethereum/execution-spec-tests/pull/1431)).
26+
-[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Add invalid nonce authorizations tests for the case of multiple signers when the sender's nonce gets increased ([#1441](https://github.com/ethereum/execution-spec-tests/pull/1441)).
27+
-[EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Add a test that verifies that set code transactions are correctly rejected before Prague activation ([#1463](https://github.com/ethereum/execution-spec-tests/pull/1463)).
2828
-[EIP-7623](https://eips.ethereum.org/EIPS/eip-7623): Additionally parametrize transaction validity tests with the `to` set to an EOA account (previously only contracts) ([#1422](https://github.com/ethereum/execution-spec-tests/pull/1422)).
29-
- ✨ Add EIP-7251 test cases for modified consolidations contract that allows more consolidations ([#1465](https://github.com/ethereum/execution-spec-tests/pull/1465)).
29+
-[EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Add EIP-7251 test cases for modified consolidations contract that allows more consolidations ([#1465](https://github.com/ethereum/execution-spec-tests/pull/1465)).
30+
-[EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Add extra deposit request edge cases, sending eth to the deposit contract while sending a deposit request ([#1467](https://github.com/ethereum/execution-spec-tests/pull/1467)).
31+
-[EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Remove pytest skips for consolidation request cases ([#1449](https://github.com/ethereum/execution-spec-tests/pull/1449)).
32+
33+
### 📋 Misc
34+
35+
- 🐞 Configure `markdownlint` to expect an indent of 4 with unordered lists (otherwise HTML documentation is rendered incorrectly, [#1460](https://github.com/ethereum/execution-spec-tests/pull/1460)).
3036

3137
## [v4.2.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.2.0) - 2025-04-08
3238

@@ -404,8 +410,8 @@ The following changes may be potentially breaking (all clients were tested with
404410
- 💥 "Merge" has been renamed to "Paris" in the "network" field of the Blockchain tests, and in the "post" field of the State tests ([#480](https://github.com/ethereum/execution-spec-tests/pull/480)).
405411
- ✨ Port entry point scripts to use [click](https://click.palletsprojects.com) and add tests ([#483](https://github.com/ethereum/execution-spec-tests/pull/483)).
406412
- 💥 As part of the pydantic conversion, the fixtures have the following (possibly breaking) changes ([#486](https://github.com/ethereum/execution-spec-tests/pull/486)):
407-
- State test field `transaction` now uses the proper zero-padded hex number format for fields `maxPriorityFeePerGas`, `maxFeePerGas`, and `maxFeePerBlobGas`
408-
- Fixtures' hashes (in the `_info` field) are now calculated by removing the "_info" field entirely instead of it being set to an empty dict.
413+
- State test field `transaction` now uses the proper zero-padded hex number format for fields `maxPriorityFeePerGas`, `maxFeePerGas`, and `maxFeePerBlobGas`
414+
- Fixtures' hashes (in the `_info` field) are now calculated by removing the "_info" field entirely instead of it being set to an empty dict.
409415
- 🐞 Relax minor and patch dependency requirements to avoid conflicting package dependencies ([#510](https://github.com/ethereum/execution-spec-tests/pull/510)).
410416
- 🔀 Update all CI actions to use their respective Node.js 20 versions, ahead of their Node.js 16 version deprecations ([#527](https://github.com/ethereum/execution-spec-tests/pull/527)).
411417
- ✨ Releases now contain a `fixtures_eip7692.tar.gz` which contains all EOF fixtures ([#573](https://github.com/ethereum/execution-spec-tests/pull/573)).

eels_resolutions.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
"same_as": "EELSMaster"
3636
},
3737
"Prague": {
38-
"git_url": "https://github.com/ethereum/execution-specs.git",
39-
"branch": "devnets/prague/6"
38+
"git_url": "https://github.com/gurukamath/execution-specs.git",
39+
"branch": "7702-to-precompile",
40+
"commit": "bbc469729ab095300b07de8fe323c3f9fac31857"
4041
}
4142
}

src/ethereum_clis/clis/execution_specs.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ class ExecutionSpecsExceptionMapper(ExceptionMapper):
146146
TransactionException.TYPE_3_TX_PRE_FORK: (
147147
"module 'ethereum.shanghai.transactions' has no attribute 'BlobTransaction'"
148148
),
149+
TransactionException.TYPE_4_TX_PRE_FORK: "Unknown transaction type: 0x4",
149150
TransactionException.TYPE_3_TX_INVALID_BLOB_VERSIONED_HASH: "d transaction: ",
150151
# This message is the same as TYPE_3_TX_MAX_BLOB_GAS_ALLOWANCE_EXCEEDED
151152
TransactionException.TYPE_3_TX_BLOB_COUNT_EXCEEDED: " transaction: ",

src/ethereum_test_exceptions/exceptions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,10 @@ class TransactionException(ExceptionBase):
381381
"""
382382
Transaction is type 4, but contains an authorization that has an invalid format.
383383
"""
384+
TYPE_4_TX_PRE_FORK = auto()
385+
"""
386+
Transaction type 4 included before activation fork.
387+
"""
384388

385389

386390
@unique

src/ethereum_test_tools/code/generators.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ class CodeGasMeasure(Bytecode):
149149
To be considered when subtracting the value of the previous GAS operation,
150150
and to be popped at the end of the execution.
151151
"""
152-
sstore_key: int
152+
sstore_key: int | Bytes
153153
"""
154154
Storage key to save the gas used.
155155
"""
@@ -160,7 +160,7 @@ def __new__(
160160
code: Bytecode,
161161
overhead_cost: int = 0,
162162
extra_stack_items: int = 0,
163-
sstore_key: int = 0,
163+
sstore_key: int | Bytes = 0,
164164
stop: bool = True,
165165
):
166166
"""Assemble the bytecode that measures gas usage."""
@@ -173,9 +173,7 @@ def __new__(
173173
+ Op.SUB
174174
+ Op.PUSH1(overhead_cost + 2)
175175
+ Op.SWAP1
176-
+ Op.SUB
177-
+ Op.PUSH1(sstore_key)
178-
+ Op.SSTORE
176+
+ Op.SSTORE(sstore_key, Op.SUB)
179177
)
180178
if stop:
181179
res += Op.STOP

src/ethereum_test_tools/eof/__init__.py

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/ethereum_test_tools/eof/constants.py

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/ethereum_test_tools/eof/v1/__init__.py

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)