Conversation
📝 WalkthroughWalkthroughDependency upgrade from reth v1.9.3 to v1.10.2 with corresponding alloy version updates (Cargo.toml), followed by coordinated API alignment across consensus, engine, EVM, RPC, and node modules to match new upstream signatures. Package version bumped to 1.4.0-rc.1. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
dbff75f to
d61a4c7
Compare
There was a problem hiding this comment.
Pull request overview
This PR upgrades reth dependency from v1.9.3 to v1.10.2, along with corresponding alloy dependency updates. The upgrade involves several breaking SDK changes in reth v1.10.x that require adaptation throughout the codebase.
Changes:
- Updated reth from v1.9.3 to v1.10.2 and alloy dependencies to match upstream versions
- Adapted to trait refactorings including
HeaderMut,RpcConvert,Consensus, andPayloadAttributesBuilder - Updated method signatures and API calls to match new reth interfaces
- Added EIP-7872 blob limit configuration support and extra_data field handling
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Cargo.toml | Bumped reth to v1.10.2, alloy to v1.4.3/v1.5.0, and updated build/dev dependencies |
| Cargo.lock | Comprehensive dependency lock file updates reflecting the version bumps |
| src/primitives/header.rs | Replaced CliHeader trait with HeaderMut trait implementation |
| src/rpc/api.rs | Updated RpcConvert trait bounds with Error type, renamed tx_resp_builder to converter, refactored send_transaction method |
| src/node/mod.rs | Updated PayloadAttributesBuilder signature to include header type parameter |
| src/node/evm/config.rs | Renamed with_spec to with_spec_and_mainnet_gas_params, added extra_data field |
| src/node/evm/executor.rs | Updated imports for balance_increment_state and post_block_balance_increments moved to alloy-evm, added receipts() method |
| src/consensus/mod.rs | Removed type Error from Consensus trait implementation, added receipt_root_bloom parameter |
| src/engine/mod.rs | Added block_access_list() and transaction_count() methods to ExecutionPayloadTrait |
| src/engine/rpc.rs | Added required network parameter to EngineApi::new |
| src/engine/validator.rs | Split ensure_well_formed_payload into separate convert_payload_to_block method |
| src/engine/payload.rs | Updated PayloadAttributesBuilder::build to take &SealedHeader instead of timestamp |
| src/engine/builder.rs | Added EIP-7872 blob limit logic, updated mark_invalid calls to pass reference |
| .github/assets/hive/*.{yaml,sh} | Updated comments from "Copied from" to "Synced with" reth v1.10.2 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR bumps reth dependency from
v1.9.3tov1.10.2. Note that it required bumping alloy dependencies as well.Reth v1.10.x contains several breaking SDK changes, most notable being:
CliHeadertrait replaced withHeaderMut- updatedBerachainHeaderimpl (src/primitives/header.rs:98)EthApiTypesandRpcConverttraits refactored with newErrorbounds - updatedBerachainApiimpls (src/rpc/api.rs:345)PayloadAttributesBuilder::buildnow takes&SealedHeader<Header>(only affectsLocalPayloadAttributesBuilderused in debug/testing mode) - updatedBerachainPayloadAttributesto derive attributes from parent header instead of timestamp (mirrors upstream reth) (src/engine/payload.rs:141)EngineApi::newrequires additionalnetworkparameter - updated engine RPC setup (src/engine/rpc.rs:81)Consensustrait simplified (removedtype Error) - updatedBerachainBeaconConsensusimpl (src/consensus/mod.rs:218)tx_resp_builder→converteratsrc/rpc/api.rs:352,with_spec→with_spec_and_mainnet_gas_paramsatsrc/node/evm/config.rs:122)This PR also aligns with upstream payload builder logic by adding
extra_datafield toBerachainNextBlockEnvAttributesand EIP-7872 blob limit configuration support.Note: The alloy dependencies align exactly with upstream reth v1.10.2 release, see here
Test plan
Summary by CodeRabbit
Release Notes
Chores
Refactor