-
Notifications
You must be signed in to change notification settings - Fork 174
refactor(tests): EIP-7002, EIP-7251: Test block invalidation if system contract is missing #1394
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
Conversation
here you hit the case where t8n must do some validation logic. I many times ask them to do so. but many blockchain logics are out of t8n scope. and asking t8n to validate something leads to people implementing additional t8n test logic in their t8n. so instead of checking the client we checking t8n's test logic. I would suggest we invalidate this logic/blocks on our side and don't necessarily force t8ns to do so. as t8n is used only to generate the test. the end test verification happens on hive or consume direct test runners. |
de7f16b
to
c829a0c
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.
Looks good from my side so far. Spent a bit of time today looking into this.
c829a0c
to
2fbcb78
Compare
It's interesting that this is the first time we hit an issue after all txs have been executed in the t8n, and it was just a particular problem that in EELS t8n implementation, if something failed out of the scope of tx execution, the t8n would error out and not return anything, so there was no way of separate a t8n error on formulating the response from an error during block execution which was an actual protocol check. |
PR should be ready for review @spencer-tb, I added a couple more things, including an updated I could create a separate PR, or we could create a merge commit to preserve the commits in the PR, which I think are cleanly separated as of now 👍 |
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!
Amazing - we just need the changelog! We should add that eels resolutions changed in this PR too within the changelog.
2fbcb78
to
23f0ae2
Compare
🗒️ Description
Requires #1454.
Addresses following EIP changes:
I have a branch to fill these tests but it's currently failing, this is because we don't have a way of t8n interface to respond to this scenario, all our invalid block tests invalidate the block after a valid response from the t8n, but in this case we rely of t8n returning the exception along with the executed block somehow.
We need this issue addressed before merging these tests.
From the list of checks added to the EIP this PR checks only one at the moment:
30_000_000
:30_000_000
== valid block,30_000_001
== invalid block.WITHDRAWAL_REQUEST_PREDEPLOY_ADDRESS
, the corresponding block MUST be marked invalid.🔗 Related Issues
✅ Checklist
mkdocs serve
locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.