-
Notifications
You must be signed in to change notification settings - Fork 176
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
[EVM] Offchain package - part 3 #6546
base: ramtin/evm-offchain-part2
Are you sure you want to change the base?
Conversation
if err != nil { | ||
return err | ||
} | ||
return baseView.Commit() |
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.
I must miss something here.
Does the Commit
call persist the balance update into database?
If we want to override the balance for making a dry call, do we also need to revert the balance update after the dry call? Because otherwise, the dry call isn't "dry" since the database is updated, it will affect the next dry call. No?
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.
storage that is passed to the baseView is of type storage.EphemeralStorage. so all the changes would be discarded.
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!
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.
lg2m
depends on #6545
Context:
the Offchain package allows off-chain software like (GW) to follow the EVM chain and be able to replay all transactions. It also facilitates running queries (e.g. eth_Call), making the complex internal details hidden from the user.
This PR provides the query functionality that can be used to query account meta (e.g. Balance, ...) and make eth_call supporting passing optional tracer and overriding values.