-
Notifications
You must be signed in to change notification settings - Fork 153
fix(tests): EIP-7702: send tx of eoa after setcode tx is mined #1411
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
fix(tests): EIP-7702: send tx of eoa after setcode tx is mined #1411
Conversation
e2f83b3
to
61af666
Compare
cc @marioevz , seems that you're the author of this test case. Can you help me verify this? |
61af666
to
45aaf92
Compare
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.
LGTM, thanks for these changes, I think it's a good idea to make this distinction.
I added a parametrization to fill the same test as it existed before this PR, whilst skipping it for execute, and the new variant you introduced.
ethereum#1411) * fix(tests): EIP-7702: send transaction of an EOA after setcode tx is mined * refactor(execute): send batch of txs by block * fix(tests): Parametrize instead of change * refactor(execution): Change error check to per-block basis --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
ethereum#1411) * fix(tests): EIP-7702: send transaction of an EOA after setcode tx is mined * refactor(execute): send batch of txs by block * fix(tests): Parametrize instead of change * refactor(execution): Change error check to per-block basis --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
ethereum#1411) * fix(tests): EIP-7702: send transaction of an EOA after setcode tx is mined * refactor(execute): send batch of txs by block * fix(tests): Parametrize instead of change * refactor(execution): Change error check to per-block basis --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
ethereum#1411) * fix(tests): EIP-7702: send transaction of an EOA after setcode tx is mined * refactor(execute): send batch of txs by block * fix(tests): Parametrize instead of change * refactor(execution): Change error check to per-block basis --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
* feat(tests): EIP-2537: add bls12 audit test cases (ethereum#1275) * fix(test): remove test violating EIP-7523 (ethereum#1257) * fix(test): remove test violating EIP-7523 * Simplify the test by removing parameterization * chore(tests): update bls12 test vectors (ethereum#1289) * new(tests): add state test with empty 7702 authorization list (ethereum#1224) * new(tests): add state test with empty 7702 authorization list * fix(clis): Add exception to EELS --------- Co-authored-by: Mario Vega <marioevz@gmail.com> * new(tests): EIP-7702: Sender not EOA test * Add self-sponsored variant * apply comments * fix(test): improve EIP-7702 test for type 4 transaction with empty to (ethereum#1337) * fix(tests): EIP-7702 verification/merge issue (ethereum#1358) * new(tests): EIP-7702: More RLP tests (ethereum#1347) * refactor(types): remove nonce-as-list from auth list * new(tests): EIP-7702: Tx serialization tests * refactor(tests): Use RLP encoding changes * Change log * new(tests): EIP-7702: more rlp tests * 🧹 chore(EIP-7623): Remove duplicate fixture (ethereum#1381) Co-authored-by: raxhvl <raxhvl@users.noreply.github.com> * feat(tests): Additional EIP-2935 coverage (ethereum#1379) Update CHANGELOG.md * new(tests): EIP-7702: Delegation Designation as Initcode, max-fee-per-gas tests (ethereum#1372) * new(tests): EIP-7702: Delegation designation as initcode * new(tests): EIP-7702: Invalid max_fee_per_gas/max_priority_fee_per_gas * docs: changelog * refactor(tests): Combine similar cases into one Co-Authored-By: spencer <spencer.taylor-brown@ethereum.org> --------- Co-authored-by: spencer <spencer.taylor-brown@ethereum.org> * fix(execute,tests): EIP-7702: send tx of eoa after setcode tx is mined (ethereum#1411) * fix(tests): EIP-7702: send transaction of an EOA after setcode tx is mined * refactor(execute): send batch of txs by block * fix(tests): Parametrize instead of change * refactor(execution): Change error check to per-block basis --------- Co-authored-by: Mario Vega <marioevz@gmail.com> * feat(tests): update 7702 precompile test cases (ethereum#1431) - Add a test case that calls the delegated precompile acct directly from the same transaction as the auth. Supply enough gas only to cover the intrinsic cost of the call, with no extra gas for any precompile code execution. - Update the test case for all call opcodes to use all of the call opcodes. * feat(tests): eip7623 - parametrize `test_transaction_validity_type_*` with a tx to an eoa (ethereum#1422) * feat(tests): EIP-2537: extra BLS12-381 coverage (ethereum#1350) * feat(tests): bls point generator and extra coverage. * chore(tests): remove bls msm duplicates. * chore: fix tox issues. * feat(tests): Add more msm invalid tests --------- Co-authored-by: Mario Vega <marioevz@gmail.com> * new(tests): EIP-7702 - ensure DELEGATECALLing a 7702 target works (ethereum#1485) Co-authored-by: Mario Vega <marioevz@gmail.com> * feat(tests): add bls map to curve on identity cases (ethereum#1505) * fix(tests): EIP-7702: use penultimate block number instead of fixing block 0 (ethereum#1390) * fix(tests): EIP-7702: use penultimate block number instead of fixing block 0 * fix(tests): EIP-7702: use contract code to get blocknumber instead of rpc * Update uv.lock * Update uv.lock * Update uv.lock * Update uv.lock * Update pyproject.toml * refactor(base_types,types,tests): Create RLP Serialization Classes (ethereum#1359) * fix(types): tests: Add serialization unit tests * fix(types): tests: Fix unit tests * feat(base_types): Implement serialization RLP types * feat(base_types,types,fixtures): Apply serialization RLP types * fix(types): Auth tuple defaults * fix(fixtures,rpc,specs,types,tests): Transaction.rlp is a function * fix(base_types,types,rpc): fixes * refactor(base_types,types): Network wrapped transaction * fix(tests): Network wrapped transactions * fix(types): Fix NetworkWrappedTransaction rlp prefix * docs: Changelog * Apply suggestions from code review Co-authored-by: spencer <spencer.taylor-brown@ethereum.org> * Add network wrapper explanation * fix: tox * Update docs/CHANGELOG.md Co-authored-by: spencer <spencer.taylor-brown@ethereum.org> * Add comment --------- Co-Authored-By: spencer <spencer.taylor-brown@ethereum.org> * fix(tests): EIP-2537: mark slow * fix(tests): EIP-7623: remove blob in blob tx * fix(dependency): update prague execution specs * new(dependency): add joblib --------- Co-authored-by: spencer <spencer.taylor-brown@ethereum.org> Co-authored-by: Andrei Maiboroda <andrei@ethereum.org> Co-authored-by: Paweł Bylica <pawel@ethereum.org> Co-authored-by: Mario Vega <marioevz@gmail.com> Co-authored-by: Dimitry Kh <dimitry@ethereum.org> Co-authored-by: raxhvl <10168946+raxhvl@users.noreply.github.com> Co-authored-by: raxhvl <raxhvl@users.noreply.github.com> Co-authored-by: Stuart Reed <stuart.reed@ethereum.org> Co-authored-by: felipe <fselmo2@gmail.com> Co-authored-by: danceratopz <danceratopz@gmail.com> Co-authored-by: pdobacz <5735525+pdobacz@users.noreply.github.com>
ethereum#1411) * fix(tests): EIP-7702: send transaction of an EOA after setcode tx is mined * refactor(execute): send batch of txs by block * fix(tests): Parametrize instead of change * refactor(execution): Change error check to per-block basis --------- Co-authored-by: Mario Vega <marioevz@gmail.com>
🗒️ Description
Currently, the test
test_eoa_tx_after_set_code
is including both setcode tx that sets code for an EOA and tx using EOA as sender in same block. However, it is invalid due to changes introduced in this PR ethereum/go-ethereum#31430. When I try to run this test inexecute
mode, the second tx is rejected with the errorgapped-nonce tx from delegated accounts
Here is my solution to fix it:
TransactionPost
a little bit to send batches of txs by block.