diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 908ed0939c..93713310d0 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -88,6 +88,8 @@ Release tarball changes: - 🔀 Change `--dist` flag to the default value, `load`, for better parallelism handling during test filling ([#1118](https://github.com/ethereum/execution-spec-tests/pull/1118)). - 🔀 Refactor framework code to use the [`ethereum-rlp`](https://pypi.org/project/ethereum-rlp/) package instead of `ethereum.rlp`, previously available in ethereum/execution-specs ([#1180](https://github.com/ethereum/execution-spec-tests/pull/1180)). - 🔀 Update EELS / execution-specs EEST dependency to [99238233](https://github.com/ethereum/execution-specs/commit/9923823367b5586228e590537d47aa9cc4c6a206) for EEST framework libraries and test case generation ([#1181](https://github.com/ethereum/execution-spec-tests/pull/1181)). +- ✨ Add the `consume cache` command to cache fixtures before running consume commands ([#1044](https://github.com/ethereum/execution-spec-tests/pull/1044)). +- ✨ The `--input` flag of the consume commands now supports parsing of tagged release names in the format `@` ([#1044](https://github.com/ethereum/execution-spec-tests/pull/1044)). - 🐞 Fix stdout output when using the `fill` command ([#1188](https://github.com/ethereum/execution-spec-tests/pull/1188)). ### 🔧 EVM Tools @@ -120,6 +122,7 @@ Release tarball changes: - Remove redundant tests within stable and develop fixture releases, moving them to a separate legacy release ([#788](https://github.com/ethereum/execution-spec-tests/pull/788)). - Ruff now replaces Flake8, Isort and Black resulting in significant changes to the entire code base including its usage ([#922](https://github.com/ethereum/execution-spec-tests/pull/922)). - `state_test`, `blockchain_test` and `blockchain_test_engine` fixtures now contain a `config` field, which contains an object that contains a `blobSchedule` field. On the `blockchain_test` and `blockchain_test_engine` fixtures, the object also contains a duplicate of the `network` root field. The root's `network` field will be eventually deprecated ([#1040](https://github.com/ethereum/execution-spec-tests/pull/1040)). +- `latest-stable-release` and `latest-develop-release` keywords for the `--input` flag in consume commands have been replaced with `stable@latest` and `develop@latest` respectively ([#1044](https://github.com/ethereum/execution-spec-tests/pull/1044)). ## [v3.0.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v3.0.0) - 2024-07-22 diff --git a/docs/consuming_tests/index.md b/docs/consuming_tests/index.md index 071c8c8d30..8a237fb868 100644 --- a/docs/consuming_tests/index.md +++ b/docs/consuming_tests/index.md @@ -30,7 +30,7 @@ The @ethereum/execution-spec-tests repository provides [releases](https://github | Release Artifact | Consumer | Fork/feature scope | | ------------------------------ | -------- | ------------------ | -| `fixtures.tar.gz` | Clients | All tests until the last stable fork ("must pass") | +| `fixtures_stable.tar.gz` | Clients | All tests until the last stable fork ("must pass") | | `fixtures_develop.tar.gz` | Clients | All tests until the last development fork | ## Obtaining the Most Recent Release Artifacts diff --git a/pytest-framework.ini b/pytest-framework.ini index a9fcf19738..03e001e1be 100644 --- a/pytest-framework.ini +++ b/pytest-framework.ini @@ -10,8 +10,10 @@ markers = addopts = -p pytester -p pytest_plugins.eels_resolver - --ignore=src/pytest_plugins/consume/ + --ignore=src/pytest_plugins/consume/test_cache.py + --ignore=src/pytest_plugins/consume/direct/ --ignore=src/pytest_plugins/consume/direct/test_via_direct.py + --ignore=src/pytest_plugins/consume/hive_simulators/ --ignore=src/pytest_plugins/consume/hive_simulators/engine/test_via_engine.py --ignore=src/pytest_plugins/consume/hive_simulators/rlp/test_via_rlp.py --ignore=src/pytest_plugins/execute/test_recover.py diff --git a/src/cli/pytest_commands/consume.py b/src/cli/pytest_commands/consume.py index bfd21c63c3..7b210f71b4 100644 --- a/src/cli/pytest_commands/consume.py +++ b/src/cli/pytest_commands/consume.py @@ -57,6 +57,12 @@ def get_command_paths(command_name: str, is_hive: bool) -> List[Path]: return command_paths +@click.group(context_settings={"help_option_names": ["-h", "--help"]}) +def consume() -> None: + """Consume command to aid client consumption of test fixtures.""" + pass + + def consume_command(is_hive: bool = False) -> Callable[[Callable[..., Any]], click.Command]: """Generate a consume sub-command.""" @@ -93,16 +99,6 @@ def decorator(func: Callable[..., Any]) -> click.Command: return decorator -@click.group( - context_settings={ - "help_option_names": ["-h", "--help"], - } -) -def consume() -> None: - """Consume command to aid client consumption of test fixtures.""" - pass - - @consume_command(is_hive=False) def direct() -> None: """Clients consume directly via the `blocktest` interface.""" @@ -125,3 +121,14 @@ def engine() -> None: def hive() -> None: """Client consumes via all available hive methods (rlp, engine).""" pass + + +@consume.command( + context_settings={"ignore_unknown_options": True}, +) +@common_click_options +def cache(pytest_args: List[str], **kwargs) -> None: + """Consume command to cache test fixtures.""" + args = handle_consume_command_flags(pytest_args, is_hive=False) + args += ["src/pytest_plugins/consume/test_cache.py"] + sys.exit(pytest.main(args)) diff --git a/src/pytest_plugins/consume/consume.py b/src/pytest_plugins/consume/consume.py index bf80320a1a..af240d8ec5 100644 --- a/src/pytest_plugins/consume/consume.py +++ b/src/pytest_plugins/consume/consume.py @@ -1,12 +1,13 @@ """A pytest plugin providing common functionality for consuming test fixtures.""" -import os import sys import tarfile +from io import BytesIO from pathlib import Path -from typing import Literal, Union +from typing import List, Literal, Union from urllib.parse import urlparse +import platformdirs import pytest import requests import rich @@ -15,9 +16,13 @@ from ethereum_test_fixtures.consume import TestCases from ethereum_test_tools.utility.versioning import get_current_commit_hash_or_tag -cached_downloads_directory = Path("./cached_downloads") +from .releases import ReleaseTag, get_release_url -JsonSource = Union[Path, Literal["stdin"]] +CACHED_DOWNLOADS_DIRECTORY = ( + Path(platformdirs.user_cache_dir("ethereum-execution-spec-tests")) / "cached_downloads" +) + +FixturesSource = Union[Path, Literal["stdin"]] def default_input_directory() -> str: @@ -57,11 +62,7 @@ def download_and_extract(url: str, base_directory: Path) -> Path: response = requests.get(url) response.raise_for_status() - archive_path = extract_to / filename - with open(archive_path, "wb") as file: - file.write(response.content) - - with tarfile.open(archive_path, "r:gz") as tar: + with tarfile.open(fileobj=BytesIO(response.content), mode="r:gz") as tar: # noqa: SC200 tar.extractall(path=extract_to) return extract_to / "fixtures" @@ -74,15 +75,28 @@ def pytest_addoption(parser): # noqa: D103 consume_group.addoption( "--input", action="store", - dest="fixture_source", - default=default_input_directory(), + dest="fixtures_source", + default=None, help=( "Specify the JSON test fixtures source. Can be a local directory, a URL pointing to a " - " fixtures.tar.gz archive, or one of the special keywords: 'stdin', " - "'latest-stable', 'latest-develop'. " + " fixtures.tar.gz archive, a release name and version in the form of `NAME@v1.2.3` " + "(`stable` and `develop` are valid release names, and `latest` is a valid version), " + "or the special keyword 'stdin'. " f"Defaults to the following local directory: '{default_input_directory()}'." ), ) + consume_group.addoption( + "--cache-folder", + action="store", + dest="fixture_cache_folder", + default=CACHED_DOWNLOADS_DIRECTORY, + help=( + "Specify the path where the downloaded fixtures are cached. " + f"Defaults to the following directory: '{CACHED_DOWNLOADS_DIRECTORY}'." + ), + ) + if "cache" in sys.argv: + return consume_group.addoption( "--fork", action="store", @@ -112,48 +126,51 @@ def pytest_configure(config): # noqa: D103 called before the pytest-html plugin's pytest_configure to ensure that it uses the modified `htmlpath` option. """ - input_flag = any(arg.startswith("--input") for arg in config.invocation_params.args) - input_source = config.getoption("fixture_source") - - if input_flag and input_source == "stdin": + fixtures_source = config.getoption("fixtures_source") + if "cache" in sys.argv and not config.getoption("fixtures_source"): + pytest.exit("The --input flag is required when using the cache command.") + config.fixture_source_flags = ["--input", fixtures_source] + + if fixtures_source is None: + config.fixture_source_flags = [] + fixtures_source = default_input_directory() + elif fixtures_source == "stdin": config.test_cases = TestCases.from_stream(sys.stdin) + config.fixtures_real_source = "stdin" + config.fixtures_source = "stdin" return + elif ReleaseTag.is_release_string(fixtures_source): + fixtures_source = get_release_url(fixtures_source) - latest_base_url = "https://github.com/ethereum/execution-spec-tests/releases/latest/download" - if input_source == "latest-stable-release" or input_source == "latest-stable": - input_source = f"{latest_base_url}/fixtures_stable.tar.gz" - if input_source == "latest-develop-release" or input_source == "latest-develop": - input_source = f"{latest_base_url}/fixtures_develop.tar.gz" - - if is_url(input_source): + config.fixtures_real_source = fixtures_source + if is_url(fixtures_source): + cached_downloads_directory = Path(config.getoption("fixture_cache_folder")) cached_downloads_directory.mkdir(parents=True, exist_ok=True) - input_source = download_and_extract(input_source, cached_downloads_directory) - config.option.fixture_source = input_source + fixtures_source = download_and_extract(fixtures_source, cached_downloads_directory) - input_source = Path(input_source) - if not input_source.exists(): - pytest.exit(f"Specified fixture directory '{input_source}' does not exist.") - if not any(input_source.glob("**/*.json")): + fixtures_source = Path(fixtures_source) + config.fixtures_source = fixtures_source + if not fixtures_source.exists(): + pytest.exit(f"Specified fixture directory '{fixtures_source}' does not exist.") + if not any(fixtures_source.glob("**/*.json")): pytest.exit( - f"Specified fixture directory '{input_source}' does not contain any JSON files." + f"Specified fixture directory '{fixtures_source}' does not contain any JSON files." ) - index_file = input_source / ".meta" / "index.json" + index_file = fixtures_source / ".meta" / "index.json" index_file.parent.mkdir(parents=True, exist_ok=True) if not index_file.exists(): rich.print(f"Generating index file [bold cyan]{index_file}[/]...") generate_fixtures_index( - input_source, quiet_mode=False, force_flag=False, disable_infer_format=False + fixtures_source, quiet_mode=False, force_flag=False, disable_infer_format=False ) config.test_cases = TestCases.from_index_file(index_file) - if config.option.collectonly: + if config.option.collectonly or "cache" in sys.argv: return if not config.getoption("disable_html") and config.getoption("htmlpath") is None: # generate an html report by default, unless explicitly disabled - config.option.htmlpath = os.path.join( - config.getoption("fixture_source"), default_html_report_file_path() - ) + config.option.htmlpath = Path(default_html_report_file_path()) def pytest_html_report_title(report): @@ -163,13 +180,19 @@ def pytest_html_report_title(report): def pytest_report_header(config): # noqa: D103 consume_version = f"consume commit: {get_current_commit_hash_or_tag()}" - input_source = f"fixtures: {config.getoption('fixture_source')}" - return [consume_version, input_source] + fixtures_real_source = f"fixtures: {config.fixtures_real_source}" + return [consume_version, fixtures_real_source] -@pytest.fixture(scope="function") -def fixture_source(request) -> JsonSource: # noqa: D103 - return request.config.getoption("fixture_source") +@pytest.fixture(scope="session") +def fixture_source_flags(request) -> List[str]: + """Return the input flags used to specify the JSON test fixtures source.""" + return request.config.fixture_source_flags + + +@pytest.fixture(scope="session") +def fixtures_source(request) -> FixturesSource: # noqa: D103 + return request.config.fixtures_source def pytest_generate_tests(metafunc): @@ -177,6 +200,9 @@ def pytest_generate_tests(metafunc): Generate test cases for every test fixture in all the JSON fixture files within the specified fixtures directory, or read from stdin if the directory is 'stdin'. """ + if "cache" in sys.argv: + return + fork = metafunc.config.getoption("single_fork") metafunc.parametrize( "test_case", diff --git a/src/pytest_plugins/consume/direct/conftest.py b/src/pytest_plugins/consume/direct/conftest.py index 122303de71..f5dd9435bf 100644 --- a/src/pytest_plugins/consume/direct/conftest.py +++ b/src/pytest_plugins/consume/direct/conftest.py @@ -17,6 +17,8 @@ from ethereum_test_fixtures.consume import TestCaseIndexFile, TestCaseStream from ethereum_test_fixtures.file import Fixtures +from ..consume import FixturesSource + def pytest_addoption(parser): # noqa: D103 consume_group = parser.getgroup( @@ -96,13 +98,13 @@ def test_dump_dir( @pytest.fixture -def fixture_path(test_case: TestCaseIndexFile | TestCaseStream, fixture_source): +def fixture_path(test_case: TestCaseIndexFile | TestCaseStream, fixtures_source: FixturesSource): """ Path to the current JSON fixture file. If the fixture source is stdin, the fixture is written to a temporary json file. """ - if fixture_source == "stdin": + if fixtures_source == "stdin": assert isinstance(test_case, TestCaseStream) temp_dir = tempfile.TemporaryDirectory() fixture_path = Path(temp_dir.name) / f"{test_case.id.replace('/', '_')}.json" @@ -113,7 +115,7 @@ def fixture_path(test_case: TestCaseIndexFile | TestCaseStream, fixture_source): temp_dir.cleanup() else: assert isinstance(test_case, TestCaseIndexFile) - yield fixture_source / test_case.json_path + yield fixtures_source / test_case.json_path @pytest.fixture(scope="function") diff --git a/src/pytest_plugins/consume/hive_simulators/conftest.py b/src/pytest_plugins/consume/hive_simulators/conftest.py index 7132f71813..ceaf2e7280 100644 --- a/src/pytest_plugins/consume/hive_simulators/conftest.py +++ b/src/pytest_plugins/consume/hive_simulators/conftest.py @@ -14,6 +14,7 @@ from ethereum_test_fixtures.consume import TestCaseIndexFile, TestCaseStream from ethereum_test_rpc import EthRPC from pytest_plugins.consume.hive_simulators.ruleset import ruleset # TODO: generate dynamically +from pytest_plugins.pytest_hive.hive_info import ClientInfo from .timing import TimingData @@ -38,43 +39,69 @@ def eth_rpc(client: Client) -> EthRPC: return EthRPC(f"http://{client.ip}:8545") +@pytest.fixture(scope="function") +def hive_client_config_file_parameter( + client_type: ClientType, client_file: List[ClientInfo] +) -> List[str]: + """Return the hive client config file that is currently being used to configure tests.""" + for client in client_file: + if client_type.name.startswith(client.client): + return ["--client-file", f"<('{client.model_dump_json(exclude_none=True)}')"] + return [] + + @pytest.fixture(scope="function") def hive_consume_command( test_suite_name: str, client_type: ClientType, test_case: TestCaseIndexFile | TestCaseStream, -) -> str: + hive_client_config_file_parameter: List[str], +) -> List[str]: """Command to run the test within hive.""" - return ( - f"./hive --sim ethereum/{test_suite_name} " - f"--client-file configs/prague.yaml " - f"--client {client_type.name} " - f'--sim.limit "{test_case.id}"' - ) + command = ["./hive", "--sim", f"ethereum/{test_suite_name}"] + if hive_client_config_file_parameter: + command += hive_client_config_file_parameter + command += ["--client", client_type.name, "--sim.limit", f'"{test_case.id}"'] + return command @pytest.fixture(scope="function") -def eest_consume_commands( - request: pytest.FixtureRequest, - test_suite_name: str, +def hive_dev_command( client_type: ClientType, + hive_client_config_file_parameter: List[str], +) -> List[str]: + """Return the command used to instantiate hive alongside the `consume` command.""" + hive_dev = ["./hive", "--dev"] + if hive_client_config_file_parameter: + hive_dev += hive_client_config_file_parameter + hive_dev += ["--client", client_type.name] + return hive_dev + + +@pytest.fixture(scope="function") +def eest_consume_command( + test_suite_name: str, test_case: TestCaseIndexFile | TestCaseStream, + fixture_source_flags: List[str], ) -> List[str]: """Commands to run the test within EEST using a hive dev back-end.""" - hive_dev = f"./hive --dev --client-file configs/prague.yaml --client {client_type.name}" - input_source = request.config.getoption("fixture_source") - consume = ( - f'consume {test_suite_name.split("-")[-1]} -v --input={input_source} -k "{test_case.id}"' + return ( + ["consume", test_suite_name.split("-")[-1], "-v"] + + fixture_source_flags + + [ + "-k", + f'"{test_case.id}"', + ] ) - return [hive_dev, consume] @pytest.fixture(scope="function") def test_case_description( blockchain_fixture: BlockchainFixtureCommon, test_case: TestCaseIndexFile | TestCaseStream, - hive_consume_command: str, - eest_consume_commands: List[str], + hive_consume_command: List[str], + hive_dev_command: List[str], + eest_consume_command: List[str], ) -> str: """ Create the description of the current blockchain fixture test case. @@ -88,10 +115,12 @@ def test_case_description( else: description += f"\n\n{blockchain_fixture.info['description']}" description += ( - f"\n\nCommand to reproduce entirely in hive:\n{hive_consume_command}" + f"\n\nCommand to reproduce entirely in hive:" + f"\n{' '.join(hive_consume_command)}" ) eest_commands = "\n".join( - f"{i + 1}. {cmd}" for i, cmd in enumerate(eest_consume_commands) + f"{i + 1}. {' '.join(cmd)}" + for i, cmd in enumerate([hive_dev_command, eest_consume_command]) ) description += ( f"\n\nCommands to reproduce within EEST using a hive dev back-end:\n{eest_commands}" diff --git a/src/pytest_plugins/consume/hive_simulators/engine/conftest.py b/src/pytest_plugins/consume/hive_simulators/engine/conftest.py index e7e4f64e0c..3236d06d5e 100644 --- a/src/pytest_plugins/consume/hive_simulators/engine/conftest.py +++ b/src/pytest_plugins/consume/hive_simulators/engine/conftest.py @@ -5,7 +5,6 @@ """ import io -from pathlib import Path from typing import Mapping import pytest @@ -15,7 +14,7 @@ from ethereum_test_fixtures.consume import TestCaseIndexFile, TestCaseStream from ethereum_test_fixtures.file import BlockchainEngineFixtures from ethereum_test_rpc import EngineRPC -from pytest_plugins.consume.consume import JsonSource +from pytest_plugins.consume.consume import FixturesSource TestCase = TestCaseIndexFile | TestCaseStream @@ -39,7 +38,9 @@ def test_suite_description() -> str: @pytest.fixture(scope="function") -def blockchain_fixture(fixture_source: JsonSource, test_case: TestCase) -> BlockchainEngineFixture: +def blockchain_fixture( + fixtures_source: FixturesSource, test_case: TestCase +) -> BlockchainEngineFixture: """ Create the blockchain engine fixture pydantic model for the current test case. @@ -47,7 +48,7 @@ def blockchain_fixture(fixture_source: JsonSource, test_case: TestCase) -> Block is taking input on stdin) or loaded from the fixture json file if taking input from disk (fixture directory with index file). """ - if fixture_source == "stdin": + if fixtures_source == "stdin": assert isinstance(test_case, TestCaseStream), "Expected a stream test case" assert isinstance(test_case.fixture, BlockchainEngineFixture), ( "Expected a blockchain engine test fixture" @@ -57,7 +58,7 @@ def blockchain_fixture(fixture_source: JsonSource, test_case: TestCase) -> Block assert isinstance(test_case, TestCaseIndexFile), "Expected an index file test case" # TODO: Optimize, json files will be loaded multiple times. This pytest fixture # is executed per test case, and a fixture json will contain multiple test cases. - fixtures = BlockchainEngineFixtures.from_file(Path(fixture_source) / test_case.json_path) + fixtures = BlockchainEngineFixtures.from_file(fixtures_source / test_case.json_path) fixture = fixtures[test_case.id] return fixture diff --git a/src/pytest_plugins/consume/hive_simulators/rlp/conftest.py b/src/pytest_plugins/consume/hive_simulators/rlp/conftest.py index 4f1d54a1e4..5c437dcf41 100644 --- a/src/pytest_plugins/consume/hive_simulators/rlp/conftest.py +++ b/src/pytest_plugins/consume/hive_simulators/rlp/conftest.py @@ -1,7 +1,6 @@ """Pytest fixtures and classes for the `consume rlp` hive simulator.""" import io -from pathlib import Path from typing import List, Mapping, cast import pytest @@ -10,7 +9,7 @@ from ethereum_test_fixtures import BlockchainFixture from ethereum_test_fixtures.consume import TestCaseIndexFile, TestCaseStream from ethereum_test_fixtures.file import BlockchainFixtures -from pytest_plugins.consume.consume import JsonSource +from pytest_plugins.consume.consume import FixturesSource TestCase = TestCaseIndexFile | TestCaseStream @@ -28,7 +27,7 @@ def test_suite_description() -> str: @pytest.fixture(scope="function") -def blockchain_fixture(fixture_source: JsonSource, test_case: TestCase) -> BlockchainFixture: +def blockchain_fixture(fixtures_source: FixturesSource, test_case: TestCase) -> BlockchainFixture: """ Create the blockchain fixture pydantic model for the current test case. @@ -36,7 +35,7 @@ def blockchain_fixture(fixture_source: JsonSource, test_case: TestCase) -> Block is taking input on stdin) or loaded from the fixture json file if taking input from disk (fixture directory with index file). """ - if fixture_source == "stdin": + if fixtures_source == "stdin": assert isinstance(test_case, TestCaseStream), "Expected a stream test case" assert isinstance(test_case.fixture, BlockchainFixture), ( "Expected a blockchain test fixture" @@ -46,7 +45,7 @@ def blockchain_fixture(fixture_source: JsonSource, test_case: TestCase) -> Block assert isinstance(test_case, TestCaseIndexFile), "Expected an index file test case" # TODO: Optimize, json files will be loaded multiple times. This pytest fixture # is executed per test case, and a fixture json will contain multiple test cases. - fixtures = BlockchainFixtures.from_file(Path(fixture_source) / test_case.json_path) + fixtures = BlockchainFixtures.from_file(fixtures_source / test_case.json_path) fixture = fixtures[test_case.id] return fixture diff --git a/src/pytest_plugins/consume/releases.py b/src/pytest_plugins/consume/releases.py new file mode 100644 index 0000000000..1ea50349f4 --- /dev/null +++ b/src/pytest_plugins/consume/releases.py @@ -0,0 +1,219 @@ +"""Procedures to consume fixtures from Github releases.""" + +import json +import os +from dataclasses import dataclass +from datetime import datetime +from pathlib import Path +from typing import List + +import platformdirs +import requests +from pydantic import BaseModel, Field, RootModel + +RELEASE_INFORMATION_URL = "https://api.github.com/repos/ethereum/execution-spec-tests/releases" + + +CACHED_RELEASE_INFORMATION_FILE = ( + Path(platformdirs.user_cache_dir("ethereum-execution-spec-tests")) / "release_information.json" +) + + +class NoSuchReleaseError(Exception): + """Raised when a release does not exist.""" + + def __init__(self, release_string: str): + """Initialize the exception.""" + super().__init__(f"Unknown release source: {release_string}") + + +class AssetNotFoundError(Exception): + """Raised when a release has no assets.""" + + def __init__(self, release_string: str): + """Initialize the exception.""" + super().__init__(f"Asset not found: {release_string}") + + +@dataclass(kw_only=True) +class ReleaseTag: + """A descriptor for a release.""" + + tag_name: str + version: str | None + + @classmethod + def from_string(cls, release_string: str) -> "ReleaseTag": + """ + Create a release descriptor from a string. + + The release source can be in the format `tag_name@version` or just `tag_name`. + """ + version: str | None + if "@" in release_string: + tag_name, version = release_string.split("@") + if version == "" or version.lower() == "latest": + version = None + else: + tag_name = release_string + version = None + return cls(tag_name=tag_name, version=version) + + @staticmethod + def is_release_string(release_string: str) -> bool: + """Check if the release string is in the correct format.""" + return "@" in release_string + + def __eq__(self, value) -> bool: + """ + Check if the release descriptor matches the string value. + + Returns True if the value is the same as the tag name or the tag name and version. + """ + assert isinstance(value, str), f"Expected a string, but got: {value}" + if self.version is not None: + return value == f"{self.tag_name}@{self.version}" + return value.startswith(self.tag_name) + + @property + def asset_name(self) -> str: + """Get the asset name.""" + return f"fixtures_{self.tag_name}.tar.gz" + + +class Asset(BaseModel): + """Information about a release asset.""" + + url: str = Field(..., alias="browser_download_url") + id: int + name: str + content_type: str + size: int + + +class Assets(RootModel[List[Asset]]): + """A list of assets and their information.""" + + root: List[Asset] + + def __contains__(self, release_descriptor: ReleaseTag) -> bool: + """Check if the assets contain the release descriptor.""" + return any(release_descriptor.asset_name == asset.name for asset in self.root) + + +class ReleaseInformation(BaseModel): + """Information about a release.""" + + url: str = Field(..., alias="html_url") + id: int + tag_name: str + name: str + created_at: datetime + published_at: datetime + assets: Assets + + def __contains__(self, release_descriptor: ReleaseTag) -> bool: + """Check if the release information contains the release descriptor.""" + if release_descriptor.version is not None: + return release_descriptor == self.tag_name + for asset in self.assets.root: + if asset.name == release_descriptor.asset_name: + return True + return False + + def get_asset(self, release_descriptor: ReleaseTag) -> Asset: + """Get the asset URL.""" + for asset in self.assets.root: + if asset.name == release_descriptor.asset_name: + return asset + raise AssetNotFoundError(release_descriptor.tag_name) + + +class Releases(RootModel[List[ReleaseInformation]]): + """A list of releases and their information.""" + + root: List[ReleaseInformation] + + +def is_docker_or_ci() -> bool: + """Check if the code is running inside a Docker container or a CI environment.""" + return "GITHUB_ACTIONS" in os.environ or Path("/.dockerenv").exists() + + +def parse_release_information(release_information: List) -> List[ReleaseInformation]: + """Parse the release information from the Github API.""" + return Releases.model_validate(release_information).root # type: ignore + + +def download_release_information(destination_file: Path | None) -> List[ReleaseInformation]: + """ + Download all releases from the GitHub API, handling pagination properly. + + GitHub's API returns releases in pages of 30 by default. This function + follows the pagination links to ensure we get every release, which is + crucial for finding older version or latest releases. + """ + all_releases = [] + current_url: str | None = RELEASE_INFORMATION_URL + max_pages = 2 + while current_url and max_pages > 0: + max_pages -= 1 + response = requests.get(current_url) + response.raise_for_status() + all_releases.extend(response.json()) + current_url = None + if "link" in response.headers: + for link in requests.utils.parse_header_links(response.headers["link"]): + if link["rel"] == "next": + current_url = link["url"] + break + + if destination_file: + destination_file.parent.mkdir(parents=True, exist_ok=True) + with open(destination_file, "w") as file: + json.dump(all_releases, file) + return parse_release_information(all_releases) + + +def parse_release_information_from_file( + release_information_file: Path, +) -> List[ReleaseInformation]: + """Parse the release information from a file.""" + with open(release_information_file, "r") as file: + release_information = json.load(file) + return parse_release_information(release_information) + + +def get_release_url_from_release_information( + release_string: str, release_information: List[ReleaseInformation] +) -> str: + """Get the URL for a specific release.""" + release_descriptor = ReleaseTag.from_string(release_string) + for release in release_information: + if release_descriptor in release: + return release.get_asset(release_descriptor).url + raise NoSuchReleaseError(release_string) + + +def get_release_information() -> List[ReleaseInformation]: + """ + Get the release information. + + First check if the cached release information file exists. If it does, but it is older than 4 + hours, delete the file, unless running inside a CI environment or a Docker container. + Then download the release information from the Github API and save it to the cache file. + """ + if CACHED_RELEASE_INFORMATION_FILE.exists(): + last_modified = CACHED_RELEASE_INFORMATION_FILE.stat().st_mtime + if (datetime.now().timestamp() - last_modified) < 4 * 60 * 60 or is_docker_or_ci(): + return parse_release_information_from_file(CACHED_RELEASE_INFORMATION_FILE) + CACHED_RELEASE_INFORMATION_FILE.unlink() + if not CACHED_RELEASE_INFORMATION_FILE.exists(): + return download_release_information(CACHED_RELEASE_INFORMATION_FILE) + return parse_release_information_from_file(CACHED_RELEASE_INFORMATION_FILE) + + +def get_release_url(release_string: str) -> str: + """Get the URL for a specific release.""" + release_information = get_release_information() + return get_release_url_from_release_information(release_string, release_information) diff --git a/src/pytest_plugins/consume/test_cache.py b/src/pytest_plugins/consume/test_cache.py new file mode 100644 index 0000000000..09aa72283a --- /dev/null +++ b/src/pytest_plugins/consume/test_cache.py @@ -0,0 +1,6 @@ +"""Dummy test to force pytest to cache fixtures.""" + + +def test_cache(): + """Dummy test to run when only caching fixtures.""" + assert True diff --git a/src/pytest_plugins/consume/tests/__init__.py b/src/pytest_plugins/consume/tests/__init__.py new file mode 100644 index 0000000000..1d495e7cfb --- /dev/null +++ b/src/pytest_plugins/consume/tests/__init__.py @@ -0,0 +1 @@ +"""Tests for the consume plugin.""" diff --git a/src/pytest_plugins/consume/tests/release_information.json b/src/pytest_plugins/consume/tests/release_information.json new file mode 100644 index 0000000000..7590d382bd --- /dev/null +++ b/src/pytest_plugins/consume/tests/release_information.json @@ -0,0 +1,2890 @@ +[ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/192140551", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/192140551/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/192140551/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-5%40v1.0.0", + "id": 192140551, + "author": { + "login": "marioevz", + "id": 11726710, + "node_id": "MDQ6VXNlcjExNzI2NzEw", + "avatar_url": "https://avatars.githubusercontent.com/u/11726710?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/marioevz", + "html_url": "https://github.com/marioevz", + "followers_url": "https://api.github.com/users/marioevz/followers", + "following_url": "https://api.github.com/users/marioevz/following{/other_user}", + "gists_url": "https://api.github.com/users/marioevz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/marioevz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marioevz/subscriptions", + "organizations_url": "https://api.github.com/users/marioevz/orgs", + "repos_url": "https://api.github.com/users/marioevz/repos", + "events_url": "https://api.github.com/users/marioevz/events{/privacy}", + "received_events_url": "https://api.github.com/users/marioevz/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84Lc9UH", + "tag_name": "pectra-devnet-5@v1.0.0", + "target_commitish": "main", + "name": "pectra-devnet-5@v1.0.0", + "draft": false, + "prerelease": true, + "created_at": "2024-12-23T13:58:57Z", + "published_at": "2024-12-23T17:47:33Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/215394109", + "id": 215394109, + "node_id": "RA_kwDOIQGLK84M1qc9", + "name": "fixtures_pectra-devnet-5.tar.gz", + "label": null, + "uploader": { + "login": "marioevz", + "id": 11726710, + "node_id": "MDQ6VXNlcjExNzI2NzEw", + "avatar_url": "https://avatars.githubusercontent.com/u/11726710?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/marioevz", + "html_url": "https://github.com/marioevz", + "followers_url": "https://api.github.com/users/marioevz/followers", + "following_url": "https://api.github.com/users/marioevz/following{/other_user}", + "gists_url": "https://api.github.com/users/marioevz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/marioevz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marioevz/subscriptions", + "organizations_url": "https://api.github.com/users/marioevz/orgs", + "repos_url": "https://api.github.com/users/marioevz/repos", + "events_url": "https://api.github.com/users/marioevz/events{/privacy}", + "received_events_url": "https://api.github.com/users/marioevz/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 53020980, + "download_count": 10, + "created_at": "2024-12-23T17:37:55Z", + "updated_at": "2024-12-23T17:38:02Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-5%40v1.0.0/fixtures_pectra-devnet-5.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-5@v1.0.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-5@v1.0.0", + "body": "First EEST pre-release for Pectra Devnet-5.\r\n\r\n## Execution Layer EIP List for pectra-devnet-5\r\n\r\nThe list below links the specific commit versions of the EIPs included in devnet-5 and in this release: \r\n\r\n- [EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-2537.md)\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/lightclient/EIPs/blob/4d485ae63022f60824bafdc715c049b8510d76eb/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable withdrawals](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-7251.md)\r\n- [EIP-7623: Increase calldata cost](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-7623.md) - :exclamation: new EIP\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-7685.md)\r\n- [EIP-7691: Blob throughput increase](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-7691.md) :exclamation: new EIP\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/e8ce6c1d95a6901505fcf2d4ada4245feb69ea7e/EIPS/eip-7702.md)\r\n\r\n## Breaking Changes\r\n\r\n#### Transaction Tests\r\n\r\nNew test format is included in this release called [Transaction Tests](https://ethereum.github.io/execution-spec-tests/main/consuming_tests/transaction_test/).\r\n\r\nThe fixtures of this type are included in folder `./fixtures/transaction_tests/`.\r\n\r\n### Important Notes\r\nNone" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/190023984", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/190023984/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/190023984/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.9-alpha-1", + "id": 190023984, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84LU4kw", + "tag_name": "verkle@v0.0.9-alpha-1", + "target_commitish": "main", + "name": "verkle@v0.0.9-alpha-1", + "draft": false, + "prerelease": true, + "created_at": "2024-12-10T16:03:56Z", + "published_at": "2024-12-10T18:01:25Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/212429636", + "id": 212429636, + "node_id": "RA_kwDOIQGLK84MqWtE", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 380857, + "download_count": 1, + "created_at": "2024-12-10T17:59:15Z", + "updated_at": "2024-12-10T17:59:15Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.9-alpha-1/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/212429637", + "id": 212429637, + "node_id": "RA_kwDOIQGLK84MqWtF", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3161837, + "download_count": 5, + "created_at": "2024-12-10T17:59:15Z", + "updated_at": "2024-12-10T17:59:15Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.9-alpha-1/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.9-alpha-1", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.9-alpha-1", + "body": "**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/verkle@v0.0.8...verkle@v0.0.9-alpha-1" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/188166169", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/188166169/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/188166169/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v2.1.0", + "id": 188166169, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84LNzAZ", + "tag_name": "eip7692@v2.1.0", + "target_commitish": "main", + "name": "eip7692@v2.1.0", + "draft": false, + "prerelease": true, + "created_at": "2024-11-27T13:42:33Z", + "published_at": "2024-11-29T10:15:52Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/209848063", + "id": 209848063, + "node_id": "RA_kwDOIQGLK84Mggb_", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 35294190, + "download_count": 126, + "created_at": "2024-11-29T09:32:05Z", + "updated_at": "2024-11-29T09:32:06Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v2.1.0/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v2.1.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v2.1.0", + "body": "## What's Changed (Only EOF-relevant changes listed)\r\n\r\n* new(tests): EOF - EIP-4750: Stack validation in CALLF by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/889\r\n* new(tests): EOF - EIP-5450: RJUMP* vs CALLF tests by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/833\r\n* bug(tests) - CALLF rule #4 applies to return stack, not operand stack by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/907\r\n* feat(exceptions,specs): class to verify exception strings by @winsvega in https://github.com/ethereum/execution-spec-tests/pull/795\r\n* new(tests): basic EOF execution tests by @chfast in https://github.com/ethereum/execution-spec-tests/pull/912\r\n* new(tests): EOF - EIP-4200: migrate remaining RJUMP* execution tests by @chfast in https://github.com/ethereum/execution-spec-tests/pull/916\r\n* refactor(tests): EOF - EIP-4750: parametrize CALLF execution tests by @chfast in https://github.com/ethereum/execution-spec-tests/pull/913\r\n* new(cli): Introduce eofwrap tool by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/896\r\n* new(tests): EOF - EIP-6206: Add stack overflow by rule check to JUMPF by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/902\r\n* new(tests): Explicit test for EXTDELEGATECALL value cost by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/911\r\n* new(tests): EOF - EIP-4750: add fibonacci and factorial tests for CALLF by @chfast in https://github.com/ethereum/execution-spec-tests/pull/915\r\n* new(tests): EOF - EIP-7692: migrate `CALLF` execution tests by @chfast in https://github.com/ethereum/execution-spec-tests/pull/914\r\n* new(tests): EOF - EIP-4200 EIP-6206 RJUMPI with JUMPF by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/928\r\n* feat(forks): Add gas costs functions by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/779\r\n* new(tests): EOF - EIP-3540: validation of opcodes by @chfast in https://github.com/ethereum/execution-spec-tests/pull/932\r\n* feat(docs): add prague-devnet-5 link; add EOF EIP links/info by @danceratopz in https://github.com/ethereum/execution-spec-tests/pull/957\r\n* feat(ci,eof): include eofwrap in EOF prerelease by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/962\r\n\r\n## New Contributors\r\n* @MaximeDavin made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/949\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v2.0.0...eip7692@v2.1.0", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/188166169/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 1, + "eyes": 0 + }, + "mentions_count": 7 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/186894334", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/186894334/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/186894334/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.8", + "id": 186894334, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84LI8f-", + "tag_name": "verkle@v0.0.8", + "target_commitish": "main", + "name": "verkle@v0.0.8", + "draft": false, + "prerelease": true, + "created_at": "2024-11-22T11:08:22Z", + "published_at": "2024-11-22T13:21:15Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/208335927", + "id": 208335927, + "node_id": "RA_kwDOIQGLK84MavQ3", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 380504, + "download_count": 2, + "created_at": "2024-11-22T13:03:52Z", + "updated_at": "2024-11-22T13:03:53Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.8/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/208335928", + "id": 208335928, + "node_id": "RA_kwDOIQGLK84MavQ4", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3160592, + "download_count": 15, + "created_at": "2024-11-22T13:03:52Z", + "updated_at": "2024-11-22T13:03:53Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.8/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.8", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.8", + "body": "## What's Changed\r\nThis release includes extra tests that reproduce bugs found in some EL clients in the new devnet7:\r\n* verkle: add extra SSTORE test by @jsign in https://github.com/ethereum/execution-spec-tests/pull/936\r\n* verkle: add contract creation failure scenario by @jsign in https://github.com/ethereum/execution-spec-tests/pull/944\r\n\r\nPlease see PR descriptions to understand better what new tests try to cover.\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/verkle@v0.0.7...verkle@v0.0.8", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/183128740", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/183128740/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/183128740/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.7-alpha-8", + "id": 183128740, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84K6lKk", + "tag_name": "verkle@v0.0.7-alpha-8", + "target_commitish": "main", + "name": "verkle@v0.0.7-alpha-8", + "draft": false, + "prerelease": true, + "created_at": "2024-11-01T14:13:01Z", + "published_at": "2024-11-01T16:12:50Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/203411146", + "id": 203411146, + "node_id": "RA_kwDOIQGLK84MH87K", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 380886, + "download_count": 3, + "created_at": "2024-11-01T16:11:16Z", + "updated_at": "2024-11-01T16:11:16Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.7-alpha-8/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/203411145", + "id": 203411145, + "node_id": "RA_kwDOIQGLK84MH87J", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3158358, + "download_count": 9, + "created_at": "2024-11-01T16:11:16Z", + "updated_at": "2024-11-01T16:11:16Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.7-alpha-8/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.7-alpha-8", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.7-alpha-8", + "body": "## What's Changed\r\n* feat(verkle): add parent root to witness by @spencer-tb in https://github.com/ethereum/execution-spec-tests/pull/910\r\n* verkle: parent state root field renaming by @jsign in https://github.com/ethereum/execution-spec-tests/pull/934\r\n\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/verkle@v0.0.6...verkle@v0.0.7-alpha-8", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/183375211", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/183375211/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/183375211/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.7", + "id": 183375211, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84K7hVr", + "tag_name": "verkle@v0.0.7", + "target_commitish": "main", + "name": "verkle@v0.0.7", + "draft": false, + "prerelease": true, + "created_at": "2024-11-01T16:27:53Z", + "published_at": "2024-11-04T13:53:03Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/204012832", + "id": 204012832, + "node_id": "RA_kwDOIQGLK84MKP0g", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 380554, + "download_count": 8, + "created_at": "2024-11-04T13:47:54Z", + "updated_at": "2024-11-04T13:47:54Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.7/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/204012833", + "id": 204012833, + "node_id": "RA_kwDOIQGLK84MKP0h", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3157499, + "download_count": 9, + "created_at": "2024-11-04T13:47:54Z", + "updated_at": "2024-11-04T13:47:54Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.7/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.7", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.7", + "body": "⚠️ **Note these tests are up to date with the latest devnet-7 spec!**\r\n\r\nA reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: `fixtures_verkle-genesis.tar.gz`\r\n- Run the EIP-6800 tests for a good first check, `fixtures/verkle/eip6800_genesis_verkle_tree/` within the extracted the fixture genesis tar.\r\n - Followed by EIP-4762 tests: `fixtures/verkle/eip4762_verkle_gas_witness/`.\r\n - And EIP-7709 tests: `fixtures/verkle/eip7709_blockhash_witness/`.\r\n- Run \"backfilled\" tests, all previous fork tests filled for Verkle, i.e all tests excluding`fixtures/verkle/*`.\r\n- (Optional) Run the `fixtures_verkle-conversion-stride-0.tar.gz` tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.\r\n\r\nChanges:\r\n* The `parentStateRoot` field was added to the witness.\r\n* In backported tests, if the test is running in Overlay Tree mode, we won't generate a witness (since it doesn't make sense).\r\n* **Important note:** the backported tests under `tests/cancun/eip6780_selfdestruct` might fail for some clients. This is expected since there's an ongoing discussion on how to resolve a spec issue.\r\n\r\n## 🐘 Verkle Genesis Test Fixtures\r\n\r\nContains verkle specific test vectors from https://github.com/ethereum/execution-spec-tests/pull/659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.\r\n\r\nPlease use `fixtures_verkle-genesis.tar.gz`!\r\n\r\n### Generating Genesis Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --fork Verkle --evm-bin= -n auto -m blockchain_test\r\n```\r\n\r\n## 🔁 Verkle Conversion Test Fixtures - 0 Stride\r\n\r\nThese aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that **only blocks after the transition** update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.\r\n\r\nTest cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.\r\n\r\nPlease use `fixtures_verkle-conversion-stride-0.tar.gz`!\r\n\r\n### Generating Conversion Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --from Shanghai --until EIP6800Transition --evm-bin= -n auto -m blockchain_test\r\n```" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/181327020", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/181327020/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/181327020/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.6", + "id": 181327020, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KztSs", + "tag_name": "verkle@v0.0.6", + "target_commitish": "main", + "name": "verkle@v0.0.6", + "draft": false, + "prerelease": true, + "created_at": "2024-10-21T17:37:28Z", + "published_at": "2024-10-22T22:29:59Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/201018032", + "id": 201018032, + "node_id": "RA_kwDOIQGLK84L-0qw", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 859314, + "download_count": 12, + "created_at": "2024-10-22T22:24:59Z", + "updated_at": "2024-10-22T22:24:59Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.6/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/201018029", + "id": 201018029, + "node_id": "RA_kwDOIQGLK84L-0qt", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3140809, + "download_count": 17, + "created_at": "2024-10-22T22:24:59Z", + "updated_at": "2024-10-22T22:24:59Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.6/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.6", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.6", + "body": "⚠️ **Note these tests are up to date with the latest devnet-7 spec!**\r\n\r\n**This release is filled with a specific geth branch [`gballet/jsign-witness-fix`](https://github.com/gballet/go-ethereum/pull/495) aligned with devnet-7. It contains updates and fixes for the past genesis tests due to the addition of witness checks within the testing framework. These verify the correct behavoiur of the witness for specific test cases if defined.**\r\n\r\nA reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: `fixtures_verkle-genesis.tar.gz`\r\n- Run the EIP-6800 tests for a good first check, `fixtures/verkle/eip6800_genesis_verkle_tree/` within the extracted the fixture genesis tar.\r\n - Followed by EIP-4762 tests: `fixtures/verkle/eip4762_verkle_gas_witness/`.\r\n - And EIP-7709 tests: `fixtures/verkle/eip7709_blockhash_witness/`.\r\n- Run \"backfilled\" tests, all previous fork tests filled for Verkle, i.e all tests excluding`fixtures/verkle/*`.\r\n- (Optional) Run the `fixtures_verkle-conversion-stride-0.tar.gz` tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.\r\n\r\nChanges:\r\n* A SELFDESTRUCT test targeting insufficient gas case was improved.\r\n* There was a bug in Geth that generated incorrect filling for backported tests (i.e: Shanghai ones).\r\n\r\n## 🐘 Verkle Genesis Test Fixtures\r\n\r\nContains verkle specific test vectors from https://github.com/ethereum/execution-spec-tests/pull/659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.\r\n\r\nPlease use `fixtures_verkle-genesis.tar.gz`!\r\n\r\n### Generating Genesis Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --fork Verkle --evm-bin= -n auto -m blockchain_test\r\n```\r\n\r\n## 🔁 Verkle Conversion Test Fixtures - 0 Stride\r\n\r\nThese aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that **only blocks after the transition** update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.\r\n\r\nTest cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.\r\n\r\nPlease use `fixtures_verkle-conversion-stride-0.tar.gz`!\r\n\r\n### Generating Conversion Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --from Shanghai --until EIP6800Transition --evm-bin= -n auto -m blockchain_test\r\n```\r\n" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/180476466", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/180476466/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/180476466/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.5", + "id": 180476466, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84Kwdoy", + "tag_name": "verkle@v0.0.5", + "target_commitish": "main", + "name": "verkle@v0.0.5", + "draft": false, + "prerelease": true, + "created_at": "2024-10-16T13:14:57Z", + "published_at": "2024-10-17T15:11:23Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/199780731", + "id": 199780731, + "node_id": "RA_kwDOIQGLK84L6Gl7", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 859332, + "download_count": 11, + "created_at": "2024-10-17T14:55:52Z", + "updated_at": "2024-10-17T14:55:52Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.5/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/199780732", + "id": 199780732, + "node_id": "RA_kwDOIQGLK84L6Gl8", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3140759, + "download_count": 45, + "created_at": "2024-10-17T14:55:52Z", + "updated_at": "2024-10-17T14:55:52Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.5/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.5", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.5", + "body": "⚠️ **Note these tests are up to date with the latest devnet-7 spec!**\r\n\r\n**This release is filled with a specific geth branch [`gballet/jsign-witness-fix`](https://github.com/gballet/go-ethereum/pull/495) aligned with devnet-7. It contains updates and fixes for the past genesis tests due to the addition of witness checks within the testing framework. These verify the correct behavoiur of the witness for specific test cases if defined.**\r\n\r\nA reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: `fixtures_verkle-genesis.tar.gz`\r\n- Run the EIP-6800 tests for a good first check, `fixtures/verkle/eip6800_genesis_verkle_tree/` within the extracted the fixture genesis tar.\r\n - Followed by EIP-4762 tests: `fixtures/verkle/eip4762_verkle_gas_witness/`.\r\n - And EIP-7709 tests: `fixtures/verkle/eip7709_blockhash_witness/`.\r\n- Run \"backfilled\" tests, all previous fork tests filled for Verkle, i.e all tests excluding`fixtures/verkle/*`.\r\n- (Optional) Run the `fixtures_verkle-conversion-stride-0.tar.gz` tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.\r\n\r\nChanges:\r\n* new(tests): eip-4762 *CALL with insufficient gas by @jsign in https://github.com/ethereum/execution-spec-tests/pull/867\r\n* feat(verkle): add two-way exhaustive witness checks by @spencer-tb in https://github.com/ethereum/execution-spec-tests/pull/879\r\n* eip4762: enable calls with insufficient gas tests again by @jsign in https://github.com/ethereum/execution-spec-tests/pull/880\r\n* new(tests): eip-4762 contract creations with insufficient gas by @jsign in https://github.com/ethereum/execution-spec-tests/pull/873\r\n* new(tests): eip-4762 EXTCODEHASH with insufficient gas by @jsign in https://github.com/ethereum/execution-spec-tests/pull/874\r\n* new(tests): eip-4762 (EXT)CODECOPY with insufficient gas by @jsign in https://github.com/ethereum/execution-spec-tests/pull/868\r\n* new(tests): eip-4762 SELFDESTRUCT with insufficient gas by @jsign in https://github.com/ethereum/execution-spec-tests/pull/875\r\n* eip4762: SSTORE/SLOAD insufficient gas tests by @jsign in https://github.com/ethereum/execution-spec-tests/pull/884\r\n* Filling fixes by @jsign in https://github.com/ethereum/execution-spec-tests/pull/885\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/verkle@v0.0.3...verkle@v0.0.4\r\n\r\n## 🐘 Verkle Genesis Test Fixtures\r\n\r\nContains verkle specific test vectors from https://github.com/ethereum/execution-spec-tests/pull/659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.\r\n\r\nPlease use `fixtures_verkle-genesis.tar.gz`!\r\n\r\n### Generating Genesis Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --fork Verkle --evm-bin= -n auto -m blockchain_test\r\n```\r\n\r\n## 🔁 Verkle Conversion Test Fixtures - 0 Stride\r\n\r\nThese aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that **only blocks after the transition** update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.\r\n\r\nTest cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.\r\n\r\nPlease use `fixtures_verkle-conversion-stride-0.tar.gz`!\r\n\r\n### Generating Conversion Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --from Shanghai --until EIP6800Transition --evm-bin= -n auto -m blockchain_test\r\n```\r\n", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/180106863", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/180106863/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/180106863/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v2.0.0", + "id": 180106863, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KvDZv", + "tag_name": "eip7692@v2.0.0", + "target_commitish": "main", + "name": "eip7692@v2.0.0", + "draft": false, + "prerelease": true, + "created_at": "2024-10-15T20:35:40Z", + "published_at": "2024-10-15T21:34:53Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/199345084", + "id": 199345084, + "node_id": "RA_kwDOIQGLK84L4cO8", + "name": "fixtures_eip7692-osaka.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 29598138, + "download_count": 85, + "created_at": "2024-10-15T21:01:23Z", + "updated_at": "2024-10-15T21:01:24Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v2.0.0/fixtures_eip7692-osaka.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/199345083", + "id": 199345083, + "node_id": "RA_kwDOIQGLK84L4cO7", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3005939, + "download_count": 5, + "created_at": "2024-10-15T21:01:23Z", + "updated_at": "2024-10-15T21:01:24Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v2.0.0/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v2.0.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v2.0.0", + "body": "First EIP-7692 release filled for the `Osaka` fork.\r\n\r\nFilled tests in `tests/prague` and `tests/osaka` folders.\r\n\r\nPrague fork follows **devnet-3 specification** (see https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.5.0 for details).\r\n\r\n## What's Changed (Only EOF-relevant changes listed)\r\n* fix(tests): fix TSTORE EOF variant test by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/831\r\n* new(tests): EOF - EIP-6206: clarify \"non-returning instruction\" by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/837\r\n* feat(docs,tests): add links to the online test case docs in the EOF tracker by @danceratopz in https://github.com/ethereum/execution-spec-tests/pull/838\r\n* refactor(tests): unify EOF return code constants by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/834\r\n* new(tests): EOF validation tests of stack height with double RJUMPI by @chfast in https://github.com/ethereum/execution-spec-tests/pull/851\r\n* new(tests): EOF - EIP-4750: unreachable code sections by @chfast in https://github.com/ethereum/execution-spec-tests/pull/856\r\n* fix(fw): EOF - Fix EXCHANGE's data_portion_length by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/849\r\n* new(tests): EIP-7069 and EIP-7620 - failures and context vars by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/836\r\n* feat(forks,tests): Osaka by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/869\r\n* fix(github): Fix `eip7692-osaka` to also fill `tests/prague` by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/897\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.1.1...eip7692@v2.0.0", + "mentions_count": 5 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/179885084", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/179885084/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/179885084/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-4%40v1.0.1", + "id": 179885084, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KuNQc", + "tag_name": "pectra-devnet-4@v1.0.1", + "target_commitish": "main", + "name": "pectra-devnet-4@v1.0.1", + "draft": false, + "prerelease": true, + "created_at": "2024-10-14T17:38:34Z", + "published_at": "2024-10-14T20:32:44Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/199069956", + "id": 199069956, + "node_id": "RA_kwDOIQGLK84L3ZEE", + "name": "fixtures_pectra-devnet-4.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 20080350, + "download_count": 5047, + "created_at": "2024-10-14T19:47:27Z", + "updated_at": "2024-10-14T19:47:28Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-4%40v1.0.1/fixtures_pectra-devnet-4.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-4@v1.0.1", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-4@v1.0.1", + "body": "Second EEST pre-release for Pectra Devnet-4. Fixes a small issue on some negative tests that override the expected requests with an empty requests hash but the block does indeed contain transactions that trigger at least one request.\r\n\r\nFor a full description of the fixtures included please check [pectra-devnet-4@v1.0.0](https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-4%40v1.0.0) release notes.\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/pectra-devnet-4@v1.0.0...pectra-devnet-4@v1.0.1\r\n\r\n**Test Case Documentation**: https://ethereum.github.io/execution-spec-tests/pectra-devnet-4@v1.0.1/tests/prague/", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/179885084/reactions", + "total_count": 2, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 2, + "eyes": 0 + } + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/179659615", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/179659615/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/179659615/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-4%40v1.0.0", + "id": 179659615, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KtWNf", + "tag_name": "pectra-devnet-4@v1.0.0", + "target_commitish": "main", + "name": "pectra-devnet-4@v1.0.0", + "draft": false, + "prerelease": true, + "created_at": "2024-10-13T14:08:37Z", + "published_at": "2024-10-14T04:00:43Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/198798555", + "id": 198798555, + "node_id": "RA_kwDOIQGLK84L2Wzb", + "name": "fixtures_pectra-devnet-4.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 20080066, + "download_count": 11, + "created_at": "2024-10-13T16:16:57Z", + "updated_at": "2024-10-13T16:16:58Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-4%40v1.0.0/fixtures_pectra-devnet-4.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-4@v1.0.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-4@v1.0.0", + "body": "First EEST pre-release for Pectra Devnet-4.\r\n\r\n## Included Specification PRs\r\n\r\n- [x] https://github.com/ethereum/EIPs/pull/8889\r\n- [x] https://github.com/ethereum/EIPs/pull/8890\r\n- [x] https://github.com/lightclient/sys-asm/pull/20\r\n- [x] https://github.com/ethereum/EIPs/pull/8845\r\n- [x] https://github.com/ethereum/EIPs/pull/8929\r\n- [x] https://github.com/ethereum/EIPs/pull/8948\r\n- [x] https://github.com/ethereum/EIPs/pull/8950\r\n- [x] https://github.com/ethereum/EIPs/pull/8857\r\n- [x] https://github.com/ethereum/EIPs/pull/8856\r\n- [x] https://github.com/ethereum/EIPs/pull/8855\r\n- [x] https://github.com/ethereum/EIPs/pull/8854\r\n- [x] https://github.com/ethereum/execution-apis/pull/591\r\n- [x] https://github.com/ethereum/EIPs/pull/8934 (Also updates EIP-7251)\r\n- [x] https://github.com/ethereum/EIPs/pull/8938\r\n\r\n## New Tests\r\n\r\n- EIP-7685: Invalid request type in block\r\n- EIP-7002, EIP-7251: Add tests for system contracts execution pre-fork.\r\n- EIP-7702: Add deploy delegation-like contract test\r\n\r\n## Breaking Changes\r\n\r\n#### Blockchain Fixtures Changes\r\n\r\n- `blockHeader.requests_root` field has been renamed to `requests_hash` in the `blockchain_test` fixture type.\r\n- `FixtureBlockBase` and `FixtureExecutionPayload` fields `deposit_requests`, `withdrawal_requests` and `consolidation_requests` are replaced by a single field `requests` which contains a list of hex strings, each element represents the bytes of a flattened request.\r\n- Fourth parameter has been added to `FixtureEngineNewPayload.params` which represents the flattened requests.\r\n\r\n### Important Notes\r\n- EIP-2935 slow tests (256+ blocks) have been skipped.\r\n\r\n## Included EIP Versions\r\n\r\n- [EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/9ccf12ceb3979bf0b31ad82a54a0470845c38c2d/EIPS/eip-2537.md)\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/ethereum/EIPs/blob/45587bd019487b0bd59bec941bc0e2d708811cc8/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/f88a24b00b0ad92d5ba640f8427ab5001fc453ad/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable exits](https://github.com/ethereum/EIPs/blob/a7fb2260ae2ea39bdd31886832c9e45452d0e76a/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/a7fb2260ae2ea39bdd31886832c9e45452d0e76a/EIPS/eip-7251.md)\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/a7fb2260ae2ea39bdd31886832c9e45452d0e76a/EIPS/eip-7685.md)\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/a7fb2260ae2ea39bdd31886832c9e45452d0e76a/EIPS/eip-7702.md)", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/179659615/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 1, + "eyes": 0 + } + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/177899690", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/177899690/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/177899690/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.4", + "id": 177899690, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84Kmoiq", + "tag_name": "verkle@v0.0.4", + "target_commitish": "main", + "name": "verkle@v0.0.4", + "draft": false, + "prerelease": true, + "created_at": "2024-10-01T19:34:38Z", + "published_at": "2024-10-01T22:30:31Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/196226600", + "id": 196226600, + "node_id": "RA_kwDOIQGLK84Lsi4o", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 850808, + "download_count": 31, + "created_at": "2024-10-01T22:05:30Z", + "updated_at": "2024-10-01T22:05:30Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.4/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/196226599", + "id": 196226599, + "node_id": "RA_kwDOIQGLK84Lsi4n", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 3073513, + "download_count": 37, + "created_at": "2024-10-01T22:05:30Z", + "updated_at": "2024-10-01T22:05:30Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.4/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.4", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.4", + "body": "⚠️ **Note these tests are up to date with the latest devnet-7 spec!**\r\n\r\n**This release is filled with a specific geth branch [`gballet/jsign-witness-fix`](https://github.com/gballet/go-ethereum/pull/495) aligned with devnet-7. It contains updates and fixes for the past genesis tests due to the addition of witness checks within the testing framework. These verify the correct behavoiur of the witness for specific test cases if defined.**\r\n\r\nA reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: `fixtures_verkle-genesis.tar.gz`\r\n- Run the EIP-6800 tests for a good first check, `fixtures/verkle/eip6800_genesis_verkle_tree/` within the extracted the fixture genesis tar.\r\n - Followed by EIP-4762 tests: `fixtures/verkle/eip4762_verkle_gas_witness/`.\r\n - And EIP-7709 tests: `fixtures/verkle/eip7709_blockhash_witness/`.\r\n- Run \"backfilled\" tests, all previous fork tests filled for Verkle, i.e all tests excluding`fixtures/verkle/*`.\r\n- (Optional) Run the `fixtures_verkle-conversion-stride-0.tar.gz` tests, as these contain basic pre-fork tests to make sure nothing is broken on the fork before Verkle.\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/verkle@v0.0.3...verkle@v0.0.4\r\n\r\n## 🐘 Verkle Genesis Test Fixtures\r\n\r\nContains verkle specific test vectors from https://github.com/ethereum/execution-spec-tests/pull/659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.\r\n\r\nPlease use `fixtures_verkle-genesis.tar.gz`!\r\n\r\n### Generating Genesis Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --fork Verkle --evm-bin= -n auto -m blockchain_test\r\n```\r\n\r\n## 🔁 Verkle Conversion Test Fixtures - 0 Stride\r\n\r\nThese aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that **only blocks after the transition** update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.\r\n\r\nTest cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.\r\n\r\nPlease use `fixtures_verkle-conversion-stride-0.tar.gz`!\r\n\r\n### Generating Conversion Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/a00d50aa1590d7bed660723e2aa2fc7e58d64559), fill with the following command:\r\n```\r\nfill --from Shanghai --until EIP6800Transition --evm-bin= -n auto -m blockchain_test\r\n```\r\n\r\n" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/176456969", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/176456969/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/176456969/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v1.1.1", + "id": 176456969, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KhIUJ", + "tag_name": "eip7692@v1.1.1", + "target_commitish": "main", + "name": "eip7692@v1.1.1", + "draft": false, + "prerelease": true, + "created_at": "2024-09-23T16:06:58Z", + "published_at": "2024-09-23T19:28:51Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/194417872", + "id": 194417872, + "node_id": "RA_kwDOIQGLK84LlpTQ", + "name": "fixtures_eip7692-prague.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 29388774, + "download_count": 14, + "created_at": "2024-09-23T17:45:29Z", + "updated_at": "2024-09-23T17:45:31Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.1.1/fixtures_eip7692-prague.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/194417871", + "id": 194417871, + "node_id": "RA_kwDOIQGLK84LlpTP", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2947021, + "download_count": 155, + "created_at": "2024-09-23T17:45:29Z", + "updated_at": "2024-09-23T17:45:30Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.1.1/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v1.1.1", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v1.1.1", + "body": "Filled using Besu commit https://github.com/hyperledger/besu/commit/0d6395515890280c29ee2402c03b1ee81bde3bab\r\n\r\n## What's Changed\r\n* new(tests): EOF - EIP-7620 EOFCREATE gas testing by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/785\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.1.0...eip7692@v1.1.1", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/175961554", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/175961554/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/175961554/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v1.1.0", + "id": 175961554, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KfPXS", + "tag_name": "eip7692@v1.1.0", + "target_commitish": "main", + "name": "eip7692@v1.1.0", + "draft": false, + "prerelease": true, + "created_at": "2024-09-19T18:04:52Z", + "published_at": "2024-09-19T18:41:46Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/193660497", + "id": 193660497, + "node_id": "RA_kwDOIQGLK84LiwZR", + "name": "fixtures_eip7692-prague.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 28430232, + "download_count": 10, + "created_at": "2024-09-19T18:23:47Z", + "updated_at": "2024-09-19T18:23:48Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.1.0/fixtures_eip7692-prague.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/193660498", + "id": 193660498, + "node_id": "RA_kwDOIQGLK84LiwZS", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2734819, + "download_count": 31, + "created_at": "2024-09-19T18:23:47Z", + "updated_at": "2024-09-19T18:23:47Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.1.0/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v1.1.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v1.1.0", + "body": "Contains several EIP-7702 Devnet-3 tests parametrized to use EOF.\r\n\r\n## What's Changed\r\n* chore(tests): update EOF tests tracker by @chfast in https://github.com/ethereum/execution-spec-tests/pull/791\r\n* new(tests): EOF: more fuzzing disovered tests by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/789\r\n* fix(fw): DATALOAD pushed_stack_items by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/784\r\n* new(tests): EOF: tests for invalid non-returning sections by @chfast in https://github.com/ethereum/execution-spec-tests/pull/794\r\n* new(tests): EOF - EIP-7069 - expand EXT*CALL gas testing by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/771\r\n* fix(tests): EOF - Remove duplicate container tests, automatically check for duplicates by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/800\r\n* fix(fw): max stack height calculation in __add__ by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/810\r\n* new(test): EIP-7702 + EIP-1153: test that TransientStorage stays at correct address by @jochem-brouwer in https://github.com/ethereum/execution-spec-tests/pull/799\r\n* new(tests): TSTORE: ensure transient storage is cleared after transactions by @jochem-brouwer in https://github.com/ethereum/execution-spec-tests/pull/798\r\n* new(tests): EOF - EIP-7620: EOFCREATE referencing the same subcontainer twice by @MariusVanDerWijden in https://github.com/ethereum/execution-spec-tests/pull/809\r\n* new(tests): EOF - EIP-7620: Dangling data in subcontainer test by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/812\r\n* fix(fw): EOF - Accept `initcode_prefix` on EOF `Container.Init` by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/819\r\n* fix(tests): Fix Existing EOF + EIP-7702 Tests by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/821\r\n\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.0.9...eip7692@v1.1.0", + "mentions_count": 6 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/174363281", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/174363281/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/174363281/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.5.0", + "id": 174363281, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KZJKR", + "tag_name": "pectra-devnet-3@v1.5.0", + "target_commitish": "main", + "name": "pectra-devnet-3@v1.5.0", + "draft": false, + "prerelease": true, + "created_at": "2024-09-10T14:20:58Z", + "published_at": "2024-09-10T15:14:09Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/191744130", + "id": 191744130, + "node_id": "RA_kwDOIQGLK84LbciC", + "name": "fixtures_pectra-devnet-3.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 18524987, + "download_count": 4146, + "created_at": "2024-09-10T15:12:25Z", + "updated_at": "2024-09-10T15:12:26Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-3%40v1.5.0/fixtures_pectra-devnet-3.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-3@v1.5.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-3@v1.5.0", + "body": "Adds `tests/prague/eip7702_set_code_tx/test_set_code_txs.py::test_contract_creating_set_code_transaction` which is the contract creating type-4 transaction test.\r\n\r\n### Important Notes\r\n- EIP-2935 slow tests (256+ blocks) have been skipped.\r\n\r\n## Included EIPs\r\n\r\n- [EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/032c46504b10568039ba300969010e77c795f43a/EIPS/eip-2537.md)\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/ethereum/EIPs/blob/45587bd019487b0bd59bec941bc0e2d708811cc8/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/699cb15fc5ab7812d44266013876d9de81d05742/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable exits](https://github.com/ethereum/EIPs/blob/f3620fabfa303fd84ee84522c744ae4a4da65cdf/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/bc91716ef2863c3bcab0d4d8ff013e24bf4999c2/EIPS/eip-7251.md)\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/b27b3f1c1b8252d178c0a7d4bcf6480c8bcb2159/EIPS/eip-7685.md)\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/d87a570a5baedff7b0a71d79de3ff4f14cee0990/EIPS/eip-7702.md)\r\n\r\n## Missing EIPs\r\n- [EIP-7692: EVM Object Format (EOFv1) Meta](https://github.com/ethereum/EIPs/blob/ad9bf2bd83c1018f0a892e03ad3b524cc441257e/EIPS/eip-7692.md)\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/pectra-devnet-3@v1.4.0...pectra-devnet-3@v1.5.0", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/174363281/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 1, + "rocket": 0, + "eyes": 0 + } + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/173852359", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/173852359/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/173852359/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v1.0.9", + "id": 173852359, + "author": { + "login": "marioevz", + "id": 11726710, + "node_id": "MDQ6VXNlcjExNzI2NzEw", + "avatar_url": "https://avatars.githubusercontent.com/u/11726710?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/marioevz", + "html_url": "https://github.com/marioevz", + "followers_url": "https://api.github.com/users/marioevz/followers", + "following_url": "https://api.github.com/users/marioevz/following{/other_user}", + "gists_url": "https://api.github.com/users/marioevz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/marioevz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marioevz/subscriptions", + "organizations_url": "https://api.github.com/users/marioevz/orgs", + "repos_url": "https://api.github.com/users/marioevz/repos", + "events_url": "https://api.github.com/users/marioevz/events{/privacy}", + "received_events_url": "https://api.github.com/users/marioevz/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KXMbH", + "tag_name": "eip7692@v1.0.9", + "target_commitish": "main", + "name": "eip7692@v1.0.9", + "draft": false, + "prerelease": true, + "created_at": "2024-09-05T20:24:52Z", + "published_at": "2024-09-06T14:10:28Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/190869157", + "id": 190869157, + "node_id": "RA_kwDOIQGLK84LYG6l", + "name": "fixtures_eip7692.tar.gz", + "label": null, + "uploader": { + "login": "marioevz", + "id": 11726710, + "node_id": "MDQ6VXNlcjExNzI2NzEw", + "avatar_url": "https://avatars.githubusercontent.com/u/11726710?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/marioevz", + "html_url": "https://github.com/marioevz", + "followers_url": "https://api.github.com/users/marioevz/followers", + "following_url": "https://api.github.com/users/marioevz/following{/other_user}", + "gists_url": "https://api.github.com/users/marioevz/gists{/gist_id}", + "starred_url": "https://api.github.com/users/marioevz/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/marioevz/subscriptions", + "organizations_url": "https://api.github.com/users/marioevz/orgs", + "repos_url": "https://api.github.com/users/marioevz/repos", + "events_url": "https://api.github.com/users/marioevz/events{/privacy}", + "received_events_url": "https://api.github.com/users/marioevz/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2694137, + "download_count": 147, + "created_at": "2024-09-06T14:08:16Z", + "updated_at": "2024-09-06T14:08:17Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.0.9/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v1.0.9", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v1.0.9", + "body": "## Important Notes\r\n\r\nEIP-7702 breaks Prague+EOF tests at the moment, therefore this release does not contain them, but they should be expected at a later release.\r\n\r\n## What's Changed\r\n* fix(docs): Add some more cases to EOF tracker by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/747\r\n* new(tests): EOF - EIP-3540: Migrate validation tests: EIP3540/validInvalidFiller.yml by @chfast in https://github.com/ethereum/execution-spec-tests/pull/598\r\n* new(tests): EOF - EIP-7620: tests for msg.depth and static flag by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/732\r\n* new(tests): EOF - EIP-7069: Call Gas Testing for EXT*CALL by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/713\r\n* new(tests): EIP-7069 - EXTCALL with balance and other by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/755\r\n* new(tests): EOF - EIP-3540: Test types with 128 inputs by @gurukamath in https://github.com/ethereum/execution-spec-tests/pull/749\r\n* new(tests): EOF - EIP-3540: out of order container section by @chfast in https://github.com/ethereum/execution-spec-tests/pull/741\r\n* chore: simplify python project config by @danceratopz in https://github.com/ethereum/execution-spec-tests/pull/764\r\n* feat(tests): Add multiple exception support to EOF tests by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/759\r\n* new(tests): EOF - EIP-7620: migrate \"embedded container\" tests by @chfast in https://github.com/ethereum/execution-spec-tests/pull/763\r\n* new(tests): EIP-5656/7692 - use new marker to EOF-ize MCOPY test (2) by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/754\r\n* feat(tests): EOF - EIP-3540/EIP-4200: Move and rename oritests by @winsvega in https://github.com/ethereum/execution-spec-tests/pull/731\r\n* new(tests): EOF - Tests from Fuzzing by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/756\r\n* feat(docs/tests): EOF: Update tracker, add unimplemented tests by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/773\r\n* new(tests): EOF: Validate EOF only opcodes are invalid in legacy by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/768\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.0.8...eip7692@v1.0.9", + "mentions_count": 8 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/172420698", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/172420698/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/172420698/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.4.0", + "id": 172420698, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KRu5a", + "tag_name": "pectra-devnet-3@v1.4.0", + "target_commitish": "main", + "name": "pectra-devnet-3@v1.4.0", + "draft": false, + "prerelease": true, + "created_at": "2024-08-28T17:35:59Z", + "published_at": "2024-08-28T18:35:05Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/188915076", + "id": 188915076, + "node_id": "RA_kwDOIQGLK84LQp2E", + "name": "fixtures_pectra-devnet-3.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 18516050, + "download_count": 117, + "created_at": "2024-08-28T18:29:17Z", + "updated_at": "2024-08-28T18:29:18Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-3%40v1.4.0/fixtures_pectra-devnet-3.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-3@v1.4.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-3@v1.4.0", + "body": "Fixes to `test_set_code_using_invalid_signatures` where the test expected an invalid transaction in some cases where only an invalid authorization list element was expected (but a valid transaction): https://github.com/ethereum/execution-spec-tests/commit/e70d831d30a3e924ef6946b518efb18e10ca684a\r\n### Important Notes\r\n- EIP-2935 slow tests (256+ blocks) have been skipped.\r\n\r\n## Included EIPs\r\n\r\n- [EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/032c46504b10568039ba300969010e77c795f43a/EIPS/eip-2537.md)\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/ethereum/EIPs/blob/45587bd019487b0bd59bec941bc0e2d708811cc8/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/699cb15fc5ab7812d44266013876d9de81d05742/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable exits](https://github.com/ethereum/EIPs/blob/f3620fabfa303fd84ee84522c744ae4a4da65cdf/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/bc91716ef2863c3bcab0d4d8ff013e24bf4999c2/EIPS/eip-7251.md)\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/b27b3f1c1b8252d178c0a7d4bcf6480c8bcb2159/EIPS/eip-7685.md)\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/d87a570a5baedff7b0a71d79de3ff4f14cee0990/EIPS/eip-7702.md)\r\n\r\n## Missing EIPs\r\n- [EIP-7692: EVM Object Format (EOFv1) Meta](https://github.com/ethereum/EIPs/blob/ad9bf2bd83c1018f0a892e03ad3b524cc441257e/EIPS/eip-7692.md)\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/pectra-devnet-3@v1.3.0...pectra-devnet-3@v1.4.0" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/172389706", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/172389706/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/172389706/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.3.0", + "id": 172389706, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KRnVK", + "tag_name": "pectra-devnet-3@v1.3.0", + "target_commitish": "main", + "name": "pectra-devnet-3@v1.3.0", + "draft": false, + "prerelease": true, + "created_at": "2024-08-27T18:27:56Z", + "published_at": "2024-08-28T15:27:28Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/188881070", + "id": 188881070, + "node_id": "RA_kwDOIQGLK84LQhiu", + "name": "fixtures_pectra-devnet-3.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 18509265, + "download_count": 7, + "created_at": "2024-08-28T15:22:25Z", + "updated_at": "2024-08-28T15:22:25Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-3%40v1.3.0/fixtures_pectra-devnet-3.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-3@v1.3.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-3@v1.3.0", + "body": "This is a hotfix release that contains no new tests but fixes an issue during filling where the system account (`0xfffffffffffffffffffffffffffffffffffffffe`) had its nonce increased in blockchain tests.\r\n\r\n### Important Notes\r\n- EIP-2935 slow tests (256+ blocks) have been skipped.\r\n\r\n## Included EIPs\r\n\r\n- [EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/032c46504b10568039ba300969010e77c795f43a/EIPS/eip-2537.md)\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/ethereum/EIPs/blob/45587bd019487b0bd59bec941bc0e2d708811cc8/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/699cb15fc5ab7812d44266013876d9de81d05742/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable exits](https://github.com/ethereum/EIPs/blob/f3620fabfa303fd84ee84522c744ae4a4da65cdf/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/bc91716ef2863c3bcab0d4d8ff013e24bf4999c2/EIPS/eip-7251.md)\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/b27b3f1c1b8252d178c0a7d4bcf6480c8bcb2159/EIPS/eip-7685.md)\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/d87a570a5baedff7b0a71d79de3ff4f14cee0990/EIPS/eip-7702.md)\r\n\r\n## Missing EIPs\r\n- [EIP-7692: EVM Object Format (EOFv1) Meta](https://github.com/ethereum/EIPs/blob/ad9bf2bd83c1018f0a892e03ad3b524cc441257e/EIPS/eip-7692.md)\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.0.8...pectra-devnet-3@v1.3.0" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/172219357", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/172219357/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/172219357/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.2.0", + "id": 172219357, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KQ9vd", + "tag_name": "pectra-devnet-3@v1.2.0", + "target_commitish": "main", + "name": "pectra-devnet-3@v1.2.0", + "draft": false, + "prerelease": true, + "created_at": "2024-08-27T18:27:56Z", + "published_at": "2024-08-27T19:27:24Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/188681921", + "id": 188681921, + "node_id": "RA_kwDOIQGLK84LPw7B", + "name": "fixtures_pectra-devnet-3.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 18529117, + "download_count": 13, + "created_at": "2024-08-27T19:18:48Z", + "updated_at": "2024-08-27T19:18:48Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-3%40v1.2.0/fixtures_pectra-devnet-3.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-3@v1.2.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-3@v1.2.0", + "body": "Third release for Pectra Devnet-3, filled again using EthereumJS transition tool implementation which includes fixes to the state root expected in state tests (thanks again @jochem-brouwer!).\r\n\r\n### Fixes\r\n- In previous release, in the state tests, the system contracts' addresses were touched even though the contracts were not present in the pre-alloc.\r\n\r\n### Important Notes\r\n- EIP-2935 slow tests (256+ blocks) have been skipped.\r\n\r\n## Included EIPs\r\n\r\n- [EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/032c46504b10568039ba300969010e77c795f43a/EIPS/eip-2537.md)\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/ethereum/EIPs/blob/45587bd019487b0bd59bec941bc0e2d708811cc8/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/699cb15fc5ab7812d44266013876d9de81d05742/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable exits](https://github.com/ethereum/EIPs/blob/f3620fabfa303fd84ee84522c744ae4a4da65cdf/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/bc91716ef2863c3bcab0d4d8ff013e24bf4999c2/EIPS/eip-7251.md)\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/b27b3f1c1b8252d178c0a7d4bcf6480c8bcb2159/EIPS/eip-7685.md)\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/d87a570a5baedff7b0a71d79de3ff4f14cee0990/EIPS/eip-7702.md)\r\n\r\n## Missing EIPs\r\n- [EIP-7692: EVM Object Format (EOFv1) Meta](https://github.com/ethereum/EIPs/blob/ad9bf2bd83c1018f0a892e03ad3b524cc441257e/EIPS/eip-7692.md)\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/pectra-devnet-3@v1.1.0...pectra-devnet-3@v1.2.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171954734", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171954734/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/171954734/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.3", + "id": 171954734, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KP9Iu", + "tag_name": "verkle@v0.0.3", + "target_commitish": "main", + "name": "verkle@v0.0.3", + "draft": false, + "prerelease": true, + "created_at": "2024-08-26T13:37:20Z", + "published_at": "2024-08-26T14:29:03Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/188383335", + "id": 188383335, + "node_id": "RA_kwDOIQGLK84LOoBn", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 809677, + "download_count": 82, + "created_at": "2024-08-26T14:00:11Z", + "updated_at": "2024-08-26T14:00:11Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.3/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/188383334", + "id": 188383334, + "node_id": "RA_kwDOIQGLK84LOoBm", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 891973, + "download_count": 87, + "created_at": "2024-08-26T14:00:11Z", + "updated_at": "2024-08-26T14:00:11Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.3/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.3", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.3", + "body": "⚠️ **Note these tests are up to date with the latest devnet-7 spec!**\r\n\r\n**This release is equivalent to [verkle@v0.0.2](https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.2) but filled with the latest geth [`gballet/kaustinen-with-shapella`](https://github.com/gballet/go-ethereum/tree/kaustinen-with-shapella) branch aligned with devnet-7.**\r\n\r\nFrom the [VIC no 23 testing slides](https://hackmd.io/@jsign/verkle-testing#/4), a reasonable order of steps for client teams to start running tests can be found below, starting with the genesis tests from: `fixtures_verkle-genesis.tar.gz`\r\n- Run EIP-6800 tests (~23) for a good first check, `fixtures/verkle/eip6800_genesis_verkle_tree/` within the extracted the fixture genesis tar.\r\n- Run \"backfilled\" tests (~300), all tests excluding`fixtures/verkle/*`.\r\n- Wait for the next release to run additonal tests after framework witness assertions verify the remaining test cases.\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/verkle@v0.0.2...verkle@v0.0.3\r\n\r\n## 🌪️ Fixture Format Changes\r\n\r\nAll fixtures now contain a block witness although currently without the parent state root.\r\n```python\r\nclass Witness(CamelModel):\r\n state_diff: StateDiff\r\n verkle_proof: VerkleProof\r\n```\r\nClient test consumers can now utilize this to compare there computed block witness against the witness contained within the fixtures (computed from geth's t8n).\r\n\r\nFor more information on our witness definition please adhere to [`src/ethereum_test_types/verkle/types.py`](https://github.com/jsign/execution-spec-tests/blob/jsign-verkle-rebased-mainnet/src/ethereum_test_types/verkle/types.py).\r\n\r\nAdditionally the post state is removed. Future fixture releases will contain the post state as a VKT.\r\n\r\n## 🐘 Verkle Genesis Test Fixtures\r\n\r\nContains verkle specific test vectors from https://github.com/ethereum/execution-spec-tests/pull/659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.\r\n\r\nPlease use `fixtures_verkle-genesis.tar.gz`!\r\n\r\n### Generating Genesis Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/df132604b24104bcfcf838bf30495a279dd799f8), fill with the following command:\r\n```\r\nfill --fork Verkle --evm-bin= -n auto -m blockchain_test\r\n```\r\n\r\n## 🔁 Verkle Conversion Test Fixtures - 0 Stride\r\n\r\nContains an improvement to the initial set of transition [tests](https://github.com/ethereum/execution-spec-tests/releases/tag/eip6800%40v0.0.1).\r\n\r\nThese aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that **only blocks after the transition** update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.\r\n\r\nTest cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.\r\n\r\nThe next release will contain conversion tests with some stride enabled to dynamically validate the MPT conversion.\r\n\r\nPlease use `fixtures_verkle-conversion-stride-0.tar.gz`!\r\n\r\n### Generating Conversion Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/commit/df132604b24104bcfcf838bf30495a279dd799f8), fill with the following command:\r\n```\r\nfill --from Shanghai --until EIP6800Transition --evm-bin= -n auto -m blockchain_test\r\n```\r\n\r\n\r\n", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171954734/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 1, + "eyes": 0 + } + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171714751", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171714751/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/171714751/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.1.0", + "id": 171714751, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KPCi_", + "tag_name": "pectra-devnet-3@v1.1.0", + "target_commitish": "main", + "name": "pectra-devnet-3@v1.1.0", + "draft": false, + "prerelease": true, + "created_at": "2024-08-23T16:53:12Z", + "published_at": "2024-08-23T17:49:42Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/187907663", + "id": 187907663, + "node_id": "RA_kwDOIQGLK84LMz5P", + "name": "fixtures_pectra-devnet-3.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 18636284, + "download_count": 8, + "created_at": "2024-08-23T17:44:22Z", + "updated_at": "2024-08-23T17:44:23Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-3%40v1.1.0/fixtures_pectra-devnet-3.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-3@v1.1.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-3@v1.1.0", + "body": "Second release for Pectra Devnet-3, filled again using EthereumJS transition tool implementation which included gas accounting fixes (thanks again @jochem-brouwer!).\r\n\r\n### Fixes\r\n- Added re-authorization gas costs tests, i.e. existing set-code in account receives a new delegation (https://github.com/ethereum/execution-spec-tests/commit/c27e01079951553ade21d5cf2ce705a8917f9865)\r\n- Fixed warm account costs to consider cost to access the delegated-to account (https://github.com/ethereum/execution-spec-tests/commit/59ec505058ef3cc93e3657d2a7453a643ef6e439)\r\n\r\n### Important Notes\r\n- EIP-2935 slow tests (256+ blocks) have been skipped.\r\n\r\n## Included EIPs\r\n\r\n- [EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/032c46504b10568039ba300969010e77c795f43a/EIPS/eip-2537.md)\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/ethereum/EIPs/blob/45587bd019487b0bd59bec941bc0e2d708811cc8/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/699cb15fc5ab7812d44266013876d9de81d05742/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable exits](https://github.com/ethereum/EIPs/blob/f3620fabfa303fd84ee84522c744ae4a4da65cdf/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/bc91716ef2863c3bcab0d4d8ff013e24bf4999c2/EIPS/eip-7251.md)\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/b27b3f1c1b8252d178c0a7d4bcf6480c8bcb2159/EIPS/eip-7685.md)\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/d87a570a5baedff7b0a71d79de3ff4f14cee0990/EIPS/eip-7702.md)\r\n\r\n## Missing EIPs\r\n- [EIP-7692: EVM Object Format (EOFv1) Meta](https://github.com/ethereum/EIPs/blob/ad9bf2bd83c1018f0a892e03ad3b524cc441257e/EIPS/eip-7692.md)\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/pectra-devnet-3@v1.0.0...pectra-devnet-3@v1.1.0", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171714751/reactions", + "total_count": 2, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 2, + "eyes": 0 + }, + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171316015", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171316015/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/171316015/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-3%40v1.0.0", + "id": 171316015, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KNhMv", + "tag_name": "pectra-devnet-3@v1.0.0", + "target_commitish": "main", + "name": "pectra-devnet-3@v1.0.0", + "draft": false, + "prerelease": true, + "created_at": "2024-08-21T16:11:07Z", + "published_at": "2024-08-21T17:01:28Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/187443215", + "id": 187443215, + "node_id": "RA_kwDOIQGLK84LLCgP", + "name": "fixtures_pectra-devnet-3.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 16580317, + "download_count": 10, + "created_at": "2024-08-21T16:50:53Z", + "updated_at": "2024-08-21T16:50:53Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/pectra-devnet-3%40v1.0.0/fixtures_pectra-devnet-3.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/pectra-devnet-3@v1.0.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/pectra-devnet-3@v1.0.0", + "body": "First release for Pectra Devnet-3, filled using EthereumJS transition tool implementation (thanks @jochem-brouwer!).\r\n\r\n\r\n### Important Notes\r\n- EIP-2537 tests have been skipped for this release but will be available in a later release.\r\n- EIP-2935 slow tests (256+ blocks) have been skipped too.\r\n\r\n## Included EIPs\r\n\r\n- ~~[EIP-2537: Precompile for BLS12-381 curve operations](https://github.com/ethereum/EIPs/blob/032c46504b10568039ba300969010e77c795f43a/EIPS/eip-2537.md)~~ TESTS SKIPPED ONLY FOR THIS RELEASE, EIP STILL ENABLED IN DEVNET-3\r\n- [EIP-2935: Save historical block hashes in state](https://github.com/ethereum/EIPs/blob/45587bd019487b0bd59bec941bc0e2d708811cc8/EIPS/eip-2935.md)\r\n- [EIP-6110: Supply validator deposits on chain](https://github.com/ethereum/EIPs/blob/699cb15fc5ab7812d44266013876d9de81d05742/EIPS/eip-6110.md)\r\n- [EIP-7002: Execution layer triggerable exits](https://github.com/ethereum/EIPs/blob/f3620fabfa303fd84ee84522c744ae4a4da65cdf/EIPS/eip-7002.md)\r\n- [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://github.com/ethereum/EIPs/blob/bc91716ef2863c3bcab0d4d8ff013e24bf4999c2/EIPS/eip-7251.md)\r\n- [EIP-7685: General purpose execution layer requests](https://github.com/ethereum/EIPs/blob/b27b3f1c1b8252d178c0a7d4bcf6480c8bcb2159/EIPS/eip-7685.md)\r\n- [EIP-7702: Set EOA account code for one transaction](https://github.com/ethereum/EIPs/blob/d87a570a5baedff7b0a71d79de3ff4f14cee0990/EIPS/eip-7702.md)\r\n\r\n## Missing EIPs\r\n- [EIP-7692: EVM Object Format (EOFv1) Meta](https://github.com/ethereum/EIPs/blob/ad9bf2bd83c1018f0a892e03ad3b524cc441257e/EIPS/eip-7692.md)\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/v3.0.0...pectra-devnet-3@v1.0.0", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/171316015/reactions", + "total_count": 4, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 4, + "eyes": 0 + }, + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/170379891", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/170379891/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/170379891/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v1.0.8", + "id": 170379891, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KJ8pz", + "tag_name": "eip7692@v1.0.8", + "target_commitish": "main", + "name": "eip7692@v1.0.8", + "draft": false, + "prerelease": true, + "created_at": "2024-08-13T23:41:40Z", + "published_at": "2024-08-15T16:17:27Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/186158058", + "id": 186158058, + "node_id": "RA_kwDOIQGLK84LGIvq", + "name": "fixtures_eip7692-prague.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 11910702, + "download_count": 10, + "created_at": "2024-08-15T15:00:11Z", + "updated_at": "2024-08-15T15:00:12Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.0.8/fixtures_eip7692-prague.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/186158059", + "id": 186158059, + "node_id": "RA_kwDOIQGLK84LGIvr", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2495738, + "download_count": 220, + "created_at": "2024-08-15T15:00:11Z", + "updated_at": "2024-08-15T15:00:11Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.0.8/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v1.0.8", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v1.0.8", + "body": "## What's Changed\r\n* new(tests): EOF - EIP-3540: Expand section size testing by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/705\r\n* new(tests) Deep and wide EOF subcontainers by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/718\r\n* fix(docs): Add more cases to EOF tracker by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/723\r\n* new(tests): EOF - EIP-7069: Add tests by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/722\r\n* fix(fixtures): Fix index generation for EOF tests by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/728\r\n* fix(docs): Add some execution cases to EOF test tracker by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/727\r\n* feat(fw,forks,tests): Add EVM code type marker by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/610\r\n* new(tests): EOF - EIP-7069: Add tests, part 2. by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/730\r\n* feat(fw): add optional `Container.expected_bytecode` by @chfast in https://github.com/ethereum/execution-spec-tests/pull/737\r\n* new(tests): migrate \"valid\" EOFCREATE validation by @chfast in https://github.com/ethereum/execution-spec-tests/pull/738\r\n* fix(docs): Add stack validation cases to EOF tracker by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/735\r\n* new(tests): EOF - EIP-3540: migrate tests for truncated sections by @chfast in https://github.com/ethereum/execution-spec-tests/pull/740\r\n* feat(plugins,forks,github): Allow dual-feature (Prague+Cancun) build on EOF releases by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/743\r\n* fix(docs): Add execution cases from evmone-generated tests to EOF tracker by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/742\r\n\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/v3.0.0...eip7692@v1.0.8", + "mentions_count": 5 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/169640052", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/169640052/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/169640052/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.2", + "id": 169640052, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KHIB0", + "tag_name": "verkle@v0.0.2", + "target_commitish": "main", + "name": "verkle@v0.0.2", + "draft": false, + "prerelease": true, + "created_at": "2024-08-10T18:46:36Z", + "published_at": "2024-08-10T19:21:58Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/185158406", + "id": 185158406, + "node_id": "RA_kwDOIQGLK84LCUsG", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 1153328, + "download_count": 2, + "created_at": "2024-08-10T19:08:40Z", + "updated_at": "2024-08-10T19:08:40Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.2/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/185158405", + "id": 185158405, + "node_id": "RA_kwDOIQGLK84LCUsF", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 941999, + "download_count": 1, + "created_at": "2024-08-10T19:08:40Z", + "updated_at": "2024-08-10T19:08:40Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.2/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.2", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.2", + "body": "\r\n⚠️ **Note these tests are up to date with the devnet-6 spec!**\r\n\r\n**This release is equivalent to [verkle@v0.0.1](https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.1) but with the addition of Shanghai genesis tests within the conversion fixture set.**\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/verkle@v0.0.1...verkle@v0.0.2\r\n\r\n## 🌪️ Fixture Format Changes\r\n\r\nAll fixtures now contain a block witness although currently without the parent state root.\r\n```python\r\nclass Witness(CamelModel):\r\n state_diff: StateDiff\r\n verkle_proof: VerkleProof\r\n```\r\nClient test consumers can now utilize this to compare there computed block witness against the witness present within the fixtures (computed from geth's t8n).\r\n\r\nFor more information on our witness definition please adhere to [`src/ethereum_test_types/verkle/types.py`](https://github.com/jsign/execution-spec-tests/blob/jsign-verkle-rebased-mainnet/src/ethereum_test_types/verkle/types.py).\r\n\r\nAdditionally the post state is removed. Future fixture releases will contain the post state as a VKT.\r\n\r\n## 🐘 Verkle Genesis Test Fixtures\r\n\r\nContains verkle specific test vectors from https://github.com/ethereum/execution-spec-tests/pull/659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.\r\n\r\nPlease use `fixtures_verkle-genesis.tar.gz`!\r\n\r\n### Generating Genesis Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/pull/466/commits/47addd7be52f2e07743aa2f4710236f463c5afdf), fill with the following command:\r\n```\r\nfill --fork Verkle --evm-bin=/evm -n auto -m blockchain_test\r\n```\r\n\r\n## 🔁 Verkle Conversion Test Fixtures - 0 Stride\r\n\r\nContains an improvement to the initial set of transition [tests](https://github.com/ethereum/execution-spec-tests/releases/tag/eip6800%40v0.0.1).\r\n\r\nThese aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that **only blocks after the transition** update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.\r\n\r\nTest cases additionally include Shanghai genesis tests to assert that the fork before Verkle is not broken.\r\n\r\nThe next release will contain conversion tests with some stride enabled to dynamically validate the MPT conversion.\r\n\r\nPlease use `fixtures_verkle-conversion-stride-0.tar.gz`!\r\n\r\n### Generating Conversion Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/pull/466/commits/47addd7be52f2e07743aa2f4710236f463c5afdf), fill with the following command:\r\n```\r\nfill --from Shanghai --until EIP6800Transition --evm-bin=/evm -n auto -m blockchain_test\r\n```\r\n", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/169640052/reactions", + "total_count": 1, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 1, + "eyes": 0 + } + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/169420898", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/169420898/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/169420898/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/verkle%40v0.0.1", + "id": 169420898, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84KGShi", + "tag_name": "verkle@v0.0.1", + "target_commitish": "main", + "name": "verkle@v0.0.1", + "draft": false, + "prerelease": true, + "created_at": "2024-08-08T22:23:18Z", + "published_at": "2024-08-08T23:32:32Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/184817013", + "id": 184817013, + "node_id": "RA_kwDOIQGLK84LBBV1", + "name": "fixtures_verkle-conversion-stride-0.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 908777, + "download_count": 2, + "created_at": "2024-08-08T22:45:40Z", + "updated_at": "2024-08-08T22:45:40Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.1/fixtures_verkle-conversion-stride-0.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/184817014", + "id": 184817014, + "node_id": "RA_kwDOIQGLK84LBBV2", + "name": "fixtures_verkle-genesis.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 941979, + "download_count": 2, + "created_at": "2024-08-08T22:45:40Z", + "updated_at": "2024-08-08T22:45:41Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/verkle%40v0.0.1/fixtures_verkle-genesis.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/verkle@v0.0.1", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/verkle@v0.0.1", + "body": "⚠️ **Note these tests are up to date with the devnet-6 spec!**\r\n\r\n## 🌪️ Fixture Format Changes\r\n\r\nAll fixtures now contain a block witness although currently without the parent state root.\r\n```python\r\nclass Witness(CamelModel):\r\n state_diff: StateDiff\r\n verkle_proof: VerkleProof\r\n```\r\nClient test consumers can now utilize this to compare there computed block witness against the witness present within the fixtures (computed from geth's t8n).\r\n\r\nFor more information on our witness definition please adhere to [`src/ethereum_test_types/verkle/types.py`](https://github.com/jsign/execution-spec-tests/blob/jsign-verkle-rebased-mainnet/src/ethereum_test_types/verkle/types.py).\r\n\r\nAdditionally the post state is removed. Future fixture releases will contain the post state as a VKT.\r\n\r\n## 🐘 Verkle Genesis Test Fixtures\r\n\r\nContains verkle specific test vectors from https://github.com/ethereum/execution-spec-tests/pull/659 including all existing EEST test cases filled for a verkle configured fork. Note these tests assume the MPT to VKT conversion has completed where we start at the Verkle fork.\r\n\r\nPlease use `fixtures_verkle-genesis.tar.gz`!\r\n\r\n### Generating Genesis Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/pull/466/commits/47addd7be52f2e07743aa2f4710236f463c5afdf), fill with the following command:\r\n```\r\nfill --fork Verkle --evm-bin=/evm -n auto -m blockchain_test\r\n```\r\n\r\n## 🔁 Verkle Conversion Test Fixtures - 0 Stride\r\n\r\nContains an improvement to the initial set of transition [tests](https://github.com/ethereum/execution-spec-tests/releases/tag/eip6800%40v0.0.1).\r\n\r\nThese aim to verify a basic fork transition from Shanghai to Verkle. 0 stride denotes that the initial MPT remains frozen. Thus the MPT is not being converted to a VKT within these tests. The intention is to check that **only blocks after the transition** update the VKT, isolating VKT fork transition issues without touching MPT stride conversion logic.\r\n\r\nThe next release will contain conversion tests with some stride enabled to dynamically validate the MPT conversion.\r\n\r\nPlease use `fixtures_verkle-conversion-stride-0.tar.gz`!\r\n\r\n### Generating Conversion Fixtures\r\n\r\nUsing the geth evm binary from this [commit](https://github.com/gballet/go-ethereum/pull/466/commits/47addd7be52f2e07743aa2f4710236f463c5afdf), fill with the following command:\r\n```\r\nfill --fork EIP6800Transition --evm-bin=/evm -n auto -m blockchain_test\r\n```\r\n" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/166538302", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/166538302/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/166538302/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/v3.0.0", + "id": 166538302, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84J7Sw-", + "tag_name": "v3.0.0", + "target_commitish": "main", + "name": " Petřín (v3.0.0)", + "draft": false, + "prerelease": false, + "created_at": "2024-07-23T18:34:24Z", + "published_at": "2024-07-23T23:43:55Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/183049828", + "id": 183049828, + "node_id": "RA_kwDOIQGLK84K6R5k", + "name": "fixtures_develop.tar.gz", + "label": null, + "uploader": { + "login": "spencer-tb", + "id": 60348173, + "node_id": "MDQ6VXNlcjYwMzQ4MTcz", + "avatar_url": "https://avatars.githubusercontent.com/u/60348173?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/spencer-tb", + "html_url": "https://github.com/spencer-tb", + "followers_url": "https://api.github.com/users/spencer-tb/followers", + "following_url": "https://api.github.com/users/spencer-tb/following{/other_user}", + "gists_url": "https://api.github.com/users/spencer-tb/gists{/gist_id}", + "starred_url": "https://api.github.com/users/spencer-tb/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/spencer-tb/subscriptions", + "organizations_url": "https://api.github.com/users/spencer-tb/orgs", + "repos_url": "https://api.github.com/users/spencer-tb/repos", + "events_url": "https://api.github.com/users/spencer-tb/events{/privacy}", + "received_events_url": "https://api.github.com/users/spencer-tb/received_events", + "type": "User", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/x-gzip", + "state": "uploaded", + "size": 21746751, + "download_count": 3396, + "created_at": "2024-07-31T20:47:41Z", + "updated_at": "2024-07-31T20:48:01Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/v3.0.0/fixtures_develop.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/181430588", + "id": 181430588, + "node_id": "RA_kwDOIQGLK84K0Gk8", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2075015, + "download_count": 8, + "created_at": "2024-07-23T23:38:17Z", + "updated_at": "2024-07-23T23:38:17Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/v3.0.0/fixtures_eip7692.tar.gz" + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/181430589", + "id": 181430589, + "node_id": "RA_kwDOIQGLK84K0Gk9", + "name": "fixtures_stable.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2847936, + "download_count": 24258, + "created_at": "2024-07-23T23:38:17Z", + "updated_at": "2024-07-23T23:38:17Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/v3.0.0/fixtures_stable.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/v3.0.0", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/v3.0.0", + "body": "EEST's Petřín release adds many improvements and additions. Please read the breaking changes!\r\n\r\nA noteable key package `ethereum_test_tools` is now fragmented into several fine grained packages that are suitable for use within other Python based repositories.\r\n\r\nThe consume simulator pytest plugin now contains 4 fixture runners:\r\n- `consume direct`: provides a pytest wrapper to execute multiple fixtures against client evm `statetest/blocktest` runners.\r\n- `consume rlp`: using hive as a back-end, executes fixture block rlps against fully instantiated clients, verifying the last block hash is expected.\r\n- `consume engine`: with a hive back-end, sends `engine_newPayloadVX` calls against fully instantiated clients validating each call response.\r\n- `consume all`: provides a wrapper surrounding all commands to execute consume direct, rlp and engine at once for the specified fixtures.\r\n\r\nWith a refined consume suite, testers can now `fill` and `consume` the generated fixtures extremely quickly to validate both the generated fixture and client implementation. This removes the cumbersome requirement of updating hive when verifying new fixtures.\r\n\r\nTo align the [execution-apis](https://github.com/ethereum/execution-apis/) engine specification with the `consume engine` plugin, the `blockchain_test_hive` fixture is renamed to `blockchain_test_engine` to align more with the sentiment of the spec. Similarly, the fixture format of the latter is changed to match the engine new payload `\"params\"` field defined in the spec.\r\n\r\n---\r\n\r\n### 💥 Breaking Changes\r\n\r\n- Cancun is now the latest deployed fork, and the development fork is now Prague ([#489](https://github.com/ethereum/execution-spec-tests/pull/489)).\r\n- Stable fixtures artifact `fixtures.tar.gz` has been renamed to `fixtures_stable.tar.gz` ([#573](https://github.com/ethereum/execution-spec-tests/pull/573))\r\n- The \"Blockchain Test Hive\" fixture format has been renamed to \"Blockchain Test Engine\" and updated to more closely resemble the `engine_newPayload` format in the `execution-apis` specification (https://github.com/ethereum/execution-apis/blob/main/src/engine/prague.md#request) and now contains a single `\"params\"` field instead of multiple fields for each parameter ([#687](https://github.com/ethereum/execution-spec-tests/pull/687)).\r\n- Output folder for fixtures has been renamed from \"blockchain_tests_hive\" to \"blockchain_tests_engine\" ([#687](https://github.com/ethereum/execution-spec-tests/pull/687)).\r\n\r\n### 🧪 Test Cases\r\n\r\n- ✨ Add tests for eof container's section bytes position smart fuzzing ([#592](https://github.com/ethereum/execution-spec-tests/pull/592)).\r\n- ✨ Add `test_create_selfdestruct_same_tx_increased_nonce` which tests self-destructing a contract with a nonce > 1 ([#478](https://github.com/ethereum/execution-spec-tests/pull/478)).\r\n- ✨ Add `test_double_kill` and `test_recreate` which test resurrection of accounts killed with `SELFDESTRUCT` ([#488](https://github.com/ethereum/execution-spec-tests/pull/488)).\r\n- ✨ Add eof example valid invalid tests from ori, fetch EOF Container implementation ([#535](https://github.com/ethereum/execution-spec-tests/pull/535)).\r\n- ✨ Add tests for [EIP-2537: Precompile for BLS12-381 curve operations](https://eips.ethereum.org/EIPS/eip-2537) ([#499](https://github.com/ethereum/execution-spec-tests/pull/499)).\r\n- ✨ [EIP-663](https://eips.ethereum.org/EIPS/eip-663): Add `test_dupn.py` and `test_swapn.py` ([#502](https://github.com/ethereum/execution-spec-tests/pull/502)).\r\n- ✨ Add tests for [EIP-6110: Supply validator deposits on chain](https://eips.ethereum.org/EIPS/eip-6110) ([#530](https://github.com/ethereum/execution-spec-tests/pull/530)).\r\n- ✨ Add tests for [EIP-7002: Execution layer triggerable withdrawals](https://eips.ethereum.org/EIPS/eip-7002) ([#530](https://github.com/ethereum/execution-spec-tests/pull/530)).\r\n- ✨ Add tests for [EIP-7685: General purpose execution layer requests](https://eips.ethereum.org/EIPS/eip-7685) ([#530](https://github.com/ethereum/execution-spec-tests/pull/530)).\r\n- ✨ Add tests for [EIP-2935: Serve historical block hashes from state](https://eips.ethereum.org/EIPS/eip-2935) ([#564](https://github.com/ethereum/execution-spec-tests/pull/564), [#585](https://github.com/ethereum/execution-spec-tests/pull/585)).\r\n- ✨ Add tests for [EIP-4200: EOF - Static relative jumps](https://eips.ethereum.org/EIPS/eip-4200) ([#581](https://github.com/ethereum/execution-spec-tests/pull/581), [#666](https://github.com/ethereum/execution-spec-tests/pull/666)).\r\n- ✨ Add tests for [EIP-7069: EOF - Revamped CALL instructions](https://eips.ethereum.org/EIPS/eip-7069) ([#595](https://github.com/ethereum/execution-spec-tests/pull/595)).\r\n- 🐞 Fix typos in self-destruct collision test from erroneous pytest parametrization ([#608](https://github.com/ethereum/execution-spec-tests/pull/608)).\r\n- ✨ Add tests for [EIP-3540: EOF - EVM Object Format v1](https://eips.ethereum.org/EIPS/eip-3540) ([#634](https://github.com/ethereum/execution-spec-tests/pull/634), [#668](https://github.com/ethereum/execution-spec-tests/pull/668)).\r\n- 🔀 Update EIP-7002 tests to match spec changes in [ethereum/execution-apis#549](https://github.com/ethereum/execution-apis/pull/549) ([#600](https://github.com/ethereum/execution-spec-tests/pull/600))\r\n- ✨ Convert a few eip1153 tests from ethereum/tests repo into .py ([#440](https://github.com/ethereum/execution-spec-tests/pull/440)).\r\n- ✨ Add tests for [EIP-7480: EOF - Data section access instructions](https://eips.ethereum.org/EIPS/eip-7480) ([#518](https://github.com/ethereum/execution-spec-tests/pull/518), [#664](https://github.com/ethereum/execution-spec-tests/pull/664)).\r\n- ✨ Add tests for subcontainer kind validation from [EIP-7620: EOF Contract Creation](https://eips.ethereum.org/EIPS/eip-7620) for the cases with deeply nested containers and non-first code sections ([#676](https://github.com/ethereum/execution-spec-tests/pull/676)).\r\n- ✨ Add tests for runtime stack overflow at CALLF instruction from [EIP-4750: EOF - Functions](https://eips.ethereum.org/EIPS/eip-4750) ([#678](https://github.com/ethereum/execution-spec-tests/pull/678)).\r\n- ✨ Add tests for runtime stack overflow at JUMPF instruction from [EIP-6206: EOF - JUMPF and non-returning functions](https://eips.ethereum.org/EIPS/eip-6206) ([#690](https://github.com/ethereum/execution-spec-tests/pull/690)).\r\n- ✨ Add tests for [EIP-7251: Increase the MAX_EFFECTIVE_BALANCE](https://eips.ethereum.org/EIPS/eip-7251) ([#642](https://github.com/ethereum/execution-spec-tests/pull/642))\r\n- ✨ Add tests for Devnet-1 version of [EIP-7702: Set EOA account code](https://eips.ethereum.org/EIPS/eip-7702) ([#621](https://github.com/ethereum/execution-spec-tests/pull/621))\r\n\r\n### 🛠️ Framework\r\n\r\n- 🐞 Fix incorrect `!=` operator for `FixedSizeBytes` ([#477](https://github.com/ethereum/execution-spec-tests/pull/477)).\r\n- ✨ Add Macro enum that represents byte sequence of Op instructions ([#457](https://github.com/ethereum/execution-spec-tests/pull/457))\r\n- ✨ Number of parameters used to call opcodes (to generate bytecode) is now checked ([#492](https://github.com/ethereum/execution-spec-tests/pull/492)).\r\n- ✨ Libraries have been refactored to use `pydantic` for type checking in most test types ([#486](https://github.com/ethereum/execution-spec-tests/pull/486), [#501](https://github.com/ethereum/execution-spec-tests/pull/501), [#508](https://github.com/ethereum/execution-spec-tests/pull/508)).\r\n- ✨ Opcodes are now subscriptable and it's used to define the data portion of the opcode: `Op.PUSH1(1) == Op.PUSH1[1] == b\"\\x60\\x01\"` ([#513](https://github.com/ethereum/execution-spec-tests/pull/513))\r\n- ✨ Added EOF fixture format ([#512](https://github.com/ethereum/execution-spec-tests/pull/512)).\r\n- ✨ Verify filled EOF fixtures using `evmone-eofparse` during `fill` execution ([#519](https://github.com/ethereum/execution-spec-tests/pull/519)).\r\n- ✨ Added `--traces` support when running with Hyperledger Besu ([#511](https://github.com/ethereum/execution-spec-tests/pull/511)).\r\n- ✨ Use pytest's \"short\" traceback style (`--tb=short`) for failure summaries in the test report for more compact terminal output ([#542](https://github.com/ethereum/execution-spec-tests/pull/542)).\r\n- ✨ The `fill` command now generates HTML test reports with links to the JSON fixtures and debug information ([#537](https://github.com/ethereum/execution-spec-tests/pull/537)).\r\n- ✨ Add an Ethereum RPC client class for use with consume commands ([#556](https://github.com/ethereum/execution-spec-tests/pull/556)).\r\n- ✨ Add a \"slow\" pytest marker, in order to be able to limit the filled tests until release ([#562](https://github.com/ethereum/execution-spec-tests/pull/562)).\r\n- ✨ Add a CLI tool that generates blockchain tests as Python from a transaction hash ([#470](https://github.com/ethereum/execution-spec-tests/pull/470), [#576](https://github.com/ethereum/execution-spec-tests/pull/576)).\r\n- ✨ Add more Transaction and Block exceptions from existing ethereum/tests repo ([#572](https://github.com/ethereum/execution-spec-tests/pull/572)).\r\n- ✨ Add \"description\" and \"url\" fields containing test case documentation and a source code permalink to fixtures during `fill` and use them in `consume`-generated Hive test reports ([#579](https://github.com/ethereum/execution-spec-tests/pull/579)).\r\n- ✨ Add git workflow evmone coverage script for any new lines mentioned in converted_ethereum_tests.txt ([#503](https://github.com/ethereum/execution-spec-tests/pull/503)).\r\n- ✨ Add a new covariant marker `with_all_contract_creating_tx_types` that allows automatic parametrization of a test with all contract-creating transaction types at the current executing fork ([#602](https://github.com/ethereum/execution-spec-tests/pull/602)).\r\n- ✨ Tests are now encouraged to declare a `pre: Alloc` parameter to get the pre-allocation object for the test, and use `pre.deploy_contract` and `pre.fund_eoa` to deploy contracts and fund accounts respectively, instead of declaring the `pre` as a dictionary or modifying its contents directly (see the [state test tutorial](https://ethereum.github.io/execution-spec-tests/main/tutorials/state_transition/) for an updated example) ([#584](https://github.com/ethereum/execution-spec-tests/pull/584)).\r\n- ✨ Enable loading of [ethereum/tests/BlockchainTests](https://github.com/ethereum/tests/tree/develop/BlockchainTests) ([#596](https://github.com/ethereum/execution-spec-tests/pull/596)).\r\n- 🔀 Refactor `gentest` to use `ethereum_test_tools.rpc.rpc` by adding to `get_transaction_by_hash`, `debug_trace_call` to `EthRPC` ([#568](https://github.com/ethereum/execution-spec-tests/pull/568)).\r\n- ✨ Write a properties file to the output directory and enable direct generation of a fixture tarball from `fill` via `--output=fixtures.tgz`([#627](https://github.com/ethereum/execution-spec-tests/pull/627)).\r\n- 🔀 `ethereum_test_tools` library has been split into multiple libraries ([#645](https://github.com/ethereum/execution-spec-tests/pull/645)).\r\n- ✨ Add the consume engine simulator and refactor the consume simulator suite. ([#691](https://github.com/ethereum/execution-spec-tests/pull/691)).\r\n\r\n### 📋 Misc\r\n\r\n- 🐞 Fix CI by using Golang 1.21 in Github Actions to build geth ([#484](https://github.com/ethereum/execution-spec-tests/pull/484)).\r\n- 💥 \"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)).\r\n- ✨ Port entry point scripts to use [click](https://click.palletsprojects.com) and add tests ([#483](https://github.com/ethereum/execution-spec-tests/pull/483)).\r\n- 💥 As part of the pydantic conversion, the fixtures have the following (possibly breaking) changes ([#486](https://github.com/ethereum/execution-spec-tests/pull/486)):\r\n - State test field `transaction` now uses the proper zero-padded hex number format for fields `maxPriorityFeePerGas`, `maxFeePerGas`, and `maxFeePerBlobGas`\r\n - Fixtures' hashes (in the `_info` field) are now calculated by removing the \"_info\" field entirely instead of it being set to an empty dict.\r\n- 🐞 Relax minor and patch dependency requirements to avoid conflicting package dependencies ([#510](https://github.com/ethereum/execution-spec-tests/pull/510)).\r\n- 🔀 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)).\r\n- ✨ Releases now contain a `fixtures_eip7692.tar.gz` which contains all EOF fixtures ([#573](https://github.com/ethereum/execution-spec-tests/pull/573)).\r\n- ✨ Use `solc-select` for tox when running locally and within CI ([#604](https://github.com/ethereum/execution-spec-tests/pull/604)).\r\n\r\n\r\n## New Contributors\r\n* @raxhvl made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/482\r\n* @yperbasis made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/488\r\n* @redistay made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/493\r\n* @hanghuge made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/495\r\n* @gumb0 made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/559\r\n* @artemd24 made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/568\r\n* @pdobacz made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/614\r\n* @raymondnguyen8 made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/632\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/v2.1.1...v3.0.0", + "reactions": { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/166538302/reactions", + "total_count": 2, + "+1": 0, + "-1": 0, + "laugh": 0, + "hooray": 0, + "confused": 0, + "heart": 0, + "rocket": 2, + "eyes": 0 + }, + "mentions_count": 8 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/166305534", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/166305534/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/166305534/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v1.0.7", + "id": 166305534, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84J6Z7-", + "tag_name": "eip7692@v1.0.7", + "target_commitish": "main", + "name": "eip7692@v1.0.7", + "draft": false, + "prerelease": true, + "created_at": "2024-07-19T21:16:06Z", + "published_at": "2024-07-19T21:33:40Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/180664153", + "id": 180664153, + "node_id": "RA_kwDOIQGLK84KxLdZ", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2075714, + "download_count": 140, + "created_at": "2024-07-19T21:23:37Z", + "updated_at": "2024-07-19T21:23:38Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.0.7/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v1.0.7", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v1.0.7", + "body": "## What's Changed\r\n* new(tests): EOF - EIP-6206: Runtime stack overflow at JUMPF by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/690\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.0.6...eip7692@v1.0.7", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/166305622", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/166305622/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/166305622/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692-prague%40v1.0.7", + "id": 166305622, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84J6Z9W", + "tag_name": "eip7692-prague@v1.0.7", + "target_commitish": "main", + "name": "eip7692-prague@v1.0.7", + "draft": false, + "prerelease": true, + "created_at": "2024-07-19T21:16:26Z", + "published_at": "2024-07-19T21:34:05Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/180664380", + "id": 180664380, + "node_id": "RA_kwDOIQGLK84KxLg8", + "name": "fixtures_eip7692-prague.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 7797035, + "download_count": 6, + "created_at": "2024-07-19T21:24:33Z", + "updated_at": "2024-07-19T21:24:33Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692-prague%40v1.0.7/fixtures_eip7692-prague.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692-prague@v1.0.7", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692-prague@v1.0.7", + "body": "## What's Changed\r\n* new(tests): EOF - EIP-6206: Runtime stack overflow at JUMPF by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/690\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.0.6...eip7692-prague@v1.0.7", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/165899819", + "assets_url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/165899819/assets", + "upload_url": "https://uploads.github.com/repos/ethereum/execution-spec-tests/releases/165899819/assets{?name,label}", + "html_url": "https://github.com/ethereum/execution-spec-tests/releases/tag/eip7692%40v1.0.6", + "id": 165899819, + "author": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "node_id": "RE_kwDOIQGLK84J424r", + "tag_name": "eip7692@v1.0.6", + "target_commitish": "main", + "name": "eip7692@v1.0.6", + "draft": false, + "prerelease": true, + "created_at": "2024-07-17T17:31:27Z", + "published_at": "2024-07-17T18:17:33Z", + "assets": [ + { + "url": "https://api.github.com/repos/ethereum/execution-spec-tests/releases/assets/180177698", + "id": 180177698, + "node_id": "RA_kwDOIQGLK84KvUsi", + "name": "fixtures_eip7692.tar.gz", + "label": "", + "uploader": { + "login": "github-actions[bot]", + "id": 41898282, + "node_id": "MDM6Qm90NDE4OTgyODI=", + "avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/github-actions%5Bbot%5D", + "html_url": "https://github.com/apps/github-actions", + "followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers", + "following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}", + "gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}", + "starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions", + "organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs", + "repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos", + "events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}", + "received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events", + "type": "Bot", + "user_view_type": "public", + "site_admin": false + }, + "content_type": "application/gzip", + "state": "uploaded", + "size": 2057949, + "download_count": 14, + "created_at": "2024-07-17T17:39:35Z", + "updated_at": "2024-07-17T17:39:35Z", + "browser_download_url": "https://github.com/ethereum/execution-spec-tests/releases/download/eip7692%40v1.0.6/fixtures_eip7692.tar.gz" + } + ], + "tarball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/tarball/eip7692@v1.0.6", + "zipball_url": "https://api.github.com/repos/ethereum/execution-spec-tests/zipball/eip7692@v1.0.6", + "body": "## What's Changed\r\n* fix(tests): EOF - EIP-4200: Organize code_validation_jump.py tests by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/666\r\n* fix(tests): EOF - EIP-3540: EXTCODECOPY a hard-coded size for EOF target by @gurukamath in https://github.com/ethereum/execution-spec-tests/pull/667\r\n* new(tests): EOF - EIP-7480: Add tests for DATACOPY memory expansion by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/664\r\n* feat(fw): support invalid containers in EOFStateTest by @chfast in https://github.com/ethereum/execution-spec-tests/pull/665\r\n* fix(tests): EOF - EIP-3540: Organize code_validation.py tests by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/668\r\n* new(tests): EOF - EIP-7620: Add more tests for validating EOF subcontainer kinds by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/676\r\n* new(tests): EOF - EIP-7069: RETURNDATACOPY mem expansion and copy OOG by @pdobacz in https://github.com/ethereum/execution-spec-tests/pull/671\r\n* fix(cli): `RJUMPV` in `evm_bytes_to_python` by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/683\r\n* refactor(fw): Refactor `ethereum_test_tools` into separate libraries by @marioevz in https://github.com/ethereum/execution-spec-tests/pull/645\r\n* new(tests) EXT*CALL input data validation by @shemnon in https://github.com/ethereum/execution-spec-tests/pull/685\r\n* new(tests): EOF - EIP-4750: Runtime stack overflow at CALLF by @gumb0 in https://github.com/ethereum/execution-spec-tests/pull/678\r\n\r\n## New Contributors\r\n* @raymondnguyen8 made their first contribution in https://github.com/ethereum/execution-spec-tests/pull/632\r\n\r\n**Full Changelog**: https://github.com/ethereum/execution-spec-tests/compare/eip7692@v1.0.5...eip7692@v1.0.6", + "mentions_count": 7 + } +] diff --git a/src/pytest_plugins/consume/tests/test_releases.py b/src/pytest_plugins/consume/tests/test_releases.py new file mode 100644 index 0000000000..5f53d820fc --- /dev/null +++ b/src/pytest_plugins/consume/tests/test_releases.py @@ -0,0 +1,59 @@ +"""Test release parsing given the github repository release JSON data.""" + +from os.path import realpath +from pathlib import Path +from typing import List + +import pytest + +from ..releases import ( + ReleaseInformation, + get_release_url_from_release_information, + parse_release_information_from_file, +) + +CURRENT_FILE = Path(realpath(__file__)) +CURRENT_FOLDER = CURRENT_FILE.parent + + +@pytest.fixture(scope="session") +def release_information() -> List[ReleaseInformation]: + """Return the release information from a file.""" + return parse_release_information_from_file(CURRENT_FOLDER / "release_information.json") + + +@pytest.mark.parametrize( + "release_name,expected_release_download_url", + [ + ( + "pectra-devnet-5", + "pectra-devnet-5%40v1.0.0/fixtures_pectra-devnet-5.tar.gz", + ), + ( + "pectra-devnet-4@v1.0.0", + "pectra-devnet-4%40v1.0.0/fixtures_pectra-devnet-4.tar.gz", + ), + ( + "stable", + "v3.0.0/fixtures_stable.tar.gz", + ), + ( + "develop", + "v3.0.0/fixtures_develop.tar.gz", + ), + ( + "eip7692-prague", + "eip7692%40v1.1.1/fixtures_eip7692-prague.tar.gz", + ), + ], +) +def test_release_parsing( + release_name: str, + expected_release_download_url: str, + release_information: List[ReleaseInformation], +): + """Test release parsing.""" + assert ( + "https://github.com/ethereum/execution-spec-tests/releases/download/" + + expected_release_download_url + ) == get_release_url_from_release_information(release_name, release_information) diff --git a/src/pytest_plugins/pytest_hive/hive_info.py b/src/pytest_plugins/pytest_hive/hive_info.py new file mode 100644 index 0000000000..e3f34fa0ae --- /dev/null +++ b/src/pytest_plugins/pytest_hive/hive_info.py @@ -0,0 +1,25 @@ +"""Hive instance information structures.""" + +from typing import List + +from pydantic import BaseModel, Field + +from ethereum_test_base_types import CamelModel + + +class ClientInfo(BaseModel): + """Client information.""" + + client: str + nametag: str | None = None + dockerfile: str | None = None + build_args: dict[str, str] | None = None + + +class HiveInfo(CamelModel): + """Hive instance information.""" + + command: List[str] + client_file: List[ClientInfo] = Field(default_factory=list) + commit: str + date: str diff --git a/src/pytest_plugins/pytest_hive/pytest_hive.py b/src/pytest_plugins/pytest_hive/pytest_hive.py index 3f2c68b80c..d3cc642ac0 100644 --- a/src/pytest_plugins/pytest_hive/pytest_hive.py +++ b/src/pytest_plugins/pytest_hive/pytest_hive.py @@ -11,8 +11,10 @@ import json import os +import warnings from dataclasses import asdict from pathlib import Path +from typing import List import pytest from filelock import FileLock @@ -20,6 +22,8 @@ from hive.simulation import Simulation from hive.testing import HiveTest, HiveTestResult, HiveTestSuite +from .hive_info import ClientInfo, HiveInfo + def pytest_configure(config): # noqa: D103 hive_simulator_url = config.getoption("hive_simulator") @@ -68,12 +72,38 @@ def pytest_addoption(parser: pytest.Parser): # noqa: D103 ) +def get_hive_info(simulator: Simulation) -> HiveInfo | None: + """Fetch and return the Hive instance information.""" + try: + hive_info = simulator.hive_instance() + return HiveInfo(**hive_info) + except Exception as e: + warnings.warn( + f"Error fetching hive information: {str(e)}\n\n" + "Hive might need to be updated to a newer version.", + stacklevel=2, + ) + return None + + @pytest.hookimpl(trylast=True) def pytest_report_header(config, start_path): """Add lines to pytest's console output header.""" if config.option.collectonly: return - return [f"hive simulator: {config.hive_simulator_url}"] + header_lines = [f"hive simulator: {config.hive_simulator_url}"] + if hive_info := get_hive_info(config.hive_simulator): + hive_command = " ".join(hive_info.command) + header_lines += [ + f"hive command: {hive_command}", + f"hive commit: {hive_info.commit}", + f"hive date: {hive_info.date}", + ] + for client in hive_info.client_file: + header_lines += [ + f"hive client ({client.client}): {client.model_dump_json(exclude_none=True)}", + ] + return header_lines @pytest.hookimpl(tryfirst=True, hookwrapper=True) @@ -95,10 +125,25 @@ def pytest_runtest_makereport(item, call): @pytest.fixture(scope="session") -def simulator(request): # noqa: D103 +def simulator(request) -> Simulation: + """Return the Hive simulator instance.""" return request.config.hive_simulator +@pytest.fixture(scope="session") +def hive_info(simulator: Simulation): + """Fetch and return the Hive instance information.""" + return get_hive_info(simulator) + + +@pytest.fixture(scope="session") +def client_file(hive_info: HiveInfo | None) -> List[ClientInfo]: + """Return the client file used when launching hive.""" + if hive_info is None: + return [] + return hive_info.client_file + + def get_test_suite_scope(fixture_name, config: pytest.Config): """ Return the appropriate scope of the test suite. diff --git a/uv.lock b/uv.lock index 38c6f7354a..3827e9c923 100644 --- a/uv.lock +++ b/uv.lock @@ -735,7 +735,7 @@ wheels = [ [[package]] name = "hive-py" version = "0.1.0" -source = { git = "https://github.com/marioevz/hive.py#1a546d06ae72e83c8d41fcaaba005c579ccd1d6a" } +source = { git = "https://github.com/marioevz/hive.py#8874cb30904b00098bb6b696b2fd3c0f5a12e119" } dependencies = [ { name = "requests" }, ] diff --git a/whitelist.txt b/whitelist.txt index 90dca54e57..96a001a346 100644 --- a/whitelist.txt +++ b/whitelist.txt @@ -334,6 +334,7 @@ perf permalink petersburg pformat +platformdirs pluginmanager png Pomerantz