new(tests): add more test cases for request types#1340
new(tests): add more test cases for request types#1340marioevz merged 16 commits intoethereum:mainfrom
Conversation
…valid_deposit_withdrawal_consolidation_requests
marioevz
left a comment
There was a problem hiding this comment.
Some comments on this preliminary review 🙌
Let me know if any of them needs more info.
tests/prague/eip7685_general_purpose_el_requests/test_deposits_withdrawals_consolidations.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_deposits_withdrawals_consolidations.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_deposits_withdrawals_consolidations.py
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_deposits_withdrawals_consolidations.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_deposits_withdrawals_consolidations.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_deposits_withdrawals_consolidations.py
Outdated
Show resolved
Hide resolved
… added mypy silencer for type warning
…lows 18 withdrawals per block
marioevz
left a comment
There was a problem hiding this comment.
I mainly reviewed test_modified_withdrawal_contract.py here, but some thoughts:
- I would use
--traceswhen runninguv run fillto make sure that the transactions are indeed correctly calling the system contract and are not failing or running out of gas. - My main concern with the modified contract is that it will be a bit difficult to debug if the system call is not working correctly because currently the t8n does not provide traces for the system call (although that would be a nice feature!).
If you have the modified sys-asm contract to take a look at we could also help out reviewing that 👍
tests/prague/eip7685_general_purpose_el_requests/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
4f602a2 to
b61fe3e
Compare
marioevz
left a comment
There was a problem hiding this comment.
Hey, I addressed your questions in each comment, it works for me locally although I didn't check for 18 withdrawals only two.
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
995c2af to
c1e9fc9
Compare
marioevz
left a comment
There was a problem hiding this comment.
Some comments that I think will help in this and future tests where you have to put bytes into memory 👍
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
marioevz
left a comment
There was a problem hiding this comment.
Some comments, but I think it's close to be good to go 👍
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_multi_type_requests.py
Outdated
Show resolved
Hide resolved
tests/prague/eip7685_general_purpose_el_requests/test_multi_type_requests.py
Outdated
Show resolved
Hide resolved
…withdrawal_contract.py
Co-authored-by: Mario Vega <marioevz@gmail.com>
f66372c to
10f41b0
Compare
marioevz
left a comment
There was a problem hiding this comment.
One last request, please add a item to docs/CHANGELOG.md with a one-line description of the tests added by this PR.
Thanks for the changes!
tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py
Outdated
Show resolved
Hide resolved
…#1340) * new(tests): added more cases (two contract req, one EOA req) in test_valid_deposit_withdrawal_consolidation_requests * fixed comments * rename test_deposits_withdrawals_consolidations.py to test_multi_type_requests.py * changed type from ParameterSet to a union of the three request types, added mypy silencer for type warning * added draft test of trying out a modified withdrawal contract that allows 18 withdrawals per block * fixed docstrings * tried to implement marios feedback * moved test to a better suited folder (eip7002) * parameterized test and bugfixes * added pseudo contract that just returns withdrawals requests * removed unnecessary offset update * macro MSTORE now used instead of manually splitting into chunks * Update tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py * Datatype is ParameterSet Co-authored-by: Mario Vega <marioevz@gmail.com> * added pytest marker for prague, and some minor fixes * removed comment and updated CHANGELOG.md --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
…#1340) * new(tests): added more cases (two contract req, one EOA req) in test_valid_deposit_withdrawal_consolidation_requests * fixed comments * rename test_deposits_withdrawals_consolidations.py to test_multi_type_requests.py * changed type from ParameterSet to a union of the three request types, added mypy silencer for type warning * added draft test of trying out a modified withdrawal contract that allows 18 withdrawals per block * fixed docstrings * tried to implement marios feedback * moved test to a better suited folder (eip7002) * parameterized test and bugfixes * added pseudo contract that just returns withdrawals requests * removed unnecessary offset update * macro MSTORE now used instead of manually splitting into chunks * Update tests/prague/eip7002_el_triggerable_withdrawals/test_modified_withdrawal_contract.py * Datatype is ParameterSet Co-authored-by: Mario Vega <marioevz@gmail.com> * added pytest marker for prague, and some minor fixes * removed comment and updated CHANGELOG.md --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
🗒️ Description
WIP
🔗 Related Issues
✅ Checklist
mkdocs servelocally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.