-
Notifications
You must be signed in to change notification settings - Fork 150
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
Updates to the driver.md GST handler #2682
Conversation
Co-authored-by: Everett Hildenbrandt <[email protected]>
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, but I would wait for a second approval.
As we had some conflicts on failing.llvm
I should ask if this is expected to really remove so many tests of it?
Thank you! The conflicts were expected because the previous PR changed Most of the tests removed from |
This PR makes a few minor updates to the
driver.md
andgst_to_kore.py
test handlers.expectException
is an optional key for a block in a General State Test used to highlight an invalid block. This field represents the name of the exception which is expected to be thrown when importing this block to the chain.Up until now this key was in the
discardedKeys
set, but GSTs would still fail final assertions. Changes here are added to check if the status code is anExceptionalStatusCode
whenexpectException
is present, discarding the rest of the checks for the current block.Other vm implementations follow the same approach:
py-evm
rust-evm
Implementation of EIP-3706 which requires the sender of a transaction to be an EOA (externally owned account, without any code deployed).
For this EIP I added a new rule for
loadTx
to throwEVMC_FAILURE
when the origin of the transaction has deployed code.I couldn't find this EIP linked under any hardfork update, however it is present in the Yellowpaper. (under 6. Transaction Execution).
Initial checks for
balance underflow
,depth exceeded
, andnonce exceeded
were also omitted from theloadTx
rules, which caused a number of tests to fail.Changed
filter_discard_keys
to remove discarded keys from the GST file/fixture recursively.