feat: Use alloy-evm for stateless block building#1400
Conversation
There was a problem hiding this comment.
Copilot reviewed 79 out of 79 changed files in this pull request and generated no comments.
Comments suppressed due to low confidence (4)
crates/proof/executor/src/test_utils.rs:4
- The FEE_RECIPIENT constant was removed and replaced by using executing_header.beneficiary; please ensure that all tests have been updated accordingly.
use crate::{StatelessL2BlockExecutor, TrieDBProvider, constants::FEE_RECIPIENT};
crates/proof/executor/src/lib.rs:19
- The public API now exposes StatelessL2Builder instead of StatelessL2BlockExecutor; please confirm that all downstream consumers are updated to work with the new builder pattern.
pub use builder::{BlockBuildingOutcome, StatelessL2Builder};
crates/proof/executor/Cargo.toml:36
- Dependency versions have been updated across several alloy and revm libraries; please verify that these version bumps are fully compatible with the rest of the system and that no breaking changes have been introduced.
alloy-evm.workspace = true
crates/node/p2p/src/gossip/handler.rs:193
- The test signature type was updated from PrimitiveSignature to Signature; please ensure that this change is consistent across all tests relying on alloy_primitives.
signature: Signature::test_signature(),
686db77 to
24e8393
Compare
There was a problem hiding this comment.
Copilot reviewed 114 out of 115 changed files in this pull request and generated no comments.
Files not reviewed (1)
- .config/monorepo: Language not supported
Comments suppressed due to low confidence (2)
crates/proof/executor/src/db/mod.rs:104
- The updated TrieDB::new signature now accepts a sealed header instead of an explicit root hash. Consider updating the associated documentation and comments to clarify this change for future maintainers and users.
pub fn new(parent_block_header: Sealed<Header>, fetcher: F, hinter: H) -> Self {
.github/workflows/client_host.yaml:15
- [nitpick] Ensure that the updated block number is consistently used across all deployment and testing configurations if applicable.
name: ["OP Sepolia (Holocene) - Block #26215604"]
There was a problem hiding this comment.
Copilot reviewed 114 out of 115 changed files in this pull request and generated no comments.
Files not reviewed (1)
- .config/monorepo: Language not supported
Comments suppressed due to low confidence (3)
crates/proof/executor/src/errors.rs:40
- Ensure that the change to BlockExecutionError is reflected across all downstream error handling code so that outdated references to the legacy EVMError type are fully removed.
ExecutionError(#[from] BlockExecutionError),
Cargo.toml:136
- Verify that the upgraded 'revm' alongside the added 'op-revm' dependency are fully compatible and that any breaking changes between versions are properly addressed across the codebase.
revm = { version = "22.0.0", default-features = false }
.github/workflows/client_host.yaml:56
- Double-check that the updated block number and the associated environment variables (L2_CLAIM, L2_OUTPUT_ROOT, L2_HEAD, L1_HEAD) correctly match the new test fixture data and network configuration expectations.
if [[ ${{ contains(matrix.name, 26215604) }} == true ]]; then
4642f30 to
f3b333d
Compare
refcell
left a comment
There was a problem hiding this comment.
Left a few comments. Nice work - so happy we have test coverage because this is beefy
alloy-evm cont alloy-evm cont
) Align the “executor customization” section with the changes from PR op-rs/kona#1400 (switch to alloy-evm for stateless block building). close op-rs/kona#1427 Co-authored-by: theo <80177219+theochap@users.noreply.github.com>
Overview
Upgrades the
kona-executorcrate, and its consumers, to share block building logic withop-reththrough the newalloy-evm+alloy-op-evmcrates.Also unblocks the upgrade of all
alloy-*+op-alloy-*+revmcrates.