oSnap frontend requires API to simulate proposal execution.
Summary
API simulates requested oSnap proposal execution against Tenderly API.
Details
In order to simulate execution without forking, contract state needs to be overriden as if transactions were already proposed on oSnap and settled on OOv3:
OptimisticGovernor knows of proposalHash pointing to non-zero asserionId in the assertionIds mapping;
OptimisticOracleV3 has the Assertion with the above assertionId marked as settled.
This has a dependency on state override feature in @uma/common Tenderly simulation library, thus it can be merged only after #4688.
Testing
Check a box to describe how you tested these changes and list the steps for reviewers to test.
[ ] Ran end-to-end test, running the code as in production
[ ] New unit tests created
[ ] Existing tests adequate, no new tests required
Motivation
oSnap frontend requires API to simulate proposal execution.
Summary
API simulates requested oSnap proposal execution against Tenderly API.
Details
In order to simulate execution without forking, contract state needs to be overriden as if transactions were already proposed on oSnap and settled on OOv3:
This has a dependency on state override feature in
@uma/common
Tenderly simulation library, thus it can be merged only after #4688.Testing
Check a box to describe how you tested these changes and list the steps for reviewers to test.
Issue(s)
Fixes https://linear.app/uma/issue/UMA-2274/fill-in-state-override-details-in-apiosnap-for-osnap-sims