Skip to content

Patch revm with our forked version of v97#100

Merged
piersy merged 1 commit intorelease/v1.0.0-rc.4from
piersy/update-revm-v31.0.1
Nov 11, 2025
Merged

Patch revm with our forked version of v97#100
piersy merged 1 commit intorelease/v1.0.0-rc.4from
piersy/update-revm-v31.0.1

Conversation

@piersy
Copy link
Copy Markdown
Contributor

@piersy piersy commented Nov 10, 2025

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.

@piersy piersy requested a review from seolaoh November 10, 2025 16:45
@seolaoh
Copy link
Copy Markdown
Collaborator

seolaoh commented Nov 11, 2025

Is there any reason to merge this into main instead of release/v1.0.0-rc.4? Or would it make more sense to merge the release branch into main now, to simplify the development, if there are no issues running cost-estimator with main branch?

@piersy
Copy link
Copy Markdown
Contributor Author

piersy commented Nov 11, 2025

Is there any reason to merge this into main instead of release/v1.0.0-rc.4? Or would it make more sense to merge the release branch into main now, to simplify the development, if there are no issues running cost-estimator with main branch?

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?

@seolaoh
Copy link
Copy Markdown
Collaborator

seolaoh commented Nov 11, 2025

Is there any reason to merge this into main instead of release/v1.0.0-rc.4? Or would it make more sense to merge the release branch into main now, to simplify the development, if there are no issues running cost-estimator with main branch?

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.

@seolaoh
Copy link
Copy Markdown
Collaborator

seolaoh commented Nov 11, 2025

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

@piersy
Copy link
Copy Markdown
Contributor Author

piersy commented Nov 11, 2025

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.

@piersy piersy changed the base branch from main to release/v1.0.0-rc.4 November 11, 2025 15:24
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.
@piersy piersy force-pushed the piersy/update-revm-v31.0.1 branch from b662f2b to c12df0f Compare November 11, 2025 15:42
@piersy piersy merged commit 53aa2fd into release/v1.0.0-rc.4 Nov 11, 2025
9 checks passed
@piersy piersy deleted the piersy/update-revm-v31.0.1 branch November 11, 2025 16:19
karlb pushed a commit that referenced this pull request Nov 17, 2025
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.
karlb added a commit that referenced this pull request Dec 8, 2025
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants