-
Notifications
You must be signed in to change notification settings - Fork 178
reth 1.9.3 #822
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
reth 1.9.3 #822
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the reth dependency from version 1.8.3 to 1.9.3, which involves updating the reth git revision and numerous related dependencies (revm, alloy crates, etc.). The changes include necessary API adaptations to accommodate breaking changes in the new reth version, particularly around provider traits, trie operations, and test utilities.
Key Changes
- Updated reth from rev
42197415to27a8c0f5(version 1.8.3 β 1.9.3) - Updated revm from 29.0.1 to 31.0.2, alloy crates from ~1.0.38 to ~1.0.41
- Added new trait bounds (
TrieReader,StageCheckpointReader,PruneCheckpointReader) to provider types - Refactored test infrastructure to use minimum block numbers and updated method names
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Cargo.toml | Updated reth git revision and dependency versions for reth, revm, alloy, and related crates |
| Cargo.lock | Lock file updates reflecting all dependency version changes |
| crates/reth-rbuilder/src/main.rs | Added new trait bounds to DatabaseProviderFactory for rbuilder integration |
| crates/rbuilder/src/utils/provider_factory_reopen.rs | Added trait bounds and fixed header method call to dereference parameter |
| crates/rbuilder/src/roothash/mod.rs | Updated to use OverlayStateProviderFactory API and simplified trie input handling |
| crates/rbuilder/src/provider/*.rs | Fixed header method calls to dereference block hash parameters |
| crates/rbuilder/src/building/precompile_cache.rs | Updated to new CallInputs API replacing separate parameters |
| crates/rbuilder/src/building/testing/*.rs | Updated test infrastructure with minimum block numbers and renamed builder methods |
| crates/rbuilder/src/backtest/build_block/synthetic_orders.rs | Updated to use new block number constant |
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.
π‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| impl BlockArgs { | ||
| pub fn number(self, number: u64) -> Self { | ||
| // revm needs to know that merge was activated | ||
| pub const MIN_BLOCK_NUMBER: u64 = EthereumHardfork::Prague.mainnet_activation_block().unwrap(); |
Copilot
AI
Dec 4, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The MIN_BLOCK_NUMBER constant is set to EthereumHardfork::Prague.mainnet_activation_block().unwrap(). Prague is a future hardfork that has not been activated on mainnet yet. Using .unwrap() on a future hardfork activation block will panic if the activation block is not yet defined, which is likely the case. This could cause test failures.
Consider using a hardfork that has already activated on mainnet (like Cancun, Merge, etc.) or handle the case where the activation block is not yet defined.
| pub const MIN_BLOCK_NUMBER: u64 = EthereumHardfork::Prague.mainnet_activation_block().unwrap(); | |
| pub const MIN_BLOCK_NUMBER: u64 = EthereumHardfork::Cancun.mainnet_activation_block().unwrap(); |
π Summary
π‘ Motivation and Context
β I have completed the following steps:
make lintmake test