EVM/Node: eth_call override storage (diff)
What
Follows !14708 (merged)
Part of #7476 (closed)
Implements stateDiff part of the state override of eth_call.
see go-ethereum doc for spec.
Next !14921 (merged)
Why
Because Pimlico needs it.
How
We only need to change the values listed, so it's purely additive, we just set those values in the account storage.
We add some input validation to have nicer errors and better ux: eg if the key is the wrong size you have an error, instead of running the simulation with an unedited storage.
Manually testing the MR
dune exec etherlink/tezt/tests/main.exe -- alpha state_diff
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Pierre-Emmanuel CORNILLEAU