refactor(weld): Full WELD#1377
Conversation
…_in_output` (ethereum#1667) * feat(fixtures,specs): Add `postStateHash` on `exclude_full_post_state_in_output` * docs: Changelog * feat(fixtures,specs): Check mutually exclusive `postState`/`postStateHash`
Convert benchmarks with single transaction to `state_test()`.
* zkevm: add BLOBHASH benchs Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * generalize params Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * improvements Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> --------- Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
…est-based commands (ethereum#1654)
Co-authored-by: danceratopz <danceratopz@gmail.com>
Co-authored-by: danceratopz <danceratopz@gmail.com>
Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
* zkevm: calldataload Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * fix assertion Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * avoid POPs * rebase Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * generalize calldata argument Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> --------- Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com>
* fix(tests,eof): Specify Env(gas_limit) * fix(ci): Fill EOF from an evmone branch * fix(ci): Revert to master branch of evmone for eof filling
…ethereum#1673) * refactor(fw): move TransactionType enum to ethereum_test_types module * fix: tox --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
…ethereum#1673) * refactor(fw): move TransactionType enum to ethereum_test_types module * fix: tox --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
…ction (ethereum#1674) * refactor(tests): remove `secret_key` from acl test transaction * add more tests * LLM-autocomplete error fix * coverage * fix: tox * fix docs * tox again --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
* add warm address test * change return opcode for stop * wrap CALL in CodeGasMeasure * make test future-proof
…um#1683) * port stShiftCobinationsFiller * minor optimization * docs: Changelog * update spec sha --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
* zkevm: add generic zero-param opcodes Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * zkevm: add CALLVALUE coverage Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * add comment Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * zkevm: add RETURNDATASIZE coverage Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * zkevm: add MSIZE coverage & fixes Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * fixes Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * change params Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * Update tests/zkevm/test_worst_compute.py Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com> * feedback Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * add comment Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * generalize returndata test Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * fix Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * Update tests/zkevm/test_worst_compute.py Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com> * separate RETURNDATASIZE tests Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * nit Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> --------- Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com>
ethereum#1659) Add a worst-case test running a block with many `ADDMOD` or `MULMOD` instructions with arguments of the parametrized range.
…e_size()` from fork config (ethereum#1649) * feat(forks): introduce max code size / max initcode size * feat(tests): read max code size from fork / scale gas limit as appropriate for test * Update src/ethereum_test_forks/base_fork.py Co-authored-by: Paweł Bylica <chfast@gmail.com> * Update src/ethereum_test_forks/base_fork.py Co-authored-by: Paweł Bylica <chfast@gmail.com> * Update src/ethereum_test_forks/forks/forks.py Co-authored-by: Paweł Bylica <chfast@gmail.com> * feat(tests): fix type error complaints * feat(tests): make tests dependent on MAX_CODE_SIZE now depend on the fork-based max code size * feat(tests): use a more logical gas limit formula for contract deployment * feat(tests): default (init)code size limit to first limit set * feat(tests): remove EIP 7907 from Osaka * feat(tests): make typecheck happy * feat(tests): do not use fallback for code size being returned `None` anymore * feat(tests): read code size from forks from newly added tests after rebase * Update tests/zkevm/test_worst_bytecode.py Co-authored-by: Mario Vega <marioevz@gmail.com> * feat(tests): insert max_code_size for modarith zkevm test --------- Co-authored-by: Paweł Bylica <chfast@gmail.com> Co-authored-by: Mario Vega <marioevz@gmail.com>
…e_size()` from fork config (ethereum#1649) * feat(forks): introduce max code size / max initcode size * feat(tests): read max code size from fork / scale gas limit as appropriate for test * Update src/ethereum_test_forks/base_fork.py Co-authored-by: Paweł Bylica <chfast@gmail.com> * Update src/ethereum_test_forks/base_fork.py Co-authored-by: Paweł Bylica <chfast@gmail.com> * Update src/ethereum_test_forks/forks/forks.py Co-authored-by: Paweł Bylica <chfast@gmail.com> * feat(tests): fix type error complaints * feat(tests): make tests dependent on MAX_CODE_SIZE now depend on the fork-based max code size * feat(tests): use a more logical gas limit formula for contract deployment * feat(tests): default (init)code size limit to first limit set * feat(tests): remove EIP 7907 from Osaka * feat(tests): make typecheck happy * feat(tests): do not use fallback for code size being returned `None` anymore * feat(tests): read code size from forks from newly added tests after rebase * Update tests/zkevm/test_worst_bytecode.py Co-authored-by: Mario Vega <marioevz@gmail.com> * feat(tests): insert max_code_size for modarith zkevm test --------- Co-authored-by: Paweł Bylica <chfast@gmail.com> Co-authored-by: Mario Vega <marioevz@gmail.com>
* feat(tests): start basic eip-7883 cases. * chore: eels for eip-7883. * refactor(types): TestParameterGroup into a pydantic model * refactor(tests): Tests using TestParameterGroup * fix(tests): EIP-7883: Fix gas meter * fix(tests): EIP-7883: Gas calc * fix(types): Fix TestParameterGroup * fix(tests): EIP-198: Tox * fix(tests): EIP-152: Tox * fix(tests): EIP-7883: Tox * fix(tests): EIP-7823: Tox * chore(tests): add remaining 7883 test vectors. * fix(tests/eip7823): Make tests compatible with 7825 * fix(tests): EIP-7823,7883 Gas Calculation * Add geth failing test to EIP-7883 * fix guido-4-even expected output * Revert "chore: eels for eip-7883." This reverts commit e0857e5a0cd2ab592c1bc86f21d60ab1127a2906. * fix: remove unused constant * changelog * fix: tox --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
* feat(tests): start basic eip-7883 cases. * chore: eels for eip-7883. * refactor(types): TestParameterGroup into a pydantic model * refactor(tests): Tests using TestParameterGroup * fix(tests): EIP-7883: Fix gas meter * fix(tests): EIP-7883: Gas calc * fix(types): Fix TestParameterGroup * fix(tests): EIP-198: Tox * fix(tests): EIP-152: Tox * fix(tests): EIP-7883: Tox * fix(tests): EIP-7823: Tox * chore(tests): add remaining 7883 test vectors. * fix(tests/eip7823): Make tests compatible with 7825 * fix(tests): EIP-7823,7883 Gas Calculation * Add geth failing test to EIP-7883 * fix guido-4-even expected output * Revert "chore: eels for eip-7883." This reverts commit e0857e5a0cd2ab592c1bc86f21d60ab1127a2906. * fix: remove unused constant * changelog * fix: tox --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
* refactor(forks): Pydantic-friendly `Fork` type * fix(tests): Bad import * docs(forks): remove `blockchain_test_network_name` from docs --------- Co-authored-by: danceratopz <danceratopz@gmail.com>
* refactor(forks): Pydantic-friendly `Fork` type * fix(tests): Bad import * docs(forks): remove `blockchain_test_network_name` from docs --------- Co-authored-by: danceratopz <danceratopz@gmail.com>
* zkevm: add TLOAD benchs Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * improvements Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * zkevm: add TSTORE benchs Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * lint Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * fix Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * simplify 3 mod 8 factor Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * feedback Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * refactor and improvements Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * feedback Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * Update tests/zkevm/test_worst_compute.py Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com> * fix comment Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * rebase fix Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * remove unused import Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> --------- Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com>
* feat(docs): Generate EIP Checklists * fix(docs): Correctly include checklist gen in mkdocs flow * fix(plugins/filler): remove unused import * fix(plugins): Tox, unit tests * fix(clis): Checklist command help * docs: Changelog * fix(docs): Outdated docs * fix(plugins): Collect-only parameter * feat(plugins/eip_checklist): Allow starts-with covered items, n/a, and externally covered items * Update docs page * fix correct path * docs: Move checklist guide to `writing_tests` * fix * docs: prefix commands with `uv run` * chore(clis): fix examples in `checklist` docstring * docs: apply correct indentation to fix ordered-list ennumeration --------- Co-authored-by: danceratopz <danceratopz@gmail.com>
* zkevm: add selfdestruct existing contracts bench Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * zkevm: add selfdestruct of contracts deployed in tx Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * improvements Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * Update tests/zkevm/test_worst_stateful_opcodes.py Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com> * improvements Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * adjust gas prices Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * Update tests/zkevm/test_worst_stateful_opcodes.py Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com> * improvements Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * improvement Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * fix bug Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * selfdestruct in initcode Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * feedback Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> --------- Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> Co-authored-by: Jochem Brouwer <jochembrouwer96@gmail.com>
ethereum#1715) * chore(deps): add `codespell` to the `docs` extras group * feat(tooling,tox,ci): use `codespell` instead of `pyspelling` * docs(tooling,ci): update docs for `codespell` * chore(tooling): run spellecheck in precommit for python * chore(ci): update ci flow for `codespell` -> `pyspelling` * chore(all): fix the typos * chore(tests): fix typo in function name * docs: update changelog
ethereum#1715) * chore(deps): add `codespell` to the `docs` extras group * feat(tooling,tox,ci): use `codespell` instead of `pyspelling` * docs(tooling,ci): update docs for `codespell` * chore(tooling): run spellecheck in precommit for python * chore(ci): update ci flow for `codespell` -> `pyspelling` * chore(all): fix the typos * chore(tests): fix typo in function name * docs: update changelog
…reum#2065) Disables the longest running test in our test set that contains 8000+ blocks and takes around 30 minutes to fill. Reasoning with the disabling of this test: - We are basically testing a smart contract in these tests, if there's a failure in these contracts: - We are never going to catch it with these tests because our tests are not changing - It's not going to be a consensus failure because if the contract behaves in an unexpected way, all clients will still process the same EVM code - Contract has been running in mainnet for sufficient time.
|
One downside of copy-pasting the code is that it wipes out the git history of EEST inside our repo. I see your point about the changes to existing |
* refactor(eip7883): update vector input structure * feat: add eip7702, gas usage and extra edge cases * feat: add fork transition test * test: add extra invalid cases * refactor(tests): Improve fixture and test descriptions for clarity * refactor(tests): add helper for invalid case * feat: add invalud boundary test cases * chore: update boundary input case * refactor(tests): simplify boundary modexp test cases * fix(tests): update fork transition test * feat(test): add gas formula egde cases * test: add extra casefor modexp invalid input * tests: port legacy modexp test * refactor: update vector and data types * refactor: remove valid case from invalid scenario * refactor: update result comparison method and test case * refactor: update comment * refactor: update naming and new cases * refactor: update valid fork configuration
* feat(fork): Add basic Amsterdam fork support * refactor(fork): Move Amsterdam below BPO forks in forks.py
* feat(fork): Add basic Amsterdam fork support * refactor(fork): Move Amsterdam below BPO forks in forks.py
* refactor(eip7825): update legacy configuration * tests(eip7825): add extra cases for tx gas limit * test(eip7825): add extra case for access list * refactor: update test logic
* refactor(eip7825): update legacy configuration * tests(eip7825): add extra cases for tx gas limit * test(eip7825): add extra case for access list * refactor: update test logic
646bca5 to
af10b48
Compare
|
@SamWilsn @Carsons-Eels Updated the PR using the subtree approach. That's a lot of files updated and commits added :) |
SamWilsn
left a comment
There was a problem hiding this comment.
As far as I can tell, this looks good to me!
Awesome. Since this is such a huge PR, I am not gonna merge it just yet. Will just let it sit for a couple of days so people can come back and take a look if needed. |
…eum#1377) Move some basic tests for invalid first section type to the parametrized tests of EIP-6206. Extend the test coverage by using more exhaustive combination of params.
What was wrong?
The EELS and EEST repositories need to be merged and are currently separate
How was it fixed?
Move the framework from eest to
src/ethereum_spec_testsand the eest tests totestsCute Animal Picture