✨ feat(tests): EIP-7928 tests for coinbase, withdrawal, storage, and account access#23
✨ feat(tests): EIP-7928 tests for coinbase, withdrawal, storage, and account access#23raxhvl wants to merge 26 commits intofeat/amsterdam-fork-and-block-access-listsfrom
Conversation
|
Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information |
20e6239 to
2534878
Compare
|
Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information |
434a46d to
d216517
Compare
|
Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information |
d216517 to
2617d30
Compare
|
Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information |
|
@raxhvl can you fix the |
|
Hey @fselmo fixed the static issue, I have few more new tests since your review: ❇️ Withdrawal
Precompiles
Non-existent accounts
Storage edge cases
I'm done adding tests now - Once all issues are closed feel free to merge the tests if everything passes. Could you also carefully review the coinbase once before merging? Thanks! |
- `self.txs.successfully_parsed` is a list of transaction indexes, not transactions. The "if tx" check here would then check `if 0` which parses as a boolean ``False``. This means we would skip counting the tx if index=0 was successful. - Fixes some test expectations where `post_code` was being checked instead of ``new_code``.
2cc9f2c to
ee14d6c
Compare
|
@raxhvl this looks good to me now. I fixed the issues with the precompile tests here (the tests were wrong, not the specs) and I split the test that was using |
|
Hey @fselmo - The changes look good to me, all tests are now passing, you can merge this 👍 |
* chore: add grammar check automation files * docs: fix grammar in consume plugin files (#20) Fix grammar issues in consume plugin docstrings and comments: - "A dictionary caches" -> "A dictionary that caches" (missing "that") - "Definers" -> "Defines" (typo) - "Un-expected" -> "Unexpected" (incorrect hyphenation) - "older version" -> "older versions" (subject-verb agreement) Co-authored-by: Claude <noreply@anthropic.com> * chore(docs): fix grammar in filler plugin docstrings (#21) - Fix subject-verb agreement: "The forks is" -> "The fork is" - Fix preposition: "value to each" -> "value for each" - Fix sentence structure: "(which) ... occurs" -> ", which ... that occurs" Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in execute plugin files (#22) - Fix "using in live networks" -> "on live networks" (execute.py:2) - Fix missing spaces between concatenated help strings in execute.py - Fix "using for test filling" -> "used for test filling" (pre_alloc.py:1) - Fix missing spaces in concatenated help strings in remote.py Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in forks, shared, and help plugin files (#23) Fixed 9 grammar issues: - forks/__init__.py: Added missing "and" in docstring - forks/forks.py: Fixed "ran" -> "run" (passive voice) - forks/forks.py: Removed space in URL fragment - forks/forks.py: Fixed double "any any" -> "any" - test_bad_command_line_options.py: Fixed article/noun agreement - test_bad_validity_markers.py: Fixed article/noun agreement - shared/helpers.py: Fixed verb tense for parallel structure - shared/execute_fill.py: Added missing article "A" - help/help.py: Fixed double article "the a" -> "a" Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in pytest_commands/plugins root files (#24) Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in cli/pytest_commands root files (#25) Remove extra space after newline in watcher.py watch mode message. Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in cli/gentest and cli/fuzzer_bridge (#26) - Fix article "An provider" → "A provider" (test_context_providers.py) - Fix subject-verb agreement "generates" → "generate" (test_providers.py) - Add missing preposition "for" in "A request manager for Ethereum RPC calls" (request_manager.py) Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in cli/eest, cli/input, and cli/fillerconvert (#27) * docs: fix grammar in cli/eest, cli/input, and cli/fillerconvert Fix missing space in string concatenation in quotes.py where "that" and "experience" were joined without a space. Flag one low-confidence issue in verify_filled.py for manual review regarding informal verb usage. * docs: apply manual grammar fix in verify_filled.py Improve docstring clarity by: - Adding missing articles ("the original", "the refilled test") - Replacing informal "Regex" verb with "Extract" - Reformatting for better readability --------- Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in packages/testing/src/execution_testing/cli/*.py (#28) - gen_index.py: Add missing space between sentences in help text - modify_static_test_gas_limits.py: Remove duplicate word "files files" - tox_helpers.py: Remove extra space in error message - show_pre_alloc_group_stats.py: Fix capitalization mid-sentence Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in packages/testing/src/execution_testing/cli/tests (#29) - Fix "allows to actually fill" → "allows actually filling" (missing verb form) - Fix "uses the a temporary" → "uses a temporary" (double article) Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in test_types module (#30) - Fix double space in helpers.py docstring - Complete incomplete sentence in trie.py module docstring Co-authored-by: Claude <noreply@anthropic.com> * docs: grammar check specs module (round 12) (#31) Reviewed 28 files in packages/testing/src/execution_testing/specs/**/*.py for grammar issues. Fixed 1 grammar issue: - blockchain.py:167-168 - fixed sentence fragment "encoding. included" Co-authored-by: Claude <noreply@anthropic.com> * docs: grammar check round 13 (fixtures + client_clis) (#32) Reviewed packages/testing/src/execution_testing/fixtures/**/*.py (16 files) - No grammar issues found Reviewed packages/testing/src/execution_testing/client_clis/**/*.py (20 files) Fixed 4 grammar issues: - ethereum_cli.py:158 - Added missing space after "0!" - evmone.py:207 - "an select" -> "and select" - nethermind.py:209 - "an select" -> "and select" - geth.py:383 - "an select" -> "and select" Flagged 1 item for manual review: - clis/__init__.py:1 - "CL interfaces" may be typo for "CLI interfaces" Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in base_types module (#33) - Fix "it can added" -> "it can be added" in mixins.py - Fix "and returns" -> "and return" for consistent imperative form in composite_types.py - Fix "an hexadecimal numbers" -> "hexadecimal numbers" in base_types.py Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in forks module (ethereum#34) base_fork.py: - precompiles(): "Return list precompiles" -> "Return list of precompiles" - system_contracts(): "Return list system-contracts" -> "Return list of system contracts" forks/forks/forks.py: - Standardize "pre-compiles" -> "precompiles" (no hyphen) in: - Frontier.precompiles() - Homestead.precompiles() - Byzantium.precompiles() - Istanbul.precompiles() - Cancun.precompiles() - Prague.precompiles() - Osaka.precompiles() - Standardize "system-contracts" -> "system contracts" in Frontier.system_contracts() - Fix subject-verb agreement: "pre-compile for BLS operations are" -> "precompiles for BLS operations are" - Fix max_initcode_size(): merge standalone string into docstring with proper formatting - Add missing article "a" before "precompile for" in Istanbul, Cancun, and Osaka Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in tools and exceptions modules (ethereum#35) Fix typos and grammar issues: - Fix "defniitions" -> "definitions" in engine_api.py - Fix "it's" -> "its" (possessive) in eof.py and exceptions.py - Fix "an stack" -> "a stack" for underflow/overflow in eof.py and exceptions.py Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in vm, rpc, and config modules (ethereum#36) Remove duplicate text in error message in opcodes.py Co-authored-by: Claude <noreply@anthropic.com> * docs: fix grammar in execution_testing core modules (logging, execution, checklists, benchmark) and root files (ethereum#37) Fixed "were request" -> "were requested" in blob_transaction.py comment. Co-authored-by: Claude <noreply@anthropic.com> * docs: fix docstring in client_clis module Corrected terminology from "CL interfaces" to "EL clients" - these are Execution Layer client implementations, not Consensus Layer. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * docs: fix grammar in exceptions module - block.py: "is calculated incorrect" → "is calculated incorrectly" - transaction.py: "is exceeds" → "exceeds" (removed double verb) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * docs: fix punctuation in checklists module Changed period to colon in DataPortionVariables docstring to properly introduce the list of test cases (Top, Bottom, Middle). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * chore: remove files used for llm automation --------- Co-authored-by: Claude <noreply@anthropic.com>
Adds new EIP-7928 test cases for Coinbase, withdrawal, edge cases for storage and account access.
Tests
Coinbase
test_bal_empty_block_no_coinbasetest_bal_coinbase_zero_tipEIP-4895 Withdrawal
test_bal_withdrawal_empty_blocktest_bal_withdrawal_and_transactiontest_bal_withdrawal_to_nonexistent_accounttest_bal_withdrawal_no_evm_executiontest_bal_withdrawal_and_state_access_same_accounttest_bal_withdrawal_and_value_transfer_same_addresstest_bal_multiple_withdrawals_same_addresstest_bal_withdrawal_and_selfdestructtest_bal_withdrawal_and_new_contracttest_bal_zero_withdrawaltest_bal_withdrawal_to_precompilestest_bal_withdrawal_largest_amounttest_bal_withdrawal_to_coinbasetest_bal_withdrawal_to_coinbase_empty_blockPrecompiles
test_bal_precompile_fundedtest_bal_precompile_callNon-existent accounts
test_bal_nonexistent_value_transfertest_bal_nonexistent_account_accessStorage edge cases
test_bal_storage_write_read_same_frametest_bal_storage_write_read_cross_frameBlockers