Gitcoin is GDPR complaint. Learn more in
Gitcoin's Terms & Conditions.
Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
Modify SolEVM in the following way:
- Add **runAndStop()** method that allows to:
- Receives a step on which it should stop.
- Return state of the EVM at the desired step.
- Add **initAndRun()** method that allows to:
- Load the state of the EVM at specific step.
- Run the program till it ends.
- Create unit tests for different programs:
- Stop programs at specific steps, re-initialize and run till the end, compare result with uninterrupted execution.
- Create a unit-test for a stop on each possible OP-code (see list in [architecture docs](https://github.com/parsec-labs/solevm-truffle/blob/master/docs/Architecture.md), except extra difficult).
- Both functions can run as static calls (block gas limit doesn’t matter).
This implementation will give us the confidence that we fully export and import the state, and are able to continue any execution, yielding the same result as if we hadn’t stopped it at some specific OP-code.