Patch revm with our forked version of v97#100
Conversation
|
Is there any reason to merge this into |
Hey @seolaoh, I was thinking we could merge this to main and then cherry pick to the release branch. But given our new timeline I think it might make sense to just merge the release branch into main and then cut a new release from main. What do you think? |
Yes, that makes sense. But when I tried to merge the release branch into main briefly, it has some conflicts. I'll resolve them and open a merge PR. |
|
Hey @piersy , since it's not a necessary thing to merge the release branch into main, how about just changing the base branch of this pr to the release branch? And then we can merge the release branch into main once mainnet release is out |
Sure we can do that, I was just thinking it could make development easier if our main branch was closer to this release. |
This ensures that we are using the same revm version as in our op-succinct repo. The v97 version fixed an execution bug that would have led to an execution mismatch between the op-stack and our succinct-stack. Also updates dependencies to point at the versions exported by the base of our forked revm.
b662f2b to
c12df0f
Compare
This ensures that we are using the same revm version as in our op-succinct repo. The v97 version fixed an execution bug that would have led to an execution mismatch between the op-stack and our succinct-stack. Also updates dependencies to point at the versions exported by the base of our forked revm.
* Bump kona to v1.1.7 and revm to v31.0.0 (#99) * Initial bump to kona v1.1.7 * Replace revm crates with custom fork which has two new func * Resolved version revm conflict between crates-io and github fork * Fix compile errors * Fix tests * Fix test_transfer * Fix handler tests * Fork revm in celo-org * Fix lint errors * Patch revm with our forked version of v97 (#100) This ensures that we are using the same revm version as in our op-succinct repo. The v97 version fixed an execution bug that would have led to an execution mismatch between the op-stack and our succinct-stack. Also updates dependencies to point at the versions exported by the base of our forked revm. * Update hokulea to v1.0.1 (#101) This version is required for L2Beat to put us in the 'validium & optimimum' category. * unsafe: Avoid account.mark_cold This is just a temporary measure until we switch to an revm version including bluealloy/revm#3160. * Implement CIP-64 system calls without state merging Keep all state changes in the EVM journal instead of using set_storage: - System calls execute without calling finalize() - State changes remain in journal for main transaction to see - Add call_read_only wrapper using checkpoint/revert to prevent accidental state changes in query operations - Apply read-only wrapper to get_balance, get_currencies, get_exchange_rates, get_intrinsic_gas This eliminates the need for manual state merging and the revm fork. * Stop using Celo revm fork Now that we use neither `Account.mark_cold` nor `set_storage`, we can go back to using upstream revm. * Add execution test * Remove double journaled * Test for revert deposit * Remove double set_balance * Prune to be closer to upstream * Fix nits * Bump hokulea to v1.0.2 * Docstring changes after PR discussion This makes things at least a bit clearer. I'm having a hard to adding explanations for all important aspects without creating a lot of text and linking to constantly changing revm code. --------- Co-authored-by: Seola Oh <osa8361@gmail.com> Co-authored-by: piersy <pierspowlesland@gmail.com> Co-authored-by: Gastón Ponti <gaston.ponti@clabs.co>
This ensures that we are using the same revm version as in our op-succinct repo. The v97 version fixed an execution bug that would have led to an execution mismatch between the op-stack and our succinct-stack.