-
Notifications
You must be signed in to change notification settings - Fork 0
✨ feat(tests): EIP-7928 tests for coinbase, withdrawal, storage, and account access #23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ feat(tests): EIP-7928 tests for coinbase, withdrawal, storage, and account access #23
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 |
fselmo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
@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