Copy disabled (too large)
Download .txt
Showing preview only (37,560K chars total). Download the full file to get everything.
Repository: ethereum/execution-spec-tests
Branch: main
Commit: 88e9fb8f10ed
Files: 3495
Total size: 35.0 MB
Directory structure:
gitextract_fhedyb34/
├── .git-blame-ignore-revs
├── .github/
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── actions/
│ │ ├── build-evm-base/
│ │ │ └── action.yaml
│ │ ├── build-evm-client/
│ │ │ ├── besu/
│ │ │ │ └── action.yaml
│ │ │ ├── ethjs/
│ │ │ │ └── action.yml
│ │ │ ├── evmone/
│ │ │ │ └── action.yaml
│ │ │ └── geth/
│ │ │ └── action.yaml
│ │ ├── build-fixtures/
│ │ │ └── action.yaml
│ │ └── fetch-binary/
│ │ └── action.yaml
│ ├── configs/
│ │ ├── eels_resolutions.json
│ │ ├── evm-impl.yaml
│ │ ├── evm.yaml
│ │ └── feature.yaml
│ ├── scripts/
│ │ ├── fill_introduced_tests.sh
│ │ ├── fill_prepatched_tests.sh
│ │ ├── generate_eip_report.py
│ │ ├── get_release_props.py
│ │ └── parse_ported_tests.sh
│ └── workflows/
│ ├── check_eip_versions.yaml
│ ├── check_links.yml
│ ├── coverage.yaml
│ ├── docs_deploy.yaml
│ ├── fixtures.yaml
│ ├── fixtures_feature.yaml
│ └── tox_verify.yaml
├── .gitignore
├── .lycheeignore
├── .markdownlint.yaml
├── .pre-commit-config.yaml
├── .pyspelling.yml
├── .readthedocs.yaml
├── .vscode/
│ ├── extensions.json
│ ├── launch.recommended.json
│ └── settings.json
├── CLAUDE.md
├── CONTRIBUTING.md
├── HUMANS.md
├── LICENSE
├── README.md
├── SECURITY.md
├── docs/
│ ├── CHANGELOG.md
│ ├── changelog_section_template.md
│ ├── dev/
│ │ ├── coding_style.md
│ │ ├── configurations.md
│ │ ├── deps_and_packaging.md
│ │ ├── docs.md
│ │ ├── documenting_clis.md
│ │ ├── index.md
│ │ ├── interactive_usage.md
│ │ ├── logging.md
│ │ ├── precommit.md
│ │ └── test_actions_locally.md
│ ├── filling_tests/
│ │ ├── debugging_t8n_tools.md
│ │ ├── filling_tests_command_line.md
│ │ ├── filling_tests_dev_fork.md
│ │ ├── filling_tests_vs_code.md
│ │ ├── getting_started.md
│ │ ├── img/
│ │ │ ├── vs_code_executing_tests.kra
│ │ │ └── vs_code_exploring_tests.kra
│ │ ├── index.md
│ │ ├── test_ids.md
│ │ └── transition_tool_support.md
│ ├── getting_started/
│ │ ├── code_standards.md
│ │ ├── code_standards_details.md
│ │ ├── getting_help.md
│ │ ├── installation.md
│ │ ├── installation_troubleshooting.md
│ │ ├── repository_overview.md
│ │ └── setup_vs_code.md
│ ├── index.md
│ ├── javascripts/
│ │ └── site.js
│ ├── library/
│ │ ├── cli/
│ │ │ ├── eest.md
│ │ │ ├── evm_bytes.md
│ │ │ ├── extract_config.md
│ │ │ └── index.md
│ │ ├── ethereum_clis.md
│ │ ├── ethereum_test_base_types.md
│ │ ├── ethereum_test_exceptions.md
│ │ ├── ethereum_test_fixtures.md
│ │ ├── ethereum_test_forks.md
│ │ ├── ethereum_test_specs.md
│ │ ├── ethereum_test_tools.md
│ │ ├── ethereum_test_types.md
│ │ ├── ethereum_test_vm.md
│ │ ├── index.md
│ │ └── pytest_plugins/
│ │ ├── filler.md
│ │ ├── forks.md
│ │ ├── index.md
│ │ └── spec_version_checker.md
│ ├── navigation.md
│ ├── running_tests/
│ │ ├── consume/
│ │ │ ├── cache.md
│ │ │ ├── direct.md
│ │ │ ├── exceptions.md
│ │ │ ├── index.md
│ │ │ └── simulators.md
│ │ ├── execute/
│ │ │ ├── eth_config.md
│ │ │ ├── hive.md
│ │ │ ├── index.md
│ │ │ ├── remote.md
│ │ │ └── transaction_metadata.md
│ │ ├── hive/
│ │ │ ├── ci_integration.md
│ │ │ ├── client_config.md
│ │ │ ├── common_options.md
│ │ │ ├── dev_mode.md
│ │ │ ├── hiveview.md
│ │ │ └── index.md
│ │ ├── index.md
│ │ ├── releases.md
│ │ ├── running.md
│ │ ├── test_formats/
│ │ │ ├── blockchain_test.md
│ │ │ ├── blockchain_test_engine.md
│ │ │ ├── blockchain_test_engine_x.md
│ │ │ ├── blockchain_test_sync.md
│ │ │ ├── common_types.md
│ │ │ ├── exceptions.md
│ │ │ ├── index.md
│ │ │ ├── state_test.md
│ │ │ └── transaction_test.md
│ │ └── useful_pytest_options.md
│ ├── scripts/
│ │ ├── copy_repo_docs_to_mkdocs.py
│ │ ├── gen_test_case_reference.py
│ │ └── generate_fill_help.py
│ ├── stylesheets/
│ │ └── custom.css
│ ├── templates/
│ │ ├── base.md.j2
│ │ ├── directory.md.j2
│ │ ├── function.html.j2
│ │ ├── function.md.j2
│ │ ├── function_parameter_datatable.html.j2
│ │ ├── markdown_header.md.j2
│ │ └── module.md.j2
│ └── writing_tests/
│ ├── adding_a_new_test.md
│ ├── benchmarks.md
│ ├── checklist_templates/
│ │ ├── eip_testing_checklist_template.md
│ │ └── index.md
│ ├── code_standards.md
│ ├── eip_checklist.md
│ ├── exception_tests.md
│ ├── fork_methods.md
│ ├── fuzzer_bridge.md
│ ├── gas_optimization.md
│ ├── index.md
│ ├── porting_legacy_tests.md
│ ├── post_mortems.md
│ ├── reference_specification.md
│ ├── test_markers.md
│ ├── tutorials/
│ │ ├── blockchain.md
│ │ └── state_transition.md
│ ├── types_of_tests.md
│ ├── verifying_changes.md
│ └── writing_a_new_test.md
├── mkdocs.yml
├── pyproject.toml
├── pyrightconfig.json
├── scripts/
│ └── convert_addresses.py
├── src/
│ ├── cli/
│ │ ├── __init__.py
│ │ ├── check_fixtures.py
│ │ ├── compare_fixtures.py
│ │ ├── diff_opcode_counts.py
│ │ ├── eest/
│ │ │ ├── __init__.py
│ │ │ ├── cli.py
│ │ │ ├── commands/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── clean.py
│ │ │ │ └── info.py
│ │ │ ├── make/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── cli.py
│ │ │ │ ├── commands/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── env.py
│ │ │ │ │ └── test.py
│ │ │ │ └── templates/
│ │ │ │ ├── blockchain_test.py.j2
│ │ │ │ └── state_test.py.j2
│ │ │ └── quotes.py
│ │ ├── eofwrap.py
│ │ ├── evm_bytes.py
│ │ ├── extract_config.py
│ │ ├── fillerconvert/
│ │ │ ├── fillerconvert.py
│ │ │ └── verify_filled.py
│ │ ├── fuzzer_bridge/
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── blocktest_builder.py
│ │ │ ├── cli.py
│ │ │ ├── converter.py
│ │ │ ├── examples/
│ │ │ │ ├── README.md
│ │ │ │ ├── comprehensive_large.json
│ │ │ │ ├── comprehensive_largest.json
│ │ │ │ ├── comprehensive_medium_1.json
│ │ │ │ ├── comprehensive_medium_2.json
│ │ │ │ └── comprehensive_smallest.json
│ │ │ ├── models.py
│ │ │ ├── performance_utils.py
│ │ │ └── production_test.py
│ │ ├── gen_index.py
│ │ ├── generate_checklist_stubs.py
│ │ ├── gentest/
│ │ │ ├── __init__.py
│ │ │ ├── cli.py
│ │ │ ├── request_manager.py
│ │ │ ├── source_code_generator.py
│ │ │ ├── templates/
│ │ │ │ └── blockchain_test/
│ │ │ │ └── transaction.py.j2
│ │ │ ├── test_context_providers.py
│ │ │ ├── test_providers.py
│ │ │ └── tests/
│ │ │ ├── __init__.py
│ │ │ └── test_cli.py
│ │ ├── hasher.py
│ │ ├── input/
│ │ │ ├── __init__.py
│ │ │ ├── input_repository.py
│ │ │ └── questionary_input_repository.py
│ │ ├── modify_static_test_gas_limits.py
│ │ ├── order_fixtures.py
│ │ ├── pytest_commands/
│ │ │ ├── __init__.py
│ │ │ ├── base.py
│ │ │ ├── check_eip_versions.py
│ │ │ ├── checklist.py
│ │ │ ├── consume.py
│ │ │ ├── execute.py
│ │ │ ├── fill.py
│ │ │ ├── processors.py
│ │ │ ├── pytest_ini_files/
│ │ │ │ ├── pytest-check-eip-versions.ini
│ │ │ │ ├── pytest-consume.ini
│ │ │ │ ├── pytest-execute-eth-config.ini
│ │ │ │ ├── pytest-execute-hive.ini
│ │ │ │ ├── pytest-execute-recover.ini
│ │ │ │ ├── pytest-execute.ini
│ │ │ │ └── pytest-fill.ini
│ │ │ └── watcher.py
│ │ ├── show_pre_alloc_group_stats.py
│ │ ├── tests/
│ │ │ ├── __init__.py
│ │ │ ├── test_eofwrap.py
│ │ │ ├── test_evm_bytes.py
│ │ │ ├── test_fuzzer_bridge.py
│ │ │ ├── test_generate_all_formats.py
│ │ │ ├── test_order_fixtures.py
│ │ │ ├── test_pytest_execute_command.py
│ │ │ ├── test_pytest_fill_command.py
│ │ │ └── vectors/
│ │ │ ├── fuzzer_test_0.json
│ │ │ ├── fuzzer_test_1.json
│ │ │ ├── fuzzer_test_2.json
│ │ │ ├── fuzzer_test_3.json
│ │ │ └── fuzzer_test_4.json
│ │ └── tox_helpers.py
│ ├── config/
│ │ ├── __init__.py
│ │ ├── app.py
│ │ ├── check_eip_versions.py
│ │ ├── docs.py
│ │ ├── env.py
│ │ └── templates/
│ │ └── env.yaml.j2
│ ├── conftest.py
│ ├── ethereum_clis/
│ │ ├── __init__.py
│ │ ├── cli_types.py
│ │ ├── clis/
│ │ │ ├── __init__.py
│ │ │ ├── besu.py
│ │ │ ├── erigon.py
│ │ │ ├── ethereumjs.py
│ │ │ ├── ethrex.py
│ │ │ ├── evmone.py
│ │ │ ├── execution_specs.py
│ │ │ ├── geth.py
│ │ │ ├── nethermind.py
│ │ │ ├── nimbus.py
│ │ │ └── reth.py
│ │ ├── ethereum_cli.py
│ │ ├── file_utils.py
│ │ ├── fixture_consumer_tool.py
│ │ ├── py.typed
│ │ ├── tests/
│ │ │ ├── test_execution_specs.py
│ │ │ ├── test_transition_tool.py
│ │ │ └── test_transition_tools_support.py
│ │ └── transition_tool.py
│ ├── ethereum_test_base_types/
│ │ ├── __init__.py
│ │ ├── base_types.py
│ │ ├── base_types_json.py
│ │ ├── composite_types.py
│ │ ├── constants.py
│ │ ├── conversions.py
│ │ ├── mixins.py
│ │ ├── py.typed
│ │ ├── pydantic.py
│ │ ├── reference_spec/
│ │ │ ├── __init__.py
│ │ │ ├── git_reference_spec.py
│ │ │ └── reference_spec.py
│ │ ├── serialization.py
│ │ └── tests/
│ │ ├── __init__.py
│ │ ├── test_base_types.py
│ │ └── test_reference_spec.py
│ ├── ethereum_test_benchmark/
│ │ ├── __init__.py
│ │ └── benchmark_code_generator.py
│ ├── ethereum_test_checklists/
│ │ ├── __init__.py
│ │ ├── eip_checklist.py
│ │ ├── eip_checklist.pyi
│ │ └── tests/
│ │ ├── __init__.py
│ │ └── test_checklist_template_consistency.py
│ ├── ethereum_test_exceptions/
│ │ ├── __init__.py
│ │ ├── engine_api.py
│ │ ├── exception_mapper.py
│ │ ├── exceptions/
│ │ │ ├── __init__.py
│ │ │ ├── base.py
│ │ │ ├── block.py
│ │ │ ├── eof.py
│ │ │ ├── exceptions_types.py
│ │ │ └── transaction.py
│ │ ├── exceptions.py
│ │ ├── py.typed
│ │ └── tests/
│ │ ├── __init__.py
│ │ └── test_exceptions.py
│ ├── ethereum_test_execution/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── blob_transaction.py
│ │ └── transaction_post.py
│ ├── ethereum_test_fixtures/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── blockchain.py
│ │ ├── collector.py
│ │ ├── common.py
│ │ ├── consume.py
│ │ ├── eof.py
│ │ ├── file.py
│ │ ├── pre_alloc_groups.py
│ │ ├── py.typed
│ │ ├── state.py
│ │ ├── tests/
│ │ │ ├── __init__.py
│ │ │ ├── test_base.py
│ │ │ ├── test_blockchain.py
│ │ │ ├── test_eof.py
│ │ │ └── test_state.py
│ │ └── transaction.py
│ ├── ethereum_test_forks/
│ │ ├── __init__.py
│ │ ├── base_decorators.py
│ │ ├── base_fork.py
│ │ ├── forks/
│ │ │ ├── __init__.py
│ │ │ ├── forks.py
│ │ │ ├── helpers.py
│ │ │ └── transition.py
│ │ ├── gas_costs.py
│ │ ├── helpers.py
│ │ ├── py.typed
│ │ ├── tests/
│ │ │ ├── __init__.py
│ │ │ ├── test_fork_range_descriptor.py
│ │ │ └── test_forks.py
│ │ └── transition_base_fork.py
│ ├── ethereum_test_rpc/
│ │ ├── __init__.py
│ │ ├── rpc.py
│ │ ├── rpc_types.py
│ │ └── tests/
│ │ ├── __init__.py
│ │ └── test_types.py
│ ├── ethereum_test_specs/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── base_static.py
│ │ ├── benchmark.py
│ │ ├── blobs.py
│ │ ├── blockchain.py
│ │ ├── debugging.py
│ │ ├── eof.py
│ │ ├── helpers.py
│ │ ├── py.typed
│ │ ├── state.py
│ │ ├── static_state/
│ │ │ ├── __init__.py
│ │ │ ├── account.py
│ │ │ ├── common/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── common.py
│ │ │ │ ├── compile_yul.py
│ │ │ │ └── tags.py
│ │ │ ├── environment.py
│ │ │ ├── expect_section.py
│ │ │ ├── general_transaction.py
│ │ │ └── state_static.py
│ │ ├── tests/
│ │ │ ├── __init__.py
│ │ │ ├── helpers.py
│ │ │ ├── test_benchmark.py
│ │ │ ├── test_expect.py
│ │ │ ├── test_fixtures.py
│ │ │ ├── test_transaction.py
│ │ │ └── test_types.py
│ │ └── transaction.py
│ ├── ethereum_test_tools/
│ │ ├── __init__.py
│ │ ├── py.typed
│ │ ├── tests/
│ │ │ ├── __init__.py
│ │ │ └── test_code.py
│ │ ├── tools_code/
│ │ │ ├── __init__.py
│ │ │ ├── generators.py
│ │ │ └── yul.py
│ │ └── utility/
│ │ ├── __init__.py
│ │ ├── generators.py
│ │ ├── pytest.py
│ │ ├── tests/
│ │ │ └── test_pytest.py
│ │ └── versioning.py
│ ├── ethereum_test_types/
│ │ ├── __init__.py
│ │ ├── account_types.py
│ │ ├── blob_types.py
│ │ ├── block_access_list/
│ │ │ ├── __init__.py
│ │ │ ├── account_absent_values.py
│ │ │ ├── account_changes.py
│ │ │ ├── exceptions.py
│ │ │ ├── expectations.py
│ │ │ ├── modifiers.py
│ │ │ └── t8n.py
│ │ ├── block_types.py
│ │ ├── chain_config_types.py
│ │ ├── eof/
│ │ │ ├── __init__.py
│ │ │ ├── constants.py
│ │ │ └── v1/
│ │ │ ├── __init__.py
│ │ │ └── constants.py
│ │ ├── helpers.py
│ │ ├── kzg_trusted_setup.txt
│ │ ├── phase_manager.py
│ │ ├── py.typed
│ │ ├── receipt_types.py
│ │ ├── request_types.py
│ │ ├── tests/
│ │ │ ├── __init__.py
│ │ │ ├── test_blob_types.py
│ │ │ ├── test_block_access_lists.py
│ │ │ ├── test_eof_v1.py
│ │ │ ├── test_helpers.py
│ │ │ ├── test_phase_manager.py
│ │ │ ├── test_post_alloc.py
│ │ │ ├── test_transactions.py
│ │ │ └── test_types.py
│ │ ├── transaction_types.py
│ │ ├── trie.py
│ │ └── utils.py
│ ├── ethereum_test_vm/
│ │ ├── __init__.py
│ │ ├── bytecode.py
│ │ ├── evm_types.py
│ │ ├── helpers.py
│ │ ├── opcodes.py
│ │ ├── py.typed
│ │ └── tests/
│ │ ├── __init__.py
│ │ └── test_vm.py
│ └── pytest_plugins/
│ ├── __init__.py
│ ├── concurrency.py
│ ├── consume/
│ │ ├── __init__.py
│ │ ├── consume.py
│ │ ├── direct/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ └── test_via_direct.py
│ │ ├── hive_engine_test/
│ │ │ └── __init__.py
│ │ ├── hive_simulators_reorg/
│ │ │ └── __init__.py
│ │ ├── releases.py
│ │ ├── simulators/
│ │ │ ├── __init__.py
│ │ │ ├── base.py
│ │ │ ├── engine/
│ │ │ │ ├── __init__.py
│ │ │ │ └── conftest.py
│ │ │ ├── exceptions.py
│ │ │ ├── helpers/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── exceptions.py
│ │ │ │ ├── ruleset.py
│ │ │ │ └── timing.py
│ │ │ ├── rlp/
│ │ │ │ ├── __init__.py
│ │ │ │ └── conftest.py
│ │ │ ├── simulator_logic/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── test_via_engine.py
│ │ │ │ ├── test_via_rlp.py
│ │ │ │ └── test_via_sync.py
│ │ │ ├── single_test_client.py
│ │ │ ├── sync/
│ │ │ │ ├── __init__.py
│ │ │ │ └── conftest.py
│ │ │ ├── test_case_description.py
│ │ │ └── timing_data.py
│ │ └── tests/
│ │ ├── __init__.py
│ │ ├── release_information.json
│ │ ├── test_consume_args.py
│ │ ├── test_fixtures_source_input_types.py
│ │ └── test_releases.py
│ ├── custom_logging/
│ │ ├── __init__.py
│ │ ├── plugin_logging.py
│ │ └── tests/
│ │ ├── __init__.py
│ │ └── test_logging.py
│ ├── eels_resolutions.json
│ ├── eels_resolver.py
│ ├── execute/
│ │ ├── __init__.py
│ │ ├── eth_config/
│ │ │ ├── __init__.py
│ │ │ ├── eth_config.py
│ │ │ ├── execute_eth_config.py
│ │ │ ├── execute_types.py
│ │ │ ├── networks.yml
│ │ │ └── tests/
│ │ │ ├── __init__.py
│ │ │ ├── genesis_example.json
│ │ │ ├── test_execute_eth_config.py
│ │ │ └── test_genesis.py
│ │ ├── execute.py
│ │ ├── execute_recover.py
│ │ ├── pre_alloc.py
│ │ ├── recover.py
│ │ ├── rpc/
│ │ │ ├── __init__.py
│ │ │ ├── chain_builder_eth_rpc.py
│ │ │ ├── hive.py
│ │ │ ├── remote.py
│ │ │ └── remote_seed_sender.py
│ │ ├── sender.py
│ │ └── tests/
│ │ ├── __init__.py
│ │ └── test_pre_alloc.py
│ ├── filler/
│ │ ├── __init__.py
│ │ ├── eip_checklist.py
│ │ ├── filler.py
│ │ ├── fixture_output.py
│ │ ├── gen_test_doc/
│ │ │ ├── __init__.py
│ │ │ ├── gen_test_doc.py
│ │ │ └── page_props.py
│ │ ├── ported_tests.py
│ │ ├── pre_alloc.py
│ │ ├── static_filler.py
│ │ ├── tests/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── test_benchmarking.py
│ │ │ ├── test_collect_only.py
│ │ │ ├── test_eip_checklist.py
│ │ │ ├── test_filler.py
│ │ │ ├── test_filling_session.py
│ │ │ ├── test_format_selector.py
│ │ │ ├── test_generate_all_formats.py
│ │ │ ├── test_output_directory.py
│ │ │ ├── test_phase_manager.py
│ │ │ ├── test_pre_alloc.py
│ │ │ ├── test_prealloc_group.py
│ │ │ ├── test_prealloc_group_usage_example.py
│ │ │ ├── test_slow_marker_pre_alloc.py
│ │ │ └── test_verify_sync_marker.py
│ │ └── witness.py
│ ├── fix_package_test_path.py
│ ├── forks/
│ │ ├── __init__.py
│ │ ├── forks.py
│ │ └── tests/
│ │ ├── __init__.py
│ │ ├── test_bad_command_line_options.py
│ │ ├── test_bad_validity_markers.py
│ │ ├── test_covariant_markers.py
│ │ ├── test_fork_parametrizer_types.py
│ │ ├── test_forks.py
│ │ └── test_markers.py
│ ├── help/
│ │ ├── __init__.py
│ │ ├── help.py
│ │ └── tests/
│ │ └── test_help.py
│ ├── py.typed
│ ├── pytest_hive/
│ │ ├── hive_info.py
│ │ └── pytest_hive.py
│ ├── shared/
│ │ ├── benchmarking.py
│ │ ├── execute_fill.py
│ │ ├── helpers.py
│ │ └── transaction_fixtures.py
│ ├── solc/
│ │ ├── __init__.py
│ │ └── solc.py
│ └── spec_version_checker/
│ ├── __init__.py
│ └── spec_version_checker.py
├── stubs/
│ ├── joblib/
│ │ └── __init__.pyi
│ ├── jwt/
│ │ ├── __init__.pyi
│ │ └── encode.pyi
│ ├── pytest_metadata/
│ │ ├── __init__.pyi
│ │ └── plugin.pyi
│ ├── trie/
│ │ ├── __init__.pyi
│ │ └── hexary.pyi
│ └── xdist/
│ ├── __init__.pyi
│ └── methods.pyi
├── tests/
│ ├── __init__.py
│ ├── amsterdam/
│ │ ├── __init__.py
│ │ └── eip7928_block_level_access_lists/
│ │ ├── __init__.py
│ │ ├── spec.py
│ │ ├── test_block_access_lists.py
│ │ ├── test_block_access_lists_eip7702.py
│ │ ├── test_block_access_lists_invalid.py
│ │ ├── test_block_access_lists_opcodes.py
│ │ └── test_cases.md
│ ├── benchmark/
│ │ ├── __init__.py
│ │ ├── conftest.py
│ │ ├── helpers.py
│ │ ├── stateful/
│ │ │ ├── __init__.py
│ │ │ ├── bloatnet/
│ │ │ │ ├── README.md
│ │ │ │ ├── __init__.py
│ │ │ │ ├── test_bloatnet.py
│ │ │ │ ├── test_multi_opcode.py
│ │ │ │ └── test_single_opcode.py
│ │ │ └── conftest.py
│ │ ├── test_worst_blocks.py
│ │ ├── test_worst_bytecode.py
│ │ ├── test_worst_compute.py
│ │ ├── test_worst_memory.py
│ │ ├── test_worst_opcode.py
│ │ └── test_worst_stateful_opcodes.py
│ ├── berlin/
│ │ ├── __init__.py
│ │ ├── eip2929_gas_cost_increases/
│ │ │ ├── __init__.py
│ │ │ ├── test_call.py
│ │ │ └── test_precompile_warming.py
│ │ └── eip2930_access_list/
│ │ ├── __init__.py
│ │ ├── spec.py
│ │ ├── test_acl.py
│ │ └── test_tx_intrinsic_gas.py
│ ├── byzantium/
│ │ ├── __init__.py
│ │ └── eip198_modexp_precompile/
│ │ ├── __init__.py
│ │ ├── helpers.py
│ │ └── test_modexp.py
│ ├── cancun/
│ │ ├── __init__.py
│ │ ├── eip1153_tstore/
│ │ │ ├── __init__.py
│ │ │ ├── spec.py
│ │ │ ├── test_basic_tload.py
│ │ │ ├── test_tload_calls.py
│ │ │ ├── test_tload_reentrancy.py
│ │ │ ├── test_tstorage.py
│ │ │ ├── test_tstorage_clear_after_tx.py
│ │ │ ├── test_tstorage_create_contexts.py
│ │ │ ├── test_tstorage_execution_contexts.py
│ │ │ ├── test_tstorage_reentrancy_contexts.py
│ │ │ ├── test_tstorage_selfdestruct.py
│ │ │ └── test_tstore_reentrancy.py
│ │ ├── eip4788_beacon_root/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── spec.py
│ │ │ └── test_beacon_root_contract.py
│ │ ├── eip4844_blobs/
│ │ │ ├── __init__.py
│ │ │ ├── common.py
│ │ │ ├── conftest.py
│ │ │ ├── point_evaluation_vectors/
│ │ │ │ ├── README.md
│ │ │ │ ├── concat_kzg_vectors_to_json.py
│ │ │ │ ├── go_kzg_4844_verify_kzg_proof.json
│ │ │ │ └── requirements.txt
│ │ │ ├── spec.py
│ │ │ ├── test_blob_txs.py
│ │ │ ├── test_blob_txs_full.py
│ │ │ ├── test_blobhash_opcode.py
│ │ │ ├── test_blobhash_opcode_contexts.py
│ │ │ ├── test_excess_blob_gas.py
│ │ │ ├── test_excess_blob_gas_fork_transition.py
│ │ │ ├── test_point_evaluation_precompile.py
│ │ │ └── test_point_evaluation_precompile_gas.py
│ │ ├── eip5656_mcopy/
│ │ │ ├── __init__.py
│ │ │ ├── common.py
│ │ │ ├── test_mcopy.py
│ │ │ ├── test_mcopy_contexts.py
│ │ │ └── test_mcopy_memory_expansion.py
│ │ ├── eip6780_selfdestruct/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── test_dynamic_create2_selfdestruct_collision.py
│ │ │ ├── test_reentrancy_selfdestruct_revert.py
│ │ │ ├── test_selfdestruct.py
│ │ │ └── test_selfdestruct_revert.py
│ │ └── eip7516_blobgasfee/
│ │ ├── __init__.py
│ │ └── test_blobgasfee_opcode.py
│ ├── constantinople/
│ │ ├── __init__.py
│ │ ├── eip1014_create2/
│ │ │ ├── __init__.py
│ │ │ ├── spec.py
│ │ │ ├── test_create_returndata.py
│ │ │ └── test_recreate.py
│ │ └── eip145_bitwise_shift/
│ │ ├── __init__.py
│ │ ├── spec.py
│ │ └── test_shift_combinations.py
│ ├── frontier/
│ │ ├── __init__.py
│ │ ├── create/
│ │ │ ├── __init__.py
│ │ │ ├── test_create_one_byte.py
│ │ │ ├── test_create_suicide_during_init.py
│ │ │ └── test_create_suicide_store.py
│ │ ├── examples/
│ │ │ ├── __init__.py
│ │ │ └── test_block_intermediate_state.py
│ │ ├── identity_precompile/
│ │ │ ├── __init__.py
│ │ │ ├── common.py
│ │ │ ├── conftest.py
│ │ │ ├── test_identity.py
│ │ │ └── test_identity_returndatasize.py
│ │ ├── opcodes/
│ │ │ ├── __init__.py
│ │ │ ├── test_all_opcodes.py
│ │ │ ├── test_blockhash.py
│ │ │ ├── test_call.py
│ │ │ ├── test_call_and_callcode_gas_calculation.py
│ │ │ ├── test_calldatacopy.py
│ │ │ ├── test_calldataload.py
│ │ │ ├── test_calldatasize.py
│ │ │ ├── test_dup.py
│ │ │ ├── test_push.py
│ │ │ ├── test_selfdestruct.py
│ │ │ └── test_swap.py
│ │ ├── precompiles/
│ │ │ ├── __init__.py
│ │ │ ├── test_precompile_absence.py
│ │ │ └── test_precompiles.py
│ │ └── scenarios/
│ │ ├── __init__.py
│ │ ├── common.py
│ │ ├── programs/
│ │ │ ├── __init__.py
│ │ │ ├── all_frontier_opcodes.py
│ │ │ ├── context_calls.py
│ │ │ ├── invalid_opcodes.py
│ │ │ └── static_violation.py
│ │ ├── scenarios/
│ │ │ ├── __init__.py
│ │ │ ├── call_combinations.py
│ │ │ ├── create_combinations.py
│ │ │ ├── double_call_combinations.py
│ │ │ └── revert_combinations.py
│ │ └── test_scenarios.py
│ ├── homestead/
│ │ ├── __init__.py
│ │ ├── coverage/
│ │ │ ├── __init__.py
│ │ │ └── test_coverage.py
│ │ ├── identity_precompile/
│ │ │ ├── __init__.py
│ │ │ └── test_identity.py
│ │ └── yul/
│ │ └── __init__.py
│ ├── istanbul/
│ │ ├── __init__.py
│ │ ├── eip1344_chainid/
│ │ │ ├── __init__.py
│ │ │ └── test_chainid.py
│ │ └── eip152_blake2/
│ │ ├── __init__.py
│ │ ├── common.py
│ │ ├── conftest.py
│ │ ├── spec.py
│ │ ├── test_blake2.py
│ │ └── test_blake2_delegatecall.py
│ ├── osaka/
│ │ ├── __init__.py
│ │ ├── eip7594_peerdas/
│ │ │ ├── __init__.py
│ │ │ ├── spec.py
│ │ │ ├── test_get_blobs.py
│ │ │ └── test_max_blob_per_tx.py
│ │ ├── eip7823_modexp_upper_bounds/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── eip_checklist_external_coverage.txt
│ │ │ ├── eip_checklist_not_applicable.txt
│ │ │ ├── spec.py
│ │ │ └── test_modexp_upper_bounds.py
│ │ ├── eip7825_transaction_gas_limit_cap/
│ │ │ ├── __init__.py
│ │ │ ├── eip_checklist_external_coverage.txt
│ │ │ ├── eip_checklist_not_applicable.txt
│ │ │ ├── spec.py
│ │ │ ├── test_tx_gas_limit.py
│ │ │ └── test_tx_gas_limit_transition_fork.py
│ │ ├── eip7883_modexp_gas_increase/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── eip_checklist_external_coverage.txt
│ │ │ ├── eip_checklist_not_applicable.txt
│ │ │ ├── helpers.py
│ │ │ ├── spec.py
│ │ │ ├── test_modexp_thresholds.py
│ │ │ ├── test_modexp_thresholds_transition.py
│ │ │ └── vector/
│ │ │ ├── legacy.json
│ │ │ └── vectors.json
│ │ ├── eip7918_blob_reserve_price/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── spec.py
│ │ │ ├── test_blob_base_fee.py
│ │ │ ├── test_blob_reserve_price_with_bpo.py
│ │ │ └── test_blob_reserve_price_with_bpo_transitions.py
│ │ ├── eip7934_block_rlp_limit/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── eip_checklist_external_coverage.txt
│ │ │ ├── eip_checklist_not_applicable.txt
│ │ │ ├── spec.py
│ │ │ └── test_max_block_rlp_size.py
│ │ ├── eip7939_count_leading_zeros/
│ │ │ ├── __init__.py
│ │ │ ├── eip_checklist_external_coverage.txt
│ │ │ ├── eip_checklist_not_applicable.txt
│ │ │ ├── spec.py
│ │ │ └── test_count_leading_zeros.py
│ │ └── eip7951_p256verify_precompiles/
│ │ ├── __init__.py
│ │ ├── conftest.py
│ │ ├── eip_checklist_external_coverage.txt
│ │ ├── eip_checklist_not_applicable.txt
│ │ ├── helpers.py
│ │ ├── scripts/
│ │ │ └── find_low_p256_points.sage
│ │ ├── spec.py
│ │ ├── test_p256verify.py
│ │ ├── test_p256verify_before_fork.py
│ │ └── vectors/
│ │ ├── secp256r1_k_and_s.json
│ │ ├── secp256r1_modified_r_s.json
│ │ ├── secp256r1_public_key.json
│ │ ├── secp256r1_shamir_multiplication.json
│ │ ├── secp256r1_signature_specific.json
│ │ ├── secp256r1_small_large_r_s.json
│ │ ├── secp256r1_special_case_hash.json
│ │ ├── secp256r1_special_case_r_s.json
│ │ ├── secp256r1_special_points.json
│ │ └── secp256r1_u1_u2.json
│ ├── paris/
│ │ ├── __init__.py
│ │ ├── eip7610_create_collision/
│ │ │ ├── __init__.py
│ │ │ └── test_initcollision.py
│ │ └── security/
│ │ ├── __init__.py
│ │ └── test_selfdestruct_balance_bug.py
│ ├── prague/
│ │ ├── __init__.py
│ │ ├── eip2537_bls_12_381_precompiles/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── helpers.py
│ │ │ ├── spec.py
│ │ │ ├── test_bls12_g1add.py
│ │ │ ├── test_bls12_g1msm.py
│ │ │ ├── test_bls12_g1mul.py
│ │ │ ├── test_bls12_g2add.py
│ │ │ ├── test_bls12_g2msm.py
│ │ │ ├── test_bls12_g2mul.py
│ │ │ ├── test_bls12_map_fp2_to_g2.py
│ │ │ ├── test_bls12_map_fp_to_g1.py
│ │ │ ├── test_bls12_pairing.py
│ │ │ ├── test_bls12_precompiles_before_fork.py
│ │ │ ├── test_bls12_variable_length_input_contracts.py
│ │ │ ├── test_eip_mainnet.py
│ │ │ └── vectors/
│ │ │ ├── add_G1_bls.json
│ │ │ ├── add_G2_bls.json
│ │ │ ├── fail-add_G1_bls.json
│ │ │ ├── fail-add_G2_bls.json
│ │ │ ├── fail-map_fp2_to_G2_bls.json
│ │ │ ├── fail-map_fp_to_G1_bls.json
│ │ │ ├── fail-msm_G1_bls.json
│ │ │ ├── fail-msm_G2_bls.json
│ │ │ ├── fail-mul_G1_bls.json
│ │ │ ├── fail-mul_G2_bls.json
│ │ │ ├── fail-pairing_check_bls.json
│ │ │ ├── map_fp2_to_G2_bls.json
│ │ │ ├── map_fp_to_G1_bls.json
│ │ │ ├── msm_G1_bls.json
│ │ │ ├── msm_G2_bls.json
│ │ │ ├── mul_G1_bls.json
│ │ │ ├── mul_G2_bls.json
│ │ │ ├── pairing_check_bls.json
│ │ │ └── test-vectors.md
│ │ ├── eip2935_historical_block_hashes_from_state/
│ │ │ ├── __init__.py
│ │ │ ├── contract_deploy_tx.json
│ │ │ ├── spec.py
│ │ │ ├── test_block_hashes.py
│ │ │ ├── test_contract_deployment.py
│ │ │ └── test_eip_mainnet.py
│ │ ├── eip6110_deposits/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── helpers.py
│ │ │ ├── spec.py
│ │ │ ├── test_deposits.py
│ │ │ ├── test_eip_mainnet.py
│ │ │ └── test_modified_contract.py
│ │ ├── eip7002_el_triggerable_withdrawals/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── contract_deploy_tx.json
│ │ │ ├── helpers.py
│ │ │ ├── spec.py
│ │ │ ├── test_contract_deployment.py
│ │ │ ├── test_eip_mainnet.py
│ │ │ ├── test_modified_withdrawal_contract.py
│ │ │ ├── test_withdrawal_requests.py
│ │ │ └── test_withdrawal_requests_during_fork.py
│ │ ├── eip7251_consolidations/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── contract_deploy_tx.json
│ │ │ ├── helpers.py
│ │ │ ├── spec.py
│ │ │ ├── test_consolidations.py
│ │ │ ├── test_consolidations_during_fork.py
│ │ │ ├── test_contract_deployment.py
│ │ │ ├── test_eip_mainnet.py
│ │ │ └── test_modified_consolidation_contract.py
│ │ ├── eip7623_increase_calldata_cost/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── helpers.py
│ │ │ ├── spec.py
│ │ │ ├── test_eip_mainnet.py
│ │ │ ├── test_execution_gas.py
│ │ │ ├── test_refunds.py
│ │ │ └── test_transaction_validity.py
│ │ ├── eip7685_general_purpose_el_requests/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── spec.py
│ │ │ └── test_multi_type_requests.py
│ │ └── eip7702_set_code_tx/
│ │ ├── __init__.py
│ │ ├── helpers.py
│ │ ├── spec.py
│ │ ├── test_calls.py
│ │ ├── test_eip_mainnet.py
│ │ ├── test_gas.py
│ │ ├── test_invalid_tx.py
│ │ ├── test_set_code_txs.py
│ │ └── test_set_code_txs_2.py
│ ├── shanghai/
│ │ ├── __init__.py
│ │ ├── eip3651_warm_coinbase/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── spec.py
│ │ │ └── test_warm_coinbase.py
│ │ ├── eip3855_push0/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── spec.py
│ │ │ └── test_push0.py
│ │ ├── eip3860_initcode/
│ │ │ ├── __init__.py
│ │ │ ├── conftest.py
│ │ │ ├── helpers.py
│ │ │ ├── spec.py
│ │ │ ├── test_initcode.py
│ │ │ └── test_with_eof.py
│ │ └── eip4895_withdrawals/
│ │ ├── __init__.py
│ │ ├── conftest.py
│ │ ├── spec.py
│ │ └── test_withdrawals.py
│ ├── static/
│ │ ├── README.md
│ │ ├── __init__.py
│ │ └── state_tests/
│ │ ├── Cancun/
│ │ │ ├── __init__.py
│ │ │ ├── stEIP1153_transientStorage/
│ │ │ │ ├── 10_revertUndoesStoreAfterReturnFiller.yml
│ │ │ │ ├── 14_revertAfterNestedStaticcallFiller.yml
│ │ │ │ ├── 15_tstoreCannotBeDosdFiller.yml
│ │ │ │ ├── 17_tstoreGasFiller.yml
│ │ │ │ ├── 19_oogUndoesTransientStoreFiller.yml
│ │ │ │ ├── 21_tstoreCannotBeDosdOOOFiller.yml
│ │ │ │ ├── __init__.py
│ │ │ │ ├── transStorageOKFiller.yml
│ │ │ │ └── transStorageResetFiller.yml
│ │ │ ├── stEIP4844_blobtransactions/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── createBlobhashTxFiller.yml
│ │ │ │ ├── emptyBlobhashListFiller.yml
│ │ │ │ ├── opcodeBlobhBoundsFiller.yml
│ │ │ │ ├── opcodeBlobhashOutOfRangeFiller.yml
│ │ │ │ └── wrongBlobhashVersionFiller.yml
│ │ │ └── stEIP5656_MCOPY/
│ │ │ ├── MCOPYFiller.yml
│ │ │ ├── MCOPY_copy_costFiller.yml
│ │ │ ├── MCOPY_memory_expansion_costFiller.yml
│ │ │ ├── MCOPY_memory_hashFiller.yml
│ │ │ └── __init__.py
│ │ ├── README.md
│ │ ├── Shanghai/
│ │ │ ├── __init__.py
│ │ │ ├── stEIP3651_warmcoinbase/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── coinbaseWarmAccountCallGasFailFiller.yml
│ │ │ │ └── coinbaseWarmAccountCallGasFiller.yml
│ │ │ ├── stEIP3855_push0/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── push0Filler.yml
│ │ │ │ ├── push0Filler_test.yml
│ │ │ │ ├── push0Gas2Filler.yml
│ │ │ │ └── push0GasFiller.yml
│ │ │ └── stEIP3860_limitmeterinitcode/
│ │ │ ├── __init__.py
│ │ │ ├── create2InitCodeSizeLimitFiller.yml
│ │ │ ├── createInitCodeSizeLimitFiller.yml
│ │ │ └── creationTxInitCodeSizeLimitFiller.yml
│ │ ├── VMTests/
│ │ │ ├── __init__.py
│ │ │ ├── vmArithmeticTest/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── addFiller.yml
│ │ │ │ ├── addmodFiller.yml
│ │ │ │ ├── arithFiller.yml
│ │ │ │ ├── divByZeroFiller.yml
│ │ │ │ ├── divFiller.yml
│ │ │ │ ├── expFiller.yml
│ │ │ │ ├── expPower256Filler.yml
│ │ │ │ ├── expPower256Of256Filler.yml
│ │ │ │ ├── expPower2Filler.yml
│ │ │ │ ├── fibFiller.yml
│ │ │ │ ├── modFiller.yml
│ │ │ │ ├── mulFiller.yml
│ │ │ │ ├── mulmodFiller.yml
│ │ │ │ ├── notFiller.yml
│ │ │ │ ├── sdivFiller.yml
│ │ │ │ ├── signextendFiller.yml
│ │ │ │ ├── smodFiller.yml
│ │ │ │ ├── subFiller.yml
│ │ │ │ ├── twoOpsFiller.yml
│ │ │ │ └── twoOpsGen.js
│ │ │ ├── vmBitwiseLogicOperation/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── andFiller.yml
│ │ │ │ ├── byteFiller.yml
│ │ │ │ ├── eqFiller.yml
│ │ │ │ ├── gtFiller.yml
│ │ │ │ ├── iszeroFiller.yml
│ │ │ │ ├── ltFiller.yml
│ │ │ │ ├── notFiller.yml
│ │ │ │ ├── orFiller.yml
│ │ │ │ ├── sgtFiller.yml
│ │ │ │ ├── sltFiller.yml
│ │ │ │ └── xorFiller.yml
│ │ │ ├── vmIOandFlowOperations/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── codecopyFiller.yml
│ │ │ │ ├── gasFiller.yml
│ │ │ │ ├── jumpFiller.yml
│ │ │ │ ├── jumpToPushFiller.yml
│ │ │ │ ├── jumpiFiller.yml
│ │ │ │ ├── loop_stacklimitFiller.yml
│ │ │ │ ├── loopsConditionalsFiller.yml
│ │ │ │ ├── mloadFiller.yml
│ │ │ │ ├── msizeFiller.yml
│ │ │ │ ├── mstore8Filler.yml
│ │ │ │ ├── mstoreFiller.yml
│ │ │ │ ├── pcFiller.yml
│ │ │ │ ├── popFiller.yml
│ │ │ │ ├── returnFiller.yml
│ │ │ │ └── sstore_sloadFiller.yml
│ │ │ ├── vmLogTest/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── log0Filler.yml
│ │ │ │ ├── log1Filler.yml
│ │ │ │ ├── log2Filler.yml
│ │ │ │ ├── log3Filler.yml
│ │ │ │ └── log4Filler.yml
│ │ │ └── vmTests/
│ │ │ ├── __init__.py
│ │ │ ├── blockInfoFiller.yml
│ │ │ ├── envInfoFiller.yml
│ │ │ ├── randomFiller.yml
│ │ │ ├── sha3Filler.yml
│ │ │ └── suicideFiller.yml
│ │ ├── __init__.py
│ │ ├── stArgsZeroOneBalance/
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ ├── addNonConstFiller.yml
│ │ │ ├── addmodNonConstFiller.yml
│ │ │ ├── andNonConstFiller.yml
│ │ │ ├── balanceNonConstFiller.yml
│ │ │ ├── byteNonConstFiller.yml
│ │ │ ├── callNonConstFiller.yml
│ │ │ ├── callcodeNonConstFiller.yml
│ │ │ ├── calldatacopyNonConstFiller.yml
│ │ │ ├── calldataloadNonConstFiller.yml
│ │ │ ├── codecopyNonConstFiller.yml
│ │ │ ├── createNonConstFiller.yml
│ │ │ ├── delegatecallNonConstFiller.yml
│ │ │ ├── divNonConstFiller.yml
│ │ │ ├── eqNonConstFiller.yml
│ │ │ ├── expNonConstFiller.yml
│ │ │ ├── extcodecopyNonConstFiller.yml
│ │ │ ├── extcodesizeNonConstFiller.yml
│ │ │ ├── gtNonConstFiller.yml
│ │ │ ├── iszeroNonConstFiller.yml
│ │ │ ├── jumpNonConstFiller.yml
│ │ │ ├── jumpiNonConstFiller.yml
│ │ │ ├── log0NonConstFiller.yml
│ │ │ ├── log1NonConstFiller.yml
│ │ │ ├── log2NonConstFiller.yml
│ │ │ ├── log3NonConstFiller.yml
│ │ │ ├── ltNonConstFiller.yml
│ │ │ ├── mloadNonConstFiller.yml
│ │ │ ├── modNonConstFiller.yml
│ │ │ ├── mstore8NonConstFiller.yml
│ │ │ ├── mstoreNonConstFiller.yml
│ │ │ ├── mulNonConstFiller.yml
│ │ │ ├── mulmodNonConstFiller.yml
│ │ │ ├── notNonConstFiller.yml
│ │ │ ├── orNonConstFiller.yml
│ │ │ ├── returnNonConstFiller.yml
│ │ │ ├── sdivNonConstFiller.yml
│ │ │ ├── sgtNonConstFiller.yml
│ │ │ ├── sha3NonConstFiller.yml
│ │ │ ├── signextNonConstFiller.yml
│ │ │ ├── sloadNonConstFiller.yml
│ │ │ ├── sltNonConstFiller.yml
│ │ │ ├── smodNonConstFiller.yml
│ │ │ ├── sstoreNonConstFiller.yml
│ │ │ ├── subNonConstFiller.yml
│ │ │ ├── suicideNonConstFiller.yml
│ │ │ └── xorNonConstFiller.yml
│ │ ├── stAttackTest/
│ │ │ ├── ContractCreationSpamFiller.json
│ │ │ ├── CrashingTransactionFiller.json
│ │ │ └── __init__.py
│ │ ├── stBadOpcode/
│ │ │ ├── __init__.py
│ │ │ ├── eip2315NotRemovedFiller.json
│ │ │ ├── invalidAddrFiller.yml
│ │ │ ├── measureGasFiller.yml
│ │ │ ├── operationDiffGasFiller.yml
│ │ │ └── undefinedOpcodeFirstByteFiller.yml
│ │ ├── stBugs/
│ │ │ ├── __init__.py
│ │ │ ├── randomStatetestDEFAULT-Tue_07_58_41-15153-575192Filler.json
│ │ │ ├── randomStatetestDEFAULT-Tue_07_58_41-15153-575192_londonFiller.json
│ │ │ ├── returndatacopyPythonBug_Tue_03_48_41-1432Filler.json
│ │ │ └── staticcall_createfailsFiller.json
│ │ ├── stCallCodes/
│ │ │ ├── __init__.py
│ │ │ ├── call_OOG_additionalGasCosts1Filler.json
│ │ │ ├── call_OOG_additionalGasCosts2Filler.json
│ │ │ ├── callcall_00Filler.json
│ │ │ ├── callcall_00_OOGEFiller.json
│ │ │ ├── callcall_00_OOGE_valueTransferFiller.json
│ │ │ ├── callcall_00_SuicideEndFiller.json
│ │ │ ├── callcallcall_000Filler.json
│ │ │ ├── callcallcall_000_OOGEFiller.json
│ │ │ ├── callcallcall_000_OOGMAfterFiller.json
│ │ │ ├── callcallcall_000_OOGMBeforeFiller.json
│ │ │ ├── callcallcall_000_SuicideEndFiller.json
│ │ │ ├── callcallcall_000_SuicideMiddleFiller.json
│ │ │ ├── callcallcall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcallcallcode_001Filler.json
│ │ │ ├── callcallcallcode_001_OOGEFiller.json
│ │ │ ├── callcallcallcode_001_OOGMAfterFiller.json
│ │ │ ├── callcallcallcode_001_OOGMBeforeFiller.json
│ │ │ ├── callcallcallcode_001_SuicideEndFiller.json
│ │ │ ├── callcallcallcode_001_SuicideMiddleFiller.json
│ │ │ ├── callcallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcallcode_01Filler.json
│ │ │ ├── callcallcode_01_OOGEFiller.json
│ │ │ ├── callcallcode_01_SuicideEndFiller.json
│ │ │ ├── callcallcodecall_010Filler.json
│ │ │ ├── callcallcodecall_010_OOGEFiller.json
│ │ │ ├── callcallcodecall_010_OOGMAfterFiller.json
│ │ │ ├── callcallcodecall_010_OOGMBeforeFiller.json
│ │ │ ├── callcallcodecall_010_SuicideEndFiller.json
│ │ │ ├── callcallcodecall_010_SuicideMiddleFiller.json
│ │ │ ├── callcallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcallcodecallcode_011Filler.json
│ │ │ ├── callcallcodecallcode_011_OOGEFiller.json
│ │ │ ├── callcallcodecallcode_011_OOGMAfterFiller.json
│ │ │ ├── callcallcodecallcode_011_OOGMBeforeFiller.json
│ │ │ ├── callcallcodecallcode_011_SuicideEndFiller.json
│ │ │ ├── callcallcodecallcode_011_SuicideMiddleFiller.json
│ │ │ ├── callcallcodecallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodeDynamicCode2SelfCallFiller.json
│ │ │ ├── callcodeDynamicCodeFiller.json
│ │ │ ├── callcodeEmptycontractFiller.json
│ │ │ ├── callcodeInInitcodeToEmptyContractFiller.json
│ │ │ ├── callcodeInInitcodeToExisContractWithVTransferNEMoneyFiller.json
│ │ │ ├── callcodeInInitcodeToExistingContractFiller.json
│ │ │ ├── callcodeInInitcodeToExistingContractWithValueTransferFiller.json
│ │ │ ├── callcode_checkPCFiller.json
│ │ │ ├── callcodecall_10Filler.json
│ │ │ ├── callcodecall_10_OOGEFiller.json
│ │ │ ├── callcodecall_10_SuicideEndFiller.json
│ │ │ ├── callcodecallcall_100Filler.json
│ │ │ ├── callcodecallcall_100_OOGEFiller.json
│ │ │ ├── callcodecallcall_100_OOGMAfterFiller.json
│ │ │ ├── callcodecallcall_100_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcall_100_SuicideEndFiller.json
│ │ │ ├── callcodecallcall_100_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcallcode_101Filler.json
│ │ │ ├── callcodecallcallcode_101_OOGEFiller.json
│ │ │ ├── callcodecallcallcode_101_OOGMAfterFiller.json
│ │ │ ├── callcodecallcallcode_101_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcallcode_101_SuicideEndFiller.json
│ │ │ ├── callcodecallcallcode_101_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcode_11Filler.json
│ │ │ ├── callcodecallcode_11_OOGEFiller.json
│ │ │ ├── callcodecallcode_11_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecall_110Filler.json
│ │ │ ├── callcodecallcodecall_110_OOGEFiller.json
│ │ │ ├── callcodecallcodecall_110_OOGMAfterFiller.json
│ │ │ ├── callcodecallcodecall_110_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcodecall_110_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecall_110_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcodecallcode_111Filler.json
│ │ │ ├── callcodecallcodecallcode_111_OOGEFiller.json
│ │ │ ├── callcodecallcodecallcode_111_OOGMAfterFiller.json
│ │ │ ├── callcodecallcodecallcode_111_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcodecallcode_111_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecallcode_111_SuicideMiddleFiller.json
│ │ │ └── callcodecallcodecallcode_ABCB_RECURSIVEFiller.json
│ │ ├── stCallCreateCallCodeTest/
│ │ │ ├── Call1024BalanceTooLowFiller.json
│ │ │ ├── Call1024OOGFiller.json
│ │ │ ├── Call1024PreCallsFiller.json
│ │ │ ├── CallLoseGasOOGFiller.json
│ │ │ ├── CallRecursiveBombPreCallFiller.json
│ │ │ ├── Callcode1024BalanceTooLowFiller.json
│ │ │ ├── Callcode1024OOGFiller.json
│ │ │ ├── CallcodeLoseGasOOGFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── callOutput1Filler.json
│ │ │ ├── callOutput2Filler.json
│ │ │ ├── callOutput3FailFiller.json
│ │ │ ├── callOutput3Filler.json
│ │ │ ├── callOutput3partialFailFiller.json
│ │ │ ├── callOutput3partialFiller.json
│ │ │ ├── callWithHighValueAndGasOOGFiller.json
│ │ │ ├── callWithHighValueAndOOGatTxLevelFiller.json
│ │ │ ├── callWithHighValueFiller.json
│ │ │ ├── callWithHighValueOOGinCallFiller.json
│ │ │ ├── callcodeOutput1Filler.json
│ │ │ ├── callcodeOutput2Filler.json
│ │ │ ├── callcodeOutput3FailFiller.json
│ │ │ ├── callcodeOutput3Filler.json
│ │ │ ├── callcodeOutput3partialFailFiller.json
│ │ │ ├── callcodeOutput3partialFiller.json
│ │ │ ├── callcodeWithHighValueAndGasOOGFiller.json
│ │ │ ├── callcodeWithHighValueFiller.json
│ │ │ ├── contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json
│ │ │ ├── createFailBalanceTooLowFiller.json
│ │ │ ├── createInitFailBadJumpDestination2Filler.json
│ │ │ ├── createInitFailBadJumpDestinationFiller.json
│ │ │ ├── createInitFailStackSizeLargerThan1024Filler.json
│ │ │ ├── createInitFailStackUnderflowFiller.json
│ │ │ ├── createInitFailUndefinedInstruction2Filler.json
│ │ │ ├── createInitFailUndefinedInstructionFiller.json
│ │ │ ├── createInitFail_OOGduringInit2Filler.json
│ │ │ ├── createInitFail_OOGduringInitFiller.json
│ │ │ ├── createInitOOGforCREATEFiller.json
│ │ │ ├── createJS_ExampleContractFiller.json
│ │ │ ├── createJS_NoCollisionFiller.json
│ │ │ ├── createNameRegistratorPerTxsFiller.json
│ │ │ ├── createNameRegistratorPerTxsNotEnoughGasFiller.json
│ │ │ ├── createNameRegistratorPreStore1NotEnoughGasFiller.json
│ │ │ └── createNameRegistratorendowmentTooHighFiller.json
│ │ ├── stCallDelegateCodesCallCodeHomestead/
│ │ │ ├── __init__.py
│ │ │ ├── callcallcallcode_001Filler.json
│ │ │ ├── callcallcallcode_001_OOGEFiller.json
│ │ │ ├── callcallcallcode_001_OOGMAfterFiller.json
│ │ │ ├── callcallcallcode_001_OOGMBeforeFiller.json
│ │ │ ├── callcallcallcode_001_SuicideEndFiller.json
│ │ │ ├── callcallcallcode_001_SuicideMiddleFiller.json
│ │ │ ├── callcallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcallcode_01Filler.json
│ │ │ ├── callcallcode_01_OOGEFiller.json
│ │ │ ├── callcallcode_01_SuicideEndFiller.json
│ │ │ ├── callcallcodecall_010Filler.json
│ │ │ ├── callcallcodecall_010_OOGEFiller.json
│ │ │ ├── callcallcodecall_010_OOGMAfterFiller.json
│ │ │ ├── callcallcodecall_010_OOGMBeforeFiller.json
│ │ │ ├── callcallcodecall_010_SuicideEndFiller.json
│ │ │ ├── callcallcodecall_010_SuicideMiddleFiller.json
│ │ │ ├── callcallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcallcodecallcode_011Filler.json
│ │ │ ├── callcallcodecallcode_011_OOGEFiller.json
│ │ │ ├── callcallcodecallcode_011_OOGMAfterFiller.json
│ │ │ ├── callcallcodecallcode_011_OOGMBeforeFiller.json
│ │ │ ├── callcallcodecallcode_011_SuicideEndFiller.json
│ │ │ ├── callcallcodecallcode_011_SuicideMiddleFiller.json
│ │ │ ├── callcallcodecallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecall_10Filler.json
│ │ │ ├── callcodecall_10_OOGEFiller.json
│ │ │ ├── callcodecall_10_SuicideEndFiller.json
│ │ │ ├── callcodecallcall_100Filler.json
│ │ │ ├── callcodecallcall_100_OOGEFiller.json
│ │ │ ├── callcodecallcall_100_OOGMAfterFiller.json
│ │ │ ├── callcodecallcall_100_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcall_100_SuicideEndFiller.json
│ │ │ ├── callcodecallcall_100_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcallcode_101Filler.json
│ │ │ ├── callcodecallcallcode_101_OOGEFiller.json
│ │ │ ├── callcodecallcallcode_101_OOGMAfterFiller.json
│ │ │ ├── callcodecallcallcode_101_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcallcode_101_SuicideEndFiller.json
│ │ │ ├── callcodecallcallcode_101_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcode_11Filler.json
│ │ │ ├── callcodecallcode_11_OOGEFiller.json
│ │ │ ├── callcodecallcode_11_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecall_110Filler.json
│ │ │ ├── callcodecallcodecall_110_OOGEFiller.json
│ │ │ ├── callcodecallcodecall_110_OOGMAfterFiller.json
│ │ │ ├── callcodecallcodecall_110_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcodecall_110_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecall_110_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcodecallcode_111Filler.json
│ │ │ ├── callcodecallcodecallcode_111_OOGEFiller.json
│ │ │ ├── callcodecallcodecallcode_111_OOGMAfterFiller.json
│ │ │ ├── callcodecallcodecallcode_111_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcodecallcode_111_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecallcode_111_SuicideMiddleFiller.json
│ │ │ └── callcodecallcodecallcode_ABCB_RECURSIVEFiller.json
│ │ ├── stCallDelegateCodesHomestead/
│ │ │ ├── __init__.py
│ │ │ ├── callcallcallcode_001Filler.json
│ │ │ ├── callcallcallcode_001_OOGEFiller.json
│ │ │ ├── callcallcallcode_001_OOGMAfterFiller.json
│ │ │ ├── callcallcallcode_001_OOGMBeforeFiller.json
│ │ │ ├── callcallcallcode_001_SuicideEndFiller.json
│ │ │ ├── callcallcallcode_001_SuicideMiddleFiller.json
│ │ │ ├── callcallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcallcode_01Filler.json
│ │ │ ├── callcallcode_01_OOGEFiller.json
│ │ │ ├── callcallcode_01_SuicideEndFiller.json
│ │ │ ├── callcallcodecall_010Filler.json
│ │ │ ├── callcallcodecall_010_OOGEFiller.json
│ │ │ ├── callcallcodecall_010_OOGMAfterFiller.json
│ │ │ ├── callcallcodecall_010_OOGMBeforeFiller.json
│ │ │ ├── callcallcodecall_010_SuicideEndFiller.json
│ │ │ ├── callcallcodecall_010_SuicideMiddleFiller.json
│ │ │ ├── callcallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcallcodecallcode_011Filler.json
│ │ │ ├── callcallcodecallcode_011_OOGEFiller.json
│ │ │ ├── callcallcodecallcode_011_OOGMAfterFiller.json
│ │ │ ├── callcallcodecallcode_011_OOGMBeforeFiller.json
│ │ │ ├── callcallcodecallcode_011_SuicideEndFiller.json
│ │ │ ├── callcallcodecallcode_011_SuicideMiddleFiller.json
│ │ │ ├── callcallcodecallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecall_10Filler.json
│ │ │ ├── callcodecall_10_OOGEFiller.json
│ │ │ ├── callcodecall_10_SuicideEndFiller.json
│ │ │ ├── callcodecallcall_100Filler.json
│ │ │ ├── callcodecallcall_100_OOGEFiller.json
│ │ │ ├── callcodecallcall_100_OOGMAfterFiller.json
│ │ │ ├── callcodecallcall_100_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcall_100_SuicideEndFiller.json
│ │ │ ├── callcodecallcall_100_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcallcode_101Filler.json
│ │ │ ├── callcodecallcallcode_101_OOGEFiller.json
│ │ │ ├── callcodecallcallcode_101_OOGMAfterFiller.json
│ │ │ ├── callcodecallcallcode_101_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcallcode_101_SuicideEndFiller.json
│ │ │ ├── callcodecallcallcode_101_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcode_11Filler.json
│ │ │ ├── callcodecallcode_11_OOGEFiller.json
│ │ │ ├── callcodecallcode_11_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecall_110Filler.json
│ │ │ ├── callcodecallcodecall_110_OOGEFiller.json
│ │ │ ├── callcodecallcodecall_110_OOGMAfterFiller.json
│ │ │ ├── callcodecallcodecall_110_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcodecall_110_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecall_110_SuicideMiddleFiller.json
│ │ │ ├── callcodecallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── callcodecallcodecallcode_111Filler.json
│ │ │ ├── callcodecallcodecallcode_111_OOGEFiller.json
│ │ │ ├── callcodecallcodecallcode_111_OOGMAfterFiller.json
│ │ │ ├── callcodecallcodecallcode_111_OOGMBeforeFiller.json
│ │ │ ├── callcodecallcodecallcode_111_SuicideEndFiller.json
│ │ │ ├── callcodecallcodecallcode_111_SuicideMiddleFiller.json
│ │ │ └── callcodecallcodecallcode_ABCB_RECURSIVEFiller.json
│ │ ├── stChainId/
│ │ │ ├── __init__.py
│ │ │ ├── chainIdFiller.json
│ │ │ └── chainIdGasCostFiller.json
│ │ ├── stCodeCopyTest/
│ │ │ ├── ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json
│ │ │ ├── ExtCodeCopyTestsParisFiller.json
│ │ │ └── __init__.py
│ │ ├── stCodeSizeLimit/
│ │ │ ├── __init__.py
│ │ │ ├── codesizeInitFiller.json
│ │ │ ├── codesizeOOGInvalidSizeFiller.json
│ │ │ ├── codesizeValidFiller.json
│ │ │ ├── create2CodeSizeLimitFiller.yml
│ │ │ └── createCodeSizeLimitFiller.yml
│ │ ├── stCreate2/
│ │ │ ├── CREATE2_Bounds2Filler.json
│ │ │ ├── CREATE2_Bounds3Filler.json
│ │ │ ├── CREATE2_BoundsFiller.json
│ │ │ ├── CREATE2_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json
│ │ │ ├── CREATE2_FirstByte_loopFiller.yml
│ │ │ ├── CREATE2_HighNonceDelegatecallFiller.yml
│ │ │ ├── CREATE2_HighNonceFiller.yml
│ │ │ ├── CREATE2_HighNonceMinus1Filler.yml
│ │ │ ├── CREATE2_SuicideFiller.json
│ │ │ ├── Create2OOGFromCallRefundsFiller.yml
│ │ │ ├── Create2OOGafterInitCodeFiller.json
│ │ │ ├── Create2OOGafterInitCodeReturndata2Filler.json
│ │ │ ├── Create2OOGafterInitCodeReturndata3Filler.json
│ │ │ ├── Create2OOGafterInitCodeReturndataFiller.json
│ │ │ ├── Create2OOGafterInitCodeReturndataSizeFiller.json
│ │ │ ├── Create2OOGafterInitCodeRevert2Filler.json
│ │ │ ├── Create2OOGafterInitCodeRevertFiller.json
│ │ │ ├── Create2OnDepth1023Filler.json
│ │ │ ├── Create2OnDepth1024Filler.json
│ │ │ ├── Create2RecursiveFiller.json
│ │ │ ├── CreateMessageRevertedFiller.json
│ │ │ ├── CreateMessageRevertedOOGInInit2Filler.json
│ │ │ ├── RevertDepthCreate2OOGBerlinFiller.json
│ │ │ ├── RevertDepthCreate2OOGFiller.json
│ │ │ ├── RevertDepthCreateAddressCollisionBerlinFiller.json
│ │ │ ├── RevertDepthCreateAddressCollisionFiller.json
│ │ │ ├── RevertInCreateInInitCreate2ParisFiller.json
│ │ │ ├── RevertOpcodeCreateFiller.json
│ │ │ ├── RevertOpcodeInCreateReturnsCreate2Filler.json
│ │ │ ├── __init__.py
│ │ │ ├── call_outsize_then_create2_successful_then_returndatasizeFiller.json
│ │ │ ├── call_then_create2_successful_then_returndatasizeFiller.json
│ │ │ ├── create2InitCodesFiller.json
│ │ │ ├── create2SmartInitCodeFiller.json
│ │ │ ├── create2callPrecompilesFiller.json
│ │ │ ├── create2checkFieldsInInitcodeFiller.json
│ │ │ ├── create2collisionBalanceFiller.json
│ │ │ ├── create2collisionCode2Filler.json
│ │ │ ├── create2collisionCodeFiller.json
│ │ │ ├── create2collisionNonceFiller.json
│ │ │ ├── create2collisionSelfdestructed2Filler.json
│ │ │ ├── create2collisionSelfdestructedFiller.json
│ │ │ ├── create2collisionSelfdestructedOOGFiller.json
│ │ │ ├── create2collisionSelfdestructedRevertFiller.json
│ │ │ ├── create2collisionStorageParisFiller.json
│ │ │ ├── create2noCashFiller.json
│ │ │ ├── returndatacopy_0_0_following_successful_createFiller.json
│ │ │ ├── returndatacopy_afterFailing_createFiller.json
│ │ │ ├── returndatacopy_following_createFiller.json
│ │ │ ├── returndatacopy_following_revert_in_createFiller.json
│ │ │ ├── returndatacopy_following_successful_createFiller.json
│ │ │ └── returndatasize_following_successful_createFiller.json
│ │ ├── stCreateTest/
│ │ │ ├── CREATE2_CallDataFiller.yml
│ │ │ ├── CREATE2_RefundEFFiller.yml
│ │ │ ├── CREATE_ContractRETURNBigOffsetFiller.yml
│ │ │ ├── CREATE_ContractSSTOREDuringInitFiller.json
│ │ │ ├── CREATE_EContractCreateEContractInInit_TrFiller.json
│ │ │ ├── CREATE_EContractCreateNEContractInInitOOG_TrFiller.json
│ │ │ ├── CREATE_EContractCreateNEContractInInit_TrFiller.json
│ │ │ ├── CREATE_EContract_ThenCALLToNonExistentAccFiller.json
│ │ │ ├── CREATE_EmptyContractAndCallIt_0weiFiller.json
│ │ │ ├── CREATE_EmptyContractAndCallIt_1weiFiller.json
│ │ │ ├── CREATE_EmptyContractFiller.json
│ │ │ ├── CREATE_EmptyContractWithBalanceFiller.json
│ │ │ ├── CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json
│ │ │ ├── CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json
│ │ │ ├── CREATE_EmptyContractWithStorageFiller.json
│ │ │ ├── CREATE_HighNonceFiller.yml
│ │ │ ├── CREATE_HighNonceMinus1Filler.yml
│ │ │ ├── CREATE_empty000CreateinInitCode_TransactionFiller.json
│ │ │ ├── CodeInConstructorFiller.yml
│ │ │ ├── CreateAddressWarmAfterFailFiller.yml
│ │ │ ├── CreateCollisionResultsFiller.yml
│ │ │ ├── CreateCollisionToEmpty2Filler.json
│ │ │ ├── CreateOOGFromCallRefundsFiller.yml
│ │ │ ├── CreateOOGFromEOARefundsFiller.yml
│ │ │ ├── CreateOOGafterInitCodeFiller.json
│ │ │ ├── CreateOOGafterInitCodeReturndata2Filler.json
│ │ │ ├── CreateOOGafterInitCodeReturndata3Filler.json
│ │ │ ├── CreateOOGafterInitCodeReturndataFiller.json
│ │ │ ├── CreateOOGafterInitCodeReturndataSizeFiller.json
│ │ │ ├── CreateOOGafterInitCodeRevert2Filler.json
│ │ │ ├── CreateOOGafterInitCodeRevertFiller.json
│ │ │ ├── CreateOOGafterMaxCodesizeFiller.yml
│ │ │ ├── CreateResultsFiller.yml
│ │ │ ├── CreateTransactionCallDataFiller.yml
│ │ │ ├── CreateTransactionHighNonceFiller.yml
│ │ │ ├── CreateTransactionRefundEFFiller.yml
│ │ │ ├── TransactionCollisionToEmpty2Filler.json
│ │ │ ├── TransactionCollisionToEmptyButCodeFiller.json
│ │ │ ├── TransactionCollisionToEmptyButNonceFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── createFailResultFiller.yml
│ │ │ └── createLargeResultFiller.yml
│ │ ├── stDelegatecallTestHomestead/
│ │ │ ├── Call1024BalanceTooLowFiller.json
│ │ │ ├── Call1024OOGFiller.json
│ │ │ ├── Call1024PreCallsFiller.json
│ │ │ ├── CallLoseGasOOGFiller.json
│ │ │ ├── CallRecursiveBombPreCallFiller.json
│ │ │ ├── CallcodeLoseGasOOGFiller.json
│ │ │ ├── Delegatecall1024Filler.json
│ │ │ ├── Delegatecall1024OOGFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── callOutput1Filler.json
│ │ │ ├── callOutput2Filler.json
│ │ │ ├── callOutput3Filler.json
│ │ │ ├── callOutput3partialFailFiller.json
│ │ │ ├── callOutput3partialFiller.json
│ │ │ ├── callWithHighValueAndGasOOGFiller.json
│ │ │ ├── callcodeOutput3Filler.json
│ │ │ ├── callcodeWithHighValueAndGasOOGFiller.json
│ │ │ ├── deleagateCallAfterValueTransferFiller.json
│ │ │ ├── delegatecallAndOOGatTxLevelFiller.json
│ │ │ ├── delegatecallBasicFiller.json
│ │ │ ├── delegatecallEmptycontractFiller.json
│ │ │ ├── delegatecallInInitcodeToEmptyContractFiller.json
│ │ │ ├── delegatecallInInitcodeToExistingContractFiller.json
│ │ │ ├── delegatecallInInitcodeToExistingContractOOGFiller.json
│ │ │ ├── delegatecallOOGinCallFiller.json
│ │ │ ├── delegatecallSenderCheckFiller.json
│ │ │ ├── delegatecallValueCheckFiller.json
│ │ │ ├── delegatecodeDynamicCode2SelfCallFiller.json
│ │ │ └── delegatecodeDynamicCodeFiller.json
│ │ ├── stEIP150Specific/
│ │ │ ├── CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json
│ │ │ ├── CallAskMoreGasOnDepth2ThenTransactionHasFiller.json
│ │ │ ├── CallGoesOOGOnSecondLevel2Filler.json
│ │ │ ├── CallGoesOOGOnSecondLevelFiller.json
│ │ │ ├── CreateAndGasInsideCreateFiller.json
│ │ │ ├── DelegateCallOnEIPFiller.json
│ │ │ ├── ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json
│ │ │ ├── NewGasPriceForCodesFiller.json
│ │ │ ├── SuicideToExistingContractFiller.json
│ │ │ ├── SuicideToNotExistingContractFiller.json
│ │ │ ├── Transaction64Rule_d64e0Filler.json
│ │ │ ├── Transaction64Rule_d64m1Filler.json
│ │ │ ├── Transaction64Rule_d64p1Filler.json
│ │ │ ├── Transaction64Rule_integerBoundariesFiller.yml
│ │ │ └── __init__.py
│ │ ├── stEIP150singleCodeGasPrices/
│ │ │ ├── RawBalanceGasFiller.json
│ │ │ ├── RawCallCodeGasAskFiller.json
│ │ │ ├── RawCallCodeGasFiller.json
│ │ │ ├── RawCallCodeGasMemoryAskFiller.json
│ │ │ ├── RawCallCodeGasMemoryFiller.json
│ │ │ ├── RawCallCodeGasValueTransferAskFiller.json
│ │ │ ├── RawCallCodeGasValueTransferFiller.json
│ │ │ ├── RawCallCodeGasValueTransferMemoryAskFiller.json
│ │ │ ├── RawCallCodeGasValueTransferMemoryFiller.json
│ │ │ ├── RawCallGasAskFiller.json
│ │ │ ├── RawCallGasFiller.json
│ │ │ ├── RawCallGasValueTransferAskFiller.json
│ │ │ ├── RawCallGasValueTransferFiller.json
│ │ │ ├── RawCallGasValueTransferMemoryAskFiller.json
│ │ │ ├── RawCallGasValueTransferMemoryFiller.json
│ │ │ ├── RawCallMemoryGasAskFiller.json
│ │ │ ├── RawCallMemoryGasFiller.json
│ │ │ ├── RawCreateFailGasValueTransfer2Filler.json
│ │ │ ├── RawCreateFailGasValueTransferFiller.json
│ │ │ ├── RawCreateGasFiller.json
│ │ │ ├── RawCreateGasMemoryFiller.json
│ │ │ ├── RawCreateGasValueTransferFiller.json
│ │ │ ├── RawCreateGasValueTransferMemoryFiller.json
│ │ │ ├── RawDelegateCallGasAskFiller.json
│ │ │ ├── RawDelegateCallGasFiller.json
│ │ │ ├── RawDelegateCallGasMemoryAskFiller.json
│ │ │ ├── RawDelegateCallGasMemoryFiller.json
│ │ │ ├── RawExtCodeCopyGasFiller.json
│ │ │ ├── RawExtCodeCopyMemoryGasFiller.json
│ │ │ ├── RawExtCodeSizeGasFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── eip2929-ffFiller.yml
│ │ │ ├── eip2929Filler.yml
│ │ │ ├── eip2929OOGFiller.yml
│ │ │ ├── gasCostBerlinFiller.yml
│ │ │ ├── gasCostExpFiller.yml
│ │ │ ├── gasCostFiller.yml
│ │ │ ├── gasCostJumpFiller.yml
│ │ │ ├── gasCostMemSegFiller.yml
│ │ │ ├── gasCostMemoryFiller.yml
│ │ │ └── gasCostReturnFiller.yml
│ │ ├── stEIP1559/
│ │ │ ├── __init__.py
│ │ │ ├── baseFeeDiffPlacesFiller.yml
│ │ │ ├── baseFeeDiffPlacesOsakaFiller.yml
│ │ │ ├── gasPriceDiffPlacesFiller.yml
│ │ │ ├── gasPriceDiffPlacesOsakaFiller.yml
│ │ │ ├── lowFeeCapFiller.yml
│ │ │ ├── lowGasLimitFiller.yml
│ │ │ ├── lowGasPriceOldTypesFiller.yml
│ │ │ ├── outOfFundsFiller.yml
│ │ │ ├── outOfFundsOldTypesFiller.yml
│ │ │ ├── senderBalanceFiller.yml
│ │ │ ├── tipTooHighFiller.yml
│ │ │ ├── transactionIntinsicBug_ParisFiller.yml
│ │ │ ├── typeTwoBerlinFiller.yml
│ │ │ └── valCausesOOFFiller.yml
│ │ ├── stEIP158Specific/
│ │ │ ├── CALL_OneVCallSuicide2Filler.json
│ │ │ ├── CALL_OneVCallSuicideFiller.json
│ │ │ ├── CALL_ZeroVCallSuicideFiller.json
│ │ │ ├── EXP_EmptyFiller.json
│ │ │ ├── EXTCODESIZE_toEpmtyParisFiller.json
│ │ │ ├── EXTCODESIZE_toNonExistentFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── callToEmptyThenCallErrorParisFiller.json
│ │ │ └── vitalikTransactionTestParisFiller.json
│ │ ├── stEIP2930/
│ │ │ ├── __init__.py
│ │ │ ├── addressOpcodesFiller.yml
│ │ │ ├── coinbaseT01Filler.yml
│ │ │ ├── coinbaseT2Filler.yml
│ │ │ ├── manualCreateFiller.yml
│ │ │ ├── storageCostsFiller.yml
│ │ │ ├── transactionCostsFiller.yml
│ │ │ └── variedContextFiller.yml
│ │ ├── stEIP3607/
│ │ │ ├── __init__.py
│ │ │ ├── initCollidingWithNonEmptyAccountFiller.yml
│ │ │ ├── transactionCollidingWithNonEmptyAccount_callsFiller.yml
│ │ │ ├── transactionCollidingWithNonEmptyAccount_callsItselfFiller.yml
│ │ │ ├── transactionCollidingWithNonEmptyAccount_init_ParisFiller.yml
│ │ │ └── transactionCollidingWithNonEmptyAccount_send_ParisFiller.yml
│ │ ├── stExample/
│ │ │ ├── __init__.py
│ │ │ ├── accessListExampleFiller.yml
│ │ │ ├── add11Filler.json
│ │ │ ├── add11_ymlFiller.yml
│ │ │ ├── basefeeExampleFiller.yml
│ │ │ ├── eip1559Filler.yml
│ │ │ ├── indexesOmitExampleFiller.yml
│ │ │ ├── invalidTrFiller.json
│ │ │ ├── labelsExampleFiller.yml
│ │ │ ├── mergeTestFiller.yml
│ │ │ ├── rangesExampleFiller.yml
│ │ │ └── yulExampleFiller.yml
│ │ ├── stExtCodeHash/
│ │ │ ├── __init__.py
│ │ │ ├── callToNonExistentFiller.json
│ │ │ ├── callToSuicideThenExtcodehashFiller.json
│ │ │ ├── codeCopyZero_ParisFiller.yml
│ │ │ ├── createEmptyThenExtcodehashFiller.json
│ │ │ ├── dynamicAccountOverwriteEmpty_ParisFiller.yml
│ │ │ ├── extCodeCopyBoundsFiller.yml
│ │ │ ├── extCodeHashAccountWithoutCodeFiller.yml
│ │ │ ├── extCodeHashCALLCODEFiller.json
│ │ │ ├── extCodeHashCALLFiller.json
│ │ │ ├── extCodeHashChangedAccountFiller.json
│ │ │ ├── extCodeHashCreatedAndDeletedAccountCallFiller.json
│ │ │ ├── extCodeHashCreatedAndDeletedAccountFiller.json
│ │ │ ├── extCodeHashCreatedAndDeletedAccountRecheckInOuterCallFiller.json
│ │ │ ├── extCodeHashCreatedAndDeletedAccountStaticCallFiller.json
│ │ │ ├── extCodeHashDELEGATECALLFiller.json
│ │ │ ├── extCodeHashDeletedAccount1CancunFiller.yml
│ │ │ ├── extCodeHashDeletedAccount1Filler.yml
│ │ │ ├── extCodeHashDeletedAccount2CancunFiller.yml
│ │ │ ├── extCodeHashDeletedAccount2Filler.yml
│ │ │ ├── extCodeHashDeletedAccount3Filler.yml
│ │ │ ├── extCodeHashDeletedAccount4Filler.yml
│ │ │ ├── extCodeHashDeletedAccountCancunFiller.yml
│ │ │ ├── extCodeHashDeletedAccountFiller.yml
│ │ │ ├── extCodeHashDynamicArgumentFiller.json
│ │ │ ├── extCodeHashInInitCodeFiller.json
│ │ │ ├── extCodeHashMaxCodeSizeFiller.yml
│ │ │ ├── extCodeHashNewAccountFiller.json
│ │ │ ├── extCodeHashNonExistingAccountFiller.yml
│ │ │ ├── extCodeHashPrecompilesFiller.yml
│ │ │ ├── extCodeHashSTATICCALLFiller.json
│ │ │ ├── extCodeHashSelfFiller.json
│ │ │ ├── extCodeHashSelfInInitFiller.json
│ │ │ ├── extCodeHashSubcallOOGFiller.yml
│ │ │ ├── extCodeHashSubcallSuicideCancunFiller.yml
│ │ │ ├── extCodeHashSubcallSuicideFiller.yml
│ │ │ └── extcodehashEmpty_ParisFiller.yml
│ │ ├── stHomesteadSpecific/
│ │ │ ├── __init__.py
│ │ │ ├── contractCreationOOGdontLeaveEmptyContractFiller.json
│ │ │ ├── contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json
│ │ │ ├── createContractViaContractFiller.json
│ │ │ ├── createContractViaContractOOGInitCodeFiller.json
│ │ │ └── createContractViaTransactionCost53000Filler.json
│ │ ├── stInitCodeTest/
│ │ │ ├── CallContractToCreateContractAndCallItOOGFiller.json
│ │ │ ├── CallContractToCreateContractNoCashFiller.json
│ │ │ ├── CallContractToCreateContractOOGBonusGasFiller.json
│ │ │ ├── CallContractToCreateContractOOGFiller.json
│ │ │ ├── CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json
│ │ │ ├── CallContractToCreateContractWhichWouldCreateContractInInitCodeFiller.json
│ │ │ ├── CallRecursiveContractFiller.json
│ │ │ ├── CallTheContractToCreateEmptyContractFiller.json
│ │ │ ├── OutOfGasContractCreationFiller.json
│ │ │ ├── OutOfGasPrefundedContractCreationFiller.json
│ │ │ ├── ReturnTest2Filler.json
│ │ │ ├── ReturnTestFiller.json
│ │ │ ├── StackUnderFlowContractCreationFiller.json
│ │ │ ├── TransactionCreateAutoSuicideContractFiller.json
│ │ │ ├── TransactionCreateRandomInitCodeFiller.json
│ │ │ ├── TransactionCreateStopInInitcodeFiller.json
│ │ │ ├── TransactionCreateSuicideInInitcodeFiller.json
│ │ │ └── __init__.py
│ │ ├── stLogTests/
│ │ │ ├── __init__.py
│ │ │ ├── log0_emptyMemFiller.json
│ │ │ ├── log0_logMemStartTooHighFiller.json
│ │ │ ├── log0_logMemsizeTooHighFiller.json
│ │ │ ├── log0_logMemsizeZeroFiller.json
│ │ │ ├── log0_nonEmptyMemFiller.json
│ │ │ ├── log0_nonEmptyMem_logMemSize1Filler.json
│ │ │ ├── log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json
│ │ │ ├── log1_CallerFiller.json
│ │ │ ├── log1_MaxTopicFiller.json
│ │ │ ├── log1_emptyMemFiller.json
│ │ │ ├── log1_logMemStartTooHighFiller.json
│ │ │ ├── log1_logMemsizeTooHighFiller.json
│ │ │ ├── log1_logMemsizeZeroFiller.json
│ │ │ ├── log1_nonEmptyMemFiller.json
│ │ │ ├── log1_nonEmptyMem_logMemSize1Filler.json
│ │ │ ├── log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json
│ │ │ ├── log2_CallerFiller.json
│ │ │ ├── log2_MaxTopicFiller.json
│ │ │ ├── log2_emptyMemFiller.json
│ │ │ ├── log2_logMemStartTooHighFiller.json
│ │ │ ├── log2_logMemsizeTooHighFiller.json
│ │ │ ├── log2_logMemsizeZeroFiller.json
│ │ │ ├── log2_nonEmptyMemFiller.json
│ │ │ ├── log2_nonEmptyMem_logMemSize1Filler.json
│ │ │ ├── log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json
│ │ │ ├── log3_CallerFiller.json
│ │ │ ├── log3_MaxTopicFiller.json
│ │ │ ├── log3_PCFiller.json
│ │ │ ├── log3_emptyMemFiller.json
│ │ │ ├── log3_logMemStartTooHighFiller.json
│ │ │ ├── log3_logMemsizeTooHighFiller.json
│ │ │ ├── log3_logMemsizeZeroFiller.json
│ │ │ ├── log3_nonEmptyMemFiller.json
│ │ │ ├── log3_nonEmptyMem_logMemSize1Filler.json
│ │ │ ├── log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json
│ │ │ ├── log4_CallerFiller.json
│ │ │ ├── log4_MaxTopicFiller.json
│ │ │ ├── log4_PCFiller.json
│ │ │ ├── log4_emptyMemFiller.json
│ │ │ ├── log4_logMemStartTooHighFiller.json
│ │ │ ├── log4_logMemsizeTooHighFiller.json
│ │ │ ├── log4_logMemsizeZeroFiller.json
│ │ │ ├── log4_nonEmptyMemFiller.json
│ │ │ ├── log4_nonEmptyMem_logMemSize1Filler.json
│ │ │ ├── log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json
│ │ │ └── logInOOG_CallFiller.json
│ │ ├── stMemExpandingEIP150Calls/
│ │ │ ├── CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCallsFiller.json
│ │ │ ├── CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCallsFiller.json
│ │ │ ├── CallGoesOOGOnSecondLevel2WithMemExpandingCallsFiller.json
│ │ │ ├── CallGoesOOGOnSecondLevelWithMemExpandingCallsFiller.json
│ │ │ ├── CreateAndGasInsideCreateWithMemExpandingCallsFiller.json
│ │ │ ├── DelegateCallOnEIPWithMemExpandingCallsFiller.json
│ │ │ ├── ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCallsFiller.json
│ │ │ ├── NewGasPriceForCodesWithMemExpandingCallsFiller.json
│ │ │ ├── OOGinReturnFiller.yml
│ │ │ └── __init__.py
│ │ ├── stMemoryStressTest/
│ │ │ ├── CALLCODE_Bounds2Filler.json
│ │ │ ├── CALLCODE_Bounds3Filler.json
│ │ │ ├── CALLCODE_Bounds4Filler.json
│ │ │ ├── CALLCODE_BoundsFiller.json
│ │ │ ├── CALL_Bounds2Filler.json
│ │ │ ├── CALL_Bounds2aFiller.json
│ │ │ ├── CALL_Bounds3Filler.json
│ │ │ ├── CALL_BoundsFiller.json
│ │ │ ├── CREATE_Bounds2Filler.json
│ │ │ ├── CREATE_Bounds3Filler.json
│ │ │ ├── CREATE_BoundsFiller.json
│ │ │ ├── DELEGATECALL_Bounds2Filler.json
│ │ │ ├── DELEGATECALL_Bounds3Filler.json
│ │ │ ├── DELEGATECALL_BoundsFiller.json
│ │ │ ├── DUP_BoundsFiller.json
│ │ │ ├── FillStackFiller.json
│ │ │ ├── JUMPI_BoundsFiller.json
│ │ │ ├── JUMP_Bounds2Filler.json
│ │ │ ├── JUMP_BoundsFiller.json
│ │ │ ├── MLOAD_Bounds2Filler.json
│ │ │ ├── MLOAD_Bounds3Filler.json
│ │ │ ├── MLOAD_BoundsFiller.json
│ │ │ ├── MSTORE_Bounds2Filler.json
│ │ │ ├── MSTORE_Bounds2aFiller.json
│ │ │ ├── MSTORE_BoundsFiller.json
│ │ │ ├── POP_BoundsFiller.json
│ │ │ ├── RETURN_BoundsFiller.json
│ │ │ ├── SLOAD_BoundsFiller.json
│ │ │ ├── SSTORE_BoundsFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── mload32bitBound2Filler.json
│ │ │ ├── mload32bitBoundFiller.json
│ │ │ ├── mload32bitBound_MsizeFiller.json
│ │ │ ├── mload32bitBound_return2Filler.json
│ │ │ ├── mload32bitBound_returnFiller.json
│ │ │ ├── static_CALL_Bounds2Filler.json
│ │ │ ├── static_CALL_Bounds2aFiller.json
│ │ │ ├── static_CALL_Bounds3Filler.json
│ │ │ └── static_CALL_BoundsFiller.json
│ │ ├── stMemoryTest/
│ │ │ ├── __init__.py
│ │ │ ├── bufferFiller.yml
│ │ │ ├── bufferSrcOffsetFiller.yml
│ │ │ ├── callDataCopyOffsetFiller.json
│ │ │ ├── calldatacopy_dejavu2Filler.json
│ │ │ ├── calldatacopy_dejavuFiller.json
│ │ │ ├── codeCopyOffsetFiller.json
│ │ │ ├── codecopy_dejavu2Filler.json
│ │ │ ├── codecopy_dejavuFiller.json
│ │ │ ├── extcodecopy_dejavuFiller.json
│ │ │ ├── log1_dejavuFiller.json
│ │ │ ├── log2_dejavuFiller.json
│ │ │ ├── log3_dejavuFiller.json
│ │ │ ├── log4_dejavuFiller.json
│ │ │ ├── mem0b_singleByteFiller.json
│ │ │ ├── mem31b_singleByteFiller.json
│ │ │ ├── mem32b_singleByteFiller.json
│ │ │ ├── mem32kb+1Filler.json
│ │ │ ├── mem32kb+31Filler.json
│ │ │ ├── mem32kb+32Filler.json
│ │ │ ├── mem32kb+33Filler.json
│ │ │ ├── mem32kb-1Filler.json
│ │ │ ├── mem32kb-31Filler.json
│ │ │ ├── mem32kb-32Filler.json
│ │ │ ├── mem32kb-33Filler.json
│ │ │ ├── mem32kbFiller.json
│ │ │ ├── mem32kb_singleByte+1Filler.json
│ │ │ ├── mem32kb_singleByte+31Filler.json
│ │ │ ├── mem32kb_singleByte+32Filler.json
│ │ │ ├── mem32kb_singleByte+33Filler.json
│ │ │ ├── mem32kb_singleByte-1Filler.json
│ │ │ ├── mem32kb_singleByte-31Filler.json
│ │ │ ├── mem32kb_singleByte-32Filler.json
│ │ │ ├── mem32kb_singleByte-33Filler.json
│ │ │ ├── mem32kb_singleByteFiller.json
│ │ │ ├── mem33b_singleByteFiller.json
│ │ │ ├── mem64kb+1Filler.json
│ │ │ ├── mem64kb+31Filler.json
│ │ │ ├── mem64kb+32Filler.json
│ │ │ ├── mem64kb+33Filler.json
│ │ │ ├── mem64kb-1Filler.json
│ │ │ ├── mem64kb-31Filler.json
│ │ │ ├── mem64kb-32Filler.json
│ │ │ ├── mem64kb-33Filler.json
│ │ │ ├── mem64kbFiller.json
│ │ │ ├── mem64kb_singleByte+1Filler.json
│ │ │ ├── mem64kb_singleByte+31Filler.json
│ │ │ ├── mem64kb_singleByte+32Filler.json
│ │ │ ├── mem64kb_singleByte+33Filler.json
│ │ │ ├── mem64kb_singleByte-1Filler.json
│ │ │ ├── mem64kb_singleByte-31Filler.json
│ │ │ ├── mem64kb_singleByte-32Filler.json
│ │ │ ├── mem64kb_singleByte-33Filler.json
│ │ │ ├── mem64kb_singleByteFiller.json
│ │ │ ├── memCopySelfFiller.yml
│ │ │ ├── memReturnFiller.json
│ │ │ ├── mload16bitBoundFiller.json
│ │ │ ├── mload8bitBoundFiller.json
│ │ │ ├── mload_dejavuFiller.json
│ │ │ ├── mstore_dejavuFiller.json
│ │ │ ├── mstroe8_dejavuFiller.json
│ │ │ ├── oogFiller.yml
│ │ │ ├── sha3_dejavuFiller.json
│ │ │ ├── stackLimitGas_1023Filler.json
│ │ │ ├── stackLimitGas_1024Filler.json
│ │ │ ├── stackLimitGas_1025Filler.json
│ │ │ ├── stackLimitPush31_1023Filler.json
│ │ │ ├── stackLimitPush31_1024Filler.json
│ │ │ ├── stackLimitPush31_1025Filler.json
│ │ │ ├── stackLimitPush32_1023Filler.json
│ │ │ ├── stackLimitPush32_1024Filler.json
│ │ │ └── stackLimitPush32_1025Filler.json
│ │ ├── stNonZeroCallsTest/
│ │ │ ├── NonZeroValue_CALLCODEFiller.json
│ │ │ ├── NonZeroValue_CALLCODE_ToEmpty_ParisFiller.json
│ │ │ ├── NonZeroValue_CALLCODE_ToNonNonZeroBalanceFiller.json
│ │ │ ├── NonZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json
│ │ │ ├── NonZeroValue_CALLFiller.json
│ │ │ ├── NonZeroValue_CALL_ToEmpty_ParisFiller.json
│ │ │ ├── NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json
│ │ │ ├── NonZeroValue_CALL_ToOneStorageKey_ParisFiller.json
│ │ │ ├── NonZeroValue_DELEGATECALLFiller.json
│ │ │ ├── NonZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json
│ │ │ ├── NonZeroValue_DELEGATECALL_ToNonNonZeroBalanceFiller.json
│ │ │ ├── NonZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json
│ │ │ ├── NonZeroValue_SUICIDEFiller.json
│ │ │ ├── NonZeroValue_SUICIDE_ToEmpty_ParisFiller.json
│ │ │ ├── NonZeroValue_SUICIDE_ToNonNonZeroBalanceFiller.json
│ │ │ ├── NonZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json
│ │ │ ├── NonZeroValue_TransactionCALLFiller.json
│ │ │ ├── NonZeroValue_TransactionCALL_ToEmpty_ParisFiller.json
│ │ │ ├── NonZeroValue_TransactionCALL_ToNonNonZeroBalanceFiller.json
│ │ │ ├── NonZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json
│ │ │ ├── NonZeroValue_TransactionCALLwithDataFiller.json
│ │ │ ├── NonZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json
│ │ │ ├── NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalanceFiller.json
│ │ │ ├── NonZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json
│ │ │ └── __init__.py
│ │ ├── stPreCompiledContracts/
│ │ │ ├── __init__.py
│ │ │ ├── modexpFiller.json
│ │ │ ├── modexpTestsFiller.yml
│ │ │ ├── precompsEIP2929CancunFiller.yml
│ │ │ └── sec80Filler.json
│ │ ├── stPreCompiledContracts2/
│ │ │ ├── CALLCODEEcrecover0Filler.json
│ │ │ ├── CALLCODEEcrecover0_0inputFiller.json
│ │ │ ├── CALLCODEEcrecover0_Gas2999Filler.json
│ │ │ ├── CALLCODEEcrecover0_NoGasFiller.json
│ │ │ ├── CALLCODEEcrecover0_completeReturnValueFiller.json
│ │ │ ├── CALLCODEEcrecover0_gas3000Filler.json
│ │ │ ├── CALLCODEEcrecover0_overlappingInputOutputFiller.json
│ │ │ ├── CALLCODEEcrecover1Filler.json
│ │ │ ├── CALLCODEEcrecover2Filler.json
│ │ │ ├── CALLCODEEcrecover3Filler.json
│ │ │ ├── CALLCODEEcrecover80Filler.json
│ │ │ ├── CALLCODEEcrecoverH_prefixed0Filler.json
│ │ │ ├── CALLCODEEcrecoverR_prefixed0Filler.json
│ │ │ ├── CALLCODEEcrecoverS_prefixed0Filler.json
│ │ │ ├── CALLCODEEcrecoverV_prefixed0Filler.json
│ │ │ ├── CALLCODEEcrecoverV_prefixedf0Filler.json
│ │ │ ├── CALLCODERipemd160_0Filler.json
│ │ │ ├── CALLCODERipemd160_1Filler.json
│ │ │ ├── CALLCODERipemd160_2Filler.json
│ │ │ ├── CALLCODERipemd160_3Filler.json
│ │ │ ├── CALLCODERipemd160_3_postfixed0Filler.json
│ │ │ ├── CALLCODERipemd160_3_prefixed0Filler.json
│ │ │ ├── CALLCODERipemd160_4Filler.json
│ │ │ ├── CALLCODERipemd160_4_gas719Filler.json
│ │ │ ├── CALLCODERipemd160_5Filler.json
│ │ │ ├── CALLCODESha256_0Filler.json
│ │ │ ├── CALLCODESha256_1Filler.json
│ │ │ ├── CALLCODESha256_1_nonzeroValueFiller.json
│ │ │ ├── CALLCODESha256_2Filler.json
│ │ │ ├── CALLCODESha256_3Filler.json
│ │ │ ├── CALLCODESha256_3_postfix0Filler.json
│ │ │ ├── CALLCODESha256_3_prefix0Filler.json
│ │ │ ├── CALLCODESha256_4Filler.json
│ │ │ ├── CALLCODESha256_4_gas99Filler.json
│ │ │ ├── CALLCODESha256_5Filler.json
│ │ │ ├── CallEcrecover0Filler.json
│ │ │ ├── CallEcrecover0_0inputFiller.json
│ │ │ ├── CallEcrecover0_Gas2999Filler.json
│ │ │ ├── CallEcrecover0_NoGasFiller.json
│ │ │ ├── CallEcrecover0_completeReturnValueFiller.json
│ │ │ ├── CallEcrecover0_gas3000Filler.json
│ │ │ ├── CallEcrecover0_overlappingInputOutputFiller.json
│ │ │ ├── CallEcrecover1Filler.json
│ │ │ ├── CallEcrecover2Filler.json
│ │ │ ├── CallEcrecover3Filler.json
│ │ │ ├── CallEcrecover80Filler.json
│ │ │ ├── CallEcrecoverCheckLengthFiller.json
│ │ │ ├── CallEcrecoverCheckLengthWrongVFiller.json
│ │ │ ├── CallEcrecoverH_prefixed0Filler.json
│ │ │ ├── CallEcrecoverInvalidSignatureFiller.json
│ │ │ ├── CallEcrecoverR_prefixed0Filler.json
│ │ │ ├── CallEcrecoverS_prefixed0Filler.json
│ │ │ ├── CallEcrecoverUnrecoverableKeyFiller.json
│ │ │ ├── CallEcrecoverV_prefixed0Filler.json
│ │ │ ├── CallEcrecover_OverflowFiller.yml
│ │ │ ├── CallRipemd160_0Filler.json
│ │ │ ├── CallRipemd160_1Filler.json
│ │ │ ├── CallRipemd160_2Filler.json
│ │ │ ├── CallRipemd160_3Filler.json
│ │ │ ├── CallRipemd160_3_postfixed0Filler.json
│ │ │ ├── CallRipemd160_3_prefixed0Filler.json
│ │ │ ├── CallRipemd160_4Filler.json
│ │ │ ├── CallRipemd160_4_gas719Filler.json
│ │ │ ├── CallRipemd160_5Filler.json
│ │ │ ├── CallSha256_0Filler.json
│ │ │ ├── CallSha256_1Filler.json
│ │ │ ├── CallSha256_1_nonzeroValueFiller.json
│ │ │ ├── CallSha256_2Filler.json
│ │ │ ├── CallSha256_3Filler.json
│ │ │ ├── CallSha256_3_postfix0Filler.json
│ │ │ ├── CallSha256_3_prefix0Filler.json
│ │ │ ├── CallSha256_4Filler.json
│ │ │ ├── CallSha256_4_gas99Filler.json
│ │ │ ├── CallSha256_5Filler.json
│ │ │ ├── __init__.py
│ │ │ ├── ecrecoverShortBuffFiller.yml
│ │ │ ├── ecrecoverWeirdVFiller.yml
│ │ │ ├── modexpRandomInputFiller.json
│ │ │ ├── modexp_0_0_0_20500Filler.json
│ │ │ ├── modexp_0_0_0_22000Filler.json
│ │ │ ├── modexp_0_0_0_25000Filler.json
│ │ │ └── modexp_0_0_0_35000Filler.json
│ │ ├── stQuadraticComplexityTest/
│ │ │ ├── Call1MB1024CalldepthFiller.json
│ │ │ ├── Call20KbytesContract50_1Filler.json
│ │ │ ├── Call20KbytesContract50_2Filler.json
│ │ │ ├── Call20KbytesContract50_3Filler.json
│ │ │ ├── Call50000Filler.json
│ │ │ ├── Call50000_ecrecFiller.json
│ │ │ ├── Call50000_identity2Filler.json
│ │ │ ├── Call50000_identityFiller.json
│ │ │ ├── Call50000_rip160Filler.json
│ │ │ ├── Call50000_sha256Filler.json
│ │ │ ├── Callcode50000Filler.json
│ │ │ ├── Create1000ByzantiumFiller.json
│ │ │ ├── Create1000Filler.json
│ │ │ ├── Create1000ShnghaiFiller.json
│ │ │ ├── QuadraticComplexitySolidity_CallDataCopyFiller.json
│ │ │ ├── Return50000Filler.json
│ │ │ ├── Return50000_2Filler.json
│ │ │ └── __init__.py
│ │ ├── stRandom/
│ │ │ ├── __init__.py
│ │ │ ├── randomStatetest0Filler.json
│ │ │ ├── randomStatetest100Filler.json
│ │ │ ├── randomStatetest102Filler.json
│ │ │ ├── randomStatetest103Filler.json
│ │ │ ├── randomStatetest104Filler.json
│ │ │ ├── randomStatetest105Filler.json
│ │ │ ├── randomStatetest106Filler.json
│ │ │ ├── randomStatetest107Filler.json
│ │ │ ├── randomStatetest108Filler.json
│ │ │ ├── randomStatetest10Filler.json
│ │ │ ├── randomStatetest110Filler.json
│ │ │ ├── randomStatetest111Filler.json
│ │ │ ├── randomStatetest112Filler.json
│ │ │ ├── randomStatetest114Filler.json
│ │ │ ├── randomStatetest115Filler.json
│ │ │ ├── randomStatetest116Filler.json
│ │ │ ├── randomStatetest117Filler.json
│ │ │ ├── randomStatetest118Filler.json
│ │ │ ├── randomStatetest119Filler.json
│ │ │ ├── randomStatetest11Filler.json
│ │ │ ├── randomStatetest120Filler.json
│ │ │ ├── randomStatetest121Filler.json
│ │ │ ├── randomStatetest122Filler.json
│ │ │ ├── randomStatetest124Filler.json
│ │ │ ├── randomStatetest125Filler.json
│ │ │ ├── randomStatetest126Filler.json
│ │ │ ├── randomStatetest129Filler.json
│ │ │ ├── randomStatetest12Filler.json
│ │ │ ├── randomStatetest130Filler.json
│ │ │ ├── randomStatetest131Filler.json
│ │ │ ├── randomStatetest133Filler.json
│ │ │ ├── randomStatetest134Filler.json
│ │ │ ├── randomStatetest135Filler.json
│ │ │ ├── randomStatetest137Filler.json
│ │ │ ├── randomStatetest138Filler.json
│ │ │ ├── randomStatetest139Filler.json
│ │ │ ├── randomStatetest13Filler.json
│ │ │ ├── randomStatetest142Filler.json
│ │ │ ├── randomStatetest143Filler.json
│ │ │ ├── randomStatetest144Filler.json
│ │ │ ├── randomStatetest145Filler.json
│ │ │ ├── randomStatetest146Filler.json
│ │ │ ├── randomStatetest147Filler.json
│ │ │ ├── randomStatetest148Filler.json
│ │ │ ├── randomStatetest149Filler.json
│ │ │ ├── randomStatetest14Filler.json
│ │ │ ├── randomStatetest150Filler.json
│ │ │ ├── randomStatetest151Filler.json
│ │ │ ├── randomStatetest153Filler.json
│ │ │ ├── randomStatetest154Filler.json
│ │ │ ├── randomStatetest155Filler.json
│ │ │ ├── randomStatetest156Filler.json
│ │ │ ├── randomStatetest157Filler.json
│ │ │ ├── randomStatetest158Filler.json
│ │ │ ├── randomStatetest159Filler.json
│ │ │ ├── randomStatetest15Filler.json
│ │ │ ├── randomStatetest161Filler.json
│ │ │ ├── randomStatetest162Filler.json
│ │ │ ├── randomStatetest163Filler.json
│ │ │ ├── randomStatetest164Filler.json
│ │ │ ├── randomStatetest166Filler.json
│ │ │ ├── randomStatetest167Filler.json
│ │ │ ├── randomStatetest169Filler.json
│ │ │ ├── randomStatetest16Filler.json
│ │ │ ├── randomStatetest171Filler.json
│ │ │ ├── randomStatetest172Filler.json
│ │ │ ├── randomStatetest173Filler.json
│ │ │ ├── randomStatetest174Filler.json
│ │ │ ├── randomStatetest175Filler.json
│ │ │ ├── randomStatetest176Filler.json
│ │ │ ├── randomStatetest177Filler.json
│ │ │ ├── randomStatetest178Filler.json
│ │ │ ├── randomStatetest179Filler.json
│ │ │ ├── randomStatetest17Filler.json
│ │ │ ├── randomStatetest180Filler.json
│ │ │ ├── randomStatetest183Filler.json
│ │ │ ├── randomStatetest184Filler.json
│ │ │ ├── randomStatetest185Filler.json
│ │ │ ├── randomStatetest187Filler.json
│ │ │ ├── randomStatetest188Filler.json
│ │ │ ├── randomStatetest189Filler.json
│ │ │ ├── randomStatetest18Filler.json
│ │ │ ├── randomStatetest190Filler.json
│ │ │ ├── randomStatetest191Filler.json
│ │ │ ├── randomStatetest192Filler.json
│ │ │ ├── randomStatetest194Filler.json
│ │ │ ├── randomStatetest195Filler.json
│ │ │ ├── randomStatetest196Filler.json
│ │ │ ├── randomStatetest197Filler.json
│ │ │ ├── randomStatetest198Filler.json
│ │ │ ├── randomStatetest199Filler.json
│ │ │ ├── randomStatetest19Filler.json
│ │ │ ├── randomStatetest1Filler.json
│ │ │ ├── randomStatetest200Filler.json
│ │ │ ├── randomStatetest201Filler.json
│ │ │ ├── randomStatetest202Filler.json
│ │ │ ├── randomStatetest204Filler.json
│ │ │ ├── randomStatetest205Filler.json
│ │ │ ├── randomStatetest206Filler.json
│ │ │ ├── randomStatetest207Filler.json
│ │ │ ├── randomStatetest208Filler.json
│ │ │ ├── randomStatetest209Filler.json
│ │ │ ├── randomStatetest20Filler.json
│ │ │ ├── randomStatetest210Filler.json
│ │ │ ├── randomStatetest211Filler.json
│ │ │ ├── randomStatetest212Filler.json
│ │ │ ├── randomStatetest214Filler.json
│ │ │ ├── randomStatetest215Filler.json
│ │ │ ├── randomStatetest216Filler.json
│ │ │ ├── randomStatetest217Filler.json
│ │ │ ├── randomStatetest219Filler.json
│ │ │ ├── randomStatetest220Filler.json
│ │ │ ├── randomStatetest221Filler.json
│ │ │ ├── randomStatetest222Filler.json
│ │ │ ├── randomStatetest225Filler.json
│ │ │ ├── randomStatetest226Filler.json
│ │ │ ├── randomStatetest227Filler.json
│ │ │ ├── randomStatetest228Filler.json
│ │ │ ├── randomStatetest22Filler.json
│ │ │ ├── randomStatetest230Filler.json
│ │ │ ├── randomStatetest231Filler.json
│ │ │ ├── randomStatetest232Filler.json
│ │ │ ├── randomStatetest233Filler.json
│ │ │ ├── randomStatetest236Filler.json
│ │ │ ├── randomStatetest237Filler.json
│ │ │ ├── randomStatetest238Filler.json
│ │ │ ├── randomStatetest23Filler.json
│ │ │ ├── randomStatetest242Filler.json
│ │ │ ├── randomStatetest243Filler.json
│ │ │ ├── randomStatetest244Filler.json
│ │ │ ├── randomStatetest245Filler.json
│ │ │ ├── randomStatetest246Filler.json
│ │ │ ├── randomStatetest247Filler.json
│ │ │ ├── randomStatetest248Filler.json
│ │ │ ├── randomStatetest249Filler.json
│ │ │ ├── randomStatetest24Filler.json
│ │ │ ├── randomStatetest250Filler.json
│ │ │ ├── randomStatetest251Filler.json
│ │ │ ├── randomStatetest252Filler.json
│ │ │ ├── randomStatetest254Filler.json
│ │ │ ├── randomStatetest257Filler.json
│ │ │ ├── randomStatetest259Filler.json
│ │ │ ├── randomStatetest25Filler.json
│ │ │ ├── randomStatetest260Filler.json
│ │ │ ├── randomStatetest261Filler.json
│ │ │ ├── randomStatetest263Filler.json
│ │ │ ├── randomStatetest264Filler.json
│ │ │ ├── randomStatetest265Filler.json
│ │ │ ├── randomStatetest266Filler.json
│ │ │ ├── randomStatetest267Filler.json
│ │ │ ├── randomStatetest268Filler.json
│ │ │ ├── randomStatetest269Filler.json
│ │ │ ├── randomStatetest26Filler.json
│ │ │ ├── randomStatetest270Filler.json
│ │ │ ├── randomStatetest271Filler.json
│ │ │ ├── randomStatetest273Filler.json
│ │ │ ├── randomStatetest274Filler.json
│ │ │ ├── randomStatetest275Filler.json
│ │ │ ├── randomStatetest276Filler.json
│ │ │ ├── randomStatetest278Filler.json
│ │ │ ├── randomStatetest279Filler.json
│ │ │ ├── randomStatetest27Filler.json
│ │ │ ├── randomStatetest280Filler.json
│ │ │ ├── randomStatetest281Filler.json
│ │ │ ├── randomStatetest282Filler.json
│ │ │ ├── randomStatetest283Filler.json
│ │ │ ├── randomStatetest285Filler.json
│ │ │ ├── randomStatetest286Filler.json
│ │ │ ├── randomStatetest287Filler.json
│ │ │ ├── randomStatetest288Filler.json
│ │ │ ├── randomStatetest28Filler.json
│ │ │ ├── randomStatetest290Filler.json
│ │ │ ├── randomStatetest291Filler.json
│ │ │ ├── randomStatetest292Filler.json
│ │ │ ├── randomStatetest293Filler.json
│ │ │ ├── randomStatetest294Filler.json
│ │ │ ├── randomStatetest295Filler.json
│ │ │ ├── randomStatetest296Filler.json
│ │ │ ├── randomStatetest297Filler.json
│ │ │ ├── randomStatetest298Filler.json
│ │ │ ├── randomStatetest299Filler.json
│ │ │ ├── randomStatetest29Filler.json
│ │ │ ├── randomStatetest2Filler.json
│ │ │ ├── randomStatetest300Filler.json
│ │ │ ├── randomStatetest301Filler.json
│ │ │ ├── randomStatetest302Filler.json
│ │ │ ├── randomStatetest303Filler.json
│ │ │ ├── randomStatetest304Filler.json
│ │ │ ├── randomStatetest305Filler.json
│ │ │ ├── randomStatetest306Filler.json
│ │ │ ├── randomStatetest307Filler.json
│ │ │ ├── randomStatetest308Filler.json
│ │ │ ├── randomStatetest309Filler.json
│ │ │ ├── randomStatetest30Filler.json
│ │ │ ├── randomStatetest310Filler.json
│ │ │ ├── randomStatetest311Filler.json
│ │ │ ├── randomStatetest312Filler.json
│ │ │ ├── randomStatetest313Filler.json
│ │ │ ├── randomStatetest315Filler.json
│ │ │ ├── randomStatetest316Filler.json
│ │ │ ├── randomStatetest318Filler.json
│ │ │ ├── randomStatetest31Filler.json
│ │ │ ├── randomStatetest320Filler.json
│ │ │ ├── randomStatetest321Filler.json
│ │ │ ├── randomStatetest322Filler.json
│ │ │ ├── randomStatetest323Filler.json
│ │ │ ├── randomStatetest325Filler.json
│ │ │ ├── randomStatetest326Filler.json
│ │ │ ├── randomStatetest327Filler.json
│ │ │ ├── randomStatetest329Filler.json
│ │ │ ├── randomStatetest332Filler.json
│ │ │ ├── randomStatetest333Filler.json
│ │ │ ├── randomStatetest334Filler.json
│ │ │ ├── randomStatetest335Filler.json
│ │ │ ├── randomStatetest336Filler.json
│ │ │ ├── randomStatetest337Filler.json
│ │ │ ├── randomStatetest338Filler.json
│ │ │ ├── randomStatetest339Filler.json
│ │ │ ├── randomStatetest33Filler.json
│ │ │ ├── randomStatetest340Filler.json
│ │ │ ├── randomStatetest341Filler.json
│ │ │ ├── randomStatetest342Filler.json
│ │ │ ├── randomStatetest343Filler.json
│ │ │ ├── randomStatetest345Filler.json
│ │ │ ├── randomStatetest346Filler.json
│ │ │ ├── randomStatetest347Filler.json
│ │ │ ├── randomStatetest348Filler.json
│ │ │ ├── randomStatetest349Filler.json
│ │ │ ├── randomStatetest350Filler.json
│ │ │ ├── randomStatetest351Filler.json
│ │ │ ├── randomStatetest352Filler.json
│ │ │ ├── randomStatetest353Filler.json
│ │ │ ├── randomStatetest354Filler.json
│ │ │ ├── randomStatetest355Filler.json
│ │ │ ├── randomStatetest356Filler.json
│ │ │ ├── randomStatetest357Filler.json
│ │ │ ├── randomStatetest358Filler.json
│ │ │ ├── randomStatetest359Filler.json
│ │ │ ├── randomStatetest360Filler.json
│ │ │ ├── randomStatetest361Filler.json
│ │ │ ├── randomStatetest362Filler.json
│ │ │ ├── randomStatetest363Filler.json
│ │ │ ├── randomStatetest364Filler.json
│ │ │ ├── randomStatetest365Filler.json
│ │ │ ├── randomStatetest366Filler.json
│ │ │ ├── randomStatetest367Filler.json
│ │ │ ├── randomStatetest368Filler.json
│ │ │ ├── randomStatetest369Filler.json
│ │ │ ├── randomStatetest36Filler.json
│ │ │ ├── randomStatetest370Filler.json
│ │ │ ├── randomStatetest371Filler.json
│ │ │ ├── randomStatetest372Filler.json
│ │ │ ├── randomStatetest376Filler.json
│ │ │ ├── randomStatetest378Filler.json
│ │ │ ├── randomStatetest379Filler.json
│ │ │ ├── randomStatetest37Filler.json
│ │ │ ├── randomStatetest380Filler.json
│ │ │ ├── randomStatetest381Filler.json
│ │ │ ├── randomStatetest382Filler.json
│ │ │ ├── randomStatetest383Filler.json
│ │ │ ├── randomStatetest384Filler.yml
│ │ │ ├── randomStatetest39Filler.json
│ │ │ ├── randomStatetest3Filler.json
│ │ │ ├── randomStatetest41Filler.json
│ │ │ ├── randomStatetest42Filler.json
│ │ │ ├── randomStatetest43Filler.json
│ │ │ ├── randomStatetest45Filler.json
│ │ │ ├── randomStatetest47Filler.json
│ │ │ ├── randomStatetest48Filler.json
│ │ │ ├── randomStatetest49Filler.json
│ │ │ ├── randomStatetest4Filler.json
│ │ │ ├── randomStatetest51Filler.json
│ │ │ ├── randomStatetest52Filler.json
│ │ │ ├── randomStatetest53Filler.json
│ │ │ ├── randomStatetest54Filler.json
│ │ │ ├── randomStatetest55Filler.json
│ │ │ ├── randomStatetest57Filler.json
│ │ │ ├── randomStatetest58Filler.json
│ │ │ ├── randomStatetest59Filler.json
│ │ │ ├── randomStatetest5Filler.json
│ │ │ ├── randomStatetest60Filler.json
│ │ │ ├── randomStatetest62Filler.json
│ │ │ ├── randomStatetest63Filler.json
│ │ │ ├── randomStatetest64Filler.json
│ │ │ ├── randomStatetest66Filler.json
│ │ │ ├── randomStatetest67Filler.json
│ │ │ ├── randomStatetest69Filler.json
│ │ │ ├── randomStatetest6Filler.json
│ │ │ ├── randomStatetest72Filler.json
│ │ │ ├── randomStatetest73Filler.json
│ │ │ ├── randomStatetest74Filler.json
│ │ │ ├── randomStatetest75Filler.json
│ │ │ ├── randomStatetest77Filler.json
│ │ │ ├── randomStatetest78Filler.json
│ │ │ ├── randomStatetest80Filler.json
│ │ │ ├── randomStatetest81Filler.json
│ │ │ ├── randomStatetest82Filler.json
│ │ │ ├── randomStatetest83Filler.json
│ │ │ ├── randomStatetest84Filler.json
│ │ │ ├── randomStatetest85Filler.json
│ │ │ ├── randomStatetest87Filler.json
│ │ │ ├── randomStatetest88Filler.json
│ │ │ ├── randomStatetest89Filler.json
│ │ │ ├── randomStatetest90Filler.json
│ │ │ ├── randomStatetest92Filler.json
│ │ │ ├── randomStatetest95Filler.json
│ │ │ ├── randomStatetest96Filler.json
│ │ │ ├── randomStatetest97Filler.json
│ │ │ ├── randomStatetest98Filler.json
│ │ │ └── randomStatetest9Filler.json
│ │ ├── stRandom2/
│ │ │ ├── __init__.py
│ │ │ ├── randomStatetest384Filler.json
│ │ │ ├── randomStatetest385Filler.json
│ │ │ ├── randomStatetest386Filler.json
│ │ │ ├── randomStatetest387Filler.json
│ │ │ ├── randomStatetest388Filler.json
│ │ │ ├── randomStatetest389Filler.json
│ │ │ ├── randomStatetest393Filler.json
│ │ │ ├── randomStatetest395Filler.json
│ │ │ ├── randomStatetest396Filler.json
│ │ │ ├── randomStatetest397Filler.json
│ │ │ ├── randomStatetest398Filler.json
│ │ │ ├── randomStatetest399Filler.json
│ │ │ ├── randomStatetest401Filler.json
│ │ │ ├── randomStatetest402Filler.json
│ │ │ ├── randomStatetest404Filler.json
│ │ │ ├── randomStatetest405Filler.json
│ │ │ ├── randomStatetest406Filler.json
│ │ │ ├── randomStatetest407Filler.json
│ │ │ ├── randomStatetest408Filler.json
│ │ │ ├── randomStatetest409Filler.json
│ │ │ ├── randomStatetest410Filler.json
│ │ │ ├── randomStatetest411Filler.json
│ │ │ ├── randomStatetest412Filler.json
│ │ │ ├── randomStatetest413Filler.json
│ │ │ ├── randomStatetest414Filler.json
│ │ │ ├── randomStatetest415Filler.json
│ │ │ ├── randomStatetest416Filler.json
│ │ │ ├── randomStatetest417Filler.json
│ │ │ ├── randomStatetest418Filler.json
│ │ │ ├── randomStatetest419Filler.json
│ │ │ ├── randomStatetest420Filler.json
│ │ │ ├── randomStatetest421Filler.json
│ │ │ ├── randomStatetest422Filler.json
│ │ │ ├── randomStatetest424Filler.json
│ │ │ ├── randomStatetest425Filler.json
│ │ │ ├── randomStatetest426Filler.json
│ │ │ ├── randomStatetest428Filler.json
│ │ │ ├── randomStatetest429Filler.json
│ │ │ ├── randomStatetest430Filler.json
│ │ │ ├── randomStatetest433Filler.json
│ │ │ ├── randomStatetest435Filler.json
│ │ │ ├── randomStatetest436Filler.json
│ │ │ ├── randomStatetest437Filler.json
│ │ │ ├── randomStatetest438Filler.json
│ │ │ ├── randomStatetest439Filler.json
│ │ │ ├── randomStatetest440Filler.json
│ │ │ ├── randomStatetest442Filler.json
│ │ │ ├── randomStatetest443Filler.json
│ │ │ ├── randomStatetest444Filler.json
│ │ │ ├── randomStatetest445Filler.json
│ │ │ ├── randomStatetest446Filler.json
│ │ │ ├── randomStatetest447Filler.json
│ │ │ ├── randomStatetest448Filler.json
│ │ │ ├── randomStatetest449Filler.json
│ │ │ ├── randomStatetest450Filler.json
│ │ │ ├── randomStatetest451Filler.json
│ │ │ ├── randomStatetest452Filler.json
│ │ │ ├── randomStatetest454Filler.json
│ │ │ ├── randomStatetest455Filler.json
│ │ │ ├── randomStatetest456Filler.json
│ │ │ ├── randomStatetest457Filler.json
│ │ │ ├── randomStatetest458Filler.json
│ │ │ ├── randomStatetest460Filler.json
│ │ │ ├── randomStatetest461Filler.json
│ │ │ ├── randomStatetest462Filler.json
│ │ │ ├── randomStatetest464Filler.json
│ │ │ ├── randomStatetest465Filler.json
│ │ │ ├── randomStatetest466Filler.json
│ │ │ ├── randomStatetest467Filler.json
│ │ │ ├── randomStatetest469Filler.json
│ │ │ ├── randomStatetest470Filler.json
│ │ │ ├── randomStatetest471Filler.json
│ │ │ ├── randomStatetest472Filler.json
│ │ │ ├── randomStatetest473Filler.json
│ │ │ ├── randomStatetest474Filler.json
│ │ │ ├── randomStatetest475Filler.json
│ │ │ ├── randomStatetest476Filler.json
│ │ │ ├── randomStatetest477Filler.json
│ │ │ ├── randomStatetest478Filler.json
│ │ │ ├── randomStatetest480Filler.json
│ │ │ ├── randomStatetest481Filler.json
│ │ │ ├── randomStatetest482Filler.json
│ │ │ ├── randomStatetest483Filler.json
│ │ │ ├── randomStatetest484Filler.json
│ │ │ ├── randomStatetest485Filler.json
│ │ │ ├── randomStatetest487Filler.json
│ │ │ ├── randomStatetest488Filler.json
│ │ │ ├── randomStatetest489Filler.json
│ │ │ ├── randomStatetest491Filler.json
│ │ │ ├── randomStatetest493Filler.json
│ │ │ ├── randomStatetest494Filler.json
│ │ │ ├── randomStatetest495Filler.json
│ │ │ ├── randomStatetest496Filler.json
│ │ │ ├── randomStatetest497Filler.json
│ │ │ ├── randomStatetest498Filler.json
│ │ │ ├── randomStatetest499Filler.json
│ │ │ ├── randomStatetest500Filler.json
│ │ │ ├── randomStatetest501Filler.json
│ │ │ ├── randomStatetest502Filler.json
│ │ │ ├── randomStatetest503Filler.json
│ │ │ ├── randomStatetest504Filler.json
│ │ │ ├── randomStatetest505Filler.json
│ │ │ ├── randomStatetest506Filler.json
│ │ │ ├── randomStatetest507Filler.json
│ │ │ ├── randomStatetest508Filler.json
│ │ │ ├── randomStatetest509Filler.json
│ │ │ ├── randomStatetest510Filler.json
│ │ │ ├── randomStatetest511Filler.json
│ │ │ ├── randomStatetest512Filler.json
│ │ │ ├── randomStatetest513Filler.json
│ │ │ ├── randomStatetest514Filler.json
│ │ │ ├── randomStatetest516Filler.json
│ │ │ ├── randomStatetest517Filler.json
│ │ │ ├── randomStatetest518Filler.json
│ │ │ ├── randomStatetest519Filler.json
│ │ │ ├── randomStatetest520Filler.json
│ │ │ ├── randomStatetest521Filler.json
│ │ │ ├── randomStatetest523Filler.json
│ │ │ ├── randomStatetest524Filler.json
│ │ │ ├── randomStatetest525Filler.json
│ │ │ ├── randomStatetest526Filler.json
│ │ │ ├── randomStatetest527Filler.json
│ │ │ ├── randomStatetest528Filler.json
│ │ │ ├── randomStatetest531Filler.json
│ │ │ ├── randomStatetest532Filler.json
│ │ │ ├── randomStatetest533Filler.json
│ │ │ ├── randomStatetest534Filler.json
│ │ │ ├── randomStatetest535Filler.json
│ │ │ ├── randomStatetest536Filler.json
│ │ │ ├── randomStatetest537Filler.json
│ │ │ ├── randomStatetest539Filler.json
│ │ │ ├── randomStatetest541Filler.json
│ │ │ ├── randomStatetest542Filler.json
│ │ │ ├── randomStatetest543Filler.json
│ │ │ ├── randomStatetest544Filler.json
│ │ │ ├── randomStatetest545Filler.json
│ │ │ ├── randomStatetest546Filler.json
│ │ │ ├── randomStatetest547Filler.json
│ │ │ ├── randomStatetest548Filler.json
│ │ │ ├── randomStatetest550Filler.json
│ │ │ ├── randomStatetest552Filler.json
│ │ │ ├── randomStatetest553Filler.json
│ │ │ ├── randomStatetest554Filler.json
│ │ │ ├── randomStatetest555Filler.json
│ │ │ ├── randomStatetest556Filler.json
│ │ │ ├── randomStatetest558Filler.json
│ │ │ ├── randomStatetest559Filler.json
│ │ │ ├── randomStatetest560Filler.json
│ │ │ ├── randomStatetest562Filler.json
│ │ │ ├── randomStatetest563Filler.json
│ │ │ ├── randomStatetest564Filler.json
│ │ │ ├── randomStatetest565Filler.json
│ │ │ ├── randomStatetest566Filler.json
│ │ │ ├── randomStatetest567Filler.json
│ │ │ ├── randomStatetest569Filler.json
│ │ │ ├── randomStatetest571Filler.json
│ │ │ ├── randomStatetest572Filler.json
│ │ │ ├── randomStatetest574Filler.json
│ │ │ ├── randomStatetest575Filler.json
│ │ │ ├── randomStatetest576Filler.json
│ │ │ ├── randomStatetest577Filler.json
│ │ │ ├── randomStatetest578Filler.json
│ │ │ ├── randomStatetest579Filler.json
│ │ │ ├── randomStatetest580Filler.json
│ │ │ ├── randomStatetest581Filler.json
│ │ │ ├── randomStatetest582Filler.json
│ │ │ ├── randomStatetest583Filler.json
│ │ │ ├── randomStatetest584Filler.json
│ │ │ ├── randomStatetest585Filler.json
│ │ │ ├── randomStatetest586Filler.json
│ │ │ ├── randomStatetest587Filler.json
│ │ │ ├── randomStatetest588Filler.json
│ │ │ ├── randomStatetest589Filler.json
│ │ │ ├── randomStatetest592Filler.json
│ │ │ ├── randomStatetest596Filler.json
│ │ │ ├── randomStatetest597Filler.json
│ │ │ ├── randomStatetest599Filler.json
│ │ │ ├── randomStatetest600Filler.json
│ │ │ ├── randomStatetest601Filler.json
│ │ │ ├── randomStatetest602Filler.json
│ │ │ ├── randomStatetest603Filler.json
│ │ │ ├── randomStatetest604Filler.json
│ │ │ ├── randomStatetest605Filler.json
│ │ │ ├── randomStatetest607Filler.json
│ │ │ ├── randomStatetest608Filler.json
│ │ │ ├── randomStatetest609Filler.json
│ │ │ ├── randomStatetest610Filler.json
│ │ │ ├── randomStatetest611Filler.json
│ │ │ ├── randomStatetest612Filler.json
│ │ │ ├── randomStatetest615Filler.json
│ │ │ ├── randomStatetest616Filler.json
│ │ │ ├── randomStatetest618Filler.json
│ │ │ ├── randomStatetest620Filler.json
│ │ │ ├── randomStatetest621Filler.json
│ │ │ ├── randomStatetest624Filler.json
│ │ │ ├── randomStatetest625Filler.json
│ │ │ ├── randomStatetest626Filler.json
│ │ │ ├── randomStatetest627Filler.json
│ │ │ ├── randomStatetest628Filler.json
│ │ │ ├── randomStatetest629Filler.json
│ │ │ ├── randomStatetest630Filler.json
│ │ │ ├── randomStatetest632Filler.json
│ │ │ ├── randomStatetest633Filler.json
│ │ │ ├── randomStatetest635Filler.json
│ │ │ ├── randomStatetest636Filler.json
│ │ │ ├── randomStatetest637Filler.json
│ │ │ ├── randomStatetest638Filler.json
│ │ │ ├── randomStatetest639Filler.json
│ │ │ ├── randomStatetest640Filler.json
│ │ │ ├── randomStatetest641Filler.json
│ │ │ ├── randomStatetest642Filler.json
│ │ │ ├── randomStatetest643Filler.json
│ │ │ ├── randomStatetest644Filler.json
│ │ │ ├── randomStatetest645Filler.json
│ │ │ ├── randomStatetest646Filler.json
│ │ │ ├── randomStatetest647Filler.json
│ │ │ ├── randomStatetest648Filler.json
│ │ │ ├── randomStatetest649Filler.json
│ │ │ ├── randomStatetest650Filler.json
│ │ │ └── randomStatetestFiller.json
│ │ ├── stRecursiveCreate/
│ │ │ ├── __init__.py
│ │ │ ├── recursiveCreateFiller.json
│ │ │ └── recursiveCreateReturnValueFiller.json
│ │ ├── stRefundTest/
│ │ │ ├── __init__.py
│ │ │ ├── refund50_1Filler.json
│ │ │ ├── refund50_2Filler.json
│ │ │ ├── refund50percentCapFiller.json
│ │ │ ├── refund600Filler.json
│ │ │ ├── refundFFFiller.yml
│ │ │ ├── refundMaxFiller.yml
│ │ │ ├── refundSSTOREFiller.yml
│ │ │ ├── refundSuicide50procentCapFiller.json
│ │ │ ├── refund_CallAFiller.json
│ │ │ ├── refund_CallA_OOGFiller.json
│ │ │ ├── refund_CallA_notEnoughGasInCallFiller.json
│ │ │ ├── refund_CallToSuicideNoStorageFiller.json
│ │ │ ├── refund_CallToSuicideStorageFiller.json
│ │ │ ├── refund_CallToSuicideTwiceFiller.json
│ │ │ ├── refund_NoOOG_1Filler.json
│ │ │ ├── refund_OOGFiller.json
│ │ │ ├── refund_TxToSuicideFiller.json
│ │ │ ├── refund_TxToSuicideOOGFiller.json
│ │ │ ├── refund_changeNonZeroStorageFiller.json
│ │ │ ├── refund_getEtherBackFiller.json
│ │ │ ├── refund_multimpleSuicideFiller.json
│ │ │ └── refund_singleSuicideFiller.json
│ │ ├── stReturnDataTest/
│ │ │ ├── __init__.py
│ │ │ ├── call_ecrec_success_empty_then_returndatasizeFiller.json
│ │ │ ├── call_outsize_then_create_successful_then_returndatasizeFiller.json
│ │ │ ├── call_then_call_value_fail_then_returndatasizeFiller.json
│ │ │ ├── call_then_create_successful_then_returndatasizeFiller.json
│ │ │ ├── clearReturnBufferFiller.yml
│ │ │ ├── create_callprecompile_returndatasizeFiller.json
│ │ │ ├── modexp_modsize0_returndatasizeFiller.json
│ │ │ ├── returndatacopy_0_0_following_successful_createFiller.json
│ │ │ ├── returndatacopy_afterFailing_createFiller.json
│ │ │ ├── returndatacopy_after_failing_callcodeFiller.json
│ │ │ ├── returndatacopy_after_failing_delegatecallFiller.json
│ │ │ ├── returndatacopy_after_failing_staticcallFiller.json
│ │ │ ├── returndatacopy_after_revert_in_staticcallFiller.json
│ │ │ ├── returndatacopy_after_successful_callcodeFiller.json
│ │ │ ├── returndatacopy_after_successful_delegatecallFiller.json
│ │ │ ├── returndatacopy_after_successful_staticcallFiller.json
│ │ │ ├── returndatacopy_following_callFiller.json
│ │ │ ├── returndatacopy_following_createFiller.json
│ │ │ ├── returndatacopy_following_failing_callFiller.json
│ │ │ ├── returndatacopy_following_revertFiller.json
│ │ │ ├── returndatacopy_following_revert_in_createFiller.json
│ │ │ ├── returndatacopy_following_successful_createFiller.json
│ │ │ ├── returndatacopy_following_too_big_transferFiller.json
│ │ │ ├── returndatacopy_initialFiller.json
│ │ │ ├── returndatacopy_initial_256Filler.json
│ │ │ ├── returndatacopy_initial_big_sumFiller.json
│ │ │ ├── returndatacopy_overrunFiller.json
│ │ │ ├── returndatasize_after_failing_callcodeFiller.json
│ │ │ ├── returndatasize_after_failing_delegatecallFiller.json
│ │ │ ├── returndatasize_after_failing_staticcallFiller.json
│ │ │ ├── returndatasize_after_oog_after_deeperFiller.json
│ │ │ ├── returndatasize_after_successful_callcodeFiller.json
│ │ │ ├── returndatasize_after_successful_delegatecallFiller.json
│ │ │ ├── returndatasize_after_successful_staticcallFiller.json
│ │ │ ├── returndatasize_bugFiller.json
│ │ │ ├── returndatasize_following_successful_createFiller.json
│ │ │ ├── returndatasize_initialFiller.json
│ │ │ ├── returndatasize_initial_zero_readFiller.json
│ │ │ ├── revertRetDataSizeFiller.yml
│ │ │ ├── subcallReturnMoreThenExpectedFiller.yml
│ │ │ └── tooLongReturnDataCopyFiller.yml
│ │ ├── stRevertTest/
│ │ │ ├── LoopCallsDepthThenRevert2Filler.json
│ │ │ ├── LoopCallsDepthThenRevert3Filler.json
│ │ │ ├── LoopCallsDepthThenRevertFiller.json
│ │ │ ├── LoopCallsThenRevertFiller.json
│ │ │ ├── LoopDelegateCallsDepthThenRevertFiller.json
│ │ │ ├── NashatyrevSuicideRevertFiller.json
│ │ │ ├── PythonRevertTestTue201814-1430Filler.json
│ │ │ ├── RevertDepth2Filler.json
│ │ │ ├── RevertDepthCreateAddressCollisionFiller.json
│ │ │ ├── RevertDepthCreateOOGFiller.json
│ │ │ ├── RevertInCallCodeFiller.json
│ │ │ ├── RevertInCreateInInit_ParisFiller.json
│ │ │ ├── RevertInDelegateCallFiller.json
│ │ │ ├── RevertInStaticCallFiller.json
│ │ │ ├── RevertOnEmptyStackFiller.json
│ │ │ ├── RevertOpcodeCallsFiller.json
│ │ │ ├── RevertOpcodeCreateFiller.json
│ │ │ ├── RevertOpcodeDirectCallFiller.json
│ │ │ ├── RevertOpcodeFiller.json
│ │ │ ├── RevertOpcodeInCallsOnNonEmptyReturnDataFiller.json
│ │ │ ├── RevertOpcodeInCreateReturnsFiller.json
│ │ │ ├── RevertOpcodeInInitFiller.json
│ │ │ ├── RevertOpcodeMultipleSubCallsFiller.json
│ │ │ ├── RevertOpcodeReturnFiller.json
│ │ │ ├── RevertOpcodeWithBigOutputInInitFiller.json
│ │ │ ├── RevertPrecompiledTouchExactOOG_ParisFiller.json
│ │ │ ├── RevertPrecompiledTouch_ParisFiller.json
│ │ │ ├── RevertPrecompiledTouch_nonceFiller.json
│ │ │ ├── RevertPrecompiledTouch_noncestorageFiller.json
│ │ │ ├── RevertPrecompiledTouch_storage_ParisFiller.json
│ │ │ ├── RevertPrefoundCallFiller.json
│ │ │ ├── RevertPrefoundCallOOGFiller.json
│ │ │ ├── RevertPrefoundEmptyCallOOG_ParisFiller.json
│ │ │ ├── RevertPrefoundEmptyCall_ParisFiller.json
│ │ │ ├── RevertPrefoundEmptyOOG_ParisFiller.json
│ │ │ ├── RevertPrefoundEmpty_ParisFiller.json
│ │ │ ├── RevertPrefoundFiller.json
│ │ │ ├── RevertPrefoundOOGFiller.json
│ │ │ ├── RevertSubCallStorageOOG2Filler.json
│ │ │ ├── RevertSubCallStorageOOGFiller.json
│ │ │ ├── TouchToEmptyAccountRevert2_ParisFiller.json
│ │ │ ├── TouchToEmptyAccountRevert3_ParisFiller.json
│ │ │ ├── TouchToEmptyAccountRevert_ParisFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── costRevertFiller.yml
│ │ │ └── stateRevertFiller.yml
│ │ ├── stSLoadTest/
│ │ │ ├── __init__.py
│ │ │ └── sloadGasCostFiller.json
│ │ ├── stSStoreTest/
│ │ │ ├── SstoreCallToSelfSubRefundBelowZeroFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── sstoreGasFiller.yml
│ │ │ ├── sstore_0to0Filler.json
│ │ │ ├── sstore_0to0to0Filler.json
│ │ │ ├── sstore_0to0toXFiller.json
│ │ │ ├── sstore_0toXFiller.json
│ │ │ ├── sstore_0toXto0Filler.json
│ │ │ ├── sstore_0toXto0toXFiller.json
│ │ │ ├── sstore_0toXtoXFiller.json
│ │ │ ├── sstore_0toXtoYFiller.json
│ │ │ ├── sstore_Xto0Filler.json
│ │ │ ├── sstore_Xto0to0Filler.json
│ │ │ ├── sstore_Xto0toXFiller.json
│ │ │ ├── sstore_Xto0toXto0Filler.json
│ │ │ ├── sstore_Xto0toYFiller.json
│ │ │ ├── sstore_XtoXFiller.json
│ │ │ ├── sstore_XtoXto0Filler.json
│ │ │ ├── sstore_XtoXtoXFiller.json
│ │ │ ├── sstore_XtoXtoYFiller.json
│ │ │ ├── sstore_XtoYFiller.json
│ │ │ ├── sstore_XtoYto0Filler.json
│ │ │ ├── sstore_XtoYtoXFiller.json
│ │ │ ├── sstore_XtoYtoYFiller.json
│ │ │ ├── sstore_XtoYtoZFiller.json
│ │ │ ├── sstore_changeFromExternalCallInInitCodeFiller.json
│ │ │ └── sstore_gasLeftFiller.json
│ │ ├── stSelfBalance/
│ │ │ ├── __init__.py
│ │ │ ├── selfBalanceCallTypesFiller.json
│ │ │ ├── selfBalanceEqualsBalanceFiller.json
│ │ │ ├── selfBalanceFiller.json
│ │ │ ├── selfBalanceGasCostFiller.json
│ │ │ └── selfBalanceUpdateFiller.json
│ │ ├── stShift/
│ │ │ ├── .stub
│ │ │ ├── __init__.py
│ │ │ ├── sar00Filler.json
│ │ │ ├── sar01Filler.json
│ │ │ ├── sar10Filler.json
│ │ │ ├── sar11Filler.json
│ │ │ ├── sar_0_256-1Filler.json
│ │ │ ├── sar_2^254_254Filler.json
│ │ │ ├── sar_2^255-1_248Filler.json
│ │ │ ├── sar_2^255-1_254Filler.json
│ │ │ ├── sar_2^255-1_255Filler.json
│ │ │ ├── sar_2^255-1_256Filler.json
│ │ │ ├── sar_2^255_1Filler.json
│ │ │ ├── sar_2^255_255Filler.json
│ │ │ ├── sar_2^255_256Filler.json
│ │ │ ├── sar_2^255_257Filler.json
│ │ │ ├── sar_2^256-1_0Filler.json
│ │ │ ├── sar_2^256-1_1Filler.json
│ │ │ ├── sar_2^256-1_255Filler.json
│ │ │ ├── sar_2^256-1_256Filler.json
│ │ │ ├── shiftSignedCombinationsFiller.yml
│ │ │ ├── shl01-0100Filler.json
│ │ │ ├── shl01-0101Filler.json
│ │ │ ├── shl01-ffFiller.json
│ │ │ ├── shl01Filler.json
│ │ │ ├── shl10Filler.json
│ │ │ ├── shl11Filler.json
│ │ │ ├── shl_-1_0Filler.json
│ │ │ ├── shl_-1_1Filler.json
│ │ │ ├── shl_-1_255Filler.json
│ │ │ ├── shl_-1_256Filler.json
│ │ │ ├── shl_2^255-1_1Filler.json
│ │ │ ├── shr01Filler.json
│ │ │ ├── shr10Filler.json
│ │ │ ├── shr11Filler.json
│ │ │ ├── shr_-1_0Filler.json
│ │ │ ├── shr_-1_1Filler.json
│ │ │ ├── shr_-1_255Filler.json
│ │ │ ├── shr_-1_256Filler.json
│ │ │ ├── shr_2^255_1Filler.json
│ │ │ ├── shr_2^255_255Filler.json
│ │ │ ├── shr_2^255_256Filler.json
│ │ │ └── shr_2^255_257Filler.json
│ │ ├── stSolidityTest/
│ │ │ ├── AmbiguousMethodFiller.json
│ │ │ ├── ByZeroFiller.json
│ │ │ ├── CallInfiniteLoopFiller.json
│ │ │ ├── CallLowLevelCreatesSolidityFiller.json
│ │ │ ├── CallRecursiveMethodsFiller.json
│ │ │ ├── ContractInheritanceFiller.json
│ │ │ ├── CreateContractFromMethodFiller.json
│ │ │ ├── RecursiveCreateContractsCreate4ContractsFiller.json
│ │ │ ├── RecursiveCreateContractsFiller.json
│ │ │ ├── TestBlockAndTransactionPropertiesFiller.json
│ │ │ ├── TestContractInteractionFiller.json
│ │ │ ├── TestContractSuicideFiller.json
│ │ │ ├── TestCryptographicFunctionsFiller.json
│ │ │ ├── TestKeywordsFiller.json
│ │ │ ├── TestOverflowFiller.json
│ │ │ ├── TestStoreGasPricesFiller.json
│ │ │ ├── TestStructuresAndVariablessFiller.json
│ │ │ └── __init__.py
│ │ ├── stSpecialTest/
│ │ │ ├── FailedCreateRevertsDeletionParisFiller.json
│ │ │ ├── JUMPDEST_AttackFiller.json
│ │ │ ├── JUMPDEST_AttackwithJumpFiller.json
│ │ │ ├── OverflowGasMakeMoneyFiller.json
│ │ │ ├── StackDepthLimitSECFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── block504980Filler.json
│ │ │ ├── deploymentErrorFiller.json
│ │ │ ├── eoaEmptyParisFiller.yml
│ │ │ ├── failed_tx_xcf416c53_ParisFiller.json
│ │ │ ├── gasPrice0Filler.json
│ │ │ ├── makeMoneyFiller.json
│ │ │ ├── push32withoutByteFiller.json
│ │ │ ├── selfdestructEIP2929Filler.json
│ │ │ ├── sha3_dejaFiller.json
│ │ │ └── tx_e1c174e2Filler.json
│ │ ├── stStackTests/
│ │ │ ├── __init__.py
│ │ │ ├── shallowStackFiller.json
│ │ │ ├── stackOverflowDUPFiller.json
│ │ │ ├── stackOverflowFiller.json
│ │ │ ├── stackOverflowM1DUPFiller.json
│ │ │ ├── stackOverflowM1Filler.json
│ │ │ ├── stackOverflowM1PUSHFiller.json
│ │ │ ├── stackOverflowPUSHFiller.json
│ │ │ ├── stackOverflowSWAPFiller.json
│ │ │ ├── stacksanitySWAPFiller.json
│ │ │ ├── underflowTestFiller.yml
│ │ │ └── underflowTestGen.js
│ │ ├── stStaticCall/
│ │ │ ├── StaticcallToPrecompileFromCalledContractFiller.yml
│ │ │ ├── StaticcallToPrecompileFromContractInitializationFiller.yml
│ │ │ ├── StaticcallToPrecompileFromTransactionFiller.yml
│ │ │ ├── __init__.py
│ │ │ ├── static_ABAcalls0Filler.json
│ │ │ ├── static_ABAcalls1Filler.json
│ │ │ ├── static_ABAcalls2Filler.json
│ │ │ ├── static_ABAcalls3Filler.json
│ │ │ ├── static_ABAcallsSuicide0Filler.json
│ │ │ ├── static_ABAcallsSuicide1Filler.json
│ │ │ ├── static_CALL_OneVCallSuicideFiller.json
│ │ │ ├── static_CALL_ZeroVCallSuicideFiller.json
│ │ │ ├── static_CREATE_ContractSuicideDuringInitFiller.json
│ │ │ ├── static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json
│ │ │ ├── static_CREATE_ContractSuicideDuringInit_WithValueFiller.json
│ │ │ ├── static_CREATE_EmptyContractAndCallIt_0weiFiller.json
│ │ │ ├── static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json
│ │ │ ├── static_Call1024BalanceTooLow2Filler.json
│ │ │ ├── static_Call1024BalanceTooLowFiller.json
│ │ │ ├── static_Call1024OOGFiller.json
│ │ │ ├── static_Call1024PreCalls2Filler.json
│ │ │ ├── static_Call1024PreCalls3Filler.json
│ │ │ ├── static_Call1024PreCallsFiller.json
│ │ │ ├── static_Call10Filler.json
│ │ │ ├── static_Call1MB1024CalldepthFiller.json
│ │ │ ├── static_Call50000Filler.json
│ │ │ ├── static_Call50000_ecrecFiller.json
│ │ │ ├── static_Call50000_identity2Filler.json
│ │ │ ├── static_Call50000_identityFiller.json
│ │ │ ├── static_Call50000_rip160Filler.json
│ │ │ ├── static_Call50000bytesContract50_1Filler.json
│ │ │ ├── static_Call50000bytesContract50_2Filler.json
│ │ │ ├── static_Call50000bytesContract50_3Filler.json
│ │ │ ├── static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json
│ │ │ ├── static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json
│ │ │ ├── static_CallContractToCreateContractAndCallItOOGFiller.json
│ │ │ ├── static_CallContractToCreateContractOOGBonusGasFiller.json
│ │ │ ├── static_CallContractToCreateContractOOGFiller.json
│ │ │ ├── static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json
│ │ │ ├── static_CallEcrecover0Filler.json
│ │ │ ├── static_CallEcrecover0_0inputFiller.json
│ │ │ ├── static_CallEcrecover0_Gas2999Filler.json
│ │ │ ├── static_CallEcrecover0_NoGasFiller.json
│ │ │ ├── static_CallEcrecover0_completeReturnValueFiller.json
│ │ │ ├── static_CallEcrecover0_gas3000Filler.json
│ │ │ ├── static_CallEcrecover0_overlappingInputOutputFiller.json
│ │ │ ├── static_CallEcrecover1Filler.json
│ │ │ ├── static_CallEcrecover2Filler.json
│ │ │ ├── static_CallEcrecover3Filler.json
│ │ │ ├── static_CallEcrecover80Filler.json
│ │ │ ├── static_CallEcrecoverCheckLengthFiller.json
│ │ │ ├── static_CallEcrecoverCheckLengthWrongVFiller.json
│ │ │ ├── static_CallEcrecoverH_prefixed0Filler.json
│ │ │ ├── static_CallEcrecoverR_prefixed0Filler.json
│ │ │ ├── static_CallEcrecoverS_prefixed0Filler.json
│ │ │ ├── static_CallEcrecoverV_prefixed0Filler.json
│ │ │ ├── static_CallGoesOOGOnSecondLevel2Filler.json
│ │ │ ├── static_CallGoesOOGOnSecondLevelFiller.json
│ │ │ ├── static_CallIdentitiy_1Filler.json
│ │ │ ├── static_CallIdentity_1_nonzeroValueFiller.json
│ │ │ ├── static_CallIdentity_2Filler.json
│ │ │ ├── static_CallIdentity_3Filler.json
│ │ │ ├── static_CallIdentity_4Filler.json
│ │ │ ├── static_CallIdentity_4_gas17Filler.json
│ │ │ ├── static_CallIdentity_4_gas18Filler.json
│ │ │ ├── static_CallIdentity_5Filler.json
│ │ │ ├── static_CallLoseGasOOGFiller.json
│ │ │ ├── static_CallRecursiveBomb0Filler.json
│ │ │ ├── static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json
│ │ │ ├── static_CallRecursiveBomb1Filler.json
│ │ │ ├── static_CallRecursiveBomb2Filler.json
│ │ │ ├── static_CallRecursiveBomb3Filler.json
│ │ │ ├── static_CallRecursiveBombLog2Filler.json
│ │ │ ├── static_CallRecursiveBombLogFiller.json
│ │ │ ├── static_CallRecursiveBombPreCall2Filler.json
│ │ │ ├── static_CallRecursiveBombPreCallFiller.json
│ │ │ ├── static_CallRipemd160_1Filler.json
│ │ │ ├── static_CallRipemd160_2Filler.json
│ │ │ ├── static_CallRipemd160_3Filler.json
│ │ │ ├── static_CallRipemd160_3_postfixed0Filler.json
│ │ │ ├── static_CallRipemd160_3_prefixed0Filler.json
│ │ │ ├── static_CallRipemd160_4Filler.json
│ │ │ ├── static_CallRipemd160_4_gas719Filler.json
│ │ │ ├── static_CallRipemd160_5Filler.json
│ │ │ ├── static_CallSha256_1Filler.json
│ │ │ ├── static_CallSha256_1_nonzeroValueFiller.json
│ │ │ ├── static_CallSha256_2Filler.json
│ │ │ ├── static_CallSha256_3Filler.json
│ │ │ ├── static_CallSha256_3_postfix0Filler.json
│ │ │ ├── static_CallSha256_3_prefix0Filler.json
│ │ │ ├── static_CallSha256_4Filler.json
│ │ │ ├── static_CallSha256_4_gas99Filler.json
│ │ │ ├── static_CallSha256_5Filler.json
│ │ │ ├── static_CallToNameRegistrator0Filler.json
│ │ │ ├── static_CallToReturn1Filler.json
│ │ │ ├── static_CalltoReturn2Filler.json
│ │ │ ├── static_CheckCallCostOOGFiller.json
│ │ │ ├── static_CheckOpcodes2Filler.json
│ │ │ ├── static_CheckOpcodes3Filler.json
│ │ │ ├── static_CheckOpcodes4Filler.json
│ │ │ ├── static_CheckOpcodes5Filler.json
│ │ │ ├── static_CheckOpcodesFiller.json
│ │ │ ├── static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json
│ │ │ ├── static_InternalCallHittingGasLimit2Filler.json
│ │ │ ├── static_InternalCallHittingGasLimitFiller.json
│ │ │ ├── static_InternalCallStoreClearsOOGFiller.json
│ │ │ ├── static_LoopCallsDepthThenRevert2Filler.json
│ │ │ ├── static_LoopCallsDepthThenRevert3Filler.json
│ │ │ ├── static_LoopCallsDepthThenRevertFiller.json
│ │ │ ├── static_LoopCallsThenRevertFiller.json
│ │ │ ├── static_PostToReturn1Filler.json
│ │ │ ├── static_RETURN_BoundsFiller.json
│ │ │ ├── static_RETURN_BoundsOOGFiller.json
│ │ │ ├── static_RawCallGasAskFiller.json
│ │ │ ├── static_Return50000_2Filler.json
│ │ │ ├── static_ReturnTest2Filler.json
│ │ │ ├── static_ReturnTestFiller.json
│ │ │ ├── static_RevertDepth2Filler.json
│ │ │ ├── static_RevertOpcodeCallsFiller.json
│ │ │ ├── static_ZeroValue_CALL_OOGRevertFiller.json
│ │ │ ├── static_ZeroValue_SUICIDE_OOGRevertFiller.json
│ │ │ ├── static_callBasicFiller.json
│ │ │ ├── static_callChangeRevertFiller.json
│ │ │ ├── static_callCreate2Filler.json
│ │ │ ├── static_callCreate3Filler.json
│ │ │ ├── static_callCreateFiller.json
│ │ │ ├── static_callOutput1Filler.json
│ │ │ ├── static_callOutput2Filler.json
│ │ │ ├── static_callOutput3FailFiller.json
│ │ │ ├── static_callOutput3Filler.json
│ │ │ ├── static_callOutput3partialFailFiller.json
│ │ │ ├── static_callOutput3partialFiller.json
│ │ │ ├── static_callToCallCodeOpCodeCheckFiller.json
│ │ │ ├── static_callToCallOpCodeCheckFiller.json
│ │ │ ├── static_callToDelCallOpCodeCheckFiller.json
│ │ │ ├── static_callToStaticOpCodeCheckFiller.json
│ │ │ ├── static_callWithHighValueAndGasOOGFiller.json
│ │ │ ├── static_callWithHighValueAndOOGatTxLevelFiller.json
│ │ │ ├── static_callWithHighValueFiller.json
│ │ │ ├── static_callWithHighValueOOGinCallFiller.json
│ │ │ ├── static_call_OOG_additionalGasCosts1Filler.json
│ │ │ ├── static_call_OOG_additionalGasCosts2_ParisFiller.json
│ │ │ ├── static_call_value_inheritFiller.json
│ │ │ ├── static_call_value_inherit_from_callFiller.json
│ │ │ ├── static_callcall_00Filler.json
│ │ │ ├── static_callcall_00_OOGEFiller.json
│ │ │ ├── static_callcall_00_OOGE_1Filler.json
│ │ │ ├── static_callcall_00_OOGE_2Filler.json
│ │ │ ├── static_callcall_00_SuicideEndFiller.json
│ │ │ ├── static_callcallcall_000Filler.json
│ │ │ ├── static_callcallcall_000_OOGEFiller.json
│ │ │ ├── static_callcallcall_000_OOGMAfter2Filler.json
│ │ │ ├── static_callcallcall_000_OOGMAfterFiller.json
│ │ │ ├── static_callcallcall_000_OOGMBeforeFiller.json
│ │ │ ├── static_callcallcall_000_SuicideEndFiller.json
│ │ │ ├── static_callcallcall_000_SuicideMiddleFiller.json
│ │ │ ├── static_callcallcall_ABCB_RECURSIVEFiller.json
│ │ │ ├── static_callcallcallcode_001Filler.json
│ │ │ ├── static_callcallcallcode_001_2Filler.json
│ │ │ ├── static_callcallcallcode_001_OOGEFiller.json
│ │ │ ├── static_callcallcallcode_001_OOGE_2Filler.json
│ │ │ ├── static_callcallcallcode_001_OOGMAfter2Filler.json
│ │ │ ├── static_callcallcallcode_001_OOGMAfterFiller.json
│ │ │ ├── static_callcallcallcode_001_OOGMAfter_2Filler.json
│ │ │ ├── static_callcallcallcode_001_OOGMAfter_3Filler.json
│ │ │ ├── static_callcallcallcode_001_OOGMBefore2Filler.json
│ │ │ ├── static_callcallcallcode_001_OOGMBeforeFiller.json
│ │ │ ├── static_callcallcallcode_001_SuicideEnd2Filler.json
│ │ │ ├── static_callcallcallcode_001_SuicideEndFiller.json
│ │ │ ├── static_callcallcallcode_001_SuicideMiddle2Filler.json
│ │ │ ├── static_callcallcallcode_001_SuicideMiddleFiller.json
│ │ │ ├── static_callcallcallcode_ABCB_RECURSIVE2Filler.json
│ │ │ ├── static_callcallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── static_callcallcode_01_2Filler.json
│ │ │ ├── static_callcallcode_01_OOGE_2Filler.json
│ │ │ ├── static_callcallcode_01_SuicideEnd2Filler.json
│ │ │ ├── static_callcallcode_01_SuicideEndFiller.json
│ │ │ ├── static_callcallcodecall_010Filler.json
│ │ │ ├── static_callcallcodecall_010_2Filler.json
│ │ │ ├── static_callcallcodecall_010_OOGEFiller.json
│ │ │ ├── static_callcallcodecall_010_OOGE_2Filler.json
│ │ │ ├── static_callcallcodecall_010_OOGMAfter2Filler.json
│ │ │ ├── static_callcallcodecall_010_OOGMAfterFiller.json
│ │ │ ├── static_callcallcodecall_010_OOGMAfter_2Filler.json
│ │ │ ├── static_callcallcodecall_010_OOGMAfter_3Filler.json
│ │ │ ├── static_callcallcodecall_010_OOGMBefore2Filler.json
│ │ │ ├── static_callcallcodecall_010_OOGMBeforeFiller.json
│ │ │ ├── static_callcallcodecall_010_SuicideEnd2Filler.json
│ │ │ ├── static_callcallcodecall_010_SuicideEndFiller.json
│ │ │ ├── static_callcallcodecall_010_SuicideMiddle2Filler.json
│ │ │ ├── static_callcallcodecall_010_SuicideMiddleFiller.json
│ │ │ ├── static_callcallcodecall_ABCB_RECURSIVE2Filler.json
│ │ │ ├── static_callcallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── static_callcallcodecallcode_011Filler.json
│ │ │ ├── static_callcallcodecallcode_011_2Filler.json
│ │ │ ├── static_callcallcodecallcode_011_OOGEFiller.json
│ │ │ ├── static_callcallcodecallcode_011_OOGE_2Filler.json
│ │ │ ├── static_callcallcodecallcode_011_OOGMAfter2Filler.json
│ │ │ ├── static_callcallcodecallcode_011_OOGMAfterFiller.json
│ │ │ ├── static_callcallcodecallcode_011_OOGMAfter_1Filler.json
│ │ │ ├── static_callcallcodecallcode_011_OOGMAfter_2Filler.json
│ │ │ ├── static_callcallcodecallcode_011_OOGMBefore2Filler.json
│ │ │ ├── static_callcallcodecallcode_011_OOGMBeforeFiller.json
│ │ │ ├── static_callcallcodecallcode_011_SuicideEnd2Filler.json
│ │ │ ├── static_callcallcodecallcode_011_SuicideEndFiller.json
│ │ │ ├── static_callcallcodecallcode_011_SuicideMiddle2Filler.json
│ │ │ ├── static_callcallcodecallcode_011_SuicideMiddleFiller.json
│ │ │ ├── static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json
│ │ │ ├── static_callcallcodecallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── static_callcode_checkPCFiller.json
│ │ │ ├── static_callcodecall_10Filler.json
│ │ │ ├── static_callcodecall_10_2Filler.json
│ │ │ ├── static_callcodecall_10_OOGEFiller.json
│ │ │ ├── static_callcodecall_10_OOGE_2Filler.json
│ │ │ ├── static_callcodecall_10_SuicideEnd2Filler.json
│ │ │ ├── static_callcodecall_10_SuicideEndFiller.json
│ │ │ ├── static_callcodecallcall_100Filler.json
│ │ │ ├── static_callcodecallcall_100_2Filler.json
│ │ │ ├── static_callcodecallcall_100_OOGE2Filler.json
│ │ │ ├── static_callcodecallcall_100_OOGEFiller.json
│ │ │ ├── static_callcodecallcall_100_OOGMAfter2Filler.json
│ │ │ ├── static_callcodecallcall_100_OOGMAfterFiller.json
│ │ │ ├── static_callcodecallcall_100_OOGMAfter_2Filler.json
│ │ │ ├── static_callcodecallcall_100_OOGMAfter_3Filler.json
│ │ │ ├── static_callcodecallcall_100_OOGMBefore2Filler.json
│ │ │ ├── static_callcodecallcall_100_OOGMBeforeFiller.json
│ │ │ ├── static_callcodecallcall_100_SuicideEnd2Filler.json
│ │ │ ├── static_callcodecallcall_100_SuicideEndFiller.json
│ │ │ ├── static_callcodecallcall_100_SuicideMiddle2Filler.json
│ │ │ ├── static_callcodecallcall_100_SuicideMiddleFiller.json
│ │ │ ├── static_callcodecallcall_ABCB_RECURSIVE2Filler.json
│ │ │ ├── static_callcodecallcall_ABCB_RECURSIVEFiller.json
│ │ │ ├── static_callcodecallcallcode_101Filler.json
│ │ │ ├── static_callcodecallcallcode_101_2Filler.json
│ │ │ ├── static_callcodecallcallcode_101_OOGEFiller.json
│ │ │ ├── static_callcodecallcallcode_101_OOGE_2Filler.json
│ │ │ ├── static_callcodecallcallcode_101_OOGMAfter2Filler.json
│ │ │ ├── static_callcodecallcallcode_101_OOGMAfterFiller.json
│ │ │ ├── static_callcodecallcallcode_101_OOGMAfter_1Filler.json
│ │ │ ├── static_callcodecallcallcode_101_OOGMAfter_3Filler.json
│ │ │ ├── static_callcodecallcallcode_101_OOGMBefore2Filler.json
│ │ │ ├── static_callcodecallcallcode_101_OOGMBeforeFiller.json
│ │ │ ├── static_callcodecallcallcode_101_SuicideEnd2Filler.json
│ │ │ ├── static_callcodecallcallcode_101_SuicideEndFiller.json
│ │ │ ├── static_callcodecallcallcode_101_SuicideMiddle2Filler.json
│ │ │ ├── static_callcodecallcallcode_101_SuicideMiddleFiller.json
│ │ │ ├── static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json
│ │ │ ├── static_callcodecallcallcode_ABCB_RECURSIVEFiller.json
│ │ │ ├── static_callcodecallcodecall_1102Filler.json
│ │ │ ├── static_callcodecallcodecall_110Filler.json
│ │ │ ├── static_callcodecallcodecall_110_2Filler.json
│ │ │ ├── static_callcodecallcodecall_110_OOGE2Filler.json
│ │ │ ├── static_callcodecallcodecall_110_OOGEFiller.json
│ │ │ ├── static_callcodecallcodecall_110_OOGMAfter2Filler.json
│ │ │ ├── static_callcodecallcodecall_110_OOGMAfterFiller.json
│ │ │ ├── static_callcodecallcodecall_110_OOGMAfter_2Filler.json
│ │ │ ├── static_callcodecallcodecall_110_OOGMAfter_3Filler.json
│ │ │ ├── static_callcodecallcodecall_110_OOGMBefore2Filler.json
│ │ │ ├── static_callcodecallcodecall_110_OOGMBeforeFiller.json
│ │ │ ├── static_callcodecallcodecall_110_SuicideEnd2Filler.json
│ │ │ ├── static_callcodecallcodecall_110_SuicideEndFiller.json
│ │ │ ├── static_callcodecallcodecall_110_SuicideMiddle2Filler.json
│ │ │ ├── static_callcodecallcodecall_110_SuicideMiddleFiller.json
│ │ │ ├── static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json
│ │ │ ├── static_callcodecallcodecall_ABCB_RECURSIVEFiller.json
│ │ │ ├── static_callcodecallcodecallcode_111_SuicideEndFiller.json
│ │ │ ├── static_calldelcode_01Filler.json
│ │ │ ├── static_calldelcode_01_OOGEFiller.json
│ │ │ ├── static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json
│ │ │ ├── static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json
│ │ │ ├── static_log0_emptyMemFiller.json
│ │ │ ├── static_log0_logMemStartTooHighFiller.json
│ │ │ ├── static_log0_logMemsizeTooHighFiller.json
│ │ │ ├── static_log0_logMemsizeZeroFiller.json
│ │ │ ├── static_log0_nonEmptyMemFiller.json
│ │ │ ├── static_log0_nonEmptyMem_logMemSize1Filler.json
│ │ │ ├── static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json
│ │ │ ├── static_log1_MaxTopicFiller.json
│ │ │ ├── static_log1_emptyMemFiller.json
│ │ │ ├── static_log1_logMemStartTooHighFiller.json
│ │ │ ├── static_log1_logMemsizeTooHighFiller.json
│ │ │ ├── static_log1_logMemsizeZeroFiller.json
│ │ │ ├── static_log_CallerFiller.json
│ │ │ ├── static_makeMoneyFiller.json
│ │ │ ├── static_refund_CallAFiller.json
│ │ │ ├── static_refund_CallToSuicideNoStorageFiller.json
│ │ │ └── static_refund_CallToSuicideTwiceFiller.json
│ │ ├── stStaticFlagEnabled/
│ │ │ ├── CallWithNOTZeroValueToPrecompileFromCalledContractFiller.yml
│ │ │ ├── CallWithNOTZeroValueToPrecompileFromContractInitializationFiller.yml
│ │ │ ├── CallWithNOTZeroValueToPrecompileFromTransactionFiller.yml
│ │ │ ├── CallWithZeroValueToPrecompileFromCalledContractFiller.yml
│ │ │ ├── CallWithZeroValueToPrecompileFromContractInitializationFiller.yml
│ │ │ ├── CallWithZeroValueToPrecompileFromTransactionFiller.yml
│ │ │ ├── CallcodeToPrecompileFromCalledContractFiller.yml
│ │ │ ├── CallcodeToPrecompileFromContractInitializationFiller.yml
│ │ │ ├── CallcodeToPrecompileFromTransactionFiller.yml
│ │ │ ├── DelegatecallToPrecompileFromCalledContractFiller.yml
│ │ │ ├── DelegatecallToPrecompileFromContractInitializationFiller.yml
│ │ │ ├── DelegatecallToPrecompileFromTransactionFiller.yml
│ │ │ ├── StaticcallForPrecompilesIssue683Filler.yml
│ │ │ └── __init__.py
│ │ ├── stSystemOperationsTest/
│ │ │ ├── ABAcalls0Filler.json
│ │ │ ├── ABAcalls1Filler.json
│ │ │ ├── ABAcalls2Filler.json
│ │ │ ├── ABAcalls3Filler.json
│ │ │ ├── ABAcallsSuicide0Filler.json
│ │ │ ├── ABAcallsSuicide1Filler.json
│ │ │ ├── Call10Filler.json
│ │ │ ├── CallRecursiveBomb0Filler.json
│ │ │ ├── CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json
│ │ │ ├── CallRecursiveBomb1Filler.json
│ │ │ ├── CallRecursiveBomb2Filler.json
│ │ │ ├── CallRecursiveBomb3Filler.json
│ │ │ ├── CallRecursiveBombLog2Filler.json
│ │ │ ├── CallRecursiveBombLogFiller.json
│ │ │ ├── CallToNameRegistrator0Filler.json
│ │ │ ├── CallToNameRegistratorAddressTooBigLeftFiller.json
│ │ │ ├── CallToNameRegistratorAddressTooBigRightFiller.json
│ │ │ ├── CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json
│ │ │ ├── CallToNameRegistratorNotMuchMemory0Filler.json
│ │ │ ├── CallToNameRegistratorNotMuchMemory1Filler.json
│ │ │ ├── CallToNameRegistratorOutOfGasFiller.json
│ │ │ ├── CallToNameRegistratorTooMuchMemory0Filler.json
│ │ │ ├── CallToNameRegistratorTooMuchMemory1Filler.json
│ │ │ ├── CallToNameRegistratorTooMuchMemory2Filler.json
│ │ │ ├── CallToNameRegistratorZeorSizeMemExpansionFiller.json
│ │ │ ├── CallToReturn1Filler.json
│ │ │ ├── CallToReturn1ForDynamicJump0Filler.json
│ │ │ ├── CallToReturn1ForDynamicJump1Filler.json
│ │ │ ├── CalltoReturn2Filler.json
│ │ │ ├── CreateHashCollisionFiller.json
│ │ │ ├── PostToReturn1Filler.json
│ │ │ ├── TestNameRegistratorFiller.json
│ │ │ ├── __init__.py
│ │ │ ├── balanceInputAddressTooBigFiller.json
│ │ │ ├── callValueFiller.json
│ │ │ ├── callcodeTo0Filler.json
│ │ │ ├── callcodeToNameRegistrator0Filler.json
│ │ │ ├── callcodeToNameRegistratorAddresTooBigLeftFiller.json
│ │ │ ├── callcodeToNameRegistratorAddresTooBigRightFiller.json
│ │ │ ├── callcodeToNameRegistratorZeroMemExpanionFiller.json
│ │ │ ├── callcodeToReturn1Filler.json
│ │ │ ├── callerAccountBalanceFiller.json
│ │ │ ├── createNameRegistratorFiller.json
│ │ │ ├── createNameRegistratorOOG_MemExpansionOOVFiller.json
│ │ │ ├── createNameRegistratorOutOfMemoryBonds0Filler.json
│ │ │ ├── createNameRegistratorOutOfMemoryBonds1Filler.json
│ │ │ ├── createNameRegistratorValueTooHighFiller.json
│ │ │ ├── createNameRegistratorZeroMem2Filler.json
│ │ │ ├── createNameRegistratorZeroMemExpansionFiller.json
│ │ │ ├── createNameRegistratorZeroMemFiller.json
│ │ │ ├── createWithInvalidOpcodeFiller.json
│ │ │ ├── currentAccountBalanceFiller.json
│ │ │ ├── doubleSelfdestructTestFiller.yml
│ │ │ ├── doubleSelfdestructTouch_ParisFiller.yml
│ │ │ ├── extcodecopyFiller.json
│ │ │ ├── multiSelfdestructFiller.yml
│ │ │ ├── return0Filler.json
│ │ │ ├── return1Filler.json
│ │ │ ├── return2Filler.json
│ │ │ ├── suicideAddressFiller.json
│ │ │ ├── suicideCallerAddresTooBigLeftFiller.json
│ │ │ ├── suicideCallerAddresTooBigRightFiller.json
│ │ │ ├── suicideCallerFiller.json
│ │ │ ├── suicideNotExistingAccountFiller.json
│ │ │ ├── suicideOriginFiller.json
│ │ │ ├── suicideSendEtherPostDeathFiller.json
│ │ │ ├── suicideSendEtherToMeFiller.json
│ │ │ └── testRandomTestFiller.json
│ │ ├── stTimeConsuming/
│ │ │ ├── __init__.py
│ │ │ ├── sstore_combinations_initial00_2_ParisFiller.json
│ │ │ ├── sstore_combinations_initial00_ParisFiller.json
│ │ │ ├── sstore_combinations_initial01_2_ParisFiller.json
│ │ │ ├── sstore_combinations_initial01_ParisFiller.json
│ │ │ ├── sstore_combinations_initial10_2_ParisFiller.json
│ │ │ ├── sstore_combinations_initial10_ParisFiller.json
│ │ │ ├── sstore_combinations_initial11_2_ParisFiller.json
│ │ │ ├── sstore_combinations_initial11_ParisFiller.json
│ │ │ ├── sstore_combinations_initial20_2_ParisFiller.json
│ │ │ ├── sstore_combinations_initial20_ParisFiller.json
│ │ │ ├── sstore_combinations_initial21_2_ParisFiller.json
│ │ │ └── sstore_combinations_initial21_ParisFiller.json
│ │ ├── stTransactionTest/
│ │ │ ├── ContractStoreClearsOOGFiller.json
│ │ │ ├── ContractStoreClearsSuccessFiller.json
│ │ │ ├── CreateMessageRevertedFiller.json
│ │ │ ├── CreateMessageSuccessFiller.json
│ │ │ ├── CreateTransactionSuccessFiller.json
│ │ │ ├── EmptyTransaction3Filler.json
│ │ │ ├── HighGasLimitFiller.json
│ │ │ ├── HighGasPriceParisFiller.yml
│ │ │ ├── InternalCallHittingGasLimit2Filler.json
│ │ │ ├── InternalCallHittingGasLimitFiller.json
│ │ │ ├── InternalCallHittingGasLimitSuccessFiller.json
│ │ │ ├── InternalCallStoreClearsOOGFiller.json
│ │ │ ├── InternalCallStoreClearsSuccessFiller.json
│ │ │ ├── NoSrcAccount1559Filler.yml
│ │ │ ├── NoSrcAccountCreate1559Filler.yml
│ │ │ ├── NoSrcAccountCreateFiller.yml
│ │ │ ├── NoSrcAccountFiller.yml
│ │ │ ├── Opcodes_TransactionInitFiller.json
│ │ │ ├── OverflowGasRequire2Filler.json
│ │ │ ├── PointAtInfinityECRecoverFiller.yml
│ │ │ ├── StoreClearsAndInternalCallStoreClearsOOGFiller.json
│ │ │ ├── StoreClearsAndInternalCallStoreClearsSuccessFiller.json
│ │ │ ├── StoreGasOnCreateFiller.json
│ │ │ ├── SuicidesAndInternalCallSuicidesBonusGasAtCallFailedFiller.json
│ │ │ ├── SuicidesAndInternalCallSuicidesBonusGasAtCallFiller.json
│ │ │ ├── SuicidesAndInternalCallSuicidesOOGFiller.json
│ │ │ ├── SuicidesAndInternalCallSuicidesSuccessFiller.json
│ │ │ ├── SuicidesAndSendMoneyToItselfEtherDestroyedFiller.json
│ │ │ ├── SuicidesStopAfterSuicideFiller.json
│ │ │ ├── TransactionDataCosts652Filler.json
│ │ │ ├── TransactionSendingToEmptyFiller.json
│ │ │ ├── TransactionSendingToZeroFiller.json
│ │ │ ├── TransactionToAddressh160minusOneFiller.json
│ │ │ ├── TransactionToItselfFiller.json
│ │ │ └── __init__.py
│ │ ├── stTransitionTest/
│ │ │ ├── __init__.py
│ │ │ ├── createNameRegistratorPerTxsAfterFiller.json
│ │ │ ├── createNameRegistratorPerTxsAtFiller.json
│ │ │ ├── createNameRegistratorPerTxsBeforeFiller.json
│ │ │ ├── delegatecallAfterTransitionFiller.json
│ │ │ ├── delegatecallAtTransitionFiller.json
│ │ │ └── delegatecallBeforeTransitionFiller.json
│ │ ├── stWalletTest/
│ │ │ ├── __init__.py
│ │ │ ├── dayLimitConstructionFiller.json
│ │ │ ├── dayLimitConstructionOOGFiller.json
│ │ │ ├── dayLimitConstructionPartialFiller.json
│ │ │ ├── dayLimitResetSpentTodayFiller.json
│ │ │ ├── dayLimitSetDailyLimitFiller.json
│ │ │ ├── dayLimitSetDailyLimitNoDataFiller.json
│ │ │ ├── multiOwnedAddOwnerAddMyselfFiller.json
│ │ │ ├── multiOwnedAddOwnerFiller.json
│ │ │ ├── multiOwnedChangeOwnerFiller.json
│ │ │ ├── multiOwnedChangeOwnerNoArgumentFiller.json
│ │ │ ├── multiOwnedChangeOwner_fromNotOwnerFiller.json
│ │ │ ├── multiOwnedChangeOwner_toIsOwnerFiller.json
│ │ │ ├── multiOwnedChangeRequirementTo0Filler.json
│ │ │ ├── multiOwnedChangeRequirementTo1Filler.json
│ │ │ ├── multiOwnedChangeRequirementTo2Filler.json
│ │ │ ├── multiOwnedConstructionCorrectFiller.json
│ │ │ ├── multiOwnedConstructionNotEnoughGasFiller.json
│ │ │ ├── multiOwnedConstructionNotEnoughGasPartialFiller.json
│ │ │ ├── multiOwnedIsOwnerFalseFiller.json
│ │ │ ├── multiOwnedIsOwnerTrueFiller.json
│ │ │ ├── multiOwnedRemoveOwnerByNonOwnerFiller.json
│ │ │ ├── multiOwnedRemoveOwnerFiller.json
│ │ │ ├── multiOwnedRemoveOwner_mySelfFiller.json
│ │ │ ├── multiOwnedRemoveOwner_ownerIsNotOwnerFiller.json
│ │ │ ├── multiOwnedRevokeNothingFiller.json
│ │ │ ├── walletAddOwnerRemovePendingTransactionFiller.json
│ │ │ ├── walletChangeOwnerRemovePendingTransactionFiller.json
│ │ │ ├── walletChangeRequirementRemovePendingTransactionFiller.json
│ │ │ ├── walletConfirmFiller.json
│ │ │ ├── walletConstructionFiller.json
│ │ │ ├── walletConstructionOOGFiller.json
│ │ │ ├── walletConstructionPartialFiller.json
│ │ │ ├── walletDefaultFiller.json
│ │ │ ├── walletDefaultWithOutValueFiller.json
│ │ │ ├── walletExecuteOverDailyLimitMultiOwnerFiller.json
│ │ │ ├── walletExecuteOverDailyLimitOnlyOneOwnerFiller.json
│ │ │ ├── walletExecuteOverDailyLimitOnlyOneOwnerNewFiller.json
│ │ │ ├── walletExecuteUnderDailyLimitFiller.json
│ │ │ ├── walletKillFiller.json
│ │ │ ├── walletKillNotByOwnerFiller.json
│ │ │ ├── walletKillToWalletFiller.json
│ │ │ └── walletRemoveOwnerRemovePendingTransactionFiller.json
│ │ ├── stZeroCallsRevert/
│ │ │ ├── ZeroValue_CALLCODE_OOGRevertFiller.json
│ │ │ ├── ZeroValue_CALLCODE_ToEmpty_OOGRevert_ParisFiller.json
│ │ │ ├── ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevertFiller.json
│ │ │ ├── ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert_ParisFiller.json
│ │ │ ├── ZeroValue_CALL_OOGRevertFiller.json
│ │ │ ├── ZeroValue_CALL_ToEmpty_OOGRevert_ParisFiller.json
│ │ │ ├── ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json
│ │ │ ├── ZeroValue_CALL_ToOneStorageKey_OOGRevert_ParisFiller.json
│ │ │ ├── ZeroValue_DELEGATECALL_OOGRevertFiller.json
│ │ │ ├── ZeroValue_DELEGATECALL_ToEmpty_OOGRevert_ParisFiller.json
│ │ │ ├── ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevertFiller.json
│ │ │ ├── ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert_ParisFiller.json
│ │ │ ├── ZeroValue_SUICIDE_OOGRevertFiller.json
│ │ │ ├── ZeroValue_SUICIDE_ToEmpty_OOGRevert_ParisFiller.json
│ │ │ ├── ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json
│ │ │ ├── ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert_ParisFiller.json
│ │ │ └── __init__.py
│ │ ├── stZeroCallsTest/
│ │ │ ├── ZeroValue_CALLCODEFiller.json
│ │ │ ├── ZeroValue_CALLCODE_ToEmpty_ParisFiller.json
│ │ │ ├── ZeroValue_CALLCODE_ToNonZeroBalanceFiller.json
│ │ │ ├── ZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json
│ │ │ ├── ZeroValue_CALLFiller.json
│ │ │ ├── ZeroValue_CALL_ToEmpty_ParisFiller.json
│ │ │ ├── ZeroValue_CALL_ToNonZeroBalanceFiller.json
│ │ │ ├── ZeroValue_CALL_ToOneStorageKey_ParisFiller.json
│ │ │ ├── ZeroValue_DELEGATECALLFiller.json
│ │ │ ├── ZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json
│ │ │ ├── ZeroValue_DELEGATECALL_ToNonZeroBalanceFiller.json
│ │ │ ├── ZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json
│ │ │ ├── ZeroValue_SUICIDEFiller.json
│ │ │ ├── ZeroValue_SUICIDE_ToEmpty_ParisFiller.json
│ │ │ ├── ZeroValue_SUICIDE_ToNonZeroBalanceFiller.json
│ │ │ ├── ZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json
│ │ │ ├── ZeroValue_TransactionCALLFiller.json
│ │ │ ├── ZeroValue_TransactionCALL_ToEmpty_ParisFiller.json
│ │ │ ├── ZeroValue_TransactionCALL_ToNonZeroBalanceFiller.json
│ │ │ ├── ZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json
│ │ │ ├── ZeroValue_TransactionCALLwithDataFiller.json
│ │ │ ├── ZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json
│ │ │ ├── ZeroValue_TransactionCALLwithData_ToNonZeroBalanceFiller.json
│ │ │ ├── ZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json
│ │ │ └── __init__.py
│ │ ├── stZeroKnowledge/
│ │ │ ├── __init__.py
│ │ │ ├── ecmul_1-2_2_28000_128Filler.json
│ │ │ ├── ecmul_1-2_2_28000_96Filler.json
│ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_21000_128Filler.json
│ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_21000_80Filler.json
│ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_21000_96Filler.json
│ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_28000_128Filler.json
│ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_28000_80Filler.json
│ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_28000_96Filler.json
│ │ │ ├── ecmul_1-2_5616_21000_128Filler.json
│ │ │ ├── ecmul_1-2_5616_21000_96Filler.json
│ │ │ ├── ecmul_1-2_5616_28000_128Filler.json
│ │ │ ├── ecmul_1-2_5617_21000_128Filler.json
│ │ │ ├── ecmul_1-2_5617_21000_96Filler.json
│ │ │ ├── ecmul_1-2_5617_28000_128Filler.json
│ │ │ ├── ecmul_1-2_5617_28000_96Filler.json
│ │ │ ├── ecmul_1-2_616_28000_96Filler.json
│ │ │ ├── ecmul_1-2_9935_21000_128Filler.json
│ │ │ ├── ecmul_1-2_9935_21000_96Filler.json
│ │ │ ├── ecmul_1-2_9935_28000_128Filler.json
│ │ │ ├── ecmul_1-2_9935_28000_96Filler.json
│ │ │ ├── ecmul_1-2_9_21000_128Filler.json
│ │ │ ├── ecmul_1-2_9_21000_96Filler.json
│ │ │ ├── ecmul_1-2_9_28000_128Filler.json
│ │ │ ├── ecmul_1-2_9_28000_96Filler.json
│ │ │ ├── ecmul_1-3_0_21000_128Filler.json
│ │ │ ├── ecmul_1-3_0_21000_64Filler.json
│ │ │ ├── ecmul_1-3_0_21000_80Filler.json
│ │ │ ├── ecmul_1-3_0_21000_96Filler.json
│ │ │ ├── ecmul_1-3_0_28000_128Filler.json
│ │ │ ├── ecmul_1-3_0_28000_64Filler.json
│ │ │ ├── ecmul_1-3_0_28000_80_ParisFiller.json
│ │ │ ├── ecmul_1-3_0_28000_96Filler.json
│ │ │ ├── ecmul_1-3_1_21000_128Filler.json
│ │ │ ├── ecmul_1-3_1_21000_96Filler.json
│ │ │ ├── ecmul_1-3_1_28000_128Filler.json
│ │ │ ├── ecmul_1-3_1_28000_96Filler.json
│ │ │ ├── ecmul_1-3_2_21000_128Filler.json
│ │ │ ├── ecmul_1-3_2_21000_96Filler.json
│ │ │ ├── ecmul_1-3_2_28000_128Filler.json
│ │ │ ├── ecmul_1-3_2_28000_96Filler.json
│ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_21000_128Filler.json
│ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_21000_80Filler.json
│ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_21000_96Filler.json
│ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_28000_128Filler.json
│ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_28000_80Filler.json
│ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_28000_96Filler.json
│ │ │ ├── ecmul_1-3_5616_21000_128Filler.json
│ │ │ ├── ecmul_1-3_5616_21000_96Filler.json
│ │ │ ├── ecmul_1-3_5616_28000_128Filler.json
│ │ │ ├── ecmul_1-3_5616_28000_96Filler.json
│ │ │ ├── ecmul_1-3_5617_21000_128Filler.json
│ │ │ ├── ecmul_1-3_5617_21000_96Filler.json
│ │ │ ├── ecmul_1-3_5617_28000_128Filler.json
│ │ │ ├── ecmul_1-3_5617_28000_96Filler.json
│ │ │ ├── ecmul_1-3_9935_21000_128Filler.json
│ │ │ ├── ecmul_1-3_9935_21000_96Filler.json
│ │ │ ├── ecmul_1-3_9935_28000_128Filler.json
│ │ │ ├── ecmul_1-3_9935_28000_96Filler.json
│ │ │ ├── ecmul_1-3_9_21000_128Filler.json
│ │ │ ├── ecmul_1-3_9_21000_96Filler.json
│ │ │ ├── ecmul_1-3_9_28000_128Filler.json
│ │ │ ├── ecmul_1-3_9_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_0_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_0_21000_64Filler.json
│ │ │ ├── ecmul_7827-6598_0_21000_80Filler.json
│ │ │ ├── ecmul_7827-6598_0_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_0_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_0_28000_64Filler.json
│ │ │ ├── ecmul_7827-6598_0_28000_80Filler.json
│ │ │ ├── ecmul_7827-6598_0_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_1456_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_1456_21000_80Filler.json
│ │ │ ├── ecmul_7827-6598_1456_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_1456_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_1456_28000_80Filler.json
│ │ │ ├── ecmul_7827-6598_1456_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_1_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_1_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_1_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_1_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_2_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_2_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_2_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_2_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_5616_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_5616_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_5616_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_5616_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_5617_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_5617_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_5617_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_5617_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_9935_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_9935_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_9935_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_9935_28000_96Filler.json
│ │ │ ├── ecmul_7827-6598_9_21000_128Filler.json
│ │ │ ├── ecmul_7827-6598_9_21000_96Filler.json
│ │ │ ├── ecmul_7827-6598_9_28000_128Filler.json
│ │ │ ├── ecmul_7827-6598_9_28000_96Filler.json
│ │ │ ├── ecpairing_bad_length_191Filler.json
│ │ │ ├── ecpairing_bad_length_193Filler.json
│ │ │ ├── ecpairing_empty_dataFiller.json
│ │ │ ├── ecpairing_empty_data_insufficient_gasFiller.json
│ │ │ ├── ecpairing_inputsFiller.yml
│ │ │ ├── ecpairing_one_point_failFiller.json
│ │ │ ├── ecpairing_one_point_insufficient_gasFiller.json
│ │ │ ├── ecpairing_one_point_not_in_subgroupFiller.json
│ │ │ ├── ecpairing_one_point_with_g1_zeroFiller.json
│ │ │ ├── ecpairing_one_point_with_g2_zeroFiller.json
│ │ │ ├── ecpairing_one_point_with_g2_zero_and_g1_invalidFiller.json
│ │ │ ├── ecpairing_perturb_g2_by_curve_orderFiller.json
│ │ │ ├── ecpairing_perturb_g2_by_field_modulusFiller.json
│ │ │ ├── ecpairing_perturb_g2_by_field_modulus_againFiller.json
│ │ │ ├── ecpairing_perturb_g2_by_oneFiller.json
│ │ │ ├── ecpairing_perturb_zeropoint_by_curve_orderFiller.json
│ │ │ ├── ecpairing_perturb_zeropoint_by_field_modulusFiller.json
│ │ │ ├── ecpairing_perturb_zeropoint_by_oneFiller.json
│ │ │ ├── ecpairing_three_point_fail_1Filler.json
│ │ │ ├── ecpairing_three_point_match_1Filler.json
│ │ │ ├── ecpairing_two_point_fail_1Filler.json
│ │ │ ├── ecpairing_two_point_fail_2Filler.json
│ │ │ ├── ecpairing_two_point_match_1Filler.json
│ │ │ ├── ecpairing_two_point_match_2Filler.json
│ │ │ ├── ecpairing_two_point_match_3Filler.json
│ │ │ ├── ecpairing_two_point_match_4Filler.json
│ │ │ ├── ecpairing_two_point_match_5Filler.json
│ │ │ ├── ecpairing_two_point_oogFiller.json
│ │ │ ├── ecpairing_two_points_with_one_g2_zeroFiller.json
│ │ │ ├── pairingTestFiller.json
│ │ │ ├── pointAddFiller.json
│ │ │ ├── pointAddTruncFiller.json
│ │ │ ├── pointMulAdd2Filler.json
│ │ │ └── pointMulAddFiller.json
│ │ └── stZeroKnowledge2/
│ │ ├── __init__.py
│ │ ├── ecadd_0-0_0-0_21000_0Filler.json
│ │ ├── ecadd_0-0_0-0_21000_128Filler.json
│ │ ├── ecadd_0-0_0-0_21000_192Filler.json
│ │ ├── ecadd_0-0_0-0_21000_64Filler.json
│ │ ├── ecadd_0-0_0-0_21000_80_ParisFiller.json
│ │ ├── ecadd_0-0_0-0_25000_0Filler.json
│ │ ├── ecadd_0-0_0-0_25000_128Filler.json
│ │ ├── ecadd_0-0_0-0_25000_192Filler.json
│ │ ├── ecadd_0-0_0-0_25000_64Filler.json
│ │ ├── ecadd_0-0_0-0_25000_80Filler.json
│ │ ├── ecadd_0-0_1-2_21000_128Filler.json
│ │ ├── ecadd_0-0_1-2_21000_192Filler.json
│ │ ├── ecadd_0-0_1-2_25000_128Filler.json
│ │ ├── ecadd_0-0_1-2_25000_192Filler.json
│ │ ├── ecadd_0-0_1-3_21000_128Filler.json
│ │ ├── ecadd_0-0_1-3_25000_128Filler.json
│ │ ├── ecadd_0-3_1-2_21000_128Filler.json
│ │ ├── ecadd_0-3_1-2_25000_128Filler.json
│ │ ├── ecadd_1-2_0-0_21000_128Filler.json
│ │ ├── ecadd_1-2_0-0_21000_192Filler.json
│ │ ├── ecadd_1-2_0-0_21000_64Filler.json
│ │ ├── ecadd_1-2_0-0_25000_128Filler.json
│ │ ├── ecadd_1-2_0-0_25000_192Filler.json
│ │ ├── ecadd_1-2_0-0_25000_64Filler.json
│ │ ├── ecadd_1-2_1-2_21000_128Filler.json
│ │ ├── ecadd_1-2_1-2_21000_192Filler.json
│ │ ├── ecadd_1-2_1-2_25000_128Filler.json
│ │ ├── ecadd_1-2_1-2_25000_192Filler.json
│ │ ├── ecadd_1-3_0-0_21000_80Filler.json
│ │ ├── ecadd_1-3_0-0_25000_80_ParisFiller.json
│ │ ├── ecadd_1145-3932_1145-4651_21000_192Filler.json
│ │ ├── ecadd_1145-3932_1145-4651_25000_192Filler.json
│ │ ├── ecadd_1145-3932_2969-1336_21000_128Filler.json
│ │ ├── ecadd_1145-3932_2969-1336_25000_128Filler.json
│ │ ├── ecadd_6-9_19274124-124124_21000_128Filler.json
│ │ ├── ecadd_6-9_19274124-124124_25000_128Filler.json
│ │ ├── ecmul_0-0_0_21000_0Filler.json
│ │ ├── ecmul_0-0_0_21000_128Filler.json
│ │ ├── ecmul_0-0_0_21000_40Filler.json
│ │ ├── ecmul_0-0_0_21000_64Filler.json
│ │ ├── ecmul_0-0_0_21000_80Filler.json
│ │ ├── ecmul_0-0_0_21000_96Filler.json
│ │ ├── ecmul_0-0_0_28000_0Filler.json
│ │ ├── ecmul_0-0_0_28000_128Filler.json
│ │ ├── ecmul_0-0_0_28000_40Filler.json
│ │ ├── ecmul_0-0_0_28000_64Filler.json
│ │ ├── ecmul_0-0_0_28000_80Filler.json
│ │ ├── ecmul_0-0_0_28000_96Filler.json
│ │ ├── ecmul_0-0_1_21000_128Filler.json
│ │ ├── ecmul_0-0_1_21000_96Filler.json
│ │ ├── ecmul_0-0_1_28000_128Filler.json
│ │ ├── ecmul_0-0_1_28000_96Filler.json
│ │ ├── ecmul_0-0_2_21000_128Filler.json
│ │ ├── ecmul_0-0_2_21000_96Filler.json
│ │ ├── ecmul_0-0_2_28000_128Filler.json
│ │ ├── ecmul_0-0_2_28000_96Filler.json
│ │ ├── ecmul_0-0_340282366920938463463374607431768211456_21000_128Filler.json
│ │ ├── ecmul_0-0_340282366920938463463374607431768211456_21000_80Filler.json
│ │ ├── ecmul_0-0_340282366920938463463374607431768211456_21000_96Filler.json
│ │ ├── ecmul_0-0_340282366920938463463374607431768211456_28000_128Filler.json
│ │ ├── ecmul_0-0_340282366920938463463374607431768211456_28000_80Filler.json
│ │ ├── ecmul_0-0_340282366920938463463374607431768211456_28000_96Filler.json
│ │ ├── ecmul_0-0_5616_21000_128Filler.json
│ │ ├── ecmul_0-0_5616_21000_96Filler.json
│ │ ├── ecmul_0-0_5616_28000_128Filler.json
│ │ ├── ecmul_0-0_5616_28000_96Filler.json
│ │ ├── ecmul_0-0_5617_21000_128Filler.json
│ │ ├── ecmul_0-0_5617_21000_96Filler.json
│ │ ├── ecmul_0-0_5617_28000_128Filler.json
│ │ ├── ecmul_0-0_5617_28000_96Filler.json
│ │ ├── ecmul_0-0_9935_21000_128Filler.json
│ │ ├── ecmul_0-0_9935_21000_96Filler.json
│ │ ├── ecmul_0-0_9935_28000_128Filler.json
│ │ ├── ecmul_0-0_9935_28000_96Filler.json
│ │ ├── ecmul_0-0_9_21000_128Filler.json
│ │ ├── ecmul_0-0_9_21000_96Filler.json
│ │ ├── ecmul_0-0_9_28000_128Filler.json
│ │ ├── ecmul_0-0_9_28000_96Filler.json
│ │ ├── ecmul_0-3_0_21000_128Filler.json
│ │ ├── ecmul_0-3_0_21000_64Filler.json
│ │ ├── ecmul_0-3_0_21000_80Filler.json
│ │ ├── ecmul_0-3_0_21000_96Filler.json
│ │ ├── ecmul_0-3_0_28000_128Filler.json
│ │ ├── ecmul_0-3_0_28000_64Filler.json
│ │ ├── ecmul_0-3_0_28000_80Filler.json
│ │ ├── ecmul_0-3_0_28000_96Filler.json
│ │ ├── ecmul_0-3_1_21000_128Filler.json
│ │ ├── ecmul_0-3_1_21000_96Filler.json
│ │ ├── ecmul_0-3_1_28000_128Filler.json
│ │ ├── ecmul_0-3_1_28000_96Filler.json
│ │ ├── ecmul_0-3_2_21000_128Filler.json
│ │ ├── ecmul_0-3_2_21000_96Filler.json
│ │ ├── ecmul_0-3_2_28000_128Filler.json
│ │ ├── ecmul_0-3_2_28000_96Filler.json
│ │ ├── ecmul_0-3_340282366920938463463374607431768211456_21000_128Filler.json
│ │ ├── ecmul_0-3_340282366920938463463374607431768211456_21000_80Filler.json
│ │ ├── ecmul_0-3_340282366920938463463374607431768211456_21000_96Filler.json
│ │ ├── ecmul_0-3_340282366920938463463374607431768211456_28000_128Filler.json
│ │ ├── ecmul_0-3_340282366920938463463374607431768211456_28000_80Filler.json
│ │ ├── ecmul_0-3_340282366920938463463374607431768211456_28000_96Filler.json
│ │ ├── ecmul_0-3_5616_21000_128Filler.json
│ │ ├── ecmul_0-3_5616_21000_96Filler.json
│ │ ├── ecmul_0-3_5616_28000_128Filler.json
│ │ ├── ecmul_0-3_5616_28000_96_ParisFiller.json
│ │ ├── ecmul_0-3_5617_21000_128Filler.json
│ │ ├── ecmul_0-3_5617_21000_96Filler.json
│ │ ├── ecmul_0-3_5617_28000_128Filler.json
│ │ ├── ecmul_0-3_5617_28000_96Filler.json
│ │ ├── ecmul_0-3_9935_21000_128Filler.json
│ │ ├── ecmul_0-3_9935_21000_96Filler.json
│ │ ├── ecmul_0-3_9935_28000_128Filler.json
│ │ ├── ecmul_0-3_9935_28000_96Filler.json
│ │ ├── ecmul_0-3_9_21000_128Filler.json
│ │ ├── ecmul_0-3_9_21000_96Filler.json
│ │ ├── ecmul_0-3_9_28000_128Filler.json
│ │ ├── ecmul_0-3_9_28000_96Filler.json
│ │ ├── ecmul_1-2_0_21000_128Filler.json
│ │ ├── ecmul_1-2_0_21000_64Filler.json
│ │ ├── ecmul_1-2_0_21000_80Filler.json
│ │ ├── ecmul_1-2_0_21000_96Filler.json
│ │ ├── ecmul_1-2_0_28000_128Filler.json
│ │ ├── ecmul_1-2_0_28000_64Filler.json
│ │ ├── ecmul_1-2_0_28000_80Filler.json
│ │ ├── ecmul_1-2_0_28000_96Filler.json
│ │ ├── ecmul_1-2_1_21000_128Filler.json
│ │ ├── ecmul_1-2_1_21000_96Filler.json
│ │ ├── ecmul_1-2_1_28000_128Filler.json
│ │ ├── ecmul_1-2_1_28000_96Filler.json
│ │ ├── ecmul_1-2_2_21000_128Filler.json
│ │ └── ecmul_1-2_2_21000_96Filler.json
│ └── unscheduled/
│ ├── __init__.py
│ └── eip7692_eof_v1/
│ ├── __init__.py
│ ├── eip3540_eof_v1/
│ │ ├── __init__.py
│ │ ├── opcodes.py
│ │ ├── spec.py
│ │ ├── test_all_opcodes_in_container.py
│ │ ├── test_container_size.py
│ │ ├── test_container_validation.py
│ │ ├── test_eof_example.py
│ │ ├── test_execution.py
│ │ ├── test_execution_function.py
│ │ ├── test_extcode.py
│ │ ├── test_migrated_valid_invalid.py
│ │ ├── test_opcodes_in_legacy.py
│ │ ├── test_section_header_body_mismatch.py
│ │ ├── test_section_order.py
│ │ └── test_section_size.py
│ ├── eip4200_relative_jumps/
│ │ ├── __init__.py
│ │ ├── helpers.py
│ │ ├── test_rjump.py
│ │ ├── test_rjumpi.py
│ │ └── test_rjumpv.py
│ ├── eip4750_functions/
│ │ ├── __init__.py
│ │ ├── helpers.py
│ │ ├── test_callf_execution.py
│ │ └── test_code_validation.py
│ ├── eip5450_stack/
│ │ ├── __init__.py
│ │ ├── test_code_validation.py
│ │ └── test_execution.py
│ ├── eip6206_jumpf/
│ │ ├── __init__.py
│ │ ├── helpers.py
│ │ ├── spec.py
│ │ ├── test_jumpf_execution.py
│ │ ├── test_jumpf_stack.py
│ │ ├── test_jumpf_target.py
│ │ ├── test_jumpf_validation.py
│ │ └── test_nonreturning_validation.py
│ ├── eip663_dupn_swapn_exchange/
│ │ ├── __init__.py
│ │ ├── test_dupn.py
│ │ ├── test_exchange.py
│ │ └── test_swapn.py
│ ├── eip7069_extcall/
│ │ ├── __init__.py
│ │ ├── helpers.py
│ │ ├── spec.py
│ │ ├── test_address_space_extension.py
│ │ ├── test_calldata.py
│ │ ├── test_calls.py
│ │ ├── test_gas.py
│ │ ├── test_returndatacopy_memory_expansion.py
│ │ └── test_returndataload.py
│ ├── eip7480_data_section/
│ │ ├── __init__.py
│ │ ├── spec.py
│ │ ├── test_code_validation.py
│ │ ├── test_data_opcodes.py
│ │ └── test_datacopy_memory_expansion.py
│ ├── eip7620_eof_create/
│ │ ├── __init__.py
│ │ ├── helpers.py
│ │ ├── spec.py
│ │ ├── test_eofcreate.py
│ │ ├── test_eofcreate_failures.py
│ │ ├── test_gas.py
│ │ ├── test_legacy_eof_creates.py
│ │ ├── test_memory.py
│ │ ├── test_returncode.py
│ │ └── test_subcontainer_validation.py
│ ├── eip7873_tx_create/
│ │ ├── __init__.py
│ │ ├── spec.py
│ │ ├── test_creation_tx.py
│ │ ├── test_txcreate.py
│ │ ├── test_txcreate_failures.py
│ │ └── test_txcreate_validates.py
│ ├── eof_tracker.md
│ └── gas_test.py
├── tox.ini
└── whitelist.txt
================================================
FILE CONTENTS
================================================
================================================
FILE: .git-blame-ignore-revs
================================================
# change max line length from 80 to 100
a3b64605a548a7a707d7b05bded506d7bef384e6
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
⚠️ NOTICE: All code from this repository has been migrated to https://github.com/ethereum/execution-specs.
As such, this repository is no longer accepting pull requests as of 2025-11-01. Please direct any changes to https://github.com/ethereum/execution-specs instead.
More information is available in the [README.md] or our blogs posts:
- https://steel.ethereum.foundation/blog/2025-11-04_weld_final/
- https://steel.ethereum.foundation/blog/2025-09-11_weld-announcement/
================================================
FILE: .github/actions/build-evm-base/action.yaml
================================================
name: 'Build EVM'
description: 'Resolves and builds the requested EVM binary by name'
inputs:
type:
description: 'Type of EVM binary to build'
required: true
default: 'main'
outputs:
impl:
description: "Implementation of EVM binary to build"
value: ${{ steps.config-evm-reader.outputs.impl }}
repo:
description: "Repository to use to build the EVM binary"
value: ${{ steps.config-evm-reader.outputs.repo }}
ref:
description: "Reference to branch, commit, or tag to use to build the EVM binary"
value: ${{ steps.config-evm-reader.outputs.ref }}
evm-bin:
description: "Binary name of the evm tool to use"
value: ${{ steps.config-evm-impl-config-reader.outputs.evm-bin }}
x-dist:
description: "Binary name of the evm tool to use"
value: ${{ steps.config-evm-impl-config-reader.outputs.x-dist }}
runs:
using: "composite"
steps:
- name: Get the selected EVM version from the .github/configs/evm.yaml
id: config-evm-reader
shell: bash
run: |
awk "/^${{ inputs.type }}:/{flag=1; next} /^[[:alnum:]]/{flag=0} flag" ./.github/configs/evm.yaml \
| sed 's/ //g' | sed 's/:/=/g' >> "$GITHUB_OUTPUT"
- name: Get the EVM implementation configuration from .github/configs/evm-impl-config.yaml
id: config-evm-impl-config-reader
shell: bash
run: |
awk "/^${{ steps.config-evm-reader.outputs.impl }}:/{flag=1; next} /^[[:alnum:]]/{flag=0} flag" ./.github/configs/evm-impl.yaml \
| sed 's/ //g' | sed 's/:/=/g' >> "$GITHUB_OUTPUT"
- name: Print Variables for the selected EVM type
shell: bash
run: |
echo "Implementation: ${{ steps.config-evm-reader.outputs.impl }}"
echo "Repository: ${{ steps.config-evm-reader.outputs.repo }}"
echo "Reference: ${{ steps.config-evm-reader.outputs.ref }}"
echo "EVM Binary: ${{ steps.config-evm-impl-config-reader.outputs.evm-bin }}"
echo "X-Dist parameter: ${{ steps.config-evm-impl-config-reader.outputs.x-dist }}"
- name: Skip building for EELS
if: steps.config-evm-reader.outputs.impl == 'eels'
shell: bash
run: echo "Skipping build for EELS"
- name: Build the EVM using Geth action
if: steps.config-evm-reader.outputs.impl == 'geth'
uses: ./.github/actions/build-evm-client/geth
with:
repo: ${{ steps.config-evm-reader.outputs.repo }}
ref: ${{ steps.config-evm-reader.outputs.ref }}
- name: Build the EVM using EVMONE action
if: steps.config-evm-reader.outputs.impl == 'evmone'
uses: ./.github/actions/build-evm-client/evmone
with:
repo: ${{ steps.config-evm-reader.outputs.repo }}
ref: ${{ steps.config-evm-reader.outputs.ref }}
# `targets` in the evm.yaml must be an inline array to not interfere with `config-evm-reader`'s parsing
targets: ${{ join(fromJSON(steps.config-evm-reader.outputs.targets), ' ') }}
- name: Build the EVM using Besu action
if: steps.config-evm-reader.outputs.impl == 'besu'
uses: ./.github/actions/build-evm-client/besu
with:
repo: ${{ steps.config-evm-reader.outputs.repo }}
ref: ${{ steps.config-evm-reader.outputs.ref }}
- name: Build the EVM using EthJS action
if: steps.config-evm-reader.outputs.impl == 'ethjs'
uses: ./.github/actions/build-evm-client/ethjs
with:
repo: ${{ steps.config-evm-reader.outputs.repo }}
ref: ${{ steps.config-evm-reader.outputs.ref }}
================================================
FILE: .github/actions/build-evm-client/besu/action.yaml
================================================
name: 'Build Besu EVM'
description: 'Builds the Besu EVM binary'
inputs:
repo:
description: 'Source repository to use to build the EVM binary'
required: true
default: 'hyperledger/besu'
ref:
description: 'Reference to branch, commit, or tag to use to build the EVM binary'
required: true
default: 'main'
java:
description: 'Java version to use to build Besu'
required: false
default: '21'
java-distro:
description: 'Java distribution to use to build Besu'
required: false
default: 'temurin'
runs:
using: "composite"
steps:
- name: Checkout Besu
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: ${{ inputs.repo }}
ref: ${{ inputs.ref }}
path: besu
- name: Setup Java
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12
with:
java-version: ${{ inputs.java }}
distribution: ${{ inputs.java-distro }}
cache: 'gradle'
- name: Build evm cmd
shell: bash
run: |
cd $GITHUB_WORKSPACE/besu
./gradlew installDist
echo $GITHUB_WORKSPACE/besu/build/install/besu/bin/ >> $GITHUB_PATH
================================================
FILE: .github/actions/build-evm-client/ethjs/action.yml
================================================
name: 'Build EthereumJS monorepo'
description: 'Builds the EthereumJS monorepo'
inputs:
repo:
description: 'Source repository to use to build EthereumJS'
required: true
default: 'ethereumjs/ethereumjs-monorepo'
ref:
description: 'Reference to branch, commit, or tag to use to build EthereumJS'
required: true
default: 'master'
runs:
using: "composite"
steps:
- name: Checkout EthereumJS monorepo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: ${{ inputs.repo }}
ref: ${{ inputs.ref }}
path: ethereumjs
- name: Setup node
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e
with:
node-version: 18
- name: Build monorepo
shell: bash
run: |
cd $GITHUB_WORKSPACE/ethereumjs
npm ci
- name: Add t8ntool to $PATH
shell: bash
run: |
echo $GITHUB_WORKSPACE/ethereumjs/packages/vm/test/t8n/ >> $GITHUB_PATH
echo $GITHUB_WORKSPACE/ethereumjs/node_modules/.bin >> $GITHUB_PATH
================================================
FILE: .github/actions/build-evm-client/evmone/action.yaml
================================================
name: 'Build evmone EVM'
description: 'Builds the evmone EVM binary'
inputs:
repo:
description: 'Source repository to use to build the EVM binary'
required: true
default: 'ethereum/evmone'
ref:
description: 'Reference to branch, commit, or tag to use to build the EVM binary'
required: true
default: 'master'
targets:
description: 'Which targets to build from evmone repo'
required: false
default: 'all'
runs:
using: "composite"
steps:
- name: Checkout evmone
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: ${{ inputs.repo }}
ref: ${{ inputs.ref }}
path: evmone
submodules: true
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@802fa1a2c4e212495c05bf94dba2704a92a472be
with:
cmake-version: '3.x'
- name: "Install GMP Linux"
if: runner.os == 'Linux'
shell: bash
run: sudo apt-get -q update && sudo apt-get -qy install libgmp-dev
- name: Install GMP macOS
if: runner.os == 'macOS'
shell: bash
run: |
brew update && brew install gmp
- name: Build evmone binary
shell: bash
run: |
mkdir -p $GITHUB_WORKSPACE/bin
cd $GITHUB_WORKSPACE/evmone
cmake -S . -B build -DEVMONE_TESTING=ON -DEVMONE_PRECOMPILES_SILKPRE=1
cmake --build build --parallel --target ${{ inputs.targets }}
echo $GITHUB_WORKSPACE/evmone/build/bin/ >> $GITHUB_PATH
================================================
FILE: .github/actions/build-evm-client/geth/action.yaml
================================================
name: 'Build Go-Ethereum EVM'
description: 'Builds the Go-Ethereum EVM binary'
inputs:
repo:
description: 'Source repository to use to build the EVM binary'
required: true
default: 'ethereum/go-ethereum'
ref:
description: 'Reference to branch, commit, or tag to use to build the EVM binary'
required: true
default: 'master'
golang:
description: 'Golang version to use to build Geth'
required: false
default: '1.21.x'
runs:
using: "composite"
steps:
- name: Checkout go-ethereum
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: ${{ inputs.repo }}
ref: ${{ inputs.ref }}
path: go-ethereum
- name: Setup golang
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b
with:
go-version: ${{ inputs.golang }}
cache-dependency-path: go-ethereum/go.sum
- name: Build evm cmd
shell: bash
run: |
mkdir -p $GITHUB_WORKSPACE/bin
cd $GITHUB_WORKSPACE/go-ethereum/cmd/evm
go build .
echo $GITHUB_WORKSPACE/go-ethereum/cmd/evm >> $GITHUB_PATH
================================================
FILE: .github/actions/build-fixtures/action.yaml
================================================
name: Build and Package Fixture Release
inputs:
release_name:
description: "Name of the fixture release"
required: true
uv_version:
description: "Version of UV to install"
required: true
python_version:
description: "Version of Python to install"
required: true
runs:
using: "composite"
steps:
- name: Install uv ${{ inputs.uv_version }} and python ${{ inputs.python_version }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: false
version: ${{ inputs.uv_version }}
python-version: ${{ inputs.python_version }}
- name: Install EEST
shell: bash
run: uv sync --no-progress
- name: Extract fixture release properties from config
id: properties
shell: bash
run: |
echo "release_name=${{ inputs.release_name }}"
uv run -q .github/scripts/get_release_props.py ${{ inputs.release_name }} >> "$GITHUB_OUTPUT"
- uses: ./.github/actions/build-evm-base
id: evm-builder
with:
type: ${{ steps.properties.outputs.evm-type }}
- name: Generate fixtures using fill
shell: bash
run: |
uv run fill -n ${{ steps.evm-builder.outputs.x-dist }} --evm-bin=${{ steps.evm-builder.outputs.evm-bin }} ${{ steps.properties.outputs.fill-params }} --output=fixtures_${{ inputs.release_name }}.tar.gz --build-name ${{ inputs.release_name }}
- name: Wrap ethereum/tests fixtures with eofwrap tool
shell: bash
if: ${{ steps.properties.outputs.eofwrap }}
run: |
curl -L ${tests_url}${tests_version}.tar.gz | tar -xz
ls -l
uv run eofwrap tests-${tests_version}/BlockchainTests/GeneralStateTests/ fixtures/${output_path}
rm -rf fixtures_${{ inputs.release_name }}
mkdir -p ./fixtures/.meta
mv fixtures/${output_path}/metrics.json ./fixtures/.meta/eofwrap_metrics.json
gunzip fixtures_${{ inputs.release_name }}.tar.gz
tar rf fixtures_${{ inputs.release_name }}.tar fixtures
gzip fixtures_${{ inputs.release_name }}.tar
rm -rf fixtures
env:
tests_url: https://github.com/ethereum/tests/archive/refs/tags/v
tests_version: 14.1
output_path: blockchain_tests/unscheduled/eofwrap
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: fixtures_${{ inputs.release_name }}
path: fixtures_${{ inputs.release_name }}.tar.gz
================================================
FILE: .github/actions/fetch-binary/action.yaml
================================================
name: "Fetch and Install Binary"
description: "Downloads a binary from a GitHub release, verifies its checksum, and installs it to PATH. Only works for Linux."
inputs:
version:
description: "Release version (e.g., v0.8.24)"
required: true
repo_owner:
description: "GitHub repository owner"
required: true
repo_name:
description: "GitHub repository name"
required: true
remote_name:
description: "Binary filename in the release"
required: true
binary_name:
description: "Name to install the binary as"
required: true
expected_sha256:
description: "Expected SHA256 checksum"
required: true
runs:
using: "composite"
steps:
- name: Download binary
shell: bash
run: |
curl -sSL "https://github.com/${{ inputs.repo_owner }}/${{ inputs.repo_name }}/releases/download/${{ inputs.version }}/${{ inputs.remote_name }}" -o ./${{ inputs.binary_name }}
echo "${{ inputs.expected_sha256 }} ${{ inputs.binary_name }}" | sha256sum -c -
sudo mv ./${{ inputs.binary_name }} /usr/local/bin/${{ inputs.binary_name }}
sudo chmod +x /usr/local/bin/${{ inputs.binary_name }}
================================================
FILE: .github/configs/eels_resolutions.json
================================================
{
"Frontier": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Homestead": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Byzantium": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"ConstantinopleFix": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Istanbul": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Berlin": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"London": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Merge": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Shanghai": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Cancun": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Prague": {
"path": "$GITHUB_WORKSPACE/execution-specs/"
},
"Osaka": {
"git_url": "https://github.com/ethereum/execution-specs.git",
"branch": "forks/bpos",
"commit": "7aacb2c54111391af5e98c505d5010b5698a770f"
},
"BPO1": {
"same_as": "Osaka"
},
"BPO2": {
"same_as": "Osaka"
},
"BPO3": {
"same_as": "Osaka"
},
"BPO4": {
"same_as": "Osaka"
},
"Amsterdam": {
"git_url": "https://github.com/fselmo/execution-specs.git",
"branch": "feat/amsterdam-fork-and-block-access-lists",
"commit": "3496e719b515bc82f35c42f83e78d426d31283ba"
}
}
================================================
FILE: .github/configs/evm-impl.yaml
================================================
eels:
evm-bin: ethereum-spec-evm-resolver
x-dist: auto
geth:
evm-bin: evm
x-dist: auto
evmone:
evm-bin: evmone-t8n
x-dist: auto
besu:
evm-bin: evmtool
x-dist: 0
ethjs:
evm-bin: ethereumjs-t8ntool.sh
x-dist: auto
================================================
FILE: .github/configs/evm.yaml
================================================
stable:
impl: eels
repo: null
ref: null
develop:
impl: eels
repo: null
ref: null
static:
impl: evmone
repo: ethereum/evmone
ref: master
targets: ["evmone-t8n"]
benchmark:
impl: evmone
repo: ethereum/evmone
ref: master
targets: ["evmone-t8n"]
================================================
FILE: .github/configs/feature.yaml
================================================
# Unless filling for special features, all features should fill for previous forks (starting from Frontier) too
stable:
evm-type: stable
fill-params: --until=Prague --fill-static-tests --ignore=tests/static/state_tests/stQuadraticComplexityTest
develop:
evm-type: develop
fill-params: --until=BPO4 --fill-static-tests --ignore=tests/static/state_tests/stQuadraticComplexityTest
benchmark:
evm-type: benchmark # Evmone only fully supports up to Prague
fill-params: --fork=Prague --gas-benchmark-values 1,10,30,45,60,100,150 -m "benchmark and not state_test" ./tests/benchmark
benchmark_develop:
evm-type: develop
fill-params: --fork=Osaka --gas-benchmark-values 1,10,30,45,60,100,150 -m "benchmark and not state_test" ./tests/benchmark
feature_only: true
bal:
evm-type: develop
fill-params: --fork=Amsterdam ./tests/amsterdam/eip7928_block_level_access_lists
feature_only: true
================================================
FILE: .github/scripts/fill_introduced_tests.sh
================================================
#!/bin/bash
# Fill introduced test sources
# Usage: fill_introduced_tests.sh <changed_test_files> <patch_test_path>
# Exit codes:
# 0 - Success
# 1 - Failure to generate tests or no tests found
set -e
CHANGED_TEST_FILES="$1"
PATCH_TEST_PATH="$2"
BLOCK_GAS_LIMIT="${3:-45000000}"
FILL_UNTIL="${4:-Cancun}"
# Include basic evm operations into coverage by default
# As when we translate from yul/solidity some dup/push opcodes could become untouched
files="$CHANGED_TEST_FILES tests/homestead/coverage/test_coverage.py"
uv run fill $files --clean --until=$FILL_UNTIL --evm-bin evmone-t8n --block-gas-limit $BLOCK_GAS_LIMIT -m "state_test or blockchain_test" --output $PATCH_TEST_PATH > >(tee -a filloutput.log) 2> >(tee -a filloutput.log >&2)
if grep -q "FAILURES" filloutput.log; then
echo "Error: failed to generate .py tests."
exit 1
fi
exit 0
================================================
FILE: .github/scripts/fill_prepatched_tests.sh
================================================
#!/bin/bash
# Fill pre-patched test sources from before the PR
# Usage: fill_prepatched_tests.sh <modified_deleted_test_files> <base_test_path> <patch_test_path> <block_gas_limit> <fill_until>
# Exit codes:
# 0 - Success
# 1 - Failure to generate tests
set -e
MODIFIED_DELETED_FILES="$1"
BASE_TEST_PATH="$2"
PATCH_TEST_PATH="$3"
BLOCK_GAS_LIMIT="${4:-45000000}"
FILL_UNTIL="${5:-Cancun}"
echo "--------------------"
echo "converted-ethereum-tests.txt seem untouched, try to fill pre-patched version of .py files:"
PATCH_COMMIT=$(git rev-parse HEAD)
git checkout main
BASE_COMMIT=$(git rev-parse HEAD)
echo "Checkout head $BASE_COMMIT"
echo "Select files that were changed and exist on the main branch:"
echo "$MODIFIED_DELETED_FILES"
rm -rf fixtures
set +e
uv run fill $MODIFIED_DELETED_FILES --clean --until=$FILL_UNTIL --evm-bin evmone-t8n --block-gas-limit $BLOCK_GAS_LIMIT -m "state_test or blockchain_test" --output $BASE_TEST_PATH
FILL_RETURN_CODE=$?
set -e
if [ $FILL_RETURN_CODE -eq 5 ]; then
echo "any_modified_fixtures=false" >> "$GITHUB_OUTPUT"
exit 0
elif [ $FILL_RETURN_CODE -ne 0 ]; then
echo "Error: failed to generate .py tests from before the PR."
exit 1
fi
git checkout $PATCH_COMMIT
echo "Checkout back to patch $PATCH_COMMIT"
# abort-on-empty-patch is used to ensure that the patch folder is not empty after fixture removal.
# If the patch folder would be empty, it means that fixtures were removed in the PR, in which case we still want to run the coverage check.
uv run compare_fixtures --abort-on-empty-patch $BASE_TEST_PATH $PATCH_TEST_PATH
if [ -d $BASE_TEST_PATH ]; then
# If the base folder is not empty, it means there's at least one fixture that was modified in the PR, continue with the coverage check.
echo "Base folder is not empty after fixture comparison, continuing with coverage check."
echo "any_modified_fixtures=true" >> "$GITHUB_OUTPUT"
else
# If the base folder is empty, it means there were no fixtures that were modified in the PR, or fixtures were only added, so we can skip the coverage check.
echo "Base folder is empty after fixture comparison, skipping coverage check."
echo "any_modified_fixtures=false" >> "$GITHUB_OUTPUT"
fi
exit 0
================================================
FILE: .github/scripts/generate_eip_report.py
================================================
"""
Generate a markdown report of outdated EIP references from the EIP version
checker output.
"""
import os
import re
import sys
import textwrap
from string import Template
from typing import List, Tuple
# Report template using textwrap.dedent for clean multiline strings
REPORT_TEMPLATE = Template(
textwrap.dedent("""\
# EIP Version Check Report
This automated check has detected that some EIP references in test files are outdated. This means that the EIPs have been updated in the [ethereum/EIPs](https://github.com/ethereum/EIPs) repository since our tests were last updated.
## Outdated EIP References
### Summary Table
| File | EIP Link | Referenced Version | Latest Version |
| ---- | -------- | ------------------ | -------------- |
$summary_table
### Verbatim Failures
```
$fail_messages
```
### Verbatim Errors
```
$error_messages
```
## Action Required
1. Please verify whether the affected tests need updating based on changes in the EIP spec.
2. Update the `REFERENCE_SPEC_VERSION` in each file with the latest version shown above.
3. For detailed instructions, see the [reference specification documentation](https://eest.ethereum.org/main/writing_tests/reference_specification/).
## Workflow Information
For more details, see the [workflow run](https://github.com/ethereum/execution-spec-tests/actions/runs/$run_id).
""") # noqa: E501
)
def extract_failures(output: str) -> List[Tuple[str, str, str, str, str, str]]:
"""Extract failure information from the output using regex."""
failures = []
for line in output.split("\n"):
if not line.startswith("FAILED"):
continue
# Extract test file path
file_match = re.search(r"FAILED (tests/[^:]+\.py)", line)
if not file_match:
continue
file_path = file_match.group(1)
# Extract EIP number
eip_match = re.search(r"eip(\d+)", file_path, re.IGNORECASE)
eip_num = f"EIP-{eip_match.group(1)}" if eip_match else "Unknown"
# Extract full path
full_path_match = re.search(r"from '([^']+)'", line)
full_path = full_path_match.group(1) if full_path_match else "Unknown"
# Extract EIP link
eip_link_match = re.search(r"Spec: (https://[^ ]+)\.", line)
eip_link = eip_link_match.group(1) if eip_link_match else ""
eip_link = eip_link.replace("blob/", "commits/") if eip_link else ""
# Extract versions
ref_version_match = re.search(r"Referenced version: ([a-f0-9]+)", line)
ref_version = ref_version_match.group(1) if ref_version_match else "Unknown"
latest_version_match = re.search(r"Latest version: ([a-f0-9]+)", line)
latest_version = latest_version_match.group(1) if latest_version_match else "Unknown"
failures.append((file_path, eip_num, full_path, eip_link, ref_version, latest_version))
return failures
def generate_summary_table(failures: List[Tuple[str, str, str, str, str, str]]) -> str:
"""Generate a markdown summary table from the failures."""
rows = []
for file_path, eip_num, _, eip_link, ref_version, latest_version in failures:
rows.append(
f"| `{file_path}` | [{eip_num}]({eip_link}) | `{ref_version}` | `{latest_version}` |"
)
return "\n".join(rows)
def main() -> None:
"""Generate the report."""
if len(sys.argv) < 2:
print("Usage: uv run python generate_eip_report.py <input_file> [output_file]")
sys.exit(1)
input_file = sys.argv[1]
output_file = sys.argv[2] if len(sys.argv) > 2 else "./reports/outdated_eips.md"
try:
with open(input_file, "r") as f:
output = f.read()
except Exception as e:
print(f"Error reading input file: {e}")
sys.exit(1)
failures = extract_failures(output)
fail_messages = "\n".join(line for line in output.split("\n") if line.startswith("FAILED"))
if not fail_messages:
fail_messages = (
"No test failures were found in the pytest output: No lines start with 'FAILED'."
)
error_messages = "\n".join(line for line in output.split("\n") if line.startswith("ERROR"))
if not error_messages:
error_messages = (
"No test errors were found in the pytest output: No lines start with 'ERROR'."
)
report_content = REPORT_TEMPLATE.substitute(
summary_table=generate_summary_table(failures),
fail_messages=fail_messages,
error_messages=error_messages,
run_id=os.environ.get("GITHUB_RUN_ID", ""),
)
try:
with open(output_file, "w") as report:
report.write(report_content)
except Exception as e:
print(f"Error writing output file: {e}")
sys.exit(1)
print(f"Report generated successfully: {output_file}")
print(f"Found {len(failures)} outdated EIP references")
if __name__ == "__main__":
main()
================================================
FILE: .github/scripts/get_release_props.py
================================================
# /// script
# requires-python = ">=3.12"
# dependencies = [
# "pyyaml",
# "click",
# ]
# ///
"""Extract the properties of a configured EEST release from a YAML file."""
import sys
import click
import yaml
RELEASE_PROPS_FILE = "./.github/configs/feature.yaml"
@click.command()
@click.argument("release", required=True)
def get_release_props(release: str) -> None:
"""Extract the properties from the YAML file for a given release."""
with open(RELEASE_PROPS_FILE) as f:
data = yaml.safe_load(f)
if release not in data:
print(f"Error: Release {release} not found in {RELEASE_PROPS_FILE}.")
sys.exit(1)
print("\n".join(f"{key}={value}" for key, value in data[release].items()))
if __name__ == "__main__":
get_release_props()
================================================
FILE: .github/scripts/parse_ported_tests.sh
================================================
#!/bin/bash
# Parse ported_from markers from introduced .py tests
# Usage: parse_ported_tests.sh <changed_test_files> <workspace_path>
# Exit codes:
# 0 - Found converted tests, continue processing
# 1 - No converted tests found, but updates detected
set -e
CHANGED_TEST_FILES="$1"
WORKSPACE_PATH="${2:-$GITHUB_WORKSPACE}"
echo "Changed or new test files: $CHANGED_TEST_FILES"
FILTERED_FILES=""
for file in $CHANGED_TEST_FILES; do
if git diff origin/main -- "$file" | grep -q "^+.*@pytest.mark.ported_from"; then
FILTERED_FILES="$FILTERED_FILES $file"
fi
done
if [[ -z "$FILTERED_FILES" ]]; then
echo "No new ported_from markers found."
echo "any_ported=false" >> "$GITHUB_OUTPUT"
exit 0
fi
uv run fill $FILTERED_FILES --show-ported-from --clean --quiet --links-as-filled --skip-coverage-missed-reason --ported-from-output-file ported_from_files.txt
files=$(cat ported_from_files.txt)
echo "Extracted converted tests:"
echo "$files"
if [[ -z "$files" ]]; then
echo "No ported fillers found, check updates instead."
echo "any_ported=false" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "any_ported=true" >> "$GITHUB_OUTPUT"
echo "----------------"
echo "Discovered existing json tests that will be BASE files:"
BASE_TESTS_PATH="${WORKSPACE_PATH}/evmtest_coverage/coverage/BASE_TESTS"
mkdir -p "$BASE_TESTS_PATH"
for file in $files; do
# Make sure each file exist at least in develop or legacy tests
file_found=0
if [[ "$file" == *"BlockchainTests"* ]]; then
destination_path="$BASE_TESTS_PATH/blockchain_tests"
elif [[ "$file" == *"GeneralStateTests"* ]]; then
destination_path="$BASE_TESTS_PATH/state_tests"
else
echo "Error: $file is not a valid test file"
exit 1
fi
# Try ethereum/tests
source_path="${WORKSPACE_PATH}/testpath/$file"
if [ -e "$source_path" ]; then
file_found=1
mkdir -p "$destination_path"
cp "$source_path" "$destination_path"
echo "$source_path -> $destination_path"
fi
# Try ethereum/legacytests
source_path="${WORKSPACE_PATH}/legacytestpath/Cancun/$file"
base_name=$(basename "$file")
legacy_file_name="legacy_$base_name"
if [ -e "$source_path" ]; then
file_found=1
mkdir -p "$destination_path"
cp "$source_path" "$destination_path/$legacy_file_name"
echo "$source_path -> $destination_path"
fi
if [ $file_found -eq 0 ]; then
echo "Error: Failed to find the test file $file in test repo"
exit 1
fi
done
exit 0
================================================
FILE: .github/workflows/check_eip_versions.yaml
================================================
name: Check EIP Versions
on:
repository_dispatch:
workflow_dispatch:
jobs:
check_eip_versions:
runs-on: ubuntu-latest
permissions:
issues: write # required for peter-evans/create-issue-from-file
contents: read # needed for API access to GitHub
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ matrix.python }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ matrix.python }}
- name: Run EIP Version Checker
id: check-eip
continue-on-error: true
env:
# GitHub token provides API access for EIP version checking
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mkdir -p ./reports
uv run check_eip_versions 2>&1 | tee ./reports/eip_check_output.txt
# Save the exit code but don't fail the workflow
exit_code=${PIPESTATUS[0]}
echo "exit_code=$exit_code" >> $GITHUB_OUTPUT
# Always return success to GitHub Actions
exit 0
- name: Generate report file
if: steps.check-eip.outputs.exit_code != 0
run: |
uv run python .github/scripts/generate_eip_report.py ./reports/eip_check_output.txt ./reports/outdated_eips.md
- name: Create Issue From File
if: steps.check-eip.outputs.exit_code != 0
uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd
with:
title: "chore(tests): eip spec references outdated"
content-filepath: ./reports/outdated_eips.md
labels: report, automated issue, scope:tests, type:chore
- name: Upload test report as artifact
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: eip-check-report
path: ./reports/
retention-days: 30
================================================
FILE: .github/workflows/check_links.yml
================================================
name: Check Links
on:
repository_dispatch:
workflow_dispatch:
jobs:
linkChecker:
runs-on: ubuntu-latest
permissions:
issues: write # required for peter-evans/create-issue-from-file
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@1d97d84f0bc547f7b25f4c2170d87d810dc2fb2c
# We use --exclude '\.md(#.*)?$' to skip internal links in markdown like [See test](../tests/.../test_case.md)
# otherwise we get false positives due to links pointing to content that gets generated during our mkdocs flow.
# These links are checked during `mkdocs build --strict`
with:
args: >
README.md
src/**/*.py
src/**/*.md
tests/**/*.py
tests/**/*.md
docs/**/*.md
--exclude '\.md(#.*)?$'
fail: false
- name: Create Issue From File
if: steps.lychee.outputs.exit_code != 0
uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd
with:
title: Link Checker Report
content-filepath: ./lychee/out.md
labels: report, automated issue
================================================
FILE: .github/workflows/coverage.yaml
================================================
name: Evmone Coverage Report
on:
pull_request:
paths:
- "tests/**" # This triggers the workflow for any changes in the tests folder
- "!tests/osaka/**" # exclude changes in 'tests/osaka'
- "!tests/unscheduled/**" # exclude changes in 'tests/unscheduled'
jobs:
evmone-coverage-diff:
runs-on: ubuntu-latest
env:
BLOCK_GAS_LIMIT: "45000000"
FILL_UNTIL: "Cancun"
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Debug GitHub context
run: |
echo "Git reference: ${{ github.ref }}"
echo "Git head ref: ${{ github.head_ref }}"
echo "Git base ref: ${{ github.base_ref }}"
echo "Node Version: $(node -v)"
echo "NPM Version: $(npm -v)"
- name: Get all changed python files in tests/ and changes to coverted-ethereum-tests.txt
id: changed-tests
uses: tj-actions/changed-files@48d8f15b2aaa3d255ca5af3eba4870f807ce6b3c
with:
# TODO: non-test modules such as __init__.py or spec.py could effect coverage - in this case we should
# fill all applicable tests (i.e., all the test_*.py files in or under the changed module's directory)
include_all_old_new_renamed_files: true
output_renamed_files_as_deleted_and_added: true
files_yaml: |
tests:
- tests/**/test_*.py
- '!tests/prague/**'
- '!tests/unscheduled/**'
- name: Exit workflow if there are no changed python files
if: steps.changed-tests.outputs.tests_any_changed != 'true'
run: |
echo "No python files were changed in ./tests/ - no action necessary"
exit 0
- name: Report changed python test modules
if: steps.changed-tests.outputs.tests_any_changed == 'true'
run: |
echo "${{ toJson(steps.changed-tests.outputs) }}"
echo "Changed python test modules: ${{ steps.changed-tests.outputs.tests_all_modified_files }}"
- name: Debug GitHub context
run: |
echo "Git reference: ${{ github.ref }}"
echo "Git head ref: ${{ github.head_ref }}"
echo "Git base ref: ${{ github.base_ref }}"
- name: Log in to Docker Hub
if: ${{ steps.changed-tests.outputs.tests_any_changed == 'true' && github.event.pull_request.head.repo.full_name == github.repository }}
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
with:
username: marioeth
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Install deps
if: steps.changed-tests.outputs.tests_any_changed == 'true'
run: |
echo $(pwd)
echo ${{ github.workspace }}
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ vars.DEFAULT_PYTHON_VERSION }}
if: steps.changed-tests.outputs.tests_any_changed == 'true'
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: false
version: ${{ vars.UV_VERSION }}
python-version: ${{ vars.DEFAULT_PYTHON_VERSION }}
- name: Install EEST
if: steps.changed-tests.outputs.tests_any_changed == 'true'
run: |
uv sync --no-progress
uv run python --version
# Required to fill .py tests
- name: Build EVMONE EVM
uses: ./.github/actions/build-evm-client/evmone
if: steps.changed-tests.outputs.tests_any_changed == 'true'
id: evm-builder2
with:
targets: "evmone-t8n"
- name: Checkout ethereum/tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
if: steps.changed-tests.outputs.tests_any_changed == 'true'
with:
repository: ethereum/tests
path: testpath
sparse-checkout: |
BlockchainTests
EOFTests
- name: Checkout ethereum/legacytests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
if: steps.changed-tests.outputs.tests_any_changed == 'true'
with:
repository: ethereum/legacytests
path: legacytestpath
sparse-checkout: |
Cancun/GeneralStateTests
Cancun/BlockchainTests
# This command diffs the file and filters in new lines
- name: Parse ported_from markers from introduced .py tests
id: ported-from
if: steps.changed-tests.outputs.tests_any_changed == 'true'
env:
CHANGED_TEST_FILES: ${{ steps.changed-tests.outputs.tests_all_changed_files }}
run: |
./.github/scripts/parse_ported_tests.sh "$CHANGED_TEST_FILES" "${{ github.workspace }}" || true
# This command checks and fills python test sources introduced by a PR
- name: Parse and fill introduced test sources
if: steps.changed-tests.outputs.tests_any_changed == 'true'
env:
CHANGED_TEST_FILES: ${{ steps.changed-tests.outputs.tests_all_changed_files }}
run: |
./.github/scripts/fill_introduced_tests.sh "$CHANGED_TEST_FILES" "${{ github.workspace }}/evmtest_coverage/coverage/PATCH_TESTS" "${{ env.BLOCK_GAS_LIMIT }}" "${{ env.FILL_UNTIL }}"
- name: Parse and fill introduced test sources from before the PR
if: ${{ (steps.changed-tests.outputs.tests_modified_files_count != '0' || steps.changed-tests.outputs.tests_deleted_files_count != '0') && steps.ported-from.outputs.any_ported == 'false' }}
id: pre-patch-fill
env:
MODIFIED_TEST_FILES: ${{ steps.changed-tests.outputs.tests_modified_files }}
DELETED_TEST_FILES: ${{ steps.changed-tests.outputs.tests_deleted_files }}
run: |
./.github/scripts/fill_prepatched_tests.sh "$MODIFIED_TEST_FILES $DELETED_TEST_FILES" "${{ github.workspace }}/evmtest_coverage/coverage/BASE_TESTS" "${{ github.workspace }}/evmtest_coverage/coverage/PATCH_TESTS" "${{ env.BLOCK_GAS_LIMIT }}" "${{ env.FILL_UNTIL }}"
- name: Print Unique Test IDs that will be covered
if: ${{ steps.pre-patch-fill.outputs.any_modified_fixtures == 'true' || steps.ported-from.outputs.any_ported == 'true' }}
run: |
echo "=== Original BASE (main) test IDs ==="
if [ -f "${{ github.workspace }}/evmtest_coverage/coverage/BASE_TESTS/.meta/index.json" ]; then
uv run python -c "import json; data=json.load(open('${{ github.workspace }}/evmtest_coverage/coverage/BASE_TESTS/.meta/index.json')); [print(tc['id']) for tc in data['test_cases']]"
else
echo "No BASE_TESTS/.meta/index.json found"
fi
echo "=== Ported PATCH test IDs ==="
if [ -f "${{ github.workspace }}/evmtest_coverage/coverage/PATCH_TESTS/.meta/index.json" ]; then
uv run python -c "import json; data=json.load(open('${{ github.workspace }}/evmtest_coverage/coverage/PATCH_TESTS/.meta/index.json')); [print(tc['id']) for tc in data['test_cases']]"
else
echo "No PATCH_TESTS/.meta/index.json found"
fi
echo "=== SUMMARY ==="
if [ -f "${{ github.workspace }}/evmtest_coverage/coverage/BASE_TESTS/.meta/index.json" ] && [ -f "${{ github.workspace }}/evmtest_coverage/coverage/PATCH_TESTS/.meta/index.json" ]; then
uv run python -c "import json; base=json.load(open('${{ github.workspace }}/evmtest_coverage/coverage/BASE_TESTS/.meta/index.json')); patch=json.load(open('${{ github.workspace }}/evmtest_coverage/coverage/PATCH_TESTS/.meta/index.json')); print(f'BASE: {len(base[\"test_cases\"])} tests, PATCH: {len(patch[\"test_cases\"])} tests, Difference: {len(patch[\"test_cases\"]) - len(base[\"test_cases\"])}')"
else
echo "No BASE_TESTS/.meta/index.json or PATCH_TESTS/.meta/index.json found"
fi
- name: Run coverage of the BASE tests
uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185
if: ${{ steps.pre-patch-fill.outputs.any_modified_fixtures == 'true' || steps.ported-from.outputs.any_ported == 'true' }}
with:
image: marioeth/evmone-coverage-script:v0.0.1
options: -v ${{ github.workspace }}/evmtest_coverage/coverage:/tests
run: /entrypoint.sh --mode=cover --testpath=/tests/BASE_TESTS --outputname=BASE
- name: Run coverage of the PATCH tests
uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185
if: ${{ steps.pre-patch-fill.outputs.any_modified_fixtures == 'true' || steps.ported-from.outputs.any_ported == 'true' }}
with:
image: marioeth/evmone-coverage-script:v0.0.1
options: -v ${{ github.workspace }}/evmtest_coverage/coverage:/tests
run: /entrypoint.sh --mode=cover --testpath=/tests/PATCH_TESTS --outputname=PATCH
- name: Run coverage DIFF of the PATCH tests compared to BASE tests
uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185
if: ${{ steps.pre-patch-fill.outputs.any_modified_fixtures == 'true' || steps.ported-from.outputs.any_ported == 'true' }}
with:
image: marioeth/evmone-coverage-script:v0.0.1
options: -v ${{ github.workspace }}/evmtest_coverage/coverage:/tests
run: /entrypoint.sh --mode=diff --basefile=coverage_BASE.lcov --patchfile=coverage_PATCH.lcov
- name: Chmod coverage results
if: ${{ steps.pre-patch-fill.outputs.any_modified_fixtures == 'true' || steps.ported-from.outputs.any_ported == 'true' }}
run: |
user=$(whoami)
sudo chown -R $user:$user ${{ github.workspace }}/evmtest_coverage/coverage
- name: Upload coverage results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
if: ${{ steps.pre-patch-fill.outputs.any_modified_fixtures == 'true' || steps.ported-from.outputs.any_ported == 'true' }}
with:
name: coverage-diff-native-${{ github.run_id }}-${{ github.run_attempt }}
path: ${{ github.workspace }}/evmtest_coverage/coverage
compression-level: 6 # Default compression level for optimal balance
- name: Verify coverage results
uses: addnab/docker-run-action@4f65fabd2431ebc8d299f8e5a018d79a769ae185
if: ${{ steps.pre-patch-fill.outputs.any_modified_fixtures == 'true' || steps.ported-from.outputs.any_ported == 'true' }}
with:
image: marioeth/evmone-coverage-script:v0.0.1
options: -v ${{ github.workspace }}/evmtest_coverage/coverage:/tests
run: /check.sh
================================================
FILE: .github/workflows/docs_deploy.yaml
================================================
name: Deploy Docs
permissions:
pages: write # Required for deploying to GitHub Pages with `secrets.GITHUB_TOKEN`
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+*" # Push events to matching v*, i.e. v1.0, v20.15.10, v0.1.1a1
branches:
- main
jobs:
deploy:
if: github.repository_owner == 'ethereum' # don't run on forks
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0
ssh-key: ${{secrets.GH_ACTIONS_DEPLOY_KEY}}
- name: Build transition tool
uses: ./.github/actions/build-evm-base
with:
id: evm-builder
type: stable
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ vars.DEFAULT_PYTHON_VERSION }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ vars.DEFAULT_PYTHON_VERSION }}
- name: Install EEST and dependencies
run: uv sync --extra=docs --no-progress
- name: Setup doc deploy
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email github-actions[bot]@users.noreply.github.com
- name: Build and deploy docs to gh-pages
if: ${{ github.ref_type == 'branch' }}
run: |
uv run mike deploy --update-aliases --push --remote origin main development
- name: Build and deploy docs to gh-pages
if: ${{ github.ref_type == 'tag' }}
run: |
uv run mike deploy --push --remote origin ${{ github.ref_name }}
================================================
FILE: .github/workflows/fixtures.yaml
================================================
name: Build and Package Fixtures
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+*"
workflow_dispatch:
jobs:
features:
runs-on: ubuntu-latest
outputs:
features: ${{ steps.parse.outputs.features }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Get names from .github/configs/feature.yaml
id: parse
shell: bash
run: |
# Get all features without `feature_only: true`
grep -Po "^[0-9a-zA-Z_\-]+" ./.github/configs/feature.yaml | \
while read feature; do
if ! awk "/^$feature:/{flag=1; next} /^[[:alnum:]]/{flag=0} flag && /feature_only:.*true/{exit 1}" \
./.github/configs/feature.yaml; then
continue
fi
echo "$feature"
done | jq -R . | jq -cs . > features.json
echo "features=$(cat features.json)" >> "$GITHUB_OUTPUT"
build:
needs: features
runs-on: [self-hosted-ghr, size-gigachungus-x64]
timeout-minutes: 1440
strategy:
matrix:
name: ${{ fromJson(needs.features.outputs.features) }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Fetch lllc
uses: ./.github/actions/fetch-binary
with:
version: v1.0.0
repo_owner: felix314159
repo_name: lllc-custom
remote_name: lllc
binary_name: lllc
expected_sha256: 865a0d5379acb3b5471337b5dcf686a2dd71587c6b65b9da6c963de627e0b300
- name: Fetch Solidity
uses: ./.github/actions/fetch-binary
with:
version: v0.8.24
repo_owner: ethereum
repo_name: solidity
remote_name: solc-static-linux
binary_name: solc
expected_sha256: fb03a29a517452b9f12bcf459ef37d0a543765bb3bbc911e70a87d6a37c30d5f
- uses: ./.github/actions/build-fixtures
with:
release_name: ${{ matrix.name }}
uv_version: ${{ vars.UV_VERSION }}
python_version: ${{ vars.DEFAULT_PYTHON_VERSION }}
release:
runs-on: ubuntu-latest
needs: build
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download artifacts
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
with:
path: .
- name: Draft Release
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda
with:
files: "./**"
draft: true
generate_release_notes: true
fail_on_unmatched_files: true
================================================
FILE: .github/workflows/fixtures_feature.yaml
================================================
name: Build and Package Fixtures for a feature
on:
push:
tags:
- "*@v*"
workflow_dispatch:
jobs:
feature-names:
runs-on: ubuntu-latest
outputs:
names: ${{ steps.feature-name.outputs.names }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: false
- name: Get feature names
id: feature-name
shell: bash
run: |
names=$(grep -Po "^${GITHUB_REF_NAME//@*/}[^:]*" .github/configs/feature.yaml | jq --raw-input . | jq -c --slurp .)
echo names=${names}
echo names=${names} >> "$GITHUB_OUTPUT"
build:
needs: feature-names
runs-on: [self-hosted-ghr, size-gigachungus-x64]
timeout-minutes: 1440
strategy:
matrix:
feature: ${{ fromJSON(needs.feature-names.outputs.names) }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
submodules: true
- name: Fetch lllc
uses: ./.github/actions/fetch-binary
with:
version: v1.0.0
repo_owner: felix314159
repo_name: lllc-custom
remote_name: lllc
binary_name: lllc
expected_sha256: 865a0d5379acb3b5471337b5dcf686a2dd71587c6b65b9da6c963de627e0b300
- name: Fetch Solidity
uses: ./.github/actions/fetch-binary
with:
version: v0.8.24
repo_owner: ethereum
repo_name: solidity
remote_name: solc-static-linux
binary_name: solc
expected_sha256: fb03a29a517452b9f12bcf459ef37d0a543765bb3bbc911e70a87d6a37c30d5f
- uses: ./.github/actions/build-fixtures
with:
release_name: ${{ matrix.feature }}
uv_version: ${{ vars.UV_VERSION }}
python_version: ${{ vars.DEFAULT_PYTHON_VERSION }}
release:
runs-on: ubuntu-latest
needs: build
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Download artifacts
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e
with:
path: .
- name: Draft Pre-release
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda
with:
files: "./**"
draft: true
prerelease: true
generate_release_notes: true
fail_on_unmatched_files: true
================================================
FILE: .github/workflows/tox_verify.yaml
================================================
name: Tox
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
lint:
name: Lint python sources with ruff
runs-on: ubuntu-latest
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ vars.DEFAULT_PYTHON_VERSION }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ vars.DEFAULT_PYTHON_VERSION }}
- name: Run ruff linter via tox
run: uvx --with=tox-uv tox -e lint
typecheck:
name: Typecheck python sources with mypy
runs-on: ubuntu-latest
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ vars.DEFAULT_PYTHON_VERSION }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ vars.DEFAULT_PYTHON_VERSION }}
- name: Run mypy typechecker via tox
run: uvx --with=tox-uv tox -e typecheck
spellcheck:
name: Spellcheck sources with codespell
runs-on: ubuntu-latest
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ vars.DEFAULT_PYTHON_VERSION }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ vars.DEFAULT_PYTHON_VERSION }}
- name: Run spellcheck with codespell via tox
run: uvx --with=tox-uv tox -e spellcheck
env:
GITHUB_STEP_SUMMARY: ${{ env.GITHUB_STEP_SUMMARY }}
changelog:
name: Validate changelog entries
runs-on: ubuntu-latest
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ vars.DEFAULT_PYTHON_VERSION }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ vars.DEFAULT_PYTHON_VERSION }}
- name: Run changelog validation via tox
run: uvx --with=tox-uv tox -e changelog
markdownlint:
name: Lint markdown files with markdownlint
runs-on: ubuntu-latest
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- uses: DavidAnson/markdownlint-cli2-action@05f32210e84442804257b2a6f20b273450ec8265
with:
globs: |
README.md
docs/**/*.md
mkdocs:
name: Build html documentation with mkdocs
runs-on: ubuntu-latest
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ vars.DEFAULT_PYTHON_VERSION }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ vars.DEFAULT_PYTHON_VERSION }}
- name: Build html documentation with mkdocs via tox
run: uvx --with=tox-uv tox -e mkdocs
pytest_framework:
name: Run unit tests, ${{ matrix.os }}, ${{ matrix.python }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-15
python: "3.11"
- os: macos-15
python: "pypy3.11"
- os: ubuntu-latest
python: "3.12"
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Checkout ethereum/execution-specs for local EELS implementation
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: marioevz/execution-specs
ref: 3387e5f4aedfe99becfdc39b444d6371e25e0924
path: execution-specs
fetch-depth: 1
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ matrix.python }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ matrix.python }}
- name: Build EVMONE EVM
uses: ./.github/actions/build-evm-client/evmone
with:
targets: "evmone-t8n"
- name: Build GETH EVM
uses: ./.github/actions/build-evm-client/geth
- name: Update eels_resolutions.json
run: |
sed -i -e "s|\$GITHUB_WORKSPACE|${GITHUB_WORKSPACE}|g" .github/configs/eels_resolutions.json
- name: Run tox - run framework unit tests with pytest
env:
EELS_RESOLUTIONS_FILE: ${{ github.workspace }}/.github/configs/eels_resolutions.json
run: uvx --with=tox-uv tox -e pytest
tests_deployed:
name: Fill tests, deployed, ${{ matrix.name }}, ${{ matrix.python }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: [self-hosted-ghr, size-chungus-x64]
name: self-hosted-ghr-chungus-x64
python: "3.11"
- os: macos-15
name: macos-15
python: "3.12"
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Checkout ethereum/execution-specs for local EELS implementation
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
repository: marioevz/execution-specs
ref: 3387e5f4aedfe99becfdc39b444d6371e25e0924
path: execution-specs
fetch-depth: 1
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ matrix.python }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ matrix.python }}
- name: Update eels_resolutions.json
run: |
sed -i -e "s|\$GITHUB_WORKSPACE|${GITHUB_WORKSPACE}|g" .github/configs/eels_resolutions.json
- name: Run tox - fill tests for deployed forks
env:
EELS_RESOLUTIONS_FILE: ${{ github.workspace }}/.github/configs/eels_resolutions.json
run: uvx --with=tox-uv tox -e tests-deployed
tests_deployed_benchmark:
name: Fill benchmark test cases, deployed, ${{ matrix.os }}, ${{ matrix.python }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
python: "3.11"
- os: macos-15
python: "3.12"
- os: ubuntu-latest
python: "pypy3.11"
steps:
- name: Checkout ethereum/execution-spec-tests
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Install uv ${{ vars.UV_VERSION }} and python ${{ matrix.python }}
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
version: ${{ vars.UV_VERSION }}
python-version: ${{ matrix.python }}
- name: Build EVMONE EVM
uses: ./.github/actions/build-evm-client/evmone
with:
targets: "evmone-t8n"
- name: Run tox - fill tests for deployed forks
env:
EELS_RESOLUTIONS_FILE: ${{ github.workspace }}/.github/configs/eels_resolutions.json
run: uvx --with=tox-uv tox -e tests-deployed-benchmark
================================================
FILE: .gitignore
================================================
.DS_Store
.AppleDouble
.LSOverride
.python-version
*.py[cod]
*$py.class
.venv/
venv/
# Artifacts created by `fill`
fixtures/
fixtures-*/
logs/
/out/
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# pycharm
.idea/
*.manifest
*.spec
pip-log.txt
pip-delete-this-directory.txt
.tox/
/doc/_autosummary
.coverage
# misc
*.code-workspace
verify_kzg_proof
.vscode/launch.json
# docs
_readthedocs
site
venv-docs/
.pyspelling_en.dict
# cache-related
cached_downloads/
.cache
__pycache__/
.mypy_cache/
.pytest_cache/
.ruff_cache/
# pytest report
assets
*.html
# Environment
env.yaml
.env
.env.*
# Framework logs
logs/
*.log
# node
node_modules/
package-lock.json
# Running github actions locally with act
.act_github_vars
# temporary files
*.tmp
*.temp
# ai
.claude/
================================================
FILE: .lycheeignore
================================================
http://localhost/
http://127.0.0.1:3000/
https://github/
ttps://github.com/%7Bself.RepositoryOwner%7D/
https://api.github.com/repos/%7Bself.RepositoryOwner%7D/
https://api.github.com/repos/%7Brepo%7D/releases
https://github.com/ethereum/execution-spec-tests/releases/download/
================================================
FILE: .markdownlint.yaml
================================================
# All rules: https://github.com/DavidAnson/markdownlint#rules--aliases
default: true # Default state for all rules
MD013: false # line-length: We don't fill paragaraphs/limit line length
MD034: false # no-bare-urls - We use pymdownx.magiclink which allows bare urls
MD046: false # code-block-style - This doesn't play well with material's admonitions)
MD024: false # no-duplicate-heading - We use duplicate headings in the changelog.
MD033: false # no-inline-html - Too strict.
ul-indent:
indent: 4
start_indent: 4
================================================
FILE: .pre-commit-config.yaml
================================================
repos:
- repo: local
hooks:
- id: tox
name: tox
entry: uvx --with=tox-uv tox --parallel -e lint,typecheck,spellcheck
language: system
types: [python]
pass_filenames: false
- id: tox-docs
name: tox-docs
entry: uvx --with=tox-uv tox --parallel -e spellcheck,markdownlint
language: system
files: \.md$
pass_filenames: false
- id: tox-changelog
name: tox-changelog
entry: uvx --with=tox-uv tox -e changelog
language: system
files: ^docs/CHANGELOG\.md$
pass_filenames: false
================================================
FILE: .pyspelling.yml
================================================
matrix:
- name: markdown
pipeline:
- pyspelling.filters.markdown:
- pyspelling.filters.html:
comments: false
attributes:
- title
- alt
ignores:
- code
- pre
- a
aspell:
lang: en
d: en_US
dictionary:
wordlists:
- whitelist.txt
output: .pyspelling_en.dict
sources:
- 'docs/**/*.md'
================================================
FILE: .readthedocs.yaml
================================================
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
version: 2
# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
mkdocs:
configuration: mkdocs.yml
python:
install:
- requirements: docs/rtdio_requirements.txt
formats:
- epub
- pdf
================================================
FILE: .vscode/extensions.json
================================================
{
// List of extensions that MUST be used for users of the repo.
"recommendations": [
"ms-python.python",
"ms-python.mypy-type-checker",
"ms-python.vscode-pylance",
"charliermarsh.ruff",
"esbenp.prettier-vscode",
"njpwerner.autodocstring",
"streetsidesoftware.code-spell-checker",
"tamasfe.even-better-toml",
"bierner.markdown-mermaid",
"bpruitt-goddard.mermaid-markdown-syntax-highlighting",
"DavidAnson.vscode-markdownlint",
"soulcode.vscode-unwanted-extensions"
],
// List of extensions that MUST NOT be used for users of the repo.
"unwantedRecommendations": [
"ms-python.black-formatter",
"ms-python.flake8",
"ms-python.isort"
]
}
================================================
FILE: .vscode/launch.recommended.json
================================================
{
"_comment": [
"Main configuration for VS Code debugging",
"Use IntelliSense to learn about possible attributes.",
"If the VS Code 'Run and Debug' button or launch selector",
"is not visible, see: https://stackoverflow.com/a/74245823"
],
"version": "0.2.0",
"configurations": [
{
"name": "Launch consume direct",
"type": "debugpy",
"request": "launch",
"module": "pytest",
"args": [
"-c",
"${workspaceFolder}/src/cli/pytest_commands/pytest_ini_files/pytest-consume.ini",
"src/pytest_plugins/consume/direct/test_via_direct.py",
"--bin",
"${input:evmBinary}",
"--input",
"${input:fixturePath}"
],
"cwd": "${workspaceFolder}"
},
{
"name": "Launch fill --until choose fork",
"type": "debugpy",
"request": "launch",
"module": "pytest",
"args": [
"-c",
"${workspaceFolder}/src/cli/pytest_commands/pytest_ini_files/pytest-fill.ini",
"--until",
"${input:fork}",
"--evm-bin",
"${input:evmBinary}",
"-v"
],
"cwd": "${workspaceFolder}"
},
{
"name": "Launch fill -k choose test path",
"type": "debugpy",
"request": "launch",
"module": "pytest",
"args": [
"-c",
"${workspaceFolder}/src/cli/pytest_commands/pytest_ini_files/pytest-fill.ini",
"--until",
"Cancun",
"--evm-bin",
"${input:evmBinary}",
"-v",
"-k",
"${input:testPathOrId}"
],
"cwd": "${workspaceFolder}"
},
{
"name": "Launch fill --until Cancun",
"type": "debugpy",
"request": "launch",
"module": "pytest",
"args": [
"-c",
"${workspaceFolder}/src/cli/pytest_commands/pytest_ini_files/pytest-fill.ini",
"--until",
"Cancun",
"--evm-bin",
"${input:evmBinary}",
"-v"
],
"cwd": "${workspaceFolder}"
},
{
"name": "Launch fill --until Prague",
"type": "debugpy",
"request": "launch",
"module": "pytest",
"args": [
"-c",
"${workspaceFolder}/src/cli/pytest_commands/pytest_ini_files/pytest-fill.ini",
"--until",
"Prague",
"--evm-bin",
"${input:evmBinary}",
"-v"
],
"cwd": "${workspaceFolder}"
}
],
"inputs": [
{
"type": "pickString",
"id": "evmBinary",
"description": "Which evm binary to you want to run?",
"options": [
{
"label": "First evm binary in PATH",
"value": "evm"
},
{
"label": "Geth, mario's repo",
"value": "~/code/github/marioevz/go-ethereum/build/bin/evm"
},
{
"label": "Geth, danceratopz's repo",
"value": "~/code/github/danceratopz/go-ethereum/build/bin/evm"
},
{
"label": "evmone",
"value": "~/code/github/ethereum/evmone/build/bin/evmone-t8n"
},
{
"label": "besu",
"value": "~/code/github/danceratopz/besu/ethereum/evmtool/build/install/evmtool/bin/evm"
}
],
"default": "evm"
},
{
"type": "pickString",
"id": "fork",
"description": "Which fork do you want to use?",
"options": [
"Frontier",
"Homestead",
"Byzantium",
"Constantinople",
"ConstantinopleFix",
"Istanbul",
"Berlin",
"London",
"Paris",
"Shanghai",
"Cancun",
"Prague"
],
"default": "Cancun"
},
{
"type": "promptString",
"id": "testPathOrId",
"description": "Enter a test path string or id to provide to pytest -k",
"default": "test_"
},
{
"type": "promptString",
"id": "fixturePath",
"description": "Enter a fixture path",
"default": "${workspaceFolder}/fixtures"
}
]
}
================================================
FILE: .vscode/settings.json
================================================
{
// Settings that users SHOULD adhere to when developing with the EEST repo.
"cSpell.customDictionaries": {
"project-words": {
"name": "project-words",
"path": "${workspaceRoot}/whitelist.txt",
"description": "Words used in this project",
"addWords": true
},
"custom": true,
"internal-terms": false
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[python]": {
"editor.rulers": [79, 100],
"editor.formatOnSave": true,
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll.ruff": "explicit",
},
},
"python.analysis.autoFormatStrings": true,
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": [
// The main cli tools (`fill`, `consume`, `execute`) in execution-spec-tests are based
// on pytest (a very popular Python unit testing framework). As such, EEST test cases for
// these tools can be explored, executed (and debugged!) via VS Code's "Testing" view
// https://code.visualstudio.com/docs/editor/testing (just as for unit tests).
//
// vscode-python only supports single framework environments, here is the issue to track
// multiple environments support:
// https://github.com/microsoft/vscode-python/issues/12075
//
// For now, to switch between running the EEST "framework" tests (the actual unit tests
// for EEST libraries and tools) and running the EEST's EL test cases via `fill`,
// `consume` and `execute`, specify the appropriate pytest*.ini file below and add
// command-line options as needed.
//
// * Framework tests:
// "-c", "pytest-framework.ini",
//
// * Fill, see the output of:
// `fill --help` for eest specific options, or,
// `fill --pytest-help` for all pytest available options, or,
// https://eest.ethereum.org/main/filling_tests/filling_tests_command_line/
"-c", "pytest.ini", "--fork=Prague",
//
// * Consume (works, but the output of VS Code's Testing View is broken due to nested
// `[]` in the generated test IDs):
// "-c", "pytest-consume.ini", "--input=fixtures/", "src/pytest_plugins/consume/direct/test_via_direct.py", "--evm-bin=~/bin/evm"
],
"ruff.enable": true,
"ruff.lineLength": 99,
"ruff.logLevel": "error",
"extensions.ignoreRecommendations": false,
"search.exclude": {
"tests/static": true
},
"files.watcherExclude": {
"tests/static": true
}
}
================================================
FILE: CLAUDE.md
================================================
# CLAUDE.md - Ethereum Execution Spec Tests
> **CRITICAL**: This repository aims to provide excellent tooling for generating JSON test vectors that test Ethereum execution layer clients. Correctness is absolute priority. The repo prioritizes a contributor-first mindset.
## 🎯 Core Purpose
- `./tests/`: Python tests that **generate JSON test vectors (fixtures)** via `fill` command
- `./src/pytest_plugins/filler/`: Implements `fill` command (test vector generation from Python source)
- `./src/pytest_plugins/consume/`: Implements `consume` command (test vector execution)
- `./src/pytest_plugins/execute/`: Implements `execute` command (live JSON-RPC testing from Python source)
- `./src/ethereum_test_*`: Core framework libraries and data structures
### Key Terminology (CRITICAL)
**"Fixtures" has TWO meanings:**
1. **Test Fixtures** (JSON files) - The test vectors this framework generates
2. **Pytest Fixtures** - Standard pytest setup/teardown (`pre`, `state_test`, etc.)
### Workflows
```text
Fill/Consume: Python Tests → fill → JSON Fixtures → consume → Client Testing
Execute: Python Tests → execute → Live JSON-RPC Testing
```
## 🚀 Essential Commands
All commands use `uv run` prefix. The `uv sync --all-extras` command (below) automatically creates and manages a virtual environment.
### Setup
```bash
uv sync --all-extras
uvx pre-commit install
```
### Core Workflow
```bash
# Create test
uv run eest make test
# Generate fixtures (PRIMARY WORKFLOW)
uv run fill --fork=Prague path/to/test.py --clean -v -m "not slow"
# Execute against client
uv run consume direct --bin=evm fixtures/
# Framework testing
uv run pytest path/to/test.py::test_function
```
### Quality Checks
```bash
# Check code style and errors
uv run ruff check src tests .github/scripts
# Format code
uv run ruff format src tests .github/scripts
# Fix auto-fixable issues
uv run ruff check --fix src tests .github/scripts
# Type checking
uv run mypy src tests .github/scripts
# Framework unit tests
uv run pytest -n auto
# Run specific checks (fast checks)
uvx --with=tox-uv tox -e lint,typecheck,spellcheck
# Local docs check (fast mode: these warnings can be ignored "WARNING - Doc file 'writing_tests/..."):
export FAST_DOCS=true && export GEN_TEST_DOC_VERSION="tox" && uv run mkdocs build
```
## 🎯 Core Framework Rules
### NEVER Use Hardcoded Addresses
```python
def test_example(pre: Alloc, state_test: StateTestFiller):
# ✅ Dynamic allocation
sender = pre.fund_eoa()
contract = pre.deploy_contract(code=Op.SSTORE(1, 1))
tx = Transaction(sender=sender, to=contract, gas_limit=5_000_000)
state_test(pre=pre, tx=tx, post={contract: Account(storage={1: 1})})
```
### Key Methods
- `pre.deploy_contract(code, **kwargs) -> Address`
- `pre.fund_eoa(amount=None, **kwargs) -> EOA`
- `pre.fund_address(address, amount)`
### Gas Calculation Pattern
```python
intrinsic_gas_calculator = fork.transaction_intrinsic_cost_calculator()
tx_gas_limit = intrinsic_gas_calculator(
calldata=tx_data,
contract_creation=False,
access_list=access_lists,
) + 100_000
```
## 📁 Key Directories
```text
src/
├── ethereum_test_tools/ # Core framework
├── ethereum_test_types/ # Type definitions
├── ethereum_test_fixtures/ # Pydantic models for test fixtures
├── pytest_plugins/ # Plugin system
tests/ # Test cases by fork
fixtures/ # Generated test vectors (default output directory)
```
## ⚠️ Critical Anti-Patterns
- ❌ Hardcoded addresses (use `pre` fixture)
- ❌ `TestAddress` in new tests (use `pre.fund_eoa()`)
- ❌ Missing `sender` parameter in transactions
- ❌ Missing `@pytest.mark.valid_from("Fork")` markers
- ❌ Manual nonce management
## 🔧 Common Patterns
### Fork Compatibility
```python
@pytest.mark.valid_from("Cancun")
def test_example(pre: Alloc, state_test: StateTestFiller):
if fork >= Fork.Cancun:
# Cancun-specific logic
else:
# Pre-Cancun logic
```
### Parameterized Tests
```python
@pytest.mark.parametrize("value", [0, 1, 2**256-1])
def test_with_params(value: int, pre: Alloc, state_test: StateTestFiller):
```
## 🐛 Debugging Test Filling
### Generate EVM Traces
```bash
uv run fill --fork=Prague --evm-dump-dir=debug_output/ --traces path/to/test.py
jq -r '.opName' debug_output/**/*.jsonl
```
### Common Issues
- **Fill failures**: Check gas limits (increase if needed, use `transaction_intrinsic_cost_calculator`)
- **Address conflicts**: Always use `pre` fixture for dynamic allocation
- **Test collection**: Functions must start with `test_`
- **Import errors**: Check dependencies in `pyproject.toml`, run `uv sync --all-extras`
## 📝 Code Standards
- **Line length**: 100 characters
- **Type annotations**: Required
- **Import style**: Explicit imports only, no `import *`, no local imports.
- **Path handling**: Use `pathlib`
- **Code**: Use idiomatic python, prioritize readability.
- **Docstrings**: Always include for methods and classes. For one-liners """Use one single-line docstring with quotes on same line."""
## Commit Format
```text
<type>(<scope>): <description>
# Types: feat, fix, docs, style, refactor, test, chore, new
# Scopes: evm, forks, tools, pytest, tests, docs, ci, consume, fill, eest
```
## 🔍 Tool Preferences
- **Search**: `rg "pattern" --type python` (not grep)
- **JSON**: `jq -r '.field' file.json`
- **GitHub**: `gh` CLI for all operations
## 🎯 Development Workflow
1. `uv run eest make test` - Create test
2. Implement tests using `pre` fixture patterns
3. `uv run fill --fork=Fork test.py --clean -v tests/path/to/module` - Generate fixtures
4. `uv run ruff check --fix` - Fix linting
5. Commit with semantic format
**Critical**: Always run linting and type checking. Use `--clean` when filling. Never use hardcoded addresses.
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
Contributions are welcome from anyone, regardless of whether you are just starting your Python journey, a web developer or a seasoned Execution Layer developer!
We appreciate your help and appreciate your contributions!
## Code of Conduct
All contributors are expected to be excellent to each other; other behavior is not tolerated.
## Communication
We encourage questions and discussions about the project. If you need help with the codebase or have questions about implementation details, please don't hesitate to reach out in the `#el-testing` channel in the [Ethereum R&D Discord Server](https://discord.com/invite/qGpsxSA).
For detailed information on how to get help, please see the [Getting Help](https://eest.ethereum.org/main/getting_started/getting_help) page in our documentation, which includes communication channels and contact information for project maintainers.
## Contributions We Welcome
As mentioned in the README's [Contributing section](https://github.com/ethereum/execution-spec-tests#contributing), we welcome earnest contributions that have reasonable substance or resolve existing repository issues.
## Contributions We Don't Accept
We do not accept:
- Contributions that only fix spelling or grammatical errors in documentation, code, or elsewhere.
- Drive-by or vibe code contributions without proper engagement or context.
- Pull requests from airdrop farmers.
I.e., pull requests should have reasonable substance and context.
## Reporting Bugs
We use GitHub Issues to track bugs. To report a bug, please follow these guidelines:
### Before Reporting
1. **Check existing issues**: Search [open issues](https://github.com/ethereum/execution-spec-tests/issues) to see if your problem has already been reported.
2. **Try to reproduce**: Confirm you can reproduce the issue consistently.
3. **Consider security implications**: For security vulnerabilities, please do NOT create a public issue (or PR). Instead, refer to our [Security Policy](SECURITY.md) for responsible disclosure guidelines.
### Creating a Bug Report
When creating a new issue:
1. **Use a clear, descriptive title** that identifies the problem, (see [Commit Messages, Issues and PR Titles](#commit-messages-issue-and-pr-titles)).
2. **Provide detailed reproduction steps**:
- Include the exact commands you ran.
- Share relevant console output.
- Specify your environment (OS, Python version, if relevant, `uv` version from `uv --version`).
3. **Include relevant information and versions**:
- Run `eest info` to get repo and tool versions and copy the information to the issue:
```console
uv run eest info
```
- Branch of execution-spec-tests you're using, if applicable.
- For test failures, include the test case and failure details.
- Screenshots if applicable.
## Pull Requests
We welcome contributions via pull requests! This section will guide you through the process.
### For First-Time Contributors
1. **Fork the repository** by clicking the "Fork" button on the top right of the [GitHub repository page](https://github.com/ethereum/execution-spec-tests).
2. **Clone your fork** to your local machine:
```bash
git clone https://github.com/YOUR-USERNAME/execution-spec-tests.git
cd execution-spec-tests
```
3. **Install `uv`**:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
4. **Set up your environment**:
```bash
uv python install 3.12
uv python pin 3.12
uv sync --all-extras
```
See [installation troubleshooting](https://eest.ethereum.org/main/getting_started/installation_troubleshooting) if you encounter issues.
5. **Create a branch** for your changes:
```bash
git checkout -b your-branch-name
```
6. **Make your changes** according to our [code standards](https://eest.ethereum.org/main/getting_started/code_standards).
7. **For EVM Tests**: Review the cases in the [EIP checklist template](./docs/writing_tests/checklist_templates/eip_testing_checklist_template.md).
8. **For Porting Tests**: If you're porting tests from ethereum/tests, see the [porting guide](https://eest.ethereum.org/main/writing_tests/porting_legacy_tests) for coverage analysis and using `--skip-coverage-missed-reason` when needed.
9. **Verify your changes** by running the appropriate checks:
```bash
uvx --with=tox-uv tox -e lint,typecheck
```
10. **Commit your changes** with meaningful commit messages (see [Commit Messages, Issues and PR Titles](#commit-messages-issue-and-pr-titles)).
11. **Push your branch** to your GitHub fork:
```bash
git push -u origin your-branch-name
```
12. **Create a pull request** by navigating to your fork on GitHub and clicking the "New Pull Request" button.
### Branch Naming Conventions
Branch names should follow this format:
```text
<type>/<short-description>
```
Where `<type>` matches the [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) types:
- `feat/` - For new features.
- `fix/` - For bug fixes.
- `docs/` - For documentation changes.
- `test/` - For adding or modifying tests.
- `refactor/` - For code refactoring.
- `chore/` - For maintenance tasks.
Examples:
```text
feat/add-cancun-blob-tests
fix/prague-consume-genesis
docs/improve-installation-guide
```
### PR Review Process
1. **Initial checks**: When you submit a PR, automated CI checks will run. Make sure all checks pass before requesting a review.
2. **Requesting review**: Feel free to tag a maintainer or ask for review in a PR comment.
3. **Review feedback**: Maintainers will review your code and may suggest changes. Please address all comments and engage in discussion if needed.
4. **Iteration**: Make requested changes, push to your branch, and the PR will update automatically. No need to create a new PR.
5. **Approval**: Once your changes are approved, a maintainer will merge your PR.
### PR Expectations
To increase the chances of your PR being merged quickly:
- **Scope**: Keep PRs focused on a _single issue or feature_.
- **CI checks**: Ensure all CI checks pass before requesting review; but do ask for help if you don't understand the fail!
- **Clean history**: Use meaningful, atomic commits that can be easily understood.
- **Tests**: Include tests for new functionality.
- **Documentation**: Update documentation for new features or changes.
- **Responsiveness**: Try to respond to review feedback within a reasonable time.
### Code Standards and Enforced CI Checks
We enforce lint, code formatting and unit test checks in our CI - for detailed code standards and enforcement checks, see our [Code Standards documentation](https://eest.ethereum.org/main/getting_started/code_standards).
### Commits
It's recommended to keep changes logically grouped into smaller, individual commits to make changes easier to review.
### Commit Messages, Issue and PR Titles
We use [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) messages and PR titles following the format:
```console
<type>(<scope>): <description>
```
#### Rules
- The format should be lowercase except for object names, which should be back-ticked (e.g., `FixtureCollector`).
- The description should be clear and concise.
- No period at the end of the title/message.
- Use the imperative ("add" not "added" or "adds").
- A breaking change should be indicated by appending `!` directly after the type/scope.
#### Types
The following commit types are used in this repository:
| `<type>` | Repo Label | Description |
| -------------- | --------------- | ------------------------------------------------------------ |
| `feat` | `type:feat` | A new feature |
| `bug` or `fix` | `type:bug` | A bug/bug fix (`bug` in issue; `fix` in commit/PR) |
| `docs` | `type:docs` | Documentation changes |
| `style` | - | Formatting changes that don't affect code functionality |
| `refactor` | `type:refactor` | Code changes that neither fix bugs nor add features |
| `test` | `type:test` | Add, refactor, modify an EEST library or framework unit test |
| `chore` | `type:chore` | Routine tasks, dependency updates, etc. |
#### Scopes
The following scopes are used in this repository:
| `<scope>` | Repo Label | Description |
| --------- | ------------------ | ---------------------------------------------- |
| `fill` | `scope:fill` | Changes to `fill` command |
| `execute` | `scope:execute` | Changes to the `execute` command |
| `consume` | `scope:consume` | Changes to `consume` command suite |
| `pytest` | `scope:pytest` | Changes that effect all EEST pytest plugins |
| `evm` | `scope:evm` | Changes to the `evm_transition_tool` package |
| `forks` | `scope:forks` | Changes to `ethereum_test_forks` package |
| `tools` | `scope:tools` | Changes to `ethereum_test_tools` package |
| `fw` | `scope:fw` | Framework changes (evm\|tools\|forks\|pytest) |
| `tests` | `scope:tests` | Changes to EL client test cases in `./tests` |
| `docs` | `scope:docs` | Documentation flow changes |
| `ci` | `scope:ci` | Continuous Integration changes |
| `gentest` | `scope:gentest` | Changes to `gentest` CLI command |
| `eest` | `scope:eest` | Changes to `eest` CLI command |
| `make` | `scope:make` | Changes to `eest make` command |
| `tooling` | `scope:tooling` | Python tools changes (`uv`, `ruff`, `tox`,...) |
| `deps` | `scope:deps` | Updates package dependencies |
#### Examples
This repository's main focus are the EL client tests in `./tests/` (`scope:tests`), but it contains many unit/module tests (`type:tests`) for the test generation frameworks and libraries in this repository. This can be a bit confusing, these examples demonstrate how we apply these labels and terms:
```console
# adds new EVM tests to tests/prague/eip7702_set_code_tx/
feat(tests): add test cases for EIP-7702
# a pure EVM test code refactor; no changes to test fixture JSON (at least not to fixture hashes, IDs might change if it's too difficult to preserve them).
refactor(tests): split test setup across several fixtures
# improve EVM test docstrings (these are included in HTML documentation):
docs(tests): improve EIP-7623 docstrings
# fix an EVM test
fix(tests): EIP-7702 test authorization list nonce/gas
# add unit tests for the `execute` command
test(execute): add tests for output dir arguments
# fix a broken unit test
test(fill): fix broken unit test
```
Examples of messages and titles for other types and scopes:
```console
feat(eest): add new test generator command
fix(forks): resolve `Cancun` initialization issue
docs(fill): describe new command-line args
refactor(tools): improve code organization in bytecode helpers
test(pytest): add tests for logging plugin
chore(deps): update dependency versions
```
## Merging PRs
We maintain high standards for our repository history to ensure it's clean, understandable, and properly documented. Maintainers should follow these guidelines when merging PRs:
### Pre-Merge Checklist
1. **Review the PR template checklist**
- Ensure all applicable items are checked.
- Items that aren't relevant can be deleted or marked as N/A.
2. **Verify changelog entry**
- Every PR that impacts functionality should have a changelog entry.
- The entry should clearly but concisely describe the change.
- It must include a link to the PR in brackets (e.g., `([#1234](https://github.com/ethereum/execution-spec-tests/pull/1234))`).
- Add any breaking changes at the top of the upcoming release section.
- Changelog entries are automatically validated in CI to ensure proper formatting.
3. **Check PR title format**
- The PR title must follow the [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) format: `<type>(<scope>): <description>`.
- This title will be used (suggested automatically by Github) as the squash commit message, so it's essential it's correct.
- Follow the same rules as commit messages (imperative tense, no period at end, etc.).
- Example: `feat(tests): add tests for EIP-7702 blob gas calculation`
4. **Review PR description**:
- Ensure the PR description is accurate and up-to-date.
5. **Add appropriate labels**:
- Ensure the PR has the appropriate labels matching its type and scope.
6. **Consider other contributors/stakeholders**:
- Verify the PR has been reviewed and approved by any interested contributors and/or stakeholders.
### Merge Strategy
We **strongly prefer squash merging** over other strategies.
Exceptions to the squash merge policy may include:
- Large PRs with logically separate commits that should be preserved.
- Work that spans multiple distinct features or fixes.
### Squash Commit Details
When performing a squash merge:
1. **Include PR number in the commit title**
- Leave, respectively add, the PR number in parentheses at the end of the title.
- Example: `feat(tests): add tests for EIP-7702 gas calculation (#1234)`
2. **Clean up the extended commit message**
- Delete all content in the extended message section EXCEPT:
- Any `Co-authored-by:` lines, which must be preserved to properly attribute work.
- The format should be `Co-authored-by: Full Name <email@example.com>`
================================================
FILE: HUMANS.md
================================================
# HUMANS.md - Working with Claude and LLMs in Ethereum Execution Spec Tests
This guide helps human developers understand the dependencies and get the most out of Claude and other LLMs when working with this codebase.
## 🤖 Why This Repository Has LLM Support
Humans are faster when they use LLMs correctly.
## 📋 Required Dependencies for LLM-Assisted Development
### Requirements
#### LLM Context File
- **CLAUDE.md** - Primary LLM guidance (keep up-to-date). Use `#memorize` in Claude to update with new info.
### Recommended Available Tooling (for use with Claude)
1. **GitHub CLI**: `gh` for PR and issue management.
2. **ripgrep**: `rg` for fast code searching.
3. **jq**: For JSON analysis and EVM trace debugging.
4. **markdownlint-cli**: To verify markdown files (CI enforced).
5. **VS Code**: With recommended extensions (see [setup guide](docs/getting_started/setup_vs_code.md)). Run `claude` in VS Code for the best results.
## 🎯 Getting the Best Results from Claude
### 1. Provide Relevant Context
**Always mention:**
- What you're trying to accomplish.
- Which part of the codebase you're working on (`tests/`, `src/`, `docs/`).
- Any error messages or specific issues you're encountering.
**Example - Good Context**:
> "I'm writing a new test for EIP-7702 in `tests/prague/eip7702_set_code_tx/`. The test should verify that delegation target validation works correctly. The test fails to fill when running `uv run fill --fork=Prague path/to/test.py`"
**Example - Poor Context**:
> "My test isn't working"
### 2. Reference Key Documentation
When asking Claude for help, mention which documentation you've already checked:
- "I've read the test patterns in CLAUDE.md but...".
- "According to the debugging section in CLAUDE.md...".
- "The CONTRIBUTING.md mentions X, but I need help with Y...".
### 3. Share Specific Commands and Output
Claude works best with concrete information:
```bash
# Share the exact command you ran
uv run fill --fork=Prague tests/cancun/eip4844_blobs/test_blob_txs.py --clean -v
# Include relevant error output
ERROR: Failed to compile Yul source: ...
```
### 4. Ask for Complete Solutions
Request end-to-end guidance rather than partial answers:
- "Show me the complete test function with proper imports.".
- "What's the full workflow from creating the test to verifying it works?".
- "Include the commands I need to run to validate this change.".
## 🚀 Optimizing LLM Workflows
### Quick Start Template
When starting a new (and complicated) task, provide Claude with something similar to template.
```console
I'm working on [describe task] in the Ethereum execution-spec-tests repository.
**Context**:
- Working directory: [tests/shanghai/, src/ethereum_test_tools/, etc.]
- Trying to: [specific goal]
- Current status: [what you've tried, any errors]
**References**:
- Checked CLAUDE.md section: [which sections you've read]
- Related documentation: [any other docs you've reviewed]
**Specific question**: [exactly what you need help with]
```
### Debugging Template
For troubleshooting issues:
```console
I'm encountering [specific error] when [doing what].
**Command run**:
```bash
[exact command that failed]
```console
**Error output**:
```
[full error message]
```console
**What I've tried**:
- [list previous attempts].
**Environment details**:
```bash
uv run eest info
```console
**Request**: Please help me understand what's wrong and provide the fix.
```
### Code Review Template
When asking Claude to review code:
```console
Please review this [test/function/module] for:
- Compliance with project standards (CLAUDE.md, code_standards.md).
- Correct usage of the `pre` fixture.
- Proper error handling and type annotations.
- Performance considerations.
**Code**:
```python
[your code here]
```console
**Specific concerns**: [any particular areas you're unsure about]
## 🧠 Understanding LLM Limitations
### What Claude Excels At
- ✅ **Code patterns and structure**.
- ✅ **Following established conventions**.
- ✅ **Debugging common issues**.
- ✅ **Explaining complex concepts**.
- ✅ **Generating boilerplate code**.
- ✅ **Reviewing code for standards compliance**.
### What to Verify Independently
- ⚠️ **Latest dependency versions** (always check official docs).
- ⚠️ **New EIP specifications** (verify against ethereum/EIPs).
- ⚠️ **Breaking changes** in recent updates.
- ⚠️ **Environment-specific issues** (OS, architecture).
- ⚠️ **Security implications** of suggestions.
### For Effective LLM Collaboration
- Provide clear, specific prompts.
- Break complex tasks into smaller pieces.
- Always validate LLM output against standards.
- Use the codebase's existing patterns as examples.
Remember: **LLMs are powerful tools that work best when given good context and clear objectives.** The better you understand this codebase, the better you can guide Claude to help you effectively.
================================================
FILE: LICENSE
================================================
Copyright 2025 Ethereum Community
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: README.md
================================================
# ⚠️ NOTICE: All code from this repository has been migrated to ethereum/execution-specs
As such, this repository is no longer accepting pull requests as of 2025-11-01. Please direct any changes to https://github.com/ethereum/execution-specs instead.
## What This Means for You
- **Client Teams:** No changes. Test fixture releases will continue to be published in this repository, [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests).
- **Test Contributors:**
- Please direct PRs to [ethereum/execution-specs](https://github.com/ethereum/execution-specs).
- Read more about the changes effecting test development in our [blog announcement](https://steel.ethereum.foundation/blog/2025-11-04_weld_final/).
### Questions or Feedback About the Migration?
Please reach out to the STEEL team by writing to the `#el-testing` channel in the [Ethereum R&D Discord Server](https://discord.com/invite/qGpsxSA) or contacting any STEEL team member directly.
---
## Execution Spec Tests
[](https://github.com/ethereum/execution-spec-tests/releases/latest)

[](https://github.com/astral-sh/ruff)
[](https://github.com/astral-sh/uv)
[](https://github.com/ethereum/execution-spec-tests/blob/main/LICENSE)
## About
The full execution-spec-tests documentation can be found [here](https://eest.ethereum.org/main/).
**Note:** All of [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) functionality (i.e., the spec tests, test frameworks and tooling) will move to [ethereum/execution-specs](https://github.com/ethereum/execution-specs) in Q4 2025 to streamline spec and test development. For more information please see our [blog post](https://steel.ethereum.foundation/blog/2025-09-11_weld-announcement/). For now, please continue contributing to both [ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) and [ethereum/execution-specs](https://github.com/ethereum/execution-specs) as you previously have - we will reach out to you if and when need be!
[ethereum/execution-spec-tests](https://github.com/ethereum/execution-spec-tests) is both a collection of test cases and a framework implemented in Python to generate tests for Ethereum execution clients.
The framework collects and executes the test cases in order to generate _test fixtures_ (JSON) which can be consumed by any execution client to verify their implementation of [ethereum/execution-specs](https://github.com/ethereum/execution-specs). The fixtures, which define state transition and block tests, are generated by the framework using one of the `t8n` command-line tools that are provided by most execution clients, see below for an overview of the supported `t8n` tools.
```mermaid
---
title: Test Fixture Generation with execution-spec-tests
---
flowchart LR
style C stroke:#333,stroke-width:2px
style D stroke:#333,stroke-width:2px
style G stroke:#F9A825,stroke-width:2px
style H stroke:#F9A825,stroke-width:2px
subgraph "ethereum/go-ethereum, ..."
C[<code>evm t8n</code><br/>external executable]
end
subgraph ethereum/solidity
D[<code>solc</code><br/>external executable]
end
subgraph ethereum/EIPs
E(<code>EIPS/EIP-*.md</code><br/>SHA digest via Github API)
end
subgraph "ethereum/execution-spec-tests"
A(<code>./tests/**/*.py</code><br/>Python Test Cases)
B([<code>$ fill ./tests/</code><br/>Python Framework])
end
subgraph Test Fixture Consumers
subgraph ethereum/hive
G([<code>$ hive ...</code><br/>Go Test Framework])
end
H([Client executables])
end
C <-.-> B
D <-.-> B
A --> B
E <-.-> |retrieve latest spec version\ncheck tested spec version| B
B -->|output| F(<code>./fixtures/**/*.json</code>\nJSON Test Fixtures)
F -->|input| G
F -->|input| H
```
The generated test fixtures can be used:
1. Directly by client teams' test frameworks, and,
2. In the integration tests executed in the [ethereum/hive](https://github.com/ethereum/hive) framework.
## Transition Tool Support
The following transition tools are supported by the framework:
| Client | "t8n" Tool | Tracing Support |
| -------| ---------- | --------------- |
| [ethereum/evmone](https://github.com/ethereum/evmone) | `evmone-t8n` | Yes |
| [ethereum/execution-specs](https://github.com/ethereum/execution-specs) | `ethereum-spec-evm` | Yes |
| [ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) | [`evm t8n`](https://github.com/ethereum/go-ethereum/tree/master/cmd/evm) | Yes |
| [ethereumjs](https://github.com/ethereumjs/ethereumjs-monorepo) | [`ethereumjs-t8ntool.sh`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/vm/test/t8n) | No |
| [hyperledger/besu](https://github.com/hyperledger/besu/tree/main/ethereum/evmtool) | [`evm t8n-server`](https://github.com/hyperledger/besu/tree/main/ethereum/evmtool) | Yes |
| [status-im/nimbus-eth1](https://github.com/status-im/nimbus-eth1) | [`t8n`](https://github.com/status-im/nimbus-eth1/blob/master/tools/t8n/readme.md) | Yes |
### Upcoming EIP Development
Generally, specific `t8n` implementations and branches must be used when developing tests for upcoming EIPs.
We use named reference tags to point to the specific version of the `t8n` implementation that needs to be used fill the tests.
All current tags, their t8n implementation and branch they point to, are listed in [.github/configs/evm.yaml](.github/configs/evm.yaml).
## Getting Started
### Prerequisites
The tools provided by ethereum/execution-spec-tests use `uv` ([docs.astral.sh/uv](https://docs.astral.sh/uv/)) to manage their dependencies and virtual environment. `uv` downloads Python for your target platform if one of the required versions (Python 3.11 or 3.12) is not available natively.
`uv` can be installed via curl (recommended; can self-update):
```console
curl -LsSf https://astral.sh/uv/install.sh | sh
```
or pip (requires Python, can't self-update):
```console
pip install uv
```
### Installation
Clone [execution-spec-tests](https://github.com/ethereum/execution-spec-tests) and install its dependencies:
```console
git clone --depth 1 https://github.com/ethereum/execution-spec-tests
cd execution-spec-tests
uv python install 3.12
uv python pin 3.12
uv sync --all-extras
```
See [Installation Troubleshooting](https://eest.ethereum.org/main/getting_started/installation_troubleshooting/) in the online docs if you encounter issues.
### Exploring and Filling Test Cases
By default, JSON test fixtures are generated from this repository's Python test cases using the [Ethereum Execution Layer Specification](https://github.com/ethereum/execution-specs) (EELS) reference implementation. The resulting JSON fixtures can be executed against execution clients to verify consensus. The process of generating fixtures is often referred to as "filling".
1. Explore test cases via `--collect-only` and search for test cases that combine `PUSH0` and `DELEGATECALL` in the EVM functionality introduced in the Shanghai hard fork:
```console
uv run fill --collect-only -k "push0 and delegatecall" tests/shanghai/
```
The `fill` command is based on [`pytest`](https://docs.pytest.org/en/stable/). The above command uses the [optional pytest arguments](https://docs.pytest.org/en/stable/how-to/usage.html):
- `--collect-only` only collect test cases; don't execute them.
- `-k <expression>` filter test cases by their test case ID based on the given expression.
- `tests/shanghai` the directory containing the test cases (tells `fill` to only discover test cases in this directory; default: `tests/`).
Expected console output:

2. Fill `state_test` fixtures for these test cases:
```console
uv run fill -k "push0 and delegatecall" tests/shanghai/ -m state_test -v
```
where:
- `-m state_test` only fills test cases marked as a `state_test` (see all available markers via `uv run fill --markers`).
- `-v` enables verbose output.
Expected console output:

3. Verify the generated fixtures:
a. Check the corresponding fixture file has been generated:
```console
head fixtures/state_tests/shanghai/eip3855_push0/push0/push0_contract_during_call_contexts.json
```
b. Open the generated HTML test using the link provided at the bottom of the console output. This is written to the output directory at:
```console
./fixtures/.meta/report_fill.html
```
## Usage
More information on how to obtain and consume the [released test fixtures](https://github.com/ethereum/execution-spec-tests/releases) can be found in the [documentation](https://eest.ethereum.org/main/running_tests/).
For further help with working with this codebase, see the [online documentation](https://eest.ethereum.org/main/):
1. Learn [useful command-line flags](https://eest.ethereum.org/main/filling_tests/filling_tests_command_line/).
2. [Execute tests for features under development](https://eest.ethereum.org/main/filling_tests/filling_tests_dev_fork/) via the `--from=FORK1` and `--until=FORK2` flags.
3. _Optional:_ [Configure VS Code](https://eest.ethereum.org/main/getting_started/setup_vs_code/) to auto-format Python code and [execute tests within VS Code](https://eest.ethereum.org/main/filling_tests/filling_tests_vs_code/).
4. Implement a new test case, see [Writing Tests](https://eest.ethereum.org/main/writing_tests/).
## Coverage
The available test cases can be browsed in the [Test Case Reference doc](https://eest.ethereum.org/main/tests/).
## Installation Troubleshooting
If you encounter issues during the installation process, please refer to the [Installation Troubleshooting](https://eest.ethereum.org/main/getting_started/installation_troubleshooting/) page.
## Contributing
Contributions and feedback are welcome. Please see our [Contributing Guidelines](CONTRIBUTING.md) for detailed information on how to contribute, and the [online documentation](https://eest.ethereum.org/main/writing_tests/) for this repository's coding standards and help on implementing new tests.
We welcome earnest newcomers, no matter how small the contribution! However, we do not accept:
- Contributions that only fix spelling or grammatical errors in documentation, code or elsewhere
- Pull requests from obvious airdrop farmers
- Drive-by or vibe code contributions without proper engagement or context
Pull requests should have reasonable substance or resolve an existing repository open issue.
Care is required when adding PRs or issues for functionality that is live on Ethereum mainnet, please refer to the [Security Policy](SECURITY.md) for more information about reporting vulnerabilities and eligibility for the [bug bounty program](https://bounty.ethereum.org).
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
================================================
FILE: SECURITY.md
================================================
# Security Policy
## Reporting a Vulnerability
- **Please do not create a PR with a vulnerability visible.**
- **Please do not file a public ticket mentioning the vulnerability.**
To find out how to disclose a vulnerability in Ethereum visit [https://bounty.ethereum.org](https://bounty.ethereum.org) or email bounty@ethereum.org.
================================================
FILE: docs/CHANGELOG.md
================================================
# Changelog
Test fixtures for use by clients are available for each release on the [Github releases page](https://github.com/ethereum/execution-spec-tests/releases).
**Key:** ✨ = New, 🐞 = Fixed, 🔀 = Changed. 💥 = Breaking
## 🔜 [Unreleased]
### 💥 Breaking Change
### 🛠️ Framework
#### `fill`
#### `consume`
### 📋 Misc
### 🧪 Test Cases
- 🐞Fix BALs opcode OOG test vectors by updating the Amsterdam commit hash in specs and validating appropriately on the testing side ([#2293](https://github.com/ethereum/execution-spec-tests/pull/2293)).
- ✨Fix test vector for BALs SSTORE with OOG by pointing to updated specs; add new boundary conditions cases for SSTORE w/ OOG ([#2297](https://github.com/ethereum/execution-spec-tests/pull/2297)).
## [v5.3.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v5.3.0) - 2025-10-09
## 🇯🇵 Summary
EEST v5.3.0 is a follow-up from our main v5.0.0 [release](https://github.com/ethereum/execution-spec-tests/releases/tag/v5.0.0), with updated BPO1 and BPO2 values aligning with the testnet parameters.
This release additionally includes fixes for tests in hive, as well as new test cases for EIP-7883, EIP-7934 and critical cases for EIP-7951 (added to EEST by @chfast following a coverage review of the test suite).
## 🔑 Key Changes
### 🛠️ Framework
- ✨ Add benchmark-specific test wrapper (`benchmark_test`) that supports **EIP-7825** and create a benchmark code generator for common test pattern ([#1945](https://github.com/ethereum/execution-spec-tests/pull/1945)).
#### `fill`
- ✨ Added `--optimize-gas`, `--optimize-gas-output` and `--optimize-gas-post-processing` flags that allow to binary search the minimum gas limit value for a transaction in a test that still yields the same test result ([#1979](https://github.com/ethereum/execution-spec-tests/pull/1979)).
- ✨ Added `--watch` flag that monitors test files for changes and automatically re-runs the fill command when developing tests ([#2173](https://github.com/ethereum/execution-spec-tests/pull/2173)).
- 🔀 Upgraded ckzg version to 2.1.3 or newer for correct handling of points at infinity ([#2171](https://github.com/ethereum/execution-spec-tests/pull/2171)).
- 🔀 Move pytest marker registration for `fill` and `execute-*` from their respective ini files to the shared `pytest_plugins.shared.execute_fill` pytest plugin ([#2110](https://github.com/ethereum/execution-spec-tests/pull/2110)).
- ✨ Added an `--input.blobParams` CLI argument to the transition tool (`t8n`) invocation ([#2264](https://github.com/ethereum/execution-spec-tests/pull/2264)).
#### `consume`
- ✨ Add retry logic to RPC requests to fix flaky connection issues in Hive ([#2205](https://github.com/ethereum/execution-spec-tests/pull/2205)).
- 🛠️ Mark `consume sync` tests as `flaky` with 3 retires due to client sync inconsistencies ([#2252](https://github.com/ethereum/execution-spec-tests/pull/2252)).
- ✨ Add `consume direct` using `evmone-statetest` and `evmone-blockchaintest` ([#2243](https://github.com/ethereum/execution-spec-tests/pull/2243)).
### 📋 Misc
- ✨ Add tighter validation for EIP-7928 model coming from t8n when filling ([#2138](https://github.com/ethereum/execution-spec-tests/pull/2138)).
- ✨ Add flexible API for absence checks for EIP-7928 (BAL) tests ([#2124](https://github.com/ethereum/execution-spec-tests/pull/2124)).
- 🐞 Use `engine_newPayloadV5` for `>=Amsterdam` forks in `consume engine` ([#2170](https://github.com/ethereum/execution-spec-tests/pull/2170)).
- 🔀 Refactor EIP-7928 (BAL) absence checks into a friendlier class-based DevEx ([#2175](https://github.com/ethereum/execution-spec-tests/pull/2175)).
- 🐞 Tighten up validation for empty lists on Block-Level Access List tests ([#2118](https://github.com/ethereum/execution-spec-tests/pull/2118)).
- ✨ Added the `MemoryVariable` EVM abstraction to generate more readable bytecode when there's heavy use of variables that are stored in memory ([#1609](https://github.com/ethereum/execution-spec-tests/pull/1609)).
- 🐞 Fix an issue with `test_bal_block_rewards` where the block base fee was wrongfully overridden ([#2262](https://github.com/ethereum/execution-spec-tests/pull/2262)).
- ✨ Complete EIP checklist for EIP-7934 and update the checklist template to include block-level constraint checks ([#2282](https://github.com/ethereum/execution-spec-tests/pull/2282)).
### 🧪 Test Cases
- ✨ Add safe EIP-6110 workaround to allow Geth/Reth to pass invalid deposit request tests even thought they are out of spec ([#2177](https://github.com/ethereum/execution-spec-tests/pull/2177), [#2233](https://github.com/ethereum/execution-spec-tests/pull/2233)).
- ✨ Add an EIP-7928 test case targeting the `SELFDESTRUCT` opcode. ([#2159](https://github.com/ethereum/execution-spec-tests/pull/2159)).
- ✨ Add essential tests for coverage gaps in EIP-7951 (`p256verify` precompile) ([#2179](https://github.com/ethereum/execution-spec-tests/pull/2159), [#2203](https://github.com/ethereum/execution-spec-tests/pull/2203), [#2215](https://github.com/ethereum/execution-spec-tests/pull/2215), [#2216](https://github.com/ethereum/execution-spec-tests/pull/2216), [#2217](https://github.com/ethereum/execution-spec-tests/pull/2217), [#2218](https://github.com/ethereum/execution-spec-tests/pull/2218), [#2221](https://github.com/ethereum/execution-spec-tests/pull/2221), [#2229](https://github.com/ethereum/execution-spec-tests/pull/2229), [#2230](https://github.com/ethereum/execution-spec-tests/pull/2230), [#2237](https://github.com/ethereum/execution-spec-tests/pull/2237), [#2238](https://github.com/ethereum/execution-spec-tests/pull/2238)).
- ✨ Add EIP-7928 successful and OOG single-opcode tests ([#2118](https://github.com/ethereum/execution-spec-tests/pull/2118)).
- ✨ Add EIP-7928 tests for EIP-2930 interactions ([#2167](https://github.com/ethereum/execution-spec-tests/pull/2167)).
- ✨ Add EIP-7928 tests for NOOP operations ([#2178](https://github.com/ethereum/execution-spec-tests/pull/2178)).
- ✨ Add EIP-7928 tests for net-zero balance transfers ([#2280](https://github.com/ethereum/execution-spec-tests/pull/2280)).
- ✨ Add fork transition test cases for EIP-7934 ([#2282](https://github.com/ethereum/execution-spec-tests/pull/2282)).
## [v5.0.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v5.0.0) - 2025-09-05
## 🇯🇵 Summary
EEST Fujisan is our first full release for Osaka, the first full release since Pectra!
In addition to the latest Osaka specific test cases, it includes re-filled `GeneralStateTests` from `ethereum/tests` (now fully maintained within EEST under `tests/static`) for Osaka adhering to the transaction gas limit cap from [EIP-7825](https://eips.ethereum.org/EIPS/eip-7825). Further framework changes include new simulators, test formats and test types.
## ⚔️ Future Weld with EELS
EEST will merge with [EELS](https://github.com/ethereum/execution-specs) during **Q4 2025**, after which EEST becomes read-only for external contributors.
**What this means?**
- All EEST code moves to the EELS repository.
- New EEST framework location: `execution-specs/src/ethereum_spec_tests/`.
- New EEST tests location: `execution-specs/tests/eest/`.
- Future PRs go to EELS instead of EEST.
**Important Notes:**
- All PRs for tests and framework changes should still be directed at EEST until further notice.
- There will be a brief freeze on EEST contributions during Q4 "The Switch", after which contributors can continue as before, but in EELS.
- Test releases will continue from EEST as normal before, during, and after this transition.
More information will be communicated accordingly through the normal communication channels.
## ❗Current Status Quo
### Test Fixtures Overview
- `fixtures_static.tar.gz` has been deprecated.
- `fixtures_stable.tar.gz` & `fixtures_develop.tar.gz` now both contain re-filled static tests, `GeneralStateTests` from `ethereum/tests`, filled **from Cancun**.
- `fixtures_stable.tar.gz` contains tests filled for forks until Prague.
- `fixtures_develop.tar.gz` contains tests filled for forks until Osaka.
- `fixtures_benchmark.tar.gz` contains benchmark tests filled for only Prague.
### EL Client Test Requirements
**Prague Coverage (Mainnet):**
- Run all `state_test`'s & `blockchain_test`'s from `fixtures_stable.tar.gz`.
- Run only `BlockchainTests` from the latest `ethereum/tests` [release](https://github.com/ethereum/tests/releases/tag/v17.2), filled **until Prague**.
**Fusaka Coverage (Including Mainnet):**
- Run all `state_test`'s & `blockchain_test`'s from `fixtures_develop.tar.gz`.
- Run only `BlockchainTests` from the latest `ethereum/tests` [release](https://github.com/ethereum/tests/releases/tag/v17.2), filled **until Prague**.
**Note**: If you require `GeneralStateTests` from `ethereum/tests` **filled for forks before Cancun** then you must get these from the latest `ethereum/tests` [release](https://github.com/ethereum/tests/releases/tag/v17.2).
### Benchmark Tests
For the most up-to-date benchmark tests, use `fixtures_benchmark.tar.gz`.
> **Note**: Benchmark tests for Osaka (compliant with EIP-7825 transaction gas limit cap) will be added in a future feature release.
### Test Fixture Formats
This release includes 2 new test formats designed primarily for [Hive](https://github.com/ethereum/hive) simulators:
- [**`blockchain_tests_engine_x`**](https://eest.ethereum.org/v5.0.0/running_tests/test_formats/blockchain_test_engine_x/?h=#blockchain-engine-x-tests): An optimized version of `blockchain_tests_engine` where multiple tests share the same genesis state, allowing multiple tests to run on a single client instantiation within Hive's `consume-engine`. The standard format requires a fresh client startup for each test. Due its combined genesis state, this is additionally the primary format used by the Nethermind team for benchmarking.
- [**`blockchain_tests_sync`**](https://eest.ethereum.org/main/running_tests/test_formats/blockchain_test_sync/?h=sync#blockchain-engine-sync-tests): A new format adjacent to the existing `blockchain_tests_engine` format. Used specifically for the upcoming `consume-sync` simulator, which delivers engine payloads from test fixtures to the client under test, then sync's a separate client to it. This test fixture is only marked to be filled for the [EIP-7934](https://eips.ethereum.org/EIPS/eip-7934) block RLP limit tests in Osaka.
### Tooling & Simulators
Improved tooling and new Hive simulators are additionally included in this release:
- [**`execute remote`**](https://eest.ethereum.org/main/running_tests/execute/remote/#running-test-on-a-live-remote-network): this command now supports optional [Engine RPC endpoints](https://eest.ethereum.org/main/running_tests/execute/remote/#engine-rpc-endpoint-optional) (`--engine-endpoint`) with JWT authentication #2070.
- This allows manual control over block creation and transaction inclusion for more deterministic test execution on live networks. Previously, `execute remote` could only submit transactions and rely on the network's automatic block production, but now it can actively drive chain progression by creating blocks on-demand via the Engine API.
- [**`consume sync`**](https://eest.ethereum.org/main/running_tests/running/#sync): Adjacent to `consume-engine`, designed to work with the `blockchain_tests_sync` format for testing client sync scenarios.
- [**`execute blobs`**](https://eest.ethereum.org/main/running_tests/execute/hive/#the-eestexecute-blobs-simulator): A new Hive specific simulator that uses the EEST execute pytest plugin. Sends blob transactions to the client under test and verifies its `engine_getBlobsVX` endpoint. Requires tests to be written with a new python test format `blob_transaction_test`. Primarily used to test PeerDAS from the EL perspective.
- [**`execute eth config`**](https://eest.ethereum.org/main/running_tests/execute/eth_config/): A command used to test the `eth_config` endpoint from [EIP-7910](https://eips.ethereum.org/EIPS/eip-7910). Can be ran [remotely](https://github.com/ethereum/execution-spec-tests/issues/2049) or within Hive.
### Filling For Stateless Clients
A `witness-filler` extension is included in this release, allowing for tests to be filled that include an `executionWitness` for each fixture #2066. This essentially calls an external executable written in rust, and hence must be installed for usage within `fill` using the `--witness` flag. The current approach is below:
```sh
cargo install --git https://github.com/kevaundray/reth.git --branch jsign-witness-filler witness-filler
uv run fill ... --output=fixtures-witness --witness --clean
```
> **Note**: The `witness-filler` executable is not maintained by EEST so we cannot help with any issues.
## 💥 Breaking Changes
### Important changes for EEST superusers
- EEST now requires `uv>=0.7.0` ([#1904](https://github.com/ethereum/execution-spec-tests/pull/1904)). If your version of `uv` is too old.
- When filling fixtures transition forks are included within there respective "to" fork, where `--fork Osaka` will now include `PragueToOsakaAtTime15k`. Previously transitions fork would only be included when filling with `--from Prague --until Osaka` flags.
- Python 3.10 support was removed in this release ([#1808](https://github.com/ethereum/execution-spec-tests/pull/1808)).
- EEST no longer allows usage of Yul code in Python tests. From now on, please make use of our opcode wrapper. Yul code is now only allowed in the "static tests" located in `./tests/static/` (these are test cases defined by JSON and YAML files instead of Python test functions that were originally maintained in [ethereum/tests](https://github.com/ethereum/tests)).
- In order to fill the static tests (which is not the case by default), please ensure that `solc` is located in your `PATH`.
- The output behavior of `fill` has changed ([#1608](https://github.com/ethereum/execution-spec-tests/pull/1608)):
- Before: `fill` wrote fixtures into the directory specified by the `--output` flag (default: `fixtures`). This could have many unintended consequences, including unexpected errors if old or invalid fixtures existed in the directory (for details see [#1030](https://github.com/ethereum/execution-spec-tests/issues/1030)).
- Now: `fill` will exit without filling any tests if the specified directory exists and is not-empty. This may be overridden by adding the `--clean` flag, which will first remove the specified directory.
- Writing debugging information to the EVM "dump directory" by default has been disabled. To obtain debug output, the `--evm-dump-dir` flag must now be explicitly set. As a consequence, the now redundant `--skip-evm-dump` option was removed ([#1874](https://github.com/ethereum/execution-spec-tests/pull/1874)). This undoes functionality originally introduced in [#999](https://github.com/ethereum/execution-spec-tests/pull/999) and [#1150](https://github.com/ethereum/execution-spec-tests/pull/1150).
### Feature `zkevm` updated to `benchmark`
Due to the crossover between `zkevm` and `benchmark` tests, all instances of the former have been replaced with the latter nomenclature. Repository PR labels and titles are additionally updated to reflect this change.
This update renames the `zkevm` feature release to `benchmark` and further expands the latter for 1M, 10M, 30M, 45M, 60M, 90M, and 120M block gas limits in `fixtures_benchmark.tar.gz`.
To select a test for a given gas limit, the IDs of the tests have been expanded to contain `benchmark-gas-value_XM`, where `X` can be any of the aforementioned values.
The benchmark release also now includes BlockchainEngineX format that combines most of the tests into a minimal amount of genesis files. For more info see [Blockchain Engine X Tests](https://eest.ethereum.org/main/running_tests/test_formats/blockchain_test_engine_x/) in the EEST documentation.
Users can select any of the artifacts depending on their benchmarking or testing needs for their provers.
## 🔑 Other Key Changes
### 🛠️ Framework
#### 🔀 Refactoring
- 🔀 Move `TransactionType` enum from test file to proper module location in `ethereum_test_types.transaction_types` for better code organization and reusability.
- ✨ Opcode classes now validate keyword arguments and raise `ValueError` with clear error messages.
- 🔀 This PR removes the `solc` requirement to fill Python test cases. Regular test contributors no longer need to concern themselves with `solc` and, as such, the `solc-select` dependency has been removed. The remaining tests that used Yul have been ported to the EEST opcode wrapper mini-lang and the use of Yul in Python tests is no longer supported. Maintainers only: To fill the "static" JSON and YAML tests (`./tests/static/`) locally, `solc` (ideally v0.8.24) must be available in your PATH.
- 🔀 Updated default block gas limit from 36M to 45M to match mainnet environment.
- 🔀 Refactor fork logic to include transition forks within there "to" fork ([#2051](https://github.com/ethereum/execution-spec-tests/pull/2051)).
#### `fill`
- ✨ Add the `ported_from` test marker to track Python test cases that were converted from static fillers in [ethereum/tests](https://github.com/ethereum/tests) repository ([#1590](https://github.com/ethereum/execution-spec-tests/pull/1590)).
- ✨ Add a new pytest plugin, `ported_tests`, that lists the static fillers and PRs from `ported_from` markers for use in the coverage Github Workflow ([#1634](https://github.com/ethereum/execution-spec-tests/pull/1634)).
- ✨ Enable two-phase filling of fixtures with pre-allocation groups and add a `BlockchainEngineXFixture` format ([#1706](https://github.com/ethereum/execution-spec-tests/pull/1706), [#1760](https://github.com/ethereum/execution-spec-tests/pull/1760)).
- ✨ Add `--generate-all-formats` flag to enable generation of all fixture formats including `BlockchainEngineXFixture` in a single command; enable `--generate-all-formats` automatically for tarball output, `--output=fixtures.tar.gz`, [#1855](https://github.com/ethereum/execution-spec-tests/pull/1855).
- 🔀 Refactor: Encapsulate `fill`'s fixture output options (`--output`, `--flat-output`, `--single-fixture-per-file`) into a `FixtureOutput` class ([#1471](https://github.com/ethereum/execution-spec-tests/pull/1471),[#1612](https://github.com/ethereum/execution-spec-tests/pull/1612)).
- ✨ Don't warn about a "high Transaction gas_limit" for `zkevm` tests ([#1598](https://github.com/ethereum/execution-spec-tests/pull/1598)).
- 🐞 `fill` no longer writes generated fixtures into an existing, non-empty output directory; it must now be empty or `--clean` must be used to delete it first ([#1608](https://github.com/ethereum/execution-spec-tests/pull/1608)).
- 🐞 `zkevm` marked tests have been removed from `tests-deployed` tox environment into its own separate workflow `tests-deployed-zkevm` and are filled by `evmone-t8n` ([#1617](https://github.com/ethereum/execution-spec-tests/pull/1617)).
- ✨ Field `postStateHash` is now added to all `blockchain_test` and `blockchain_test_engine` tests that use `exclude_full_post_state_in_output` in place of `postState`. Fixes `evmone-blockchaintest` test consumption and indirectly fixes coverage runs for these tests ([#1667](https://github.com/ethereum/execution-spec-tests/pull/1667)).
- 🔀 Changed INVALID_DEPOSIT_EVENT_LAYOUT to a BlockException instead of a TransactionException ([#1773](https://github.com/ethereum/execution-spec-tests/pull/1773)).
- 🔀 Disabled writing debugging information to the EVM "dump directory" to improve performance. To obtain debug output, the `--evm-dump-dir` flag must now be explicitly set. As a consequence, the now redundant `--skip-evm-dump` option was removed ([#1874](https://github.com/ethereum/execution-spec-tests/pull/1874)).
- ✨ Generate unique addresses with Python for compatible static tests, instead of using hard-coded addresses from legacy static test fillers ([#1781](https://github.com/ethereum/execution-spec-tests/pull/1781)).
- ✨ Added support for the `--benchmark-gas-values` flag in the `fill` command, allowing a single genesis file to be used across different gas limit settings when generating fixtures. ([#1895](https://github.com/ethereum/execution-spec-tests/pull/1895)).
- ✨ Static tests can now specify a maximum fork where they should be filled for ([#1977](https://github.com/ethereum/execution-spec-tests/pull/1977)).
- ✨ Static tests can now be filled in every format using `--generate-all-formats` ([#2006](https://github.com/ethereum/execution-spec-tests/pull/2006)).
- 💥 Flag `--flat-output` has been removed due to having been unneeded for an extended period of time ([#2018](https://github.com/ethereum/execution-spec-tests/pull/2018)).
- ✨ Add support for `BlockchainEngineSyncFixture` format for tests marked with `pytest.mark.verify_sync` to enable client synchronization testing via `consume sync` command ([#2007](https://github.com/ethereum/execution-spec-tests/pull/2007)).
- ✨ Framework is updated to include BPO ([EIP-7892](https://eips.ethereum.org/EIPS/eip-7892)) fork markers to enable the filling of BPO tests ([#2050](https://github.com/ethereum/execution-spec-tests/pull/2050)).
- ✨ Generate and include execution witness data in blockchain fixtures if `--witness` is specified ([#2066](https://github.com/ethereum/execution-spec-tests/pull/2066)).
#### `consume`
- ✨ Add `--extract-to` parameter to `consume cache` command for direct fixture extraction to specified directory, replacing the need for separate download scripts. ([#1861](https://github.com/ethereum/execution-spec-tests/pull/1861)).
- 🐞 Fix `consume cache --cache-folder` parameter being ignored, now properly caches fixtures in the specified directory instead of always using the default system cache location.
- 🐞 Fix the `consume_direct.sh` script generated by `consume` in the `--evm-dump` dir by quoting test IDs [#1987](https://github.com/ethereum/execution-spec-tests/pull/1987).
- 🔀 `consume` now automatically avoids GitHub API calls when using direct release URLs (better for CI environments), while release specifiers like `stable@latest` continue to use the API for version resolution ([#1788](https://github.com/ethereum/execution-spec-tests/pull/1788)).
- 🔀 Refactor consume simulator architecture to use explicit pytest plugin structure with forward-looking architecture ([#1801](https://github.com/ethereum/execution-spec-tests/pull/1801)).
- 🔀 Add exponential retry logic to initial fcu within consume engine ([#1815](https://github.com/ethereum/execution-spec-tests/pull/1815)).
- ✨ Add `consume sync` command to test client synchronization capabilities by having one client sync from another via Engine API and P2P networking ([#2007](https://github.com/ethereum/execution-spec-tests/pull/2007)).
- 💥 Removed the `consume hive` command, this was a convenience command that ran `consume rlp` and `consume engine` in one pytest session; the individual commands should now be used instead ([#2008](https://github.com/ethereum/execution-spec-tests/pull/2008)).
- ✨ Update the hive ruleset to include BPO ([EIP-7892](https://eips.ethereum.org/EIPS/eip-7892)) forks ([#2050](https://github.com/ethereum/execution-spec-tests/pull/2050)).
#### `execute`
- ✨ Added new `Blob` class which can use the ckzg library to generate valid blobs at runtime ([#1614](https://github.com/ethereum/execution-spec-tests/pull/1614)).
- ✨ Added `blob_transaction_test` execute test spec, which allows tests that send blob transactions to a running client and verifying its `engine_getBlobsVX` endpoint behavior ([#1644](https://github.com/ethereum/execution-spec-tests/pull/1644)).
- ✨ Added `execute eth-config` command to test the `eth_config` RPC endpoint of a client, and includes configurations by default for Mainnet, Sepolia, Holesky, and Hoodi ([#1863](https://github.com/ethereum/execution-spec-tests/pull/1863)).
- ✨ Command `execute remote` now allows specification of an Engine API endpoint to drive the chain via `--engine-endpoint` and either `--engine-jwt-secret` or `--engine-jwt-secret-file`. This mode is useful when there's no consensus client connected to the execution client so `execute` will automatically request blocks via the Engine API when it sends transactions ([#2070](https://github.com/ethereum/execution-spec-tests/pull/2070)).
- ✨ Added `--address-stubs` flag to the `execute` command which allows to specify a JSON-formatted string, JSON file or YAML file which contains label-to-address of specific pre-deployed contracts already existing in the network where the tests are executed ([#2073](https://github.com/ethereum/execution-spec-tests/pull/2073)).
### 📋 Misc
- ✨ Add pypy3.11 support ([#1854](https://github.com/ethereum/execution-spec-tests/pull/1854)).
- 🔀 Use only relative imports in `tests/` directory ([#1848](https://github.com/ethereum/execution-spec-tests/pull/1848)).
- 🔀 Convert absolute imports to relative imports in `src/` directory for better code maintainability ([#1907](https://github.com/ethereum/execution-spec-tests/pull/1907)).
- 🔀 Misc. doc updates, including a navigation footer ([#1846](https://github.com/ethereum/execution-spec-tests/pull/1846)).
- 🔀 Remove Python 3.10 support ([#1808](https://github.com/ethereum/execution-spec-tests/pull/1808)).
- 🔀 Modernize codebase with Python 3.11 language features ([#1812](https://github.com/ethereum/execution-spec-tests/pull/1812)).
- ✨ Add changelog formatting validation to CI to ensure consistent punctuation in bullet points [#1691](https://github.com/ethereum/execution-spec-tests/pull/1691).
- ✨ Added the [EIP checklist template](https://eest.ethereum.org/main/writing_tests/checklist_templates/eip_testing_checklist_template/) that serves as a reference to achieve better coverage when implementing tests for new EIPs ([#1327](https://github.com/ethereum/execution-spec-tests/pull/1327)).
- ✨ Added [Post-Mortems of Missed Test Scenarios](https://eest.ethereum.org/main/writing_tests/post_mortems/) to the documentation that serves as a reference list of all cases that were missed during the test implementation phase of a new EIP, and includes the steps taken in order to prevent similar test cases to be missed in the future ([#1327](https://github.com/ethereum/execution-spec-tests/pull/1327)).
- ✨ Add documentation "Running Tests" that explains the different methods available to run EEST tests and reference guides for running `consume` and `hive`: ([#1172](https://github.com/ethereum/execution-spec-tests/pull/1172)).
- ✨ Added a new `eest` sub-command, `eest info`, to easily print a cloned EEST repository's version and the versions of relevant tools, e.g., `python`, `uv` ([#1621](https://github.com/ethereum/execution-spec-tests/pull/1621)).
- ✨ Add `CONTRIBUTING.md` for execution-spec-tests and improve coding standards documentation ([#1604](https://github.com/ethereum/execution-spec-tests/pull/1604)).
- ✨ Add `CLAUDE.md` to help working in @ethereum/execution-spec-tests with [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) ([#1749](https://github.com/ethereum/execution-spec-tests/pull/1749)).
- ✨ Use `codespell` instead of `pyspelling` to spell-check python and markdown sources ([#1715](https://github.com/ethereum/execution-spec-tests/pull/1715)).
- 🔀 Updated from pytest 7 to [pytest 8](https://docs.pytest.org/en/stable/changelog.html#features-and-improvements), benefits include improved type hinting and hook typing, stricter mark handling, and clearer error messages for plugin and metadata development ([#1433](https://github.com/ethereum/execution-spec-tests/pull/1433)).
- 🐞 Fix bug in ported-from plugin and coverage script that made PRs fail with modified tests that contained no ported tests ([#1661](https://github.com/ethereum/execution-spec-tests/pull/1661)).
- 🔀 Refactor the `click`-based CLI interface used for pytest-based commands (`fill`, `execute`, `consume`) to make them more extensible ([#1654](https://github.com/ethereum/execution-spec-tests/pull/1654)).
- 🔀 Split `src/ethereum_test_types/types.py` into several files to improve code organization ([#1665](https://github.com/ethereum/execution-spec-tests/pull/1665)).
- ✨ Added `extract_config` command to extract genesis files used to launch clients in hive ([#1740](https://github.com/ethereum/execution-spec-tests/pull/1740)).
- ✨ Added automatic checklist generation for every EIP inside of the `tests` folder. The checklist is appended to each EIP in the documentation in the "Test Case Reference" section ([#1679](https://github.com/ethereum/execution-spec-tests/pull/1679), [#1718](https://github.com/ethereum/execution-spec-tests/pull/1718)).
- 🔀 Add macOS hive development mode workaround to the docs [#1786](https://github.com/ethereum/execution-spec-tests/pull/1786).
- 🔀 Refactor and clean up of exceptions including EOF exceptions within client specific mappers [#1803](https://github.com/ethereum/execution-spec-tests/pull/1803).
- 🔀 Rename `tests/zkevm/` to `tests/benchmark/` and replace the `zkevm` pytest mark with `benchmark` [#1804](https://github.com/ethereum/execution-spec-tests/pull/1804).
- 🔀 Add fixture comparison check to optimize coverage workflow in CI ([#1833](https://github.com/ethereum/execution-spec-tests/pull/1833)).
- 🔀 Move `TransactionType` enum from test file to proper module location in `ethereum_test_types.transaction_types` for better code organization and reusability ([#1763](https://github.com/ethereum/execution-spec-tests/pull/1673)).
- ✨ Opcode classes now validate keyword arguments and raise `ValueError` with clear error messages ([#1739](https://github.com/ethereum/execution-spec-tests/pull/1739), [#1856](https://github.com/ethereum/execution-spec-tests/pull/1856)).
- ✨ All commands (`fill`, `consume`, `execute`) now work without having to clone the repository, e.g. `uv run --with git+https://github.com/ethereum/execution-spec-tests.git consume` now works from any folder ([#1863](https://github.com/ethereum/execution-spec-tests/pull/1863)).
- 🔀 Move Prague to stable and Osaka to develop ([#1573](https://github.com/ethereum/execution-spec-tests/pull/1573)).
- ✨ Add a `pytest.mark.with_all_typed_transactions` marker that creates default typed transactions for each `tx_type` supported by the current `fork` ([#1890](https://github.com/ethereum/execution-spec-tests/pull/1890)).
- ✨ Add basic support for ``Amsterdam`` fork in order to begin testing Glamsterdam ([#2069](https://github.com/ethereum/execution-spec-tests/pull/2069)).
- ✨ [EIP-7928](https://eips.ethereum.org/EIPS/eip-7928): Add initial framework support for `Block Level Access Lists (BAL)` testing for Amsterdam ([#2067](https://github.com/ethereum/execution-spec-tests/pull/2067)).
### 🧪 Test Cases
- ✨ [BloatNet](https://bloatnet.info)/Multidimensional Metering: Add benchmarks to be used as part of the BloatNet project and also for Multidimensional Metering.
- ✨ [EIP-7951](https://eips.ethereum.org/EIPS/eip-7951): Add additional test cases for modular comparison.
- 🔀 Refactored `BLOBHASH` opcode context tests to use the `pre_alloc` plugin in order to avoid contract and EOA address collisions ([#1637](https://github.com/ethereum/execution-spec-tests/pull/1637)).
- 🔀 Refactored `SELFDESTRUCT` opcode collision tests to use the `pre_alloc` plugin in order to avoid contract and EOA address collisions ([#1643](https://github.com/ethereum/execution-spec-tests/pull/1643)).
- ✨ EIP-7594: Sanity test cases to send blob transactions and verify `engine_getBlobsVX` using the `execute` command ([#1644](https://github.com/ethereum/execution-spec-tests/pull/1644),[#1884](https://github.com/ethereum/execution-spec-tests/pull/1884)).
- 🔀 Refactored EIP-145 static tests into python ([#1683](https://github.com/ethereum/execution-spec-tests/pull/1683)).
- ✨ EIP-7823, EIP-7883: Add test cases for ModExp precompile gas-cost updates and input limits on Osaka ([#1579](https://github.com/ethereum/execution-spec-tests/pull/1579), [#1729](https://github.com/ethereum/execution-spec-tests/pull/1729), [#1881](https://github.com/ethereum/execution-spec-tests/pull/1881)).
- ✨ [EIP-7825](https://eips.ethereum.org/EIPS/eip-7825): Add test cases for the transaction gas limit of 2^24 gas ([#1711](https://github.com/ethereum/execution-spec-tests/pull/1711), [#1882](https://github.com/ethereum/execution-spec-tests/pull/1882)).
- ✨ [EIP-7951](https://eips.ethereum.org/EIPS/eip-7951): add test cases for `P256VERIFY` precompile to support secp256r1 curve [#1670](https://github.com/ethereum/execution-spec-tests/pull/1670).
- ✨ Introduce blockchain tests for benchmark to cover the scenario of pure ether transfers [#1742](https://github.com/ethereum/execution-spec-tests/pull/1742).
- ✨ [EIP-7934](https://eips.ethereum.org/EIPS/eip-7934): Add test cases for the block RLP max limit of 10MiB ([#1730](https://github.com/ethereum/execution-spec-tests/pull/1730)).
- ✨ [EIP-7939](https://eips.ethereum.org/EIPS/eip-7939): Add count leading zeros (CLZ) opcode tests for Osaka ([#1733](https://github.com/ethereum/execution-spec-tests/pull/1733)).
- ✨ [EIP-7934](https://eips.ethereum.org/EIPS/eip-7934): Add additional test cases for block RLP max limit with all typed transactions and for a log-creating transactions ([#1890](https://github.com/ethereum/execution-spec-tests/pull/1890)).
- ✨ [EIP-7825](https://eips.ethereum.org/EIPS/eip-7825): Pre-Osaka tests have been updated to either (1) dynamically adapt to the transaction gas limit cap, or (2) reduce overall gas consumption to fit the new limit ([#1924](https://github.com/ethereum/EIPs/pull/1924), [#1928](https://github.com/ethereum/EIPs/pull/1928), [#1980](https://github.com/ethereum/EIPs/pull/1980)).
- ✨ [EIP-7918](https://eips.ethereum.org/EIPS/eip-7918): Blob base fee bounded by execution cost test cases (initial), includes some adjustments to [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) tests ([#1685](https://github.com/ethereum/execution-spec-tests/pull/1685)).
- 🔀 Adds the max blob transaction limit to the tests including updates to [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) for Osaka ([#1884](https://github.com/ethereum/execution-spec-tests/pull/1884)).
- 🐞 Fix issues when filling block rlp size limit tests with ``--generate-pre-alloc-groups`` ([#1989](https://github.com/ethereum/execution-spec-tests/pull/1989)).
- ✨ [EIP-7928](https://eips.ethereum.org/EIPS/eip-7928): Add test cases for `Block Level Access Lists (BAL)` to Amsterdam ([#2067](https://github.com/ethereum/execution-spec-tests/pull/2067)).
- 🐞 Fix issues with `Block Level Access Lists (BAL)` tests for Amsterdam ([#2121](https://github.com/ethereum/execution-spec-tests/pull/2121)).
## [v4.5.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.5.0) - 2025-05-14
### 💥 Breaking Change
#### EOF removed from Osaka
Following ["Interop Testing Call 34"](https://github.com/ethereum/pm/issues/1499) and the procedural EIPs [PR](https://github.com/ethereum/EIPs/pull/9703) the decision to remove EOF from Osaka was made.
To accommodate EOF testing for the interim within EEST, its tests have migrated to a new `tests/unscheduled` folder. This folder will now contain tests for features that are not yet CFI'd in any fork. When EOF is CFI'd for a fork in the future, all tests will be moved from unscheduled to the respective future fork folder.
A new fork `EOFv1` has additionally been created to fill and consume EOF related fixtures. Client tests fillers such as `evmone` (and client consumers) will now need to use this fork name.
### 🛠️ Framework
- ✨ Add an empty account function for usage within fill and execute ([#1482](https://github.com/ethereum/execution-spec-tests/pull/1482)).
- ✨ Added `TransactionException.INTRINSIC_GAS_BELOW_FLOOR_GAS_COST` exception to specifically catch the case where the intrinsic gas cost is insufficient due to the data floor gas cost ([#1582](https://github.com/ethereum/execution-spec-tests/pull/1582)).
### 📋 Misc
- ✨ Engine API updates for Osaka, add `get_blobs` rpc method ([#1510](https://github.com/ethereum/execution-spec-tests/pull/1510)).
- ✨ The EIP Version checker has been moved from `fill` and `execute` to it's own command-line tool `check_eip_versions` that gets ran daily as a Github Action ([#1537](https://github.com/ethereum/execution-spec-tests/pull/1537)).
- 🔀 Add new `tests/unscheduled` folder, move EOF from Osaka to unscheduled, add `EOFv1` fork name for EOF tests ([#1507](https://github.com/ethereum/execution-spec-tests/pull/1507)).
- ✨ CI features now contain an optional field to skip them from EEST full releases, `benchmark` and EOF features are now feature only ([#1596](https://github.com/ethereum/execution-spec-tests/pull/1596)).
- 🐞 Don't attempt to install `solc` via `solc-select` on ARM (official Linux ARM builds of `solc` are not available at the time of writing, cf [ethereum/solidity#11351](https://github.com/ethereum/solidity/issues/11351)) and add a version sanity check ([#1556](https://github.com/ethereum/execution-spec-tests/pull/1556)).
### 🧪 Test Cases
- 🔀 Automatically apply the `benchmark` marker to all tests under `./tests/benchmark/` and `./tests/prague/eip2537_bls_12_381_precompiles/` via conftest configuration ([#1534](https://github.com/ethereum/execution-spec-tests/pull/1534)).
- ✨ Port [calldataload](https://github.com/ethereum/tests/blob/ae4791077e8fcf716136e70fe8392f1a1f1495fb/src/GeneralStateTestsFiller/VMTests/vmTests/calldatacopyFiller.yml) and [calldatasize](https://github.com/ethereum/tests/blob/81862e4848585a438d64f911a19b3825f0f4cd95/src/GeneralStateTestsFiller/VMTests/vmTests/calldatasizeFiller.yml) tests ([#1236](https://github.com/ethereum/execution-spec-tests/pull/1236)).
## [v4.4.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.4.0) - 2025-04-29
### 💥 Breaking Change
#### `fixtures_static`
A new fixture tarball has been included in this release: `fixtures_static.tar.gz`.
This tarball contains all tests inside of [`./tests/static`](https://github.com/ethereum/execution-spec-tests/tree/main/tests/static), which at this point only contains all tests copied from [`GeneralStateTests` in `ethereum/tests@7dc757ec132e372b6178a016b91f4c639f366c02`](https://github.com/ethereum/tests/tree/7dc757ec132e372b6178a016b91f4c639f366c02/src/GeneralStateTestsFiller).
The tests have been filled using the new static test filler introduced in [#1336](https://github.com/ethereum/execution-spec-tests/pull/1336), and enhanced in [#1362](https://github.com/ethereum/execution-spec-tests/pull/1362) and [#1439](https://github.com/ethereum/execution-spec-tests/pull/1439).
Users can expect that all tests currently living in [ethereum/tests](https://github.com/ethereum/tests/tree/develop/src) should eventually make its way into [`./tests/static`](https://github.com/ethereum/execution-spec-tests/tree/main/tests/static) and can rely that these tests, filled for new forks even, will be included in `fixtures_static.tar.gz`.
#### `fixtures_benchmark`
Another new fixture tarball has been included in this release: `fixtures_benchmark.tar.gz`.
Includes tests that are tailored specifically to test the execution layer proof generators.
### 🛠️ Framework
#### `fill`
- 🐞 Fix the reported fixture source URLs for the case of auto-generated tests ([#1488](https://github.com/ethereum/execution-spec-tests/pull/1488)).
#### `consume`
- 🐞 Fix the Hive commands used to reproduce test executions that are displayed in test descriptions in the Hive UI ([#1494](https://github.com/ethereum/execution-spec-tests/pull/1494)).
- 🐞 Fix consume direct fails for geth blockchain tests ([#1502](https://github.com/ethereum/execution-spec-tests/pull/1502)).
### 📋 Misc
### 🧪 Test Cases
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Test that DELEGATECALL to a 7702 target works as intended ([#1485](https://github.com/ethereum/execution-spec-tests/pull/1485)).
- ✨ [EIP-2573](https://eips.ethereum.org/EIPS/eip-2537): Includes a BLS12 point generator, alongside additional coverage many of the precompiles ([#1350](https://github.com/ethereum/execution-spec-tests/pull/1350)), ([#1505](https://github.com/ethereum/execution-spec-tests/pull/1505)).
- ✨ Add all [`GeneralStateTests` from `ethereum/tests`](https://github.com/ethereum/tests/tree/7dc757ec132e372b6178a016b91f4c639f366c02/src/GeneralStateTestsFiller) to `execution-spec-tests` located now at [tests/static/state_tests](https://github.com/ethereum/execution-spec-tests/tree/main/tests/static/state_tests) ([#1442](https://github.com/ethereum/execution-spec-tests/pull/1442)).
- ✨ [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929): Test that precompile addresses are cold/warm depending on the fork they are activated ([#1495](https://github.com/ethereum/execution-spec-tests/pull/1495)).
## [v4.3.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.3.0) - 2025-04-18
### 💥 Breaking Change
#### Consume engine strict exception checking
`consume engine` now checks exceptions returned by the execution clients in their Engine API responses, specifically in the `validationError`field of the `engine_newPayloadVX` method.
While not strictly a breaking change since tests will continue to run normally, failures are expected if a client modifies their exception messages.
This feature can be disabled by using `--disable-strict-exception-matching` for specific clients or forks.
### 🛠️ Framework
#### `fill`
- ✨ The `static_filler` plug-in now has support for static state tests (from [GeneralStateTests](https://github.com/ethereum/tests/tree/develop/src/GeneralStateTestsFiller)) ([#1362](https://github.com/ethereum/execution-spec-tests/pull/1362)).
- ✨ Introduce `pytest.mark.exception_test` to mark tests that contain an invalid transaction or block ([#1436](https://github.com/ethereum/execution-spec-tests/pull/1436)).
- 🐞 Fix `DeprecationWarning: Pickle, copy, and deepcopy support will be removed from itertools in Python 3.14.` by avoiding use `itertools` object in the spec `BaseTest` pydantic model ([#1414](https://github.com/ethereum/execution-spec-tests/pull/1414)).
- ✨ An optional configuration flag to override the maximum gas limit in the environment for filling or executing tests is now available. The `--block-gas-limit` flag overrides the default block gas limit during filling. The `--transaction-gas-limit` flag overrides the maximum for transactions during execution. ([#1470](https://github.com/ethereum/execution-spec-tests/pull/1470)).
#### `consume`
- 🐞 Fix fixture tarball downloading with regular, non-Github release URLS and with numerical versions in regular release specs, e.g., `stable@v4.2.0` ([#1437](https://github.com/ethereum/execution-spec-tests/pull/1437)).
- ✨ `consume engine` now has strict exception mapping enabled by default ([#1416](https://github.com/ethereum/execution-spec-tests/pull/1416)).
#### Tools
- 🔀 `generate_system_contract_deploy_test` test generator has been updated to handle system contracts that are not allowed to be absent when the fork happens ([#1394](https://github.com/ethereum/execution-spec-tests/pull/1394)).
- ✨ Add `generate_system_contract_error_test` to generate tests on system contracts that invalidate a block in case of error ([#1394](https://github.com/ethereum/execution-spec-tests/pull/1394)).
#### Exceptions
- ✨ `BlockException.SYSTEM_CONTRACT_EMPTY`: Raised when a required system contract was not found in the state by the time it was due to execution with a system transaction call ([#1394](https://github.com/ethereum/execution-spec-tests/pull/1394)).
- ✨ `BlockException.SYSTEM_CONTRACT_CALL_FAILED`: Raised when a system contract call made by a system transaction fails ([#1394](https://github.com/ethereum/execution-spec-tests/pull/1394)).
- ✨ `BlockException.INVALID_BLOCK_HASH`: Raised when the calculated block hash does not match the expectation (Currently only during Engine API calls) ([#1416](https://github.com/ethereum/execution-spec-tests/pull/1416)).
- ✨ `BlockException.INVALID_VERSIONED_HASHES`: Raised when a discrepancy is found between versioned hashes in the payload and the ones found in the transactions ([#1416](https://github.com/ethereum/execution-spec-tests/pull/1416)).
### 🧪 Test Cases
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Test precompile case in same transaction as delegation without extra gas in case of precompile code execution; parametrize all call opcodes in existing precompile test ([#1431](https://github.com/ethereum/execution-spec-tests/pull/1431)).
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Add invalid nonce authorizations tests for the case of multiple signers when the sender's nonce gets increased ([#1441](https://github.com/ethereum/execution-spec-tests/pull/1441)).
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702): Add a test that verifies that set code transactions are correctly rejected before Prague activation ([#1463](https://github.com/ethereum/execution-spec-tests/pull/1463)).
- ✨ [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623): Additionally parametrize transaction validity tests with the `to` set to an EOA account (previously only contracts) ([#1422](https://github.com/ethereum/execution-spec-tests/pull/1422)).
- ✨ [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Add EIP-7251 test cases for modified consolidations contract that allows more consolidations ([#1465](https://github.com/ethereum/execution-spec-tests/pull/1465)).
- ✨ [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Add extra deposit request edge cases, sending eth to the deposit contract while sending a deposit request ([#1467](https://github.com/ethereum/execution-spec-tests/pull/1467)).
- ✨ [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110): Add cases for deposit log layout and other topics (ERC-20) transfer ([#1371](https://github.com/ethereum/execution-spec-tests/pull/1371)).
- ✨ [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Remove pytest skips for consolidation request cases ([#1449](https://github.com/ethereum/execution-spec-tests/pull/1449)).
- ✨ [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002), [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Add cases to verify behavior of contracts missing at fork ([#1394](https://github.com/ethereum/execution-spec-tests/pull/1394)).
- ✨ [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002), [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251): Add cases to verify behavior of system contract errors invalidating a block ([#1394](https://github.com/ethereum/execution-spec-tests/pull/1394)).
- 🔀 Remove [EIP-7698](https://eips.ethereum.org/EIPS/eip-7698): EIP has been removed and the tests related to it have also been removed, while preserving a subset of the tests to verify that functionality is removed in clients ([#1451](https://github.com/ethereum/execution-spec-tests/pull/1451)).
### 📋 Misc
- 🐞 Configure `markdownlint` to expect an indent of 4 with unordered lists (otherwise HTML documentation is rendered incorrectly, [#1460](https://github.com/ethereum/execution-spec-tests/pull/1460)).
- 🔀 Update `eels_resolutions.json` to point to temporary commit `bb0eb750d643ced0ebf5dec732cdd23558d0b7f2`, which is based on `forks/prague` branch, commit `d9a7ee24db359aacecd636349b4f3ac95a4a6e71`, with PRs <https://github.com/ethereum/execution-specs/pull/1182>, <https://github.com/ethereum/execution-specs/pull/1183> and <https://github.com/ethereum/execution-specs/pull/1191> merged ([#1394](https://github.com/ethereum/execution-spec-tests/pull/1394)).
## [v4.2.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.2.0) - 2025-04-08
**Note**: Although not a breaking change, `consume` users should delete the cache directory (typically located at `~/.cache/ethereum-execution-spec-tests`) used to store downloaded fixture release tarballs. This release adds support for [ethereum/tests](https://github.com/ethereum/tests) and [ethereum/legacytests](https://github.com/ethereum/legacytests) fixture release downloads and the structure of the cache directory has been updated to accommodate this change.
To try this feature:
```shell
consume direct --input=https://github.com/ethereum/tests/releases/download/v17.0/fixtures_blockchain_tests.tgz
```
To determine the cache directory location, see the `--cache-folder` entry from the command:
```shell
consume cache --help
```
### 💥 Breaking Change
### 🛠️ Framework
#### `consume`
- ✨ Add support for [ethereum/tests](https://github.com/ethereum/tests) and [ethereum/legacytests](https://github.com/ethereum/legacytests) release tarball download via URL to the `--input` flag of `consume` commands ([#1306](https://github.com/ethereum/execution-spec-tests/pull/1306)).
- ✨ Add support for Nethermind's `nethtest` command to `consume direct` ([#1250](https://github.com/ethereum/execution-spec-tests/pull/1250)).
- ✨ Allow filtering of test cases by fork via pytest marks (e.g., `-m "Cancun or Prague"`) ([#1304](https://github.com/ethereum/execution-spec-tests/pull/1304), [#1318](https://github.com/ethereum/execution-spec-tests/pull/1318)).
- ✨ Allow filtering of test cases by fixture format via pytest marks (e.g., `-m blockchain_test`) ([#1314](https://github.com/ethereum/execution-spec-tests/pull/1314)).
- ✨ Add top-level entries `forks` and `fixture_formats` to the index file that list all the forks and fixture formats used in the indexed fixtures ([#1318](https://github.com/ethereum/execution-spec-tests/pull/1318)).
- ✨ Enable logging from `consume` commands ([#1361](https://github.com/ethereum/execution-spec-tests/pull/1361)).
- ✨ Propagate stdout and stderr (including logs) captured during test execution to the Hive test result ([#1361](https://github.com/ethereum/execution-spec-tests/pull/1361)).
- 🐞 Don't parametrize tests for unsupported fixture formats; improve `consume` test collection ([#1315](https://github.com/ethereum/execution-spec-tests/pull/1315)).
- 🐞 Fix the the hive command printed in test reports to reproduce tests in isolation by prefixing the `--sim.limit` flag value with `id:` ([#1333](https://github.com/ethereum/execution-spec-tests/pull/1333)).
- 🐞 Improve index generation of [ethereum/tests](https://github.com/ethereum/tests) fixtures: Allow generation at any directory level and include `generatedTestHash` in the index file for the `fixture_hash` ([#1303](https://github.com/ethereum/execution-spec-tests/pull/1303)).
- 🐞 Fix loading of [ethereum/tests](https://github.com/ethereum/tests) and [ethereum/legacytests](https://github.com/ethereum/legacytests) fixtures for the case of mixed `0x0` and `0x1` transaction types in multi-index (`data`, `gas`, `value`) state test fixtures ([#1330](https://github.com/ethereum/execution-spec-tests/pull/1330)).
- ✨ Add Osaka to the hive ruleset, includes a small ruleset refactor ([#1355](https://github.com/ethereum/execution-spec-tests/pull/1355)).
#### `fill`
- 🐞 Fix `--fork/from/until` for transition forks when using `fill` [#1311](https://github.com/ethereum/execution-spec-tests/pull/1311).
- 🐞 Fix the node id for state tests marked by transition forks ([#1313](https://github.com/ethereum/execution-spec-tests/pull/1313)).
- ✨ Add `static_filler` plug-in which allows to fill static YAML and JSON tests (from [ethereum/tests](https://github.com/ethereum/tests)) by adding flag `--fill-static-tests` to `uv run fill` ([#1336](https://github.com/ethereum/execution-spec-tests/pull/1336)).
#### `execute`
- 🔀 Test IDs have changed to include the name of the test spec where the test came from (e.g. `state_test`, `blockchain_test`, etc) ([#1367](https://github.com/ethereum/execution-spec-tests/pull/1367)).
- ✨ Markers can now be used to execute only tests from a specific test spec type (e.g. `-m state_test`, `-m blockchain_test`, etc) ([#1367](https://github.com/ethereum/execution-spec-tests/pull/1367)).
### 📋 Misc
- 🔀 Bump the version of `execution-specs` used by the framework to the package [`ethereum-execution==1.17.0rc6.dev1`](https://pypi.org/project/ethereum-execution/1.17.0rc6.dev1/); bump the version used for test fixture generation for forks < Prague to current `execution-specs` master, [fa847a0](https://github.com/ethereum/execution-specs/commit/fa847a0e48309debee8edc510ceddb2fd5db2f2e) ([#1310](https://github.com/ethereum/execution-spec-tests/pull/1310)).
- 🐞 Init `TransitionTool` in `GethTransitionTool` ([#1276](https://github.com/ethereum/execution-spec-tests/pull/1276)).
- 🔀 Refactored RLP encoding of test objects to allow automatic generation of tests ([#1359](https://github.com/ethereum/execution-spec-tests/pull/1359)).
- ✨ Document how to manage `execution-spec-tests` package dependencies ([#1388](https://github.com/ethereum/execution-spec-tests/pull/1388)).
#### Packaging
- 🐞 Fix `eest make test` when `ethereum-execution-spec-tests` is installed as a package ([#1342](https://github.com/ethereum/execution-spec-tests/pull/1342)).
- 🔀 Pin `setuptools` and `wheel` in `[build-system]`, bump `trie>=3.1` and remove `setuptools` from package dependencies ([#1345](https://github.com/ethereum/execution-spec-tests/pull/1345), [#1351](https://github.com/ethereum/execution-spec-tests/pull/1351)).
### 🧪 Test Cases
- ✨ Add additional test coverage for EIP-152 Blake2 precompiles ([#1244](https://github.com/ethereum/execution-spec-tests/pull/1244)). Refactor to add variables for spec constants and common fixture code. ([#1395](https://github.com/ethereum/execution-spec-tests/pull/1395)), ([#1405](https://github.com/ethereum/execution-spec-tests/pull/1405)).
- ✨ Add EIP-7702 incorrect-rlp-encoding tests ([#1347](https://github.com/ethereum/execution-spec-tests/pull/1347)).
- ✨ Add EIP-2935 tests for all call opcodes ([#1379](https://github.com/ethereum/execution-spec-tests/pull/1379)).
- ✨ Add more tests for EIP-7702: max-fee-per-gas verification, delegation-designation as initcode tests ([#1372](https://github.com/ethereum/execution-spec-tests/pull/1372)).
- ✨ Add converted Identity precompile tests ([#1344](https://github.com/ethereum/execution-spec-tests/pull/1344)).
## [v4.1.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.1.0) - 2025-03-11
### 💥 Breaking Changes
The following changes may be potentially breaking (all clients were tested with these changes with the state test format, but not the blockchain test format):
- 💥 Add a `yParity` field (that duplicates `v`) to transaction authorization tuples in fixture formats to have fields that conform to EIP-7702 spec, resolves [erigontech/erigon#14073](https://github.com/erigontech/erigon/issues/14073) ([#1286](https://github.com/ethereum/execution-spec-tests/pull/1286)).
- 💥 Rename the recently introduced `_info` field `fixture_format` to `fixture-format` for consistency [#1295](https://github.com/ethereum/execution-spec-tests/pull/1295).
### 🛠️ Framework
- 🔀 Make `BaseFixture` able to parse any fixture format such as `BlockchainFixture` ([#1210](https://github.com/ethereum/execution-spec-tests/pull/1210)).
- ✨ Blockchain and Blockchain-Engine tests now have a marker to specify that they were generated from a state test, which can be used with `-m blockchain_test_from_state_test` and `-m blockchain_test_engine_from_state_test` respectively ([#1220](https://github.com/ethereum/execution-spec-tests/pull/1220)).
- ✨ Blockchain and Blockchain-Engine tests that were generated from a state test now have `blockchain_test_from_state_test` or `blockchain_test_engine_from_state_test` as part of their test IDs ([#1220](https://github.com/ethereum/execution-spec-tests/pull/1220)).
- 🔀 Refactor `ethereum_test_fixtures` and `ethereum_clis` to create `FixtureConsumer` and `FixtureConsumerTool` classes which abstract away the consumption process used by `consume direct` ([#935](https://github.com/ethereum/execution-spec-tests/pull/935)).
- ✨ Allow `consume direct --collect-only` without specifying a fixture consumer binary on the command-line ([#1237](https://github.com/ethereum/execution-spec-tests/pull/1237)).
- ✨ Allow `fill --collect-only` without the need for existence of the folder `./fixtures`.
- ✨ Report the (resolved) fixture tarball URL and local fixture cache directory when `consume`'s `--input` flag is a release spec or URL ([#1239](https://github.com/ethereum/execution-spec-tests/pull/1239)).
- ✨ EOF Container validation tests (`eof_test`) now generate container deployment state tests, by wrapping the EOF container in an init-container and sending a deploy transaction ([#783](https://github.com/ethereum/execution-spec-tests/pull/783), [#1233](https://github.com/ethereum/execution-spec-tests/pull/1233)).
- ✨ Use regexes for Hive's `--sim.limit` argument and don't use xdist if `--sim.parallelism==1` in the `eest/consume-rlp` and `eest/consume-rlp` simulators ([#1220](https://github.com/ethereum/execution-spec-tests/pull/1220)).
- 🐞 Register generated test markers, e.g., `blockchain_test_from_state_test`, to prevent test session warnings ([#1238](https://github.com/ethereum/execution-spec-tests/pull/1238), [#1245](https://github.com/ethereum/execution-spec-tests/pull/1245)).
- 🐞 Zero-pad `Environment` fields passed to `t8n` tools as required by `evmone-t8n` ([#1268](https://github.com/ethereum/execution-spec-tests/pull/1268)).
### 📋 Misc
- ✨ Add a guide to the docs for porting tests from `ethereum/tests` to EEST ([#1165](https://github.com/ethereum/execution-spec-tests/pull/1165)).
- ✨ Improve the `uv run eest make test` interactive CLI to enable creation of new test modules within existing test sub-folders ([#1241](https://github.com/ethereum/execution-spec-tests/pull/1241)).
- ✨ Update `mypy` to latest release `>=1.15.0,<1.16` ([#1209](https://github.com/ethereum/execution-spec-tests/pull/1209)).
- 🐞 Bug fix for filling with EELS for certain Python versions due to an issue with CPython ([#1231](https://github.com/ethereum/execution-spec-tests/pull/1231)).
- 🐞 Fix HTML site deployment due to the site's index file exceeding Github's max file size limit ([#1292](https://github.com/ethereum/execution-spec-tests/pull/1292)).
- ✨ Update the build fixtures workflow to use multiple self-hosted runners, remove `pectra-devnet-6` feature build ([#1296](https://github.com/ethereum/execution-spec-tests/pull/1296)).
### 🧪 Test Cases
- ✨ Add gas cost of delegation access in CALL opcode ([#1208](https://github.com/ethereum/execution-spec-tests/pull/1208)).
- ✨ Add EIP-7698 failed nonce and short data tests ([#1211](https://github.com/ethereum/execution-spec-tests/pull/1211)).
- ✨ Add EIP-2537 additional pairing precompile tests cases, and then update all BLS12 test vectors ([#1275](https://github.com/ethereum/execution-spec-tests/pull/1275), [#1289](https://github.com/ethereum/execution-spec-tests/pull/1289)).
- ✨ Add EIP-7685 and EIP-7002 test cases for additional request type combinations and modified withdrawal contract that allows more withdrawals ([#1340](https://github.com/ethereum/execution-spec-tests/pull/1340)).
- ✨ Add test cases for EIP-152 Blake2 and Identity precompiles ([#1244](https://github.com/ethereum/execution-spec-tests/pull/1244)).
## [v4.0.0](https://github.com/ethereum/execution-spec-tests/releases/tag/v4.0.0) - 2025-02-14 - 💕
### 📁 Fixture Releases
- 🔀 Initially we moved old fork configured tests within stable and develop fixture releases to a separate legacy release ([#788](https://github.com/ethereum/execution-spec-tests/pull/788)).
- 🔀 This was later reverted after some client teams preferred to keep them in all in the same releases ([#1053](https://github.com/ethereum/execution-spec-tests/pull/1053)).
### 💥 Breaking Change
- ✨ Use uv for package management replacing pip ([#777](https://github.com/ethereum/execution-spec-tests/pull/777)).
- ✨ 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)).
- 🔀 Fill test fixtures using EELS by default. EEST now uses the [`ethereum-specs-evm-resolver`](https://github.com/petertdavies/ethereum-spec-evm-resolver) with the EELS daemon ([#792](https://github.com/ethereum/execution-spec-tests/pull/792)).
- 🔀 The EOF fixture format contained in `eof_tests` may now contain multiple exceptions in the `"exception"` field in the form of a pipe (`|`) separated string ([#759](https://github.com/ethereum/execution-spec-tests/pull/759)).
- 🔀 `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)).
### 🛠️ Framework
- ✨ Execute command added to run existing tests in live networks ([#](https://github.com/ethereum/execution-spec-tests/pull/1157)).
- 🐞 Fixed consume hive commands from spawning different hive test suites during the same test execution when using xdist ([#712](https://github.com/ethereum/execution-spec-tests/pull/712)).
- ✨ `consume hive` command is now available to run all types of hive tests ([#712](https://github.com/ethereum/execution-spec-tests/pull/712)).
- ✨ Generated fixtures now contain the test index `index.json` by default ([#716](https://github.com/ethereum/execution-spec-tests/pull/716)).
- ✨ A metadata folder `.meta/` now stores all fixture metadata files by default ([#721](https://github.com/ethereum/execution-spec-tests/pull/721)).
- 🐞 Fixed `fill` command index generation issue due to concurrency ([#725](https://github.com/ethereum/execution-spec-tests/pull/725)).
- ✨ Added `with_all_evm_code_types`, `with_all_call_opcodes` and `with_all_create_opcodes` markers, which allow automatic parametrization of tests to EOF ([#610](https://github.com/ethereum/execution-spec-tests/pull/610), [#739](https://github.com/ethereum/execution-spec-tests/pull/739)).
- ✨ Added `with_all_system_contracts` marker, which helps parametrize tests with all contracts that affect the chain on a system level ([#739](https://github.com/ethereum/execution-spec-tests/pull/739)).
- ✨ Code generators `Conditional` and `Switch` now support EOF by adding parameter `evm_code_type` ([#610](https://github.com/ethereum/execution-spec-tests/pull/610)).
- ✨ `fill` command now supports parameter `--evm-code-type` that can be (currently) set to `legacy` or `eof_v1` to force all test smart contracts to deployed in normal or in EOF containers ([#610](https://github.com/ethereum/execution-spec-tests/pull/610)).
- 🐞 Fixed fixture index generation on EOF tests ([#728](https://github.com/ethereum/execution-spec-tests/pull/728)).
- 🐞 Fixes consume genesis mismatch exception for hive based simulators ([#734](https://github.com/ethereum/execution-spec-tests/pull/734)).
- ✨ Adds reproducible consume commands to hiveview ([#717](https://github.com/ethereum/execution-spec-tests/pull/717)).
- 💥 Added multiple exceptions to the EOF fixture format ([#759](https://github.com/ethereum/execution-spec-tests/pull/759)).
- ✨ Added optional parameter to all `with_all_*` markers to specify a lambda function that filters the parametrized values ([#739](https://github.com/ethereum/execution-spec-tests/pull/739)).
- ✨ Added [`extend_with_defaults` utility function](https://eest.ethereum.org/main/writing_tests/writing_a_new_test/#ethereum_test_tools.utility.pytest.extend_with_defaults), which helps extend test case parameter sets with default values. `@pytest.mark.parametrize` ([#739](https://github.com/ethereum/execution-spec-tests/pull/739)).
- ✨ Added `Container.Init` to `ethereum_test_types.EOF.V1` package, which allows generation of an EOF init container more easily ([#739](https://github.com/ethereum/execution-spec-tests/pull/739)).
- ✨ Introduce method valid_opcodes() to the fork class ([#748](https://github.com/ethereum/execution-spec-tests/pull/748)).
- 🐞 Fixed `consume` exit code return values, ensuring that pytest's return value is correctly propagated to the shell. This allows the shell to accurately reflect the test results (e.g., failures) based on the pytest exit code ([#765](https://github.com/ethereum/execution-spec-tests/pull/765)).
- ✨ Added a new flag `--solc-version` to the `fill` command, which allows the user to specify the version of the Solidity compiler to use when compiling Yul source code; this version will now be automatically downloaded by `fill` via [`solc-select`](https://github.com/crytic/solc-select) ([#772](https://github.com/ethereum/execution-spec-tests/pull/772)).
- 🐞 Fix usage of multiple `@pytest.mark.with_all*` markers which shared parameters, such as `with_all_call_opcodes` and `with_all_create_opcodes` which shared `evm_code_type`, and now only parametrize compatible values ([#762](https://github.com/ethereum/execution-spec-tests/pull/762)).
- ✨ Added `selector` and `marks` fields to all `@pytest.mark.with_all*` markers, which allows passing lambda functions to select or mark specific parametrized values (see [documentation](https://eest.ethereum.org/main/writing_tests/test_markers/#covariant-marker-keyword-arguments) for more information) ([#762](https://github.com/ethereum/execution-spec-tests/pull/762)).
- ✨ Improves consume input flags for develop and stable fixture releases, fixes `--help` flag for consume ([#745](https://github.com/ethereum/execution-spec-tests/pull/745)).
- 🔀 Return exit-code from `consume` commands ([#766](https://github.com/ethereum/execution-spec-tests/pull/766)).
- 🔀 Remove duplicate EOF container tests, automatically check for duplicates ([#800](https://github.com/ethereum/execution-spec-tests/pull/800)).
- 🔀 Fix DATALOAD `pushed_stack_items` calculation ([#784](https://github.com/ethereum/execution-spec-tests/pull/784)).
- ✨ Add `evm_bytes` rename and print asm ([#844](https://github.com/ethereum/execution-spec-tests/pull/844)).
- 🔀 Use the `session_temp_folder` introduced in #824 ([#845](https://github.com/ethereum/execution-spec-tests/pull/845)).
- 🐞 Don't treat eels resolutions as a fixture ([#878](https://github.com/ethereum/execution-spec-tests/pull/878)).
- ✨ Emphasize that no tests were executed during a fill pytest session ([#887](https://github.com/ethereum/execution-spec-tests/pull/887)).
- 🔀 Move generic code from TransitionTool to a new generic base class EthereumCLI ([#894](https://github.com/ethereum/execution-spec-tests/pull/894)).
- 🐞 Fix erroneous fork mes- 🔀 Fix max stack height calculation ([#810](https://github.com/ethereum/execution-spec-tests/pull/810)).
- ✨ Add storage key hint in Storage class ([#917](https://github.com/ethereum/execution-spec-tests/pull/917)).
- ✨ Add system to verify exception strings ([#795](https://github.com/ethereum/execution-spec-tests/pull/795)).
- 🔀 Fix `FixedBytes` assignment rules ([#1010](https://github.com/ethereum/execution-spec-tests/pull/1010)).
- 🔀 Fix `Address` padding options ([#1113](https://github.com/ethereum/execution-spec-tests/pull/1113)).
- 🔀 Add `Container.expected_bytecode` optional parameter ([#737](https://github.com/ethereum/execution-spec-tests/pull/737)).
- ✨ Add support for `initcode_prefix` on EOF `Container.Init` ([#819](https://github.com/ethereum/execution-spec-tests/pull/819)).sage in pytest session header with development forks ([#806](https://github.com/ethereum/execution-spec-tests/pull/806)).
- 🐞 Fix `Conditional` code generator in EOF mode ([#821](https://github.com/ethereum/execution-spec-tests/pull/821)).
- 🔀 Ensure that `Block` objects keep track of their `fork`, for example, when the block's `rlp_modifier` is not `None` ([#854](https://github.com/ethereum/execution-spec-tests/pull/854)).
- 🔀 `ethereum_test_rpc` library has been created with what was previously `ethereum_test_tools.rpc` ([#822](https://github.com/ethereum/execution-spec-tests/pull/822)).
- ✨ Add `Wei` type to `ethereum_test_base_types` which allows parsing wei amounts from strings like "1 ether", "1000 wei", "10**2 gwei", etc ([#825](https://github.com/ethereum/execution-spec-tests/pull/825)).
- ✨ Pin EELS versions in `eels_resolutions.json` and include this file in fixture releases ([#872](https://github.com/ethereum/execution-spec-tests/pull/872)).
- 🔀 Replace `ethereum.base_types` with `ethereum-types` ([#850](https://github.com/ethereum/execution-spec-tests/pull/850)).
- 💥 Rename the `PragueEIP7692` fork to `Osaka` ([#869](https://github.com/ethereum/execution-spec-tests/pull/869)).
- ✨ Improve `fill` terminal output to emphasize that filling tests is not actually testing a client ([#807](https://github.com/ethereum/execution-spec-tests/pull/887)).
- ✨ Add the `BlockchainTestEngine` test spec type that only generates a fixture in the `EngineFixture` (`blockchain_test_engine`) format ([#888](https://github.com/ethereum/execution-spec-tests/pull/888)).
- 🔀 Move the `evm_transition_tool` package to `ethereum_clis` and derive the transition tool CL interfaces from a shared `EthereumCLI` class that can be reused for other sub-commands ([#894](https://github.com/ethereum/execution-spec-tests/pull/894)).
- ✨ Pass `state_test` property to T8N tools that support it (Only EELS at the time of merge) ([#943](https://github.com/ethereum/execution-spec-tests/pull/943)).
- ✨ Add the `eofwrap` cli used to wrap tests from `ethereum/tests` in an EOF container ([#896](https://github.com/ethereum/execution-spec-tests/pull/896)).
- 🔀 Improve gentest architecture with `EthereumTestBaseModel` and `EthereumTestRootModel` ([#901](https://github.com/ethereum/execution-spec-tests/pull/901)).
- 🔀 Migrate transaction test to `state_test` for `gentest` ([#903](https://github.com/ethereum/execution-spec-tests/pull/903)).
- 🔀 `ethereum_test_forks` forks now contain gas-calculating functions, which return the appropriate function to calculate the gas used by a transaction or memory function for the given fork ([#779](https://github.com/ethereum/execution-spec-tests/pull/779)).
- 🐞 Fix `Bytecode` class `__eq__` method ([#939](https://github.com/ethereum/execution-spec-tests/pull/939)).
- 🔀 Update `pydantic` from 2.8.2 to 2.9.2 ([#960](https://github.com/ethereum/execution-spec-tests/pull/960)).
- ✨ Add the `eest make test` command, an interactive CLI that helps users create a new test module and function ([#950](https://github.com/ethereum/execution-spec-tests/pull/950)).
- ✨ Add the `eest clean` command that helps delete generated files and directories from the repository ([#980](https://github.com/ethereum/execution-spec-tests/pull/980)).
- ✨ Add framework changes for EIP-7742, required for Prague devnet-5 ([#931](https://github.com/ethereum/execution-spec-tests/pull/931)).
- ✨ Add the `eest make env` command that generates a default env file (`env.yaml`)([#996](https://github.com/ethereum/execution-spec-tests/pull/996)).
- ✨ Generate Transaction Test type ([#933](https://github.com/ethereum/execution-spec-tests/pull/933)).
- ✨ Add a default location for evm logs (`--evm-dump-dir`) when filling tests ([#999](https://github.com/ethereum/execution-spec-tests/pull/999)).
- ✨ Slow tests now have greater timeout when making a request to the T8N server ([#1037](https://github.com/ethereum/execution-spec-tests/pull/1037)).
- ✨ Introduce [`pytest.mark.parametrize_by_fork`](https://eest.ethereum.org/main/writing_tests/test_markers/#pytestmarkfork_parametrize) helper marker ([#1019](https://github.com/ethereum/execution-spec-tests/pull/1019), [#1057](https://github.com/ethereum/execution-spec-tests/pull/1057)).
- 🐞 fix(consume): allow absolute paths with `--evm-bin` ([#1052](https://github.com/ethereum/execution-spec-tests/pull/1052)).
- ✨ Disable EIP-7742 framework changes for Prague ([#1023](https://github.com/ethereum/execution-spec-tests/pull/1023)).
- ✨ Allow verification of the transaction receipt on executed test transactions ([#1068](https://github.com/ethereum/execution-spec-tests/pull/1068)).
- ✨ Modify `valid_at_transition_to` marker to add keyword arguments `subsequent_transitions` and `until` to fill a test using multiple transition forks ([#1081](https://github.com/ethereum/execution-spec-tests/pull/1081)).
- 🐞 fix(consume): use `"HIVE_CHECK_LIVE_PORT"` to signal hive to wait for port 8551 (Engine API port) instead of the 8545 port when running `consume engine` ([#1095](https://github.com/ethereum/execution-spec-tests/pull/1095)).
- ✨ `state_test`, `blockchain_test` and `blockchain_test_engine` fixtures now contain the `blobSchedule` from [EIP-7840](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7840.md), only for tests filled for Cancun and Prague forks ([#1040](https://github.com/ethereum/execution-spec-tests/pull/1040)).
- 🔀 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 `<RELEASE_NAME>@<RELEASE_VERSION>` ([#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)).
- ✨ Add tests for blockchain intermediate state verification ([#1075](https://github.com/ethereum/execution-spec-tests/pull/1075)).
- ✨ Add Interactive CLI input functionality ([#947](https://github.com/ethereum/execution-spec-tests/pull/947)).
- 🔀 Rename `EOFTest.data` to `EOFTest.container` with rebase of `EOFStateTest` ([#1145](https://github.com/ethereum/execution-spec-tests/pull/1145)).
- ✨ Turn on `--traces` for EELS + `ethereum-specs-evm-resolver` ([#1174](https://github.com/ethereum/execution-spec-tests/pull/1174)).
### 📋 Misc
- ✨ Feature releases can now include multiple types of fixture tarball files from different releases that start with the same prefix ([#736](https://github.com/ethereum/execution-spec-tests/pull/736)).
- ✨ Releases for feature eip7692 now include both Cancun and Prague based tests in the same release, in files `fixtures_eip7692.tar.gz` and `fixtures_eip7692-prague.tar.gz` respectively ([#743](https://github.com/ethereum/execution-spec-tests/pull/743)).
✨ Re-write the test case reference doc flow as a pytest plugin and add pages for test functions with a table providing an overview of their parametrized test cases ([#801](https://github.com/ethereum/execution-spec-tests/pull/801), [#842](https://github.com/ethereum/execution-spec-tests/pull/842)).
- 🔀 Simplify Python project configuration and consolidate it into `pyproject.toml` ([#764](https://github.com/ethereum/execution-spec-tests/pull/764)).
- ✨ Add dev docs to help using nectos/act ([#776](https://github.com/ethereum/execution-spec-tests/pull/776)).
- 🔀 Update `uv.lock` for updated solc deps ([#782](https://github.com/ethereum/execution-spec-tests/pull/782)).
- ✨ Enable coverage on any test change ([#790](https://github.com/ethereum/execution-spec-tests/pull/790)).
- 🔀 Created `pytest_plugins.concurrency` plugin to sync multiple `xdist` processes without using a command flag to specify the temporary working folder ([#824](https://github.com/ethereum/execution-spec-tests/pull/824)).
- 🔀 Move pytest plugin `pytest_plugins.filler.solc` to `pytest_plugins.solc.solc` ([#823](https://github.com/ethereum/execution-spec-tests/pull/823)).
- 🔀 Remove `formats.py`, embed properties as class vars ([#826](https://github.com/ethereum/execution-spec-tests/pull/826)).
- ✨ Add `build-evm-base` to docs deploy workflows ([#829](https://github.com/ethereum/execution-spec-tests/pull/829)).
- 🔀 Add links to the online test case docs in the EOF tracker ([#838](https://github.com/ethereum/execution-spec-tests/pull/838)).
- 🔀 Fix miscellaneous improvements to troubleshooting, navigation, styling ([#840](https://github.com/ethereum/execution-spec-tests/pull/840)).
- ✨ Include all parameters in test parameter datatables ([#842](https://github.com/ethereum/execution-spec-tests/pull/842)).
- ✨ Add info about ripemd160 & update running actions locally ([#847](https://github.com/ethereum/execution-spec-tests/pull/847)).
- ✨ Add `SECURITY.md` describing how to report vulnerabilities ([#848](https://github.com/ethereum/execution-spec-tests/pull/848)).
- 🔀 Change image from ubuntu-24.04 to ubuntu-latest in CI ([#855](https://github.com/ethereum/execution-spec-tests/pull/855)).
- 🐞 Asserts that the deploy docs tags workflow is only triggered for full releases ([#857](https://github.com/ethereum/execution-spec-tests/pull/857)).
- 🐞 Fix deploy docs tags workflow trigger ([#858](https://github.com/ethereum/execution-spec-tests/pull/858)).
- ✨ A new application-wide configuration manager provides access to environment and application configurations. ([#892](https://github.com/ethereum/execution-spec-tests/pull/892)).
- 🔀 Update the developer docs navigation ([#898](https://github.com/ethereum/execution-spec-tests/pull/898)).
- 🔀 Use jinja2 templating in `gentest` ([#900](https://github.com/ethereum/execution-spec-tests/pull/900)).
- ✨ Fix/add test github actions locally page ([#909](https://github.com/ethereum/execution-spec-tests/pull/909)).
- 🐞 Fix print fill output in coverage workflow on errors ([#919](https://github.com/ethereum/execution-spec-tests/pull/919)).
- 🐞 Use a local version of ethereum/execution-specs (EELS) when running the framework tests in CI ([#997](https://github.com/ethereum/execution-spec-tests/pull/997)).
- ✨ Use self-hosted runners for fixture building in CI ([#1051](https://github.com/ethereum/execution-spec-tests/pull/1051)).
- ✨ Release tarballs now contain fixtures filled for all forks, not only the fork under active development and the fork currently deployed on mainnet ([#1053](https://github.com/ethereum/execution-spec-tests/pull/1053)).
- ✨ `StateTest` fixture format now contains `state` field in each network post result, containing the decoded post allocation that results from the transaction execution ([#1064](https://github.com/ethereum/execution-spec-tests/pull/1064)).
- ✨ Include EELS fork resolution information in filled json test fixtures ([#1123](https://github.com/ethereum/execution-spec-tests/pull/1123)).
- 🔀 Updates ruff from version 0.8.2 to 0.9.4 ([#1168](https://github.com/ethereum/execution-spec-tests/pull/1168)).
- 🔀 Update `uv.lock` to be compatible with `uv>=0.5.22` ([#1178](https://github.com/ethereum/execution-spec-tests/pull/1178)).
- 🔀 Update `mypy` from version `0.991` to `1.15` ([#1209](https://github.com/ethereum/execution-spec-tests/pull/1209)).
### 🧪 Test Cases
- ✨ Migrate validation tests `EIP3540/validInvalidFiller.yml` ([#598](https://github.com/ethereum/execution-spec-tests/pull/598)).
- ✨ EIP-4844 test `tests/cancun/eip4844_blobs/test_point_evaluation_precompile.py` includes an EOF test case ([#610](https://github.com/ethereum/execution-spec-tests/pull/610)).
- ✨ Example test `tests/frontier/opcodes/test_dup.py` now includes EOF parametrization ([#610](https://github.com/ethereum/execution-spec-tests/pull/610)).
- ✨ Add EOFv1 function test - Call simple contract test ([#695](https://github.com/ethereum/execution-spec-tests/pull/695)).
- ✨ Add section size validation tests ([#705](https://github.com/ethereum/execution-spec-tests/pull/705)).
- ✨ Add deep and wide EOF subcontainers tests ([#718](https://github.com/ethereum/execution-spec-tests/pull/718)).
- ✨ Update [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) tests for Devnet-3 ([#733](https://github.com/ethereum/execution-spec-tests/pull/733)).
- ✨ Migrate "valid" EOFCREATE validation ([#738](https://github.com/ethereum/execution-spec-tests/pull/738)).
- ✨ Migrate tests for truncated sections ([#740](https://github.com/ethereum/execution-spec-tests/pull/740)).
- ✨ Add out of order container section test ([#741](https://github.com/ethereum/execution-spec-tests/pull/741)).
- ✨ Convert all opcodes validation test `tests/frontier/opcodes/test_all_opcodes.py` ([#748](https://github.com/ethereum/execution-spec-tests/pull/748)).
- 🔀 Add Test types with 128 inputs ([#749](https://github.com/ethereum/execution-spec-tests/pull/749)).
- 🔀 Use new marker to EOF-ize MCOPY test ([#754](https://github.com/ethereum/execution-spec-tests/pull/754)).
- ✨ Add EOF Tests from Fuzzing ([#756](https://github.com/ethereum/execution-spec-tests/pull/756)).
- ✨ Add embedded container tests ([#763](https://github.com/ethereum/execution-spec-tests/pull/763)).
- ✨ Validate EOF only opcodes are invalid in legacy ([#768](https://github.com/ethereum/execution-spec-tests/pull/768)).
- ✨ Update EOF tracker, add unimplemented tests ([#773](https://github.com/ethereum/execution-spec-tests/pull/773)).
- ✨ Add EIP-7620 EOFCREATE gas tests ([#785](https://github.com/ethereum/execution-spec-tests/pull/785)).
- ✨ Add more fuzzing discovered EOF tests ([#789](https://github.com/ethereum/execution-spec-tests/pull/789)).
- ✨ Add EOF tests for invalid non-returning sections ([#794](https://github.com/ethereum/execution-spec-tests/pull/794)).
- ✨ Test to ensure transient storage is cleared after transactions ([#798](https://github.com/ethereum/execution-spec-tests/pull/798)).
- ✨ Test that transient storage stays at correct address ([#799](https://github.com/ethereum/execution-spec-tests/pull/799)).
- ✨ Add EOFCREATE referencing the same subcontainer twice test ([#809](https://github.com/ethereum/execution-spec-tests/pull/809)).
- ✨ Add dangling data in subcontainer test ([#812](https://github.com/ethereum/execution-spec-tests/pull/812)).
- 🐞 Fix [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702)+EOF tests due to incorrect test expectations and faulty `Conditional` test generator in EOF mode ([#821](https://github.com/ethereum/execution-spec-tests/pull/821)).
- 🐞 Fix TSTORE EOF variant test ([#831](https://github.com/ethereum/execution-spec-tests/pull/831)).
- 🔀 Unify EOF return code constants ([#834](https://github.com/ethereum/execution-spec-tests/pull/834)).
- ✨ Add RJUMP* vs CALLF tests ([#833](https://github.com/ethereum/execution-spec-tests/pull/833)).
- ✨ Add tests to clarify "non-returning instruction" ([#837](https://github.com/ethereum/execution-spec-tests/pull/837)).
- ✨ Add double RJUMPI stack validation tests ([#851](https://github.com/ethereum/execution-spec-tests/pull/851)).
- ✨ Add unreachable code sections tests ([#856](https://github.com/ethereum/execution-spec-tests/pull/856)).
- 💥 `PragueEIP7692` fork in tests has been updated to `Osaka` ([#869](https://github.com/ethereum/execution-spec-tests/pull/869)).
- ✨ Update [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110), [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002), [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251), [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685), and [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) tests for Devnet-4 ([#832](https://github.com/ethereum/execution-spec-tests/pull/832)).
- ✨ Add EIP-7069 and EIP-7620 failures and context vars tests ([#836](https://github.com/ethereum/execution-spec-tests/pull/836)).
- ✨ Add EOF EIP-4750 Stack validation in CALLF test ([#889](https://github.com/ethereum/execution-spec-tests/pull/889)).
- ✨ Add stack overflow by rule check to JUMPF tests ([#902](https://github.com/ethereum/execution-spec-tests/pull/902)).
- 🐞 Fix erroneous test with`CALLF` rule bug ([#907](https://github.com/ethereum/execution-spec-tests/pull/907)).
- ✨ Add test for EXTDELEGATECALL value cost ([#911](https://github.com/ethereum/execution-spec-tests/pull/911)).
- ✨ Add basic EOF execution tests ([#912](https://github.com/ethereum/execution-spec-tests/pull/912)).
- ✨ Add parametrized CALLF execution tests ([#913](https://github.com/ethereum/execution-spec-tests/pull/913)).
- ✨ Add CALLF execution tests ([#914](https://github.com/ethereum/execution-spec-tests/pull/914)).
- ✨ Add fibonacci and factorial CALLF tests ([#915](https://github.com/ethereum/execution-spec-tests/pull/915)).
- ✨ Add RJUMP* execution tests ([#916](https://github.com/ethereum/execution-spec-tests/pull/916)).
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) many delegations test ([#923](https://github.com/ethereum/execution-spec-tests/pull/923)).
- ✨ Add opcode validation tests ([#932](https://github.com/ethereum/execution-spec-tests/pull/932)).
- ✨ Add RJUMPI with JUMPF tests ([#928](https://github.com/ethereum/execution-spec-tests/pull/928)).
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) set code of non-empty-storage account test ([#948](https://github.com/ethereum/execution-spec-tests/pull/948)).
- ✨ Add PUSH* opcode tests ([#975](https://github.com/ethereum/execution-spec-tests/pull/975)).
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) implement 7702 test ideas ([#981](https://github.com/ethereum/execution-spec-tests/pull/981)).
- ✨ [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Remove delegation behavior of EXTCODE* ([#984](https://github.com/ethereum/execution-spec-tests/pull/984)).
- ✨ Add EIP-7620 RETURNCONTRACT behavior verification test ([#1109](https://github.com/ethereum/execution-spec-tests/pull/1109)).
- ✨ Add EIP-7069 p256verify EOF calls tests ([#1021](https://github.com/ethereum/execution-spec-tests/pull/1021)).
- ✨ Add EIP-7480 DATACOPY edge cases tests ([#1020](https://github.com/ethereum/execution-spec-tests/pull/1020)).
- ✨ Add EIP-7069 EXTCALL creation gas charge tests ([#1025](https://github.com/ethereum/execution-spec-tests/pull/1025)).
- ✨ Add generic precompile-absence test ([#1036](https://github.com/ethereum/execution-spec-tests/pull/1036)).
- ✨ Add test for [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) which uses the full discount table of G2 MSM ([#1038](https://github.com/ethereum/execution-spec-tests/pull/1038)).
- ✨ [EIP-7691](https://eips.ethereum.org/EIPS/eip-7691) Blob throughput increase tests by parametrization of existing EIP-4844 tests ([#1023](https://github.com/ethereum/execution-spec-tests/pull/1023), [#1082](https://github.com/ethereum/execution-spec-tests/pull/1082)).
- ✨ Port [calldatacopy test](https://github.com/ethereum/tests/blob/ae4791077e8fcf716136e70fe8392f1a1f1495fb/src/GeneralStateTestsFiller/VMTests/vmTests/calldatacopyFiller.yml) ([#1056](https://github.com/ethereum/execution-spec-tests/pull/1056)).
- ✨ [EIP-7623](https://eips.ethereum.org/EIPS/eip-7623) Increase calldata cost ([#1004](https://github.com/ethereum/execution-spec-tests/pull/1004), [#1071](https://github.com/ethereum/execution-spec-tests/pull/1071)).
- ✨ Add CALLF invalid section index tests ([#1111](https://github.com/ethereum/execution-spec-tests/pull/1111)).
- ✨ Add JUMPF invalid section index tests ([#1112](https://github.com/ethereum/execution-spec-tests/pull/1112)).
- ✨ Add CALLF truncated immediate bytes tests ([#1114](https://github.com/ethereum/execution-spec-tests/pull/1114)).
- ✨ [EIP-152](https://eips.ethereum.org/EIPS/eip-152) Add tests for Blake2 compression function `F` precompile ([#1067](https://github.com/ethereum/execution-spec-tests/pull/1067)).
- ✨ Add CALLF non-returning section tests ([#1126](https://github.com/ethereum/execution-spec-tests/pull/1126)).
- ✨ Add DATALOADN truncated immediate bytes tests ([#1127](https://github.com/ethereum/execution-spec-tests/pull/1127)).
- 🔀 Update EIP-7702 test expectations according to [spec updates](https://github.com/ethereum/EIPs/pull/9248) ([#1129](https://github.com/ethereum/execution-spec-tests/pull/1129)).
- ✨ Add tests for CALLF and non-returning ([#1140](https://github.com/ethereum/execution-spec-tests/pull/1140)).
- 🔀 Update EIP-7251 according to spec updates [#9127](https://github.com/ethereum/EIPs/pull/9127), [#9289](https://github.com/ethereum/EIPs/pull/9289) ([#1024](https://github.com/ethereum/execution-spec-tests/pull/1024), [#1155](https://github.com/ethereum/execution-spec-tests/pull/1155)).
- 🔀 Update EIP-7002 according to spec updates [#9119](https://github.com/ethereum/EIPs/pull/9119), [#9288](https://github.com/ethereum/EIPs/pull/9288)
Showing preview only (223K chars total). Download the full file or copy to clipboard to get everything.
gitextract_fhedyb34/ ├── .git-blame-ignore-revs ├── .github/ │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ ├── build-evm-base/ │ │ │ └── action.yaml │ │ ├── build-evm-client/ │ │ │ ├── besu/ │ │ │ │ └── action.yaml │ │ │ ├── ethjs/ │ │ │ │ └── action.yml │ │ │ ├── evmone/ │ │ │ │ └── action.yaml │ │ │ └── geth/ │ │ │ └── action.yaml │ │ ├── build-fixtures/ │ │ │ └── action.yaml │ │ └── fetch-binary/ │ │ └── action.yaml │ ├── configs/ │ │ ├── eels_resolutions.json │ │ ├── evm-impl.yaml │ │ ├── evm.yaml │ │ └── feature.yaml │ ├── scripts/ │ │ ├── fill_introduced_tests.sh │ │ ├── fill_prepatched_tests.sh │ │ ├── generate_eip_report.py │ │ ├── get_release_props.py │ │ └── parse_ported_tests.sh │ └── workflows/ │ ├── check_eip_versions.yaml │ ├── check_links.yml │ ├── coverage.yaml │ ├── docs_deploy.yaml │ ├── fixtures.yaml │ ├── fixtures_feature.yaml │ └── tox_verify.yaml ├── .gitignore ├── .lycheeignore ├── .markdownlint.yaml ├── .pre-commit-config.yaml ├── .pyspelling.yml ├── .readthedocs.yaml ├── .vscode/ │ ├── extensions.json │ ├── launch.recommended.json │ └── settings.json ├── CLAUDE.md ├── CONTRIBUTING.md ├── HUMANS.md ├── LICENSE ├── README.md ├── SECURITY.md ├── docs/ │ ├── CHANGELOG.md │ ├── changelog_section_template.md │ ├── dev/ │ │ ├── coding_style.md │ │ ├── configurations.md │ │ ├── deps_and_packaging.md │ │ ├── docs.md │ │ ├── documenting_clis.md │ │ ├── index.md │ │ ├── interactive_usage.md │ │ ├── logging.md │ │ ├── precommit.md │ │ └── test_actions_locally.md │ ├── filling_tests/ │ │ ├── debugging_t8n_tools.md │ │ ├── filling_tests_command_line.md │ │ ├── filling_tests_dev_fork.md │ │ ├── filling_tests_vs_code.md │ │ ├── getting_started.md │ │ ├── img/ │ │ │ ├── vs_code_executing_tests.kra │ │ │ └── vs_code_exploring_tests.kra │ │ ├── index.md │ │ ├── test_ids.md │ │ └── transition_tool_support.md │ ├── getting_started/ │ │ ├── code_standards.md │ │ ├── code_standards_details.md │ │ ├── getting_help.md │ │ ├── installation.md │ │ ├── installation_troubleshooting.md │ │ ├── repository_overview.md │ │ └── setup_vs_code.md │ ├── index.md │ ├── javascripts/ │ │ └── site.js │ ├── library/ │ │ ├── cli/ │ │ │ ├── eest.md │ │ │ ├── evm_bytes.md │ │ │ ├── extract_config.md │ │ │ └── index.md │ │ ├── ethereum_clis.md │ │ ├── ethereum_test_base_types.md │ │ ├── ethereum_test_exceptions.md │ │ ├── ethereum_test_fixtures.md │ │ ├── ethereum_test_forks.md │ │ ├── ethereum_test_specs.md │ │ ├── ethereum_test_tools.md │ │ ├── ethereum_test_types.md │ │ ├── ethereum_test_vm.md │ │ ├── index.md │ │ └── pytest_plugins/ │ │ ├── filler.md │ │ ├── forks.md │ │ ├── index.md │ │ └── spec_version_checker.md │ ├── navigation.md │ ├── running_tests/ │ │ ├── consume/ │ │ │ ├── cache.md │ │ │ ├── direct.md │ │ │ ├── exceptions.md │ │ │ ├── index.md │ │ │ └── simulators.md │ │ ├── execute/ │ │ │ ├── eth_config.md │ │ │ ├── hive.md │ │ │ ├── index.md │ │ │ ├── remote.md │ │ │ └── transaction_metadata.md │ │ ├── hive/ │ │ │ ├── ci_integration.md │ │ │ ├── client_config.md │ │ │ ├── common_options.md │ │ │ ├── dev_mode.md │ │ │ ├── hiveview.md │ │ │ └── index.md │ │ ├── index.md │ │ ├── releases.md │ │ ├── running.md │ │ ├── test_formats/ │ │ │ ├── blockchain_test.md │ │ │ ├── blockchain_test_engine.md │ │ │ ├── blockchain_test_engine_x.md │ │ │ ├── blockchain_test_sync.md │ │ │ ├── common_types.md │ │ │ ├── exceptions.md │ │ │ ├── index.md │ │ │ ├── state_test.md │ │ │ └── transaction_test.md │ │ └── useful_pytest_options.md │ ├── scripts/ │ │ ├── copy_repo_docs_to_mkdocs.py │ │ ├── gen_test_case_reference.py │ │ └── generate_fill_help.py │ ├── stylesheets/ │ │ └── custom.css │ ├── templates/ │ │ ├── base.md.j2 │ │ ├── directory.md.j2 │ │ ├── function.html.j2 │ │ ├── function.md.j2 │ │ ├── function_parameter_datatable.html.j2 │ │ ├── markdown_header.md.j2 │ │ └── module.md.j2 │ └── writing_tests/ │ ├── adding_a_new_test.md │ ├── benchmarks.md │ ├── checklist_templates/ │ │ ├── eip_testing_checklist_template.md │ │ └── index.md │ ├── code_standards.md │ ├── eip_checklist.md │ ├── exception_tests.md │ ├── fork_methods.md │ ├── fuzzer_bridge.md │ ├── gas_optimization.md │ ├── index.md │ ├── porting_legacy_tests.md │ ├── post_mortems.md │ ├── reference_specification.md │ ├── test_markers.md │ ├── tutorials/ │ │ ├── blockchain.md │ │ └── state_transition.md │ ├── types_of_tests.md │ ├── verifying_changes.md │ └── writing_a_new_test.md ├── mkdocs.yml ├── pyproject.toml ├── pyrightconfig.json ├── scripts/ │ └── convert_addresses.py ├── src/ │ ├── cli/ │ │ ├── __init__.py │ │ ├── check_fixtures.py │ │ ├── compare_fixtures.py │ │ ├── diff_opcode_counts.py │ │ ├── eest/ │ │ │ ├── __init__.py │ │ │ ├── cli.py │ │ │ ├── commands/ │ │ │ │ ├── __init__.py │ │ │ │ ├── clean.py │ │ │ │ └── info.py │ │ │ ├── make/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cli.py │ │ │ │ ├── commands/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── env.py │ │ │ │ │ └── test.py │ │ │ │ └── templates/ │ │ │ │ ├── blockchain_test.py.j2 │ │ │ │ └── state_test.py.j2 │ │ │ └── quotes.py │ │ ├── eofwrap.py │ │ ├── evm_bytes.py │ │ ├── extract_config.py │ │ ├── fillerconvert/ │ │ │ ├── fillerconvert.py │ │ │ └── verify_filled.py │ │ ├── fuzzer_bridge/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── blocktest_builder.py │ │ │ ├── cli.py │ │ │ ├── converter.py │ │ │ ├── examples/ │ │ │ │ ├── README.md │ │ │ │ ├── comprehensive_large.json │ │ │ │ ├── comprehensive_largest.json │ │ │ │ ├── comprehensive_medium_1.json │ │ │ │ ├── comprehensive_medium_2.json │ │ │ │ └── comprehensive_smallest.json │ │ │ ├── models.py │ │ │ ├── performance_utils.py │ │ │ └── production_test.py │ │ ├── gen_index.py │ │ ├── generate_checklist_stubs.py │ │ ├── gentest/ │ │ │ ├── __init__.py │ │ │ ├── cli.py │ │ │ ├── request_manager.py │ │ │ ├── source_code_generator.py │ │ │ ├── templates/ │ │ │ │ └── blockchain_test/ │ │ │ │ └── transaction.py.j2 │ │ │ ├── test_context_providers.py │ │ │ ├── test_providers.py │ │ │ └── tests/ │ │ │ ├── __init__.py │ │ │ └── test_cli.py │ │ ├── hasher.py │ │ ├── input/ │ │ │ ├── __init__.py │ │ │ ├── input_repository.py │ │ │ └── questionary_input_repository.py │ │ ├── modify_static_test_gas_limits.py │ │ ├── order_fixtures.py │ │ ├── pytest_commands/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── check_eip_versions.py │ │ │ ├── checklist.py │ │ │ ├── consume.py │ │ │ ├── execute.py │ │ │ ├── fill.py │ │ │ ├── processors.py │ │ │ ├── pytest_ini_files/ │ │ │ │ ├── pytest-check-eip-versions.ini │ │ │ │ ├── pytest-consume.ini │ │ │ │ ├── pytest-execute-eth-config.ini │ │ │ │ ├── pytest-execute-hive.ini │ │ │ │ ├── pytest-execute-recover.ini │ │ │ │ ├── pytest-execute.ini │ │ │ │ └── pytest-fill.ini │ │ │ └── watcher.py │ │ ├── show_pre_alloc_group_stats.py │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ ├── test_eofwrap.py │ │ │ ├── test_evm_bytes.py │ │ │ ├── test_fuzzer_bridge.py │ │ │ ├── test_generate_all_formats.py │ │ │ ├── test_order_fixtures.py │ │ │ ├── test_pytest_execute_command.py │ │ │ ├── test_pytest_fill_command.py │ │ │ └── vectors/ │ │ │ ├── fuzzer_test_0.json │ │ │ ├── fuzzer_test_1.json │ │ │ ├── fuzzer_test_2.json │ │ │ ├── fuzzer_test_3.json │ │ │ └── fuzzer_test_4.json │ │ └── tox_helpers.py │ ├── config/ │ │ ├── __init__.py │ │ ├── app.py │ │ ├── check_eip_versions.py │ │ ├── docs.py │ │ ├── env.py │ │ └── templates/ │ │ └── env.yaml.j2 │ ├── conftest.py │ ├── ethereum_clis/ │ │ ├── __init__.py │ │ ├── cli_types.py │ │ ├── clis/ │ │ │ ├── __init__.py │ │ │ ├── besu.py │ │ │ ├── erigon.py │ │ │ ├── ethereumjs.py │ │ │ ├── ethrex.py │ │ │ ├── evmone.py │ │ │ ├── execution_specs.py │ │ │ ├── geth.py │ │ │ ├── nethermind.py │ │ │ ├── nimbus.py │ │ │ └── reth.py │ │ ├── ethereum_cli.py │ │ ├── file_utils.py │ │ ├── fixture_consumer_tool.py │ │ ├── py.typed │ │ ├── tests/ │ │ │ ├── test_execution_specs.py │ │ │ ├── test_transition_tool.py │ │ │ └── test_transition_tools_support.py │ │ └── transition_tool.py │ ├── ethereum_test_base_types/ │ │ ├── __init__.py │ │ ├── base_types.py │ │ ├── base_types_json.py │ │ ├── composite_types.py │ │ ├── constants.py │ │ ├── conversions.py │ │ ├── mixins.py │ │ ├── py.typed │ │ ├── pydantic.py │ │ ├── reference_spec/ │ │ │ ├── __init__.py │ │ │ ├── git_reference_spec.py │ │ │ └── reference_spec.py │ │ ├── serialization.py │ │ └── tests/ │ │ ├── __init__.py │ │ ├── test_base_types.py │ │ └── test_reference_spec.py │ ├── ethereum_test_benchmark/ │ │ ├── __init__.py │ │ └── benchmark_code_generator.py │ ├── ethereum_test_checklists/ │ │ ├── __init__.py │ │ ├── eip_checklist.py │ │ ├── eip_checklist.pyi │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_checklist_template_consistency.py │ ├── ethereum_test_exceptions/ │ │ ├── __init__.py │ │ ├── engine_api.py │ │ ├── exception_mapper.py │ │ ├── exceptions/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── block.py │ │ │ ├── eof.py │ │ │ ├── exceptions_types.py │ │ │ └── transaction.py │ │ ├── exceptions.py │ │ ├── py.typed │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_exceptions.py │ ├── ethereum_test_execution/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── blob_transaction.py │ │ └── transaction_post.py │ ├── ethereum_test_fixtures/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── blockchain.py │ │ ├── collector.py │ │ ├── common.py │ │ ├── consume.py │ │ ├── eof.py │ │ ├── file.py │ │ ├── pre_alloc_groups.py │ │ ├── py.typed │ │ ├── state.py │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ ├── test_base.py │ │ │ ├── test_blockchain.py │ │ │ ├── test_eof.py │ │ │ └── test_state.py │ │ └── transaction.py │ ├── ethereum_test_forks/ │ │ ├── __init__.py │ │ ├── base_decorators.py │ │ ├── base_fork.py │ │ ├── forks/ │ │ │ ├── __init__.py │ │ │ ├── forks.py │ │ │ ├── helpers.py │ │ │ └── transition.py │ │ ├── gas_costs.py │ │ ├── helpers.py │ │ ├── py.typed │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ ├── test_fork_range_descriptor.py │ │ │ └── test_forks.py │ │ └── transition_base_fork.py │ ├── ethereum_test_rpc/ │ │ ├── __init__.py │ │ ├── rpc.py │ │ ├── rpc_types.py │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_types.py │ ├── ethereum_test_specs/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── base_static.py │ │ ├── benchmark.py │ │ ├── blobs.py │ │ ├── blockchain.py │ │ ├── debugging.py │ │ ├── eof.py │ │ ├── helpers.py │ │ ├── py.typed │ │ ├── state.py │ │ ├── static_state/ │ │ │ ├── __init__.py │ │ │ ├── account.py │ │ │ ├── common/ │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── compile_yul.py │ │ │ │ └── tags.py │ │ │ ├── environment.py │ │ │ ├── expect_section.py │ │ │ ├── general_transaction.py │ │ │ └── state_static.py │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ ├── helpers.py │ │ │ ├── test_benchmark.py │ │ │ ├── test_expect.py │ │ │ ├── test_fixtures.py │ │ │ ├── test_transaction.py │ │ │ └── test_types.py │ │ └── transaction.py │ ├── ethereum_test_tools/ │ │ ├── __init__.py │ │ ├── py.typed │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ └── test_code.py │ │ ├── tools_code/ │ │ │ ├── __init__.py │ │ │ ├── generators.py │ │ │ └── yul.py │ │ └── utility/ │ │ ├── __init__.py │ │ ├── generators.py │ │ ├── pytest.py │ │ ├── tests/ │ │ │ └── test_pytest.py │ │ └── versioning.py │ ├── ethereum_test_types/ │ │ ├── __init__.py │ │ ├── account_types.py │ │ ├── blob_types.py │ │ ├── block_access_list/ │ │ │ ├── __init__.py │ │ │ ├── account_absent_values.py │ │ │ ├── account_changes.py │ │ │ ├── exceptions.py │ │ │ ├── expectations.py │ │ │ ├── modifiers.py │ │ │ └── t8n.py │ │ ├── block_types.py │ │ ├── chain_config_types.py │ │ ├── eof/ │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ └── v1/ │ │ │ ├── __init__.py │ │ │ └── constants.py │ │ ├── helpers.py │ │ ├── kzg_trusted_setup.txt │ │ ├── phase_manager.py │ │ ├── py.typed │ │ ├── receipt_types.py │ │ ├── request_types.py │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ ├── test_blob_types.py │ │ │ ├── test_block_access_lists.py │ │ │ ├── test_eof_v1.py │ │ │ ├── test_helpers.py │ │ │ ├── test_phase_manager.py │ │ │ ├── test_post_alloc.py │ │ │ ├── test_transactions.py │ │ │ └── test_types.py │ │ ├── transaction_types.py │ │ ├── trie.py │ │ └── utils.py │ ├── ethereum_test_vm/ │ │ ├── __init__.py │ │ ├── bytecode.py │ │ ├── evm_types.py │ │ ├── helpers.py │ │ ├── opcodes.py │ │ ├── py.typed │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_vm.py │ └── pytest_plugins/ │ ├── __init__.py │ ├── concurrency.py │ ├── consume/ │ │ ├── __init__.py │ │ ├── consume.py │ │ ├── direct/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ └── test_via_direct.py │ │ ├── hive_engine_test/ │ │ │ └── __init__.py │ │ ├── hive_simulators_reorg/ │ │ │ └── __init__.py │ │ ├── releases.py │ │ ├── simulators/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── engine/ │ │ │ │ ├── __init__.py │ │ │ │ └── conftest.py │ │ │ ├── exceptions.py │ │ │ ├── helpers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── ruleset.py │ │ │ │ └── timing.py │ │ │ ├── rlp/ │ │ │ │ ├── __init__.py │ │ │ │ └── conftest.py │ │ │ ├── simulator_logic/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_via_engine.py │ │ │ │ ├── test_via_rlp.py │ │ │ │ └── test_via_sync.py │ │ │ ├── single_test_client.py │ │ │ ├── sync/ │ │ │ │ ├── __init__.py │ │ │ │ └── conftest.py │ │ │ ├── test_case_description.py │ │ │ └── timing_data.py │ │ └── tests/ │ │ ├── __init__.py │ │ ├── release_information.json │ │ ├── test_consume_args.py │ │ ├── test_fixtures_source_input_types.py │ │ └── test_releases.py │ ├── custom_logging/ │ │ ├── __init__.py │ │ ├── plugin_logging.py │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_logging.py │ ├── eels_resolutions.json │ ├── eels_resolver.py │ ├── execute/ │ │ ├── __init__.py │ │ ├── eth_config/ │ │ │ ├── __init__.py │ │ │ ├── eth_config.py │ │ │ ├── execute_eth_config.py │ │ │ ├── execute_types.py │ │ │ ├── networks.yml │ │ │ └── tests/ │ │ │ ├── __init__.py │ │ │ ├── genesis_example.json │ │ │ ├── test_execute_eth_config.py │ │ │ └── test_genesis.py │ │ ├── execute.py │ │ ├── execute_recover.py │ │ ├── pre_alloc.py │ │ ├── recover.py │ │ ├── rpc/ │ │ │ ├── __init__.py │ │ │ ├── chain_builder_eth_rpc.py │ │ │ ├── hive.py │ │ │ ├── remote.py │ │ │ └── remote_seed_sender.py │ │ ├── sender.py │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_pre_alloc.py │ ├── filler/ │ │ ├── __init__.py │ │ ├── eip_checklist.py │ │ ├── filler.py │ │ ├── fixture_output.py │ │ ├── gen_test_doc/ │ │ │ ├── __init__.py │ │ │ ├── gen_test_doc.py │ │ │ └── page_props.py │ │ ├── ported_tests.py │ │ ├── pre_alloc.py │ │ ├── static_filler.py │ │ ├── tests/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── test_benchmarking.py │ │ │ ├── test_collect_only.py │ │ │ ├── test_eip_checklist.py │ │ │ ├── test_filler.py │ │ │ ├── test_filling_session.py │ │ │ ├── test_format_selector.py │ │ │ ├── test_generate_all_formats.py │ │ │ ├── test_output_directory.py │ │ │ ├── test_phase_manager.py │ │ │ ├── test_pre_alloc.py │ │ │ ├── test_prealloc_group.py │ │ │ ├── test_prealloc_group_usage_example.py │ │ │ ├── test_slow_marker_pre_alloc.py │ │ │ └── test_verify_sync_marker.py │ │ └── witness.py │ ├── fix_package_test_path.py │ ├── forks/ │ │ ├── __init__.py │ │ ├── forks.py │ │ └── tests/ │ │ ├── __init__.py │ │ ├── test_bad_command_line_options.py │ │ ├── test_bad_validity_markers.py │ │ ├── test_covariant_markers.py │ │ ├── test_fork_parametrizer_types.py │ │ ├── test_forks.py │ │ └── test_markers.py │ ├── help/ │ │ ├── __init__.py │ │ ├── help.py │ │ └── tests/ │ │ └── test_help.py │ ├── py.typed │ ├── pytest_hive/ │ │ ├── hive_info.py │ │ └── pytest_hive.py │ ├── shared/ │ │ ├── benchmarking.py │ │ ├── execute_fill.py │ │ ├── helpers.py │ │ └── transaction_fixtures.py │ ├── solc/ │ │ ├── __init__.py │ │ └── solc.py │ └── spec_version_checker/ │ ├── __init__.py │ └── spec_version_checker.py ├── stubs/ │ ├── joblib/ │ │ └── __init__.pyi │ ├── jwt/ │ │ ├── __init__.pyi │ │ └── encode.pyi │ ├── pytest_metadata/ │ │ ├── __init__.pyi │ │ └── plugin.pyi │ ├── trie/ │ │ ├── __init__.pyi │ │ └── hexary.pyi │ └── xdist/ │ ├── __init__.pyi │ └── methods.pyi ├── tests/ │ ├── __init__.py │ ├── amsterdam/ │ │ ├── __init__.py │ │ └── eip7928_block_level_access_lists/ │ │ ├── __init__.py │ │ ├── spec.py │ │ ├── test_block_access_lists.py │ │ ├── test_block_access_lists_eip7702.py │ │ ├── test_block_access_lists_invalid.py │ │ ├── test_block_access_lists_opcodes.py │ │ └── test_cases.md │ ├── benchmark/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── helpers.py │ │ ├── stateful/ │ │ │ ├── __init__.py │ │ │ ├── bloatnet/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── test_bloatnet.py │ │ │ │ ├── test_multi_opcode.py │ │ │ │ └── test_single_opcode.py │ │ │ └── conftest.py │ │ ├── test_worst_blocks.py │ │ ├── test_worst_bytecode.py │ │ ├── test_worst_compute.py │ │ ├── test_worst_memory.py │ │ ├── test_worst_opcode.py │ │ └── test_worst_stateful_opcodes.py │ ├── berlin/ │ │ ├── __init__.py │ │ ├── eip2929_gas_cost_increases/ │ │ │ ├── __init__.py │ │ │ ├── test_call.py │ │ │ └── test_precompile_warming.py │ │ └── eip2930_access_list/ │ │ ├── __init__.py │ │ ├── spec.py │ │ ├── test_acl.py │ │ └── test_tx_intrinsic_gas.py │ ├── byzantium/ │ │ ├── __init__.py │ │ └── eip198_modexp_precompile/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ └── test_modexp.py │ ├── cancun/ │ │ ├── __init__.py │ │ ├── eip1153_tstore/ │ │ │ ├── __init__.py │ │ │ ├── spec.py │ │ │ ├── test_basic_tload.py │ │ │ ├── test_tload_calls.py │ │ │ ├── test_tload_reentrancy.py │ │ │ ├── test_tstorage.py │ │ │ ├── test_tstorage_clear_after_tx.py │ │ │ ├── test_tstorage_create_contexts.py │ │ │ ├── test_tstorage_execution_contexts.py │ │ │ ├── test_tstorage_reentrancy_contexts.py │ │ │ ├── test_tstorage_selfdestruct.py │ │ │ └── test_tstore_reentrancy.py │ │ ├── eip4788_beacon_root/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── spec.py │ │ │ └── test_beacon_root_contract.py │ │ ├── eip4844_blobs/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── conftest.py │ │ │ ├── point_evaluation_vectors/ │ │ │ │ ├── README.md │ │ │ │ ├── concat_kzg_vectors_to_json.py │ │ │ │ ├── go_kzg_4844_verify_kzg_proof.json │ │ │ │ └── requirements.txt │ │ │ ├── spec.py │ │ │ ├── test_blob_txs.py │ │ │ ├── test_blob_txs_full.py │ │ │ ├── test_blobhash_opcode.py │ │ │ ├── test_blobhash_opcode_contexts.py │ │ │ ├── test_excess_blob_gas.py │ │ │ ├── test_excess_blob_gas_fork_transition.py │ │ │ ├── test_point_evaluation_precompile.py │ │ │ └── test_point_evaluation_precompile_gas.py │ │ ├── eip5656_mcopy/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── test_mcopy.py │ │ │ ├── test_mcopy_contexts.py │ │ │ └── test_mcopy_memory_expansion.py │ │ ├── eip6780_selfdestruct/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── test_dynamic_create2_selfdestruct_collision.py │ │ │ ├── test_reentrancy_selfdestruct_revert.py │ │ │ ├── test_selfdestruct.py │ │ │ └── test_selfdestruct_revert.py │ │ └── eip7516_blobgasfee/ │ │ ├── __init__.py │ │ └── test_blobgasfee_opcode.py │ ├── constantinople/ │ │ ├── __init__.py │ │ ├── eip1014_create2/ │ │ │ ├── __init__.py │ │ │ ├── spec.py │ │ │ ├── test_create_returndata.py │ │ │ └── test_recreate.py │ │ └── eip145_bitwise_shift/ │ │ ├── __init__.py │ │ ├── spec.py │ │ └── test_shift_combinations.py │ ├── frontier/ │ │ ├── __init__.py │ │ ├── create/ │ │ │ ├── __init__.py │ │ │ ├── test_create_one_byte.py │ │ │ ├── test_create_suicide_during_init.py │ │ │ └── test_create_suicide_store.py │ │ ├── examples/ │ │ │ ├── __init__.py │ │ │ └── test_block_intermediate_state.py │ │ ├── identity_precompile/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── conftest.py │ │ │ ├── test_identity.py │ │ │ └── test_identity_returndatasize.py │ │ ├── opcodes/ │ │ │ ├── __init__.py │ │ │ ├── test_all_opcodes.py │ │ │ ├── test_blockhash.py │ │ │ ├── test_call.py │ │ │ ├── test_call_and_callcode_gas_calculation.py │ │ │ ├── test_calldatacopy.py │ │ │ ├── test_calldataload.py │ │ │ ├── test_calldatasize.py │ │ │ ├── test_dup.py │ │ │ ├── test_push.py │ │ │ ├── test_selfdestruct.py │ │ │ └── test_swap.py │ │ ├── precompiles/ │ │ │ ├── __init__.py │ │ │ ├── test_precompile_absence.py │ │ │ └── test_precompiles.py │ │ └── scenarios/ │ │ ├── __init__.py │ │ ├── common.py │ │ ├── programs/ │ │ │ ├── __init__.py │ │ │ ├── all_frontier_opcodes.py │ │ │ ├── context_calls.py │ │ │ ├── invalid_opcodes.py │ │ │ └── static_violation.py │ │ ├── scenarios/ │ │ │ ├── __init__.py │ │ │ ├── call_combinations.py │ │ │ ├── create_combinations.py │ │ │ ├── double_call_combinations.py │ │ │ └── revert_combinations.py │ │ └── test_scenarios.py │ ├── homestead/ │ │ ├── __init__.py │ │ ├── coverage/ │ │ │ ├── __init__.py │ │ │ └── test_coverage.py │ │ ├── identity_precompile/ │ │ │ ├── __init__.py │ │ │ └── test_identity.py │ │ └── yul/ │ │ └── __init__.py │ ├── istanbul/ │ │ ├── __init__.py │ │ ├── eip1344_chainid/ │ │ │ ├── __init__.py │ │ │ └── test_chainid.py │ │ └── eip152_blake2/ │ │ ├── __init__.py │ │ ├── common.py │ │ ├── conftest.py │ │ ├── spec.py │ │ ├── test_blake2.py │ │ └── test_blake2_delegatecall.py │ ├── osaka/ │ │ ├── __init__.py │ │ ├── eip7594_peerdas/ │ │ │ ├── __init__.py │ │ │ ├── spec.py │ │ │ ├── test_get_blobs.py │ │ │ └── test_max_blob_per_tx.py │ │ ├── eip7823_modexp_upper_bounds/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── eip_checklist_external_coverage.txt │ │ │ ├── eip_checklist_not_applicable.txt │ │ │ ├── spec.py │ │ │ └── test_modexp_upper_bounds.py │ │ ├── eip7825_transaction_gas_limit_cap/ │ │ │ ├── __init__.py │ │ │ ├── eip_checklist_external_coverage.txt │ │ │ ├── eip_checklist_not_applicable.txt │ │ │ ├── spec.py │ │ │ ├── test_tx_gas_limit.py │ │ │ └── test_tx_gas_limit_transition_fork.py │ │ ├── eip7883_modexp_gas_increase/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── eip_checklist_external_coverage.txt │ │ │ ├── eip_checklist_not_applicable.txt │ │ │ ├── helpers.py │ │ │ ├── spec.py │ │ │ ├── test_modexp_thresholds.py │ │ │ ├── test_modexp_thresholds_transition.py │ │ │ └── vector/ │ │ │ ├── legacy.json │ │ │ └── vectors.json │ │ ├── eip7918_blob_reserve_price/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── spec.py │ │ │ ├── test_blob_base_fee.py │ │ │ ├── test_blob_reserve_price_with_bpo.py │ │ │ └── test_blob_reserve_price_with_bpo_transitions.py │ │ ├── eip7934_block_rlp_limit/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── eip_checklist_external_coverage.txt │ │ │ ├── eip_checklist_not_applicable.txt │ │ │ ├── spec.py │ │ │ └── test_max_block_rlp_size.py │ │ ├── eip7939_count_leading_zeros/ │ │ │ ├── __init__.py │ │ │ ├── eip_checklist_external_coverage.txt │ │ │ ├── eip_checklist_not_applicable.txt │ │ │ ├── spec.py │ │ │ └── test_count_leading_zeros.py │ │ └── eip7951_p256verify_precompiles/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── eip_checklist_external_coverage.txt │ │ ├── eip_checklist_not_applicable.txt │ │ ├── helpers.py │ │ ├── scripts/ │ │ │ └── find_low_p256_points.sage │ │ ├── spec.py │ │ ├── test_p256verify.py │ │ ├── test_p256verify_before_fork.py │ │ └── vectors/ │ │ ├── secp256r1_k_and_s.json │ │ ├── secp256r1_modified_r_s.json │ │ ├── secp256r1_public_key.json │ │ ├── secp256r1_shamir_multiplication.json │ │ ├── secp256r1_signature_specific.json │ │ ├── secp256r1_small_large_r_s.json │ │ ├── secp256r1_special_case_hash.json │ │ ├── secp256r1_special_case_r_s.json │ │ ├── secp256r1_special_points.json │ │ └── secp256r1_u1_u2.json │ ├── paris/ │ │ ├── __init__.py │ │ ├── eip7610_create_collision/ │ │ │ ├── __init__.py │ │ │ └── test_initcollision.py │ │ └── security/ │ │ ├── __init__.py │ │ └── test_selfdestruct_balance_bug.py │ ├── prague/ │ │ ├── __init__.py │ │ ├── eip2537_bls_12_381_precompiles/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── helpers.py │ │ │ ├── spec.py │ │ │ ├── test_bls12_g1add.py │ │ │ ├── test_bls12_g1msm.py │ │ │ ├── test_bls12_g1mul.py │ │ │ ├── test_bls12_g2add.py │ │ │ ├── test_bls12_g2msm.py │ │ │ ├── test_bls12_g2mul.py │ │ │ ├── test_bls12_map_fp2_to_g2.py │ │ │ ├── test_bls12_map_fp_to_g1.py │ │ │ ├── test_bls12_pairing.py │ │ │ ├── test_bls12_precompiles_before_fork.py │ │ │ ├── test_bls12_variable_length_input_contracts.py │ │ │ ├── test_eip_mainnet.py │ │ │ └── vectors/ │ │ │ ├── add_G1_bls.json │ │ │ ├── add_G2_bls.json │ │ │ ├── fail-add_G1_bls.json │ │ │ ├── fail-add_G2_bls.json │ │ │ ├── fail-map_fp2_to_G2_bls.json │ │ │ ├── fail-map_fp_to_G1_bls.json │ │ │ ├── fail-msm_G1_bls.json │ │ │ ├── fail-msm_G2_bls.json │ │ │ ├── fail-mul_G1_bls.json │ │ │ ├── fail-mul_G2_bls.json │ │ │ ├── fail-pairing_check_bls.json │ │ │ ├── map_fp2_to_G2_bls.json │ │ │ ├── map_fp_to_G1_bls.json │ │ │ ├── msm_G1_bls.json │ │ │ ├── msm_G2_bls.json │ │ │ ├── mul_G1_bls.json │ │ │ ├── mul_G2_bls.json │ │ │ ├── pairing_check_bls.json │ │ │ └── test-vectors.md │ │ ├── eip2935_historical_block_hashes_from_state/ │ │ │ ├── __init__.py │ │ │ ├── contract_deploy_tx.json │ │ │ ├── spec.py │ │ │ ├── test_block_hashes.py │ │ │ ├── test_contract_deployment.py │ │ │ └── test_eip_mainnet.py │ │ ├── eip6110_deposits/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── helpers.py │ │ │ ├── spec.py │ │ │ ├── test_deposits.py │ │ │ ├── test_eip_mainnet.py │ │ │ └── test_modified_contract.py │ │ ├── eip7002_el_triggerable_withdrawals/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── contract_deploy_tx.json │ │ │ ├── helpers.py │ │ │ ├── spec.py │ │ │ ├── test_contract_deployment.py │ │ │ ├── test_eip_mainnet.py │ │ │ ├── test_modified_withdrawal_contract.py │ │ │ ├── test_withdrawal_requests.py │ │ │ └── test_withdrawal_requests_during_fork.py │ │ ├── eip7251_consolidations/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── contract_deploy_tx.json │ │ │ ├── helpers.py │ │ │ ├── spec.py │ │ │ ├── test_consolidations.py │ │ │ ├── test_consolidations_during_fork.py │ │ │ ├── test_contract_deployment.py │ │ │ ├── test_eip_mainnet.py │ │ │ └── test_modified_consolidation_contract.py │ │ ├── eip7623_increase_calldata_cost/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── helpers.py │ │ │ ├── spec.py │ │ │ ├── test_eip_mainnet.py │ │ │ ├── test_execution_gas.py │ │ │ ├── test_refunds.py │ │ │ └── test_transaction_validity.py │ │ ├── eip7685_general_purpose_el_requests/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── spec.py │ │ │ └── test_multi_type_requests.py │ │ └── eip7702_set_code_tx/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ ├── spec.py │ │ ├── test_calls.py │ │ ├── test_eip_mainnet.py │ │ ├── test_gas.py │ │ ├── test_invalid_tx.py │ │ ├── test_set_code_txs.py │ │ └── test_set_code_txs_2.py │ ├── shanghai/ │ │ ├── __init__.py │ │ ├── eip3651_warm_coinbase/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── spec.py │ │ │ └── test_warm_coinbase.py │ │ ├── eip3855_push0/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── spec.py │ │ │ └── test_push0.py │ │ ├── eip3860_initcode/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── helpers.py │ │ │ ├── spec.py │ │ │ ├── test_initcode.py │ │ │ └── test_with_eof.py │ │ └── eip4895_withdrawals/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── spec.py │ │ └── test_withdrawals.py │ ├── static/ │ │ ├── README.md │ │ ├── __init__.py │ │ └── state_tests/ │ │ ├── Cancun/ │ │ │ ├── __init__.py │ │ │ ├── stEIP1153_transientStorage/ │ │ │ │ ├── 10_revertUndoesStoreAfterReturnFiller.yml │ │ │ │ ├── 14_revertAfterNestedStaticcallFiller.yml │ │ │ │ ├── 15_tstoreCannotBeDosdFiller.yml │ │ │ │ ├── 17_tstoreGasFiller.yml │ │ │ │ ├── 19_oogUndoesTransientStoreFiller.yml │ │ │ │ ├── 21_tstoreCannotBeDosdOOOFiller.yml │ │ │ │ ├── __init__.py │ │ │ │ ├── transStorageOKFiller.yml │ │ │ │ └── transStorageResetFiller.yml │ │ │ ├── stEIP4844_blobtransactions/ │ │ │ │ ├── __init__.py │ │ │ │ ├── createBlobhashTxFiller.yml │ │ │ │ ├── emptyBlobhashListFiller.yml │ │ │ │ ├── opcodeBlobhBoundsFiller.yml │ │ │ │ ├── opcodeBlobhashOutOfRangeFiller.yml │ │ │ │ └── wrongBlobhashVersionFiller.yml │ │ │ └── stEIP5656_MCOPY/ │ │ │ ├── MCOPYFiller.yml │ │ │ ├── MCOPY_copy_costFiller.yml │ │ │ ├── MCOPY_memory_expansion_costFiller.yml │ │ │ ├── MCOPY_memory_hashFiller.yml │ │ │ └── __init__.py │ │ ├── README.md │ │ ├── Shanghai/ │ │ │ ├── __init__.py │ │ │ ├── stEIP3651_warmcoinbase/ │ │ │ │ ├── __init__.py │ │ │ │ ├── coinbaseWarmAccountCallGasFailFiller.yml │ │ │ │ └── coinbaseWarmAccountCallGasFiller.yml │ │ │ ├── stEIP3855_push0/ │ │ │ │ ├── __init__.py │ │ │ │ ├── push0Filler.yml │ │ │ │ ├── push0Filler_test.yml │ │ │ │ ├── push0Gas2Filler.yml │ │ │ │ └── push0GasFiller.yml │ │ │ └── stEIP3860_limitmeterinitcode/ │ │ │ ├── __init__.py │ │ │ ├── create2InitCodeSizeLimitFiller.yml │ │ │ ├── createInitCodeSizeLimitFiller.yml │ │ │ └── creationTxInitCodeSizeLimitFiller.yml │ │ ├── VMTests/ │ │ │ ├── __init__.py │ │ │ ├── vmArithmeticTest/ │ │ │ │ ├── __init__.py │ │ │ │ ├── addFiller.yml │ │ │ │ ├── addmodFiller.yml │ │ │ │ ├── arithFiller.yml │ │ │ │ ├── divByZeroFiller.yml │ │ │ │ ├── divFiller.yml │ │ │ │ ├── expFiller.yml │ │ │ │ ├── expPower256Filler.yml │ │ │ │ ├── expPower256Of256Filler.yml │ │ │ │ ├── expPower2Filler.yml │ │ │ │ ├── fibFiller.yml │ │ │ │ ├── modFiller.yml │ │ │ │ ├── mulFiller.yml │ │ │ │ ├── mulmodFiller.yml │ │ │ │ ├── notFiller.yml │ │ │ │ ├── sdivFiller.yml │ │ │ │ ├── signextendFiller.yml │ │ │ │ ├── smodFiller.yml │ │ │ │ ├── subFiller.yml │ │ │ │ ├── twoOpsFiller.yml │ │ │ │ └── twoOpsGen.js │ │ │ ├── vmBitwiseLogicOperation/ │ │ │ │ ├── __init__.py │ │ │ │ ├── andFiller.yml │ │ │ │ ├── byteFiller.yml │ │ │ │ ├── eqFiller.yml │ │ │ │ ├── gtFiller.yml │ │ │ │ ├── iszeroFiller.yml │ │ │ │ ├── ltFiller.yml │ │ │ │ ├── notFiller.yml │ │ │ │ ├── orFiller.yml │ │ │ │ ├── sgtFiller.yml │ │ │ │ ├── sltFiller.yml │ │ │ │ └── xorFiller.yml │ │ │ ├── vmIOandFlowOperations/ │ │ │ │ ├── __init__.py │ │ │ │ ├── codecopyFiller.yml │ │ │ │ ├── gasFiller.yml │ │ │ │ ├── jumpFiller.yml │ │ │ │ ├── jumpToPushFiller.yml │ │ │ │ ├── jumpiFiller.yml │ │ │ │ ├── loop_stacklimitFiller.yml │ │ │ │ ├── loopsConditionalsFiller.yml │ │ │ │ ├── mloadFiller.yml │ │ │ │ ├── msizeFiller.yml │ │ │ │ ├── mstore8Filler.yml │ │ │ │ ├── mstoreFiller.yml │ │ │ │ ├── pcFiller.yml │ │ │ │ ├── popFiller.yml │ │ │ │ ├── returnFiller.yml │ │ │ │ └── sstore_sloadFiller.yml │ │ │ ├── vmLogTest/ │ │ │ │ ├── __init__.py │ │ │ │ ├── log0Filler.yml │ │ │ │ ├── log1Filler.yml │ │ │ │ ├── log2Filler.yml │ │ │ │ ├── log3Filler.yml │ │ │ │ └── log4Filler.yml │ │ │ └── vmTests/ │ │ │ ├── __init__.py │ │ │ ├── blockInfoFiller.yml │ │ │ ├── envInfoFiller.yml │ │ │ ├── randomFiller.yml │ │ │ ├── sha3Filler.yml │ │ │ └── suicideFiller.yml │ │ ├── __init__.py │ │ ├── stArgsZeroOneBalance/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── addNonConstFiller.yml │ │ │ ├── addmodNonConstFiller.yml │ │ │ ├── andNonConstFiller.yml │ │ │ ├── balanceNonConstFiller.yml │ │ │ ├── byteNonConstFiller.yml │ │ │ ├── callNonConstFiller.yml │ │ │ ├── callcodeNonConstFiller.yml │ │ │ ├── calldatacopyNonConstFiller.yml │ │ │ ├── calldataloadNonConstFiller.yml │ │ │ ├── codecopyNonConstFiller.yml │ │ │ ├── createNonConstFiller.yml │ │ │ ├── delegatecallNonConstFiller.yml │ │ │ ├── divNonConstFiller.yml │ │ │ ├── eqNonConstFiller.yml │ │ │ ├── expNonConstFiller.yml │ │ │ ├── extcodecopyNonConstFiller.yml │ │ │ ├── extcodesizeNonConstFiller.yml │ │ │ ├── gtNonConstFiller.yml │ │ │ ├── iszeroNonConstFiller.yml │ │ │ ├── jumpNonConstFiller.yml │ │ │ ├── jumpiNonConstFiller.yml │ │ │ ├── log0NonConstFiller.yml │ │ │ ├── log1NonConstFiller.yml │ │ │ ├── log2NonConstFiller.yml │ │ │ ├── log3NonConstFiller.yml │ │ │ ├── ltNonConstFiller.yml │ │ │ ├── mloadNonConstFiller.yml │ │ │ ├── modNonConstFiller.yml │ │ │ ├── mstore8NonConstFiller.yml │ │ │ ├── mstoreNonConstFiller.yml │ │ │ ├── mulNonConstFiller.yml │ │ │ ├── mulmodNonConstFiller.yml │ │ │ ├── notNonConstFiller.yml │ │ │ ├── orNonConstFiller.yml │ │ │ ├── returnNonConstFiller.yml │ │ │ ├── sdivNonConstFiller.yml │ │ │ ├── sgtNonConstFiller.yml │ │ │ ├── sha3NonConstFiller.yml │ │ │ ├── signextNonConstFiller.yml │ │ │ ├── sloadNonConstFiller.yml │ │ │ ├── sltNonConstFiller.yml │ │ │ ├── smodNonConstFiller.yml │ │ │ ├── sstoreNonConstFiller.yml │ │ │ ├── subNonConstFiller.yml │ │ │ ├── suicideNonConstFiller.yml │ │ │ └── xorNonConstFiller.yml │ │ ├── stAttackTest/ │ │ │ ├── ContractCreationSpamFiller.json │ │ │ ├── CrashingTransactionFiller.json │ │ │ └── __init__.py │ │ ├── stBadOpcode/ │ │ │ ├── __init__.py │ │ │ ├── eip2315NotRemovedFiller.json │ │ │ ├── invalidAddrFiller.yml │ │ │ ├── measureGasFiller.yml │ │ │ ├── operationDiffGasFiller.yml │ │ │ └── undefinedOpcodeFirstByteFiller.yml │ │ ├── stBugs/ │ │ │ ├── __init__.py │ │ │ ├── randomStatetestDEFAULT-Tue_07_58_41-15153-575192Filler.json │ │ │ ├── randomStatetestDEFAULT-Tue_07_58_41-15153-575192_londonFiller.json │ │ │ ├── returndatacopyPythonBug_Tue_03_48_41-1432Filler.json │ │ │ └── staticcall_createfailsFiller.json │ │ ├── stCallCodes/ │ │ │ ├── __init__.py │ │ │ ├── call_OOG_additionalGasCosts1Filler.json │ │ │ ├── call_OOG_additionalGasCosts2Filler.json │ │ │ ├── callcall_00Filler.json │ │ │ ├── callcall_00_OOGEFiller.json │ │ │ ├── callcall_00_OOGE_valueTransferFiller.json │ │ │ ├── callcall_00_SuicideEndFiller.json │ │ │ ├── callcallcall_000Filler.json │ │ │ ├── callcallcall_000_OOGEFiller.json │ │ │ ├── callcallcall_000_OOGMAfterFiller.json │ │ │ ├── callcallcall_000_OOGMBeforeFiller.json │ │ │ ├── callcallcall_000_SuicideEndFiller.json │ │ │ ├── callcallcall_000_SuicideMiddleFiller.json │ │ │ ├── callcallcall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcallcallcode_001Filler.json │ │ │ ├── callcallcallcode_001_OOGEFiller.json │ │ │ ├── callcallcallcode_001_OOGMAfterFiller.json │ │ │ ├── callcallcallcode_001_OOGMBeforeFiller.json │ │ │ ├── callcallcallcode_001_SuicideEndFiller.json │ │ │ ├── callcallcallcode_001_SuicideMiddleFiller.json │ │ │ ├── callcallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcallcode_01Filler.json │ │ │ ├── callcallcode_01_OOGEFiller.json │ │ │ ├── callcallcode_01_SuicideEndFiller.json │ │ │ ├── callcallcodecall_010Filler.json │ │ │ ├── callcallcodecall_010_OOGEFiller.json │ │ │ ├── callcallcodecall_010_OOGMAfterFiller.json │ │ │ ├── callcallcodecall_010_OOGMBeforeFiller.json │ │ │ ├── callcallcodecall_010_SuicideEndFiller.json │ │ │ ├── callcallcodecall_010_SuicideMiddleFiller.json │ │ │ ├── callcallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcallcodecallcode_011Filler.json │ │ │ ├── callcallcodecallcode_011_OOGEFiller.json │ │ │ ├── callcallcodecallcode_011_OOGMAfterFiller.json │ │ │ ├── callcallcodecallcode_011_OOGMBeforeFiller.json │ │ │ ├── callcallcodecallcode_011_SuicideEndFiller.json │ │ │ ├── callcallcodecallcode_011_SuicideMiddleFiller.json │ │ │ ├── callcallcodecallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodeDynamicCode2SelfCallFiller.json │ │ │ ├── callcodeDynamicCodeFiller.json │ │ │ ├── callcodeEmptycontractFiller.json │ │ │ ├── callcodeInInitcodeToEmptyContractFiller.json │ │ │ ├── callcodeInInitcodeToExisContractWithVTransferNEMoneyFiller.json │ │ │ ├── callcodeInInitcodeToExistingContractFiller.json │ │ │ ├── callcodeInInitcodeToExistingContractWithValueTransferFiller.json │ │ │ ├── callcode_checkPCFiller.json │ │ │ ├── callcodecall_10Filler.json │ │ │ ├── callcodecall_10_OOGEFiller.json │ │ │ ├── callcodecall_10_SuicideEndFiller.json │ │ │ ├── callcodecallcall_100Filler.json │ │ │ ├── callcodecallcall_100_OOGEFiller.json │ │ │ ├── callcodecallcall_100_OOGMAfterFiller.json │ │ │ ├── callcodecallcall_100_OOGMBeforeFiller.json │ │ │ ├── callcodecallcall_100_SuicideEndFiller.json │ │ │ ├── callcodecallcall_100_SuicideMiddleFiller.json │ │ │ ├── callcodecallcall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcallcode_101Filler.json │ │ │ ├── callcodecallcallcode_101_OOGEFiller.json │ │ │ ├── callcodecallcallcode_101_OOGMAfterFiller.json │ │ │ ├── callcodecallcallcode_101_OOGMBeforeFiller.json │ │ │ ├── callcodecallcallcode_101_SuicideEndFiller.json │ │ │ ├── callcodecallcallcode_101_SuicideMiddleFiller.json │ │ │ ├── callcodecallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcode_11Filler.json │ │ │ ├── callcodecallcode_11_OOGEFiller.json │ │ │ ├── callcodecallcode_11_SuicideEndFiller.json │ │ │ ├── callcodecallcodecall_110Filler.json │ │ │ ├── callcodecallcodecall_110_OOGEFiller.json │ │ │ ├── callcodecallcodecall_110_OOGMAfterFiller.json │ │ │ ├── callcodecallcodecall_110_OOGMBeforeFiller.json │ │ │ ├── callcodecallcodecall_110_SuicideEndFiller.json │ │ │ ├── callcodecallcodecall_110_SuicideMiddleFiller.json │ │ │ ├── callcodecallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcodecallcode_111Filler.json │ │ │ ├── callcodecallcodecallcode_111_OOGEFiller.json │ │ │ ├── callcodecallcodecallcode_111_OOGMAfterFiller.json │ │ │ ├── callcodecallcodecallcode_111_OOGMBeforeFiller.json │ │ │ ├── callcodecallcodecallcode_111_SuicideEndFiller.json │ │ │ ├── callcodecallcodecallcode_111_SuicideMiddleFiller.json │ │ │ └── callcodecallcodecallcode_ABCB_RECURSIVEFiller.json │ │ ├── stCallCreateCallCodeTest/ │ │ │ ├── Call1024BalanceTooLowFiller.json │ │ │ ├── Call1024OOGFiller.json │ │ │ ├── Call1024PreCallsFiller.json │ │ │ ├── CallLoseGasOOGFiller.json │ │ │ ├── CallRecursiveBombPreCallFiller.json │ │ │ ├── Callcode1024BalanceTooLowFiller.json │ │ │ ├── Callcode1024OOGFiller.json │ │ │ ├── CallcodeLoseGasOOGFiller.json │ │ │ ├── __init__.py │ │ │ ├── callOutput1Filler.json │ │ │ ├── callOutput2Filler.json │ │ │ ├── callOutput3FailFiller.json │ │ │ ├── callOutput3Filler.json │ │ │ ├── callOutput3partialFailFiller.json │ │ │ ├── callOutput3partialFiller.json │ │ │ ├── callWithHighValueAndGasOOGFiller.json │ │ │ ├── callWithHighValueAndOOGatTxLevelFiller.json │ │ │ ├── callWithHighValueFiller.json │ │ │ ├── callWithHighValueOOGinCallFiller.json │ │ │ ├── callcodeOutput1Filler.json │ │ │ ├── callcodeOutput2Filler.json │ │ │ ├── callcodeOutput3FailFiller.json │ │ │ ├── callcodeOutput3Filler.json │ │ │ ├── callcodeOutput3partialFailFiller.json │ │ │ ├── callcodeOutput3partialFiller.json │ │ │ ├── callcodeWithHighValueAndGasOOGFiller.json │ │ │ ├── callcodeWithHighValueFiller.json │ │ │ ├── contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json │ │ │ ├── createFailBalanceTooLowFiller.json │ │ │ ├── createInitFailBadJumpDestination2Filler.json │ │ │ ├── createInitFailBadJumpDestinationFiller.json │ │ │ ├── createInitFailStackSizeLargerThan1024Filler.json │ │ │ ├── createInitFailStackUnderflowFiller.json │ │ │ ├── createInitFailUndefinedInstruction2Filler.json │ │ │ ├── createInitFailUndefinedInstructionFiller.json │ │ │ ├── createInitFail_OOGduringInit2Filler.json │ │ │ ├── createInitFail_OOGduringInitFiller.json │ │ │ ├── createInitOOGforCREATEFiller.json │ │ │ ├── createJS_ExampleContractFiller.json │ │ │ ├── createJS_NoCollisionFiller.json │ │ │ ├── createNameRegistratorPerTxsFiller.json │ │ │ ├── createNameRegistratorPerTxsNotEnoughGasFiller.json │ │ │ ├── createNameRegistratorPreStore1NotEnoughGasFiller.json │ │ │ └── createNameRegistratorendowmentTooHighFiller.json │ │ ├── stCallDelegateCodesCallCodeHomestead/ │ │ │ ├── __init__.py │ │ │ ├── callcallcallcode_001Filler.json │ │ │ ├── callcallcallcode_001_OOGEFiller.json │ │ │ ├── callcallcallcode_001_OOGMAfterFiller.json │ │ │ ├── callcallcallcode_001_OOGMBeforeFiller.json │ │ │ ├── callcallcallcode_001_SuicideEndFiller.json │ │ │ ├── callcallcallcode_001_SuicideMiddleFiller.json │ │ │ ├── callcallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcallcode_01Filler.json │ │ │ ├── callcallcode_01_OOGEFiller.json │ │ │ ├── callcallcode_01_SuicideEndFiller.json │ │ │ ├── callcallcodecall_010Filler.json │ │ │ ├── callcallcodecall_010_OOGEFiller.json │ │ │ ├── callcallcodecall_010_OOGMAfterFiller.json │ │ │ ├── callcallcodecall_010_OOGMBeforeFiller.json │ │ │ ├── callcallcodecall_010_SuicideEndFiller.json │ │ │ ├── callcallcodecall_010_SuicideMiddleFiller.json │ │ │ ├── callcallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcallcodecallcode_011Filler.json │ │ │ ├── callcallcodecallcode_011_OOGEFiller.json │ │ │ ├── callcallcodecallcode_011_OOGMAfterFiller.json │ │ │ ├── callcallcodecallcode_011_OOGMBeforeFiller.json │ │ │ ├── callcallcodecallcode_011_SuicideEndFiller.json │ │ │ ├── callcallcodecallcode_011_SuicideMiddleFiller.json │ │ │ ├── callcallcodecallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecall_10Filler.json │ │ │ ├── callcodecall_10_OOGEFiller.json │ │ │ ├── callcodecall_10_SuicideEndFiller.json │ │ │ ├── callcodecallcall_100Filler.json │ │ │ ├── callcodecallcall_100_OOGEFiller.json │ │ │ ├── callcodecallcall_100_OOGMAfterFiller.json │ │ │ ├── callcodecallcall_100_OOGMBeforeFiller.json │ │ │ ├── callcodecallcall_100_SuicideEndFiller.json │ │ │ ├── callcodecallcall_100_SuicideMiddleFiller.json │ │ │ ├── callcodecallcall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcallcode_101Filler.json │ │ │ ├── callcodecallcallcode_101_OOGEFiller.json │ │ │ ├── callcodecallcallcode_101_OOGMAfterFiller.json │ │ │ ├── callcodecallcallcode_101_OOGMBeforeFiller.json │ │ │ ├── callcodecallcallcode_101_SuicideEndFiller.json │ │ │ ├── callcodecallcallcode_101_SuicideMiddleFiller.json │ │ │ ├── callcodecallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcode_11Filler.json │ │ │ ├── callcodecallcode_11_OOGEFiller.json │ │ │ ├── callcodecallcode_11_SuicideEndFiller.json │ │ │ ├── callcodecallcodecall_110Filler.json │ │ │ ├── callcodecallcodecall_110_OOGEFiller.json │ │ │ ├── callcodecallcodecall_110_OOGMAfterFiller.json │ │ │ ├── callcodecallcodecall_110_OOGMBeforeFiller.json │ │ │ ├── callcodecallcodecall_110_SuicideEndFiller.json │ │ │ ├── callcodecallcodecall_110_SuicideMiddleFiller.json │ │ │ ├── callcodecallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcodecallcode_111Filler.json │ │ │ ├── callcodecallcodecallcode_111_OOGEFiller.json │ │ │ ├── callcodecallcodecallcode_111_OOGMAfterFiller.json │ │ │ ├── callcodecallcodecallcode_111_OOGMBeforeFiller.json │ │ │ ├── callcodecallcodecallcode_111_SuicideEndFiller.json │ │ │ ├── callcodecallcodecallcode_111_SuicideMiddleFiller.json │ │ │ └── callcodecallcodecallcode_ABCB_RECURSIVEFiller.json │ │ ├── stCallDelegateCodesHomestead/ │ │ │ ├── __init__.py │ │ │ ├── callcallcallcode_001Filler.json │ │ │ ├── callcallcallcode_001_OOGEFiller.json │ │ │ ├── callcallcallcode_001_OOGMAfterFiller.json │ │ │ ├── callcallcallcode_001_OOGMBeforeFiller.json │ │ │ ├── callcallcallcode_001_SuicideEndFiller.json │ │ │ ├── callcallcallcode_001_SuicideMiddleFiller.json │ │ │ ├── callcallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcallcode_01Filler.json │ │ │ ├── callcallcode_01_OOGEFiller.json │ │ │ ├── callcallcode_01_SuicideEndFiller.json │ │ │ ├── callcallcodecall_010Filler.json │ │ │ ├── callcallcodecall_010_OOGEFiller.json │ │ │ ├── callcallcodecall_010_OOGMAfterFiller.json │ │ │ ├── callcallcodecall_010_OOGMBeforeFiller.json │ │ │ ├── callcallcodecall_010_SuicideEndFiller.json │ │ │ ├── callcallcodecall_010_SuicideMiddleFiller.json │ │ │ ├── callcallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcallcodecallcode_011Filler.json │ │ │ ├── callcallcodecallcode_011_OOGEFiller.json │ │ │ ├── callcallcodecallcode_011_OOGMAfterFiller.json │ │ │ ├── callcallcodecallcode_011_OOGMBeforeFiller.json │ │ │ ├── callcallcodecallcode_011_SuicideEndFiller.json │ │ │ ├── callcallcodecallcode_011_SuicideMiddleFiller.json │ │ │ ├── callcallcodecallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecall_10Filler.json │ │ │ ├── callcodecall_10_OOGEFiller.json │ │ │ ├── callcodecall_10_SuicideEndFiller.json │ │ │ ├── callcodecallcall_100Filler.json │ │ │ ├── callcodecallcall_100_OOGEFiller.json │ │ │ ├── callcodecallcall_100_OOGMAfterFiller.json │ │ │ ├── callcodecallcall_100_OOGMBeforeFiller.json │ │ │ ├── callcodecallcall_100_SuicideEndFiller.json │ │ │ ├── callcodecallcall_100_SuicideMiddleFiller.json │ │ │ ├── callcodecallcall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcallcode_101Filler.json │ │ │ ├── callcodecallcallcode_101_OOGEFiller.json │ │ │ ├── callcodecallcallcode_101_OOGMAfterFiller.json │ │ │ ├── callcodecallcallcode_101_OOGMBeforeFiller.json │ │ │ ├── callcodecallcallcode_101_SuicideEndFiller.json │ │ │ ├── callcodecallcallcode_101_SuicideMiddleFiller.json │ │ │ ├── callcodecallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcode_11Filler.json │ │ │ ├── callcodecallcode_11_OOGEFiller.json │ │ │ ├── callcodecallcode_11_SuicideEndFiller.json │ │ │ ├── callcodecallcodecall_110Filler.json │ │ │ ├── callcodecallcodecall_110_OOGEFiller.json │ │ │ ├── callcodecallcodecall_110_OOGMAfterFiller.json │ │ │ ├── callcodecallcodecall_110_OOGMBeforeFiller.json │ │ │ ├── callcodecallcodecall_110_SuicideEndFiller.json │ │ │ ├── callcodecallcodecall_110_SuicideMiddleFiller.json │ │ │ ├── callcodecallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── callcodecallcodecallcode_111Filler.json │ │ │ ├── callcodecallcodecallcode_111_OOGEFiller.json │ │ │ ├── callcodecallcodecallcode_111_OOGMAfterFiller.json │ │ │ ├── callcodecallcodecallcode_111_OOGMBeforeFiller.json │ │ │ ├── callcodecallcodecallcode_111_SuicideEndFiller.json │ │ │ ├── callcodecallcodecallcode_111_SuicideMiddleFiller.json │ │ │ └── callcodecallcodecallcode_ABCB_RECURSIVEFiller.json │ │ ├── stChainId/ │ │ │ ├── __init__.py │ │ │ ├── chainIdFiller.json │ │ │ └── chainIdGasCostFiller.json │ │ ├── stCodeCopyTest/ │ │ │ ├── ExtCodeCopyTargetRangeLongerThanCodeTestsFiller.json │ │ │ ├── ExtCodeCopyTestsParisFiller.json │ │ │ └── __init__.py │ │ ├── stCodeSizeLimit/ │ │ │ ├── __init__.py │ │ │ ├── codesizeInitFiller.json │ │ │ ├── codesizeOOGInvalidSizeFiller.json │ │ │ ├── codesizeValidFiller.json │ │ │ ├── create2CodeSizeLimitFiller.yml │ │ │ └── createCodeSizeLimitFiller.yml │ │ ├── stCreate2/ │ │ │ ├── CREATE2_Bounds2Filler.json │ │ │ ├── CREATE2_Bounds3Filler.json │ │ │ ├── CREATE2_BoundsFiller.json │ │ │ ├── CREATE2_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json │ │ │ ├── CREATE2_FirstByte_loopFiller.yml │ │ │ ├── CREATE2_HighNonceDelegatecallFiller.yml │ │ │ ├── CREATE2_HighNonceFiller.yml │ │ │ ├── CREATE2_HighNonceMinus1Filler.yml │ │ │ ├── CREATE2_SuicideFiller.json │ │ │ ├── Create2OOGFromCallRefundsFiller.yml │ │ │ ├── Create2OOGafterInitCodeFiller.json │ │ │ ├── Create2OOGafterInitCodeReturndata2Filler.json │ │ │ ├── Create2OOGafterInitCodeReturndata3Filler.json │ │ │ ├── Create2OOGafterInitCodeReturndataFiller.json │ │ │ ├── Create2OOGafterInitCodeReturndataSizeFiller.json │ │ │ ├── Create2OOGafterInitCodeRevert2Filler.json │ │ │ ├── Create2OOGafterInitCodeRevertFiller.json │ │ │ ├── Create2OnDepth1023Filler.json │ │ │ ├── Create2OnDepth1024Filler.json │ │ │ ├── Create2RecursiveFiller.json │ │ │ ├── CreateMessageRevertedFiller.json │ │ │ ├── CreateMessageRevertedOOGInInit2Filler.json │ │ │ ├── RevertDepthCreate2OOGBerlinFiller.json │ │ │ ├── RevertDepthCreate2OOGFiller.json │ │ │ ├── RevertDepthCreateAddressCollisionBerlinFiller.json │ │ │ ├── RevertDepthCreateAddressCollisionFiller.json │ │ │ ├── RevertInCreateInInitCreate2ParisFiller.json │ │ │ ├── RevertOpcodeCreateFiller.json │ │ │ ├── RevertOpcodeInCreateReturnsCreate2Filler.json │ │ │ ├── __init__.py │ │ │ ├── call_outsize_then_create2_successful_then_returndatasizeFiller.json │ │ │ ├── call_then_create2_successful_then_returndatasizeFiller.json │ │ │ ├── create2InitCodesFiller.json │ │ │ ├── create2SmartInitCodeFiller.json │ │ │ ├── create2callPrecompilesFiller.json │ │ │ ├── create2checkFieldsInInitcodeFiller.json │ │ │ ├── create2collisionBalanceFiller.json │ │ │ ├── create2collisionCode2Filler.json │ │ │ ├── create2collisionCodeFiller.json │ │ │ ├── create2collisionNonceFiller.json │ │ │ ├── create2collisionSelfdestructed2Filler.json │ │ │ ├── create2collisionSelfdestructedFiller.json │ │ │ ├── create2collisionSelfdestructedOOGFiller.json │ │ │ ├── create2collisionSelfdestructedRevertFiller.json │ │ │ ├── create2collisionStorageParisFiller.json │ │ │ ├── create2noCashFiller.json │ │ │ ├── returndatacopy_0_0_following_successful_createFiller.json │ │ │ ├── returndatacopy_afterFailing_createFiller.json │ │ │ ├── returndatacopy_following_createFiller.json │ │ │ ├── returndatacopy_following_revert_in_createFiller.json │ │ │ ├── returndatacopy_following_successful_createFiller.json │ │ │ └── returndatasize_following_successful_createFiller.json │ │ ├── stCreateTest/ │ │ │ ├── CREATE2_CallDataFiller.yml │ │ │ ├── CREATE2_RefundEFFiller.yml │ │ │ ├── CREATE_ContractRETURNBigOffsetFiller.yml │ │ │ ├── CREATE_ContractSSTOREDuringInitFiller.json │ │ │ ├── CREATE_EContractCreateEContractInInit_TrFiller.json │ │ │ ├── CREATE_EContractCreateNEContractInInitOOG_TrFiller.json │ │ │ ├── CREATE_EContractCreateNEContractInInit_TrFiller.json │ │ │ ├── CREATE_EContract_ThenCALLToNonExistentAccFiller.json │ │ │ ├── CREATE_EmptyContractAndCallIt_0weiFiller.json │ │ │ ├── CREATE_EmptyContractAndCallIt_1weiFiller.json │ │ │ ├── CREATE_EmptyContractFiller.json │ │ │ ├── CREATE_EmptyContractWithBalanceFiller.json │ │ │ ├── CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json │ │ │ ├── CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json │ │ │ ├── CREATE_EmptyContractWithStorageFiller.json │ │ │ ├── CREATE_HighNonceFiller.yml │ │ │ ├── CREATE_HighNonceMinus1Filler.yml │ │ │ ├── CREATE_empty000CreateinInitCode_TransactionFiller.json │ │ │ ├── CodeInConstructorFiller.yml │ │ │ ├── CreateAddressWarmAfterFailFiller.yml │ │ │ ├── CreateCollisionResultsFiller.yml │ │ │ ├── CreateCollisionToEmpty2Filler.json │ │ │ ├── CreateOOGFromCallRefundsFiller.yml │ │ │ ├── CreateOOGFromEOARefundsFiller.yml │ │ │ ├── CreateOOGafterInitCodeFiller.json │ │ │ ├── CreateOOGafterInitCodeReturndata2Filler.json │ │ │ ├── CreateOOGafterInitCodeReturndata3Filler.json │ │ │ ├── CreateOOGafterInitCodeReturndataFiller.json │ │ │ ├── CreateOOGafterInitCodeReturndataSizeFiller.json │ │ │ ├── CreateOOGafterInitCodeRevert2Filler.json │ │ │ ├── CreateOOGafterInitCodeRevertFiller.json │ │ │ ├── CreateOOGafterMaxCodesizeFiller.yml │ │ │ ├── CreateResultsFiller.yml │ │ │ ├── CreateTransactionCallDataFiller.yml │ │ │ ├── CreateTransactionHighNonceFiller.yml │ │ │ ├── CreateTransactionRefundEFFiller.yml │ │ │ ├── TransactionCollisionToEmpty2Filler.json │ │ │ ├── TransactionCollisionToEmptyButCodeFiller.json │ │ │ ├── TransactionCollisionToEmptyButNonceFiller.json │ │ │ ├── __init__.py │ │ │ ├── createFailResultFiller.yml │ │ │ └── createLargeResultFiller.yml │ │ ├── stDelegatecallTestHomestead/ │ │ │ ├── Call1024BalanceTooLowFiller.json │ │ │ ├── Call1024OOGFiller.json │ │ │ ├── Call1024PreCallsFiller.json │ │ │ ├── CallLoseGasOOGFiller.json │ │ │ ├── CallRecursiveBombPreCallFiller.json │ │ │ ├── CallcodeLoseGasOOGFiller.json │ │ │ ├── Delegatecall1024Filler.json │ │ │ ├── Delegatecall1024OOGFiller.json │ │ │ ├── __init__.py │ │ │ ├── callOutput1Filler.json │ │ │ ├── callOutput2Filler.json │ │ │ ├── callOutput3Filler.json │ │ │ ├── callOutput3partialFailFiller.json │ │ │ ├── callOutput3partialFiller.json │ │ │ ├── callWithHighValueAndGasOOGFiller.json │ │ │ ├── callcodeOutput3Filler.json │ │ │ ├── callcodeWithHighValueAndGasOOGFiller.json │ │ │ ├── deleagateCallAfterValueTransferFiller.json │ │ │ ├── delegatecallAndOOGatTxLevelFiller.json │ │ │ ├── delegatecallBasicFiller.json │ │ │ ├── delegatecallEmptycontractFiller.json │ │ │ ├── delegatecallInInitcodeToEmptyContractFiller.json │ │ │ ├── delegatecallInInitcodeToExistingContractFiller.json │ │ │ ├── delegatecallInInitcodeToExistingContractOOGFiller.json │ │ │ ├── delegatecallOOGinCallFiller.json │ │ │ ├── delegatecallSenderCheckFiller.json │ │ │ ├── delegatecallValueCheckFiller.json │ │ │ ├── delegatecodeDynamicCode2SelfCallFiller.json │ │ │ └── delegatecodeDynamicCodeFiller.json │ │ ├── stEIP150Specific/ │ │ │ ├── CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json │ │ │ ├── CallAskMoreGasOnDepth2ThenTransactionHasFiller.json │ │ │ ├── CallGoesOOGOnSecondLevel2Filler.json │ │ │ ├── CallGoesOOGOnSecondLevelFiller.json │ │ │ ├── CreateAndGasInsideCreateFiller.json │ │ │ ├── DelegateCallOnEIPFiller.json │ │ │ ├── ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json │ │ │ ├── NewGasPriceForCodesFiller.json │ │ │ ├── SuicideToExistingContractFiller.json │ │ │ ├── SuicideToNotExistingContractFiller.json │ │ │ ├── Transaction64Rule_d64e0Filler.json │ │ │ ├── Transaction64Rule_d64m1Filler.json │ │ │ ├── Transaction64Rule_d64p1Filler.json │ │ │ ├── Transaction64Rule_integerBoundariesFiller.yml │ │ │ └── __init__.py │ │ ├── stEIP150singleCodeGasPrices/ │ │ │ ├── RawBalanceGasFiller.json │ │ │ ├── RawCallCodeGasAskFiller.json │ │ │ ├── RawCallCodeGasFiller.json │ │ │ ├── RawCallCodeGasMemoryAskFiller.json │ │ │ ├── RawCallCodeGasMemoryFiller.json │ │ │ ├── RawCallCodeGasValueTransferAskFiller.json │ │ │ ├── RawCallCodeGasValueTransferFiller.json │ │ │ ├── RawCallCodeGasValueTransferMemoryAskFiller.json │ │ │ ├── RawCallCodeGasValueTransferMemoryFiller.json │ │ │ ├── RawCallGasAskFiller.json │ │ │ ├── RawCallGasFiller.json │ │ │ ├── RawCallGasValueTransferAskFiller.json │ │ │ ├── RawCallGasValueTransferFiller.json │ │ │ ├── RawCallGasValueTransferMemoryAskFiller.json │ │ │ ├── RawCallGasValueTransferMemoryFiller.json │ │ │ ├── RawCallMemoryGasAskFiller.json │ │ │ ├── RawCallMemoryGasFiller.json │ │ │ ├── RawCreateFailGasValueTransfer2Filler.json │ │ │ ├── RawCreateFailGasValueTransferFiller.json │ │ │ ├── RawCreateGasFiller.json │ │ │ ├── RawCreateGasMemoryFiller.json │ │ │ ├── RawCreateGasValueTransferFiller.json │ │ │ ├── RawCreateGasValueTransferMemoryFiller.json │ │ │ ├── RawDelegateCallGasAskFiller.json │ │ │ ├── RawDelegateCallGasFiller.json │ │ │ ├── RawDelegateCallGasMemoryAskFiller.json │ │ │ ├── RawDelegateCallGasMemoryFiller.json │ │ │ ├── RawExtCodeCopyGasFiller.json │ │ │ ├── RawExtCodeCopyMemoryGasFiller.json │ │ │ ├── RawExtCodeSizeGasFiller.json │ │ │ ├── __init__.py │ │ │ ├── eip2929-ffFiller.yml │ │ │ ├── eip2929Filler.yml │ │ │ ├── eip2929OOGFiller.yml │ │ │ ├── gasCostBerlinFiller.yml │ │ │ ├── gasCostExpFiller.yml │ │ │ ├── gasCostFiller.yml │ │ │ ├── gasCostJumpFiller.yml │ │ │ ├── gasCostMemSegFiller.yml │ │ │ ├── gasCostMemoryFiller.yml │ │ │ └── gasCostReturnFiller.yml │ │ ├── stEIP1559/ │ │ │ ├── __init__.py │ │ │ ├── baseFeeDiffPlacesFiller.yml │ │ │ ├── baseFeeDiffPlacesOsakaFiller.yml │ │ │ ├── gasPriceDiffPlacesFiller.yml │ │ │ ├── gasPriceDiffPlacesOsakaFiller.yml │ │ │ ├── lowFeeCapFiller.yml │ │ │ ├── lowGasLimitFiller.yml │ │ │ ├── lowGasPriceOldTypesFiller.yml │ │ │ ├── outOfFundsFiller.yml │ │ │ ├── outOfFundsOldTypesFiller.yml │ │ │ ├── senderBalanceFiller.yml │ │ │ ├── tipTooHighFiller.yml │ │ │ ├── transactionIntinsicBug_ParisFiller.yml │ │ │ ├── typeTwoBerlinFiller.yml │ │ │ └── valCausesOOFFiller.yml │ │ ├── stEIP158Specific/ │ │ │ ├── CALL_OneVCallSuicide2Filler.json │ │ │ ├── CALL_OneVCallSuicideFiller.json │ │ │ ├── CALL_ZeroVCallSuicideFiller.json │ │ │ ├── EXP_EmptyFiller.json │ │ │ ├── EXTCODESIZE_toEpmtyParisFiller.json │ │ │ ├── EXTCODESIZE_toNonExistentFiller.json │ │ │ ├── __init__.py │ │ │ ├── callToEmptyThenCallErrorParisFiller.json │ │ │ └── vitalikTransactionTestParisFiller.json │ │ ├── stEIP2930/ │ │ │ ├── __init__.py │ │ │ ├── addressOpcodesFiller.yml │ │ │ ├── coinbaseT01Filler.yml │ │ │ ├── coinbaseT2Filler.yml │ │ │ ├── manualCreateFiller.yml │ │ │ ├── storageCostsFiller.yml │ │ │ ├── transactionCostsFiller.yml │ │ │ └── variedContextFiller.yml │ │ ├── stEIP3607/ │ │ │ ├── __init__.py │ │ │ ├── initCollidingWithNonEmptyAccountFiller.yml │ │ │ ├── transactionCollidingWithNonEmptyAccount_callsFiller.yml │ │ │ ├── transactionCollidingWithNonEmptyAccount_callsItselfFiller.yml │ │ │ ├── transactionCollidingWithNonEmptyAccount_init_ParisFiller.yml │ │ │ └── transactionCollidingWithNonEmptyAccount_send_ParisFiller.yml │ │ ├── stExample/ │ │ │ ├── __init__.py │ │ │ ├── accessListExampleFiller.yml │ │ │ ├── add11Filler.json │ │ │ ├── add11_ymlFiller.yml │ │ │ ├── basefeeExampleFiller.yml │ │ │ ├── eip1559Filler.yml │ │ │ ├── indexesOmitExampleFiller.yml │ │ │ ├── invalidTrFiller.json │ │ │ ├── labelsExampleFiller.yml │ │ │ ├── mergeTestFiller.yml │ │ │ ├── rangesExampleFiller.yml │ │ │ └── yulExampleFiller.yml │ │ ├── stExtCodeHash/ │ │ │ ├── __init__.py │ │ │ ├── callToNonExistentFiller.json │ │ │ ├── callToSuicideThenExtcodehashFiller.json │ │ │ ├── codeCopyZero_ParisFiller.yml │ │ │ ├── createEmptyThenExtcodehashFiller.json │ │ │ ├── dynamicAccountOverwriteEmpty_ParisFiller.yml │ │ │ ├── extCodeCopyBoundsFiller.yml │ │ │ ├── extCodeHashAccountWithoutCodeFiller.yml │ │ │ ├── extCodeHashCALLCODEFiller.json │ │ │ ├── extCodeHashCALLFiller.json │ │ │ ├── extCodeHashChangedAccountFiller.json │ │ │ ├── extCodeHashCreatedAndDeletedAccountCallFiller.json │ │ │ ├── extCodeHashCreatedAndDeletedAccountFiller.json │ │ │ ├── extCodeHashCreatedAndDeletedAccountRecheckInOuterCallFiller.json │ │ │ ├── extCodeHashCreatedAndDeletedAccountStaticCallFiller.json │ │ │ ├── extCodeHashDELEGATECALLFiller.json │ │ │ ├── extCodeHashDeletedAccount1CancunFiller.yml │ │ │ ├── extCodeHashDeletedAccount1Filler.yml │ │ │ ├── extCodeHashDeletedAccount2CancunFiller.yml │ │ │ ├── extCodeHashDeletedAccount2Filler.yml │ │ │ ├── extCodeHashDeletedAccount3Filler.yml │ │ │ ├── extCodeHashDeletedAccount4Filler.yml │ │ │ ├── extCodeHashDeletedAccountCancunFiller.yml │ │ │ ├── extCodeHashDeletedAccountFiller.yml │ │ │ ├── extCodeHashDynamicArgumentFiller.json │ │ │ ├── extCodeHashInInitCodeFiller.json │ │ │ ├── extCodeHashMaxCodeSizeFiller.yml │ │ │ ├── extCodeHashNewAccountFiller.json │ │ │ ├── extCodeHashNonExistingAccountFiller.yml │ │ │ ├── extCodeHashPrecompilesFiller.yml │ │ │ ├── extCodeHashSTATICCALLFiller.json │ │ │ ├── extCodeHashSelfFiller.json │ │ │ ├── extCodeHashSelfInInitFiller.json │ │ │ ├── extCodeHashSubcallOOGFiller.yml │ │ │ ├── extCodeHashSubcallSuicideCancunFiller.yml │ │ │ ├── extCodeHashSubcallSuicideFiller.yml │ │ │ └── extcodehashEmpty_ParisFiller.yml │ │ ├── stHomesteadSpecific/ │ │ │ ├── __init__.py │ │ │ ├── contractCreationOOGdontLeaveEmptyContractFiller.json │ │ │ ├── contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json │ │ │ ├── createContractViaContractFiller.json │ │ │ ├── createContractViaContractOOGInitCodeFiller.json │ │ │ └── createContractViaTransactionCost53000Filler.json │ │ ├── stInitCodeTest/ │ │ │ ├── CallContractToCreateContractAndCallItOOGFiller.json │ │ │ ├── CallContractToCreateContractNoCashFiller.json │ │ │ ├── CallContractToCreateContractOOGBonusGasFiller.json │ │ │ ├── CallContractToCreateContractOOGFiller.json │ │ │ ├── CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json │ │ │ ├── CallContractToCreateContractWhichWouldCreateContractInInitCodeFiller.json │ │ │ ├── CallRecursiveContractFiller.json │ │ │ ├── CallTheContractToCreateEmptyContractFiller.json │ │ │ ├── OutOfGasContractCreationFiller.json │ │ │ ├── OutOfGasPrefundedContractCreationFiller.json │ │ │ ├── ReturnTest2Filler.json │ │ │ ├── ReturnTestFiller.json │ │ │ ├── StackUnderFlowContractCreationFiller.json │ │ │ ├── TransactionCreateAutoSuicideContractFiller.json │ │ │ ├── TransactionCreateRandomInitCodeFiller.json │ │ │ ├── TransactionCreateStopInInitcodeFiller.json │ │ │ ├── TransactionCreateSuicideInInitcodeFiller.json │ │ │ └── __init__.py │ │ ├── stLogTests/ │ │ │ ├── __init__.py │ │ │ ├── log0_emptyMemFiller.json │ │ │ ├── log0_logMemStartTooHighFiller.json │ │ │ ├── log0_logMemsizeTooHighFiller.json │ │ │ ├── log0_logMemsizeZeroFiller.json │ │ │ ├── log0_nonEmptyMemFiller.json │ │ │ ├── log0_nonEmptyMem_logMemSize1Filler.json │ │ │ ├── log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json │ │ │ ├── log1_CallerFiller.json │ │ │ ├── log1_MaxTopicFiller.json │ │ │ ├── log1_emptyMemFiller.json │ │ │ ├── log1_logMemStartTooHighFiller.json │ │ │ ├── log1_logMemsizeTooHighFiller.json │ │ │ ├── log1_logMemsizeZeroFiller.json │ │ │ ├── log1_nonEmptyMemFiller.json │ │ │ ├── log1_nonEmptyMem_logMemSize1Filler.json │ │ │ ├── log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json │ │ │ ├── log2_CallerFiller.json │ │ │ ├── log2_MaxTopicFiller.json │ │ │ ├── log2_emptyMemFiller.json │ │ │ ├── log2_logMemStartTooHighFiller.json │ │ │ ├── log2_logMemsizeTooHighFiller.json │ │ │ ├── log2_logMemsizeZeroFiller.json │ │ │ ├── log2_nonEmptyMemFiller.json │ │ │ ├── log2_nonEmptyMem_logMemSize1Filler.json │ │ │ ├── log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json │ │ │ ├── log3_CallerFiller.json │ │ │ ├── log3_MaxTopicFiller.json │ │ │ ├── log3_PCFiller.json │ │ │ ├── log3_emptyMemFiller.json │ │ │ ├── log3_logMemStartTooHighFiller.json │ │ │ ├── log3_logMemsizeTooHighFiller.json │ │ │ ├── log3_logMemsizeZeroFiller.json │ │ │ ├── log3_nonEmptyMemFiller.json │ │ │ ├── log3_nonEmptyMem_logMemSize1Filler.json │ │ │ ├── log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json │ │ │ ├── log4_CallerFiller.json │ │ │ ├── log4_MaxTopicFiller.json │ │ │ ├── log4_PCFiller.json │ │ │ ├── log4_emptyMemFiller.json │ │ │ ├── log4_logMemStartTooHighFiller.json │ │ │ ├── log4_logMemsizeTooHighFiller.json │ │ │ ├── log4_logMemsizeZeroFiller.json │ │ │ ├── log4_nonEmptyMemFiller.json │ │ │ ├── log4_nonEmptyMem_logMemSize1Filler.json │ │ │ ├── log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json │ │ │ └── logInOOG_CallFiller.json │ │ ├── stMemExpandingEIP150Calls/ │ │ │ ├── CallAndCallcodeConsumeMoreGasThenTransactionHasWithMemExpandingCallsFiller.json │ │ │ ├── CallAskMoreGasOnDepth2ThenTransactionHasWithMemExpandingCallsFiller.json │ │ │ ├── CallGoesOOGOnSecondLevel2WithMemExpandingCallsFiller.json │ │ │ ├── CallGoesOOGOnSecondLevelWithMemExpandingCallsFiller.json │ │ │ ├── CreateAndGasInsideCreateWithMemExpandingCallsFiller.json │ │ │ ├── DelegateCallOnEIPWithMemExpandingCallsFiller.json │ │ │ ├── ExecuteCallThatAskMoreGasThenTransactionHasWithMemExpandingCallsFiller.json │ │ │ ├── NewGasPriceForCodesWithMemExpandingCallsFiller.json │ │ │ ├── OOGinReturnFiller.yml │ │ │ └── __init__.py │ │ ├── stMemoryStressTest/ │ │ │ ├── CALLCODE_Bounds2Filler.json │ │ │ ├── CALLCODE_Bounds3Filler.json │ │ │ ├── CALLCODE_Bounds4Filler.json │ │ │ ├── CALLCODE_BoundsFiller.json │ │ │ ├── CALL_Bounds2Filler.json │ │ │ ├── CALL_Bounds2aFiller.json │ │ │ ├── CALL_Bounds3Filler.json │ │ │ ├── CALL_BoundsFiller.json │ │ │ ├── CREATE_Bounds2Filler.json │ │ │ ├── CREATE_Bounds3Filler.json │ │ │ ├── CREATE_BoundsFiller.json │ │ │ ├── DELEGATECALL_Bounds2Filler.json │ │ │ ├── DELEGATECALL_Bounds3Filler.json │ │ │ ├── DELEGATECALL_BoundsFiller.json │ │ │ ├── DUP_BoundsFiller.json │ │ │ ├── FillStackFiller.json │ │ │ ├── JUMPI_BoundsFiller.json │ │ │ ├── JUMP_Bounds2Filler.json │ │ │ ├── JUMP_BoundsFiller.json │ │ │ ├── MLOAD_Bounds2Filler.json │ │ │ ├── MLOAD_Bounds3Filler.json │ │ │ ├── MLOAD_BoundsFiller.json │ │ │ ├── MSTORE_Bounds2Filler.json │ │ │ ├── MSTORE_Bounds2aFiller.json │ │ │ ├── MSTORE_BoundsFiller.json │ │ │ ├── POP_BoundsFiller.json │ │ │ ├── RETURN_BoundsFiller.json │ │ │ ├── SLOAD_BoundsFiller.json │ │ │ ├── SSTORE_BoundsFiller.json │ │ │ ├── __init__.py │ │ │ ├── mload32bitBound2Filler.json │ │ │ ├── mload32bitBoundFiller.json │ │ │ ├── mload32bitBound_MsizeFiller.json │ │ │ ├── mload32bitBound_return2Filler.json │ │ │ ├── mload32bitBound_returnFiller.json │ │ │ ├── static_CALL_Bounds2Filler.json │ │ │ ├── static_CALL_Bounds2aFiller.json │ │ │ ├── static_CALL_Bounds3Filler.json │ │ │ └── static_CALL_BoundsFiller.json │ │ ├── stMemoryTest/ │ │ │ ├── __init__.py │ │ │ ├── bufferFiller.yml │ │ │ ├── bufferSrcOffsetFiller.yml │ │ │ ├── callDataCopyOffsetFiller.json │ │ │ ├── calldatacopy_dejavu2Filler.json │ │ │ ├── calldatacopy_dejavuFiller.json │ │ │ ├── codeCopyOffsetFiller.json │ │ │ ├── codecopy_dejavu2Filler.json │ │ │ ├── codecopy_dejavuFiller.json │ │ │ ├── extcodecopy_dejavuFiller.json │ │ │ ├── log1_dejavuFiller.json │ │ │ ├── log2_dejavuFiller.json │ │ │ ├── log3_dejavuFiller.json │ │ │ ├── log4_dejavuFiller.json │ │ │ ├── mem0b_singleByteFiller.json │ │ │ ├── mem31b_singleByteFiller.json │ │ │ ├── mem32b_singleByteFiller.json │ │ │ ├── mem32kb+1Filler.json │ │ │ ├── mem32kb+31Filler.json │ │ │ ├── mem32kb+32Filler.json │ │ │ ├── mem32kb+33Filler.json │ │ │ ├── mem32kb-1Filler.json │ │ │ ├── mem32kb-31Filler.json │ │ │ ├── mem32kb-32Filler.json │ │ │ ├── mem32kb-33Filler.json │ │ │ ├── mem32kbFiller.json │ │ │ ├── mem32kb_singleByte+1Filler.json │ │ │ ├── mem32kb_singleByte+31Filler.json │ │ │ ├── mem32kb_singleByte+32Filler.json │ │ │ ├── mem32kb_singleByte+33Filler.json │ │ │ ├── mem32kb_singleByte-1Filler.json │ │ │ ├── mem32kb_singleByte-31Filler.json │ │ │ ├── mem32kb_singleByte-32Filler.json │ │ │ ├── mem32kb_singleByte-33Filler.json │ │ │ ├── mem32kb_singleByteFiller.json │ │ │ ├── mem33b_singleByteFiller.json │ │ │ ├── mem64kb+1Filler.json │ │ │ ├── mem64kb+31Filler.json │ │ │ ├── mem64kb+32Filler.json │ │ │ ├── mem64kb+33Filler.json │ │ │ ├── mem64kb-1Filler.json │ │ │ ├── mem64kb-31Filler.json │ │ │ ├── mem64kb-32Filler.json │ │ │ ├── mem64kb-33Filler.json │ │ │ ├── mem64kbFiller.json │ │ │ ├── mem64kb_singleByte+1Filler.json │ │ │ ├── mem64kb_singleByte+31Filler.json │ │ │ ├── mem64kb_singleByte+32Filler.json │ │ │ ├── mem64kb_singleByte+33Filler.json │ │ │ ├── mem64kb_singleByte-1Filler.json │ │ │ ├── mem64kb_singleByte-31Filler.json │ │ │ ├── mem64kb_singleByte-32Filler.json │ │ │ ├── mem64kb_singleByte-33Filler.json │ │ │ ├── mem64kb_singleByteFiller.json │ │ │ ├── memCopySelfFiller.yml │ │ │ ├── memReturnFiller.json │ │ │ ├── mload16bitBoundFiller.json │ │ │ ├── mload8bitBoundFiller.json │ │ │ ├── mload_dejavuFiller.json │ │ │ ├── mstore_dejavuFiller.json │ │ │ ├── mstroe8_dejavuFiller.json │ │ │ ├── oogFiller.yml │ │ │ ├── sha3_dejavuFiller.json │ │ │ ├── stackLimitGas_1023Filler.json │ │ │ ├── stackLimitGas_1024Filler.json │ │ │ ├── stackLimitGas_1025Filler.json │ │ │ ├── stackLimitPush31_1023Filler.json │ │ │ ├── stackLimitPush31_1024Filler.json │ │ │ ├── stackLimitPush31_1025Filler.json │ │ │ ├── stackLimitPush32_1023Filler.json │ │ │ ├── stackLimitPush32_1024Filler.json │ │ │ └── stackLimitPush32_1025Filler.json │ │ ├── stNonZeroCallsTest/ │ │ │ ├── NonZeroValue_CALLCODEFiller.json │ │ │ ├── NonZeroValue_CALLCODE_ToEmpty_ParisFiller.json │ │ │ ├── NonZeroValue_CALLCODE_ToNonNonZeroBalanceFiller.json │ │ │ ├── NonZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json │ │ │ ├── NonZeroValue_CALLFiller.json │ │ │ ├── NonZeroValue_CALL_ToEmpty_ParisFiller.json │ │ │ ├── NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json │ │ │ ├── NonZeroValue_CALL_ToOneStorageKey_ParisFiller.json │ │ │ ├── NonZeroValue_DELEGATECALLFiller.json │ │ │ ├── NonZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json │ │ │ ├── NonZeroValue_DELEGATECALL_ToNonNonZeroBalanceFiller.json │ │ │ ├── NonZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json │ │ │ ├── NonZeroValue_SUICIDEFiller.json │ │ │ ├── NonZeroValue_SUICIDE_ToEmpty_ParisFiller.json │ │ │ ├── NonZeroValue_SUICIDE_ToNonNonZeroBalanceFiller.json │ │ │ ├── NonZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json │ │ │ ├── NonZeroValue_TransactionCALLFiller.json │ │ │ ├── NonZeroValue_TransactionCALL_ToEmpty_ParisFiller.json │ │ │ ├── NonZeroValue_TransactionCALL_ToNonNonZeroBalanceFiller.json │ │ │ ├── NonZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json │ │ │ ├── NonZeroValue_TransactionCALLwithDataFiller.json │ │ │ ├── NonZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json │ │ │ ├── NonZeroValue_TransactionCALLwithData_ToNonNonZeroBalanceFiller.json │ │ │ ├── NonZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json │ │ │ └── __init__.py │ │ ├── stPreCompiledContracts/ │ │ │ ├── __init__.py │ │ │ ├── modexpFiller.json │ │ │ ├── modexpTestsFiller.yml │ │ │ ├── precompsEIP2929CancunFiller.yml │ │ │ └── sec80Filler.json │ │ ├── stPreCompiledContracts2/ │ │ │ ├── CALLCODEEcrecover0Filler.json │ │ │ ├── CALLCODEEcrecover0_0inputFiller.json │ │ │ ├── CALLCODEEcrecover0_Gas2999Filler.json │ │ │ ├── CALLCODEEcrecover0_NoGasFiller.json │ │ │ ├── CALLCODEEcrecover0_completeReturnValueFiller.json │ │ │ ├── CALLCODEEcrecover0_gas3000Filler.json │ │ │ ├── CALLCODEEcrecover0_overlappingInputOutputFiller.json │ │ │ ├── CALLCODEEcrecover1Filler.json │ │ │ ├── CALLCODEEcrecover2Filler.json │ │ │ ├── CALLCODEEcrecover3Filler.json │ │ │ ├── CALLCODEEcrecover80Filler.json │ │ │ ├── CALLCODEEcrecoverH_prefixed0Filler.json │ │ │ ├── CALLCODEEcrecoverR_prefixed0Filler.json │ │ │ ├── CALLCODEEcrecoverS_prefixed0Filler.json │ │ │ ├── CALLCODEEcrecoverV_prefixed0Filler.json │ │ │ ├── CALLCODEEcrecoverV_prefixedf0Filler.json │ │ │ ├── CALLCODERipemd160_0Filler.json │ │ │ ├── CALLCODERipemd160_1Filler.json │ │ │ ├── CALLCODERipemd160_2Filler.json │ │ │ ├── CALLCODERipemd160_3Filler.json │ │ │ ├── CALLCODERipemd160_3_postfixed0Filler.json │ │ │ ├── CALLCODERipemd160_3_prefixed0Filler.json │ │ │ ├── CALLCODERipemd160_4Filler.json │ │ │ ├── CALLCODERipemd160_4_gas719Filler.json │ │ │ ├── CALLCODERipemd160_5Filler.json │ │ │ ├── CALLCODESha256_0Filler.json │ │ │ ├── CALLCODESha256_1Filler.json │ │ │ ├── CALLCODESha256_1_nonzeroValueFiller.json │ │ │ ├── CALLCODESha256_2Filler.json │ │ │ ├── CALLCODESha256_3Filler.json │ │ │ ├── CALLCODESha256_3_postfix0Filler.json │ │ │ ├── CALLCODESha256_3_prefix0Filler.json │ │ │ ├── CALLCODESha256_4Filler.json │ │ │ ├── CALLCODESha256_4_gas99Filler.json │ │ │ ├── CALLCODESha256_5Filler.json │ │ │ ├── CallEcrecover0Filler.json │ │ │ ├── CallEcrecover0_0inputFiller.json │ │ │ ├── CallEcrecover0_Gas2999Filler.json │ │ │ ├── CallEcrecover0_NoGasFiller.json │ │ │ ├── CallEcrecover0_completeReturnValueFiller.json │ │ │ ├── CallEcrecover0_gas3000Filler.json │ │ │ ├── CallEcrecover0_overlappingInputOutputFiller.json │ │ │ ├── CallEcrecover1Filler.json │ │ │ ├── CallEcrecover2Filler.json │ │ │ ├── CallEcrecover3Filler.json │ │ │ ├── CallEcrecover80Filler.json │ │ │ ├── CallEcrecoverCheckLengthFiller.json │ │ │ ├── CallEcrecoverCheckLengthWrongVFiller.json │ │ │ ├── CallEcrecoverH_prefixed0Filler.json │ │ │ ├── CallEcrecoverInvalidSignatureFiller.json │ │ │ ├── CallEcrecoverR_prefixed0Filler.json │ │ │ ├── CallEcrecoverS_prefixed0Filler.json │ │ │ ├── CallEcrecoverUnrecoverableKeyFiller.json │ │ │ ├── CallEcrecoverV_prefixed0Filler.json │ │ │ ├── CallEcrecover_OverflowFiller.yml │ │ │ ├── CallRipemd160_0Filler.json │ │ │ ├── CallRipemd160_1Filler.json │ │ │ ├── CallRipemd160_2Filler.json │ │ │ ├── CallRipemd160_3Filler.json │ │ │ ├── CallRipemd160_3_postfixed0Filler.json │ │ │ ├── CallRipemd160_3_prefixed0Filler.json │ │ │ ├── CallRipemd160_4Filler.json │ │ │ ├── CallRipemd160_4_gas719Filler.json │ │ │ ├── CallRipemd160_5Filler.json │ │ │ ├── CallSha256_0Filler.json │ │ │ ├── CallSha256_1Filler.json │ │ │ ├── CallSha256_1_nonzeroValueFiller.json │ │ │ ├── CallSha256_2Filler.json │ │ │ ├── CallSha256_3Filler.json │ │ │ ├── CallSha256_3_postfix0Filler.json │ │ │ ├── CallSha256_3_prefix0Filler.json │ │ │ ├── CallSha256_4Filler.json │ │ │ ├── CallSha256_4_gas99Filler.json │ │ │ ├── CallSha256_5Filler.json │ │ │ ├── __init__.py │ │ │ ├── ecrecoverShortBuffFiller.yml │ │ │ ├── ecrecoverWeirdVFiller.yml │ │ │ ├── modexpRandomInputFiller.json │ │ │ ├── modexp_0_0_0_20500Filler.json │ │ │ ├── modexp_0_0_0_22000Filler.json │ │ │ ├── modexp_0_0_0_25000Filler.json │ │ │ └── modexp_0_0_0_35000Filler.json │ │ ├── stQuadraticComplexityTest/ │ │ │ ├── Call1MB1024CalldepthFiller.json │ │ │ ├── Call20KbytesContract50_1Filler.json │ │ │ ├── Call20KbytesContract50_2Filler.json │ │ │ ├── Call20KbytesContract50_3Filler.json │ │ │ ├── Call50000Filler.json │ │ │ ├── Call50000_ecrecFiller.json │ │ │ ├── Call50000_identity2Filler.json │ │ │ ├── Call50000_identityFiller.json │ │ │ ├── Call50000_rip160Filler.json │ │ │ ├── Call50000_sha256Filler.json │ │ │ ├── Callcode50000Filler.json │ │ │ ├── Create1000ByzantiumFiller.json │ │ │ ├── Create1000Filler.json │ │ │ ├── Create1000ShnghaiFiller.json │ │ │ ├── QuadraticComplexitySolidity_CallDataCopyFiller.json │ │ │ ├── Return50000Filler.json │ │ │ ├── Return50000_2Filler.json │ │ │ └── __init__.py │ │ ├── stRandom/ │ │ │ ├── __init__.py │ │ │ ├── randomStatetest0Filler.json │ │ │ ├── randomStatetest100Filler.json │ │ │ ├── randomStatetest102Filler.json │ │ │ ├── randomStatetest103Filler.json │ │ │ ├── randomStatetest104Filler.json │ │ │ ├── randomStatetest105Filler.json │ │ │ ├── randomStatetest106Filler.json │ │ │ ├── randomStatetest107Filler.json │ │ │ ├── randomStatetest108Filler.json │ │ │ ├── randomStatetest10Filler.json │ │ │ ├── randomStatetest110Filler.json │ │ │ ├── randomStatetest111Filler.json │ │ │ ├── randomStatetest112Filler.json │ │ │ ├── randomStatetest114Filler.json │ │ │ ├── randomStatetest115Filler.json │ │ │ ├── randomStatetest116Filler.json │ │ │ ├── randomStatetest117Filler.json │ │ │ ├── randomStatetest118Filler.json │ │ │ ├── randomStatetest119Filler.json │ │ │ ├── randomStatetest11Filler.json │ │ │ ├── randomStatetest120Filler.json │ │ │ ├── randomStatetest121Filler.json │ │ │ ├── randomStatetest122Filler.json │ │ │ ├── randomStatetest124Filler.json │ │ │ ├── randomStatetest125Filler.json │ │ │ ├── randomStatetest126Filler.json │ │ │ ├── randomStatetest129Filler.json │ │ │ ├── randomStatetest12Filler.json │ │ │ ├── randomStatetest130Filler.json │ │ │ ├── randomStatetest131Filler.json │ │ │ ├── randomStatetest133Filler.json │ │ │ ├── randomStatetest134Filler.json │ │ │ ├── randomStatetest135Filler.json │ │ │ ├── randomStatetest137Filler.json │ │ │ ├── randomStatetest138Filler.json │ │ │ ├── randomStatetest139Filler.json │ │ │ ├── randomStatetest13Filler.json │ │ │ ├── randomStatetest142Filler.json │ │ │ ├── randomStatetest143Filler.json │ │ │ ├── randomStatetest144Filler.json │ │ │ ├── randomStatetest145Filler.json │ │ │ ├── randomStatetest146Filler.json │ │ │ ├── randomStatetest147Filler.json │ │ │ ├── randomStatetest148Filler.json │ │ │ ├── randomStatetest149Filler.json │ │ │ ├── randomStatetest14Filler.json │ │ │ ├── randomStatetest150Filler.json │ │ │ ├── randomStatetest151Filler.json │ │ │ ├── randomStatetest153Filler.json │ │ │ ├── randomStatetest154Filler.json │ │ │ ├── randomStatetest155Filler.json │ │ │ ├── randomStatetest156Filler.json │ │ │ ├── randomStatetest157Filler.json │ │ │ ├── randomStatetest158Filler.json │ │ │ ├── randomStatetest159Filler.json │ │ │ ├── randomStatetest15Filler.json │ │ │ ├── randomStatetest161Filler.json │ │ │ ├── randomStatetest162Filler.json │ │ │ ├── randomStatetest163Filler.json │ │ │ ├── randomStatetest164Filler.json │ │ │ ├── randomStatetest166Filler.json │ │ │ ├── randomStatetest167Filler.json │ │ │ ├── randomStatetest169Filler.json │ │ │ ├── randomStatetest16Filler.json │ │ │ ├── randomStatetest171Filler.json │ │ │ ├── randomStatetest172Filler.json │ │ │ ├── randomStatetest173Filler.json │ │ │ ├── randomStatetest174Filler.json │ │ │ ├── randomStatetest175Filler.json │ │ │ ├── randomStatetest176Filler.json │ │ │ ├── randomStatetest177Filler.json │ │ │ ├── randomStatetest178Filler.json │ │ │ ├── randomStatetest179Filler.json │ │ │ ├── randomStatetest17Filler.json │ │ │ ├── randomStatetest180Filler.json │ │ │ ├── randomStatetest183Filler.json │ │ │ ├── randomStatetest184Filler.json │ │ │ ├── randomStatetest185Filler.json │ │ │ ├── randomStatetest187Filler.json │ │ │ ├── randomStatetest188Filler.json │ │ │ ├── randomStatetest189Filler.json │ │ │ ├── randomStatetest18Filler.json │ │ │ ├── randomStatetest190Filler.json │ │ │ ├── randomStatetest191Filler.json │ │ │ ├── randomStatetest192Filler.json │ │ │ ├── randomStatetest194Filler.json │ │ │ ├── randomStatetest195Filler.json │ │ │ ├── randomStatetest196Filler.json │ │ │ ├── randomStatetest197Filler.json │ │ │ ├── randomStatetest198Filler.json │ │ │ ├── randomStatetest199Filler.json │ │ │ ├── randomStatetest19Filler.json │ │ │ ├── randomStatetest1Filler.json │ │ │ ├── randomStatetest200Filler.json │ │ │ ├── randomStatetest201Filler.json │ │ │ ├── randomStatetest202Filler.json │ │ │ ├── randomStatetest204Filler.json │ │ │ ├── randomStatetest205Filler.json │ │ │ ├── randomStatetest206Filler.json │ │ │ ├── randomStatetest207Filler.json │ │ │ ├── randomStatetest208Filler.json │ │ │ ├── randomStatetest209Filler.json │ │ │ ├── randomStatetest20Filler.json │ │ │ ├── randomStatetest210Filler.json │ │ │ ├── randomStatetest211Filler.json │ │ │ ├── randomStatetest212Filler.json │ │ │ ├── randomStatetest214Filler.json │ │ │ ├── randomStatetest215Filler.json │ │ │ ├── randomStatetest216Filler.json │ │ │ ├── randomStatetest217Filler.json │ │ │ ├── randomStatetest219Filler.json │ │ │ ├── randomStatetest220Filler.json │ │ │ ├── randomStatetest221Filler.json │ │ │ ├── randomStatetest222Filler.json │ │ │ ├── randomStatetest225Filler.json │ │ │ ├── randomStatetest226Filler.json │ │ │ ├── randomStatetest227Filler.json │ │ │ ├── randomStatetest228Filler.json │ │ │ ├── randomStatetest22Filler.json │ │ │ ├── randomStatetest230Filler.json │ │ │ ├── randomStatetest231Filler.json │ │ │ ├── randomStatetest232Filler.json │ │ │ ├── randomStatetest233Filler.json │ │ │ ├── randomStatetest236Filler.json │ │ │ ├── randomStatetest237Filler.json │ │ │ ├── randomStatetest238Filler.json │ │ │ ├── randomStatetest23Filler.json │ │ │ ├── randomStatetest242Filler.json │ │ │ ├── randomStatetest243Filler.json │ │ │ ├── randomStatetest244Filler.json │ │ │ ├── randomStatetest245Filler.json │ │ │ ├── randomStatetest246Filler.json │ │ │ ├── randomStatetest247Filler.json │ │ │ ├── randomStatetest248Filler.json │ │ │ ├── randomStatetest249Filler.json │ │ │ ├── randomStatetest24Filler.json │ │ │ ├── randomStatetest250Filler.json │ │ │ ├── randomStatetest251Filler.json │ │ │ ├── randomStatetest252Filler.json │ │ │ ├── randomStatetest254Filler.json │ │ │ ├── randomStatetest257Filler.json │ │ │ ├── randomStatetest259Filler.json │ │ │ ├── randomStatetest25Filler.json │ │ │ ├── randomStatetest260Filler.json │ │ │ ├── randomStatetest261Filler.json │ │ │ ├── randomStatetest263Filler.json │ │ │ ├── randomStatetest264Filler.json │ │ │ ├── randomStatetest265Filler.json │ │ │ ├── randomStatetest266Filler.json │ │ │ ├── randomStatetest267Filler.json │ │ │ ├── randomStatetest268Filler.json │ │ │ ├── randomStatetest269Filler.json │ │ │ ├── randomStatetest26Filler.json │ │ │ ├── randomStatetest270Filler.json │ │ │ ├── randomStatetest271Filler.json │ │ │ ├── randomStatetest273Filler.json │ │ │ ├── randomStatetest274Filler.json │ │ │ ├── randomStatetest275Filler.json │ │ │ ├── randomStatetest276Filler.json │ │ │ ├── randomStatetest278Filler.json │ │ │ ├── randomStatetest279Filler.json │ │ │ ├── randomStatetest27Filler.json │ │ │ ├── randomStatetest280Filler.json │ │ │ ├── randomStatetest281Filler.json │ │ │ ├── randomStatetest282Filler.json │ │ │ ├── randomStatetest283Filler.json │ │ │ ├── randomStatetest285Filler.json │ │ │ ├── randomStatetest286Filler.json │ │ │ ├── randomStatetest287Filler.json │ │ │ ├── randomStatetest288Filler.json │ │ │ ├── randomStatetest28Filler.json │ │ │ ├── randomStatetest290Filler.json │ │ │ ├── randomStatetest291Filler.json │ │ │ ├── randomStatetest292Filler.json │ │ │ ├── randomStatetest293Filler.json │ │ │ ├── randomStatetest294Filler.json │ │ │ ├── randomStatetest295Filler.json │ │ │ ├── randomStatetest296Filler.json │ │ │ ├── randomStatetest297Filler.json │ │ │ ├── randomStatetest298Filler.json │ │ │ ├── randomStatetest299Filler.json │ │ │ ├── randomStatetest29Filler.json │ │ │ ├── randomStatetest2Filler.json │ │ │ ├── randomStatetest300Filler.json │ │ │ ├── randomStatetest301Filler.json │ │ │ ├── randomStatetest302Filler.json │ │ │ ├── randomStatetest303Filler.json │ │ │ ├── randomStatetest304Filler.json │ │ │ ├── randomStatetest305Filler.json │ │ │ ├── randomStatetest306Filler.json │ │ │ ├── randomStatetest307Filler.json │ │ │ ├── randomStatetest308Filler.json │ │ │ ├── randomStatetest309Filler.json │ │ │ ├── randomStatetest30Filler.json │ │ │ ├── randomStatetest310Filler.json │ │ │ ├── randomStatetest311Filler.json │ │ │ ├── randomStatetest312Filler.json │ │ │ ├── randomStatetest313Filler.json │ │ │ ├── randomStatetest315Filler.json │ │ │ ├── randomStatetest316Filler.json │ │ │ ├── randomStatetest318Filler.json │ │ │ ├── randomStatetest31Filler.json │ │ │ ├── randomStatetest320Filler.json │ │ │ ├── randomStatetest321Filler.json │ │ │ ├── randomStatetest322Filler.json │ │ │ ├── randomStatetest323Filler.json │ │ │ ├── randomStatetest325Filler.json │ │ │ ├── randomStatetest326Filler.json │ │ │ ├── randomStatetest327Filler.json │ │ │ ├── randomStatetest329Filler.json │ │ │ ├── randomStatetest332Filler.json │ │ │ ├── randomStatetest333Filler.json │ │ │ ├── randomStatetest334Filler.json │ │ │ ├── randomStatetest335Filler.json │ │ │ ├── randomStatetest336Filler.json │ │ │ ├── randomStatetest337Filler.json │ │ │ ├── randomStatetest338Filler.json │ │ │ ├── randomStatetest339Filler.json │ │ │ ├── randomStatetest33Filler.json │ │ │ ├── randomStatetest340Filler.json │ │ │ ├── randomStatetest341Filler.json │ │ │ ├── randomStatetest342Filler.json │ │ │ ├── randomStatetest343Filler.json │ │ │ ├── randomStatetest345Filler.json │ │ │ ├── randomStatetest346Filler.json │ │ │ ├── randomStatetest347Filler.json │ │ │ ├── randomStatetest348Filler.json │ │ │ ├── randomStatetest349Filler.json │ │ │ ├── randomStatetest350Filler.json │ │ │ ├── randomStatetest351Filler.json │ │ │ ├── randomStatetest352Filler.json │ │ │ ├── randomStatetest353Filler.json │ │ │ ├── randomStatetest354Filler.json │ │ │ ├── randomStatetest355Filler.json │ │ │ ├── randomStatetest356Filler.json │ │ │ ├── randomStatetest357Filler.json │ │ │ ├── randomStatetest358Filler.json │ │ │ ├── randomStatetest359Filler.json │ │ │ ├── randomStatetest360Filler.json │ │ │ ├── randomStatetest361Filler.json │ │ │ ├── randomStatetest362Filler.json │ │ │ ├── randomStatetest363Filler.json │ │ │ ├── randomStatetest364Filler.json │ │ │ ├── randomStatetest365Filler.json │ │ │ ├── randomStatetest366Filler.json │ │ │ ├── randomStatetest367Filler.json │ │ │ ├── randomStatetest368Filler.json │ │ │ ├── randomStatetest369Filler.json │ │ │ ├── randomStatetest36Filler.json │ │ │ ├── randomStatetest370Filler.json │ │ │ ├── randomStatetest371Filler.json │ │ │ ├── randomStatetest372Filler.json │ │ │ ├── randomStatetest376Filler.json │ │ │ ├── randomStatetest378Filler.json │ │ │ ├── randomStatetest379Filler.json │ │ │ ├── randomStatetest37Filler.json │ │ │ ├── randomStatetest380Filler.json │ │ │ ├── randomStatetest381Filler.json │ │ │ ├── randomStatetest382Filler.json │ │ │ ├── randomStatetest383Filler.json │ │ │ ├── randomStatetest384Filler.yml │ │ │ ├── randomStatetest39Filler.json │ │ │ ├── randomStatetest3Filler.json │ │ │ ├── randomStatetest41Filler.json │ │ │ ├── randomStatetest42Filler.json │ │ │ ├── randomStatetest43Filler.json │ │ │ ├── randomStatetest45Filler.json │ │ │ ├── randomStatetest47Filler.json │ │ │ ├── randomStatetest48Filler.json │ │ │ ├── randomStatetest49Filler.json │ │ │ ├── randomStatetest4Filler.json │ │ │ ├── randomStatetest51Filler.json │ │ │ ├── randomStatetest52Filler.json │ │ │ ├── randomStatetest53Filler.json │ │ │ ├── randomStatetest54Filler.json │ │ │ ├── randomStatetest55Filler.json │ │ │ ├── randomStatetest57Filler.json │ │ │ ├── randomStatetest58Filler.json │ │ │ ├── randomStatetest59Filler.json │ │ │ ├── randomStatetest5Filler.json │ │ │ ├── randomStatetest60Filler.json │ │ │ ├── randomStatetest62Filler.json │ │ │ ├── randomStatetest63Filler.json │ │ │ ├── randomStatetest64Filler.json │ │ │ ├── randomStatetest66Filler.json │ │ │ ├── randomStatetest67Filler.json │ │ │ ├── randomStatetest69Filler.json │ │ │ ├── randomStatetest6Filler.json │ │ │ ├── randomStatetest72Filler.json │ │ │ ├── randomStatetest73Filler.json │ │ │ ├── randomStatetest74Filler.json │ │ │ ├── randomStatetest75Filler.json │ │ │ ├── randomStatetest77Filler.json │ │ │ ├── randomStatetest78Filler.json │ │ │ ├── randomStatetest80Filler.json │ │ │ ├── randomStatetest81Filler.json │ │ │ ├── randomStatetest82Filler.json │ │ │ ├── randomStatetest83Filler.json │ │ │ ├── randomStatetest84Filler.json │ │ │ ├── randomStatetest85Filler.json │ │ │ ├── randomStatetest87Filler.json │ │ │ ├── randomStatetest88Filler.json │ │ │ ├── randomStatetest89Filler.json │ │ │ ├── randomStatetest90Filler.json │ │ │ ├── randomStatetest92Filler.json │ │ │ ├── randomStatetest95Filler.json │ │ │ ├── randomStatetest96Filler.json │ │ │ ├── randomStatetest97Filler.json │ │ │ ├── randomStatetest98Filler.json │ │ │ └── randomStatetest9Filler.json │ │ ├── stRandom2/ │ │ │ ├── __init__.py │ │ │ ├── randomStatetest384Filler.json │ │ │ ├── randomStatetest385Filler.json │ │ │ ├── randomStatetest386Filler.json │ │ │ ├── randomStatetest387Filler.json │ │ │ ├── randomStatetest388Filler.json │ │ │ ├── randomStatetest389Filler.json │ │ │ ├── randomStatetest393Filler.json │ │ │ ├── randomStatetest395Filler.json │ │ │ ├── randomStatetest396Filler.json │ │ │ ├── randomStatetest397Filler.json │ │ │ ├── randomStatetest398Filler.json │ │ │ ├── randomStatetest399Filler.json │ │ │ ├── randomStatetest401Filler.json │ │ │ ├── randomStatetest402Filler.json │ │ │ ├── randomStatetest404Filler.json │ │ │ ├── randomStatetest405Filler.json │ │ │ ├── randomStatetest406Filler.json │ │ │ ├── randomStatetest407Filler.json │ │ │ ├── randomStatetest408Filler.json │ │ │ ├── randomStatetest409Filler.json │ │ │ ├── randomStatetest410Filler.json │ │ │ ├── randomStatetest411Filler.json │ │ │ ├── randomStatetest412Filler.json │ │ │ ├── randomStatetest413Filler.json │ │ │ ├── randomStatetest414Filler.json │ │ │ ├── randomStatetest415Filler.json │ │ │ ├── randomStatetest416Filler.json │ │ │ ├── randomStatetest417Filler.json │ │ │ ├── randomStatetest418Filler.json │ │ │ ├── randomStatetest419Filler.json │ │ │ ├── randomStatetest420Filler.json │ │ │ ├── randomStatetest421Filler.json │ │ │ ├── randomStatetest422Filler.json │ │ │ ├── randomStatetest424Filler.json │ │ │ ├── randomStatetest425Filler.json │ │ │ ├── randomStatetest426Filler.json │ │ │ ├── randomStatetest428Filler.json │ │ │ ├── randomStatetest429Filler.json │ │ │ ├── randomStatetest430Filler.json │ │ │ ├── randomStatetest433Filler.json │ │ │ ├── randomStatetest435Filler.json │ │ │ ├── randomStatetest436Filler.json │ │ │ ├── randomStatetest437Filler.json │ │ │ ├── randomStatetest438Filler.json │ │ │ ├── randomStatetest439Filler.json │ │ │ ├── randomStatetest440Filler.json │ │ │ ├── randomStatetest442Filler.json │ │ │ ├── randomStatetest443Filler.json │ │ │ ├── randomStatetest444Filler.json │ │ │ ├── randomStatetest445Filler.json │ │ │ ├── randomStatetest446Filler.json │ │ │ ├── randomStatetest447Filler.json │ │ │ ├── randomStatetest448Filler.json │ │ │ ├── randomStatetest449Filler.json │ │ │ ├── randomStatetest450Filler.json │ │ │ ├── randomStatetest451Filler.json │ │ │ ├── randomStatetest452Filler.json │ │ │ ├── randomStatetest454Filler.json │ │ │ ├── randomStatetest455Filler.json │ │ │ ├── randomStatetest456Filler.json │ │ │ ├── randomStatetest457Filler.json │ │ │ ├── randomStatetest458Filler.json │ │ │ ├── randomStatetest460Filler.json │ │ │ ├── randomStatetest461Filler.json │ │ │ ├── randomStatetest462Filler.json │ │ │ ├── randomStatetest464Filler.json │ │ │ ├── randomStatetest465Filler.json │ │ │ ├── randomStatetest466Filler.json │ │ │ ├── randomStatetest467Filler.json │ │ │ ├── randomStatetest469Filler.json │ │ │ ├── randomStatetest470Filler.json │ │ │ ├── randomStatetest471Filler.json │ │ │ ├── randomStatetest472Filler.json │ │ │ ├── randomStatetest473Filler.json │ │ │ ├── randomStatetest474Filler.json │ │ │ ├── randomStatetest475Filler.json │ │ │ ├── randomStatetest476Filler.json │ │ │ ├── randomStatetest477Filler.json │ │ │ ├── randomStatetest478Filler.json │ │ │ ├── randomStatetest480Filler.json │ │ │ ├── randomStatetest481Filler.json │ │ │ ├── randomStatetest482Filler.json │ │ │ ├── randomStatetest483Filler.json │ │ │ ├── randomStatetest484Filler.json │ │ │ ├── randomStatetest485Filler.json │ │ │ ├── randomStatetest487Filler.json │ │ │ ├── randomStatetest488Filler.json │ │ │ ├── randomStatetest489Filler.json │ │ │ ├── randomStatetest491Filler.json │ │ │ ├── randomStatetest493Filler.json │ │ │ ├── randomStatetest494Filler.json │ │ │ ├── randomStatetest495Filler.json │ │ │ ├── randomStatetest496Filler.json │ │ │ ├── randomStatetest497Filler.json │ │ │ ├── randomStatetest498Filler.json │ │ │ ├── randomStatetest499Filler.json │ │ │ ├── randomStatetest500Filler.json │ │ │ ├── randomStatetest501Filler.json │ │ │ ├── randomStatetest502Filler.json │ │ │ ├── randomStatetest503Filler.json │ │ │ ├── randomStatetest504Filler.json │ │ │ ├── randomStatetest505Filler.json │ │ │ ├── randomStatetest506Filler.json │ │ │ ├── randomStatetest507Filler.json │ │ │ ├── randomStatetest508Filler.json │ │ │ ├── randomStatetest509Filler.json │ │ │ ├── randomStatetest510Filler.json │ │ │ ├── randomStatetest511Filler.json │ │ │ ├── randomStatetest512Filler.json │ │ │ ├── randomStatetest513Filler.json │ │ │ ├── randomStatetest514Filler.json │ │ │ ├── randomStatetest516Filler.json │ │ │ ├── randomStatetest517Filler.json │ │ │ ├── randomStatetest518Filler.json │ │ │ ├── randomStatetest519Filler.json │ │ │ ├── randomStatetest520Filler.json │ │ │ ├── randomStatetest521Filler.json │ │ │ ├── randomStatetest523Filler.json │ │ │ ├── randomStatetest524Filler.json │ │ │ ├── randomStatetest525Filler.json │ │ │ ├── randomStatetest526Filler.json │ │ │ ├── randomStatetest527Filler.json │ │ │ ├── randomStatetest528Filler.json │ │ │ ├── randomStatetest531Filler.json │ │ │ ├── randomStatetest532Filler.json │ │ │ ├── randomStatetest533Filler.json │ │ │ ├── randomStatetest534Filler.json │ │ │ ├── randomStatetest535Filler.json │ │ │ ├── randomStatetest536Filler.json │ │ │ ├── randomStatetest537Filler.json │ │ │ ├── randomStatetest539Filler.json │ │ │ ├── randomStatetest541Filler.json │ │ │ ├── randomStatetest542Filler.json │ │ │ ├── randomStatetest543Filler.json │ │ │ ├── randomStatetest544Filler.json │ │ │ ├── randomStatetest545Filler.json │ │ │ ├── randomStatetest546Filler.json │ │ │ ├── randomStatetest547Filler.json │ │ │ ├── randomStatetest548Filler.json │ │ │ ├── randomStatetest550Filler.json │ │ │ ├── randomStatetest552Filler.json │ │ │ ├── randomStatetest553Filler.json │ │ │ ├── randomStatetest554Filler.json │ │ │ ├── randomStatetest555Filler.json │ │ │ ├── randomStatetest556Filler.json │ │ │ ├── randomStatetest558Filler.json │ │ │ ├── randomStatetest559Filler.json │ │ │ ├── randomStatetest560Filler.json │ │ │ ├── randomStatetest562Filler.json │ │ │ ├── randomStatetest563Filler.json │ │ │ ├── randomStatetest564Filler.json │ │ │ ├── randomStatetest565Filler.json │ │ │ ├── randomStatetest566Filler.json │ │ │ ├── randomStatetest567Filler.json │ │ │ ├── randomStatetest569Filler.json │ │ │ ├── randomStatetest571Filler.json │ │ │ ├── randomStatetest572Filler.json │ │ │ ├── randomStatetest574Filler.json │ │ │ ├── randomStatetest575Filler.json │ │ │ ├── randomStatetest576Filler.json │ │ │ ├── randomStatetest577Filler.json │ │ │ ├── randomStatetest578Filler.json │ │ │ ├── randomStatetest579Filler.json │ │ │ ├── randomStatetest580Filler.json │ │ │ ├── randomStatetest581Filler.json │ │ │ ├── randomStatetest582Filler.json │ │ │ ├── randomStatetest583Filler.json │ │ │ ├── randomStatetest584Filler.json │ │ │ ├── randomStatetest585Filler.json │ │ │ ├── randomStatetest586Filler.json │ │ │ ├── randomStatetest587Filler.json │ │ │ ├── randomStatetest588Filler.json │ │ │ ├── randomStatetest589Filler.json │ │ │ ├── randomStatetest592Filler.json │ │ │ ├── randomStatetest596Filler.json │ │ │ ├── randomStatetest597Filler.json │ │ │ ├── randomStatetest599Filler.json │ │ │ ├── randomStatetest600Filler.json │ │ │ ├── randomStatetest601Filler.json │ │ │ ├── randomStatetest602Filler.json │ │ │ ├── randomStatetest603Filler.json │ │ │ ├── randomStatetest604Filler.json │ │ │ ├── randomStatetest605Filler.json │ │ │ ├── randomStatetest607Filler.json │ │ │ ├── randomStatetest608Filler.json │ │ │ ├── randomStatetest609Filler.json │ │ │ ├── randomStatetest610Filler.json │ │ │ ├── randomStatetest611Filler.json │ │ │ ├── randomStatetest612Filler.json │ │ │ ├── randomStatetest615Filler.json │ │ │ ├── randomStatetest616Filler.json │ │ │ ├── randomStatetest618Filler.json │ │ │ ├── randomStatetest620Filler.json │ │ │ ├── randomStatetest621Filler.json │ │ │ ├── randomStatetest624Filler.json │ │ │ ├── randomStatetest625Filler.json │ │ │ ├── randomStatetest626Filler.json │ │ │ ├── randomStatetest627Filler.json │ │ │ ├── randomStatetest628Filler.json │ │ │ ├── randomStatetest629Filler.json │ │ │ ├── randomStatetest630Filler.json │ │ │ ├── randomStatetest632Filler.json │ │ │ ├── randomStatetest633Filler.json │ │ │ ├── randomStatetest635Filler.json │ │ │ ├── randomStatetest636Filler.json │ │ │ ├── randomStatetest637Filler.json │ │ │ ├── randomStatetest638Filler.json │ │ │ ├── randomStatetest639Filler.json │ │ │ ├── randomStatetest640Filler.json │ │ │ ├── randomStatetest641Filler.json │ │ │ ├── randomStatetest642Filler.json │ │ │ ├── randomStatetest643Filler.json │ │ │ ├── randomStatetest644Filler.json │ │ │ ├── randomStatetest645Filler.json │ │ │ ├── randomStatetest646Filler.json │ │ │ ├── randomStatetest647Filler.json │ │ │ ├── randomStatetest648Filler.json │ │ │ ├── randomStatetest649Filler.json │ │ │ ├── randomStatetest650Filler.json │ │ │ └── randomStatetestFiller.json │ │ ├── stRecursiveCreate/ │ │ │ ├── __init__.py │ │ │ ├── recursiveCreateFiller.json │ │ │ └── recursiveCreateReturnValueFiller.json │ │ ├── stRefundTest/ │ │ │ ├── __init__.py │ │ │ ├── refund50_1Filler.json │ │ │ ├── refund50_2Filler.json │ │ │ ├── refund50percentCapFiller.json │ │ │ ├── refund600Filler.json │ │ │ ├── refundFFFiller.yml │ │ │ ├── refundMaxFiller.yml │ │ │ ├── refundSSTOREFiller.yml │ │ │ ├── refundSuicide50procentCapFiller.json │ │ │ ├── refund_CallAFiller.json │ │ │ ├── refund_CallA_OOGFiller.json │ │ │ ├── refund_CallA_notEnoughGasInCallFiller.json │ │ │ ├── refund_CallToSuicideNoStorageFiller.json │ │ │ ├── refund_CallToSuicideStorageFiller.json │ │ │ ├── refund_CallToSuicideTwiceFiller.json │ │ │ ├── refund_NoOOG_1Filler.json │ │ │ ├── refund_OOGFiller.json │ │ │ ├── refund_TxToSuicideFiller.json │ │ │ ├── refund_TxToSuicideOOGFiller.json │ │ │ ├── refund_changeNonZeroStorageFiller.json │ │ │ ├── refund_getEtherBackFiller.json │ │ │ ├── refund_multimpleSuicideFiller.json │ │ │ └── refund_singleSuicideFiller.json │ │ ├── stReturnDataTest/ │ │ │ ├── __init__.py │ │ │ ├── call_ecrec_success_empty_then_returndatasizeFiller.json │ │ │ ├── call_outsize_then_create_successful_then_returndatasizeFiller.json │ │ │ ├── call_then_call_value_fail_then_returndatasizeFiller.json │ │ │ ├── call_then_create_successful_then_returndatasizeFiller.json │ │ │ ├── clearReturnBufferFiller.yml │ │ │ ├── create_callprecompile_returndatasizeFiller.json │ │ │ ├── modexp_modsize0_returndatasizeFiller.json │ │ │ ├── returndatacopy_0_0_following_successful_createFiller.json │ │ │ ├── returndatacopy_afterFailing_createFiller.json │ │ │ ├── returndatacopy_after_failing_callcodeFiller.json │ │ │ ├── returndatacopy_after_failing_delegatecallFiller.json │ │ │ ├── returndatacopy_after_failing_staticcallFiller.json │ │ │ ├── returndatacopy_after_revert_in_staticcallFiller.json │ │ │ ├── returndatacopy_after_successful_callcodeFiller.json │ │ │ ├── returndatacopy_after_successful_delegatecallFiller.json │ │ │ ├── returndatacopy_after_successful_staticcallFiller.json │ │ │ ├── returndatacopy_following_callFiller.json │ │ │ ├── returndatacopy_following_createFiller.json │ │ │ ├── returndatacopy_following_failing_callFiller.json │ │ │ ├── returndatacopy_following_revertFiller.json │ │ │ ├── returndatacopy_following_revert_in_createFiller.json │ │ │ ├── returndatacopy_following_successful_createFiller.json │ │ │ ├── returndatacopy_following_too_big_transferFiller.json │ │ │ ├── returndatacopy_initialFiller.json │ │ │ ├── returndatacopy_initial_256Filler.json │ │ │ ├── returndatacopy_initial_big_sumFiller.json │ │ │ ├── returndatacopy_overrunFiller.json │ │ │ ├── returndatasize_after_failing_callcodeFiller.json │ │ │ ├── returndatasize_after_failing_delegatecallFiller.json │ │ │ ├── returndatasize_after_failing_staticcallFiller.json │ │ │ ├── returndatasize_after_oog_after_deeperFiller.json │ │ │ ├── returndatasize_after_successful_callcodeFiller.json │ │ │ ├── returndatasize_after_successful_delegatecallFiller.json │ │ │ ├── returndatasize_after_successful_staticcallFiller.json │ │ │ ├── returndatasize_bugFiller.json │ │ │ ├── returndatasize_following_successful_createFiller.json │ │ │ ├── returndatasize_initialFiller.json │ │ │ ├── returndatasize_initial_zero_readFiller.json │ │ │ ├── revertRetDataSizeFiller.yml │ │ │ ├── subcallReturnMoreThenExpectedFiller.yml │ │ │ └── tooLongReturnDataCopyFiller.yml │ │ ├── stRevertTest/ │ │ │ ├── LoopCallsDepthThenRevert2Filler.json │ │ │ ├── LoopCallsDepthThenRevert3Filler.json │ │ │ ├── LoopCallsDepthThenRevertFiller.json │ │ │ ├── LoopCallsThenRevertFiller.json │ │ │ ├── LoopDelegateCallsDepthThenRevertFiller.json │ │ │ ├── NashatyrevSuicideRevertFiller.json │ │ │ ├── PythonRevertTestTue201814-1430Filler.json │ │ │ ├── RevertDepth2Filler.json │ │ │ ├── RevertDepthCreateAddressCollisionFiller.json │ │ │ ├── RevertDepthCreateOOGFiller.json │ │ │ ├── RevertInCallCodeFiller.json │ │ │ ├── RevertInCreateInInit_ParisFiller.json │ │ │ ├── RevertInDelegateCallFiller.json │ │ │ ├── RevertInStaticCallFiller.json │ │ │ ├── RevertOnEmptyStackFiller.json │ │ │ ├── RevertOpcodeCallsFiller.json │ │ │ ├── RevertOpcodeCreateFiller.json │ │ │ ├── RevertOpcodeDirectCallFiller.json │ │ │ ├── RevertOpcodeFiller.json │ │ │ ├── RevertOpcodeInCallsOnNonEmptyReturnDataFiller.json │ │ │ ├── RevertOpcodeInCreateReturnsFiller.json │ │ │ ├── RevertOpcodeInInitFiller.json │ │ │ ├── RevertOpcodeMultipleSubCallsFiller.json │ │ │ ├── RevertOpcodeReturnFiller.json │ │ │ ├── RevertOpcodeWithBigOutputInInitFiller.json │ │ │ ├── RevertPrecompiledTouchExactOOG_ParisFiller.json │ │ │ ├── RevertPrecompiledTouch_ParisFiller.json │ │ │ ├── RevertPrecompiledTouch_nonceFiller.json │ │ │ ├── RevertPrecompiledTouch_noncestorageFiller.json │ │ │ ├── RevertPrecompiledTouch_storage_ParisFiller.json │ │ │ ├── RevertPrefoundCallFiller.json │ │ │ ├── RevertPrefoundCallOOGFiller.json │ │ │ ├── RevertPrefoundEmptyCallOOG_ParisFiller.json │ │ │ ├── RevertPrefoundEmptyCall_ParisFiller.json │ │ │ ├── RevertPrefoundEmptyOOG_ParisFiller.json │ │ │ ├── RevertPrefoundEmpty_ParisFiller.json │ │ │ ├── RevertPrefoundFiller.json │ │ │ ├── RevertPrefoundOOGFiller.json │ │ │ ├── RevertSubCallStorageOOG2Filler.json │ │ │ ├── RevertSubCallStorageOOGFiller.json │ │ │ ├── TouchToEmptyAccountRevert2_ParisFiller.json │ │ │ ├── TouchToEmptyAccountRevert3_ParisFiller.json │ │ │ ├── TouchToEmptyAccountRevert_ParisFiller.json │ │ │ ├── __init__.py │ │ │ ├── costRevertFiller.yml │ │ │ └── stateRevertFiller.yml │ │ ├── stSLoadTest/ │ │ │ ├── __init__.py │ │ │ └── sloadGasCostFiller.json │ │ ├── stSStoreTest/ │ │ │ ├── SstoreCallToSelfSubRefundBelowZeroFiller.json │ │ │ ├── __init__.py │ │ │ ├── sstoreGasFiller.yml │ │ │ ├── sstore_0to0Filler.json │ │ │ ├── sstore_0to0to0Filler.json │ │ │ ├── sstore_0to0toXFiller.json │ │ │ ├── sstore_0toXFiller.json │ │ │ ├── sstore_0toXto0Filler.json │ │ │ ├── sstore_0toXto0toXFiller.json │ │ │ ├── sstore_0toXtoXFiller.json │ │ │ ├── sstore_0toXtoYFiller.json │ │ │ ├── sstore_Xto0Filler.json │ │ │ ├── sstore_Xto0to0Filler.json │ │ │ ├── sstore_Xto0toXFiller.json │ │ │ ├── sstore_Xto0toXto0Filler.json │ │ │ ├── sstore_Xto0toYFiller.json │ │ │ ├── sstore_XtoXFiller.json │ │ │ ├── sstore_XtoXto0Filler.json │ │ │ ├── sstore_XtoXtoXFiller.json │ │ │ ├── sstore_XtoXtoYFiller.json │ │ │ ├── sstore_XtoYFiller.json │ │ │ ├── sstore_XtoYto0Filler.json │ │ │ ├── sstore_XtoYtoXFiller.json │ │ │ ├── sstore_XtoYtoYFiller.json │ │ │ ├── sstore_XtoYtoZFiller.json │ │ │ ├── sstore_changeFromExternalCallInInitCodeFiller.json │ │ │ └── sstore_gasLeftFiller.json │ │ ├── stSelfBalance/ │ │ │ ├── __init__.py │ │ │ ├── selfBalanceCallTypesFiller.json │ │ │ ├── selfBalanceEqualsBalanceFiller.json │ │ │ ├── selfBalanceFiller.json │ │ │ ├── selfBalanceGasCostFiller.json │ │ │ └── selfBalanceUpdateFiller.json │ │ ├── stShift/ │ │ │ ├── .stub │ │ │ ├── __init__.py │ │ │ ├── sar00Filler.json │ │ │ ├── sar01Filler.json │ │ │ ├── sar10Filler.json │ │ │ ├── sar11Filler.json │ │ │ ├── sar_0_256-1Filler.json │ │ │ ├── sar_2^254_254Filler.json │ │ │ ├── sar_2^255-1_248Filler.json │ │ │ ├── sar_2^255-1_254Filler.json │ │ │ ├── sar_2^255-1_255Filler.json │ │ │ ├── sar_2^255-1_256Filler.json │ │ │ ├── sar_2^255_1Filler.json │ │ │ ├── sar_2^255_255Filler.json │ │ │ ├── sar_2^255_256Filler.json │ │ │ ├── sar_2^255_257Filler.json │ │ │ ├── sar_2^256-1_0Filler.json │ │ │ ├── sar_2^256-1_1Filler.json │ │ │ ├── sar_2^256-1_255Filler.json │ │ │ ├── sar_2^256-1_256Filler.json │ │ │ ├── shiftSignedCombinationsFiller.yml │ │ │ ├── shl01-0100Filler.json │ │ │ ├── shl01-0101Filler.json │ │ │ ├── shl01-ffFiller.json │ │ │ ├── shl01Filler.json │ │ │ ├── shl10Filler.json │ │ │ ├── shl11Filler.json │ │ │ ├── shl_-1_0Filler.json │ │ │ ├── shl_-1_1Filler.json │ │ │ ├── shl_-1_255Filler.json │ │ │ ├── shl_-1_256Filler.json │ │ │ ├── shl_2^255-1_1Filler.json │ │ │ ├── shr01Filler.json │ │ │ ├── shr10Filler.json │ │ │ ├── shr11Filler.json │ │ │ ├── shr_-1_0Filler.json │ │ │ ├── shr_-1_1Filler.json │ │ │ ├── shr_-1_255Filler.json │ │ │ ├── shr_-1_256Filler.json │ │ │ ├── shr_2^255_1Filler.json │ │ │ ├── shr_2^255_255Filler.json │ │ │ ├── shr_2^255_256Filler.json │ │ │ └── shr_2^255_257Filler.json │ │ ├── stSolidityTest/ │ │ │ ├── AmbiguousMethodFiller.json │ │ │ ├── ByZeroFiller.json │ │ │ ├── CallInfiniteLoopFiller.json │ │ │ ├── CallLowLevelCreatesSolidityFiller.json │ │ │ ├── CallRecursiveMethodsFiller.json │ │ │ ├── ContractInheritanceFiller.json │ │ │ ├── CreateContractFromMethodFiller.json │ │ │ ├── RecursiveCreateContractsCreate4ContractsFiller.json │ │ │ ├── RecursiveCreateContractsFiller.json │ │ │ ├── TestBlockAndTransactionPropertiesFiller.json │ │ │ ├── TestContractInteractionFiller.json │ │ │ ├── TestContractSuicideFiller.json │ │ │ ├── TestCryptographicFunctionsFiller.json │ │ │ ├── TestKeywordsFiller.json │ │ │ ├── TestOverflowFiller.json │ │ │ ├── TestStoreGasPricesFiller.json │ │ │ ├── TestStructuresAndVariablessFiller.json │ │ │ └── __init__.py │ │ ├── stSpecialTest/ │ │ │ ├── FailedCreateRevertsDeletionParisFiller.json │ │ │ ├── JUMPDEST_AttackFiller.json │ │ │ ├── JUMPDEST_AttackwithJumpFiller.json │ │ │ ├── OverflowGasMakeMoneyFiller.json │ │ │ ├── StackDepthLimitSECFiller.json │ │ │ ├── __init__.py │ │ │ ├── block504980Filler.json │ │ │ ├── deploymentErrorFiller.json │ │ │ ├── eoaEmptyParisFiller.yml │ │ │ ├── failed_tx_xcf416c53_ParisFiller.json │ │ │ ├── gasPrice0Filler.json │ │ │ ├── makeMoneyFiller.json │ │ │ ├── push32withoutByteFiller.json │ │ │ ├── selfdestructEIP2929Filler.json │ │ │ ├── sha3_dejaFiller.json │ │ │ └── tx_e1c174e2Filler.json │ │ ├── stStackTests/ │ │ │ ├── __init__.py │ │ │ ├── shallowStackFiller.json │ │ │ ├── stackOverflowDUPFiller.json │ │ │ ├── stackOverflowFiller.json │ │ │ ├── stackOverflowM1DUPFiller.json │ │ │ ├── stackOverflowM1Filler.json │ │ │ ├── stackOverflowM1PUSHFiller.json │ │ │ ├── stackOverflowPUSHFiller.json │ │ │ ├── stackOverflowSWAPFiller.json │ │ │ ├── stacksanitySWAPFiller.json │ │ │ ├── underflowTestFiller.yml │ │ │ └── underflowTestGen.js │ │ ├── stStaticCall/ │ │ │ ├── StaticcallToPrecompileFromCalledContractFiller.yml │ │ │ ├── StaticcallToPrecompileFromContractInitializationFiller.yml │ │ │ ├── StaticcallToPrecompileFromTransactionFiller.yml │ │ │ ├── __init__.py │ │ │ ├── static_ABAcalls0Filler.json │ │ │ ├── static_ABAcalls1Filler.json │ │ │ ├── static_ABAcalls2Filler.json │ │ │ ├── static_ABAcalls3Filler.json │ │ │ ├── static_ABAcallsSuicide0Filler.json │ │ │ ├── static_ABAcallsSuicide1Filler.json │ │ │ ├── static_CALL_OneVCallSuicideFiller.json │ │ │ ├── static_CALL_ZeroVCallSuicideFiller.json │ │ │ ├── static_CREATE_ContractSuicideDuringInitFiller.json │ │ │ ├── static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json │ │ │ ├── static_CREATE_ContractSuicideDuringInit_WithValueFiller.json │ │ │ ├── static_CREATE_EmptyContractAndCallIt_0weiFiller.json │ │ │ ├── static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json │ │ │ ├── static_Call1024BalanceTooLow2Filler.json │ │ │ ├── static_Call1024BalanceTooLowFiller.json │ │ │ ├── static_Call1024OOGFiller.json │ │ │ ├── static_Call1024PreCalls2Filler.json │ │ │ ├── static_Call1024PreCalls3Filler.json │ │ │ ├── static_Call1024PreCallsFiller.json │ │ │ ├── static_Call10Filler.json │ │ │ ├── static_Call1MB1024CalldepthFiller.json │ │ │ ├── static_Call50000Filler.json │ │ │ ├── static_Call50000_ecrecFiller.json │ │ │ ├── static_Call50000_identity2Filler.json │ │ │ ├── static_Call50000_identityFiller.json │ │ │ ├── static_Call50000_rip160Filler.json │ │ │ ├── static_Call50000bytesContract50_1Filler.json │ │ │ ├── static_Call50000bytesContract50_2Filler.json │ │ │ ├── static_Call50000bytesContract50_3Filler.json │ │ │ ├── static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json │ │ │ ├── static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json │ │ │ ├── static_CallContractToCreateContractAndCallItOOGFiller.json │ │ │ ├── static_CallContractToCreateContractOOGBonusGasFiller.json │ │ │ ├── static_CallContractToCreateContractOOGFiller.json │ │ │ ├── static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json │ │ │ ├── static_CallEcrecover0Filler.json │ │ │ ├── static_CallEcrecover0_0inputFiller.json │ │ │ ├── static_CallEcrecover0_Gas2999Filler.json │ │ │ ├── static_CallEcrecover0_NoGasFiller.json │ │ │ ├── static_CallEcrecover0_completeReturnValueFiller.json │ │ │ ├── static_CallEcrecover0_gas3000Filler.json │ │ │ ├── static_CallEcrecover0_overlappingInputOutputFiller.json │ │ │ ├── static_CallEcrecover1Filler.json │ │ │ ├── static_CallEcrecover2Filler.json │ │ │ ├── static_CallEcrecover3Filler.json │ │ │ ├── static_CallEcrecover80Filler.json │ │ │ ├── static_CallEcrecoverCheckLengthFiller.json │ │ │ ├── static_CallEcrecoverCheckLengthWrongVFiller.json │ │ │ ├── static_CallEcrecoverH_prefixed0Filler.json │ │ │ ├── static_CallEcrecoverR_prefixed0Filler.json │ │ │ ├── static_CallEcrecoverS_prefixed0Filler.json │ │ │ ├── static_CallEcrecoverV_prefixed0Filler.json │ │ │ ├── static_CallGoesOOGOnSecondLevel2Filler.json │ │ │ ├── static_CallGoesOOGOnSecondLevelFiller.json │ │ │ ├── static_CallIdentitiy_1Filler.json │ │ │ ├── static_CallIdentity_1_nonzeroValueFiller.json │ │ │ ├── static_CallIdentity_2Filler.json │ │ │ ├── static_CallIdentity_3Filler.json │ │ │ ├── static_CallIdentity_4Filler.json │ │ │ ├── static_CallIdentity_4_gas17Filler.json │ │ │ ├── static_CallIdentity_4_gas18Filler.json │ │ │ ├── static_CallIdentity_5Filler.json │ │ │ ├── static_CallLoseGasOOGFiller.json │ │ │ ├── static_CallRecursiveBomb0Filler.json │ │ │ ├── static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json │ │ │ ├── static_CallRecursiveBomb1Filler.json │ │ │ ├── static_CallRecursiveBomb2Filler.json │ │ │ ├── static_CallRecursiveBomb3Filler.json │ │ │ ├── static_CallRecursiveBombLog2Filler.json │ │ │ ├── static_CallRecursiveBombLogFiller.json │ │ │ ├── static_CallRecursiveBombPreCall2Filler.json │ │ │ ├── static_CallRecursiveBombPreCallFiller.json │ │ │ ├── static_CallRipemd160_1Filler.json │ │ │ ├── static_CallRipemd160_2Filler.json │ │ │ ├── static_CallRipemd160_3Filler.json │ │ │ ├── static_CallRipemd160_3_postfixed0Filler.json │ │ │ ├── static_CallRipemd160_3_prefixed0Filler.json │ │ │ ├── static_CallRipemd160_4Filler.json │ │ │ ├── static_CallRipemd160_4_gas719Filler.json │ │ │ ├── static_CallRipemd160_5Filler.json │ │ │ ├── static_CallSha256_1Filler.json │ │ │ ├── static_CallSha256_1_nonzeroValueFiller.json │ │ │ ├── static_CallSha256_2Filler.json │ │ │ ├── static_CallSha256_3Filler.json │ │ │ ├── static_CallSha256_3_postfix0Filler.json │ │ │ ├── static_CallSha256_3_prefix0Filler.json │ │ │ ├── static_CallSha256_4Filler.json │ │ │ ├── static_CallSha256_4_gas99Filler.json │ │ │ ├── static_CallSha256_5Filler.json │ │ │ ├── static_CallToNameRegistrator0Filler.json │ │ │ ├── static_CallToReturn1Filler.json │ │ │ ├── static_CalltoReturn2Filler.json │ │ │ ├── static_CheckCallCostOOGFiller.json │ │ │ ├── static_CheckOpcodes2Filler.json │ │ │ ├── static_CheckOpcodes3Filler.json │ │ │ ├── static_CheckOpcodes4Filler.json │ │ │ ├── static_CheckOpcodes5Filler.json │ │ │ ├── static_CheckOpcodesFiller.json │ │ │ ├── static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json │ │ │ ├── static_InternalCallHittingGasLimit2Filler.json │ │ │ ├── static_InternalCallHittingGasLimitFiller.json │ │ │ ├── static_InternalCallStoreClearsOOGFiller.json │ │ │ ├── static_LoopCallsDepthThenRevert2Filler.json │ │ │ ├── static_LoopCallsDepthThenRevert3Filler.json │ │ │ ├── static_LoopCallsDepthThenRevertFiller.json │ │ │ ├── static_LoopCallsThenRevertFiller.json │ │ │ ├── static_PostToReturn1Filler.json │ │ │ ├── static_RETURN_BoundsFiller.json │ │ │ ├── static_RETURN_BoundsOOGFiller.json │ │ │ ├── static_RawCallGasAskFiller.json │ │ │ ├── static_Return50000_2Filler.json │ │ │ ├── static_ReturnTest2Filler.json │ │ │ ├── static_ReturnTestFiller.json │ │ │ ├── static_RevertDepth2Filler.json │ │ │ ├── static_RevertOpcodeCallsFiller.json │ │ │ ├── static_ZeroValue_CALL_OOGRevertFiller.json │ │ │ ├── static_ZeroValue_SUICIDE_OOGRevertFiller.json │ │ │ ├── static_callBasicFiller.json │ │ │ ├── static_callChangeRevertFiller.json │ │ │ ├── static_callCreate2Filler.json │ │ │ ├── static_callCreate3Filler.json │ │ │ ├── static_callCreateFiller.json │ │ │ ├── static_callOutput1Filler.json │ │ │ ├── static_callOutput2Filler.json │ │ │ ├── static_callOutput3FailFiller.json │ │ │ ├── static_callOutput3Filler.json │ │ │ ├── static_callOutput3partialFailFiller.json │ │ │ ├── static_callOutput3partialFiller.json │ │ │ ├── static_callToCallCodeOpCodeCheckFiller.json │ │ │ ├── static_callToCallOpCodeCheckFiller.json │ │ │ ├── static_callToDelCallOpCodeCheckFiller.json │ │ │ ├── static_callToStaticOpCodeCheckFiller.json │ │ │ ├── static_callWithHighValueAndGasOOGFiller.json │ │ │ ├── static_callWithHighValueAndOOGatTxLevelFiller.json │ │ │ ├── static_callWithHighValueFiller.json │ │ │ ├── static_callWithHighValueOOGinCallFiller.json │ │ │ ├── static_call_OOG_additionalGasCosts1Filler.json │ │ │ ├── static_call_OOG_additionalGasCosts2_ParisFiller.json │ │ │ ├── static_call_value_inheritFiller.json │ │ │ ├── static_call_value_inherit_from_callFiller.json │ │ │ ├── static_callcall_00Filler.json │ │ │ ├── static_callcall_00_OOGEFiller.json │ │ │ ├── static_callcall_00_OOGE_1Filler.json │ │ │ ├── static_callcall_00_OOGE_2Filler.json │ │ │ ├── static_callcall_00_SuicideEndFiller.json │ │ │ ├── static_callcallcall_000Filler.json │ │ │ ├── static_callcallcall_000_OOGEFiller.json │ │ │ ├── static_callcallcall_000_OOGMAfter2Filler.json │ │ │ ├── static_callcallcall_000_OOGMAfterFiller.json │ │ │ ├── static_callcallcall_000_OOGMBeforeFiller.json │ │ │ ├── static_callcallcall_000_SuicideEndFiller.json │ │ │ ├── static_callcallcall_000_SuicideMiddleFiller.json │ │ │ ├── static_callcallcall_ABCB_RECURSIVEFiller.json │ │ │ ├── static_callcallcallcode_001Filler.json │ │ │ ├── static_callcallcallcode_001_2Filler.json │ │ │ ├── static_callcallcallcode_001_OOGEFiller.json │ │ │ ├── static_callcallcallcode_001_OOGE_2Filler.json │ │ │ ├── static_callcallcallcode_001_OOGMAfter2Filler.json │ │ │ ├── static_callcallcallcode_001_OOGMAfterFiller.json │ │ │ ├── static_callcallcallcode_001_OOGMAfter_2Filler.json │ │ │ ├── static_callcallcallcode_001_OOGMAfter_3Filler.json │ │ │ ├── static_callcallcallcode_001_OOGMBefore2Filler.json │ │ │ ├── static_callcallcallcode_001_OOGMBeforeFiller.json │ │ │ ├── static_callcallcallcode_001_SuicideEnd2Filler.json │ │ │ ├── static_callcallcallcode_001_SuicideEndFiller.json │ │ │ ├── static_callcallcallcode_001_SuicideMiddle2Filler.json │ │ │ ├── static_callcallcallcode_001_SuicideMiddleFiller.json │ │ │ ├── static_callcallcallcode_ABCB_RECURSIVE2Filler.json │ │ │ ├── static_callcallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── static_callcallcode_01_2Filler.json │ │ │ ├── static_callcallcode_01_OOGE_2Filler.json │ │ │ ├── static_callcallcode_01_SuicideEnd2Filler.json │ │ │ ├── static_callcallcode_01_SuicideEndFiller.json │ │ │ ├── static_callcallcodecall_010Filler.json │ │ │ ├── static_callcallcodecall_010_2Filler.json │ │ │ ├── static_callcallcodecall_010_OOGEFiller.json │ │ │ ├── static_callcallcodecall_010_OOGE_2Filler.json │ │ │ ├── static_callcallcodecall_010_OOGMAfter2Filler.json │ │ │ ├── static_callcallcodecall_010_OOGMAfterFiller.json │ │ │ ├── static_callcallcodecall_010_OOGMAfter_2Filler.json │ │ │ ├── static_callcallcodecall_010_OOGMAfter_3Filler.json │ │ │ ├── static_callcallcodecall_010_OOGMBefore2Filler.json │ │ │ ├── static_callcallcodecall_010_OOGMBeforeFiller.json │ │ │ ├── static_callcallcodecall_010_SuicideEnd2Filler.json │ │ │ ├── static_callcallcodecall_010_SuicideEndFiller.json │ │ │ ├── static_callcallcodecall_010_SuicideMiddle2Filler.json │ │ │ ├── static_callcallcodecall_010_SuicideMiddleFiller.json │ │ │ ├── static_callcallcodecall_ABCB_RECURSIVE2Filler.json │ │ │ ├── static_callcallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── static_callcallcodecallcode_011Filler.json │ │ │ ├── static_callcallcodecallcode_011_2Filler.json │ │ │ ├── static_callcallcodecallcode_011_OOGEFiller.json │ │ │ ├── static_callcallcodecallcode_011_OOGE_2Filler.json │ │ │ ├── static_callcallcodecallcode_011_OOGMAfter2Filler.json │ │ │ ├── static_callcallcodecallcode_011_OOGMAfterFiller.json │ │ │ ├── static_callcallcodecallcode_011_OOGMAfter_1Filler.json │ │ │ ├── static_callcallcodecallcode_011_OOGMAfter_2Filler.json │ │ │ ├── static_callcallcodecallcode_011_OOGMBefore2Filler.json │ │ │ ├── static_callcallcodecallcode_011_OOGMBeforeFiller.json │ │ │ ├── static_callcallcodecallcode_011_SuicideEnd2Filler.json │ │ │ ├── static_callcallcodecallcode_011_SuicideEndFiller.json │ │ │ ├── static_callcallcodecallcode_011_SuicideMiddle2Filler.json │ │ │ ├── static_callcallcodecallcode_011_SuicideMiddleFiller.json │ │ │ ├── static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json │ │ │ ├── static_callcallcodecallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── static_callcode_checkPCFiller.json │ │ │ ├── static_callcodecall_10Filler.json │ │ │ ├── static_callcodecall_10_2Filler.json │ │ │ ├── static_callcodecall_10_OOGEFiller.json │ │ │ ├── static_callcodecall_10_OOGE_2Filler.json │ │ │ ├── static_callcodecall_10_SuicideEnd2Filler.json │ │ │ ├── static_callcodecall_10_SuicideEndFiller.json │ │ │ ├── static_callcodecallcall_100Filler.json │ │ │ ├── static_callcodecallcall_100_2Filler.json │ │ │ ├── static_callcodecallcall_100_OOGE2Filler.json │ │ │ ├── static_callcodecallcall_100_OOGEFiller.json │ │ │ ├── static_callcodecallcall_100_OOGMAfter2Filler.json │ │ │ ├── static_callcodecallcall_100_OOGMAfterFiller.json │ │ │ ├── static_callcodecallcall_100_OOGMAfter_2Filler.json │ │ │ ├── static_callcodecallcall_100_OOGMAfter_3Filler.json │ │ │ ├── static_callcodecallcall_100_OOGMBefore2Filler.json │ │ │ ├── static_callcodecallcall_100_OOGMBeforeFiller.json │ │ │ ├── static_callcodecallcall_100_SuicideEnd2Filler.json │ │ │ ├── static_callcodecallcall_100_SuicideEndFiller.json │ │ │ ├── static_callcodecallcall_100_SuicideMiddle2Filler.json │ │ │ ├── static_callcodecallcall_100_SuicideMiddleFiller.json │ │ │ ├── static_callcodecallcall_ABCB_RECURSIVE2Filler.json │ │ │ ├── static_callcodecallcall_ABCB_RECURSIVEFiller.json │ │ │ ├── static_callcodecallcallcode_101Filler.json │ │ │ ├── static_callcodecallcallcode_101_2Filler.json │ │ │ ├── static_callcodecallcallcode_101_OOGEFiller.json │ │ │ ├── static_callcodecallcallcode_101_OOGE_2Filler.json │ │ │ ├── static_callcodecallcallcode_101_OOGMAfter2Filler.json │ │ │ ├── static_callcodecallcallcode_101_OOGMAfterFiller.json │ │ │ ├── static_callcodecallcallcode_101_OOGMAfter_1Filler.json │ │ │ ├── static_callcodecallcallcode_101_OOGMAfter_3Filler.json │ │ │ ├── static_callcodecallcallcode_101_OOGMBefore2Filler.json │ │ │ ├── static_callcodecallcallcode_101_OOGMBeforeFiller.json │ │ │ ├── static_callcodecallcallcode_101_SuicideEnd2Filler.json │ │ │ ├── static_callcodecallcallcode_101_SuicideEndFiller.json │ │ │ ├── static_callcodecallcallcode_101_SuicideMiddle2Filler.json │ │ │ ├── static_callcodecallcallcode_101_SuicideMiddleFiller.json │ │ │ ├── static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json │ │ │ ├── static_callcodecallcallcode_ABCB_RECURSIVEFiller.json │ │ │ ├── static_callcodecallcodecall_1102Filler.json │ │ │ ├── static_callcodecallcodecall_110Filler.json │ │ │ ├── static_callcodecallcodecall_110_2Filler.json │ │ │ ├── static_callcodecallcodecall_110_OOGE2Filler.json │ │ │ ├── static_callcodecallcodecall_110_OOGEFiller.json │ │ │ ├── static_callcodecallcodecall_110_OOGMAfter2Filler.json │ │ │ ├── static_callcodecallcodecall_110_OOGMAfterFiller.json │ │ │ ├── static_callcodecallcodecall_110_OOGMAfter_2Filler.json │ │ │ ├── static_callcodecallcodecall_110_OOGMAfter_3Filler.json │ │ │ ├── static_callcodecallcodecall_110_OOGMBefore2Filler.json │ │ │ ├── static_callcodecallcodecall_110_OOGMBeforeFiller.json │ │ │ ├── static_callcodecallcodecall_110_SuicideEnd2Filler.json │ │ │ ├── static_callcodecallcodecall_110_SuicideEndFiller.json │ │ │ ├── static_callcodecallcodecall_110_SuicideMiddle2Filler.json │ │ │ ├── static_callcodecallcodecall_110_SuicideMiddleFiller.json │ │ │ ├── static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json │ │ │ ├── static_callcodecallcodecall_ABCB_RECURSIVEFiller.json │ │ │ ├── static_callcodecallcodecallcode_111_SuicideEndFiller.json │ │ │ ├── static_calldelcode_01Filler.json │ │ │ ├── static_calldelcode_01_OOGEFiller.json │ │ │ ├── static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json │ │ │ ├── static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json │ │ │ ├── static_log0_emptyMemFiller.json │ │ │ ├── static_log0_logMemStartTooHighFiller.json │ │ │ ├── static_log0_logMemsizeTooHighFiller.json │ │ │ ├── static_log0_logMemsizeZeroFiller.json │ │ │ ├── static_log0_nonEmptyMemFiller.json │ │ │ ├── static_log0_nonEmptyMem_logMemSize1Filler.json │ │ │ ├── static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json │ │ │ ├── static_log1_MaxTopicFiller.json │ │ │ ├── static_log1_emptyMemFiller.json │ │ │ ├── static_log1_logMemStartTooHighFiller.json │ │ │ ├── static_log1_logMemsizeTooHighFiller.json │ │ │ ├── static_log1_logMemsizeZeroFiller.json │ │ │ ├── static_log_CallerFiller.json │ │ │ ├── static_makeMoneyFiller.json │ │ │ ├── static_refund_CallAFiller.json │ │ │ ├── static_refund_CallToSuicideNoStorageFiller.json │ │ │ └── static_refund_CallToSuicideTwiceFiller.json │ │ ├── stStaticFlagEnabled/ │ │ │ ├── CallWithNOTZeroValueToPrecompileFromCalledContractFiller.yml │ │ │ ├── CallWithNOTZeroValueToPrecompileFromContractInitializationFiller.yml │ │ │ ├── CallWithNOTZeroValueToPrecompileFromTransactionFiller.yml │ │ │ ├── CallWithZeroValueToPrecompileFromCalledContractFiller.yml │ │ │ ├── CallWithZeroValueToPrecompileFromContractInitializationFiller.yml │ │ │ ├── CallWithZeroValueToPrecompileFromTransactionFiller.yml │ │ │ ├── CallcodeToPrecompileFromCalledContractFiller.yml │ │ │ ├── CallcodeToPrecompileFromContractInitializationFiller.yml │ │ │ ├── CallcodeToPrecompileFromTransactionFiller.yml │ │ │ ├── DelegatecallToPrecompileFromCalledContractFiller.yml │ │ │ ├── DelegatecallToPrecompileFromContractInitializationFiller.yml │ │ │ ├── DelegatecallToPrecompileFromTransactionFiller.yml │ │ │ ├── StaticcallForPrecompilesIssue683Filler.yml │ │ │ └── __init__.py │ │ ├── stSystemOperationsTest/ │ │ │ ├── ABAcalls0Filler.json │ │ │ ├── ABAcalls1Filler.json │ │ │ ├── ABAcalls2Filler.json │ │ │ ├── ABAcalls3Filler.json │ │ │ ├── ABAcallsSuicide0Filler.json │ │ │ ├── ABAcallsSuicide1Filler.json │ │ │ ├── Call10Filler.json │ │ │ ├── CallRecursiveBomb0Filler.json │ │ │ ├── CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json │ │ │ ├── CallRecursiveBomb1Filler.json │ │ │ ├── CallRecursiveBomb2Filler.json │ │ │ ├── CallRecursiveBomb3Filler.json │ │ │ ├── CallRecursiveBombLog2Filler.json │ │ │ ├── CallRecursiveBombLogFiller.json │ │ │ ├── CallToNameRegistrator0Filler.json │ │ │ ├── CallToNameRegistratorAddressTooBigLeftFiller.json │ │ │ ├── CallToNameRegistratorAddressTooBigRightFiller.json │ │ │ ├── CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json │ │ │ ├── CallToNameRegistratorNotMuchMemory0Filler.json │ │ │ ├── CallToNameRegistratorNotMuchMemory1Filler.json │ │ │ ├── CallToNameRegistratorOutOfGasFiller.json │ │ │ ├── CallToNameRegistratorTooMuchMemory0Filler.json │ │ │ ├── CallToNameRegistratorTooMuchMemory1Filler.json │ │ │ ├── CallToNameRegistratorTooMuchMemory2Filler.json │ │ │ ├── CallToNameRegistratorZeorSizeMemExpansionFiller.json │ │ │ ├── CallToReturn1Filler.json │ │ │ ├── CallToReturn1ForDynamicJump0Filler.json │ │ │ ├── CallToReturn1ForDynamicJump1Filler.json │ │ │ ├── CalltoReturn2Filler.json │ │ │ ├── CreateHashCollisionFiller.json │ │ │ ├── PostToReturn1Filler.json │ │ │ ├── TestNameRegistratorFiller.json │ │ │ ├── __init__.py │ │ │ ├── balanceInputAddressTooBigFiller.json │ │ │ ├── callValueFiller.json │ │ │ ├── callcodeTo0Filler.json │ │ │ ├── callcodeToNameRegistrator0Filler.json │ │ │ ├── callcodeToNameRegistratorAddresTooBigLeftFiller.json │ │ │ ├── callcodeToNameRegistratorAddresTooBigRightFiller.json │ │ │ ├── callcodeToNameRegistratorZeroMemExpanionFiller.json │ │ │ ├── callcodeToReturn1Filler.json │ │ │ ├── callerAccountBalanceFiller.json │ │ │ ├── createNameRegistratorFiller.json │ │ │ ├── createNameRegistratorOOG_MemExpansionOOVFiller.json │ │ │ ├── createNameRegistratorOutOfMemoryBonds0Filler.json │ │ │ ├── createNameRegistratorOutOfMemoryBonds1Filler.json │ │ │ ├── createNameRegistratorValueTooHighFiller.json │ │ │ ├── createNameRegistratorZeroMem2Filler.json │ │ │ ├── createNameRegistratorZeroMemExpansionFiller.json │ │ │ ├── createNameRegistratorZeroMemFiller.json │ │ │ ├── createWithInvalidOpcodeFiller.json │ │ │ ├── currentAccountBalanceFiller.json │ │ │ ├── doubleSelfdestructTestFiller.yml │ │ │ ├── doubleSelfdestructTouch_ParisFiller.yml │ │ │ ├── extcodecopyFiller.json │ │ │ ├── multiSelfdestructFiller.yml │ │ │ ├── return0Filler.json │ │ │ ├── return1Filler.json │ │ │ ├── return2Filler.json │ │ │ ├── suicideAddressFiller.json │ │ │ ├── suicideCallerAddresTooBigLeftFiller.json │ │ │ ├── suicideCallerAddresTooBigRightFiller.json │ │ │ ├── suicideCallerFiller.json │ │ │ ├── suicideNotExistingAccountFiller.json │ │ │ ├── suicideOriginFiller.json │ │ │ ├── suicideSendEtherPostDeathFiller.json │ │ │ ├── suicideSendEtherToMeFiller.json │ │ │ └── testRandomTestFiller.json │ │ ├── stTimeConsuming/ │ │ │ ├── __init__.py │ │ │ ├── sstore_combinations_initial00_2_ParisFiller.json │ │ │ ├── sstore_combinations_initial00_ParisFiller.json │ │ │ ├── sstore_combinations_initial01_2_ParisFiller.json │ │ │ ├── sstore_combinations_initial01_ParisFiller.json │ │ │ ├── sstore_combinations_initial10_2_ParisFiller.json │ │ │ ├── sstore_combinations_initial10_ParisFiller.json │ │ │ ├── sstore_combinations_initial11_2_ParisFiller.json │ │ │ ├── sstore_combinations_initial11_ParisFiller.json │ │ │ ├── sstore_combinations_initial20_2_ParisFiller.json │ │ │ ├── sstore_combinations_initial20_ParisFiller.json │ │ │ ├── sstore_combinations_initial21_2_ParisFiller.json │ │ │ └── sstore_combinations_initial21_ParisFiller.json │ │ ├── stTransactionTest/ │ │ │ ├── ContractStoreClearsOOGFiller.json │ │ │ ├── ContractStoreClearsSuccessFiller.json │ │ │ ├── CreateMessageRevertedFiller.json │ │ │ ├── CreateMessageSuccessFiller.json │ │ │ ├── CreateTransactionSuccessFiller.json │ │ │ ├── EmptyTransaction3Filler.json │ │ │ ├── HighGasLimitFiller.json │ │ │ ├── HighGasPriceParisFiller.yml │ │ │ ├── InternalCallHittingGasLimit2Filler.json │ │ │ ├── InternalCallHittingGasLimitFiller.json │ │ │ ├── InternalCallHittingGasLimitSuccessFiller.json │ │ │ ├── InternalCallStoreClearsOOGFiller.json │ │ │ ├── InternalCallStoreClearsSuccessFiller.json │ │ │ ├── NoSrcAccount1559Filler.yml │ │ │ ├── NoSrcAccountCreate1559Filler.yml │ │ │ ├── NoSrcAccountCreateFiller.yml │ │ │ ├── NoSrcAccountFiller.yml │ │ │ ├── Opcodes_TransactionInitFiller.json │ │ │ ├── OverflowGasRequire2Filler.json │ │ │ ├── PointAtInfinityECRecoverFiller.yml │ │ │ ├── StoreClearsAndInternalCallStoreClearsOOGFiller.json │ │ │ ├── StoreClearsAndInternalCallStoreClearsSuccessFiller.json │ │ │ ├── StoreGasOnCreateFiller.json │ │ │ ├── SuicidesAndInternalCallSuicidesBonusGasAtCallFailedFiller.json │ │ │ ├── SuicidesAndInternalCallSuicidesBonusGasAtCallFiller.json │ │ │ ├── SuicidesAndInternalCallSuicidesOOGFiller.json │ │ │ ├── SuicidesAndInternalCallSuicidesSuccessFiller.json │ │ │ ├── SuicidesAndSendMoneyToItselfEtherDestroyedFiller.json │ │ │ ├── SuicidesStopAfterSuicideFiller.json │ │ │ ├── TransactionDataCosts652Filler.json │ │ │ ├── TransactionSendingToEmptyFiller.json │ │ │ ├── TransactionSendingToZeroFiller.json │ │ │ ├── TransactionToAddressh160minusOneFiller.json │ │ │ ├── TransactionToItselfFiller.json │ │ │ └── __init__.py │ │ ├── stTransitionTest/ │ │ │ ├── __init__.py │ │ │ ├── createNameRegistratorPerTxsAfterFiller.json │ │ │ ├── createNameRegistratorPerTxsAtFiller.json │ │ │ ├── createNameRegistratorPerTxsBeforeFiller.json │ │ │ ├── delegatecallAfterTransitionFiller.json │ │ │ ├── delegatecallAtTransitionFiller.json │ │ │ └── delegatecallBeforeTransitionFiller.json │ │ ├── stWalletTest/ │ │ │ ├── __init__.py │ │ │ ├── dayLimitConstructionFiller.json │ │ │ ├── dayLimitConstructionOOGFiller.json │ │ │ ├── dayLimitConstructionPartialFiller.json │ │ │ ├── dayLimitResetSpentTodayFiller.json │ │ │ ├── dayLimitSetDailyLimitFiller.json │ │ │ ├── dayLimitSetDailyLimitNoDataFiller.json │ │ │ ├── multiOwnedAddOwnerAddMyselfFiller.json │ │ │ ├── multiOwnedAddOwnerFiller.json │ │ │ ├── multiOwnedChangeOwnerFiller.json │ │ │ ├── multiOwnedChangeOwnerNoArgumentFiller.json │ │ │ ├── multiOwnedChangeOwner_fromNotOwnerFiller.json │ │ │ ├── multiOwnedChangeOwner_toIsOwnerFiller.json │ │ │ ├── multiOwnedChangeRequirementTo0Filler.json │ │ │ ├── multiOwnedChangeRequirementTo1Filler.json │ │ │ ├── multiOwnedChangeRequirementTo2Filler.json │ │ │ ├── multiOwnedConstructionCorrectFiller.json │ │ │ ├── multiOwnedConstructionNotEnoughGasFiller.json │ │ │ ├── multiOwnedConstructionNotEnoughGasPartialFiller.json │ │ │ ├── multiOwnedIsOwnerFalseFiller.json │ │ │ ├── multiOwnedIsOwnerTrueFiller.json │ │ │ ├── multiOwnedRemoveOwnerByNonOwnerFiller.json │ │ │ ├── multiOwnedRemoveOwnerFiller.json │ │ │ ├── multiOwnedRemoveOwner_mySelfFiller.json │ │ │ ├── multiOwnedRemoveOwner_ownerIsNotOwnerFiller.json │ │ │ ├── multiOwnedRevokeNothingFiller.json │ │ │ ├── walletAddOwnerRemovePendingTransactionFiller.json │ │ │ ├── walletChangeOwnerRemovePendingTransactionFiller.json │ │ │ ├── walletChangeRequirementRemovePendingTransactionFiller.json │ │ │ ├── walletConfirmFiller.json │ │ │ ├── walletConstructionFiller.json │ │ │ ├── walletConstructionOOGFiller.json │ │ │ ├── walletConstructionPartialFiller.json │ │ │ ├── walletDefaultFiller.json │ │ │ ├── walletDefaultWithOutValueFiller.json │ │ │ ├── walletExecuteOverDailyLimitMultiOwnerFiller.json │ │ │ ├── walletExecuteOverDailyLimitOnlyOneOwnerFiller.json │ │ │ ├── walletExecuteOverDailyLimitOnlyOneOwnerNewFiller.json │ │ │ ├── walletExecuteUnderDailyLimitFiller.json │ │ │ ├── walletKillFiller.json │ │ │ ├── walletKillNotByOwnerFiller.json │ │ │ ├── walletKillToWalletFiller.json │ │ │ └── walletRemoveOwnerRemovePendingTransactionFiller.json │ │ ├── stZeroCallsRevert/ │ │ │ ├── ZeroValue_CALLCODE_OOGRevertFiller.json │ │ │ ├── ZeroValue_CALLCODE_ToEmpty_OOGRevert_ParisFiller.json │ │ │ ├── ZeroValue_CALLCODE_ToNonZeroBalance_OOGRevertFiller.json │ │ │ ├── ZeroValue_CALLCODE_ToOneStorageKey_OOGRevert_ParisFiller.json │ │ │ ├── ZeroValue_CALL_OOGRevertFiller.json │ │ │ ├── ZeroValue_CALL_ToEmpty_OOGRevert_ParisFiller.json │ │ │ ├── ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json │ │ │ ├── ZeroValue_CALL_ToOneStorageKey_OOGRevert_ParisFiller.json │ │ │ ├── ZeroValue_DELEGATECALL_OOGRevertFiller.json │ │ │ ├── ZeroValue_DELEGATECALL_ToEmpty_OOGRevert_ParisFiller.json │ │ │ ├── ZeroValue_DELEGATECALL_ToNonZeroBalance_OOGRevertFiller.json │ │ │ ├── ZeroValue_DELEGATECALL_ToOneStorageKey_OOGRevert_ParisFiller.json │ │ │ ├── ZeroValue_SUICIDE_OOGRevertFiller.json │ │ │ ├── ZeroValue_SUICIDE_ToEmpty_OOGRevert_ParisFiller.json │ │ │ ├── ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json │ │ │ ├── ZeroValue_SUICIDE_ToOneStorageKey_OOGRevert_ParisFiller.json │ │ │ └── __init__.py │ │ ├── stZeroCallsTest/ │ │ │ ├── ZeroValue_CALLCODEFiller.json │ │ │ ├── ZeroValue_CALLCODE_ToEmpty_ParisFiller.json │ │ │ ├── ZeroValue_CALLCODE_ToNonZeroBalanceFiller.json │ │ │ ├── ZeroValue_CALLCODE_ToOneStorageKey_ParisFiller.json │ │ │ ├── ZeroValue_CALLFiller.json │ │ │ ├── ZeroValue_CALL_ToEmpty_ParisFiller.json │ │ │ ├── ZeroValue_CALL_ToNonZeroBalanceFiller.json │ │ │ ├── ZeroValue_CALL_ToOneStorageKey_ParisFiller.json │ │ │ ├── ZeroValue_DELEGATECALLFiller.json │ │ │ ├── ZeroValue_DELEGATECALL_ToEmpty_ParisFiller.json │ │ │ ├── ZeroValue_DELEGATECALL_ToNonZeroBalanceFiller.json │ │ │ ├── ZeroValue_DELEGATECALL_ToOneStorageKey_ParisFiller.json │ │ │ ├── ZeroValue_SUICIDEFiller.json │ │ │ ├── ZeroValue_SUICIDE_ToEmpty_ParisFiller.json │ │ │ ├── ZeroValue_SUICIDE_ToNonZeroBalanceFiller.json │ │ │ ├── ZeroValue_SUICIDE_ToOneStorageKey_ParisFiller.json │ │ │ ├── ZeroValue_TransactionCALLFiller.json │ │ │ ├── ZeroValue_TransactionCALL_ToEmpty_ParisFiller.json │ │ │ ├── ZeroValue_TransactionCALL_ToNonZeroBalanceFiller.json │ │ │ ├── ZeroValue_TransactionCALL_ToOneStorageKey_ParisFiller.json │ │ │ ├── ZeroValue_TransactionCALLwithDataFiller.json │ │ │ ├── ZeroValue_TransactionCALLwithData_ToEmpty_ParisFiller.json │ │ │ ├── ZeroValue_TransactionCALLwithData_ToNonZeroBalanceFiller.json │ │ │ ├── ZeroValue_TransactionCALLwithData_ToOneStorageKey_ParisFiller.json │ │ │ └── __init__.py │ │ ├── stZeroKnowledge/ │ │ │ ├── __init__.py │ │ │ ├── ecmul_1-2_2_28000_128Filler.json │ │ │ ├── ecmul_1-2_2_28000_96Filler.json │ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_21000_128Filler.json │ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_21000_80Filler.json │ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_21000_96Filler.json │ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_28000_128Filler.json │ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_28000_80Filler.json │ │ │ ├── ecmul_1-2_340282366920938463463374607431768211456_28000_96Filler.json │ │ │ ├── ecmul_1-2_5616_21000_128Filler.json │ │ │ ├── ecmul_1-2_5616_21000_96Filler.json │ │ │ ├── ecmul_1-2_5616_28000_128Filler.json │ │ │ ├── ecmul_1-2_5617_21000_128Filler.json │ │ │ ├── ecmul_1-2_5617_21000_96Filler.json │ │ │ ├── ecmul_1-2_5617_28000_128Filler.json │ │ │ ├── ecmul_1-2_5617_28000_96Filler.json │ │ │ ├── ecmul_1-2_616_28000_96Filler.json │ │ │ ├── ecmul_1-2_9935_21000_128Filler.json │ │ │ ├── ecmul_1-2_9935_21000_96Filler.json │ │ │ ├── ecmul_1-2_9935_28000_128Filler.json │ │ │ ├── ecmul_1-2_9935_28000_96Filler.json │ │ │ ├── ecmul_1-2_9_21000_128Filler.json │ │ │ ├── ecmul_1-2_9_21000_96Filler.json │ │ │ ├── ecmul_1-2_9_28000_128Filler.json │ │ │ ├── ecmul_1-2_9_28000_96Filler.json │ │ │ ├── ecmul_1-3_0_21000_128Filler.json │ │ │ ├── ecmul_1-3_0_21000_64Filler.json │ │ │ ├── ecmul_1-3_0_21000_80Filler.json │ │ │ ├── ecmul_1-3_0_21000_96Filler.json │ │ │ ├── ecmul_1-3_0_28000_128Filler.json │ │ │ ├── ecmul_1-3_0_28000_64Filler.json │ │ │ ├── ecmul_1-3_0_28000_80_ParisFiller.json │ │ │ ├── ecmul_1-3_0_28000_96Filler.json │ │ │ ├── ecmul_1-3_1_21000_128Filler.json │ │ │ ├── ecmul_1-3_1_21000_96Filler.json │ │ │ ├── ecmul_1-3_1_28000_128Filler.json │ │ │ ├── ecmul_1-3_1_28000_96Filler.json │ │ │ ├── ecmul_1-3_2_21000_128Filler.json │ │ │ ├── ecmul_1-3_2_21000_96Filler.json │ │ │ ├── ecmul_1-3_2_28000_128Filler.json │ │ │ ├── ecmul_1-3_2_28000_96Filler.json │ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_21000_128Filler.json │ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_21000_80Filler.json │ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_21000_96Filler.json │ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_28000_128Filler.json │ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_28000_80Filler.json │ │ │ ├── ecmul_1-3_340282366920938463463374607431768211456_28000_96Filler.json │ │ │ ├── ecmul_1-3_5616_21000_128Filler.json │ │ │ ├── ecmul_1-3_5616_21000_96Filler.json │ │ │ ├── ecmul_1-3_5616_28000_128Filler.json │ │ │ ├── ecmul_1-3_5616_28000_96Filler.json │ │ │ ├── ecmul_1-3_5617_21000_128Filler.json │ │ │ ├── ecmul_1-3_5617_21000_96Filler.json │ │ │ ├── ecmul_1-3_5617_28000_128Filler.json │ │ │ ├── ecmul_1-3_5617_28000_96Filler.json │ │ │ ├── ecmul_1-3_9935_21000_128Filler.json │ │ │ ├── ecmul_1-3_9935_21000_96Filler.json │ │ │ ├── ecmul_1-3_9935_28000_128Filler.json │ │ │ ├── ecmul_1-3_9935_28000_96Filler.json │ │ │ ├── ecmul_1-3_9_21000_128Filler.json │ │ │ ├── ecmul_1-3_9_21000_96Filler.json │ │ │ ├── ecmul_1-3_9_28000_128Filler.json │ │ │ ├── ecmul_1-3_9_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_0_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_0_21000_64Filler.json │ │ │ ├── ecmul_7827-6598_0_21000_80Filler.json │ │ │ ├── ecmul_7827-6598_0_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_0_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_0_28000_64Filler.json │ │ │ ├── ecmul_7827-6598_0_28000_80Filler.json │ │ │ ├── ecmul_7827-6598_0_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_1456_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_1456_21000_80Filler.json │ │ │ ├── ecmul_7827-6598_1456_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_1456_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_1456_28000_80Filler.json │ │ │ ├── ecmul_7827-6598_1456_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_1_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_1_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_1_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_1_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_2_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_2_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_2_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_2_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_5616_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_5616_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_5616_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_5616_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_5617_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_5617_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_5617_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_5617_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_9935_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_9935_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_9935_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_9935_28000_96Filler.json │ │ │ ├── ecmul_7827-6598_9_21000_128Filler.json │ │ │ ├── ecmul_7827-6598_9_21000_96Filler.json │ │ │ ├── ecmul_7827-6598_9_28000_128Filler.json │ │ │ ├── ecmul_7827-6598_9_28000_96Filler.json │ │ │ ├── ecpairing_bad_length_191Filler.json │ │ │ ├── ecpairing_bad_length_193Filler.json │ │ │ ├── ecpairing_empty_dataFiller.json │ │ │ ├── ecpairing_empty_data_insufficient_gasFiller.json │ │ │ ├── ecpairing_inputsFiller.yml │ │ │ ├── ecpairing_one_point_failFiller.json │ │ │ ├── ecpairing_one_point_insufficient_gasFiller.json │ │ │ ├── ecpairing_one_point_not_in_subgroupFiller.json │ │ │ ├── ecpairing_one_point_with_g1_zeroFiller.json │ │ │ ├── ecpairing_one_point_with_g2_zeroFiller.json │ │ │ ├── ecpairing_one_point_with_g2_zero_and_g1_invalidFiller.json │ │ │ ├── ecpairing_perturb_g2_by_curve_orderFiller.json │ │ │ ├── ecpairing_perturb_g2_by_field_modulusFiller.json │ │ │ ├── ecpairing_perturb_g2_by_field_modulus_againFiller.json │ │ │ ├── ecpairing_perturb_g2_by_oneFiller.json │ │ │ ├── ecpairing_perturb_zeropoint_by_curve_orderFiller.json │ │ │ ├── ecpairing_perturb_zeropoint_by_field_modulusFiller.json │ │ │ ├── ecpairing_perturb_zeropoint_by_oneFiller.json │ │ │ ├── ecpairing_three_point_fail_1Filler.json │ │ │ ├── ecpairing_three_point_match_1Filler.json │ │ │ ├── ecpairing_two_point_fail_1Filler.json │ │ │ ├── ecpairing_two_point_fail_2Filler.json │ │ │ ├── ecpairing_two_point_match_1Filler.json │ │ │ ├── ecpairing_two_point_match_2Filler.json │ │ │ ├── ecpairing_two_point_match_3Filler.json │ │ │ ├── ecpairing_two_point_match_4Filler.json │ │ │ ├── ecpairing_two_point_match_5Filler.json │ │ │ ├── ecpairing_two_point_oogFiller.json │ │ │ ├── ecpairing_two_points_with_one_g2_zeroFiller.json │ │ │ ├── pairingTestFiller.json │ │ │ ├── pointAddFiller.json │ │ │ ├── pointAddTruncFiller.json │ │ │ ├── pointMulAdd2Filler.json │ │ │ └── pointMulAddFiller.json │ │ └── stZeroKnowledge2/ │ │ ├── __init__.py │ │ ├── ecadd_0-0_0-0_21000_0Filler.json │ │ ├── ecadd_0-0_0-0_21000_128Filler.json │ │ ├── ecadd_0-0_0-0_21000_192Filler.json │ │ ├── ecadd_0-0_0-0_21000_64Filler.json │ │ ├── ecadd_0-0_0-0_21000_80_ParisFiller.json │ │ ├── ecadd_0-0_0-0_25000_0Filler.json │ │ ├── ecadd_0-0_0-0_25000_128Filler.json │ │ ├── ecadd_0-0_0-0_25000_192Filler.json │ │ ├── ecadd_0-0_0-0_25000_64Filler.json │ │ ├── ecadd_0-0_0-0_25000_80Filler.json │ │ ├── ecadd_0-0_1-2_21000_128Filler.json │ │ ├── ecadd_0-0_1-2_21000_192Filler.json │ │ ├── ecadd_0-0_1-2_25000_128Filler.json │ │ ├── ecadd_0-0_1-2_25000_192Filler.json │ │ ├── ecadd_0-0_1-3_21000_128Filler.json │ │ ├── ecadd_0-0_1-3_25000_128Filler.json │ │ ├── ecadd_0-3_1-2_21000_128Filler.json │ │ ├── ecadd_0-3_1-2_25000_128Filler.json │ │ ├── ecadd_1-2_0-0_21000_128Filler.json │ │ ├── ecadd_1-2_0-0_21000_192Filler.json │ │ ├── ecadd_1-2_0-0_21000_64Filler.json │ │ ├── ecadd_1-2_0-0_25000_128Filler.json │ │ ├── ecadd_1-2_0-0_25000_192Filler.json │ │ ├── ecadd_1-2_0-0_25000_64Filler.json │ │ ├── ecadd_1-2_1-2_21000_128Filler.json │ │ ├── ecadd_1-2_1-2_21000_192Filler.json │ │ ├── ecadd_1-2_1-2_25000_128Filler.json │ │ ├── ecadd_1-2_1-2_25000_192Filler.json │ │ ├── ecadd_1-3_0-0_21000_80Filler.json │ │ ├── ecadd_1-3_0-0_25000_80_ParisFiller.json │ │ ├── ecadd_1145-3932_1145-4651_21000_192Filler.json │ │ ├── ecadd_1145-3932_1145-4651_25000_192Filler.json │ │ ├── ecadd_1145-3932_2969-1336_21000_128Filler.json │ │ ├── ecadd_1145-3932_2969-1336_25000_128Filler.json │ │ ├── ecadd_6-9_19274124-124124_21000_128Filler.json │ │ ├── ecadd_6-9_19274124-124124_25000_128Filler.json │ │ ├── ecmul_0-0_0_21000_0Filler.json │ │ ├── ecmul_0-0_0_21000_128Filler.json │ │ ├── ecmul_0-0_0_21000_40Filler.json │ │ ├── ecmul_0-0_0_21000_64Filler.json │ │ ├── ecmul_0-0_0_21000_80Filler.json │ │ ├── ecmul_0-0_0_21000_96Filler.json │ │ ├── ecmul_0-0_0_28000_0Filler.json │ │ ├── ecmul_0-0_0_28000_128Filler.json │ │ ├── ecmul_0-0_0_28000_40Filler.json │ │ ├── ecmul_0-0_0_28000_64Filler.json │ │ ├── ecmul_0-0_0_28000_80Filler.json │ │ ├── ecmul_0-0_0_28000_96Filler.json │ │ ├── ecmul_0-0_1_21000_128Filler.json │ │ ├── ecmul_0-0_1_21000_96Filler.json │ │ ├── ecmul_0-0_1_28000_128Filler.json │ │ ├── ecmul_0-0_1_28000_96Filler.json │ │ ├── ecmul_0-0_2_21000_128Filler.json │ │ ├── ecmul_0-0_2_21000_96Filler.json │ │ ├── ecmul_0-0_2_28000_128Filler.json │ │ ├── ecmul_0-0_2_28000_96Filler.json │ │ ├── ecmul_0-0_340282366920938463463374607431768211456_21000_128Filler.json │ │ ├── ecmul_0-0_340282366920938463463374607431768211456_21000_80Filler.json │ │ ├── ecmul_0-0_340282366920938463463374607431768211456_21000_96Filler.json │ │ ├── ecmul_0-0_340282366920938463463374607431768211456_28000_128Filler.json │ │ ├── ecmul_0-0_340282366920938463463374607431768211456_28000_80Filler.json │ │ ├── ecmul_0-0_340282366920938463463374607431768211456_28000_96Filler.json │ │ ├── ecmul_0-0_5616_21000_128Filler.json │ │ ├── ecmul_0-0_5616_21000_96Filler.json │ │ ├── ecmul_0-0_5616_28000_128Filler.json │ │ ├── ecmul_0-0_5616_28000_96Filler.json │ │ ├── ecmul_0-0_5617_21000_128Filler.json │ │ ├── ecmul_0-0_5617_21000_96Filler.json │ │ ├── ecmul_0-0_5617_28000_128Filler.json │ │ ├── ecmul_0-0_5617_28000_96Filler.json │ │ ├── ecmul_0-0_9935_21000_128Filler.json │ │ ├── ecmul_0-0_9935_21000_96Filler.json │ │ ├── ecmul_0-0_9935_28000_128Filler.json │ │ ├── ecmul_0-0_9935_28000_96Filler.json │ │ ├── ecmul_0-0_9_21000_128Filler.json │ │ ├── ecmul_0-0_9_21000_96Filler.json │ │ ├── ecmul_0-0_9_28000_128Filler.json │ │ ├── ecmul_0-0_9_28000_96Filler.json │ │ ├── ecmul_0-3_0_21000_128Filler.json │ │ ├── ecmul_0-3_0_21000_64Filler.json │ │ ├── ecmul_0-3_0_21000_80Filler.json │ │ ├── ecmul_0-3_0_21000_96Filler.json │ │ ├── ecmul_0-3_0_28000_128Filler.json │ │ ├── ecmul_0-3_0_28000_64Filler.json │ │ ├── ecmul_0-3_0_28000_80Filler.json │ │ ├── ecmul_0-3_0_28000_96Filler.json │ │ ├── ecmul_0-3_1_21000_128Filler.json │ │ ├── ecmul_0-3_1_21000_96Filler.json │ │ ├── ecmul_0-3_1_28000_128Filler.json │ │ ├── ecmul_0-3_1_28000_96Filler.json │ │ ├── ecmul_0-3_2_21000_128Filler.json │ │ ├── ecmul_0-3_2_21000_96Filler.json │ │ ├── ecmul_0-3_2_28000_128Filler.json │ │ ├── ecmul_0-3_2_28000_96Filler.json │ │ ├── ecmul_0-3_340282366920938463463374607431768211456_21000_128Filler.json │ │ ├── ecmul_0-3_340282366920938463463374607431768211456_21000_80Filler.json │ │ ├── ecmul_0-3_340282366920938463463374607431768211456_21000_96Filler.json │ │ ├── ecmul_0-3_340282366920938463463374607431768211456_28000_128Filler.json │ │ ├── ecmul_0-3_340282366920938463463374607431768211456_28000_80Filler.json │ │ ├── ecmul_0-3_340282366920938463463374607431768211456_28000_96Filler.json │ │ ├── ecmul_0-3_5616_21000_128Filler.json │ │ ├── ecmul_0-3_5616_21000_96Filler.json │ │ ├── ecmul_0-3_5616_28000_128Filler.json │ │ ├── ecmul_0-3_5616_28000_96_ParisFiller.json │ │ ├── ecmul_0-3_5617_21000_128Filler.json │ │ ├── ecmul_0-3_5617_21000_96Filler.json │ │ ├── ecmul_0-3_5617_28000_128Filler.json │ │ ├── ecmul_0-3_5617_28000_96Filler.json │ │ ├── ecmul_0-3_9935_21000_128Filler.json │ │ ├── ecmul_0-3_9935_21000_96Filler.json │ │ ├── ecmul_0-3_9935_28000_128Filler.json │ │ ├── ecmul_0-3_9935_28000_96Filler.json │ │ ├── ecmul_0-3_9_21000_128Filler.json │ │ ├── ecmul_0-3_9_21000_96Filler.json │ │ ├── ecmul_0-3_9_28000_128Filler.json │ │ ├── ecmul_0-3_9_28000_96Filler.json │ │ ├── ecmul_1-2_0_21000_128Filler.json │ │ ├── ecmul_1-2_0_21000_64Filler.json │ │ ├── ecmul_1-2_0_21000_80Filler.json │ │ ├── ecmul_1-2_0_21000_96Filler.json │ │ ├── ecmul_1-2_0_28000_128Filler.json │ │ ├── ecmul_1-2_0_28000_64Filler.json │ │ ├── ecmul_1-2_0_28000_80Filler.json │ │ ├── ecmul_1-2_0_28000_96Filler.json │ │ ├── ecmul_1-2_1_21000_128Filler.json │ │ ├── ecmul_1-2_1_21000_96Filler.json │ │ ├── ecmul_1-2_1_28000_128Filler.json │ │ ├── ecmul_1-2_1_28000_96Filler.json │ │ ├── ecmul_1-2_2_21000_128Filler.json │ │ └── ecmul_1-2_2_21000_96Filler.json │ └── unscheduled/ │ ├── __init__.py │ └── eip7692_eof_v1/ │ ├── __init__.py │ ├── eip3540_eof_v1/ │ │ ├── __init__.py │ │ ├── opcodes.py │ │ ├── spec.py │ │ ├── test_all_opcodes_in_container.py │ │ ├── test_container_size.py │ │ ├── test_container_validation.py │ │ ├── test_eof_example.py │ │ ├── test_execution.py │ │ ├── test_execution_function.py │ │ ├── test_extcode.py │ │ ├── test_migrated_valid_invalid.py │ │ ├── test_opcodes_in_legacy.py │ │ ├── test_section_header_body_mismatch.py │ │ ├── test_section_order.py │ │ └── test_section_size.py │ ├── eip4200_relative_jumps/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ ├── test_rjump.py │ │ ├── test_rjumpi.py │ │ └── test_rjumpv.py │ ├── eip4750_functions/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ ├── test_callf_execution.py │ │ └── test_code_validation.py │ ├── eip5450_stack/ │ │ ├── __init__.py │ │ ├── test_code_validation.py │ │ └── test_execution.py │ ├── eip6206_jumpf/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ ├── spec.py │ │ ├── test_jumpf_execution.py │ │ ├── test_jumpf_stack.py │ │ ├── test_jumpf_target.py │ │ ├── test_jumpf_validation.py │ │ └── test_nonreturning_validation.py │ ├── eip663_dupn_swapn_exchange/ │ │ ├── __init__.py │ │ ├── test_dupn.py │ │ ├── test_exchange.py │ │ └── test_swapn.py │ ├── eip7069_extcall/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ ├── spec.py │ │ ├── test_address_space_extension.py │ │ ├── test_calldata.py │ │ ├── test_calls.py │ │ ├── test_gas.py │ │ ├── test_returndatacopy_memory_expansion.py │ │ └── test_returndataload.py │ ├── eip7480_data_section/ │ │ ├── __init__.py │ │ ├── spec.py │ │ ├── test_code_validation.py │ │ ├── test_data_opcodes.py │ │ └── test_datacopy_memory_expansion.py │ ├── eip7620_eof_create/ │ │ ├── __init__.py │ │ ├── helpers.py │ │ ├── spec.py │ │ ├── test_eofcreate.py │ │ ├── test_eofcreate_failures.py │ │ ├── test_gas.py │ │ ├── test_legacy_eof_creates.py │ │ ├── test_memory.py │ │ ├── test_returncode.py │ │ └── test_subcontainer_validation.py │ ├── eip7873_tx_create/ │ │ ├── __init__.py │ │ ├── spec.py │ │ ├── test_creation_tx.py │ │ ├── test_txcreate.py │ │ ├── test_txcreate_failures.py │ │ └── test_txcreate_validates.py │ ├── eof_tracker.md │ └── gas_test.py ├── tox.ini └── whitelist.txt
Showing preview only (487K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (5307 symbols across 538 files)
FILE: .github/scripts/generate_eip_report.py
function extract_failures (line 53) | def extract_failures(output: str) -> List[Tuple[str, str, str, str, str,...
function generate_summary_table (line 92) | def generate_summary_table(failures: List[Tuple[str, str, str, str, str,...
function main (line 102) | def main() -> None:
FILE: .github/scripts/get_release_props.py
function get_release_props (line 20) | def get_release_props(release: str) -> None:
FILE: docs/javascripts/site.js
constant FILTER_INPUT_SELECTOR (line 2) | const FILTER_INPUT_SELECTOR = ".custom_dt_filter";
constant FILTER_SEARCH_SELECTOR (line 3) | const FILTER_SEARCH_SELECTOR = "#custom_dt_search";
constant ICON_COLUMN_FILTER (line 5) | const ICON_COLUMN_FILTER =
FILE: docs/scripts/copy_repo_docs_to_mkdocs.py
function copy_markdown_file (line 12) | def copy_markdown_file(source_path, destination_path, fix_links=True):
function include_contributing_in_docs (line 53) | def include_contributing_in_docs():
function include_security_in_docs (line 58) | def include_security_in_docs():
FILE: docs/scripts/generate_fill_help.py
function get_fill_help_output (line 21) | def get_fill_help_output() -> str:
function format_help_output (line 37) | def format_help_output(help_text: str, max_width: int = 88) -> str:
function generate_command_line_options_docs (line 74) | def generate_command_line_options_docs():
FILE: scripts/convert_addresses.py
class Section (line 18) | class Section(Enum):
class Context (line 29) | class Context(Enum):
function is_incompatible_file (line 390) | def is_incompatible_file(file_path: Path) -> bool:
function normalize_address (line 514) | def normalize_address(addr: str) -> str:
function calculate_entropy (line 524) | def calculate_entropy(addr: str) -> float:
class SimpleAddressConverter (line 548) | class SimpleAddressConverter:
method __init__ (line 551) | def __init__(self, filename: str = ""): # noqa: D107
method detect_section (line 583) | def detect_section(self, line: str) -> Optional[Section]:
method detect_context_change (line 599) | def detect_context_change(self, line: str) -> Optional[Context]:
method create_short_name (line 633) | def create_short_name(self, addr: str) -> Optional[str]:
method collect_addresses (line 665) | def collect_addresses(self, lines: List[str]) -> None:
method build_tags (line 832) | def build_tags(self) -> None:
method convert_line (line 865) | def convert_line(self, line: str, section: Section, context: Context) ...
function convert_file (line 1089) | def convert_file(file_path: str) -> bool:
function main (line 1166) | def main():
FILE: src/cli/check_fixtures.py
function count_json_files_exclude_index (line 17) | def count_json_files_exclude_index(start_path: Path) -> int:
function check_json (line 26) | def check_json(json_file_path: Path) -> None:
function check_fixtures (line 93) | def check_fixtures(input_str: str, quiet_mode: bool, stop_on_error: bool...
FILE: src/cli/compare_fixtures.py
function get_index_path (line 22) | def get_index_path(folder: Path) -> Path:
function load_index (line 27) | def load_index(folder: Path) -> IndexFile:
function get_fixture_hashes (line 36) | def get_fixture_hashes(index: IndexFile) -> Set[HexNumber]:
function find_duplicates (line 48) | def find_duplicates(base_hashes: Set[HexNumber], patch_hashes: Set[HexNu...
function pop_all_by_hash (line 53) | def pop_all_by_hash(index: IndexFile, fixture_hash: HexNumber) -> List[T...
function remove_fixture_from_file (line 68) | def remove_fixture_from_file(file: Path, test_case_id: str) -> None:
function batch_remove_fixtures_from_files (line 81) | def batch_remove_fixtures_from_files(removals_by_file: dict[Path, list[s...
function rewrite_index (line 96) | def rewrite_index(folder: Path, index: IndexFile, dry_run: bool) -> None:
function main (line 126) | def main(
FILE: src/cli/diff_opcode_counts.py
function find_json_files (line 20) | def find_json_files(directory: Path) -> List[Path]:
function load_fixtures_from_file (line 30) | def load_fixtures_from_file(
function extract_opcode_counts_from_fixtures (line 55) | def extract_opcode_counts_from_fixtures(fixtures: Fixtures) -> Dict[str,...
function load_all_opcode_counts (line 68) | def load_all_opcode_counts(
function compare_opcode_counts (line 87) | def compare_opcode_counts(count1: OpcodeCount, count2: OpcodeCount) -> D...
function main (line 125) | def main(
FILE: src/cli/eest/cli.py
function eest (line 18) | def eest() -> None:
FILE: src/cli/eest/commands/clean.py
function clean (line 19) | def clean(all_files: bool, dry_run: bool, verbose: bool) -> None:
FILE: src/cli/eest/commands/info.py
function run_command (line 13) | def run_command(command: list[str]) -> str:
function get_uv_version (line 27) | def get_uv_version() -> str:
function info (line 33) | def info() -> None:
FILE: src/cli/eest/make/cli.py
function make (line 20) | def make() -> None:
FILE: src/cli/eest/make/commands/env.py
function create_default_env (line 15) | def create_default_env() -> None:
FILE: src/cli/eest/make/commands/test.py
function exit_now (line 28) | def exit_now() -> None:
function test (line 38) | def test() -> None:
FILE: src/cli/eest/quotes.py
function wrap_quote (line 28) | def wrap_quote(quote: str, width: int = 80) -> str:
function box_quote (line 33) | def box_quote(quote: str) -> str:
function get_quote (line 53) | def get_quote() -> str:
FILE: src/cli/eofwrap.py
function eof_wrap (line 45) | def eof_wrap(input_path: str, output_dir: str, traces: bool) -> None:
class BlockchainFixtures (line 81) | class BlockchainFixtures(EthereumTestRootModel):
class EofWrapper (line 90) | class EofWrapper:
method __init__ (line 118) | def __init__(self) -> None:
method wrap_file (line 172) | def wrap_file(self, in_path: str, out_path: str, traces: bool) -> None:
method _short_exception_msg (line 267) | def _short_exception_msg(self, e: Exception) -> str:
method _wrap_fixture (line 275) | def _wrap_fixture(self, fixture: BlockchainFixture, traces: bool) -> B...
method _validate_eof (line 350) | def _validate_eof(self, container: Container, metrics: bool = True) ->...
function wrap_code (line 372) | def wrap_code(account_code: Bytes) -> Container:
function _inc_counter (line 395) | def _inc_counter(d: dict, key: Any) -> None:
FILE: src/cli/evm_bytes.py
class OpcodeWithOperands (line 26) | class OpcodeWithOperands:
method format (line 32) | def format(self, assembly: bool) -> str:
method format_assembly (line 43) | def format_assembly(self) -> str:
method terminating (line 58) | def terminating(self) -> bool:
method bytecode (line 63) | def bytecode(self) -> Bytecode:
function process_evm_bytes (line 73) | def process_evm_bytes(evm_bytes: bytes) -> List[OpcodeWithOperands]: # ...
function format_opcodes (line 118) | def format_opcodes(opcodes: List[OpcodeWithOperands], assembly: bool = F...
function process_evm_bytes_string (line 135) | def process_evm_bytes_string(evm_bytes_hex_string: str, assembly: bool =...
function evm_bytes (line 159) | def evm_bytes() -> None:
function hex_string (line 171) | def hex_string(hex_string: str, assembly: bool) -> None:
function binary_file (line 208) | def binary_file(binary_file: Any, assembly: bool) -> None:
FILE: src/cli/extract_config.py
function get_docker_containers (line 31) | def get_docker_containers() -> set[str]:
function extract_client_files (line 37) | def extract_client_files(
function create_genesis_from_fixture (line 92) | def create_genesis_from_fixture(fixture_path: Path) -> Tuple[FixtureHead...
function get_client_environment_for_fixture (line 122) | def get_client_environment_for_fixture(fork: Fork, chain_id: int) -> dict:
function extract_config (line 171) | def extract_config(
FILE: src/cli/fillerconvert/fillerconvert.py
function main (line 10) | def main() -> None:
FILE: src/cli/fillerconvert/verify_filled.py
class Indexes (line 10) | class Indexes(BaseModel):
class PostRecord (line 18) | class PostRecord(BaseModel):
class StateTest (line 25) | class StateTest(BaseModel):
class FilledStateTest (line 31) | class FilledStateTest(RootModel[dict[str, StateTest]]):
function verify_refilled (line 35) | def verify_refilled(refilled: Path, original: Path) -> int:
FILE: src/cli/fuzzer_bridge/blocktest_builder.py
function choose_random_num_blocks (line 15) | def choose_random_num_blocks(num_txs: int, max_blocks: int = 10) -> int:
class BlocktestBuilder (line 35) | class BlocktestBuilder:
method __init__ (line 38) | def __init__(self, transition_tool: Optional[TransitionTool] = None):
method build_blocktest (line 42) | def build_blocktest(
method build_and_save (line 74) | def build_and_save(self, fuzzer_output: Dict[str, Any], output_path: P...
function build_blocktest_from_fuzzer (line 85) | def build_blocktest_from_fuzzer(
FILE: src/cli/fuzzer_bridge/cli.py
function count_json_files (line 18) | def count_json_files(start_path: Path) -> int:
function get_input_files (line 23) | def get_input_files(input_path: Path) -> Generator[Path, None, None]:
function generate_test_name (line 31) | def generate_test_name(file_path: Path, index: int = 0) -> str:
function process_single_file (line 39) | def process_single_file(
function process_single_file_worker (line 91) | def process_single_file_worker(
function process_file_batch (line 149) | def process_file_batch(
function process_directory_parallel (line 214) | def process_directory_parallel(
function process_directory (line 341) | def process_directory(
function batch_mode (line 448) | def batch_mode(
function main (line 648) | def main(
FILE: src/cli/fuzzer_bridge/converter.py
function fuzzer_account_to_eest_account (line 33) | def fuzzer_account_to_eest_account(fuzzer_account: FuzzerAccountInput) -...
function fuzzer_authorization_to_eest (line 52) | def fuzzer_authorization_to_eest(
function fuzzer_transaction_to_eest_transaction (line 75) | def fuzzer_transaction_to_eest_transaction(
function create_sender_eoa_map (line 122) | def create_sender_eoa_map(accounts: Dict[Address, FuzzerAccountInput]) -...
function blockchain_test_from_fuzzer (line 155) | def blockchain_test_from_fuzzer(
function _distribute_transactions_to_blocks (line 248) | def _distribute_transactions_to_blocks(
FILE: src/cli/fuzzer_bridge/models.py
class FuzzerAccountInput (line 24) | class FuzzerAccountInput(BaseModel):
class Config (line 38) | class Config:
class FuzzerAuthorizationInput (line 44) | class FuzzerAuthorizationInput(BaseModel):
class Config (line 58) | class Config:
class FuzzerTransactionInput (line 64) | class FuzzerTransactionInput(BaseModel):
class Config (line 96) | class Config:
class FuzzerOutput (line 102) | class FuzzerOutput(CamelModel):
FILE: src/cli/fuzzer_bridge/performance_utils.py
class FastJSONHandler (line 18) | class FastJSONHandler:
method load_json_mmap (line 22) | def load_json_mmap(file_path: Path) -> Dict[str, Any]:
method dump_json_fast (line 36) | def dump_json_fast(data: Dict[str, Any], file_path: Path, pretty: bool...
class BatchProcessor (line 55) | class BatchProcessor:
method calculate_optimal_batch_size (line 59) | def calculate_optimal_batch_size(file_count: int, num_workers: int) ->...
method calculate_optimal_workers (line 81) | def calculate_optimal_workers(file_count: int) -> int:
function cached_fork_lookup (line 100) | def cached_fork_lookup(fork_name: str) -> Optional[Any]:
class ParallelProgressTracker (line 110) | class ParallelProgressTracker:
method __init__ (line 113) | def __init__(self, total: int):
method update (line 122) | def update(self, success: int = 0, error: int = 0) -> tuple[int, int]:
method get_stats (line 129) | def get_stats(self) -> tuple[int, int, int]:
class BufferPool (line 136) | class BufferPool:
method __init__ (line 139) | def __init__(self, buffer_size: int = 1024 * 1024): # 1MB default
method get_buffer (line 144) | def get_buffer(self) -> bytearray:
method return_buffer (line 150) | def return_buffer(self, buffer: bytearray) -> None:
FILE: src/cli/fuzzer_bridge/production_test.py
class FuzzerBridge (line 38) | class FuzzerBridge:
method __init__ (line 41) | def __init__(
method validate_fuzzer_output (line 55) | def validate_fuzzer_output(self, data: Dict[str, Any]) -> List[str]:
method _validate_key_address (line 92) | def _validate_key_address(self, private_key: str, expected_address: st...
method convert_to_test (line 103) | def convert_to_test(self, fuzzer_data: Dict[str, Any]) -> Dict[str, Any]:
method generate_fixture (line 176) | def generate_fixture(self, test_params: Dict[str, Any]) -> Dict[str, A...
method verify_with_geth (line 204) | def verify_with_geth(
method run_full_test (line 255) | def run_full_test(self, fuzzer_file: str, geth_path: str) -> bool:
function main (line 326) | def main() -> int:
FILE: src/cli/gen_index.py
function count_json_files_exclude_index (line 33) | def count_json_files_exclude_index(start_path: Path) -> int:
function generate_fixtures_index_cli (line 76) | def generate_fixtures_index_cli(input_dir: str, quiet_mode: bool, force_...
function generate_fixtures_index (line 87) | def generate_fixtures_index(
FILE: src/cli/generate_checklist_stubs.py
function has_nested_classes (line 9) | def has_nested_classes(obj: type) -> bool:
function generate_class_stub (line 20) | def generate_class_stub(obj: type, class_name: str, indent: int = 0) -> ...
function generate_checklist_stubs (line 84) | def generate_checklist_stubs(output: str | None, dry_run: bool) -> None:
FILE: src/cli/gentest/cli.py
function generate (line 23) | def generate(transaction_hash: str, output_file: TextIO) -> None:
FILE: src/cli/gentest/request_manager.py
class RPCRequest (line 26) | class RPCRequest:
method __init__ (line 32) | def __init__(self) -> None:
method eth_get_transaction_by_hash (line 40) | def eth_get_transaction_by_hash(self, transaction_hash: Hash) -> Trans...
method eth_get_block_by_number (line 49) | def eth_get_block_by_number(self, block_number: BlockNumberType) -> En...
method debug_trace_call (line 62) | def debug_trace_call(
FILE: src/cli/gentest/source_code_generator.py
function get_test_source (line 27) | def get_test_source(provider: Provider, template_path: str) -> str:
function format_code (line 52) | def format_code(code: str) -> str:
FILE: src/cli/gentest/test_context_providers.py
class Provider (line 29) | class Provider(ABC, BaseModel):
method get_context (line 33) | def get_context(self) -> Dict:
class StateTestProvider (line 39) | class StateTestProvider(Provider):
method _make_rpc_calls (line 47) | def _make_rpc_calls(self) -> None:
method _get_environment (line 65) | def _get_environment(self) -> Environment:
method _get_pre_state (line 69) | def _get_pre_state(self) -> Dict[str, Account]:
method _get_transaction (line 84) | def _get_transaction(self) -> Transaction:
method get_context (line 90) | def get_context(self) -> Dict[str, Any]:
FILE: src/cli/gentest/test_providers.py
class BlockchainTestProvider (line 31) | class BlockchainTestProvider(BaseModel):
method _get_environment_kwargs (line 40) | def _get_environment_kwargs(self) -> str:
method _get_pre_state_items (line 51) | def _get_pre_state_items(self) -> str:
method _get_transaction_items (line 80) | def _get_transaction_items(self) -> str:
method get_context (line 110) | def get_context(self) -> Dict[str, Any]:
FILE: src/cli/gentest/tests/test_cli.py
function transaction_hash (line 91) | def transaction_hash(tx_type: int) -> str: # noqa: D103
function test_tx_type (line 96) | def test_tx_type(
FILE: src/cli/hasher.py
class HashableItemType (line 13) | class HashableItemType(IntEnum):
class HashableItem (line 22) | class HashableItem:
method hash (line 33) | def hash(self) -> bytes:
method print (line 45) | def print(
method from_json_file (line 63) | def from_json_file(cls, *, file_path: Path, parents: List[str]) -> "Ha...
method from_folder (line 91) | def from_folder(
function main (line 119) | def main(folder_path_str: str, files: bool, tests: bool, root: bool) -> ...
FILE: src/cli/input/__init__.py
function input_text (line 9) | def input_text(question: str) -> str:
function input_password (line 23) | def input_password(question: str) -> str:
function input_select (line 37) | def input_select(question: str, choices: list) -> str:
function input_checkbox (line 52) | def input_checkbox(question: str, choices: list) -> list:
function input_confirm (line 67) | def input_confirm(question: str) -> bool:
FILE: src/cli/input/input_repository.py
class InputRepository (line 7) | class InputRepository(ABC):
method input_text (line 14) | def input_text(self, question: str) -> str:
method input_password (line 19) | def input_password(self, question: str) -> str:
method input_select (line 24) | def input_select(self, question: str, choices: List[str]) -> str:
method input_checkbox (line 29) | def input_checkbox(self, question: str, choices: List[str]) -> List[str]:
method input_confirm (line 34) | def input_confirm(self, question: str) -> bool:
FILE: src/cli/input/questionary_input_repository.py
class QuestionaryInputRepository (line 11) | class QuestionaryInputRepository(InputRepository):
method input_text (line 17) | def input_text(self, question: str) -> str:
method input_password (line 21) | def input_password(self, question: str) -> str:
method input_select (line 25) | def input_select(self, question: str, choices: list) -> str:
method input_checkbox (line 29) | def input_checkbox(self, question: str, choices: list) -> list:
method input_confirm (line 33) | def input_confirm(self, question: str) -> bool:
FILE: src/cli/modify_static_test_gas_limits.py
class GasLimitDict (line 19) | class GasLimitDict(EthereumTestRootModel):
method unique_files (line 24) | def unique_files(self) -> Set[Path]:
method get_tests_by_file_path (line 32) | def get_tests_by_file_path(self, file: Path | str) -> Set[str]:
class StaticTestFile (line 42) | class StaticTestFile(EthereumTestRootModel):
function _check_fixtures (line 48) | def _check_fixtures(
function main (line 217) | def main(input_str: str, max_gas_limit: int | None, dry_run: bool, verbo...
FILE: src/cli/order_fixtures.py
function recursive_sort (line 24) | def recursive_sort(item: Dict[str, Any] | List[Any]) -> Dict[str, Any] |...
function order_fixture (line 53) | def order_fixture(input_path: Path, output_path: Path) -> None:
function process_directory (line 75) | def process_directory(input_dir: Path, output_dir: Path) -> None:
function order_fixtures (line 117) | def order_fixtures(input_dir: str, output_dir: str) -> None:
FILE: src/cli/pytest_commands/base.py
class PytestExecution (line 20) | class PytestExecution:
class ArgumentProcessor (line 39) | class ArgumentProcessor(ABC):
method process_args (line 43) | def process_args(self, args: List[str]) -> List[str]:
class PytestRunner (line 49) | class PytestRunner:
method run_single (line 55) | def run_single(self, execution: PytestExecution) -> int:
method _is_verbose (line 78) | def _is_verbose(self, args: List[str]) -> bool:
method run_multiple (line 82) | def run_multiple(self, executions: List[PytestExecution]) -> int:
class PytestCommand (line 105) | class PytestCommand:
method config_path (line 132) | def config_path(self) -> Path:
method execute (line 136) | def execute(self, pytest_args: List[str]) -> None:
method test_args (line 143) | def test_args(self) -> List[str]:
method create_executions (line 152) | def create_executions(self, pytest_args: List[str]) -> List[PytestExec...
method process_arguments (line 168) | def process_arguments(self, args: List[str]) -> List[str]:
function common_pytest_options (line 181) | def common_pytest_options(func: Callable[..., Any]) -> Callable[..., Any]:
FILE: src/cli/pytest_commands/check_eip_versions.py
function check_eip_versions (line 15) | def check_eip_versions(pytest_args: List[str], **kwargs: Any) -> None:
FILE: src/cli/pytest_commands/checklist.py
function checklist (line 25) | def checklist(output: str, eip: tuple[int, ...], **kwargs: Any) -> None:
FILE: src/cli/pytest_commands/consume.py
function create_consume_command (line 13) | def create_consume_command(
function get_command_logic_test_paths (line 39) | def get_command_logic_test_paths(command_name: str) -> List[Path]:
function consume (line 58) | def consume() -> None:
function consume_command (line 63) | def consume_command(
function direct (line 96) | def direct() -> None:
function rlp (line 102) | def rlp() -> None:
function engine (line 108) | def engine() -> None:
function sync (line 114) | def sync() -> None:
function cache (line 123) | def cache(pytest_args: List[str], **kwargs: Any) -> None:
FILE: src/cli/pytest_commands/execute.py
function execute (line 17) | def execute() -> None:
function _create_execute_subcommand (line 22) | def _create_execute_subcommand(
FILE: src/cli/pytest_commands/fill.py
class FillCommand (line 12) | class FillCommand(PytestCommand):
method __init__ (line 15) | def __init__(self, **kwargs: Any) -> None:
method create_executions (line 27) | def create_executions(self, pytest_args: List[str]) -> List[PytestExec...
method _create_two_phase_executions (line 54) | def _create_two_phase_executions(self, args: List[str]) -> List[Pytest...
method _create_single_phase_with_pre_alloc_groups (line 78) | def _create_single_phase_with_pre_alloc_groups(self, args: List[str]) ...
method _create_phase1_args (line 87) | def _create_phase1_args(self, args: List[str]) -> List[str]:
method _create_phase2_args (line 101) | def _create_phase2_args(self, args: List[str]) -> List[str]:
method _remove_unwanted_phase1_args (line 110) | def _remove_unwanted_phase1_args(self, args: List[str]) -> List[str]:
method _remove_generate_pre_alloc_groups_flag (line 147) | def _remove_generate_pre_alloc_groups_flag(self, args: List[str]) -> L...
method _remove_clean_flag (line 154) | def _remove_clean_flag(self, args: List[str]) -> List[str]:
method _add_use_pre_alloc_groups_flag (line 158) | def _add_use_pre_alloc_groups_flag(self, args: List[str]) -> List[str]:
method _should_use_two_phase_execution (line 162) | def _should_use_two_phase_execution(self, args: List[str]) -> bool:
method _ensure_generate_all_formats_for_tarball (line 170) | def _ensure_generate_all_formats_for_tarball(self, args: List[str]) ->...
method _is_tarball_output (line 176) | def _is_tarball_output(self, args: List[str]) -> bool:
method _is_watch_mode (line 189) | def _is_watch_mode(self, args: List[str]) -> bool:
method _is_verbose_watch_mode (line 193) | def _is_verbose_watch_mode(self, args: List[str]) -> bool:
method execute (line 200) | def execute(self, pytest_args: List[str]) -> None:
method _execute_with_watch (line 207) | def _execute_with_watch(self, pytest_args: List[str]) -> None:
class PhilCommand (line 214) | class PhilCommand(FillCommand):
method create_executions (line 217) | def create_executions(self, pytest_args: List[str]) -> List[PytestExec...
function fill (line 250) | def fill(pytest_args: List[str], **kwargs: Any) -> None:
function phil (line 264) | def phil(pytest_args: List[str], **kwargs: Any) -> None:
FILE: src/cli/pytest_commands/processors.py
class HelpFlagsProcessor (line 13) | class HelpFlagsProcessor(ArgumentProcessor):
method __init__ (line 16) | def __init__(self, command_type: str, required_args: List[str] | None ...
method process_args (line 29) | def process_args(self, args: List[str]) -> List[str]:
class StdoutFlagsProcessor (line 47) | class StdoutFlagsProcessor(ArgumentProcessor):
method process_args (line 50) | def process_args(self, args: List[str]) -> List[str]:
method _is_writing_to_stdout (line 65) | def _is_writing_to_stdout(self, args: List[str]) -> bool:
class HiveEnvironmentProcessor (line 78) | class HiveEnvironmentProcessor(ArgumentProcessor):
method __init__ (line 81) | def __init__(self, command_name: str):
method process_args (line 85) | def process_args(self, args: List[str]) -> List[str]:
method _has_regex_or_sim_limit (line 113) | def _has_regex_or_sim_limit(self, args: List[str]) -> bool:
method _has_parallelism_flag (line 117) | def _has_parallelism_flag(self, args: List[str]) -> bool:
class WatchFlagsProcessor (line 122) | class WatchFlagsProcessor(ArgumentProcessor):
method process_args (line 128) | def process_args(self, args: List[str]) -> List[str]:
class ConsumeCommandProcessor (line 136) | class ConsumeCommandProcessor(ArgumentProcessor):
method __init__ (line 139) | def __init__(self, is_hive: bool = False):
method process_args (line 149) | def process_args(self, args: List[str]) -> List[str]:
method _handle_timing_data_stdout (line 155) | def _handle_timing_data_stdout(self, args: List[str]) -> List[str]:
FILE: src/cli/pytest_commands/watcher.py
class FileWatcher (line 12) | class FileWatcher:
method __init__ (line 15) | def __init__(self, console: Console | None = None, verbose: bool = Fal...
method run_with_watch (line 20) | def run_with_watch(self, args: List[str]) -> None:
FILE: src/cli/show_pre_alloc_group_stats.py
function extract_test_module (line 16) | def extract_test_module(test_id: str) -> str:
function extract_test_function (line 26) | def extract_test_function(test_id: str) -> str:
function calculate_size_distribution (line 45) | def calculate_size_distribution(
function analyze_pre_alloc_folder (line 113) | def analyze_pre_alloc_folder(folder: Path) -> Dict:
function display_stats (line 210) | def display_stats(stats: Dict, console: Console, verbose: int = 0) -> None:
function main (line 476) | def main(pre_alloc_folder: Path, verbose: int) -> None:
FILE: src/cli/tests/test_eofwrap.py
function test_wrap_code (line 50) | def test_wrap_code(code: Any, result: Any) -> None:
FILE: src/cli/tests/test_evm_bytes.py
function test_evm_bytes (line 50) | def test_evm_bytes(evm_bytes: str, python_opcodes: str) -> None:
function test_individual_opcodes (line 63) | def test_individual_opcodes(opcode: Op) -> None:
function test_invalid_opcode (line 79) | def test_invalid_opcode() -> None:
function test_unknown_opcode (line 85) | def test_unknown_opcode() -> None:
FILE: src/cli/tests/test_fuzzer_bridge.py
function load_fuzzer_vector (line 30) | def load_fuzzer_vector(filename: str) -> Dict[str, Any]:
class TestFuzzerOutputParsing (line 42) | class TestFuzzerOutputParsing:
method fuzzer_data (line 46) | def fuzzer_data(self) -> Dict[str, Any]:
method test_parse_fuzzer_output (line 50) | def test_parse_fuzzer_output(self, fuzzer_data: Dict[str, Any]) -> None:
method test_parse_account_with_private_key (line 61) | def test_parse_account_with_private_key(self, fuzzer_data: Dict[str, A...
method test_parse_account_without_private_key (line 71) | def test_parse_account_without_private_key(self, fuzzer_data: Dict[str...
method test_parse_transaction_with_authorization_list (line 82) | def test_parse_transaction_with_authorization_list(self, fuzzer_data: ...
method test_parse_authorization_tuple (line 106) | def test_parse_authorization_tuple(self, fuzzer_data: Dict[str, Any]) ...
method test_parse_environment (line 127) | def test_parse_environment(self, fuzzer_data: Dict[str, Any]) -> None:
class TestDTOConversion (line 137) | class TestDTOConversion:
method fuzzer_output (line 141) | def fuzzer_output(self) -> FuzzerOutput:
method test_fuzzer_account_to_eest_account (line 146) | def test_fuzzer_account_to_eest_account(self, fuzzer_output: FuzzerOut...
method test_fuzzer_authorization_to_eest (line 157) | def test_fuzzer_authorization_to_eest(self, fuzzer_output: FuzzerOutpu...
method test_create_sender_eoa_map (line 173) | def test_create_sender_eoa_map(self, fuzzer_output: FuzzerOutput) -> N...
method test_sender_eoa_map_validates_address (line 184) | def test_sender_eoa_map_validates_address(self, fuzzer_output: FuzzerO...
method test_fuzzer_transaction_to_eest_transaction (line 192) | def test_fuzzer_transaction_to_eest_transaction(self, fuzzer_output: F...
method test_transaction_gas_field_mapping (line 206) | def test_transaction_gas_field_mapping(self, fuzzer_output: FuzzerOutp...
method test_transaction_authorization_list_conversion (line 217) | def test_transaction_authorization_list_conversion(self, fuzzer_output...
class TestBlockchainTestGeneration (line 234) | class TestBlockchainTestGeneration:
method fuzzer_output (line 238) | def fuzzer_output(self) -> FuzzerOutput:
method test_blockchain_test_from_fuzzer_single_block (line 243) | def test_blockchain_test_from_fuzzer_single_block(self, fuzzer_output:...
method test_blockchain_test_multi_block_distribute (line 256) | def test_blockchain_test_multi_block_distribute(self, fuzzer_output: F...
method test_blockchain_test_multi_block_first_block (line 274) | def test_blockchain_test_multi_block_first_block(self, fuzzer_output: ...
method test_blockchain_test_pre_state (line 288) | def test_blockchain_test_pre_state(self, fuzzer_output: FuzzerOutput) ...
method test_blockchain_test_genesis_environment (line 300) | def test_blockchain_test_genesis_environment(self, fuzzer_output: Fuzz...
method test_blockchain_test_block_timestamps (line 313) | def test_blockchain_test_block_timestamps(self, fuzzer_output: FuzzerO...
method test_blockchain_test_beacon_root_first_block_only (line 328) | def test_blockchain_test_beacon_root_first_block_only(
class TestEIPFeatures (line 346) | class TestEIPFeatures:
method fuzzer_output (line 350) | def fuzzer_output(self) -> FuzzerOutput:
method test_eip7702_authorization_lists (line 355) | def test_eip7702_authorization_lists(self, fuzzer_output: FuzzerOutput...
method test_eip4788_parent_beacon_block_root (line 373) | def test_eip4788_parent_beacon_block_root(self, fuzzer_output: FuzzerO...
method test_sender_is_eoa_not_test_address (line 386) | def test_sender_is_eoa_not_test_address(self, fuzzer_output: FuzzerOut...
class TestErrorHandling (line 401) | class TestErrorHandling:
method test_invalid_version_fails (line 404) | def test_invalid_version_fails(self) -> None:
method test_missing_private_key_fails (line 412) | def test_missing_private_key_fails(self) -> None:
FILE: src/cli/tests/test_generate_all_formats.py
function test_generate_all_formats_creates_two_phase_execution (line 8) | def test_generate_all_formats_creates_two_phase_execution() -> None:
function test_generate_all_formats_preserves_other_args (line 32) | def test_generate_all_formats_preserves_other_args() -> None:
function test_generate_all_formats_removes_clean_from_phase2 (line 58) | def test_generate_all_formats_removes_clean_from_phase2() -> None:
function test_legacy_generate_pre_alloc_groups_still_works (line 77) | def test_legacy_generate_pre_alloc_groups_still_works() -> None:
function test_single_phase_without_flags (line 99) | def test_single_phase_without_flags() -> None:
function test_tarball_output_auto_enables_generate_all_formats (line 115) | def test_tarball_output_auto_enables_generate_all_formats() -> None:
function test_tarball_output_with_explicit_generate_all_formats (line 140) | def test_tarball_output_with_explicit_generate_all_formats() -> None:
function test_regular_output_does_not_auto_trigger_two_phase (line 161) | def test_regular_output_does_not_auto_trigger_two_phase() -> None:
function test_tarball_output_detection_various_formats (line 181) | def test_tarball_output_detection_various_formats() -> None:
FILE: src/cli/tests/test_order_fixtures.py
function create_temp_json_file (line 14) | def create_temp_json_file(directory: Path, name: str, content: dict[str,...
function input_output_dirs (line 23) | def input_output_dirs() -> Generator[tuple[Path, Path], None, None]:
function test_order_fixture (line 29) | def test_order_fixture(input_output_dirs: tuple[Path, Path]) -> None:
function test_cli_invocation (line 46) | def test_cli_invocation(input_output_dirs: tuple[Path, Path]) -> None:
function test_input_is_file_instead_of_directory (line 60) | def test_input_is_file_instead_of_directory() -> None:
function test_input_directory_does_not_exist (line 75) | def test_input_directory_does_not_exist() -> None:
FILE: src/cli/tests/test_pytest_execute_command.py
function runner (line 10) | def runner() -> CliRunner:
function test_execute_help_shows_subcommand_docstrings (line 15) | def test_execute_help_shows_subcommand_docstrings(runner: CliRunner) -> ...
function test_execute_subcommands_have_help_text (line 31) | def test_execute_subcommands_have_help_text() -> None:
FILE: src/cli/tests/test_pytest_fill_command.py
function runner (line 17) | def runner() -> CliRunner:
function test_fill_help (line 22) | def test_fill_help(runner: CliRunner) -> None:
function test_fill_pytest_help (line 33) | def test_fill_pytest_help(runner: CliRunner) -> None:
function test_fill_with_invalid_option (line 41) | def test_fill_with_invalid_option(runner: CliRunner) -> None:
class TestHtmlReportFlags (line 48) | class TestHtmlReportFlags:
method fill_args (line 52) | def fill_args(self, default_t8n: Any) -> list[str]:
method default_html_report_file_path (line 70) | def default_html_report_file_path(self) -> str:
method temp_dir (line 75) | def temp_dir(self) -> Generator[Path, None, None]:
method monkeypatch_default_output_directory (line 82) | def monkeypatch_default_output_directory(
method test_fill_default_output_options (line 101) | def test_fill_default_output_options(
method test_fill_no_html_option (line 117) | def test_fill_no_html_option(
method test_fill_html_option (line 131) | def test_fill_html_option(
method test_fill_output_option (line 144) | def test_fill_output_option(
method test_fill_html_and_output_options (line 162) | def test_fill_html_and_output_options(
FILE: src/cli/tox_helpers.py
function write_github_summary (line 21) | def write_github_summary(
function markdownlint (line 65) | def markdownlint(args: tuple[str, ...]) -> None:
function pyspelling (line 88) | def pyspelling() -> None:
function codespell (line 140) | def codespell() -> None:
function validate_changelog (line 198) | def validate_changelog() -> None:
FILE: src/config/app.py
class AppConfig (line 15) | class AppConfig(BaseModel):
method version (line 19) | def version(self) -> str:
FILE: src/config/check_eip_versions.py
class CheckEipVersionsConfig (line 6) | class CheckEipVersionsConfig(BaseModel):
FILE: src/config/docs.py
class DocsConfig (line 11) | class DocsConfig(BaseModel):
FILE: src/config/env.py
class RemoteNode (line 32) | class RemoteNode(BaseModel):
class Config (line 50) | class Config(BaseModel):
class EnvConfig (line 62) | class EnvConfig(Config):
method __init__ (line 70) | def __init__(self) -> None:
FILE: src/conftest.py
function installed_transition_tool_instances (line 25) | def installed_transition_tool_instances() -> Generator[
function installed_t8n (line 49) | def installed_t8n(
function default_t8n (line 73) | def default_t8n(
function running_in_ci (line 90) | def running_in_ci() -> bool:
FILE: src/ethereum_clis/cli_types.py
class TransactionExceptionWithMessage (line 38) | class TransactionExceptionWithMessage(ExceptionWithMessage[TransactionEx...
class BlockExceptionWithMessage (line 44) | class BlockExceptionWithMessage(ExceptionWithMessage[BlockException]):
class RejectedTransaction (line 50) | class RejectedTransaction(CamelModel):
class TraceLine (line 59) | class TraceLine(CamelModel):
method are_equivalent (line 73) | def are_equivalent(self, other: Self) -> bool:
class TransactionTraces (line 83) | class TransactionTraces(CamelModel):
method from_file (line 91) | def from_file(cls, trace_file_path: Path) -> Self:
method remove_gas (line 101) | def remove_gas(traces: List[TraceLine]) -> None:
method are_equivalent (line 113) | def are_equivalent(self, other: Self, enable_post_processing: bool) ->...
method print (line 138) | def print(self) -> None:
class Traces (line 146) | class Traces(EthereumTestRootModel):
method append (line 153) | def append(self, item: TransactionTraces) -> None:
method are_equivalent (line 157) | def are_equivalent(self, other: Self | None, enable_post_processing: b...
method print (line 172) | def print(self) -> None:
class UndefinedOpcode (line 184) | class UndefinedOpcode(HexNumber):
function validate_opcode (line 190) | def validate_opcode(obj: Any) -> Opcodes | Opcode | UndefinedOpcode:
class OpcodeCount (line 205) | class OpcodeCount(EthereumTestRootModel):
method __add__ (line 217) | def __add__(self, other: Self) -> Self:
class Result (line 226) | class Result(CamelModel):
class TransitionToolInput (line 256) | class TransitionToolInput(CamelModel):
class TransitionToolOutput (line 265) | class TransitionToolOutput(CamelModel):
class TransitionToolContext (line 273) | class TransitionToolContext(CamelModel):
class TransitionToolRequest (line 281) | class TransitionToolRequest(CamelModel):
FILE: src/ethereum_clis/clis/besu.py
class BesuTransitionTool (line 26) | class BesuTransitionTool(TransitionTool):
method __init__ (line 40) | def __init__(
method start_server (line 60) | def start_server(self) -> None:
method shutdown (line 96) | def shutdown(self) -> None:
method evaluate (line 103) | def evaluate(
method is_fork_supported (line 194) | def is_fork_supported(self, fork: Fork) -> bool:
class BesuExceptionMapper (line 199) | class BesuExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/erigon.py
class ErigonExceptionMapper (line 6) | class ErigonExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/ethereumjs.py
class EthereumJSTransitionTool (line 18) | class EthereumJSTransitionTool(TransitionTool):
method __init__ (line 30) | def __init__(
method is_fork_supported (line 39) | def is_fork_supported(self, fork: Fork) -> bool:
class EthereumJSExceptionMapper (line 49) | class EthereumJSExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/ethrex.py
class EthrexExceptionMapper (line 6) | class EthrexExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/evmone.py
class EvmOneTransitionTool (line 32) | class EvmOneTransitionTool(TransitionTool):
method __init__ (line 45) | def __init__(
method is_fork_supported (line 54) | def is_fork_supported(self, fork: Fork) -> bool:
class EvmoneFixtureConsumerCommon (line 63) | class EvmoneFixtureConsumerCommon:
method __init__ (line 71) | def __init__(
method _run_command (line 79) | def _run_command(self, command: List[str]) -> subprocess.CompletedProc...
method _consume_debug_dump (line 91) | def _consume_debug_dump(
method _skip_message (line 129) | def _skip_message(self, fixture_format: FixtureFormat) -> str:
method consume_test_file (line 133) | def consume_test_file(
method _failure_msg (line 175) | def _failure_msg(self, file_results: Dict[str, Any]) -> str:
method consume_test (line 181) | def consume_test(
class EvmOneStateFixtureConsumer (line 212) | class EvmOneStateFixtureConsumer(
method __init__ (line 222) | def __init__(
method consume_fixture (line 231) | def consume_fixture(
class EvmOneBlockchainFixtureConsumer (line 252) | class EvmOneBlockchainFixtureConsumer(
method __init__ (line 262) | def __init__(
method consume_fixture (line 271) | def consume_fixture(
class EvmoneExceptionMapper (line 292) | class EvmoneExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/execution_specs.py
class ExecutionSpecsTransitionTool (line 30) | class ExecutionSpecsTransitionTool(TransitionTool):
method __init__ (line 56) | def __init__(
method start_server (line 85) | def start_server(self) -> None:
method shutdown (line 110) | def shutdown(self) -> None:
method is_fork_supported (line 118) | def is_fork_supported(self, fork: Fork) -> bool:
method _generate_post_args (line 132) | def _generate_post_args(
class ExecutionSpecsExceptionMapper (line 143) | class ExecutionSpecsExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/geth.py
class GethExceptionMapper (line 27) | class GethExceptionMapper(ExceptionMapper):
class GethEvm (line 114) | class GethEvm(EthereumCLI):
method __init__ (line 122) | def __init__(
method _run_command (line 132) | def _run_command(self, command: List[str]) -> subprocess.CompletedProc...
method _consume_debug_dump (line 142) | def _consume_debug_dump(
method help (line 181) | def help(self, subcommand: str | None = None) -> str:
class GethTransitionTool (line 190) | class GethTransitionTool(GethEvm, TransitionTool):
method __init__ (line 197) | def __init__(
method is_fork_supported (line 215) | def is_fork_supported(self, fork: Fork) -> bool:
class GethFixtureConsumer (line 225) | class GethFixtureConsumer(
method consume_blockchain_test (line 232) | def consume_blockchain_test(
method consume_state_test_file (line 285) | def consume_state_test_file(
method consume_state_test (line 327) | def consume_state_test(
method consume_fixture (line 359) | def consume_fixture(
FILE: src/ethereum_clis/clis/nethermind.py
class Nethtest (line 22) | class Nethtest(EthereumCLI):
method __init__ (line 31) | def __init__(
method _run_command (line 43) | def _run_command(self, command: List[str]) -> subprocess.CompletedProc...
method _consume_debug_dump (line 53) | def _consume_debug_dump(
method help (line 86) | def help(self, subcommand: str | None = None) -> str:
method has_eof_support (line 95) | def has_eof_support(self) -> bool:
class NethtestFixtureConsumer (line 106) | class NethtestFixtureConsumer(
method _build_command_with_options (line 113) | def _build_command_with_options(
method consume_state_test_file (line 140) | def consume_state_test_file(
method consume_state_test (line 176) | def consume_state_test(
method consume_blockchain_test (line 224) | def consume_blockchain_test(
method consume_eof_test_file (line 248) | def consume_eof_test_file(
method consume_eof_test (line 275) | def consume_eof_test(
method consume_fixture (line 304) | def consume_fixture(
class NethermindExceptionMapper (line 345) | class NethermindExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/nimbus.py
class NimbusTransitionTool (line 19) | class NimbusTransitionTool(TransitionTool):
method __init__ (line 30) | def __init__(
method version (line 49) | def version(self) -> str:
method is_fork_supported (line 56) | def is_fork_supported(self, fork: Fork) -> bool:
class NimbusExceptionMapper (line 66) | class NimbusExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/clis/reth.py
class RethExceptionMapper (line 6) | class RethExceptionMapper(ExceptionMapper):
FILE: src/ethereum_clis/ethereum_cli.py
class UnknownCLIError (line 16) | class UnknownCLIError(Exception):
class CLINotFoundInPathError (line 22) | class CLINotFoundInPathError(Exception):
method __init__ (line 25) | def __init__(
class EthereumCLI (line 36) | class EthereumCLI:
method __init__ (line 55) | def __init__(self, *, binary: Optional[Path] = None):
method register_tool (line 71) | def register_tool(cls, tool_subclass: Type[Any]) -> None:
method set_default_tool (line 76) | def set_default_tool(cls, tool_subclass: Type[Any]) -> None:
method from_binary_path (line 81) | def from_binary_path(cls, *, binary_path: Optional[Path] = None, **kwa...
method detect_binary (line 187) | def detect_binary(cls, binary_output: str) -> bool:
method is_installed (line 204) | def is_installed(cls, binary_path: Optional[Path] = None) -> bool:
method stderr_is_breaking (line 216) | def stderr_is_breaking(cls, *, stderr: str) -> bool:
method version (line 227) | def version(self) -> str:
FILE: src/ethereum_clis/file_utils.py
function write_json_file (line 11) | def write_json_file(data: Dict[str, Any], file_path: str) -> None:
function dump_files_to_directory (line 17) | def dump_files_to_directory(output_path: str, files: Dict[str, Any]) -> ...
FILE: src/ethereum_clis/fixture_consumer_tool.py
class FixtureConsumerTool (line 10) | class FixtureConsumerTool(FixtureConsumer, EthereumCLI):
method __init_subclass__ (line 19) | def __init_subclass__(cls, *, fixture_formats: List[FixtureFormat]):
FILE: src/ethereum_clis/tests/test_execution_specs.py
function monkeypatch_path_for_entry_points (line 23) | def monkeypatch_path_for_entry_points(
function test_calc_state_root (line 86) | def test_calc_state_root(
function test_evm_tool_binary_arg (line 96) | def test_evm_tool_binary_arg(
function alloc (line 125) | def alloc(test_dir: str) -> Alloc:
function txs (line 133) | def txs(test_dir: str) -> List[Transaction]:
function env (line 141) | def env(test_dir: str) -> Environment:
function test_evm_t8n (line 149) | def test_evm_t8n(
FILE: src/ethereum_clis/tests/test_transition_tool.py
function test_default_tool (line 20) | def test_default_tool() -> None:
function test_from_binary (line 54) | def test_from_binary(
function test_unknown_binary_path (line 83) | def test_unknown_binary_path() -> None:
FILE: src/ethereum_clis/tests/test_transition_tools_support.py
function test_ci_multi_t8n_support (line 43) | def test_ci_multi_t8n_support(
function test_t8n_support (line 64) | def test_t8n_support(fork: Fork, installed_t8n: TransitionTool) -> None:
FILE: src/ethereum_clis/transition_tool.py
function get_valid_transition_tool_names (line 49) | def get_valid_transition_tool_names() -> set[str]:
class TransitionTool (line 57) | class TransitionTool(EthereumCLI):
method __init__ (line 82) | def __init__(
method __init_subclass__ (line 98) | def __init_subclass__(cls) -> None:
method is_fork_supported (line 103) | def is_fork_supported(self, fork: Fork) -> bool:
method start_server (line 107) | def start_server(self) -> None:
method shutdown (line 114) | def shutdown(self) -> None:
method reset_traces (line 118) | def reset_traces(self) -> None:
method append_traces (line 122) | def append_traces(self, new_traces: Traces) -> None:
method get_traces (line 131) | def get_traces(self) -> List[Traces] | None:
method collect_traces (line 135) | def collect_traces(
class TransitionToolData (line 160) | class TransitionToolData:
method fork_name (line 173) | def fork_name(self) -> str:
method fork_name_if_supports_blob_params (line 181) | def fork_name_if_supports_blob_params(self) -> str:
method blob_params (line 199) | def blob_params(self) -> ForkBlobSchedule | None:
method __post_init__ (line 210) | def __post_init__(self) -> None:
method to_input (line 215) | def to_input(self) -> TransitionToolInput:
method get_request_data (line 224) | def get_request_data(self) -> TransitionToolRequest:
method _evaluate_filesystem (line 235) | def _evaluate_filesystem(
method _restart_server (line 385) | def _restart_server(self) -> None:
method _server_post (line 391) | def _server_post(
method _generate_post_args (line 426) | def _generate_post_args(self, t8n_data: TransitionToolData) -> Dict[st...
method _evaluate_server (line 431) | def _evaluate_server(
method _evaluate_stream (line 504) | def _evaluate_stream(
method safe_t8n_args (line 553) | def safe_t8n_args(
method construct_args_stream (line 601) | def construct_args_stream(
method dump_debug_stream (line 614) | def dump_debug_stream(
method evaluate (line 660) | def evaluate(
FILE: src/ethereum_test_base_types/base_types.py
class ToStringSchema (line 25) | class ToStringSchema:
method __get_pydantic_core_schema__ (line 32) | def __get_pydantic_core_schema__(
class Number (line 45) | class Number(int, ToStringSchema):
method __new__ (line 48) | def __new__(cls, input_number: NumberConvertible | Self) -> Self:
method __str__ (line 52) | def __str__(self) -> str:
method hex (line 56) | def hex(self) -> str:
method or_none (line 61) | def or_none(cls: Type[Self], input_number: Self | NumberConvertible | ...
class Wei (line 68) | class Wei(Number):
method __new__ (line 71) | def __new__(cls, input_number: NumberConvertible | Self) -> Self:
method _get_multiplier (line 91) | def _get_multiplier(unit: str) -> int:
class HexNumber (line 114) | class HexNumber(Number):
method __str__ (line 117) | def __str__(self) -> str:
method __get_pydantic_core_schema__ (line 122) | def __get_pydantic_core_schema__(
class ZeroPaddedHexNumber (line 138) | class ZeroPaddedHexNumber(HexNumber):
method hex (line 141) | def hex(self) -> str:
method __get_pydantic_core_schema__ (line 151) | def __get_pydantic_core_schema__(
class Bytes (line 170) | class Bytes(bytes, ToStringSchema):
method __new__ (line 173) | def __new__(cls, input_bytes: BytesConvertible = b"") -> Self:
method __hash__ (line 179) | def __hash__(self) -> int:
method __str__ (line 183) | def __str__(self) -> str:
method hex (line 187) | def hex(self, *args: Any, **kwargs: Any) -> str:
method or_none (line 192) | def or_none(cls, input_bytes: "Bytes | BytesConvertible | None") -> "B...
method keccak256 (line 198) | def keccak256(self) -> "Hash":
method sha256 (line 203) | def sha256(self) -> "Hash":
method __get_pydantic_core_schema__ (line 208) | def __get_pydantic_core_schema__(
class FixedSizeHexNumber (line 224) | class FixedSizeHexNumber(int, ToStringSchema):
method __class_getitem__ (line 236) | def __class_getitem__(cls, length: int) -> Type["FixedSizeHexNumber"]:
method __new__ (line 245) | def __new__(cls, input_number: NumberConvertible | Self) -> Self:
method __str__ (line 256) | def __str__(self) -> str:
method hex (line 260) | def hex(self) -> str:
method __get_pydantic_core_schema__ (line 270) | def __get_pydantic_core_schema__(
class HashInt (line 285) | class HashInt(FixedSizeHexNumber[32]): # type: ignore
class FixedSizeBytes (line 291) | class FixedSizeBytes(Bytes):
method __class_getitem__ (line 297) | def __class_getitem__(cls, length: int) -> Type["FixedSizeBytes"]:
method __new__ (line 306) | def __new__(
method __hash__ (line 326) | def __hash__(self) -> int:
method or_none (line 331) | def or_none(
method __eq__ (line 339) | def __eq__(self, other: object) -> bool:
method __ne__ (line 353) | def __ne__(self, other: object) -> bool:
method __get_pydantic_core_schema__ (line 358) | def __get_pydantic_core_schema__(
class ForkHash (line 373) | class ForkHash(FixedSizeBytes[4]): # type: ignore
class Address (line 381) | class Address(FixedSizeBytes[20]): # type: ignore
method __new__ (line 386) | def __new__(
class Hash (line 402) | class Hash(FixedSizeBytes[32]): # type: ignore
class StorageKey (line 408) | class StorageKey(FixedSizeBytes[32]): # type: ignore
method __new__ (line 414) | def __new__(
class Bloom (line 425) | class Bloom(FixedSizeBytes[256]): # type: ignore
class HeaderNonce (line 431) | class HeaderNonce(FixedSizeBytes[8]): # type: ignore
class BLSPublicKey (line 437) | class BLSPublicKey(FixedSizeBytes[48]): # type: ignore
class BLSSignature (line 443) | class BLSSignature(FixedSizeBytes[96]): # type: ignore
FILE: src/ethereum_test_base_types/base_types_json.py
function to_json (line 8) | def to_json(
FILE: src/ethereum_test_base_types/composite_types.py
class Storage (line 19) | class Storage(EthereumTestRootModel[Dict[StorageKeyValueType, StorageKey...
class InvalidTypeError (line 43) | class InvalidTypeError(Exception):
method __init__ (line 50) | def __init__(self, key_or_value: Any, *args: Any) -> None:
method __str__ (line 55) | def __str__(self) -> str:
class InvalidValueError (line 60) | class InvalidValueError(Exception):
method __init__ (line 68) | def __init__(self, key_or_value: Any, *args: Any) -> None:
method __str__ (line 73) | def __str__(self) -> str:
class MissingKeyError (line 78) | class MissingKeyError(Exception):
method __init__ (line 83) | def __init__(self, key: int, *args: Any) -> None:
method __str__ (line 88) | def __str__(self) -> str:
class KeyValueMismatchError (line 93) | class KeyValueMismatchError(Exception):
method __init__ (line 105) | def __init__(
method __str__ (line 119) | def __str__(self) -> str:
method __contains__ (line 131) | def __contains__(self, key: StorageKeyValueTypeConvertible | StorageKe...
method __getitem__ (line 135) | def __getitem__(
method __setitem__ (line 141) | def __setitem__(
method __delitem__ (line 151) | def __delitem__(self, key: StorageKeyValueTypeConvertible | StorageKey...
method __iter__ (line 155) | def __iter__(self) -> Iterator[StorageKeyValueType]: # type: ignore [...
method __eq__ (line 159) | def __eq__(self, other: object) -> bool:
method __ne__ (line 165) | def __ne__(self, other: object) -> bool:
method __bool__ (line 171) | def __bool__(self) -> bool:
method __add__ (line 175) | def __add__(self, other: "Storage") -> "Storage":
method keys (line 179) | def keys(self) -> set[StorageKeyValueType]:
method set_next_slot (line 183) | def set_next_slot(self, slot: int) -> "Storage":
method items (line 188) | def items(self) -> ItemsView[StorageKeyValueType, StorageKeyValueType]:
method set_expect_any (line 192) | def set_expect_any(self, key: StorageKeyValueTypeConvertible | Storage...
method store_next (line 198) | def store_next(
method peek_slot (line 215) | def peek_slot(self) -> int:
method contains (line 219) | def contains(self, other: "Storage") -> bool:
method must_contain (line 232) | def must_contain(self, address: Address, other: "Storage") -> None:
method must_be_equal (line 253) | def must_be_equal(self, address: Address, other: "Storage | None") -> ...
method canary (line 292) | def canary(self) -> "Storage":
class Account (line 301) | class Account(CamelModel):
class NonceMismatchError (line 323) | class NonceMismatchError(Exception):
method __init__ (line 333) | def __init__(
method __str__ (line 344) | def __str__(self) -> str:
class BalanceMismatchError (line 355) | class BalanceMismatchError(Exception):
method __init__ (line 365) | def __init__(
method __str__ (line 376) | def __str__(self) -> str:
class CodeMismatchError (line 387) | class CodeMismatchError(Exception):
method __init__ (line 397) | def __init__(
method __str__ (line 408) | def __str__(self) -> str:
method check_alloc (line 419) | def check_alloc(self: "Account", address: Address, account: "Account")...
method __bool__ (line 451) | def __bool__(self: "Account") -> bool:
method with_code (line 456) | def with_code(cls: Type, code: BytesConvertible) -> "Account":
method merge (line 461) | def merge(
class Alloc (line 481) | class Alloc(EthereumTestRootModel[Dict[Address, Account | None]]):
class AccessList (line 487) | class AccessList(CamelModel, RLPSerializable):
class ForkBlobSchedule (line 496) | class ForkBlobSchedule(CamelModel):
class BlobSchedule (line 504) | class BlobSchedule(EthereumTestRootModel[Dict[str, ForkBlobSchedule]]):
method append (line 509) | def append(self, *, fork: str, schedule: Any) -> None:
method last (line 515) | def last(self) -> ForkBlobSchedule | None:
method __getitem__ (line 521) | def __getitem__(self, key: str) -> ForkBlobSchedule:
FILE: src/ethereum_test_base_types/conversions.py
function int_or_none (line 11) | def int_or_none(input_value: Any, default: Optional[int] = None) -> int ...
function str_or_none (line 20) | def str_or_none(input_value: Any, default: Optional[str] = None) -> str ...
function to_bytes (line 29) | def to_bytes(input_bytes: BytesConvertible) -> bytes:
function to_fixed_size_bytes (line 53) | def to_fixed_size_bytes(
function to_hex (line 94) | def to_hex(input_bytes: BytesConvertible) -> str:
function to_number (line 99) | def to_number(input_number: NumberConvertible) -> int:
FILE: src/ethereum_test_base_types/mixins.py
class ModelCustomizationsMixin (line 8) | class ModelCustomizationsMixin:
method serialize (line 17) | def serialize(
method __repr_args__ (line 46) | def __repr_args__(self) -> Any:
FILE: src/ethereum_test_base_types/pydantic.py
class EthereumTestBaseModel (line 14) | class EthereumTestBaseModel(BaseModel, ModelCustomizationsMixin):
class EthereumTestRootModel (line 20) | class EthereumTestRootModel(RootModel[RootModelRootType], ModelCustomiza...
class CopyValidateModel (line 26) | class CopyValidateModel(EthereumTestBaseModel):
method copy (line 29) | def copy(self: Self, **kwargs: Any) -> Self:
class CamelModel (line 36) | class CamelModel(CopyValidateModel):
FILE: src/ethereum_test_base_types/reference_spec/git_reference_spec.py
function _decode_base64_content (line 15) | def _decode_base64_content(encoded_data: str) -> str:
class GitReferenceSpec (line 20) | class GitReferenceSpec(ReferenceSpec):
method name (line 31) | def name(self) -> str:
method known_version (line 38) | def known_version(self) -> str:
method api_url (line 42) | def api_url(self) -> str:
method _get_request_headers (line 49) | def _get_request_headers(self) -> Dict[str, str]:
method _get_latest_known_spec (line 57) | def _get_latest_known_spec(self) -> Dict | None:
method _get_latest_spec (line 66) | def _get_latest_spec(self) -> Dict | None:
method is_outdated (line 85) | def is_outdated(self) -> bool:
method latest_version (line 99) | def latest_version(self) -> str:
method has_known_version (line 106) | def has_known_version(self) -> bool:
method write_info (line 113) | def write_info(self, info: Dict[str, Dict[str, Any] | str]) -> None:
method parseable_from_module (line 122) | def parseable_from_module(module_dict: Dict[str, Any]) -> bool:
method parse_from_module (line 127) | def parse_from_module(
FILE: src/ethereum_test_base_types/reference_spec/reference_spec.py
class NoLatestKnownVersionError (line 11) | class NoLatestKnownVersionError(Exception):
class ParseModuleError (line 20) | class ParseModuleError(Exception):
class ReferenceSpec (line 29) | class ReferenceSpec:
method name (line 33) | def name(self) -> str:
method has_known_version (line 38) | def has_known_version(self) -> bool:
method known_version (line 46) | def known_version(self) -> str:
method api_url (line 51) | def api_url(self) -> str:
method latest_version (line 58) | def latest_version(self) -> str:
method is_outdated (line 63) | def is_outdated(self) -> bool:
method write_info (line 71) | def write_info(self, info: Dict[str, Dict[str, Any] | str]) -> None:
method parseable_from_module (line 80) | def parseable_from_module(module_dict: Dict[str, Any]) -> bool:
method parse_from_module (line 89) | def parse_from_module(
FILE: src/ethereum_test_base_types/serialization.py
function to_serializable_element (line 11) | def to_serializable_element(v: Any) -> Any:
class RLPSerializable (line 28) | class RLPSerializable:
method get_rlp_fields (line 37) | def get_rlp_fields(self) -> List[str]:
method get_rlp_signing_fields (line 51) | def get_rlp_signing_fields(self) -> List[str]:
method get_rlp_prefix (line 65) | def get_rlp_prefix(self) -> bytes:
method get_rlp_signing_prefix (line 73) | def get_rlp_signing_prefix(self) -> bytes:
method sign (line 82) | def sign(self) -> None:
method to_list_from_fields (line 86) | def to_list_from_fields(self, fields: List[str]) -> List[Any]:
method to_list (line 111) | def to_list(self, signing: bool = False) -> List[Any]:
method rlp_signing_bytes (line 132) | def rlp_signing_bytes(self) -> Bytes:
method rlp (line 136) | def rlp(self) -> Bytes:
class SignableRLPSerializable (line 143) | class SignableRLPSerializable(RLPSerializable):
method sign (line 150) | def sign(self) -> None:
FILE: src/ethereum_test_base_types/tests/test_base_types.py
function test_comparisons (line 128) | def test_comparisons(a: Any, b: Any, equal: bool) -> None:
function test_hash_padding (line 138) | def test_hash_padding() -> None:
function test_address_padding (line 148) | def test_address_padding() -> None:
function test_wei_parsing (line 193) | def test_wei_parsing(s: str, expected: int) -> None:
class TestPydanticModelConversion (line 218) | class TestPydanticModelConversion:
method test_json_serialization (line 221) | def test_json_serialization(
method test_json_deserialization (line 228) | def test_json_deserialization(
FILE: src/ethereum_test_base_types/tests/test_reference_spec.py
function test_git_reference_spec (line 64) | def test_git_reference_spec(monkeypatch: pytest.MonkeyPatch) -> None:
FILE: src/ethereum_test_benchmark/benchmark_code_generator.py
class JumpLoopGenerator (line 16) | class JumpLoopGenerator(BenchmarkCodeGenerator):
method deploy_contracts (line 19) | def deploy_contracts(self, *, pre: Alloc, fork: Fork) -> Address:
class ExtCallGenerator (line 33) | class ExtCallGenerator(BenchmarkCodeGenerator):
method deploy_contracts (line 41) | def deploy_contracts(self, *, pre: Alloc, fork: Fork) -> Address:
FILE: src/ethereum_test_checklists/eip_checklist.py
function camel_to_snake (line 17) | def camel_to_snake(name: str) -> str:
class ChecklistItemMeta (line 27) | class ChecklistItemMeta(type):
method __new__ (line 33) | def __new__(mcs, name: str, bases: tuple, namespace: dict, **kwargs): ...
method __str__ (line 68) | def __str__(cls) -> str:
method __repr__ (line 72) | def __repr__(cls) -> str:
method __call__ (line 76) | def __call__(cls, *args, **kwargs):
class ChecklistItem (line 88) | class ChecklistItem(metaclass=ChecklistItemMeta):
class EIPChecklist (line 94) | class EIPChecklist:
class General (line 116) | class General(ChecklistItem):
class CodeCoverage (line 119) | class CodeCoverage(ChecklistItem):
class Eels (line 122) | class Eels(ChecklistItem):
class TestCoverage (line 127) | class TestCoverage(ChecklistItem):
class SecondClient (line 132) | class SecondClient(ChecklistItem):
class Opcode (line 137) | class Opcode(ChecklistItem):
class Test (line 140) | class Test(ChecklistItem):
class MemExp (line 143) | class MemExp(ChecklistItem):
class ZeroBytesZeroOffset (line 146) | class ZeroBytesZeroOffset(ChecklistItem):
class ZeroBytesMaxOffset (line 151) | class ZeroBytesMaxOffset(ChecklistItem):
class SingleByte (line 156) | class SingleByte(ChecklistItem):
class ThirtyOneBytes (line 161) | class ThirtyOneBytes(ChecklistItem, override_name="31_bytes"):
class ThirtyTwoBytes (line 166) | class ThirtyTwoBytes(ChecklistItem, override_name="32_bytes"):
class ThirtyThreeBytes (line 171) | class ThirtyThreeBytes(ChecklistItem, override_name="33_bytes"):
class SixtyFourBytes (line 176) | class SixtyFourBytes(ChecklistItem, override_name="64_bytes"):
class TwoThirtyTwoMinusOneBytes (line 181) | class TwoThirtyTwoMinusOneBytes(
class TwoThirtyTwoBytes (line 188) | class TwoThirtyTwoBytes(ChecklistItem, override_name="2_32_bytes"):
class TwoSixtyFourMinusOneBytes (line 193) | class TwoSixtyFourMinusOneBytes(
class TwoSixtyFourBytes (line 200) | class TwoSixtyFourBytes(ChecklistItem, override_name="2_64_bytes"):
class TwoTwoFiftySixMinusOneBytes (line 205) | class TwoTwoFiftySixMinusOneBytes(
class StackOverflow (line 212) | class StackOverflow(ChecklistItem):
class StackUnderflow (line 217) | class StackUnderflow(ChecklistItem):
class StackComplexOperations (line 222) | class StackComplexOperations(ChecklistItem):
class StackHeights (line 225) | class StackHeights(ChecklistItem):
class Zero (line 228) | class Zero(ChecklistItem):
class Odd (line 233) | class Odd(ChecklistItem):
class Even (line 238) | class Even(ChecklistItem):
class DataPortionVariables (line 243) | class DataPortionVariables(ChecklistItem, override_name="data_po...
class Top (line 250) | class Top(ChecklistItem):
class Bottom (line 255) | class Bottom(ChecklistItem):
class Middle (line 260) | class Middle(ChecklistItem):
class ExecutionContext (line 265) | class ExecutionContext(ChecklistItem):
class Call (line 268) | class Call(ChecklistItem):
class Staticcall (line 273) | class Staticcall(ChecklistItem):
class BanCheck (line 276) | class BanCheck(ChecklistItem):
class BanNoModification (line 281) | class BanNoModification(ChecklistItem):
class SubCalls (line 286) | class SubCalls(ChecklistItem):
class Delegatecall (line 291) | class Delegatecall(ChecklistItem):
class Storage (line 296) | class Storage(ChecklistItem):
class Balance (line 301) | class Balance(ChecklistItem):
class Code (line 306) | class Code(ChecklistItem):
class Callcode (line 311) | class Callcode(ChecklistItem):
class Initcode (line 316) | class Initcode(ChecklistItem):
class Behavior (line 319) | class Behavior(ChecklistItem):
class Tx (line 324) | class Tx(ChecklistItem):
class Opcode (line 329) | class Opcode(ChecklistItem):
class Reentry (line 334) | class Reentry(ChecklistItem):
class SetCode (line 339) | class SetCode(ChecklistItem):
class TxContext (line 344) | class TxContext(ChecklistItem):
class BlockContext (line 349) | class BlockContext(ChecklistItem):
class ReturnData (line 354) | class ReturnData(ChecklistItem):
class Buffer (line 357) | class Buffer(ChecklistItem):
class Current (line 360) | class Current(ChecklistItem):
class Parent (line 365) | class Parent(ChecklistItem):
class GasUsage (line 370) | class GasUsage(ChecklistItem):
class Normal (line 373) | class Normal(ChecklistItem):
class MemoryExpansion (line 378) | class MemoryExpansion(ChecklistItem):
class OutOfGasExecution (line 383) | class OutOfGasExecution(ChecklistItem):
class OutOfGasMemory (line 388) | class OutOfGasMemory(ChecklistItem):
class ExtraGas (line 393) | class ExtraGas(ChecklistItem):
class OrderOfOperations (line 398) | class OrderOfOperations(ChecklistItem):
class Exact (line 401) | class Exact(ChecklistItem):
class Oog (line 406) | class Oog(ChecklistItem):
class Terminating (line 411) | class Terminating(ChecklistItem):
class Scenarios (line 414) | class Scenarios(ChecklistItem):
class TopLevel (line 417) | class TopLevel(ChecklistItem):
class SubLevel (line 422) | class SubLevel(ChecklistItem):
class Initcode (line 427) | class Initcode(ChecklistItem):
class Rollback (line 432) | class Rollback(ChecklistItem):
class Balance (line 435) | class Balance(ChecklistItem):
class Storage (line 440) | class Storage(ChecklistItem):
class Contracts (line 445) | class Contracts(ChecklistItem):
class Nonce (line 450) | class Nonce(ChecklistItem):
class Logs (line 455) | class Logs(ChecklistItem):
class OutOfBounds (line 460) | class OutOfBounds(ChecklistItem):
class Verify (line 463) | class Verify(ChecklistItem):
class Max (line 466) | class Max(ChecklistItem):
class MaxPlusOne (line 471) | class MaxPlusOne(ChecklistItem):
class ExceptionalAbort (line 476) | class ExceptionalAbort(ChecklistItem):
class DataPortion (line 481) | class DataPortion(ChecklistItem):
class AllZeros (line 484) | class AllZeros(ChecklistItem):
class MaxValue (line 489) | class MaxValue(ChecklistItem):
class Jump (line 494) | class Jump(ChecklistItem):
class ContractCreation (line 499) | class ContractCreation(ChecklistItem):
class Address (line 502) | class Address(ChecklistItem):
class Failure (line 507) | class Failure(ChecklistItem):
class Oog (line 510) | class Oog(ChecklistItem):
class InsufficientValue (line 515) | class InsufficientValue(ChecklistItem):
class Collision (line 520) | class Collision(ChecklistItem):
class Recursive (line 525) | class Recursive(ChecklistItem):
class ForkTransition (line 530) | class ForkTransition(ChecklistItem):
class Invalid (line 533) | class Invalid(ChecklistItem):
class At (line 538) | class At(ChecklistItem):
class Precompile (line 543) | class Precompile(ChecklistItem):
class Test (line 546) | class Test(ChecklistItem):
class CallContexts (line 549) | class CallContexts(ChecklistItem):
class Normal (line 552) | class Normal(ChecklistItem):
class Delegate (line 557) | class Delegate(ChecklistItem):
class Static (line 562) | class Static(ChecklistItem):
class Callcode (line 567) | class Callcode(ChecklistItem):
class TxEntry (line 572) | class TxEntry(ChecklistItem):
class Initcode (line 577) | class Initcode(ChecklistItem):
class CREATE (line 580) | class CREATE(ChecklistItem, override_name="CREATE"):
class Tx (line 585) | class Tx(ChecklistItem):
class SetCode (line 590) | class SetCode(ChecklistItem):
class Inputs (line 595) | class Inputs(ChecklistItem):
class Valid (line 598) | class Valid(ChecklistItem):
class Boundary (line 601) | class Boundary(ChecklistItem):
class Crypto (line 606) | class Crypto(ChecklistItem):
class AllZeros (line 611) | class AllZeros(ChecklistItem):
class MaxValues (line 616) | class MaxValues(ChecklistItem):
class Invalid (line 621) | class Invalid(ChecklistItem):
class Crypto (line 624) | class Crypto(ChecklistItem):
class Corrupted (line 629) | class Corrupted(ChecklistItem):
class ValueTransfer (line 634) | class ValueTransfer(ChecklistItem):
class Fee (line 637) | class Fee(ChecklistItem):
class Under (line 640) | class Under(ChecklistItem):
class Exact (line 645) | class Exact(ChecklistItem):
class Over (line 650) | class Over(ChecklistItem):
class NoFee (line 655) | class NoFee(ChecklistItem):
class OutOfBounds (line 660) | class OutOfBounds(ChecklistItem):
class Max (line 663) | class Max(ChecklistItem):
class MaxPlusOne (line 668) | class MaxPlusOne(ChecklistItem):
class InputLengths (line 673) | class InputLengths(ChecklistItem):
class Zero (line 676) | class Zero(ChecklistItem):
class Static (line 681) | class Static(ChecklistItem):
class Correct (line 684) | class Correct(ChecklistItem):
class TooShort (line 689) | class TooShort(ChecklistItem):
class TooLong (line 694) | class TooLong(ChecklistItem):
class Dynamic (line 699) | class Dynamic(ChecklistItem):
class Valid (line 702) | class Valid(ChecklistItem):
class TooShort (line 707) | class TooShort(ChecklistItem):
class TooLong (line 712) | class TooLong(ChecklistItem):
class GasUsage (line 717) | class GasUsage(ChecklistItem):
class Constant (line 720) | class Constant(ChecklistItem):
class Exact (line 723) | class Exact(ChecklistItem):
class Oog (line 728) | class Oog(ChecklistItem):
class Dynamic (line 733) | class Dynamic(ChecklistItem):
class Exact (line 736) | class Exact(ChecklistItem):
class Oog (line 741) | class Oog(ChecklistItem):
class ExcessiveGasUsage (line 746) | class ExcessiveGasUsage(ChecklistItem):
class ForkTransition (line 751) | class ForkTransition(ChecklistItem):
class Before (line 754) | class Before(ChecklistItem):
class InvalidInput (line 757) | class InvalidInput(ChecklistItem):
class ZeroGas (line 762) | class ZeroGas(ChecklistItem):
class Cold (line 767) | class Cold(ChecklistItem):
class After (line 772) | class After(ChecklistItem):
class Warm (line 775) | class Warm(ChecklistItem):
class RemovedPrecompile (line 780) | class RemovedPrecompile(ChecklistItem):
class Test (line 783) | class Test(ChecklistItem):
class ForkTransition (line 786) | class ForkTransition(ChecklistItem):
class Operational (line 789) | class Operational(ChecklistItem):
class Before (line 794) | class Before(ChecklistItem):
class Warm (line 797) | class Warm(ChecklistItem):
class After (line 802) | class After(ChecklistItem):
class Cold (line 805) | class Cold(ChecklistItem):
class SystemContract (line 810) | class SystemContract(ChecklistItem):
class Test (line 813) | class Test(ChecklistItem):
class CallContexts (line 816) | class CallContexts(ChecklistItem):
class Normal (line 819) | class Normal(ChecklistItem):
class Delegate (line 824) | class Delegate(ChecklistItem):
class Static (line 829) | class Static(ChecklistItem):
class Callcode (line 834) | class Callcode(ChecklistItem):
class TxEntry (line 839) | class TxEntry(ChecklistItem):
class Initcode (line 844) | class Initcode(ChecklistItem):
class CREATE (line 847) | class CREATE(ChecklistItem, override_name="CREATE"):
class Tx (line 852) | class Tx(ChecklistItem):
class SetCode (line 857) | class SetCode(ChecklistItem):
class Inputs (line 862) | class Inputs(ChecklistItem):
class Valid (line 865) | class Valid(ChecklistItem):
class Boundary (line 870) | class Boundary(ChecklistItem):
class AllZeros (line 875) | class AllZeros(ChecklistItem):
class MaxValues (line 880) | class MaxValues(ChecklistItem):
class Invalid (line 885) | class Invalid(ChecklistItem):
class Checks (line 888) | class Checks(ChecklistItem):
class Crypto (line 893) | class Crypto(ChecklistItem):
class Corrupted (line 898) | class Corrupted(ChecklistItem):
class ValueTransfer (line 903) | class ValueTransfer(ChecklistItem):
class Fee (line 906) | class Fee(ChecklistItem):
class Under (line 909) | class Under(ChecklistItem):
class Exact (line 914) | class Exact(ChecklistItem):
class Over (line 919) | class Over(ChecklistItem):
class NoFee (line 924) | class NoFee(ChecklistItem):
class OutOfBounds (line 929) | class OutOfBounds(ChecklistItem):
class Max (line 932) | class Max(ChecklistItem):
class MaxPlusOne (line 937) | class MaxPlusOne(ChecklistItem):
class InputLengths (line 942) | class InputLengths(ChecklistItem):
class Zero (line 945) | class Zero(ChecklistItem):
class Static (line 950) | class Static(ChecklistItem):
class Correct (line 953) | class Correct(ChecklistItem):
class TooShort (line 958) | class TooShort(ChecklistItem):
class TooLong (line 963) | class TooLong(ChecklistItem):
class Dynamic (line 968) | class Dynamic(ChecklistItem):
class Valid (line 971) | class Valid(ChecklistItem):
class TooShort (line 976) | class TooShort(ChecklistItem):
class TooLong (line 981) | class TooLong(ChecklistItem):
class GasUsage (line 986) | class GasUsage(ChecklistItem):
class Constant (line 989) | class Constant(ChecklistItem):
class Exact (line 992) | class Exact(ChecklistItem):
class Oog (line 997) | class Oog(ChecklistItem):
class Dynamic (line 1002) | class Dynamic(ChecklistItem):
class Exact (line 1005) | class Exact(ChecklistItem):
class Oog (line 1010) | class Oog(ChecklistItem):
class ExcessiveGas (line 1015) | class ExcessiveGas(ChecklistItem):
class BlockGas (line 1018) | class BlockGas(ChecklistItem):
class SystemCall (line 1023) | class SystemCall(ChecklistItem):
class Deployment (line 1028) | class Deployment(ChecklistItem):
class Missing (line 1031) | class Missing(ChecklistItem):
class Address (line 1036) | class Address(ChecklistItem):
class ContractVariations (line 1041) | class ContractVariations(ChecklistItem):
class Networks (line 1044) | class Networks(ChecklistItem):
class ContractSubstitution (line 1049) | class ContractSubstitution(ChecklistItem):
class ReturnLengths (line 1052) | class ReturnLengths(ChecklistItem):
class Logs (line 1057) | class Logs(ChecklistItem):
class RaisesException (line 1062) | class RaisesException(ChecklistItem, override_name="exception"):
class GasLimitSuccess (line 1067) | class GasLimitSuccess(ChecklistItem):
class GasLimitFailure (line 1072) | class GasLimitFailure(ChecklistItem):
class ForkTransition (line 1077) | class ForkTransition(ChecklistItem):
class CallBeforeFork (line 1080) | class CallBeforeFork(ChecklistItem):
class TransactionType (line 1085) | class TransactionType(ChecklistItem):
class Test (line 1088) | class Test(ChecklistItem):
class IntrinsicValidity (line 1091) | class IntrinsicValidity(ChecklistItem):
class GasLimit (line 1094) | class GasLimit(ChecklistItem):
class Exact (line 1097) | class Exact(ChecklistItem):
class Insufficient (line 1102) | class Insufficient(ChecklistItem):
class MaxFee (line 1107) | class MaxFee(ChecklistItem):
class MaxPriorityLowerThanMaxFee (line 1110) | class MaxPriorityLowerThanMaxFee(ChecklistItem):
class MaxPriorityEqualToMaxFee (line 1115) | class MaxPriorityEqualToMaxFee(ChecklistItem):
class BaseLower (line 1120) | class BaseLower(ChecklistItem):
class BaseEqual (line 1125) | class BaseEqual(ChecklistItem):
class ChainId (line 1130) | class ChainId(ChecklistItem):
class NonceMinusOne (line 1135) | class NonceMinusOne(ChecklistItem):
class NoncePlusOne (line 1140) | class NoncePlusOne(ChecklistItem):
class NonceExact (line 1145) | class NonceExact(ChecklistItem):
class To (line 1150) | class To(ChecklistItem):
class ValueNonZeroInsufficientBalance (line 1155) | class ValueNonZeroInsufficientBalance(ChecklistItem):
class ValueNonZeroSufficientBalance (line 1160) | class ValueNonZeroSufficientBalance(ChecklistItem):
class ValueZeroInsufficientBalance (line 1165) | class ValueZeroInsufficientBalance(ChecklistItem):
class ValueZeroSufficientBalance (line 1170) | class ValueZeroSufficientBalance(ChecklistItem):
class DataFloorAboveIntrinsicGasCost (line 1175) | class DataFloorAboveIntrinsicGasCost(ChecklistItem):
class Signature (line 1180) | class Signature(ChecklistItem):
class Invalid (line 1183) | class Invalid(ChecklistItem):
class FieldOutsideCurve (line 1186) | class FieldOutsideCurve(ChecklistItem):
class V (line 1191) | class V(ChecklistItem):
class Two (line 1194) | class Two(ChecklistItem, override_name="2"):
class TwentySeven (line 1199) | class TwentySeven(ChecklistItem, override_name="27"):
class TwentyEight (line 1204) | class TwentyEight(ChecklistItem, override_name="28"):
class ThirtyFive (line 1209) | class ThirtyFive(ChecklistItem, override_name="35"):
class ThirtySix (line 1214) | class ThirtySix(ChecklistItem, override_name="36"):
class Max (line 1219) | class Max(ChecklistItem):
class R (line 1224) | class R(ChecklistItem):
class Zero (line 1227) | class Zero(ChecklistItem, override_name="0"):
class Secp256k1nMinusOne (line 1232) | class Secp256k1nMinusOne(ChecklistItem):
class Secp256k1n (line 1237) | class Secp256k1n(ChecklistItem):
class Secp256k1nPlusOne (line 1242) | class Secp256k1nPlusOne(ChecklistItem):
class MaxMinusOne (line 1247) | class MaxMinusOne(ChecklistItem):
class Max (line 1252) | class Max(ChecklistItem):
class S (line 1257) | class S(ChecklistItem):
class Zero (line 1260) | class Zero(ChecklistItem, override_name="0"):
class Secp256k1nHalfMinusOne (line 1265) | class Secp256k1nHalfMinusOne(ChecklistItem):
class Secp256k1nHalf (line 1270) | class Secp256k1nHalf(ChecklistItem):
class Secp256k1nHalfPlusOne (line 1275) | class Secp256k1nHalfPlusOne(ChecklistItem):
class Secp256k1nMinusOne (line 1280) | class Secp256k1nMinusOne(ChecklistItem):
class Secp256k1n (line 1285) | class Secp256k1n(ChecklistItem):
class Secp256k1nPlusOne (line 1290) | class Secp256k1nPlusOne(ChecklistItem):
class MaxMinusOne (line 1295) | class MaxMinusOne(ChecklistItem):
class Max (line 1300) | class Max(ChecklistItem):
class Complement (line 1305) | class Complement(ChecklistItem):
class TxScopedAttributes (line 1310) | class TxScopedAttributes(ChecklistItem):
class Read (line 1313) | class Read(ChecklistItem):
class OlderTxTypes (line 1318) | class OlderTxTypes(ChecklistItem):
class Persistent (line 1323) | class Persistent(ChecklistItem):
class Throughout (line 1326) | class Throughout(ChecklistItem):
class Reset (line 1331) | class Reset(ChecklistItem):
class Encoding (line 1336) | class Encoding(ChecklistItem):
class FieldSizes (line 1339) | class FieldSizes(ChecklistItem):
class LeadingZero (line 1342) | class LeadingZero(ChecklistItem):
class RemoveByte (line 1347) | class RemoveByte(ChecklistItem):
class ListField (line 1352) | class ListField(ChecklistItem):
class Zero (line 1355) | class Zero(ChecklistItem):
class Max (line 1360) | class Max(ChecklistItem):
class MaxPlusOne (line 1365) | class MaxPlusOne(ChecklistItem):
class MissingFields (line 1370) | class MissingFields(ChecklistItem):
class ExtraFields (line 1375) | class ExtraFields(ChecklistItem):
class Truncated (line 1380) | class Truncated(ChecklistItem):
class ExtraBytes (line 1385) | class ExtraBytes(ChecklistItem):
class NewTypes (line 1390) | class NewTypes(ChecklistItem):
class IncorrectEncoding (line 1393) | class IncorrectEncoding(ChecklistItem):
class OutOfBounds (line 1398) | class OutOfBounds(ChecklistItem):
class Max (line 1401) | class Max(ChecklistItem):
class MaxPlusOne (line 1406) | class MaxPlusOne(ChecklistItem):
class ContractCreation (line 1411) | class ContractCreation(ChecklistItem):
class SenderAccount (line 1416) | class SenderAccount(ChecklistItem):
class Nonce (line 1419) | class Nonce(ChecklistItem):
class Balance (line 1424) | class Balance(ChecklistItem):
class BlockInteractions (line 1429) | class BlockInteractions(ChecklistItem):
class SingleTx (line 1432) | class SingleTx(ChecklistItem):
class Invalid (line 1435) | class Invalid(ChecklistItem):
class Valid (line 1440) | class Valid(ChecklistItem):
class LastTx (line 1445) | class LastTx(ChecklistItem):
class Valid (line 1448) | class Valid(ChecklistItem):
class Invalid (line 1453) | class Invalid(ChecklistItem):
class Eip7825 (line 1458) | class Eip7825(ChecklistItem):
class Invalid (line 1461) | class Invalid(ChecklistItem):
class Valid (line 1466) | class Valid(ChecklistItem):
class MixedTxs (line 1471) | class MixedTxs(ChecklistItem):
class ForkTransition (line 1476) | class ForkTransition(ChecklistItem):
class Before (line 1479) | class Before(ChecklistItem):
class BlockHeaderField (line 1484) | class BlockHeaderField(ChecklistItem):
class Test (line 1487) | class Test(ChecklistItem):
class Genesis (line 1490) | class Genesis(ChecklistItem):
class ValueBehavior (line 1495) | class ValueBehavior(ChecklistItem):
class Accept (line 1498) | class Accept(ChecklistItem):
class Reject (line 1503) | class Reject(ChecklistItem):
class ForkTransition (line 1508) | class ForkTransition(ChecklistItem):
class Initial (line 1511) | class Initial(ChecklistItem):
class Before (line 1516) | class Before(ChecklistItem):
class After (line 1521) | class After(ChecklistItem):
class BlockBodyField (line 1526) | class BlockBodyField(ChecklistItem):
class Test (line 1529) | class Test(ChecklistItem):
class ValueBehavior (line 1532) | class ValueBehavior(ChecklistItem):
class Accept (line 1535) | class Accept(ChecklistItem):
class Reject (line 1540) | class Reject(ChecklistItem):
class ForkTransition (line 1545) | class ForkTransition(ChecklistItem):
class Before (line 1548) | class Before(ChecklistItem):
class After (line 1553) | class After(ChecklistItem):
class GasCostChanges (line 1558) | class GasCostChanges(ChecklistItem):
class Test (line 1561) | class Test(ChecklistItem):
class GasUpdatesMeasurement (line 1564) | class GasUpdatesMeasurement(ChecklistItem):
class OutOfGas (line 1569) | class OutOfGas(ChecklistItem):
class ForkTransition (line 1574) | class ForkTransition(ChecklistItem):
class Before (line 1577) | class Before(ChecklistItem):
class After (line 1582) | class After(ChecklistItem):
class GasRefundsChanges (line 1587) | class GasRefundsChanges(ChecklistItem):
class Test (line 1590) | class Test(ChecklistItem):
class RefundCalculation (line 1593) | class RefundCalculation(ChecklistItem):
class Over (line 1596) | class Over(ChecklistItem):
class Exact (line 1601) | class Exact(ChecklistItem):
class Under (line 1606) | class Under(ChecklistItem):
class ExceptionalAbort (line 1611) | class ExceptionalAbort(ChecklistItem):
class Revertable (line 1614) | class Revertable(ChecklistItem):
class Revert (line 1617) | class Revert(ChecklistItem):
class OutOfGas (line 1622) | class OutOfGas(ChecklistItem):
class InvalidOpcode (line 1627) | class InvalidOpcode(ChecklistItem):
class UpperRevert (line 1632) | class UpperRevert(ChecklistItem):
class NonRevertable (line 1637) | class NonRevertable(ChecklistItem):
class Revert (line 1640) | class Revert(ChecklistItem):
class OutOfGas (line 1645) | class OutOfGas(ChecklistItem):
class InvalidOpcode (line 1650) | class InvalidOpcode(ChecklistItem):
class CrossFunctional (line 1655) | class CrossFunctional(ChecklistItem):
class CalldataCost (line 1658) | class CalldataCost(ChecklistItem):
class BlobCountChanges (line 1663) | class BlobCountChanges(ChecklistItem):
class Test (line 1666) | class Test(ChecklistItem):
class Eip4844BlobsChanges (line 1669) | class Eip4844BlobsChanges(ChecklistItem):
class ExecutionLayerRequest (line 1674) | class ExecutionLayerRequest(ChecklistItem):
class Test (line 1677) | class Test(ChecklistItem):
class CrossRequestType (line 1680) | class CrossRequestType(ChecklistItem):
class Update (line 1683) | class Update(ChecklistItem):
class NewTransactionValidityConstraint (line 1688) | class NewTransactionValidityConstraint(ChecklistItem):
class Test (line 1691) | class Test(ChecklistItem):
class ForkTransition (line 1694) | class ForkTransition(ChecklistItem):
class AcceptedBeforeFork (line 1700) | class AcceptedBeforeFork(ChecklistItem):
class AcceptedAfterFork (line 1708) | class AcceptedAfterFork(ChecklistItem):
class RejectedAfterFork (line 1716) | class RejectedAfterFork(ChecklistItem):
class ModifiedTransactionValidityConstraint (line 1724) | class ModifiedTransactionValidityConstraint(ChecklistItem):
class Test (line 1727) | class Test(ChecklistItem):
class ForkTransition (line 1730) | class ForkTransition(ChecklistItem):
class AcceptedBeforeFork (line 1736) | class AcceptedBeforeFork(ChecklistItem):
class RejectedBeforeFork (line 1745) | class RejectedBeforeFork(ChecklistItem):
class AcceptedAfterFork (line 1754) | class AcceptedAfterFork(ChecklistItem):
class RejectedAfterFork (line 1762) | class RejectedAfterFork(ChecklistItem):
class BlockLevelConstraint (line 1770) | class BlockLevelConstraint(ChecklistItem):
class Test (line 1773) | class Test(ChecklistItem):
class Boundary (line 1776) | class Boundary(ChecklistItem):
class Under (line 1779) | class Under(ChecklistItem):
class Exact (line 1787) | class Exact(ChecklistItem):
class Over (line 1795) | class Over(ChecklistItem):
class Content (line 1803) | class Content(ChecklistItem):
class TransactionTypes (line 1806) | class TransactionTypes(ChecklistItem):
class Logs (line 1814) | class Logs(ChecklistItem):
class Receipts (line 1822) | class Receipts(ChecklistItem):
class Withdrawals (line 1830) | class Withdrawals(ChecklistItem):
class ForkTransition (line 1838) | class ForkTransition(ChecklistItem):
class AcceptedBeforeFork (line 1841) | class AcceptedBeforeFork(ChecklistItem):
class AcceptedAfterFork (line 1849) | class AcceptedAfterFork(ChecklistItem):
class RejectedAfterFork (line 1857) | class RejectedAfterFork(ChecklistItem):
FILE: src/ethereum_test_checklists/eip_checklist.pyi
class _CallableChecklistItem (line 14) | class _CallableChecklistItem:
method __call__ (line 18) | def __call__(self, func: F) -> F: ...
method __call__ (line 20) | def __call__(self, *, eip: Any = ..., **kwargs: Any) -> pytest.MarkDec...
method __str__ (line 21) | def __str__(self) -> str: ...
class EIPChecklist (line 23) | class EIPChecklist:
class BlobCountChanges (line 24) | class BlobCountChanges(_CallableChecklistItem):
class Test (line 25) | class Test(_CallableChecklistItem):
class BlockBodyField (line 28) | class BlockBodyField(_CallableChecklistItem):
class Test (line 29) | class Test(_CallableChecklistItem):
class ForkTransition (line 30) | class ForkTransition(_CallableChecklistItem):
class ValueBehavior (line 34) | class ValueBehavior(_CallableChecklistItem):
class BlockHeaderField (line 38) | class BlockHeaderField(_CallableChecklistItem):
class Test (line 39) | class Test(_CallableChecklistItem):
class ForkTransition (line 42) | class ForkTransition(_CallableChecklistItem):
class ValueBehavior (line 47) | class ValueBehavior(_CallableChecklistItem):
class BlockLevelConstraint (line 51) | class BlockLevelConstraint(_CallableChecklistItem):
class Test (line 52) | class Test(_CallableChecklistItem):
class Boundary (line 53) | class Boundary(_CallableChecklistItem):
class Content (line 58) | class Content(_CallableChecklistItem):
class ForkTransition (line 64) | class ForkTransition(_CallableChecklistItem):
class ExecutionLayerRequest (line 69) | class ExecutionLayerRequest(_CallableChecklistItem):
class Test (line 70) | class Test(_CallableChecklistItem):
class CrossRequestType (line 71) | class CrossRequestType(_CallableChecklistItem):
class GasCostChanges (line 74) | class GasCostChanges(_CallableChecklistItem):
class Test (line 75) | class Test(_CallableChecklistItem):
class ForkTransition (line 79) | class ForkTransition(_CallableChecklistItem):
class GasRefundsChanges (line 83) | class GasRefundsChanges(_CallableChecklistItem):
class Test (line 84) | class Test(_CallableChecklistItem):
class CrossFunctional (line 85) | class CrossFunctional(_CallableChecklistItem):
class ExceptionalAbort (line 88) | class ExceptionalAbort(_CallableChecklistItem):
class NonRevertable (line 89) | class NonRevertable(_CallableChecklistItem):
class Revertable (line 94) | class Revertable(_CallableChecklistItem):
class RefundCalculation (line 100) | class RefundCalculation(_CallableChecklistItem):
class General (line 105) | class General(_CallableChecklistItem):
class CodeCoverage (line 106) | class CodeCoverage(_CallableChecklistItem):
class ModifiedTransactionValidityConstraint (line 111) | class ModifiedTransactionValidityConstraint(_CallableChecklistItem):
class Test (line 112) | class Test(_CallableChecklistItem):
class ForkTransition (line 113) | class ForkTransition(_CallableChecklistItem):
class NewTransactionValidityConstraint (line 119) | class NewTransactionValidityConstraint(_CallableChecklistItem):
class Test (line 120) | class Test(_CallableChecklistItem):
class ForkTransition (line 121) | class ForkTransition(_CallableChecklistItem):
class Opcode (line 126) | class Opcode(_CallableChecklistItem):
class Test (line 127) | class Test(_CallableChecklistItem):
class ContractCreation (line 132) | class ContractCreation(_CallableChecklistItem):
class Failure (line 136) | class Failure(_CallableChecklistItem):
class DataPortion (line 141) | class DataPortion(_CallableChecklistItem):
class ExecutionContext (line 146) | class ExecutionContext(_CallableChecklistItem):
class Delegatecall (line 153) | class Delegatecall(_CallableChecklistItem):
class Initcode (line 158) | class Initcode(_CallableChecklistItem):
class Behavior (line 161) | class Behavior(_CallableChecklistItem):
class Staticcall (line 165) | class Staticcall(_CallableChecklistItem):
class ForkTransition (line 170) | class ForkTransition(_CallableChecklistItem):
class GasUsage (line 174) | class GasUsage(_CallableChecklistItem):
class OrderOfOperations (line 181) | class OrderOfOperations(_CallableChecklistItem):
class MemExp (line 185) | class MemExp(_CallableChecklistItem):
class OutOfBounds (line 199) | class OutOfBounds(_CallableChecklistItem):
class Verify (line 200) | class Verify(_CallableChecklistItem):
class ReturnData (line 204) | class ReturnData(_CallableChecklistItem):
class Buffer (line 205) | class Buffer(_CallableChecklistItem):
class StackComplexOperations (line 209) | class StackComplexOperations(_CallableChecklistItem):
class DataPortionVariables (line 210) | class DataPortionVariables(_CallableChecklistItem):
class StackHeights (line 215) | class StackHeights(_CallableChecklistItem):
class Terminating (line 220) | class Terminating(_CallableChecklistItem):
class Rollback (line 221) | class Rollback(_CallableChecklistItem):
class Scenarios (line 228) | class Scenarios(_CallableChecklistItem):
class Precompile (line 233) | class Precompile(_CallableChecklistItem):
class Test (line 234) | class Test(_CallableChecklistItem):
class CallContexts (line 237) | class CallContexts(_CallableChecklistItem):
class Initcode (line 245) | class Initcode(_CallableChecklistItem):
class ForkTransition (line 249) | class ForkTransition(_CallableChecklistItem):
class After (line 250) | class After(_CallableChecklistItem):
class Before (line 253) | class Before(_CallableChecklistItem):
class GasUsage (line 258) | class GasUsage(_CallableChecklistItem):
class Constant (line 259) | class Constant(_CallableChecklistItem):
class Dynamic (line 263) | class Dynamic(_CallableChecklistItem):
class InputLengths (line 267) | class InputLengths(_CallableChecklistItem):
class Dynamic (line 270) | class Dynamic(_CallableChecklistItem):
class Static (line 275) | class Static(_CallableChecklistItem):
class Inputs (line 280) | class Inputs(_CallableChecklistItem):
class Invalid (line 284) | class Invalid(_CallableChecklistItem):
class Valid (line 288) | class Valid(_CallableChecklistItem):
class OutOfBounds (line 292) | class OutOfBounds(_CallableChecklistItem):
class ValueTransfer (line 296) | class ValueTransfer(_CallableChecklistItem):
class Fee (line 299) | class Fee(_CallableChecklistItem):
class RemovedPrecompile (line 304) | class RemovedPrecompile(_CallableChecklistItem):
class Test (line 305) | class Test(_CallableChecklistItem):
class ForkTransition (line 306) | class ForkTransition(_CallableChecklistItem):
class After (line 309) | class After(_CallableChecklistItem):
class Before (line 312) | class Before(_CallableChecklistItem):
class SystemContract (line 315) | class SystemContract(_CallableChecklistItem):
class Test (line 316) | class Test(_CallableChecklistItem):
class CallContexts (line 317) | class CallContexts(_CallableChecklistItem):
class Initcode (line 325) | class Initcode(_CallableChecklistItem):
class ContractSubstitution (line 329) | class ContractSubstitution(_CallableChecklistItem):
class ContractVariations (line 336) | class ContractVariations(_CallableChecklistItem):
class Deployment (line 339) | class Deployment(_CallableChecklistItem):
class ExcessiveGas (line 343) | class ExcessiveGas(_CallableChecklistItem):
class ForkTransition (line 347) | class ForkTransition(_CallableChecklistItem):
class GasUsage (line 350) | class GasUsage(_CallableChecklistItem):
class Constant (line 351) | class Constant(_CallableChecklistItem):
class Dynamic (line 355) | class Dynamic(_CallableChecklistItem):
class InputLengths (line 359) | class InputLengths(_CallableChecklistItem):
class Dynamic (line 362) | class Dynamic(_CallableChecklistItem):
class Static (line 367) | class Static(_CallableChecklistItem):
class Inputs (line 372) | class Inputs(_CallableChecklistItem):
class Invalid (line 378) | class Invalid(_CallableChecklistItem):
class OutOfBounds (line 383) | class OutOfBounds(_CallableChecklistItem):
class ValueTransfer (line 387) | class ValueTransfer(_CallableChecklistItem):
class Fee (line 390) | class Fee(_CallableChecklistItem):
class TransactionType (line 395) | class TransactionType(_CallableChecklistItem):
class Test (line 396) | class Test(_CallableChecklistItem):
class BlockInteractions (line 399) | class BlockInteractions(_CallableChecklistItem):
class Eip7825 (line 402) | class Eip7825(_CallableChecklistItem):
class LastTx (line 406) | class LastTx(_CallableChecklistItem):
class SingleTx (line 410) | class SingleTx(_CallableChecklistItem):
class Encoding (line 414) | class Encoding(_CallableChecklistItem):
class FieldSizes (line 420) | class FieldSizes(_CallableChecklistItem):
class ListField (line 424) | class ListField(_CallableChecklistItem):
class NewTypes (line 429) | class NewTypes(_CallableChecklistItem):
class ForkTransition (line 432) | class ForkTransition(_CallableChecklistItem):
class IntrinsicValidity (line 435) | class IntrinsicValidity(_CallableChecklistItem):
class GasLimit (line 447) | class GasLimit(_CallableChecklistItem):
class MaxFee (line 451) | class MaxFee(_CallableChecklistItem):
class OutOfBounds (line 457) | class OutOfBounds(_CallableChecklistItem):
class SenderAccount (line 461) | class SenderAccount(_CallableChecklistItem):
class Signature (line 465) | class Signature(_CallableChecklistItem):
class Invalid (line 466) | class Invalid(_CallableChecklistItem):
class R (line 469) | class R(_CallableChecklistItem):
class S (line 477) | class S(_CallableChecklistItem):
class V (line 489) | class V(_CallableChecklistItem):
class TxScopedAttributes (line 497) | class TxScopedAttributes(_CallableChecklistItem):
class Persistent (line 501) | class Persistent(_CallableChecklistItem):
FILE: src/ethereum_test_checklists/tests/test_checklist_template_consistency.py
function extract_markdown_ids (line 20) | def extract_markdown_ids(markdown_content: str) -> Set[str]:
function get_all_checklist_ids (line 35) | def get_all_checklist_ids(obj: Any) -> Set[str]:
function test_checklist_template_consistency (line 63) | def test_checklist_template_consistency() -> None:
function test_checklist_template_exists (line 103) | def test_checklist_template_exists() -> None:
function test_eip_checklist_class_structure (line 108) | def test_eip_checklist_class_structure() -> None:
function test_id_extraction_functions (line 122) | def test_id_extraction_functions() -> None:
function test_eip_checklist_decorator_usage (line 141) | def test_eip_checklist_decorator_usage() -> None:
function test_eip_checklist_pytest_param_usage (line 172) | def test_eip_checklist_pytest_param_usage() -> None:
FILE: src/ethereum_test_exceptions/engine_api.py
class EngineAPIError (line 6) | class EngineAPIError(IntEnum):
FILE: src/ethereum_test_exceptions/exception_mapper.py
class ExceptionMapper (line 12) | class ExceptionMapper(ABC):
method __init__ (line 43) | def __init__(self) -> None:
method message_to_exception (line 54) | def message_to_exception(
class ExceptionWithMessage (line 70) | class ExceptionWithMessage(BaseModel, Generic[ExceptionBoundTypeVar]):
method __contains__ (line 79) | def __contains__(self, item: Any) -> bool:
method __str__ (line 85) | def __str__(self) -> str:
function mapper_validator (line 90) | def mapper_validator(v: str, info: ValidationInfo) -> Dict[str, Any] | U...
FILE: src/ethereum_test_exceptions/exceptions.py
class ExceptionBase (line 16) | class ExceptionBase(Enum):
method __init_subclass__ (line 19) | def __init_subclass__(cls) -> None:
method __get_pydantic_core_schema__ (line 25) | def __get_pydantic_core_schema__(
method from_str (line 38) | def from_str(cls, value: "str | ExceptionBase") -> "ExceptionBase":
method __contains__ (line 61) | def __contains__(self, exception) -> bool:
method __str__ (line 65) | def __str__(self) -> str:
function to_pipe_str (line 70) | def to_pipe_str(value: Any) -> str:
function from_pipe_str (line 82) | def from_pipe_str(value: Any) -> str | List[str]:
class UndefinedException (line 92) | class UndefinedException(str):
method __new__ (line 97) | def __new__(cls, value: str, *, mapper_name: str | None = None) -> "Un...
method __get_pydantic_core_schema__ (line 107) | def __get_pydantic_core_schema__(
class TransactionException (line 121) | class TransactionException(ExceptionBase):
class BlockException (line 308) | class BlockException(ExceptionBase):
class EOFException (line 477) | class EOFException(ExceptionBase):
FILE: src/ethereum_test_exceptions/exceptions/base.py
class ExceptionBase (line 16) | class ExceptionBase(Enum):
method __init_subclass__ (line 19) | def __init_subclass__(cls) -> None:
method __get_pydantic_core_schema__ (line 25) | def __get_pydantic_core_schema__(
method from_str (line 38) | def from_str(cls, value: "str | ExceptionBase") -> "ExceptionBase":
method __contains__ (line 61) | def __contains__(self, exception: "ExceptionBase") -> bool:
method __str__ (line 65) | def __str__(self) -> str:
class UndefinedException (line 70) | class UndefinedException(str):
method __new__ (line 75) | def __new__(cls, value: str, *, mapper_name: str | None = None) -> "Un...
method __get_pydantic_core_schema__ (line 85) | def __get_pydantic_core_schema__(
function to_pipe_str (line 98) | def to_pipe_str(value: Any) -> str:
function from_pipe_str (line 110) | def from_pipe_str(value: Any) -> str | list[str]:
FILE: src/ethereum_test_exceptions/exceptions/block.py
class BlockException (line 9) | class BlockException(ExceptionBase):
FILE: src/ethereum_test_exceptions/exceptions/eof.py
class EOFException (line 9) | class EOFException(ExceptionBase):
FILE: src/ethereum_test_exceptions/exceptions/transaction.py
class TransactionException (line 9) | class TransactionException(ExceptionBase):
FILE: src/ethereum_test_exceptions/tests/test_exceptions.py
function test_exceptions_string_conversion (line 34) | def test_exceptions_string_conversion(
function test_exceptions_or (line 95) | def test_exceptions_or(type_adapter: TypeAdapter, exception: list, expec...
FILE: src/ethereum_test_execution/base.py
class BaseExecute (line 14) | class BaseExecute(CamelModel):
method __pydantic_init_subclass__ (line 26) | def __pydantic_init_subclass__(cls, **kwargs: Any) -> None:
method execute (line 36) | def execute(
class LabeledExecuteFormat (line 47) | class LabeledExecuteFormat:
method __init__ (line 61) | def __init__(
method format_name (line 79) | def format_name(self) -> str:
method requires_engine_rpc (line 84) | def requires_engine_rpc(self) -> bool:
method __eq__ (line 88) | def __eq__(self, other: Any) -> bool:
FILE: src/ethereum_test_execution/blob_transaction.py
function versioned_hashes_with_blobs_and_proofs (line 22) | def versioned_hashes_with_blobs_and_proofs(
class BlobTransaction (line 48) | class BlobTransaction(BaseExecute):
method execute (line 65) | def execute(
FILE: src/ethereum_test_execution/transaction_post.py
class TransactionPost (line 16) | class TransactionPost(BaseExecute):
method execute (line 32) | def execute(
FILE: src/ethereum_test_fixtures/base.py
function fixture_format_discriminator (line 25) | def fixture_format_discriminator(v: Any) -> str | None:
class FixtureFillingPhase (line 43) | class FixtureFillingPhase(Enum):
class BaseFixture (line 50) | class BaseFixture(CamelModel):
method output_base_dir_name (line 66) | def output_base_dir_name(cls) -> str:
method __pydantic_init_subclass__ (line 74) | def __pydantic_init_subclass__(cls, **kwargs: Any) -> None:
method _parse_into_subclass (line 102) | def _parse_into_subclass(cls, v: Any, handler: ValidatorFunctionWrapHa...
method json_dict (line 109) | def json_dict(self) -> Dict[str, Any]:
method hash (line 114) | def hash(self) -> str:
method json_dict_with_info (line 120) | def json_dict_with_info(self, hash_only: bool = False) -> Dict[str, Any]:
method fill_info (line 128) | def fill_info(
method get_fork (line 148) | def get_fork(self) -> Fork | None:
method supports_fork (line 153) | def supports_fork(cls, fork: Fork) -> bool:
method discard_fixture_format_by_marks (line 163) | def discard_fixture_format_by_marks(
class LabeledFixtureFormat (line 176) | class LabeledFixtureFormat:
method __init__ (line 190) | def __init__(
method format_name (line 208) | def format_name(self) -> str:
method format_phases (line 213) | def format_phases(self) -> Set[FixtureFillingPhase]:
method __eq__ (line 217) | def __eq__(self, other: Any) -> bool:
FILE: src/ethereum_test_fixtures/blockchain.py
function post_state_validator (line 56) | def post_state_validator(alternate_field: str | None = None, mode: str =...
class HeaderForkRequirement (line 96) | class HeaderForkRequirement(str):
method __new__ (line 102) | def __new__(cls, value: str) -> "HeaderForkRequirement":
method required (line 106) | def required(self, fork: Fork, block_number: int, timestamp: int) -> b...
method get_from_annotation (line 113) | def get_from_annotation(cls, field_hints: Any) -> Self | None:
class FixtureHeader (line 123) | class FixtureHeader(CamelModel):
method model_post_init (line 179) | def model_post_init(self, __context: Any) -> None:
method rlp_encode_list (line 214) | def rlp_encode_list(self) -> List:
method rlp (line 226) | def rlp(self) -> Bytes:
method block_hash (line 232) | def block_hash(self) -> Hash:
method genesis (line 237) | def genesis(cls, fork: Fork, env: Environment, state_root: Hash) -> Self:
class FixtureExecutionPayload (line 258) | class FixtureExecutionPayload(CamelModel):
method from_fixture_header (line 291) | def from_fixture_header(
class FixtureEngineNewPayload (line 330) | class FixtureEngineNewPayload(CamelModel):
method valid (line 351) | def valid(self) -> bool:
method from_fixture_header (line 356) | def from_fixture_header(
class FixtureTransaction (line 429) | class FixtureTransaction(TransactionFixtureConverter, TransactionGeneric...
method from_transaction (line 436) | def from_transaction(cls, tx: Transaction) -> Self:
class FixtureWithdrawal (line 441) | class FixtureWithdrawal(WithdrawalGeneric[ZeroPaddedHexNumber]):
method from_withdrawal (line 448) | def from_withdrawal(cls, w: WithdrawalGeneric) -> Self:
class WitnessChunk (line 453) | class WitnessChunk(CamelModel):
method parse_witness_chunks (line 462) | def parse_witness_chunks(cls, s: str) -> List[Self]:
class FixtureBlockBase (line 471) | class FixtureBlockBase(CamelModel):
method block_number (line 488) | def block_number(self) -> Number:
method with_rlp (line 492) | def with_rlp(self, txs: List[Transaction]) -> "FixtureBlock":
class FixtureBlock (line 514) | class FixtureBlock(FixtureBlockBase):
method without_rlp (line 519) | def without_rlp(self) -> FixtureBlockBase:
class FixtureConfig (line 526) | class FixtureConfig(CamelModel):
class InvalidFixtureBlock (line 534) | class InvalidFixtureBlock(CamelModel):
class BlockchainFixtureCommon (line 543) | class BlockchainFixtureCommon(BaseFixture):
method config_defaults_for_backwards_compatibility (line 557) | def config_defaults_for_backwards_compatibility(cls, data: Any) -> Any:
method get_fork (line 572) | def get_fork(self) -> Fork | None:
class BlockchainFixture (line 577) | class BlockchainFixture(BlockchainFixtureCommon):
class BlockchainEngineFixtureCommon (line 589) | class BlockchainEngineFixtureCommon(BaseFixture):
method get_fork (line 603) | def get_fork(self) -> Fork | None:
method supports_fork (line 608) | def supports_fork(cls, fork: Fork) -> bool:
class BlockchainEngineFixture (line 617) | class BlockchainEngineFixture(BlockchainEngineFixtureCommon):
class BlockchainEngineXFixture (line 631) | class BlockchainEngineXFixture(BlockchainEngineFixtureCommon):
class BlockchainEngineSyncFixture (line 659) | class BlockchainEngineSyncFixture(BlockchainEngineFixture):
method discard_fixture_format_by_marks (line 676) | def discard_fixture_format_by_marks(
FILE: src/ethereum_test_fixtures/collector.py
class TestInfo (line 22) | class TestInfo:
method strip_test_name (line 36) | def strip_test_name(cls, name: str) -> str:
method get_name_and_parameters (line 44) | def get_name_and_parameters(self) -> Tuple[str, str]:
method get_single_test_name (line 55) | def get_single_test_name(self, mode: Literal["module", "test"] = "modu...
method get_dump_dir_path (line 66) | def get_dump_dir_path(
method get_id (line 86) | def get_id(self) -> str:
method get_module_relative_output_dir (line 90) | def get_module_relative_output_dir(self, filler_path: Path) -> Path:
class FixtureCollector (line 108) | class FixtureCollector:
method get_fixture_basename (line 122) | def get_fixture_basename(self, info: TestInfo) -> Path:
method add_fixture (line 136) | def add_fixture(self, info: TestInfo, fixture: BaseFixture) -> Path:
method dump_fixtures (line 157) | def dump_fixtures(self) -> None:
method verify_fixture_files (line 174) | def verify_fixture_files(self, evm_fixture_verification: FixtureConsum...
method _get_consume_direct_dump_dir (line 188) | def _get_consume_direct_dump_dir(
FILE: src/ethereum_test_fixtures/common.py
class FixtureForkBlobSchedule (line 18) | class FixtureForkBlobSchedule(CamelModel):
class FixtureBlobSchedule (line 26) | class FixtureBlobSchedule(EthereumTestRootModel[Dict[str, FixtureForkBlo...
method from_blob_schedule (line 32) | def from_blob_schedule(
class FixtureAuthorizationTuple (line 43) | class FixtureAuthorizationTuple(
method from_authorization_tuple (line 55) | def from_authorization_tuple(
method sign (line 61) | def sign(self) -> None:
FILE: src/ethereum_test_fixtures/consume.py
class FixtureConsumer (line 17) | class FixtureConsumer(ABC):
method can_consume (line 22) | def can_consume(
method consume_fixture (line 30) | def consume_fixture(
class TestCaseBase (line 46) | class TestCaseBase(BaseModel):
class TestCaseStream (line 57) | class TestCaseStream(TestCaseBase):
class TestCaseIndexFile (line 64) | class TestCaseIndexFile(TestCaseBase):
class IndexFile (line 84) | class IndexFile(BaseModel):
class TestCases (line 95) | class TestCases(RootModel):
method __len__ (line 101) | def __len__(self) -> int:
method __getitem__ (line 105) | def __getitem__(self, position: int) -> TestCaseIndexFile | TestCaseSt...
method __setitem__ (line 109) | def __setitem__(self, position: int, value: TestCaseIndexFile | TestCa...
method __delitem__ (line 113) | def __delitem__(self, position: int) -> None:
method append (line 117) | def append(self, item: TestCaseIndexFile | TestCaseStream) -> None:
method insert (line 121) | def insert(self, position: int, value: TestCaseIndexFile | TestCaseStr...
method remove (line 125) | def remove(self, value: TestCaseIndexFile | TestCaseStream) -> None:
method pop (line 129) | def pop(self, position: int = -1) -> TestCaseIndexFile | TestCaseStream:
method clear (line 133) | def clear(self) -> None:
method __iter__ (line 137) | def __iter__(self) -> Iterator[TestCaseIndexFile | TestCaseStream]: #...
method __repr__ (line 141) | def __repr__(self) -> str:
method from_stream (line 146) | def from_stream(cls, fd: TextIO) -> "TestCases":
method from_index_file (line 162) | def from_index_file(cls, index_file: Path) -> "TestCases":
FILE: src/ethereum_test_fixtures/eof.py
class Result (line 15) | class Result(CamelModel):
method model_post_init (line 21) | def model_post_init(self, __context: Any) -> None:
class Vector (line 33) | class Vector(CamelModel):
class EOFFixture (line 41) | class EOFFixture(BaseFixture):
method get_fork (line 49) | def get_fork(self) -> Fork | None:
FILE: src/ethereum_test_fixtures/file.py
class Fixtures (line 15) | class Fixtures(EthereumTestRootModel):
method __setitem__ (line 30) | def __setitem__(self, key: str, value: BaseFixture) -> None: # noqa: ...
method __getitem__ (line 33) | def __getitem__(self, item: str) -> SerializeAsAny[BaseFixture]: # no...
method __iter__ (line 36) | def __iter__(self) -> Iterator[str]: # type: ignore [override] # noq...
method __contains__ (line 39) | def __contains__(self, item: str) -> bool: # noqa: D105
method __len__ (line 42) | def __len__(self) -> int: # noqa: D105
method keys (line 45) | def keys(self) -> KeysView[str]: # noqa: D102
method values (line 48) | def values(self) -> ValuesView[SerializeAsAny[BaseFixture]]: # noqa: ...
method items (line 51) | def items(self) -> ItemsView[str, SerializeAsAny[BaseFixture]]: # noq...
method collect_into_file (line 54) | def collect_into_file(self, file_path: Path) -> None:
FILE: src/ethereum_test_fixtures/pre_alloc_groups.py
class PreAllocGroup (line 17) | class PreAllocGroup(CamelModel):
method pre_account_count (line 35) | def pre_account_count(self) -> int:
method test_count (line 41) | def test_count(self) -> int:
method genesis (line 47) | def genesis(self) -> FixtureHeader:
method to_file (line 55) | def to_file(self, file: Path) -> None:
class PreAllocGroups (line 88) | class PreAllocGroups(EthereumTestRootModel):
method __setitem__ (line 102) | def __setitem__(self, key: str, value: Any) -> None:
method from_folder (line 110) | def from_folder(cls, folder: Path, *, lazy_load: bool = False) -> "Pre...
method to_folder (line 129) | def to_folder(self, folder: Path) -> None:
method __getitem__ (line 135) | def __getitem__(self, item: str) -> PreAllocGroup:
method __iter__ (line 149) | def __iter__(self) -> Iterator[str]: # type: ignore [override]
method __contains__ (line 153) | def __contains__(self, item: str) -> bool:
method __len__ (line 157) | def __len__(self) -> int:
method keys (line 161) | def keys(self) -> KeysView[str]:
method values (line 165) | def values(self) -> Generator[PreAllocGroup, None, None]:
method items (line 171) | def items(self) -> Generator[Tuple[str, PreAllocGroup], None, None]:
FILE: src/ethereum_test_fixtures/state.py
class FixtureEnvironment (line 28) | class FixtureEnvironment(EnvironmentGeneric[ZeroPaddedHexNumber]):
class FixtureTransaction (line 34) | class FixtureTransaction(TransactionFixtureConverter):
method from_transaction (line 54) | def from_transaction(cls, tx: Transaction) -> "FixtureTransaction":
class FixtureForkPostIndexes (line 66) | class FixtureForkPostIndexes(BaseModel):
class FixtureForkPost (line 76) | class FixtureForkPost(CamelModel):
class FixtureConfig (line 87) | class FixtureConfig(CamelModel):
class StateFixture (line 94) | class StateFixture(BaseFixture):
method get_fork (line 106) | def get_fork(self) -> Fork | None:
FILE: src/ethereum_test_fixtures/tests/test_base.py
function test_json_dict (line 11) | def test_json_dict() -> None:
function test_base_fixtures_parsing (line 47) | def test_base_fixtures_parsing(fixture: BaseFixture) -> None:
FILE: src/ethereum_test_fixtures/tests/test_blockchain.py
class TestPydanticModelConversion (line 957) | class TestPydanticModelConversion:
method test_json_serialization (line 960) | def test_json_serialization(
method test_json_deserialization (line 967) | def test_json_deserialization(
class TestPydanticAdaptersConversion (line 1301) | class TestPydanticAdaptersConversion:
method test_json_serialization (line 1304) | def test_json_serialization(
method test_json_deserialization (line 1323) | def test_json_deserialization(
FILE: src/ethereum_test_fixtures/tests/test_eof.py
class TestPydanticModelConversion (line 81) | class TestPydanticModelConversion:
method test_json_serialization (line 84) | def test_json_serialization(
method test_json_deserialization (line 93) | def test_json_deserialization(
FILE: src/ethereum_test_fixtures/tests/test_state.py
class TestPydanticModelConversion (line 98) | class TestPydanticModelConversion:
method test_json_serialization (line 101) | def test_json_serialization(
method test_json_deserialization (line 108) | def test_json_deserialization(
FILE: src/ethereum_test_fixtures/transaction.py
class FixtureResult (line 14) | class FixtureResult(CamelModel):
class TransactionFixture (line 23) | class TransactionFixture(BaseFixture):
method get_fork (line 32) | def get_fork(self) -> Fork | None:
FILE: src/ethereum_test_forks/base_decorators.py
function prefer_transition_to_method (line 8) | def prefer_transition_to_method(method: F) -> F:
FILE: src/ethereum_test_forks/base_fork.py
class ForkAttribute (line 28) | class ForkAttribute(Protocol):
method __call__ (line 34) | def __call__(self, block_number: int = 0, timestamp: int = 0) -> Any:
class MemoryExpansionGasCalculator (line 41) | class MemoryExpansionGasCalculator(Protocol):
method __call__ (line 46) | def __call__(self, *, new_bytes: int, previous_bytes: int = 0) -> int:
class CalldataGasCalculator (line 51) | class CalldataGasCalculator(Protocol):
method __call__ (line 57) | def __call__(self, *, data: BytesConvertible, floor: bool = False) -> ...
class TransactionDataFloorCostCalculator (line 62) | class TransactionDataFloorCostCalculator(Protocol):
method __call__ (line 67) | def __call__(self, *, data: BytesConvertible) -> int:
class BaseFeePerGasCalculator (line 72) | class BaseFeePerGasCalculator(Protocol):
method __call__ (line 75) | def __call__(
class BaseFeeChangeCalculator (line 82) | class BaseFeeChangeCalculator(Protocol):
method __call__ (line 88) | def __call__(
class TransactionIntrinsicCostCalculator (line 99) | class TransactionIntrinsicCostCalculator(Protocol):
method __call__ (line 105) | def __call__(
class BlobGasPriceCalculator (line 139) | class BlobGasPriceCalculator(Protocol):
method __call__ (line 145) | def __call__(self, *, excess_blob_gas: int) -> int:
class ExcessBlobGasCalculator (line 150) | class ExcessBlobGasCalculator(Protocol):
method __call__ (line 155) | def __call__(
class BaseForkMeta (line 171) | class BaseForkMeta(ABCMeta):
method name (line 175) | def name(cls) -> str:
method __repr__ (line 182) | def __repr__(cls) -> str:
method _maybe_transitioned (line 187) | def _maybe_transitioned(fork_cls: "BaseForkMeta") -> "BaseForkMeta":
method _is_subclass_of (line 195) | def _is_subclass_of(a: "BaseForkMeta", b: "BaseForkMeta") -> bool:
method __gt__ (line 204) | def __gt__(cls, other: "BaseForkMeta") -> bool:
method __ge__ (line 208) | def __ge__(cls, other: "BaseForkMeta") -> bool:
method __lt__ (line 215) | def __lt__(cls, other: "BaseForkMeta") -> bool:
method __le__ (line 220) | def __le__(cls, other: "BaseForkMeta") -> bool:
class BaseFork (line 228) | class BaseFork(ABC, metaclass=BaseForkMeta):
method get_blob_constant (line 245) | def get_blob_constant(cls, name: str) -> int | Literal["big"]:
method __init_subclass__ (line 249) | def __init_subclass__(
method header_base_fee_required (line 274) | def header_base_fee_required(cls, *, block_number: int = 0, timestamp:...
method header_prev_randao_required (line 280) | def header_prev_randao_required(cls, *, block_number: int = 0, timesta...
method header_zero_difficulty_required (line 286) | def header_zero_difficulty_required(cls, *, block_number: int = 0, tim...
method header_withdrawals_required (line 292) | def header_withdrawals_required(cls, *, block_number: int = 0, timesta...
method header_excess_blob_gas_required (line 298) | def header_excess_blob_gas_required(cls, *, block_number: int = 0, tim...
method header_blob_gas_used_required (line 304) | def header_blob_gas_used_required(cls, *, block_number: int = 0, times...
method header_beacon_root_required (line 310) | def header_beacon_root_required(cls, *, block_number: int = 0, timesta...
method header_requests_required (line 316) | def header_requests_required(cls, *, block_number: int = 0, timestamp:...
method header_bal_hash_required (line 322) | def header_bal_hash_required(cls, *, block_number: int = 0, timestamp:...
method gas_costs (line 330) | def gas_costs(cls, *, block_number: int = 0, timestamp: int = 0) -> Ga...
method memory_expansion_gas_calculator (line 336) | def memory_expansion_gas_calculator(
method calldata_gas_calculator (line 347) | def calldata_gas_calculator(
method base_fee_per_gas_calculator (line 358) | def base_fee_per_gas_calculator(
method base_fee_change_calculator (line 368) | def base_fee_change_calculator(
method base_fee_max_change_denominator (line 379) | def base_fee_max_change_denominator(cls, *, block_number: int = 0, tim...
method base_fee_elasticity_multiplier (line 385) | def base_fee_elasticity_multiplier(cls, *, block_number: int = 0, time...
method max_refund_quotient (line 391) | def max_refund_quotient(cls, *, block_number: int = 0, timestamp: int ...
method transaction_data_floor_cost_calculator (line 397) | def transaction_data_floor_cost_calculator(
method transaction_intrinsic_cost_calculator (line 408) | def transaction_intrinsic_cost_calculator(
method blob_gas_price_calculator (line 419) | def blob_gas_price_calculator(
method excess_blob_gas_calculator (line 429) | def excess_blob_gas_calculator(
method min_base_fee_per_blob_gas (line 440) | def min_base_fee_per_blob_gas(cls, *, block_number: int = 0, timestamp...
method blob_gas_per_blob (line 446) | def blob_gas_per_blob(cls, *, block_number: int = 0, timestamp: int = ...
method blob_base_fee_update_fraction (line 452) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method supports_blobs (line 458) | def supports_blobs(cls, *, block_number: int = 0, timestamp: int = 0) ...
method target_blobs_per_block (line 464) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_tx (line 470) | def max_blobs_per_tx(cls, *, block_number: int = 0, timestamp: int = 0...
method max_blobs_per_block (line 476) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
method blob_reserve_price_active (line 482) | def blob_reserve_price_active(cls, *, block_number: int = 0, timestamp...
method blob_base_cost (line 491) | def blob_base_cost(cls, *, block_number: int = 0, timestamp: int = 0) ...
method full_blob_tx_wrapper_version (line 497) | def full_blob_tx_wrapper_version(
method blob_schedule (line 509) | def blob_schedule(cls, *, block_number: int = 0, timestamp: int = 0) -...
method get_reward (line 515) | def get_reward(cls, *, block_number: int = 0, timestamp: int = 0) -> int:
method tx_types (line 523) | def tx_types(cls, *, block_number: int = 0, timestamp: int = 0) -> Lis...
method contract_creating_tx_types (line 529) | def contract_creating_tx_types(cls, *, block_number: int = 0, timestam...
method transaction_gas_limit_cap (line 538) | def transaction_gas_limit_cap(cls, *, block_number: int = 0, timestamp...
method block_rlp_size_limit (line 546) | def block_rlp_size_limit(cls, *, block_number: int = 0, timestamp: int...
method precompiles (line 555) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method system_contracts (line 561) | def system_contracts(cls, *, block_number: int = 0, timestamp: int = 0...
method pre_allocation (line 568) | def pre_allocation(cls, *, block_number: int = 0, timestamp: int = 0) ...
method pre_allocation_blockchain (line 581) | def pre_allocation_blockchain(cls, *, block_number: int = 0, timestamp...
method engine_new_payload_version (line 594) | def engine_new_payload_version(
method engine_new_payload_blob_hashes (line 605) | def engine_new_payload_blob_hashes(cls, *, block_number: int = 0, time...
method engine_new_payload_beacon_root (line 614) | def engine_new_payload_beacon_root(cls, *, block_number: int = 0, time...
method engine_new_payload_requests (line 623) | def engine_new_payload_requests(cls, *, block_number: int = 0, timesta...
method engine_new_payload_target_blobs_per_block (line 632) | def engine_new_payload_target_blobs_per_block(
method engine_execution_payload_block_access_list (line 643) | def engine_execution_payload_block_access_list(
method engine_payload_attribute_target_blobs_per_block (line 654) | def engine_payload_attribute_target_blobs_per_block(
method engine_payload_attribute_max_blobs_per_block (line 665) | def engine_payload_attribute_max_blobs_per_block(
method engine_forkchoice_updated_version (line 675) | def engine_forkchoice_updated_version(
method engine_get_payload_version (line 686) | def engine_get_payload_version(
method engine_get_blobs_version (line 697) | def engine_get_blobs_version(
method evm_code_types (line 709) | def evm_code_types(cls, *, block_number: int = 0, timestamp: int = 0) ...
method max_code_size (line 715) | def max_code_size(cls, *, block_number: int = 0, timestamp: int = 0) -...
method max_stack_height (line 724) | def max_stack_height(cls, *, block_number: int = 0, timestamp: int = 0...
method max_initcode_size (line 730) | def max_initcode_size(cls, *, block_number: int = 0, timestamp: int = ...
method call_opcodes (line 739) | def call_opcodes(
method valid_opcodes (line 750) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
method create_opcodes (line 756) | def create_opcodes(
method max_request_type (line 767) | def max_request_type(cls, *, block_number: int = 0, timestamp: int = 0...
method name (line 773) | def name(cls) -> str:
method fork_at (line 778) | def fork_at(cls, *, block_number: int = 0, timestamp: int = 0) -> Type...
method transition_tool_name (line 788) | def transition_tool_name(cls, *, block_number: int = 0, timestamp: int...
method solc_name (line 797) | def solc_name(cls) -> str:
method is_deployed (line 802) | def is_deployed(cls) -> bool:
method ignore (line 812) | def ignore(cls) -> bool:
method bpo_fork (line 818) | def bpo_fork(cls) -> bool:
method parent (line 823) | def parent(cls) -> Type["BaseFork"] | None:
method non_bpo_ancestor (line 832) | def non_bpo_ancestor(cls) -> Type["BaseFork"]:
method children (line 843) | def children(cls) -> Set[Type["BaseFork"]]:
FILE: src/ethereum_test_forks/forks/forks.py
class Frontier (line 32) | class Frontier(BaseFork, solc_name="homestead"):
method transition_tool_name (line 36) | def transition_tool_name(cls, *, block_number: int = 0, timestamp: int...
method solc_name (line 47) | def solc_name(cls) -> str:
method header_base_fee_required (line 54) | def header_base_fee_required(cls, *, block_number: int = 0, timestamp:...
method header_prev_randao_required (line 60) | def header_prev_randao_required(cls, *, block_number: int = 0, timesta...
method header_zero_difficulty_required (line 66) | def header_zero_difficulty_required(cls, *, block_number: int = 0, tim...
method header_withdrawals_required (line 72) | def header_withdrawals_required(cls, *, block_number: int = 0, timesta...
method header_excess_blob_gas_required (line 78) | def header_excess_blob_gas_required(cls, *, block_number: int = 0, tim...
method header_blob_gas_used_required (line 84) | def header_blob_gas_used_required(cls, *, block_number: int = 0, times...
method gas_costs (line 90) | def gas_costs(cls, *, block_number: int = 0, timestamp: int = 0) -> Ga...
method memory_expansion_gas_calculator (line 139) | def memory_expansion_gas_calculator(
method calldata_gas_calculator (line 162) | def calldata_gas_calculator(
method base_fee_per_gas_calculator (line 185) | def base_fee_per_gas_calculator(
method base_fee_change_calculator (line 194) | def base_fee_change_calculator(
method base_fee_max_change_denominator (line 204) | def base_fee_max_change_denominator(cls, *, block_number: int = 0, tim...
method base_fee_elasticity_multiplier (line 212) | def base_fee_elasticity_multiplier(cls, *, block_number: int = 0, time...
method transaction_data_floor_cost_calculator (line 220) | def transaction_data_floor_cost_calculator(
method transaction_intrinsic_cost_calculator (line 233) | def transaction_intrinsic_cost_calculator(
method blob_gas_price_calculator (line 272) | def blob_gas_price_calculator(
method excess_blob_gas_calculator (line 281) | def excess_blob_gas_calculator(
method min_base_fee_per_blob_gas (line 291) | def min_base_fee_per_blob_gas(cls, *, block_number: int = 0, timestamp...
method blob_base_fee_update_fraction (line 297) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method blob_gas_per_blob (line 305) | def blob_gas_per_blob(cls, *, block_number: int = 0, timestamp: int = ...
method supports_blobs (line 311) | def supports_blobs(cls, *, block_number: int = 0, timestamp: int = 0) ...
method target_blobs_per_block (line 317) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_block (line 323) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
method blob_reserve_price_active (line 329) | def blob_reserve_price_active(cls, *, block_number: int = 0, timestamp...
method blob_base_cost (line 338) | def blob_base_cost(cls, *, block_number: int = 0, timestamp: int = 0) ...
method full_blob_tx_wrapper_version (line 344) | def full_blob_tx_wrapper_version(
method max_blobs_per_tx (line 353) | def max_blobs_per_tx(cls, *, block_number: int = 0, timestamp: int = 0...
method blob_schedule (line 359) | def blob_schedule(cls, *, block_number: int = 0, timestamp: int = 0) -...
method header_requests_required (line 365) | def header_requests_required(cls, *, block_number: int = 0, timestamp:...
method header_bal_hash_required (line 371) | def header_bal_hash_required(cls, *, block_number: int = 0, timestamp:...
method engine_new_payload_version (line 377) | def engine_new_payload_version(
method header_beacon_root_required (line 385) | def header_beacon_root_required(cls, *, block_number: int = 0, timesta...
method engine_new_payload_blob_hashes (line 391) | def engine_new_payload_blob_hashes(cls, *, block_number: int = 0, time...
method engine_new_payload_beacon_root (line 397) | def engine_new_payload_beacon_root(cls, *, block_number: int = 0, time...
method engine_new_payload_requests (line 403) | def engine_new_payload_requests(cls, *, block_number: int = 0, timesta...
method engine_execution_payload_block_access_list (line 409) | def engine_execution_payload_block_access_list(
method engine_new_payload_target_blobs_per_block (line 417) | def engine_new_payload_target_blobs_per_block(
method engine_payload_attribute_target_blobs_per_block (line 428) | def engine_payload_attribute_target_blobs_per_block(
method engine_payload_attribute_max_blobs_per_block (line 439) | def engine_payload_attribute_max_blobs_per_block(
method engine_forkchoice_updated_version (line 449) | def engine_forkchoice_updated_version(
method engine_get_payload_version (line 458) | def engine_get_payload_version(
method engine_get_blobs_version (line 465) | def engine_get_blobs_version(
method get_reward (line 473) | def get_reward(cls, *, block_number: int = 0, timestamp: int = 0) -> int:
method tx_types (line 482) | def tx_types(cls, *, block_number: int = 0, timestamp: int = 0) -> Lis...
method contract_creating_tx_types (line 488) | def contract_creating_tx_types(cls, *, block_number: int = 0, timestam...
method transaction_gas_limit_cap (line 494) | def transaction_gas_limit_cap(cls, *, block_number: int = 0, timestamp...
method block_rlp_size_limit (line 500) | def block_rlp_size_limit(cls, *, block_number: int = 0, timestamp: int...
method precompiles (line 506) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method system_contracts (line 512) | def system_contracts(cls, *, block_number: int = 0, timestamp: int = 0...
method evm_code_types (line 518) | def evm_code_types(cls, *, block_number: int = 0, timestamp: int = 0) ...
method max_code_size (line 524) | def max_code_size(cls, *, block_number: int = 0, timestamp: int = 0) -...
method max_stack_height (line 535) | def max_stack_height(cls, *, block_number: int = 0, timestamp: int = 0...
method max_initcode_size (line 541) | def max_initcode_size(cls, *, block_number: int = 0, timestamp: int = ...
method call_opcodes (line 548) | def call_opcodes(
method valid_opcodes (line 559) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
method create_opcodes (line 695) | def create_opcodes(
method max_refund_quotient (line 705) | def max_refund_quotient(cls, *, block_number: int = 0, timestamp: int ...
method max_request_type (line 711) | def max_request_type(cls, *, block_number: int = 0, timestamp: int = 0...
method pre_allocation (line 717) | def pre_allocation(cls, *, block_number: int = 0, timestamp: int = 0) ...
method pre_allocation_blockchain (line 727) | def pre_allocation_blockchain(cls, *, block_number: int = 0, timestamp...
class Homestead (line 737) | class Homestead(Frontier):
method precompiles (line 741) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method call_opcodes (line 754) | def call_opcodes(
method valid_opcodes (line 763) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
method transaction_intrinsic_cost_calculator (line 769) | def transaction_intrinsic_cost_calculator(
class DAOFork (line 804) | class DAOFork(Homestead, ignore=True):
class Tangerine (line 810) | class Tangerine(DAOFork, ignore=True):
class SpuriousDragon (line 816) | class SpuriousDragon(Tangerine, ignore=True):
class Byzantium (line 822) | class Byzantium(Homestead):
method get_reward (line 826) | def get_reward(cls, *, block_number: int = 0, timestamp: int = 0) -> int:
method precompiles (line 835) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method max_code_size (line 849) | def max_code_size(cls, *, block_number: int = 0, timestamp: int = 0) -...
method call_opcodes (line 860) | def call_opcodes(
method valid_opcodes (line 869) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
class Constantinople (line 880) | class Constantinople(Byzantium):
method get_reward (line 884) | def get_reward(cls, *, block_number: int = 0, timestamp: int = 0) -> int:
method create_opcodes (line 893) | def create_opcodes(
method valid_opcodes (line 902) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
class ConstantinopleFix (line 914) | class ConstantinopleFix(Constantinople, solc_name="constantinople"):
class Istanbul (line 920) | class Istanbul(ConstantinopleFix):
method precompiles (line 924) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method valid_opcodes (line 931) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
method gas_costs (line 937) | def gas_costs(cls, *, block_number: int = 0, timestamp: int = 0) -> Ga...
class MuirGlacier (line 949) | class MuirGlacier(Istanbul, solc_name="istanbul", ignore=True):
class Berlin (line 955) | class Berlin(Istanbul):
method tx_types (line 959) | def tx_types(cls, *, block_number: int = 0, timestamp: int = 0) -> Lis...
method contract_creating_tx_types (line 964) | def contract_creating_tx_types(cls, *, block_number: int = 0, timestam...
method transaction_intrinsic_cost_calculator (line 971) | def transaction_intrinsic_cost_calculator(
class London (line 1008) | class London(Berlin):
method header_base_fee_required (line 1012) | def header_base_fee_required(cls, *, block_number: int = 0, timestamp:...
method tx_types (line 1018) | def tx_types(cls, *, block_number: int = 0, timestamp: int = 0) -> Lis...
method contract_creating_tx_types (line 1023) | def contract_creating_tx_types(cls, *, block_number: int = 0, timestam...
method valid_opcodes (line 1030) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
method max_refund_quotient (line 1036) | def max_refund_quotient(cls, *, block_number: int = 0, timestamp: int ...
method base_fee_max_change_denominator (line 1042) | def base_fee_max_change_denominator(cls, *, block_number: int = 0, tim...
method base_fee_elasticity_multiplier (line 1048) | def base_fee_elasticity_multiplier(cls, *, block_number: int = 0, time...
method base_fee_per_gas_calculator (line 1054) | def base_fee_per_gas_calculator(
method base_fee_change_calculator (line 1119) | def base_fee_change_calculator(
class ArrowGlacier (line 1185) | class ArrowGlacier(London, solc_name="london", ignore=True):
class GrayGlacier (line 1191) | class GrayGlacier(ArrowGlacier, solc_name="london", ignore=True):
class Paris (line 1197) | class Paris(
method header_prev_randao_required (line 1204) | def header_prev_randao_required(cls, *, block_number: int = 0, timesta...
method header_zero_difficulty_required (line 1210) | def header_zero_difficulty_required(cls, *, block_number: int = 0, tim...
method get_reward (line 1216) | def get_reward(cls, *, block_number: int = 0, timestamp: int = 0) -> int:
method engine_new_payload_version (line 1222) | def engine_new_payload_version(
class Shanghai (line 1230) | class Shanghai(Paris):
method header_withdrawals_required (line 1234) | def header_withdrawals_required(cls, *, block_number: int = 0, timesta...
method engine_new_payload_version (line 1240) | def engine_new_payload_version(
method max_initcode_size (line 1248) | def max_initcode_size(cls, *, block_number: int = 0, timestamp: int = ...
method valid_opcodes (line 1254) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
class Cancun (line 1260) | class Cancun(Shanghai):
method get_blob_constant (line 1280) | def get_blob_constant(cls, name: str) -> int | Literal["big"]:
method header_excess_blob_gas_required (line 1289) | def header_excess_blob_gas_required(cls, *, block_number: int = 0, tim...
method header_blob_gas_used_required (line 1295) | def header_blob_gas_used_required(cls, *, block_number: int = 0, times...
method header_beacon_root_required (line 1301) | def header_beacon_root_required(cls, *, block_number: int = 0, timesta...
method blob_gas_price_calculator (line 1307) | def blob_gas_price_calculator(
method excess_blob_gas_calculator (line 1328) | def excess_blob_gas_calculator(
method min_base_fee_per_blob_gas (line 1366) | def min_base_fee_per_blob_gas(cls, *, block_number: int = 0, timestamp...
method blob_base_fee_update_fraction (line 1372) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method blob_gas_per_blob (line 1378) | def blob_gas_per_blob(cls, *, block_number: int = 0, timestamp: int = ...
method supports_blobs (line 1384) | def supports_blobs(cls, *, block_number: int = 0, timestamp: int = 0) ...
method target_blobs_per_block (line 1390) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_block (line 1399) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
method blob_reserve_price_active (line 1408) | def blob_reserve_price_active(cls, *, block_number: int = 0, timestamp...
method full_blob_tx_wrapper_version (line 1414) | def full_blob_tx_wrapper_version(
method max_blobs_per_tx (line 1425) | def max_blobs_per_tx(cls, *, block_number: int = 0, timestamp: int = 0...
method blob_schedule (line 1433) | def blob_schedule(cls, *, block_number: int = 0, timestamp: int = 0) -...
method tx_types (line 1459) | def tx_types(cls, *, block_number: int = 0, timestamp: int = 0) -> Lis...
method precompiles (line 1464) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method system_contracts (line 1471) | def system_contracts(cls, *, block_number: int = 0, timestamp: int = 0...
method pre_allocation_blockchain (line 1477) | def pre_allocation_blockchain(cls, *, block_number: int = 0, timestamp...
method engine_new_payload_version (line 1494) | def engine_new_payload_version(
method engine_get_blobs_version (line 1502) | def engine_get_blobs_version(
method engine_new_payload_blob_hashes (line 1510) | def engine_new_payload_blob_hashes(cls, *, block_number: int = 0, time...
method engine_new_payload_beacon_root (line 1516) | def engine_new_payload_beacon_root(cls, *, block_number: int = 0, time...
method valid_opcodes (line 1522) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
class Prague (line 1534) | class Prague(Cancun):
method precompiles (line 1548) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method tx_types (line 1571) | def tx_types(cls, *, block_number: int = 0, timestamp: int = 0) -> Lis...
method gas_costs (line 1576) | def gas_costs(cls, *, block_number: int = 0, timestamp: int = 0) -> Ga...
method system_contracts (line 1590) | def system_contracts(cls, *, block_number: int = 0, timestamp: int = 0...
method max_request_type (line 1615) | def max_request_type(cls, *, block_number: int = 0, timestamp: int = 0...
method calldata_gas_calculator (line 1624) | def calldata_gas_calculator(
method transaction_data_floor_cost_calculator (line 1647) | def transaction_data_floor_cost_calculator(
method transaction_intrinsic_cost_calculator (line 1665) | def transaction_intrinsic_cost_calculator(
method blob_base_fee_update_fraction (line 1708) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method target_blobs_per_block (line 1714) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_block (line 1720) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
method pre_allocation_blockchain (line 1726) | def pre_allocation_blockchain(cls, *, block_number: int = 0, timestamp...
method header_requests_required (line 1790) | def header_requests_required(cls, *, block_number: int = 0, timestamp:...
method engine_new_payload_requests (line 1799) | def engine_new_payload_requests(cls, *, block_number: int = 0, timesta...
method engine_new_payload_version (line 1807) | def engine_new_payload_version(
method engine_forkchoice_updated_version (line 1815) | def engine_forkchoice_updated_version(
class Osaka (line 1825) | class Osaka(Prague, solc_name="cancun"):
method engine_get_payload_version (line 1835) | def engine_get_payload_version(
method engine_get_blobs_version (line 1843) | def engine_get_blobs_version(
method full_blob_tx_wrapper_version (line 1851) | def full_blob_tx_wrapper_version(
method transaction_gas_limit_cap (line 1859) | def transaction_gas_limit_cap(cls, *, block_number: int = 0, timestamp...
method block_rlp_size_limit (line 1865) | def block_rlp_size_limit(cls, *, block_number: int = 0, timestamp: int...
method is_deployed (line 1874) | def is_deployed(cls) -> bool:
method valid_opcodes (line 1882) | def valid_opcodes(cls, *, block_number: int = 0, timestamp: int = 0) -...
method precompiles (line 1890) | def precompiles(cls, *, block_number: int = 0, timestamp: int = 0) -> ...
method excess_blob_gas_calculator (line 1901) | def excess_blob_gas_calculator(
method max_blobs_per_tx (line 1957) | def max_blobs_per_tx(cls, *, block_number: int = 0, timestamp: int = 0...
method blob_reserve_price_active (line 1966) | def blob_reserve_price_active(cls, *, block_number: int = 0, timestamp...
method blob_base_cost (line 1972) | def blob_base_cost(cls, *, block_number: int = 0, timestamp: int = 0) ...
class BPO1 (line 1978) | class BPO1(Osaka, bpo_fork=True):
method blob_base_fee_update_fraction (line 1982) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method target_blobs_per_block (line 1988) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_block (line 1994) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
class BPO2 (line 2000) | class BPO2(BPO1, bpo_fork=True):
method blob_base_fee_update_fraction (line 2004) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method target_blobs_per_block (line 2010) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_block (line 2016) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
class BPO3 (line 2022) | class BPO3(BPO2, bpo_fork=True):
method blob_base_fee_update_fraction (line 2029) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method target_blobs_per_block (line 2035) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_block (line 2041) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
class BPO4 (line 2047) | class BPO4(BPO3, bpo_fork=True):
method blob_base_fee_update_fraction (line 2054) | def blob_base_fee_update_fraction(cls, *, block_number: int = 0, times...
method target_blobs_per_block (line 2060) | def target_blobs_per_block(cls, *, block_number: int = 0, timestamp: i...
method max_blobs_per_block (line 2066) | def max_blobs_per_block(cls, *, block_number: int = 0, timestamp: int ...
class BPO5 (line 2072) | class BPO5(BPO4, bpo_fork=True):
class Amsterdam (line 2081) | class Amsterdam(Osaka):
method header_bal_hash_required (line 2085) | def header_bal_hash_required(cls, *, block_number: int = 0, timestamp:...
method is_deployed (line 2093) | def is_deployed(cls) -> bool:
method engine_new_payload_version (line 2098) | def engine_new_payload_version(
method engine_execution_payload_block_access_list (line 2106) | def engine_execution_payload_block_access_list(
class EOFv1 (line 2117) | class EOFv1(Prague, solc_name="cancun"):
method evm_code_types (line 2121) | def evm_code_types(cls, *, block_number: int = 0, timestamp: int = 0) ...
method call_opcodes (line 2129) | def call_opcodes(
method is_deployed (line 2140) | def is_deployed(cls) -> bool:
FILE: src/ethereum_test_forks/forks/helpers.py
function ceiling_division (line 4) | def ceiling_division(a: int, b: int) -> int:
function fake_exponential (line 12) | def fake_exponential(factor: int, numerator: int, denominator: int) -> int:
FILE: src/ethereum_test_forks/forks/transition.py
class BerlinToLondonAt5 (line 9) | class BerlinToLondonAt5(Berlin):
class ParisToShanghaiAtTime15k (line 16) | class ParisToShanghaiAtTime15k(Paris):
class ShanghaiToCancunAtTime15k (line 23) | class ShanghaiToCancunAtTime15k(Shanghai):
class CancunToPragueAtTime15k (line 30) | class CancunToPragueAtTime15k(Cancun):
class PragueToOsakaAtTime15k (line 37) | class PragueToOsakaAtTime15k(Prague):
class OsakaToBPO1AtTime15k (line 44) | class OsakaToBPO1AtTime15k(Osaka):
class BPO1ToBPO2AtTime15k (line 51) | class BPO1ToBPO2AtTime15k(BPO1):
class BPO2ToBPO3AtTime15k (line 58) | class BPO2ToBPO3AtTime15k(BPO2):
class BPO3ToBPO4AtTime15k (line 65) | class BPO3ToBPO4AtTime15k(BPO3):
FILE: src/ethereum_test_forks/gas_costs.py
class GasCosts (line 7) | class GasCosts:
FILE: src/ethereum_test_forks/helpers.py
class InvalidForkError (line 22) | class InvalidForkError(Exception):
method __init__ (line 28) | def __init__(self, message: str) -> None:
function get_forks (line 58) | def get_forks() -> List[Type[BaseFork]]:
function get_deployed_forks (line 66) | def get_deployed_forks() -> List[Type[BaseFork]]:
function get_development_forks (line 74) | def get_development_forks() -> List[Type[BaseFork]]:
function get_parent_fork (line 83) | def get_parent_fork(fork: Type[BaseFork]) -> Type[BaseFork]:
function get_closest_fork (line 91) | def get_closest_fork(fork: Type[BaseFork]) -> Optional[Type[BaseFork]]:
function get_transition_forks (line 98) | def get_transition_forks() -> Set[Type[BaseFork]]:
function get_transition_fork_predecessor (line 103) | def get_transition_fork_predecessor(transition_fork: Type[BaseFork]) -> ...
function get_transition_fork_successor (line 110) | def get_transition_fork_successor(transition_fork: Type[BaseFork]) -> Ty...
function get_from_until_fork_set (line 117) | def get_from_until_fork_set(
function get_forks_with_no_parents (line 132) | def get_forks_with_no_parents(
function get_forks_with_no_descendants (line 148) | def get_forks_with_no_descendants(forks: Set[Type[BaseFork]]) -> Set[Typ...
function get_last_descendants (line 162) | def get_last_descendants(
function get_selected_fork_set (line 175) | def get_selected_fork_set(
function transition_fork_from_to (line 202) | def transition_fork_from_to(
function transition_fork_to (line 220) | def transition_fork_to(fork_to: Type[BaseFork]) -> Set[Type[BaseFork]]:
function forks_from_until (line 232) | def forks_from_until(
function forks_from (line 256) | def forks_from(fork: Type[BaseFork], deployed_only: bool = True) -> List...
function get_relative_fork_markers (line 265) | def get_relative_fork_markers(
function get_fork_by_name (line 298) | def get_fork_by_name(fork_name: str) -> Type[BaseFork] | None:
class ForkRangeDescriptor (line 306) | class ForkRangeDescriptor(BaseModel):
method fork_in_range (line 316) | def fork_in_range(self, fork: Type[BaseFork]) -> bool:
method validate_fork_range_descriptor (line 326) | def validate_fork_range_descriptor(
function fork_validator_generator (line 363) | def fork_validator_generator(
function set_before_validator (line 385) | def set_before_validator(value: Any) -> Any:
FILE: src/ethereum_test_forks/tests/test_fork_range_descriptor.py
function test_parsing_fork_range_descriptor_from_string (line 28) | def test_parsing_fork_range_descriptor_from_string(
FILE: src/ethereum_test_forks/tests/test_forks.py
function test_transition_forks (line 57) | def test_transition_forks() -> None:
function test_forks_from (line 108) | def test_forks_from() -> None: # noqa: D103
function test_forks (line 118) | def test_forks() -> None:
class ForkInPydanticModel (line 172) | class ForkInPydanticModel(BaseModel):
function test_fork_in_pydantic_model (line 180) | def test_fork_in_pydantic_model() -> None:
function test_fork_comparison (line 200) | def test_fork_comparison() -> None:
function test_transition_fork_comparison (line 236) | def test_transition_fork_comparison() -> None:
function test_get_forks (line 283) | def test_get_forks() -> None: # noqa: D103
function test_deployed_forks (line 289) | def test_deployed_forks() -> None: # noqa: D103
class PrePreAllocFork (line 295) | class PrePreAllocFork(Shanghai):
method pre_allocation (line 299) | def pre_allocation(cls, *, block_number: int = 0, timestamp: int = 0) ...
class PreAllocFork (line 305) | class PreAllocFork(PrePreAllocFork):
method pre_allocation (line 309) | def pre_allocation(cls, *, block_number: int = 0, timestamp: int = 0) ...
class PreAllocTransitionFork (line 316) | class PreAllocTransitionFork(PrePreAllocFork):
function test_pre_alloc (line 322) | def test_pre_alloc() -> None: # noqa: D103
function test_precompiles (line 335) | def test_precompiles() -> None: # noqa: D103
function test_tx_types (line 339) | def test_tx_types() -> None: # noqa: D103
function test_tx_intrinsic_gas_functions (line 363) | def test_tx_intrinsic_gas_functions(fork: Fork, calldata: bytes, create_...
class FutureFork (line 386) | class FutureFork(Osaka):
function test_blob_schedules (line 515) | def test_blob_schedules(fork: Fork, expected_schedule: Dict | None) -> N...
function test_bpo_fork (line 523) | def test_bpo_fork() -> None: # noqa: D103
function test_fork_adapters (line 535) | def test_fork_adapters() -> None: # noqa: D103
FILE: src/ethereum_test_forks/transition_base_fork.py
class TransitionBaseClass (line 12) | class TransitionBaseClass:
method transitions_to (line 16) | def transitions_to(cls) -> Type[BaseFork]:
method transitions_from (line 21) | def transitions_from(cls) -> Type[BaseFork]:
function base_fork_abstract_methods (line 26) | def base_fork_abstract_methods() -> List[str]:
function transition_fork (line 33) | def transition_fork(
FILE: src/ethereum_test_rpc/rpc.py
class SendTransactionExceptionError (line 43) | class SendTransactionExceptionError(Exception):
method __init__ (line 51) | def __init__(
method __str__ (line 62) | def __str__(self) -> str:
class BaseRPC (line 72) | class BaseRPC:
method __init__ (line 81) | def __init__(
method __init_subclass__ (line 92) | def __init_subclass__(cls, namespace: str | None = None) -> None:
method _make_request (line 110) | def _make_request(
method post_request (line 131) | def post_request(
class EthRPC (line 183) | class EthRPC(BaseRPC):
method __init__ (line 194) | def __init__(
method config (line 222) | def config(self, timeout: int | None = None) -> EthConfigResponse | None:
method chain_id (line 242) | def chain_id(self) -> int:
method get_block_by_number (line 247) | def get_block_by_number(
method get_block_by_hash (line 259) | def get_block_by_hash(self, block_hash: Hash, full_txs: bool = True) -...
method get_balance (line 265) | def get_balance(self, address: Address, block_number: BlockNumberType ...
method get_code (line 274) | def get_code(self, address: Address, block_number: BlockNumberType = "...
method get_transaction_count (line 281) | def get_transaction_count(
method get_transaction_by_hash (line 293) | def get_transaction_by_hash(self, transaction_hash: Hash) -> Transacti...
method get_transaction_receipt (line 308) | def get_transaction_receipt(self, transaction_hash: Hash) -> dict[str,...
method get_storage_at (line 320) | def get_storage_at(
method gas_price (line 332) | def gas_price(self) -> int:
method send_raw_transaction (line 340) | def send_raw_transaction(
method send_transaction (line 356) | def send_transaction(self, transaction: Transaction) -> Hash:
method send_transactions (line 372) | def send_transactions(self, transactions: List[Transaction]) -> List[H...
method storage_at_keys (line 379) | def storage_at_keys(
method wait_for_transaction (line 392) | def wait_for_transaction(self, transaction: Transaction) -> Transactio...
method wait_for_transactions (line 411) | def wait_for_transactions(
method send_wait_transaction (line 444) | def send_wait_transaction(self, transaction: Transaction) -> Any:
method send_wait_transactions (line 449) | def send_wait_transactions(self, transactions: List[Transaction]) -> L...
class DebugRPC (line 458) | class DebugRPC(EthRPC):
method trace_call (line 464) | def trace_call(self, tr: dict[str, str], block_number: str) -> Any | N...
class EngineRPC (line 470) | class EngineRPC(BaseRPC):
method __init__ (line 478) | def __init__(
method post_request (line 488) | def post_request(
method new_payload (line 520) | def new_payload(self, *params: Any, version: int) -> PayloadStatus:
method forkchoice_updated (line 533) | def forkchoice_updated(
method get_payload (line 559) | def get_payload(
method get_blobs (line 579) | def get_blobs(
class NetRPC (line 605) | class NetRPC(BaseRPC):
method peer_count (line 608) | def peer_count(self) -> int:
class AdminRPC (line 614) | class AdminRPC(BaseRPC):
method add_peer (line 617) | def add_peer(self, enode: str) -> bool:
FILE: src/ethereum_test_rpc/rpc_types.py
class JSONRPCError (line 32) | class JSONRPCError(Exception):
method __init__ (line 39) | def __init__(self, code: int | str, message: str, data: str | None = N...
method __str__ (line 45) | def __str__(self) -> str:
class TransactionByHashResponse (line 53) | class TransactionByHashResponse(Transaction):
method adapt_clients_response (line 71) | def adapt_clients_response(cls, data: Any) -> Any:
method model_post_init (line 82) | def model_post_init(self, __context: Any) -> None:
class ForkchoiceState (line 91) | class ForkchoiceState(CamelModel):
class PayloadStatusEnum (line 99) | class PayloadStatusEnum(str, Enum):
class BlockTransactionExceptionWithMessage (line 109) | class BlockTransactionExceptionWithMessage(
class PayloadStatus (line 117) | class PayloadStatus(CamelModel):
class ForkchoiceUpdateResponse (line 130) | class ForkchoiceUpdateResponse(CamelModel):
class PayloadAttributes (line 137) | class PayloadAttributes(CamelModel):
class BlobsBundle (line 147) | class BlobsBundle(CamelModel):
method blob_versioned_hashes (line 154) | def blob_versioned_hashes(self, versioned_hash_version: int = 1) -> Li...
class BlobAndProofV1 (line 164) | class BlobAndProofV1(CamelModel):
class BlobAndProofV2 (line 171) | class BlobAndProofV2(CamelModel):
class GetPayloadResponse (line 178) | class GetPayloadResponse(CamelModel):
class GetBlobsResponse (line 186) | class GetBlobsResponse(EthereumTestRootModel[List[BlobAndProofV1 | BlobA...
method __len__ (line 191) | def __len__(self) -> int:
method __getitem__ (line 195) | def __getitem__(self, index: int) -> BlobAndProofV1 | BlobAndProofV2 |...
class ForkConfigBlobSchedule (line 200) | class ForkConfigBlobSchedule(CamelModel):
method from_fork_blob_schedule (line 208) | def from_fork_blob_schedule(cls, fork_blob_schedule: ForkBlobSchedule)...
class ForkConfig (line 217) | class ForkConfig(CamelModel):
method get_hash (line 227) | def get_hash(self) -> ForkHash:
class EthConfigResponse (line 233) | class EthConfigResponse(CamelModel):
FILE: src/ethereum_test_rpc/tests/test_types.py
function eth_config_response (line 101) | def eth_config_response() -> EthConfigResponse:
function test_fork_config_get_hash (line 108) | def test_fork_config_get_hash(eth_config_response: EthConfigResponse) ->...
FILE: src/ethereum_test_specs/base.py
class HashMismatchExceptionError (line 32) | class HashMismatchExceptionError(Exception):
method __init__ (line 35) | def __init__(
method __str__ (line 44) | def __str__(self) -> str:
function verify_result (line 49) | def verify_result(result: Result, env: Environment) -> None:
class OpMode (line 59) | class OpMode(StrEnum):
class BaseTest (line 68) | class BaseTest(BaseModel):
method discard_fixture_format_by_marks (line 98) | def discard_fixture_format_by_marks(
method __pydantic_init_subclass__ (line 112) | def __pydantic_init_subclass__(cls, **kwargs: Any) -> None:
method from_test (line 122) | def from_test(
method discard_execute_format_by_marks (line 142) | def discard_execute_format_by_marks(
method generate (line 156) | def generate(
method execute (line 166) | def execute(
method pytest_parameter_name (line 177) | def pytest_parameter_name(cls) -> str:
method get_next_transition_tool_output_path (line 188) | def get_next_transition_tool_output_path(self) -> str:
method is_tx_gas_heavy_test (line 199) | def is_tx_gas_heavy_test(self) -> bool:
method is_exception_test (line 208) | def is_exception_test(self) -> bool | None:
method node_id (line 220) | def node_id(self) -> str:
method check_exception_test (line 226) | def check_exception_test(
method get_genesis_environment (line 249) | def get_genesis_environment(self, fork: Fork) -> Environment:
method update_pre_alloc_groups (line 261) | def update_pre_alloc_groups(
method compute_pre_alloc_group_hash (line 303) | def compute_pre_alloc_group_hash(self, fork: Fork) -> str:
FILE: src/ethereum_test_specs/base_static.py
class BaseStaticTest (line 19) | class BaseStaticTest(BaseModel):
method __pydantic_init_subclass__ (line 28) | def __pydantic_init_subclass__(cls, **kwargs: Any) -> None:
method _parse_into_subclass (line 45) | def _parse_into_subclass(
method fill_function (line 54) | def fill_function(self) -> Callable:
method remove_comments (line 136) | def remove_comments(data: Dict) -> Dict:
method remove_comments_from_model (line 151) | def remove_comments_from_model(cls, data: Any) -> Any:
function remove_comments (line 158) | def remove_comments(v: str) -> str:
function labeled_bytes_from_string (line 170) | def labeled_bytes_from_string(v: str) -> Tuple[str | None, Bytes]:
FILE: src/ethereum_test_specs/benchmark.py
class BenchmarkCodeGenerator (line 38) | class BenchmarkCodeGenerator(ABC):
method deploy_contracts (line 48) | def deploy_contracts(self, *, pre: Alloc, fork: Fork) -> Address:
method generate_transaction (line 52) | def generate_transaction(self, *, pre: Alloc, gas_benchmark_value: int...
method generate_repeated_code (line 64) | def generate_repeated_code(
method _validate_code_size (line 93) | def _validate_code_size(self, code: Bytecode, fork: Fork) -> None:
class BenchmarkTest (line 102) | class BenchmarkTest(BaseTest):
method model_post_init (line 139) | def model_post_init(self, __context: Any, /) -> None:
method pytest_parameter_name (line 148) | def pytest_parameter_name(cls) -> str:
method discard_fixture_format_by_marks (line 156) | def discard_fixture_format_by_marks(
method get_genesis_environment (line 174) | def get_genesis_environment(self, fork: Fork) -> Environment:
method split_transaction (line 179) | def split_transaction(self, tx: Transaction, gas_limit_cap: int | None...
method generate_blocks_from_code_generator (line 205) | def generate_blocks_from_code_generator(self, fork: Fork) -> List[Block]:
method generate_blockchain_test (line 221) | def generate_blockchain_test(self, fork: Fork) -> BlockchainTest:
method generate (line 267) | def generate(
method execute (line 282) | def execute(
FILE: src/ethereum_test_specs/blobs.py
class BlobsTest (line 19) | class BlobsTest(BaseTest):
method generate (line 34) | def generate(
method execute (line 45) | def execute(
FILE: src/ethereum_test_specs/blockchain.py
function environment_from_parent_header (line 62) | def environment_from_parent_header(parent: "FixtureHeader") -> "Environm...
function apply_new_parent (line 77) | def apply_new_parent(env: Environment, new_parent: FixtureHeader) -> "En...
function count_blobs (line 94) | def count_blobs(txs: List[Transaction]) -> int:
class Header (line 101) | class Header(CamelModel):
method _serialize_model (line 147) | def _serialize_model(self, serializer: Any, info: Any) -> Dict[str, Any]:
method validate_withdrawals_root (line 155) | def validate_withdrawals_root(cls, value: Any) -> Any:
method apply (line 161) | def apply(self, target: FixtureHeader) -> FixtureHeader:
method verify (line 172) | def verify(self, target: FixtureHeader) -> None:
class Block (line 195) | class Block(Header):
method set_environment (line 236) | def set_environment(self, env: Environment) -> Environment:
class BuiltBlock (line 294) | class BuiltBlock(CamelModel):
method get_fixture_block (line 310) | def get_fixture_block(self) -> FixtureBlock | InvalidFixtureBlock:
method get_block_rlp (line 337) | def get_block_rlp(self) -> Bytes:
method get_fixture_engine_new_payload (line 341) | def get_fixture_engine_new_payload(self) -> FixtureEngineNewPayload:
method verify_transactions (line 354) | def verify_transactions(self, transition_tool_exceptions_reliable: boo...
method verify_block_exception (line 362) | def verify_block_exception(self, transition_tool_exceptions_reliable: ...
class BlockchainTest (line 401) | class BlockchainTest(BaseTest):
method discard_fixture_format_by_marks (line 435) | def discard_fixture_format_by_marks(
method get_genesis_environment (line 457) | def get_genesis_environment(self, fork: Fork) -> Environment:
method make_genesis (line 464) | def make_genesis(
method generate_block_data (line 495) | def generate_block_data(
method verify_post_state (line 701) | def verify_post_state(
method make_fixture (line 714) | def make_fixture(
method make_hive_fixture (line 779) | def make_hive_fixture(
method generate (line 893) | def generate(
method execute (line 912) | def execute(
FILE: src/ethereum_test_specs/debugging.py
function print_traces (line 8) | def print_traces(traces: List[Traces] | None) -> None:
FILE: src/ethereum_test_specs/eof.py
class EOFBaseExceptionError (line 58) | class EOFBaseExceptionError(Exception):
method __init__ (line 61) | def __init__(self, message: str) -> None:
method format_code (line 66) | def format_code(code: Bytes, max_length: int = 60) -> str:
class UnexpectedEOFExceptionError (line 76) | class UnexpectedEOFExceptionError(EOFBaseExceptionError):
method __init__ (line 82) | def __init__(self, *, code: Bytes, got: str):
class ExpectedEOFExceptionError (line 93) | class ExpectedEOFExceptionError(EOFBaseExceptionError):
method __init__ (line 99) | def __init__(self, *, code: Bytes, expected: str):
class EOFExceptionMismatchError (line 113) | class EOFExceptionMismatchError(EOFBaseExceptionError):
method __init__ (line 118) | def __init__(self, code: Bytes, expected: str, got: str):
class EOFExceptionWithMessage (line 132) | class EOFExceptionWithMessage(ExceptionWithMessage[EOFException]):
class EOFParse (line 143) | class EOFParse:
method __new__ (line 148) | def __new__(cls) -> "EOFParse":
method __init__ (line 154) | def __init__(
method run (line 169) | def run(self, *args: str, input_value: str | None = None) -> Completed...
class EOFTest (line 184) | class EOFTest(BaseTest):
method discard_fixture_format_by_marks (line 301) | def discard_fixture_format_by_marks(
method pytest_parameter_name (line 318) | def pytest_parameter_name(cls) -> str:
method model_post_init (line 322) | def model_post_init(self, __context: Any) -> None:
method make_eof_test_fixture (line 353) | def make_eof_test_fixture(
method verify_result (line 399) | def verify_result(
method generate_eof_contract_create_transaction (line 433) | def generate_eof_contract_create_transaction(self) -> Transaction:
method generate_state_test (line 496) | def generate_state_test(self, fork: Fork) -> StateTest:
method generate (line 507) | def generate(
method execute (line 524) | def execute(
class EOFStateTest (line 540) | class EOFStateTest(EOFTest, Transaction):
method pytest_parameter_name (line 586) | def pytest_parameter_name(cls) -> str:
method model_post_init (line 590) | def model_post_init(self, __context: Any) -> None:
method generate_state_test (line 643) | def generate_state_test(self, fork: Fork) -> StateTest:
method generate (line 658) | def generate(
FILE: src/ethereum_test_specs/helpers.py
class ExecutionContext (line 18) | class ExecutionContext(StrEnum):
class UnexpectedExecutionSuccessError (line 25) | class UnexpectedExecutionSuccessError(Exception):
method __init__ (line 30) | def __init__(self, execution_context: ExecutionContext, **kwargs: Any)...
class UnexpectedExecutionFailError (line 39) | class UnexpectedExecutionFailError(Exception):
method __init__ (line 44) | def __init__(
class UndefinedExecutionExceptionError (line 60) | class UndefinedExecutionExceptionError(Exception):
method __init__ (line 66) | def __init__(
class ExecutionExceptionMismatchError (line 85) | class ExecutionExceptionMismatchError(Exception):
method __init__ (line 91) | def __init__(
class TransactionReceiptMismatchError (line 109) | class TransactionReceiptMismatchError(Exception):
method __init__ (line 115) | def __init__(
class ExceptionInfo (line 133) | class ExceptionInfo:
method __init__ (line 142) | def __init__(
method verify (line 164) | def verify(self: "ExceptionInfo", *, strict_match: bool) -> None:
class TransactionExceptionInfo (line 203) | class TransactionExceptionInfo(ExceptionInfo):
method __init__ (line 206) | def __init__(
class BlockExceptionInfo (line 221) | class BlockExceptionInfo(ExceptionInfo):
method __init__ (line 224) | def __init__(
function verify_transaction_receipt (line 237) | def verify_transaction_receipt(
function verify_transactions (line 265) | def verify_transactions(
function verify_block (line 296) | def verify_block(
FILE: src/ethereum_test_specs/state.py
class StateTest (line 48) | class StateTest(BaseTest):
method verify_modified_gas_limit (line 94) | def verify_modified_gas_limit(
method discard_fixture_format_by_marks (line 173) | def discard_fixture_format_by_marks(
method _generate_blockchain_genesis_environment (line 189) | def _generate_blockchain_genesis_environment(self, *, fork: Fork) -> E...
method _generate_blockchain_blocks (line 236) | def _generate_blockchain_blocks(self, *, fork: Fork) -> List[Block]:
method generate_blockchain_test (line 264) | def generate_blockchain_test(self, *, fork: Fork) -> BlockchainTest:
method make_state_test_fixture (line 274) | def make_state_test_fixture(
method get_genesis_environment (line 420) | def get_genesis_environment(self, fork: Fork) -> Environment:
method generate (line 424) | def generate(
method execute (line 441) | def execute(
FILE: src/ethereum_test_specs/static_state/account.py
class StorageInPre (line 23) | class StorageInPre(EthereumTestRootModel):
method tag_dependencies (line 28) | def tag_dependencies(self) -> Mapping[str, Tag]:
method resolve (line 38) | def resolve(self, tags: TagDict) -> Dict[ValueInFiller, ValueInFiller]:
class AccountInFiller (line 49) | class AccountInFiller(BaseModel, TagDependentData):
method tag_dependencies (line 59) | def tag_dependencies(self) -> Mapping[str, Tag]:
method resolve (line 68) | def resolve(self, tags: TagDict) -> Dict[str, Any]:
class PreInFiller (line 84) | class PreInFiller(EthereumTestRootModel):
method _build_dependency_graph (line 89) | def _build_dependency_graph(
method _topological_sort (line 111) | def _topological_sort(self, dep_graph: Dict[str, Set[str]]) -> List[str]:
method setup (line 141) | def setup(self, pre: Alloc, all_dependencies: Dict[str, Tag]) -> TagDict:
FILE: src/ethereum_test_specs/static_state/common/common.py
function parse_hex_number (line 28) | def parse_hex_number(i: str | int) -> int:
function parse_args_from_string_into_array (line 42) | def parse_args_from_string_into_array(
class CodeInFiller (line 61) | class CodeInFiller(BaseModel, TagDependentData):
method validate_from_string (line 70) | def validate_from_string(cls, code: Any) -> Any:
method model_post_init (line 97) | def model_post_init(self, context: Any) -> None:
method compiled (line 107) | def compiled(self, tags: TagDict) -> bytes:
method tag_dependencies (line 249) | def tag_dependencies(self) -> Mapping[str, Tag]:
class AddressTag (line 254) | class AddressTag:
method __init__ (line 262) | def __init__(self, tag_type: str, tag_name: str, original_string: str):
method __str__ (line 269) | def __str__(self) -> str:
method __repr__ (line 273) | def __repr__(self) -> str:
method __eq__ (line 277) | def __eq__(self, other: object) -> bool:
method __hash__ (line 283) | def __hash__(self) -> int:
method __get_pydantic_core_schema__ (line 288) | def __get_pydantic_core_schema__(
function parse_address_or_tag (line 295) | def parse_address_or_tag(value: Any) -> Union[Address, AddressTag]:
function parse_address_or_tag_for_access_list (line 330) | def parse_address_or_tag_for_access_list(value: Any) -> Union[Address, s...
class AccessListInFiller (line 358) | class AccessListInFiller(CamelModel, TagDependentData):
method tag_dependencies (line 366) | def tag_dependencies(self) -> Mapping[str, Tag]:
method resolve (line 374) | def resolve(self, tags: TagDict) -> AccessList:
FILE: src/ethereum_test_specs/static_state/common/compile_yul.py
function safe_solc_command (line 8) | def safe_solc_command(
function compile_yul (line 52) | def compile_yul(
FILE: src/ethereum_test_specs/static_state/common/tags.py
class Tag (line 17) | class Tag(BaseModel, Generic[T]):
method __hash__ (line 26) | def __hash__(self) -> int:
method validate_from_string (line 32) | def validate_from_string(cls, data: Any) -> Any:
method resolve (line 40) | def resolve(self, tags: TagDict) -> T:
class TagDependentData (line 45) | class TagDependentData(ABC):
method tag_dependencies (line 49) | def tag_dependencies(self) -> Mapping[str, Tag]:
class AddressTag (line 54) | class AddressTag(Tag[Address]):
method resolve (line 57) | def resolve(self, tags: TagDict) -> Address:
class ContractTag (line 63) | class ContractTag(AddressTag):
method validate_from_string (line 73) | def validate_from_string(cls, data: Any) -> Any:
class CreateTag (line 104) | class CreateTag(AddressTag):
method validate_from_string (line 117) | def validate_from_string(cls, data: Any) -> Any:
method resolve (line 136) | def resolve(self, tags: TagDict) -> Address:
class SenderTag (line 152) | class SenderTag(AddressTag):
method validate_from_string (line 162) | def validate_from_string(cls, data: Any) -> Any:
class SenderKeyTag (line 176) | class SenderKeyTag(Tag[EOA]):
method validate_from_string (line 185) | def validate_from_string(cls, data: Any) -> Any:
method resolve (line 198) | def resolve(self, tags: TagDict) -> EOA:
FILE: src/ethereum_test_specs/static_state/environment.py
class EnvironmentInStateTestFiller (line 13) | class EnvironmentInStateTestFiller(BaseModel):
method check_fields (line 32) | def check_fields(self) -> "EnvironmentInStateTestFiller":
method get_environment (line 39) | def get_environment(self, tags: TagDict) -> Environment:
FILE: src/ethereum_test_specs/static_state/expect_section.py
class Indexes (line 39) | class Indexes(BaseModel):
function validate_any_string_as_none (line 47) | def validate_any_string_as_none(v: Any) -> Any:
class StorageInExpectSection (line 54) | class StorageInExpectSection(EthereumTestRootModel, TagDependentData):
method tag_dependencies (line 62) | def tag_dependencies(self) -> Mapping[str, Tag]:
method resolve (line 72) | def resolve(self, tags: TagDict) -> Storage:
method __contains__ (line 89) | def __contains__(self, key: Address) -> bool:
method __iter__ (line 93) | def __iter__(self) -> Iterator[ValueOrCreateTagInFiller]: # type: ign...
class AccountInExpectSection (line 98) | class AccountInExpectSection(BaseModel, TagDependentData):
method validate_should_not_exist (line 108) | def validate_should_not_exist(
method tag_dependencies (line 120) | def tag_dependencies(self) -> Mapping[str, Tag]:
method resolve (line 129) | def resolve(self, tags: TagDict) -> Account:
class CMP (line 143) | class CMP(StrEnum):
class ForkConstraint (line 153) | class ForkConstraint(BaseModel):
method parse_fork_synonyms (line 161) | def parse_fork_synonyms(cls, value: Any) -> Any:
method parse_from_string (line 169) | def parse_from_string(cls, data: Any) -> Any:
method match (line 185) | def match(self, fork: Fork) -> bool:
class ForkSet (line 202) | class ForkSet(EthereumTestRootModel):
method parse_from_list_or_string (line 209) | def parse_from_list_or_string(cls, value: Any) -> Set[Fork]:
method __hash__ (line 235) | def __hash__(self) -> int:
method __contains__ (line 242) | def __contains__(self, fork: Fork) -> bool:
method __iter__ (line 246) | def __iter__(self) -> Iterator[Fork]: # type: ignore[override]
method __len__ (line 250) | def __len__(self) -> int:
class ResultInFiller (line 255) | class ResultInFiller(EthereumTestRootModel, TagDependentData):
method tag_dependencies (line 265) | def tag_dependencies(self) -> Mapping[str, Tag]:
method resolve (line 279) | def resolve(self, tags: TagDict) -> Alloc:
method __contains__ (line 294) | def __contains__(self, address: Address) -> bool:
method __iter__ (line 298) | def __iter__(self) -> Iterator[AddressOrCreateTagInFiller]: # type: i...
method __len__ (line 302) | def __len__(self) -> int:
class ExpectException (line 307) | class ExpectException(EthereumTestRootModel):
method __getitem__ (line 312) | def __getitem__(self, fork: Fork) -> TransactionExceptionInstanceOrList:
method __contains__ (line 319) | def __contains__(self, fork: Fork) -> bool:
method __iter__ (line 323) | def __iter__(self) -> Iterator[ForkSet]: # type: ignore[override]
method __len__ (line 327) | def __len__(self) -> int:
class ExpectSectionInStateTestFiller (line 332) | class ExpectSectionInStateTestFiller(CamelModel):
method model_post_init (line 340) | def model_post_init(self, __context: Any) -> None:
method has_index (line 350) | def has_index(self, d: int, g: int, v: int) -> bool:
FILE: src/ethereum_test_specs/static_state/general_transaction.py
class DataWithAccessList (line 23) | class DataWithAccessList(CamelModel, TagDependentData):
method convert_keys_to_hash (line 31) | def convert_keys_to_hash(
method tag_dependencies (line 44) | def tag_dependencies(self) -> Mapping[str, Tag]:
method wrap_data_only (line 56) | def wrap_data_only(cls, data: Any, handler: Any) -> "DataWithAccessList":
class LabeledDataIndex (line 63) | class LabeledDataIndex(BaseModel):
method __str__ (line 69) | def __str__(self) -> str:
class LabeledDataList (line 76) | class LabeledDataList(EthereumTestRootModel):
method __getitem__ (line 81) | def __getitem__(self, label_or_index: int | str) -> DataWithAccessList:
method __contains__ (line 91) | def __contains__(self, label_or_index: int | str) -> bool:
method __len__ (line 103) | def __len__(self) -> int:
method __iter__ (line 107) | def __iter__(self) -> Generator[LabeledDataIndex, None, None]: # type...
class GeneralTransactionInFiller (line 116) | class GeneralTransactionInFiller(BaseModel, TagDependentData):
method tag_dependencies (line 135) | def tag_dependencies(self) -> Mapping[str, Tag]:
method check_single_key (line 149) | def check_single_key(cls, to: Any) -> Any: # noqa: N805
method check_fields (line 156) | def check_fields(self) -> "GeneralTransactionInFiller":
method get_transaction (line 166) | def get_transaction(
FILE: src/ethereum_test_specs/static_state/state_static.py
class Info (line 21) | class Info(BaseModel):
class StateStaticTest (line 28) | class StateStaticTest(BaseStaticTest):
method model_post_init (line 42) | def model_post_init(self, context: Any) -> None:
method match_labels (line 47) | def match_labels(self) -> Self:
method fill_function (line 102) | def fill_function(self) -> Callable:
method get_valid_at_forks (line 205) | def get_valid_at_forks(self) -> List[str]:
FILE: src/ethereum_test_specs/tests/helpers.py
function remove_info_metadata (line 6) | def remove_info_metadata(fixture_json: Dict[str, Any]) -> None: # noqa:...
FILE: src/ethereum_test_specs/tests/test_benchmark.py
function test_split_transaction (line 25) | def test_split_transaction(gas_benchmark_value_millions: int, expected_s...
function test_split_transaction_edge_cases (line 89) | def test_split_transaction_edge_cases(gas_benchmark_value: int, gas_limi...
FILE: src/ethereum_test_specs/tests/test_expect.py
function tx (line 28) | def tx() -> Transaction:
function pre (line 34) | def pre(request: Any) -> Alloc:
function post (line 43) | def post(request: Any) -> Alloc: # noqa: D103
function fork (line 52) | def fork() -> Fork: # noqa: D103
function state_test (line 57) | def state_test( # noqa: D103
function test_post_storage_value_mismatch (line 120) | def test_post_storage_value_mismatch(
function test_post_nonce_value_mismatch (line 145) | def test_post_nonce_value_mismatch(
function test_post_code_value_mismatch (line 178) | def test_post_code_value_mismatch(
function test_post_balance_value_mismatch (line 211) | def test_post_balance_value_mismatch(
function test_post_account_mismatch (line 261) | def test_post_account_mismatch(
function test_transaction_expectation (line 344) | def test_transaction_expectation(
function test_block_intermediate_state (line 406) | def test_block_intermediate_state(
FILE: src/ethereum_test_specs/tests/test_fixtures.py
function fixture_hash (line 32) | def fixture_hash(fork: Fork) -> bytes:
function test_check_helper_fixtures (line 43) | def test_check_helper_fixtures() -> None:
function test_make_genesis (line 70) | def test_make_genesis(fork: Fork, fixture_hash: bytes, default_t8n: Tran...
function test_fill_state_test (line 113) | def test_fill_state_test(
class TestFillBlockchainValidTxs (line 196) | class TestFillBlockchainValidTxs:
method fork (line 200) | def fork(self, request: Any) -> Fork: # noqa: D102
method check_hive (line 204) | def check_hive(self, fork: Fork) -> bool: # noqa: D102
method expected_json_file (line 208) | def expected_json_file(self, fork: Fork, check_hive: bool) -> str: # ...
method pre (line 216) | def pre(self, fork: Fork) -> Mapping[Any, Any]: # noqa: D102
method blocks (line 288) | def blocks(self) -> List[Block]: # noqa: D102
method post (line 394) | def post(self) -> Mapping[Any, Any]: # noqa: D102
method genesis_environment (line 470) | def genesis_environment(self) -> Environment: # noqa: D102
method fixture_format (line 478) | def fixture_format(self, check_hive: bool) -> FixtureFormat: # noqa: ...
method blockchain_test_fixture (line 482) | def blockchain_test_fixture( # noqa: D102
method test_fill_blockchain_valid_txs (line 501) | def test_fill_blockchain_valid_txs( # noqa: D102
method test_fixture_header_join (line 541) | def test_fixture_header_join(self, blockchain_test_fixture: Blockchain...
function test_fill_blockchain_invalid_txs (line 570) | def test_fill_blockchain_invalid_txs(
FILE: src/ethereum_test_specs/tests/test_transaction.py
function test_transaction_test_filling (line 22) | def test_transaction_test_filling(name: str, tx: Transaction, fork: Fork...
FILE: src/ethereum_test_specs/tests/test_types.py
function test_fixture_header_join (line 127) | def test_fixture_header_join(
FILE: src/ethereum_test_specs/transaction.py
class TransactionTest (line 25) | class TransactionTest(BaseTest):
method make_transaction_test_fixture (line 44) | def make_transaction_test_fixture(
method generate (line 78) | def generate(
method execute (line 93) | def execute(
FILE: src/ethereum_test_tools/tests/test_code.py
function fork (line 29) | def fork(request: pytest.FixtureRequest) -> Fork:
function expected_bytes (line 35) | def expected_bytes(request: pytest.FixtureRequest, solc_version: Version...
function test_initcode (line 170) | def test_initcode(initcode: Initcode, bytecode: bytes) -> None: # noqa:...
function test_opcodes_if (line 187) | def test_opcodes_if(conditional_bytecode: bytes, expected: bytes) -> None:
function test_switch (line 516) | def test_switch(
function test_full_opcode_range (line 544) | def test_full_opcode_range() -> None:
FILE: src/ethereum_test_tools/tools_code/generators.py
class Initcode (line 16) | class Initcode(Bytecode):
method __new__ (line 44) | def __new__(
class CodeGasMeasure (line 131) | class CodeGasMeasure(Bytecode):
method __new__ (line 158) | def __new__(
class Conditional (line 190) | class Conditional(Bytecode):
method __new__ (line 193) | def __new__(
class While (line 240) | class While(Bytecode):
method __new__ (line 243) | def __new__(
class Case (line 271) | class Case:
method is_terminating (line 282) | def is_terminating(self) -> bool:
class CalldataCase (line 287) | class CalldataCase(Case):
method __init__ (line 299) | def __init__(self, value: int | str | Bytecode, position: int = 0, **k...
class Switch (line 305) | class Switch(Bytecode):
method __new__ (line 337) | def __new__(
FILE: src/ethereum_test_tools/tools_code/yul.py
class Solc (line 21) | class Solc:
method __init__ (line 26) | def __init__(
method run (line 43) | def run(self, *args: str, input_value: str | None = None) -> Completed...
method version (line 53) | def version(self) -> Version:
class Yul (line 64) | class Yul(Bytecode):
method __new__ (line 73) | def __new__(
FILE: src/ethereum_test_tools/utility/generators.py
class DeploymentTestType (line 20) | class DeploymentTestType(StrEnum):
class SystemContractTestType (line 28) | class SystemContractTestType(StrEnum):
method param (line 36) | def param(self) -> Any:
class ContractAddressHasBalance (line 45) | class ContractAddressHasBalance(StrEnum):
class SystemContractDeployTestFunction (line 55) | class SystemContractDeployTestFunction(Protocol):
method __call__ (line 61) | def __call__(
function generate_system_contract_deploy_test (line 87) | def generate_system_contract_deploy_test(
function generate_system_contract_error_test (line 287) | def generate_system_contract_error_test(
FILE: src/ethereum_test_tools/utility/pytest.py
class UnknownParameterInCasesError (line 9) | class UnknownParameterInCasesError(Exception):
method __init__ (line 15) | def __init__(self) -> None:
function extend_with_defaults (line 20) | def extend_with_defaults(
FILE: src/ethereum_test_tools/utility/tests/test_pytest.py
function test_range (line 49) | def test_range(min_value: int, max_value: int, average: int) -> None: #...
function test_extend_with_defaults (line 130) | def test_extend_with_defaults(
function test_extend_with_defaults_raises_for_unknown_default (line 142) | def test_extend_with_defaults_raises_for_unknown_default() -> None: # n...
function test_extend_with_defaults_raises_value_error (line 164) | def test_extend_with_defaults_raises_value_error(defaults: dict, cases: ...
FILE: src/ethereum_test_tools/utility/versioning.py
function get_current_commit_hash_or_tag (line 9) | def get_current_commit_hash_or_tag(repo_path: str = ".", shorten_hash: b...
function generate_github_url (line 33) | def generate_github_url(
FILE: src/ethereum_test_types/account_types.py
class State (line 36) | class State:
function set_account (line 51) | def set_account(state: State, address: Bytes20, account: Optional[Fronti...
function set_storage (line 59) | def set_storage(state: State, address: Bytes20, key: Bytes32, value: U25...
function storage_root (line 75) | def storage_root(state: State, address: Bytes20) -> Bytes32:
function state_root (line 84) | def state_root(state: State) -> Bytes32:
class EOA (line 94) | class EOA(Address):
method __new__ (line 106) | def __new__(
method get_nonce (line 127) | def get_nonce(self) -> Number:
method copy (line 133) | def copy(self) -> Self:
class Alloc (line 138) | class Alloc(BaseAlloc):
class UnexpectedAccountError (line 144) | class UnexpectedAccountError(Exception):
method __str__ (line 150) | def __str__(self) -> str:
class MissingAccountError (line 155) | class MissingAccountError(Exception):
method __str__ (line 160) | def __str__(self) -> str:
class CollisionError (line 165) | class CollisionError(Exception):
method to_json (line 172) | def to_json(self) -> Dict[str, Any]:
method from_json (line 185) | def from_json(cls, obj: Dict[str, Any]) -> Self:
method __str__ (line 197) | def __str__(self) -> str:
class KeyCollisionMode (line 204) | class KeyCollisionMode(Enum):
method merge (line 212) | def merge(
method __iter__ (line 247) | def __iter__(self) -> Iterator[Address]: # type: ignore [override]
method items (line 251) | def items(self) -> ItemsView[Address, Account | None]:
method __getitem__ (line 255) | def __getitem__(self, address: Address | FixedSizeBytesConvertible) ->...
method __setitem__ (line 261) | def __setitem__(
method __delitem__ (line 269) | def __delitem__(self, address: Address | FixedSizeBytesConvertible) ->...
method __eq__ (line 275) | def __eq__(self, other: object) -> bool:
method __contains__ (line 281) | def __contains__(self, address: Address | FixedSizeBytesConvertible) -...
method empty_accounts (line 287) | def empty_accounts(self) -> List[Address]:
method state_root (line 291) | def state_root(self) -> Hash:
method verify_post_alloc (line 316) | def verify_post_alloc(self, got_alloc: "Alloc") -> None:
method deploy_contract (line 338) | def deploy_contract(
method fund_eoa (line 353) | def fund_eoa(
method fund_address (line 367) | def fund_address(self, address: Address, amount: NumberConvertible) ->...
method empty_account (line 376) | def empty_account(self) -> Address:
FILE: src/ethereum_test_types/blob_types.py
function clear_blob_cache (line 25) | def clear_blob_cache(cached_blobs_folder_path: Path) -> None:
class Blob (line 47) | class Blob(CamelModel):
method trusted_setup (line 65) | def trusted_setup(cls) -> Any:
method get_filename (line 75) | def get_filename(fork: Fork, seed: int) -> str:
method get_filepath (line 83) | def get_filepath(fork: Fork, seed: int) -> Path:
method from_fork (line 95) | def from_fork(fork: Fork, seed: int = 0, timestamp: int = 0) -> "Blob":
method from_file (line 248) | def from_file(file_name: str) -> "Blob":
method write_to_file (line 279) | def write_to_file(self) -> None:
method verify_cell_kzg_proof_batch (line 295) | def verify_cell_kzg_proof_batch(self, cell_indices: list) -> bool:
method delete_cells_then_recover_them (line 322) | def delete_cells_then_recover_them(self, deletion_indices: list[int]) ...
class ProofCorruptionMode (line 391) | class ProofCorruptionMode(Enum):
method corrupt_proof (line 404) | def corrupt_proof(self, mode: ProofCorruptionMode) -> None:
FILE: src/ethereum_test_types/block_access_list/account_absent_values.py
class BalAccountAbsentValues (line 33) | class BalAccountAbsentValues(CamelModel):
method validate_specific_absences_only (line 105) | def validate_specific_absences_only(self) -> "BalAccountAbsentValues":
method _validate_forbidden_changes (line 150) | def _validate_forbidden_changes(
method validate_against (line 161) | def validate_against(self, account: BalAccountChange) -> None:
FILE: src/ethereum_test_types/block_access_list/account_changes.py
class BalNonceChange (line 22) | class BalNonceChange(CamelModel, RLPSerializable):
class BalBalanceChange (line 36) | class BalBalanceChange(CamelModel, RLPSerializable):
class BalCodeChange (line 50) | class BalCodeChange(CamelModel, RLPSerializable):
class BalStorageChange (line 64) | class BalStorageChange(CamelModel, RLPSerializable):
class BalStorageSlot (line 78) | class BalStorageSlot(CamelModel, RLPSerializable):
class BalAccountChange (line 91) | class BalAccountChange(CamelModel, RLPSerializable):
FILE: src/ethereum_test_types/block_access_list/exceptions.py
class BlockAccessListValidationError (line 4) | class BlockAccessListValidationError(Exception):
FILE: src/ethereum_test_types/block_access_list/expectations.py
class BalAccountExpectation (line 27) | class BalAccountExpectation(CamelModel):
method empty (line 59) | def empty(cls) -> "BalAccountExpectation":
function compose (line 84) | def compose(
class BlockAccessListExpectation (line 98) | class BlockAccessListExpectation(CamelModel):
method modify (line 129) | def modify(
method modify_if_invalid_test (line 156) | def modify_if_invalid_test(self, t8n_bal: "BlockAccessList") -> "Block...
method verify_against (line 171) | def verify_against(self, actual_bal: "BlockAccessList") -> None:
method _validate_bal_ordering (line 228) | def _validate_bal_ordering(bal: "BlockAccessList") -> None:
method _compare_account_expectations (line 318) | def _compare_account_expectations(
FILE: src/ethereum_test_types/block_access_list/modifiers.py
function _remove_field_from_accounts (line 23) | def _remove_field_from_accounts(
function _modify_field_value (line 53) | def _modify_field_value(
function remove_accounts (line 110) | def remove_accounts(*addresses: Address) -> Callable[[BlockAccessList], ...
function remove_nonces (line 123) | def remove_nonces(*addresses: Address) -> Callable[[BlockAccessList], Bl...
function remove_balances (line 128) | def remove_balances(*addresses: Address) -> Callable[[BlockAccessList], ...
function remove_storage (line 133) | def remove_storage(*addresses: Address) -> Callable[[BlockAccessList], B...
function remove_storage_reads (line 138) | def remove_storage_reads(*addresses: Address) -> Callable[[BlockAccessLi...
function remove_code (line 143) | def remove_code(*addresses: Address) -> Callable[[BlockAccessList], Bloc...
function modify_nonce (line 148) | def modify_nonce(
function modify_balance (line 157) | def modify_balance(
function modify_storage (line 168) | def modify_storage(
function modify_code (line 187) | def modify_code(
function swap_tx_indices (line 194) | def swap_tx_indices(tx1: int, tx2: int) -> Callable[[BlockAccessList], B...
function append_account (line 258) | def append_account(
function duplicate_account (line 271) | def duplicate_account(address: Address) -> Callable[[BlockAccessList], B...
function reverse_accounts (line 294) | def reverse_accounts() -> Callable[[BlockAccessList], BlockAccessList]:
function sort_accounts_by_address (line 303) | def sort_accounts_by_address() -> Callable[[BlockAccessList], BlockAcces...
function reorder_accounts (line 313) | def reorder_accounts(indices: List[int]) -> Callable[[BlockAccessList], ...
function clear_all (line 325) | def clear_all() -> Callable[[BlockAccessList], BlockAccessList]:
function keep_only (line 335) | def keep_only(*addresses: Address) -> Callable[[BlockAccessList], BlockA...
FILE: src/ethereum_test_types/block_access_list/t8n.py
class BlockAccessList (line 15) | class BlockAccessList(EthereumTestRootModel[List[BalAccountChange]]):
method to_list (line 37) | def to_list(self) -> List[Any]:
method rlp (line 42) | def rlp(self) -> Bytes:
method rlp_hash (line 47) | def rlp_hash(self) -> Bytes:
FILE: src/ethereum_test_types/block_types.py
class EnvironmentDefaults (line 31) | class EnvironmentDefaults:
class WithdrawalGeneric (line 40) | class WithdrawalGeneric(CamelModel, Generic[NumberBoundTypeVar]):
method to_serializable_list (line 51) | def to_serializable_list(self) -> List[Any]:
method list_root (line 64) | def list_root(withdrawals: Sequence["WithdrawalGeneric"]) -> bytes:
class Withdrawal (line 72) | class Withdrawal(WithdrawalGeneric[HexNumber]):
class EnvironmentGeneric (line 78) | class Environment
Copy disabled (too large)
Download .json
Condensed preview — 3495 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (38,299K chars).
[
{
"path": ".git-blame-ignore-revs",
"chars": 80,
"preview": "# change max line length from 80 to 100\na3b64605a548a7a707d7b05bded506d7bef384e6"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 476,
"preview": "⚠️ NOTICE: All code from this repository has been migrated to https://github.com/ethereum/execution-specs.\n\nAs such, thi"
},
{
"path": ".github/actions/build-evm-base/action.yaml",
"chars": 3506,
"preview": "name: 'Build EVM'\ndescription: 'Resolves and builds the requested EVM binary by name'\ninputs:\n type:\n description: '"
},
{
"path": ".github/actions/build-evm-client/besu/action.yaml",
"chars": 1196,
"preview": "name: 'Build Besu EVM'\ndescription: 'Builds the Besu EVM binary'\ninputs:\n repo:\n description: 'Source repository to "
},
{
"path": ".github/actions/build-evm-client/ethjs/action.yml",
"chars": 1076,
"preview": "name: 'Build EthereumJS monorepo'\ndescription: 'Builds the EthereumJS monorepo'\ninputs:\n repo:\n description: 'Source"
},
{
"path": ".github/actions/build-evm-client/evmone/action.yaml",
"chars": 1493,
"preview": "name: 'Build evmone EVM'\ndescription: 'Builds the evmone EVM binary'\ninputs:\n repo:\n description: 'Source repository"
},
{
"path": ".github/actions/build-evm-client/geth/action.yaml",
"chars": 1134,
"preview": "name: 'Build Go-Ethereum EVM'\ndescription: 'Builds the Go-Ethereum EVM binary'\ninputs:\n repo:\n description: 'Source "
},
{
"path": ".github/actions/build-fixtures/action.yaml",
"chars": 2480,
"preview": "name: Build and Package Fixture Release\ninputs:\n release_name:\n description: \"Name of the fixture release\"\n requi"
},
{
"path": ".github/actions/fetch-binary/action.yaml",
"chars": 1164,
"preview": "name: \"Fetch and Install Binary\"\ndescription: \"Downloads a binary from a GitHub release, verifies its checksum, and inst"
},
{
"path": ".github/configs/eels_resolutions.json",
"chars": 1457,
"preview": "{\n \"Frontier\": {\n \"path\": \"$GITHUB_WORKSPACE/execution-specs/\"\n },\n \"Homestead\": {\n \"path\": \"$GIT"
},
{
"path": ".github/configs/evm-impl.yaml",
"chars": 232,
"preview": "eels:\n evm-bin: ethereum-spec-evm-resolver\n x-dist: auto\ngeth:\n evm-bin: evm\n x-dist: auto\nevmone:\n evm-bin: evmone"
},
{
"path": ".github/configs/evm.yaml",
"chars": 269,
"preview": "stable:\n impl: eels\n repo: null\n ref: null\ndevelop:\n impl: eels\n repo: null\n ref: null\nstatic:\n impl: evmone\n re"
},
{
"path": ".github/configs/feature.yaml",
"chars": 906,
"preview": "# Unless filling for special features, all features should fill for previous forks (starting from Frontier) too\nstable:\n"
},
{
"path": ".github/scripts/fill_introduced_tests.sh",
"chars": 861,
"preview": "#!/bin/bash\n# Fill introduced test sources\n# Usage: fill_introduced_tests.sh <changed_test_files> <patch_test_path>\n# Ex"
},
{
"path": ".github/scripts/fill_prepatched_tests.sh",
"chars": 2235,
"preview": "#!/bin/bash\n# Fill pre-patched test sources from before the PR\n# Usage: fill_prepatched_tests.sh <modified_deleted_test_"
},
{
"path": ".github/scripts/generate_eip_report.py",
"chars": 5005,
"preview": "\"\"\"\nGenerate a markdown report of outdated EIP references from the EIP version\nchecker output.\n\"\"\"\n\nimport os\nimport re\n"
},
{
"path": ".github/scripts/get_release_props.py",
"chars": 781,
"preview": "# /// script\n# requires-python = \">=3.12\"\n# dependencies = [\n# \"pyyaml\",\n# \"click\",\n# ]\n# ///\n\"\"\"Extract the pro"
},
{
"path": ".github/scripts/parse_ported_tests.sh",
"chars": 2566,
"preview": "#!/bin/bash\n# Parse ported_from markers from introduced .py tests\n# Usage: parse_ported_tests.sh <changed_test_files> <w"
},
{
"path": ".github/workflows/check_eip_versions.yaml",
"chars": 2158,
"preview": "name: Check EIP Versions\n\non:\n repository_dispatch:\n workflow_dispatch:\n\njobs:\n check_eip_versions:\n runs-on: ubun"
},
{
"path": ".github/workflows/check_links.yml",
"chars": 1268,
"preview": "name: Check Links\n\non:\n repository_dispatch:\n workflow_dispatch:\n\njobs:\n linkChecker:\n runs-on: ubuntu-latest\n "
},
{
"path": ".github/workflows/coverage.yaml",
"chars": 10627,
"preview": "name: Evmone Coverage Report\n\non:\n pull_request:\n paths:\n - \"tests/**\" # This triggers the workflow for any cha"
},
{
"path": ".github/workflows/docs_deploy.yaml",
"chars": 1738,
"preview": "name: Deploy Docs\n\npermissions:\n pages: write # Required for deploying to GitHub Pages with `secrets.GITHUB_TOKEN`\n\non:"
},
{
"path": ".github/workflows/fixtures.yaml",
"chars": 2634,
"preview": "name: Build and Package Fixtures\n\non:\n push:\n tags:\n - \"v[0-9]+.[0-9]+.[0-9]+*\"\n workflow_dispatch:\n\njobs:\n f"
},
{
"path": ".github/workflows/fixtures_feature.yaml",
"chars": 2394,
"preview": "name: Build and Package Fixtures for a feature\n\non:\n push:\n tags:\n - \"*@v*\"\n workflow_dispatch:\n\njobs:\n featu"
},
{
"path": ".github/workflows/tox_verify.yaml",
"chars": 8446,
"preview": "name: Tox\n\non:\n push:\n branches: [main]\n pull_request:\n workflow_dispatch:\n\nconcurrency:\n group: ${{ github.workf"
},
{
"path": ".gitignore",
"chars": 945,
"preview": ".DS_Store\n.AppleDouble\n.LSOverride\n\n.python-version\n*.py[cod]\n*$py.class\n.venv/\nvenv/\n\n# Artifacts created by `fill`\nfix"
},
{
"path": ".lycheeignore",
"chars": 277,
"preview": "http://localhost/\nhttp://127.0.0.1:3000/\nhttps://github/\nttps://github.com/%7Bself.RepositoryOwner%7D/\nhttps://api.githu"
},
{
"path": ".markdownlint.yaml",
"chars": 519,
"preview": "# All rules: https://github.com/DavidAnson/markdownlint#rules--aliases\ndefault: true # Default state for all rules\nMD013"
},
{
"path": ".pre-commit-config.yaml",
"chars": 614,
"preview": "repos:\n - repo: local\n hooks:\n - id: tox\n name: tox\n entry: uvx --with=tox-uv tox --parallel -e l"
},
{
"path": ".pyspelling.yml",
"chars": 364,
"preview": "matrix:\n- name: markdown\n pipeline:\n - pyspelling.filters.markdown:\n - pyspelling.filters.html:\n comments: false"
},
{
"path": ".readthedocs.yaml",
"chars": 388,
"preview": "# .readthedocs.yaml\n# Read the Docs configuration file\n# See https://docs.readthedocs.io/en/stable/config-file/v2.html f"
},
{
"path": ".vscode/extensions.json",
"chars": 779,
"preview": "{\n // List of extensions that MUST be used for users of the repo.\n \"recommendations\": [\n \"ms-python.python\""
},
{
"path": ".vscode/launch.recommended.json",
"chars": 4996,
"preview": "{\n \"_comment\": [\n \"Main configuration for VS Code debugging\",\n \"Use IntelliSense to learn about possibl"
},
{
"path": ".vscode/settings.json",
"chars": 2811,
"preview": "{\n // Settings that users SHOULD adhere to when developing with the EEST repo.\n \"cSpell.customDictionaries\": {\n "
},
{
"path": "CLAUDE.md",
"chars": 5823,
"preview": "# CLAUDE.md - Ethereum Execution Spec Tests\n\n> **CRITICAL**: This repository aims to provide excellent tooling for gener"
},
{
"path": "CONTRIBUTING.md",
"chars": 13829,
"preview": "# Contributing\n\nContributions are welcome from anyone, regardless of whether you are just starting your Python journey, "
},
{
"path": "HUMANS.md",
"chars": 4896,
"preview": "# HUMANS.md - Working with Claude and LLMs in Ethereum Execution Spec Tests\n\nThis guide helps human developers understan"
},
{
"path": "LICENSE",
"chars": 1058,
"preview": "Copyright 2025 Ethereum Community\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this "
},
{
"path": "README.md",
"chars": 11564,
"preview": "# ⚠️ NOTICE: All code from this repository has been migrated to ethereum/execution-specs\n\nAs such, this repository is no"
},
{
"path": "SECURITY.md",
"chars": 335,
"preview": "# Security Policy\n\n## Reporting a Vulnerability\n\n- **Please do not create a PR with a vulnerability visible.**\n\n- **Plea"
},
{
"path": "docs/CHANGELOG.md",
"chars": 122588,
"preview": "# Changelog\n\nTest fixtures for use by clients are available for each release on the [Github releases page](https://githu"
},
{
"path": "docs/changelog_section_template.md",
"chars": 230,
"preview": "# Changelog Section Template\n\nThe following can be copy-pasted into the `CHANGELOG.md` file for a new release.\n\n## 🔜 [Un"
},
{
"path": "docs/dev/coding_style.md",
"chars": 235,
"preview": "# Coding Style\n\n!!! warning \"Documentation Moved\"\n This documentation has been relocated to [Getting Started -> Code "
},
{
"path": "docs/dev/configurations.md",
"chars": 1670,
"preview": "# Managing Configurations\n\nConfigurations are managed by the `config` package. It provides both environment and applicat"
},
{
"path": "docs/dev/deps_and_packaging.md",
"chars": 3373,
"preview": "# EEST Dependency Management and Packaging\n\nEEST uses [`uv`](https://docs.astral.sh/uv/) to manage and pin its dependenc"
},
{
"path": "docs/dev/docs.md",
"chars": 7993,
"preview": "# Documentation\n\nThe `execution-spec-tests` documentation is generated via [`mkdocs`](https://www.mkdocs.org/) and hoste"
},
{
"path": "docs/dev/documenting_clis.md",
"chars": 1142,
"preview": "# Documenting CLIs\n\nEEST command line interfaces (CLIs) are documented using the [`click`](https://click.palletsprojects"
},
{
"path": "docs/dev/index.md",
"chars": 1259,
"preview": "# Developer Documentation\n\nThis documentation is aimed at `execution-spec-tests` developers:\n\n- [Managing configurations"
},
{
"path": "docs/dev/interactive_usage.md",
"chars": 1309,
"preview": "# Working with EEST Libraries Interactively\n\nYou can work with EEST Python packages interactively with `ipython` using:\n"
},
{
"path": "docs/dev/logging.md",
"chars": 6157,
"preview": "# Logging\n\nThis document describes the logging system used in the Ethereum Execution Spec Tests project. Currently, logg"
},
{
"path": "docs/dev/precommit.md",
"chars": 585,
"preview": "# Enabling Pre-Commit Checks\n\nThere's a [pre-commit](https://pre-commit.com/) config file available in the repository ro"
},
{
"path": "docs/dev/test_actions_locally.md",
"chars": 6572,
"preview": "# Running Github Actions Locally\n\nThe Github Actions workflows can be tested locally using [nektos/act](https://github.c"
},
{
"path": "docs/filling_tests/debugging_t8n_tools.md",
"chars": 7835,
"preview": "# Debugging Transition Tools\n\nThere are two flags that can help debugging `t8n` tools or the execution-spec-tests framew"
},
{
"path": "docs/filling_tests/filling_tests_command_line.md",
"chars": 6959,
"preview": "# Filling Tests at a Prompt\n\nThe execution-spec-tests test framework uses the [pytest framework](https://docs.pytest.org"
},
{
"path": "docs/filling_tests/filling_tests_dev_fork.md",
"chars": 2171,
"preview": "# Filling Tests for Features under Development\n\n## Requirements\n\nBy default, execution-spec-tests only generates fixture"
},
{
"path": "docs/filling_tests/filling_tests_vs_code.md",
"chars": 849,
"preview": "# Filling Tests in VS Code\n\nPrerequisite: [VS Code Setup](../getting_started/setup_vs_code.md).\n\n## Exploring Test Cases"
},
{
"path": "docs/filling_tests/getting_started.md",
"chars": 2583,
"preview": "# Getting Started: Filling Tests\n\nThis guide describes how to get started with `fill` and commonly-used command-line opt"
},
{
"path": "docs/filling_tests/index.md",
"chars": 2724,
"preview": "# Filling Tests\n\nExecution of test cases against clients is a two-step process:\n\n1. JSON test fixtures are generated fro"
},
{
"path": "docs/filling_tests/test_ids.md",
"chars": 4700,
"preview": "# An explanation of test IDs generated by `fill`\n\n## Test Case Organization\n\nTest cases are implemented in Python \"modul"
},
{
"path": "docs/filling_tests/transition_tool_support.md",
"chars": 1117,
"preview": "# Transition Tool Support\n\nThe following transition tools are supported by the framework:\n\n| Client | `t8n` Tool | Traci"
},
{
"path": "docs/getting_started/code_standards.md",
"chars": 5979,
"preview": "# Code Standards\n\nThis document outlines the coding standards and practices used in the @ethereum/execution-spec-tests r"
},
{
"path": "docs/getting_started/code_standards_details.md",
"chars": 4466,
"preview": "# Detailed Code Standards\n\nThis page provides in-depth information about the code standards and verification processes i"
},
{
"path": "docs/getting_started/getting_help.md",
"chars": 1124,
"preview": "# Getting Help\n\nThe tests in this repository are a community effort to help improve the development cycle of all Ethereu"
},
{
"path": "docs/getting_started/installation.md",
"chars": 1651,
"preview": "# Installation\n\n## Prerequisites\n\nThe tools provided by [execution-spec-tests](https://github.com/ethereum/execution-spe"
},
{
"path": "docs/getting_started/installation_troubleshooting.md",
"chars": 6527,
"preview": "# Installation Troubleshooting\n\nThis page provides guidance on how to troubleshoot common issues that may arise when ins"
},
{
"path": "docs/getting_started/repository_overview.md",
"chars": 1413,
"preview": "<!-- markdownlint-disable MD001 (MD001=heading-increment due to #### usage below) -->\n# Repository Overview\n\nThe most re"
},
{
"path": "docs/getting_started/setup_vs_code.md",
"chars": 3039,
"preview": "# VS Code Setup\n\nVS Code setup is optional, but does offer the following advantages:\n\n- Auto-format your Python code to "
},
{
"path": "docs/index.md",
"chars": 3579,
"preview": "# Execution Spec Tests\n\n<figure markdown> <!-- markdownlint-disable MD033 (MD033=no-inline-html) -->\n  - A CLI tool to check the SHA"
},
{
"path": "docs/library/ethereum_clis.md",
"chars": 43,
"preview": "# Ethereum CLIs Package\n\n::: ethereum_clis\n"
},
{
"path": "docs/library/ethereum_test_base_types.md",
"chars": 65,
"preview": "# Ethereum Test Base Types package\n\n::: ethereum_test_base_types\n"
},
{
"path": "docs/library/ethereum_test_exceptions.md",
"chars": 65,
"preview": "# Ethereum Test Exceptions package\n\n::: ethereum_test_exceptions\n"
},
{
"path": "docs/library/ethereum_test_fixtures.md",
"chars": 61,
"preview": "# Ethereum Test Fixtures package\n\n::: ethereum_test_fixtures\n"
},
{
"path": "docs/library/ethereum_test_forks.md",
"chars": 55,
"preview": "# Ethereum Test Forks package\n\n::: ethereum_test_forks\n"
},
{
"path": "docs/library/ethereum_test_specs.md",
"chars": 55,
"preview": "# Ethereum Test Specs package\n\n::: ethereum_test_specs\n"
},
{
"path": "docs/library/ethereum_test_tools.md",
"chars": 55,
"preview": "# Ethereum Test Tools Package\n\n::: ethereum_test_tools\n"
},
{
"path": "docs/library/ethereum_test_types.md",
"chars": 55,
"preview": "# Ethereum Test Types package\n\n::: ethereum_test_types\n"
},
{
"path": "docs/library/ethereum_test_vm.md",
"chars": 49,
"preview": "# Ethereum Test VM package\n\n::: ethereum_test_vm\n"
},
{
"path": "docs/library/index.md",
"chars": 1637,
"preview": "# Library (Tools) Reference Documentation\n\nExecution spec tests consists of several packages that implement helper class"
},
{
"path": "docs/library/pytest_plugins/filler.md",
"chars": 114,
"preview": "# Filler Plugin\n\n::: pytest_plugins.filler\n\n::: pytest_plugins.filler.filler\n\n::: pytest_plugins.filler.pre_alloc\n"
},
{
"path": "docs/library/pytest_plugins/forks.md",
"chars": 73,
"preview": "# Forks Plugin\n\n::: pytest_plugins.forks\n\n::: pytest_plugins.forks.forks\n"
},
{
"path": "docs/library/pytest_plugins/index.md",
"chars": 181,
"preview": "# Pytest Framework and Customizations\n\n::: pytest_plugins\n\n- [Filler Plugin](./filler.md).\n- [Forks Plugin](./forks.md)."
},
{
"path": "docs/library/pytest_plugins/spec_version_checker.md",
"chars": 133,
"preview": "# Spec Version Checker Plugin\n\n::: pytest_plugins.spec_version_checker\n\n::: pytest_plugins.spec_version_checker.spec_ver"
},
{
"path": "docs/navigation.md",
"chars": 5858,
"preview": "<!-- markdownlint-disable MD007 MD041 (MD007=ul-indent MD041=first-line-heading) -->\n<!-- Contributing and Security: inc"
},
{
"path": "docs/running_tests/consume/cache.md",
"chars": 6934,
"preview": "# Consume Cache and Fixture Inputs\n\nThe `consume cache` command can be used to resolve, download and cache fixture relea"
},
{
"path": "docs/running_tests/consume/direct.md",
"chars": 2421,
"preview": "# The `consume direct` Command\n\nThe `direct` method provides the fastest way to test EVM functionality by executing test"
},
{
"path": "docs/running_tests/consume/exceptions.md",
"chars": 4176,
"preview": "# Exception Tests\n\n## Overview\n\nException tests validate that clients correctly reject invalid blocks and transactions w"
},
{
"path": "docs/running_tests/consume/index.md",
"chars": 703,
"preview": "# The `consume` Command\n\nThe EEST `consume` command implements different methods to run EEST-generated test fixtures aga"
},
{
"path": "docs/running_tests/consume/simulators.md",
"chars": 834,
"preview": "# Consume Simulators\n\nThe `engine` and `rlp` simulators test clients by importing blocks through different interfaces. T"
},
{
"path": "docs/running_tests/execute/eth_config.md",
"chars": 4540,
"preview": "# Execute eth-config Command\n\nThe `execute eth-config` command is a specialized testing tool that validates an Ethereum "
},
{
"path": "docs/running_tests/execute/hive.md",
"chars": 2038,
"preview": "# Executing Tests on a Hive Local Network\n\nTests can be executed on a local hive-controlled single-client network by run"
},
{
"path": "docs/running_tests/execute/index.md",
"chars": 4177,
"preview": "# Executing Tests on Local Networks or Hive\n\n@ethereum/execution-spec-tests is capable of running tests on local network"
},
{
"path": "docs/running_tests/execute/remote.md",
"chars": 10005,
"preview": "# Running Test on a Live Remote Network\n\nTests can be executed on a live remote network by running the `execute remote` "
},
{
"path": "docs/running_tests/execute/transaction_metadata.md",
"chars": 2761,
"preview": "# Transaction Metadata in Execute Mode\n\nThe `execute` plugin automatically adds metadata to all transactions it sends to"
},
{
"path": "docs/running_tests/hive/ci_integration.md",
"chars": 301,
"preview": "# Continuous Integration and Automated Testing\n\nThe Ethereum Foundation maintains continuous testing infrastructure:\n\n- "
},
{
"path": "docs/running_tests/hive/client_config.md",
"chars": 3222,
"preview": "# Client Configuration Guide\n\nClients ran in Hive are configured via the following `./hive` options:\n\n1. `--client-file="
},
{
"path": "docs/running_tests/hive/common_options.md",
"chars": 2046,
"preview": "# Common Simulator Options\n\nAll EEST Hive simulators share common command-line options and patterns.\n\n## Basic Usage\n\nWh"
},
{
"path": "docs/running_tests/hive/dev_mode.md",
"chars": 4847,
"preview": "# Hive Development Mode\n\nThis section explains how to run EEST simulators using their EEST commands, e.g., `uv run consu"
},
{
"path": "docs/running_tests/hive/hiveview.md",
"chars": 143,
"preview": "# Viewing Results\n\nBuild the result viewer `hiveview`:\n\n```bash\ngo build ./cmd/hiveview\n```\n\nStart the server:\n\n```bash\n"
},
{
"path": "docs/running_tests/hive/index.md",
"chars": 663,
"preview": "# Hive\n\n@ethereum/hive is a containerized testing framework that helps orchestrate test execution against Ethereum clien"
},
{
"path": "docs/running_tests/index.md",
"chars": 720,
"preview": "# Running Tests\n\nThis section documents how EL clients can run EEST tests to verify their implementations. The informati"
},
{
"path": "docs/running_tests/releases.md",
"chars": 6381,
"preview": "# EEST Fixture Releases\n\n## Formats and Release Layout\n\n@ethereum/execution-spec-tests releases contain JSON test fixtur"
},
{
"path": "docs/running_tests/running.md",
"chars": 12221,
"preview": "# Methods of Running Tests\n\nEEST has two commands, `consume` and `execute`, that run test cases against EL clients:\n\n1. "
},
{
"path": "docs/running_tests/test_formats/blockchain_test.md",
"chars": 12458,
"preview": "# Blockchain Tests <!-- markdownlint-disable MD051 (MD051=link-fragments \"Link fragments should be valid\") -->\n\nThe Blo"
},
{
"path": "docs/running_tests/test_formats/blockchain_test_engine.md",
"chars": 9021,
"preview": "# Blockchain Engine Tests <!-- markdownlint-disable MD051 (MD051=link-fragments \"Link fragments should be valid\") -->\n\n"
},
{
"path": "docs/running_tests/test_formats/blockchain_test_engine_x.md",
"chars": 8274,
"preview": "# Blockchain Engine X Tests <!-- markdownlint-disable MD051 (MD051=link-fragments \"Link fragments should be valid\") -->"
},
{
"path": "docs/running_tests/test_formats/blockchain_test_sync.md",
"chars": 9857,
"preview": "# Blockchain Engine Sync Tests <!-- markdownlint-disable MD051 (MD051=link-fragments \"Link fragments should be valid\") "
},
{
"path": "docs/running_tests/test_formats/common_types.md",
"chars": 8743,
"preview": "# Common Types\n\n## Basic Types\n\n### `Address`\n\n[Bytes](#bytes) of a 20-byte fixed length.\n\n### `Bloom`\n\n[Bytes](#bytes) "
},
{
"path": "docs/running_tests/test_formats/exceptions.md",
"chars": 677,
"preview": "# Exceptions\n\nException types are represented as a JSON string in the test fixtures.\n\nThe exception converted into a str"
},
{
"path": "docs/running_tests/test_formats/index.md",
"chars": 202,
"preview": "# Test Fixture Specifications\n\nThe following sub-sections provide:\n\n- Specifications for each test fixture format with a"
},
{
"path": "docs/running_tests/test_formats/state_test.md",
"chars": 9127,
"preview": "# State Tests <!-- markdownlint-disable MD051 (MD051=link-fragments \"Link fragments should be valid\") -->\n\nThe State Tes"
},
{
"path": "docs/running_tests/test_formats/transaction_test.md",
"chars": 3745,
"preview": "# Transaction Tests <!-- markdownlint-disable MD051 (MD051=link-fragments \"Link fragments should be valid\") -->\n\nThe Tra"
},
{
"path": "docs/running_tests/useful_pytest_options.md",
"chars": 3849,
"preview": "# Useful Pytest Options\n\nThe EEST commands to run tests are customizations to the pytest framework, which provides many "
},
{
"path": "docs/scripts/copy_repo_docs_to_mkdocs.py",
"chars": 2409,
"preview": "\"\"\"Include EEST's CONTRIBUTING.md and SECURITY.md in the HTML documentation.\"\"\"\n\nimport logging\nimport re\nfrom pathlib i"
},
{
"path": "docs/scripts/gen_test_case_reference.py",
"chars": 2465,
"preview": "\"\"\"\nScript called during mkdocs build|serve to create the \"Test Case Reference\".\n\nCalled via the mkdocs-gen-files plugin"
},
{
"path": "docs/scripts/generate_fill_help.py",
"chars": 3325,
"preview": "#!/usr/bin/env python3\n\"\"\"\nGenerate the fill command help output for documentation.\n\nThis script captures the output of "
},
{
"path": "docs/stylesheets/custom.css",
"chars": 1644,
"preview": ".slide {\n display: inline-block;\n position: relative;\n opacity: 0;\n left: 20px;\n transition: all 0.5s ease;\n}\n\n.sli"
},
{
"path": "docs/templates/base.md.j2",
"chars": 720,
"preview": "{% block title %}\n# {{ title }}\n{# templates inheriting from this base template can re-define the title block #}\n{% endb"
},
{
"path": "docs/templates/directory.md.j2",
"chars": 175,
"preview": "{% extends \"base.md.j2\" %}\n{% block title %}\n# {{ title }}\n{% endblock %}\n{% block additional_content %}\n::: {{ package_"
},
{
"path": "docs/templates/function.html.j2",
"chars": 1889,
"preview": "<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>"
},
{
"path": "docs/templates/function.md.j2",
"chars": 766,
"preview": "{% extends \"base.md.j2\" %}\n{% block title %}\n---\nsearch:\n exclude: true\n---\n{#\n don't include function pages in the "
},
{
"path": "docs/templates/function_parameter_datatable.html.j2",
"chars": 3851,
"preview": "<div class=\"control_panel\">\n <div class=\"panel_row filters\">\n <div class=\"filter_wrapper\">\n <label "
},
{
"path": "docs/templates/markdown_header.md.j2",
"chars": 229,
"preview": "!!! note \"Markdown Content\"\n Below is the verbatim markdown content from [`{{ pytest_node_id }}@{{ short_git_ref }}`]"
},
{
"path": "docs/templates/module.md.j2",
"chars": 693,
"preview": "{% extends \"base.md.j2\" %}\n\n{% block title %}\n# {{ title }}\n{% endblock %}\n\n{% block additional_content %}\n\n::: {{ packa"
},
{
"path": "docs/writing_tests/adding_a_new_test.md",
"chars": 1328,
"preview": "# Adding a New Test\n\nAll test cases are located underneath the `tests` directory, which are then organized by fork. Each"
},
{
"path": "docs/writing_tests/benchmarks.md",
"chars": 3361,
"preview": "# Benchmark Test Cases\n\nBenchmark tests aim to maximize the usage of a specific opcode, precompile, or operation within "
},
{
"path": "docs/writing_tests/checklist_templates/eip_testing_checklist_template.md",
"chars": 95986,
"preview": "<!-- markdownlint-disable MD001 (MD001=heading-increment) -->\n# EIP Execution Layer Testing Checklist Template\n\nDependin"
},
{
"path": "docs/writing_tests/checklist_templates/index.md",
"chars": 157,
"preview": "# Testing Checklist Templates\n\nThis page includes checklist templates that must be followed to guarantee a minimum base "
},
{
"path": "docs/writing_tests/code_standards.md",
"chars": 218,
"preview": "# Code Standards\n\n!!! warning \"Documentation Moved\"\n This documentation has been relocated to [Code Standards](../get"
},
{
"path": "docs/writing_tests/eip_checklist.md",
"chars": 9159,
"preview": "# EIP Checklist Generation\n\nThe EIP checklist feature helps track test coverage for EIP implementations by automatically"
},
{
"path": "docs/writing_tests/exception_tests.md",
"chars": 3388,
"preview": "# Exception Tests\n\nException tests are a special type of test which verify that an invalid transaction or an invalid blo"
},
{
"path": "docs/writing_tests/fork_methods.md",
"chars": 10444,
"preview": "# Using and Extending Fork Methods\n\nThis document describes the Fork class in the Ethereum execution spec tests framewor"
},
{
"path": "docs/writing_tests/fuzzer_bridge.md",
"chars": 7752,
"preview": "# Fuzzer Bridge\n\nThe fuzzer bridge provides a seamless integration between blocktest fuzzers and the Ethereum execution-"
},
{
"path": "docs/writing_tests/gas_optimization.md",
"chars": 6176,
"preview": "# Gas Optimization\n\nThe `--optimize-gas` feature helps find the minimum gas limit required for transactions to execute c"
},
{
"path": "docs/writing_tests/index.md",
"chars": 1713,
"preview": "# Writing Tests\n\nThe easiest way to get started is to use the interactive CLI:\n\n```console\nuv run eest make test\n```\n\nan"
},
{
"path": "docs/writing_tests/porting_legacy_tests.md",
"chars": 8776,
"preview": "# A Guide to Porting Original Ethereum Tests to EEST\n\n## Background\n\nEEST is the successor to [ethereum/tests](https://g"
},
{
"path": "docs/writing_tests/post_mortems.md",
"chars": 2850,
"preview": "# Post-Mortems of Missed Test Scenarios\n\nThis page contains a collection of post-mortem analyses for test cases that wer"
},
{
"path": "docs/writing_tests/reference_specification.md",
"chars": 4773,
"preview": "# Referencing an EIP Spec Version\n\nTests that implement features from an Ethereum Improvement Proposal ([ethereum/EIPs]("
},
{
"path": "docs/writing_tests/test_markers.md",
"chars": 14888,
"preview": "# Test Markers\n\nTest markers are used to categorize tests and to run specific subsets of tests. They are defined in the "
},
{
"path": "docs/writing_tests/tutorials/blockchain.md",
"chars": 6268,
"preview": "# Blockchain Tests\n\nThis tutorial teaches you to create a blockchain execution specification test. These tests verify th"
},
{
"path": "docs/writing_tests/tutorials/state_transition.md",
"chars": 11184,
"preview": "# State Transition Tests\n\nThis tutorial teaches you to create a state transition execution specification test using the "
},
{
"path": "docs/writing_tests/types_of_tests.md",
"chars": 2852,
"preview": "# Types of tests\n\nThere are currently three types of tests that can be produced by a test spec:\n\n1. State Tests\n2. Block"
},
{
"path": "docs/writing_tests/verifying_changes.md",
"chars": 238,
"preview": "# Verifying Changes\n\n!!! warning \"Documentation Moved\"\n This documentation has been relocated to [Detailed Code Stand"
},
{
"path": "docs/writing_tests/writing_a_new_test.md",
"chars": 13969,
"preview": "# Writing a New Test\n\n## Test Functions\n\nEvery test case is defined as a Python function that implements a single `State"
},
{
"path": "mkdocs.yml",
"chars": 3902,
"preview": "site_name: Ethereum Execution Spec Tests\nsite_description: A collection of test cases implemented in Python for Ethereum"
},
{
"path": "pyproject.toml",
"chars": 6701,
"preview": "[build-system]\nrequires = [\n \"setuptools==78.0.2\",\n \"wheel==0.45.1\",\n] # the setuptools version here should match "
},
{
"path": "pyrightconfig.json",
"chars": 136,
"preview": "{\n \"include\":[\n \"src\",\n \"tests\",\n \"docs\",\n ],\n \"exclude\": [\n \"logs\",\n \"fixtures\",\n ],\n \"typeChecking"
},
{
"path": "scripts/convert_addresses.py",
"chars": 52035,
"preview": "#!/usr/bin/env python3\n\"\"\"\nSimple address converter for static test fillers.\nTwo-pass approach:\n1. Collect all addresses"
},
{
"path": "src/cli/__init__.py",
"chars": 56,
"preview": "\"\"\"Ethereum execution spec tests command-line tools.\"\"\"\n"
},
{
"path": "src/cli/check_fixtures.py",
"chars": 5407,
"preview": "\"\"\"\nPerform sanity checks on the framework's pydantic serialization and\ndeserialization using generated json fixtures fi"
},
{
"path": "src/cli/compare_fixtures.py",
"chars": 6652,
"preview": "\"\"\"\nCompare two fixture folders and remove duplicates based on fixture hashes.\n\nThis tool reads the .meta/index.json fil"
},
{
"path": "src/cli/diff_opcode_counts.py",
"chars": 6671,
"preview": "#!/usr/bin/env python\n\"\"\"\nCompare opcode counts between two folders of JSON fixtures.\n\nThis script crawls two folders fo"
},
{
"path": "src/cli/eest/__init__.py",
"chars": 57,
"preview": "\"\"\"Entry point for the `eest` command line interface.\"\"\"\n"
},
{
"path": "src/cli/eest/cli.py",
"chars": 789,
"preview": "\"\"\"\n`eest` is a CLI tool that helps with routine tasks.\nInvoke using `uv run eest`.\n\"\"\"\n\nimport click\n\nfrom .commands im"
},
{
"path": "src/cli/eest/commands/__init__.py",
"chars": 174,
"preview": "\"\"\"\nA collection of commands supported by `eest` CLI.\n\nRun `uv run eest` for complete list.\n\"\"\"\n\nfrom .clean import clea"
},
{
"path": "src/cli/eest/commands/clean.py",
"chars": 2980,
"preview": "\"\"\"Clean CLI command removes generated files and directories.\"\"\"\n\nimport glob\nimport os\nimport shutil\n\nimport click\n\n\n@c"
},
{
"path": "src/cli/eest/commands/info.py",
"chars": 1479,
"preview": "\"\"\"Command to display EEST and system information.\"\"\"\n\nimport platform\nimport subprocess\nimport sys\n\nimport click\n\nfrom "
},
{
"path": "src/cli/eest/make/__init__.py",
"chars": 145,
"preview": "\"\"\"\nMake CLI.\n\nThis module provides the `make` CLI command that helps you quickly scaffold\nfiles.\n\"\"\"\n\nfrom .cli import "
},
{
"path": "src/cli/eest/make/cli.py",
"chars": 1000,
"preview": "\"\"\"\nThe `make` CLI streamlines the process of scaffolding tasks, such as generating\nnew test files, enabling developers "
},
{
"path": "src/cli/eest/make/commands/__init__.py",
"chars": 278,
"preview": "\"\"\"\nHolds subcommands for the make command.\n\nNew subcommands must be created as modules and exported from this package,\n"
},
{
"path": "src/cli/eest/make/commands/env.py",
"chars": 1528,
"preview": "\"\"\"CLI commands for managing the environment file.\"\"\"\n\nimport click\nfrom jinja2 import Environment, PackageLoader\n\nfrom "
},
{
"path": "src/cli/eest/make/commands/test.py",
"chars": 5181,
"preview": "\"\"\"\nProvides a CLI command to scaffold a test file.\n\nThe `test` command guides the user through a series of prompts to g"
},
{
"path": "src/cli/eest/make/templates/blockchain_test.py.j2",
"chars": 2048,
"preview": "\"\"\"\nabstract: Tests [EIP-{{eip_number}} {{eip_name}}](https://eips.ethereum.org/EIPS/eip-{{eip_number}})\n Test cases "
},
{
"path": "src/cli/eest/make/templates/state_test.py.j2",
"chars": 2001,
"preview": "\"\"\"\nabstract: Tests [EIP-{{eip_number}} {{eip_name}}](https://eips.ethereum.org/EIPS/eip-{{eip_number}})\n Test cases "
},
{
"path": "src/cli/eest/quotes.py",
"chars": 2282,
"preview": "\"\"\"List of quotes related to system design.\"\"\"\n\nimport random\nimport textwrap\n\nmake_something_great = [\n \"🎨 Simplicit"
},
{
"path": "src/cli/eofwrap.py",
"chars": 15141,
"preview": "\"\"\"\nGenerate a JSON blockchain test from an existing JSON blockchain test by\nwrapping its pre-state code in EOF wherever"
},
{
"path": "src/cli/evm_bytes.py",
"chars": 7619,
"preview": "\"\"\"Define an entry point wrapper for pytest.\"\"\"\n\nfrom dataclasses import dataclass, field\nfrom typing import Any, List\n\n"
},
{
"path": "src/cli/extract_config.py",
"chars": 10356,
"preview": "#!/usr/bin/env python\n\"\"\"\nCLI tool to extract client configuration files (chainspec/genesis.json) from\nEthereum clients."
},
{
"path": "src/cli/fillerconvert/fillerconvert.py",
"chars": 2001,
"preview": "\"\"\"Simple CLI tool that reads filler files in the `ethereum/tests` format.\"\"\"\n\nimport argparse\nfrom glob import glob\nfro"
},
{
"path": "src/cli/fillerconvert/verify_filled.py",
"chars": 3042,
"preview": "\"\"\"Verify refilled test vs original generated test.\"\"\"\n\nimport re\nfrom pathlib import Path\n\nfrom pydantic import BaseMod"
},
{
"path": "src/cli/fuzzer_bridge/README.md",
"chars": 9562,
"preview": "# Fuzzer Bridge for Execution Spec Tests\n\nThis module provides a bridge between blocktest fuzzers (like `blocktest-fuzze"
},
{
"path": "src/cli/fuzzer_bridge/__init__.py",
"chars": 215,
"preview": "\"\"\"Fuzzer bridge for converting blocktest-fuzzer output to blocktests.\"\"\"\n\nfrom .blocktest_builder import BlocktestBuild"
},
{
"path": "src/cli/fuzzer_bridge/blocktest_builder.py",
"chars": 2815,
"preview": "\"\"\"Build valid blocktests from fuzzer-generated transactions and pre-state.\"\"\"\n\nimport json\nimport random\nfrom pathlib i"
},
{
"path": "src/cli/fuzzer_bridge/cli.py",
"chars": 23742,
"preview": "\"\"\"Command-line interface for the fuzzer bridge.\"\"\"\n\nimport json\nimport multiprocessing as mp\nfrom concurrent.futures im"
},
{
"path": "src/cli/fuzzer_bridge/converter.py",
"chars": 10128,
"preview": "\"\"\"\nConverter module for transforming fuzzer DTOs to EEST domain models.\n\nThis module performs explicit transformation f"
},
{
"path": "src/cli/fuzzer_bridge/examples/README.md",
"chars": 5384,
"preview": "# Fuzzer Bridge Examples\n\nThis directory contains example fuzzer outputs in the v2.0 JSON format. These examples demonst"
},
{
"path": "src/cli/fuzzer_bridge/examples/comprehensive_large.json",
"chars": 70896,
"preview": "{\n \"accounts\": {\n \"0x000000000000000000000000000000000000000d\": {\n \"balance\": \"0x0\",\n \"code\": \"0x\",\n "
},
{
"path": "src/cli/fuzzer_bridge/examples/comprehensive_largest.json",
"chars": 75322,
"preview": "{\n \"accounts\": {\n \"0x000000000000000000000000000000000000000d\": {\n \"balance\": \"0x0\",\n \"code\": \"0x\",\n "
},
{
"path": "src/cli/fuzzer_bridge/examples/comprehensive_medium_1.json",
"chars": 63113,
"preview": "{\n \"accounts\": {\n \"0x0000000000000000000000000000000000000006\": {\n \"balance\": \"0x0\",\n \"code\": \"0x\",\n "
},
{
"path": "src/cli/fuzzer_bridge/examples/comprehensive_medium_2.json",
"chars": 66631,
"preview": "{\n \"accounts\": {\n \"0x000000000000000000000000000000000000000d\": {\n \"balance\": \"0x0\",\n \"code\": \"0x\",\n "
},
{
"path": "src/cli/fuzzer_bridge/examples/comprehensive_smallest.json",
"chars": 57020,
"preview": "{\n \"accounts\": {\n \"0x0000000000000000000000000000000000000010\": {\n \"balance\": \"0x0\",\n \"code\": \"0x\",\n "
},
{
"path": "src/cli/fuzzer_bridge/models.py",
"chars": 3875,
"preview": "\"\"\"\nPydantic models for fuzzer output format v2.\n\nThis module defines Data Transfer Objects (DTOs) for parsing\nfuzzer ou"
},
{
"path": "src/cli/fuzzer_bridge/performance_utils.py",
"chars": 5161,
"preview": "\"\"\"Performance utilities for fuzzer bridge processing.\"\"\"\n\nimport json\nimport mmap\nimport os\nfrom functools import lru_c"
},
{
"path": "src/cli/fuzzer_bridge/production_test.py",
"chars": 13213,
"preview": "#!/usr/bin/env python\n\"\"\"\nProduction-ready test suite for fuzzer bridge with geth verification.\n\nThis script:\n1. Loads f"
},
{
"path": "src/cli/gen_index.py",
"chars": 6641,
"preview": "\"\"\"\nGenerate an index file of all the json fixtures in the specified directory.\n\"\"\"\n\nimport datetime\nimport json\nimport "
},
{
"path": "src/cli/generate_checklist_stubs.py",
"chars": 5592,
"preview": "\"\"\"CLI tool to generate mypy stub files for EIPChecklist classes.\"\"\"\n\nimport sys\nfrom pathlib import Path\n\nimport click\n"
},
{
"path": "src/cli/gentest/__init__.py",
"chars": 883,
"preview": "\"\"\"\nGenerate a Python blockchain test from a transaction hash.\n\nThis script can be used to generate Python source for a "
},
{
"path": "src/cli/gentest/cli.py",
"chars": 1088,
"preview": "\"\"\"\nCLI interface for generating blockchain test scripts.\n\nIt extracts a specified transaction and its required state fr"
},
{
"path": "src/cli/gentest/request_manager.py",
"chars": 2838,
"preview": "\"\"\"\nA request manager Ethereum RPC calls.\n\nThe RequestManager handles transactions and block data retrieval from a remot"
},
{
"path": "src/cli/gentest/source_code_generator.py",
"chars": 3150,
"preview": "\"\"\"\nPytest source code generator.\n\nThis module maps a test provider instance to pytest source code.\n\"\"\"\n\nimport subproce"
},
{
"path": "src/cli/gentest/templates/blockchain_test/transaction.py.j2",
"chars": 741,
"preview": "\"\"\"\nGentest autogenerated test from `tx.hash`:\n{{ tx_hash }}\nhttps://etherscan.io/tx/{{tx_hash}}.\n\"\"\"\n\nfrom typing impor"
},
{
"path": "src/cli/gentest/test_context_providers.py",
"chars": 3659,
"preview": "\"\"\"\nVarious providers which generate contexts required to create test scripts.\n\nClasses:\n Provider: An provider generat"
},
{
"path": "src/cli/gentest/test_providers.py",
"chars": 4227,
"preview": "\"\"\"\nContains various providers which generates context required to create test\nscripts.\n\nClasses:\n BlockchainTestProvid"
},
{
"path": "src/cli/gentest/tests/__init__.py",
"chars": 41,
"preview": "\"\"\"Test cases for the `generate` CLI.\"\"\"\n"
},
{
"path": "src/cli/gentest/tests/test_cli.py",
"chars": 5213,
"preview": "\"\"\"Tests for the gentest CLI command.\"\"\"\n\nfrom pathlib import Path\nfrom typing import Any\n\nimport pytest\nfrom click.test"
},
{
"path": "src/cli/hasher.py",
"chars": 5026,
"preview": "\"\"\"Simple CLI tool to hash a directory of JSON fixtures.\"\"\"\n\nimport hashlib\nimport json\nfrom dataclasses import dataclas"
}
]
// ... and 3295 more files (download for full content)
About this extraction
This page contains the full source code of the ethereum/execution-spec-tests GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 3495 files (35.0 MB), approximately 9.4M tokens, and a symbol index with 5307 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.