Skip to content

chore: bump revm v26.0.0#105

Merged
mattsse merged 1 commit intoalloy-rs:matt/bump-revm25from
rakita:rakita/bump_revmv26
Jun 19, 2025
Merged

chore: bump revm v26.0.0#105
mattsse merged 1 commit intoalloy-rs:matt/bump-revm25from
rakita:rakita/bump_revmv26

Conversation

@rakita
Copy link
Copy Markdown
Collaborator

@rakita rakita commented Jun 19, 2025

Motivation

Solution

PR Checklist

  • Added Tests
  • Added Documentation
  • Breaking changes

@rakita rakita requested review from klkvr and mattsse as code owners June 19, 2025 13:34
@rakita rakita force-pushed the rakita/bump_revmv26 branch from 03ee95a to 49dbc5b Compare June 19, 2025 13:36
@mattsse mattsse merged commit f6bc81c into alloy-rs:matt/bump-revm25 Jun 19, 2025
27 checks passed
klkvr added a commit that referenced this pull request Jun 20, 2025
* chore: bump revm 25

* more saturating

* feat: complete revm v25 migration with proper type conversions

## Original Task
Complete the migration to revm v25 and follow the hints in issue #99:
- Change `ResultAndState<Halt, EvmState>` to `ResultAndState<ExecutionResult<Halt>, EvmState>`
- For block numbers and timestamps, use `saturating_to()` when converting from U256 to u64

## Changes Applied

### Type System Updates
- Updated all `ResultAndState` signatures from `ResultAndState<HaltReason, EvmState>`
  to `ResultAndState<ExecutionResult<HaltReason>, EvmState>` across:
  - Core `Evm` trait definitions in `src/evm.rs`
  - Ethereum implementation in `src/eth/mod.rs`
  - OP implementation in `src/lib.rs`
  - Either wrapper in `src/either.rs`
  - All system call implementations (EIP-2935, EIP-4788, EIP-7002, EIP-7251)

### U256 to u64 Conversions
- Added `saturating_to()` method calls for all U256 to u64 conversions:
  - `block().number.saturating_to()` for block number conversions
  - `block().timestamp.saturating_to()` for timestamp conversions
  - Applied across both `alloy-evm` and `alloy-op-evm` crates

### EVM Integration Updates
- Replaced manual `transact()` + `journaled_state.finalize()` pattern with `transact_finalize()`
- Updated Account struct initialization to include required `transaction_id: 0` field
- Simplified transaction execution logic using revm v25's improved API

### Import Updates
- Added `ExecutionResult` and `EvmState` imports where needed
- Removed unused `InspectEvm` imports
- Updated import paths for revm v25 module structure

## Testing
- All existing tests pass
- Build completes without warnings
- Both `alloy-evm` and `alloy-op-evm` crates compile successfully

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* rusfmt

* bump

* bumo

* chore: bump revm 26

* chore: bump revm v26.0.0 (#105)

fix compilation

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com>
Co-authored-by: rakita <rakita@users.noreply.github.com>
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Jan 16, 2026
* chore: bump revm 25

* more saturating

* feat: complete revm v25 migration with proper type conversions

## Original Task
Complete the migration to revm v25 and follow the hints in issue #99:
- Change `ResultAndState<Halt, EvmState>` to `ResultAndState<ExecutionResult<Halt>, EvmState>`
- For block numbers and timestamps, use `saturating_to()` when converting from U256 to u64

## Changes Applied

### Type System Updates
- Updated all `ResultAndState` signatures from `ResultAndState<HaltReason, EvmState>`
  to `ResultAndState<ExecutionResult<HaltReason>, EvmState>` across:
  - Core `Evm` trait definitions in `src/evm.rs`
  - Ethereum implementation in `src/eth/mod.rs`
  - OP implementation in `src/lib.rs`
  - Either wrapper in `src/either.rs`
  - All system call implementations (EIP-2935, EIP-4788, EIP-7002, EIP-7251)

### U256 to u64 Conversions
- Added `saturating_to()` method calls for all U256 to u64 conversions:
  - `block().number.saturating_to()` for block number conversions
  - `block().timestamp.saturating_to()` for timestamp conversions
  - Applied across both `alloy-evm` and `alloy-op-evm` crates

### EVM Integration Updates
- Replaced manual `transact()` + `journaled_state.finalize()` pattern with `transact_finalize()`
- Updated Account struct initialization to include required `transaction_id: 0` field
- Simplified transaction execution logic using revm v25's improved API

### Import Updates
- Added `ExecutionResult` and `EvmState` imports where needed
- Removed unused `InspectEvm` imports
- Updated import paths for revm v25 module structure

## Testing
- All existing tests pass
- Build completes without warnings
- Both `alloy-evm` and `alloy-op-evm` crates compile successfully

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* rusfmt

* bump

* bumo

* chore: bump revm 26

* chore: bump revm v26.0.0 (alloy-rs/evm#105)

fix compilation

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com>
Co-authored-by: rakita <rakita@users.noreply.github.com>
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.

3 participants