-
Notifications
You must be signed in to change notification settings - Fork 20.5k
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
core: check if sender is EOA #23002
core: check if sender is EOA #23002
Conversation
LGTM. But please also add a test -- we have tests for all core errors in |
Interesting:
|
@winsvega it appears that a lot of tests are using this 'feature'. Do you have any idea, off the top of your head, how hard it would be to rewrite the tests that rely on this? |
Not so hard. There are a few tests having sender with code. Many times its not critical for the test logic. We add new tests that check that it is disallowed |
I think this change will go forward, so it would be great if, for those cases, we could get started on rewriting them. |
Doing a full-sync from |
So far, all blocks up to |
All good up until |
Confirmed up until current head ( |
I updated to the most recent tests and pushed to this PR, to see if it works now |
A lot of errors on old forks -- I suspect the legacy tests needs to be refilled aswell? cc @winsvega |
Interesting!
The codehash, for some reason, isn't set. |
Actually, the check for emptyCodeHash is slightly wrong. It uses the same method as
Therefore, this PR cannot use that same check. If we process an historical block with a transaction usign So the PR as is right now probably doesn't pass a full-sync from geneiss. Since we did a full-sync just to validate this PR, I'd feel safer to revert to the PR as it was when we performed the full-sync. |
Draft PR after a recent discussion about what would happen if a contract would send a transaction (which is very unlikely, but not impossible)