From 4abbdba8ad24587882dd0b442b390c4673e79fb7 Mon Sep 17 00:00:00 2001 From: Derek Cofausper <256792747+decofe@users.noreply.github.com> Date: Fri, 27 Mar 2026 11:37:20 +0000 Subject: [PATCH 1/3] refactor(payload): remove op ExecutionPayload impl and op feature from payload-primitives Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com> Amp-Thread-ID: https://ampcode.com/threads/T-019d2f0e-50d7-776c-8c51-9492154d3fbe --- crates/engine/local/Cargo.toml | 1 - crates/payload/primitives/Cargo.toml | 5 --- crates/payload/primitives/src/payload.rs | 40 ------------------------ 3 files changed, 46 deletions(-) diff --git a/crates/engine/local/Cargo.toml b/crates/engine/local/Cargo.toml index 3e02c5be6a2..9cac2d3de11 100644 --- a/crates/engine/local/Cargo.toml +++ b/crates/engine/local/Cargo.toml @@ -40,5 +40,4 @@ workspace = true [features] op = [ "dep:op-alloy-rpc-types-engine", - "reth-payload-primitives/op", ] diff --git a/crates/payload/primitives/Cargo.toml b/crates/payload/primitives/Cargo.toml index 659a0c53d75..4cacba280cc 100644 --- a/crates/payload/primitives/Cargo.toml +++ b/crates/payload/primitives/Cargo.toml @@ -26,7 +26,6 @@ alloy-eips.workspace = true alloy-primitives.workspace = true alloy-rlp.workspace = true alloy-rpc-types-engine = { workspace = true, features = ["serde"] } -op-alloy-rpc-types-engine = { workspace = true, optional = true, features = ["serde"] } # misc auto_impl.workspace = true @@ -49,7 +48,6 @@ std = [ "alloy-eips/std", "alloy-primitives/std", "alloy-rpc-types-engine/std", - "op-alloy-rpc-types-engine?/std", "serde/std", "thiserror/std", "reth-primitives-traits/std", @@ -59,6 +57,3 @@ std = [ "serde_json/std", "sha2/std", ] -op = [ - "dep:op-alloy-rpc-types-engine", -] diff --git a/crates/payload/primitives/src/payload.rs b/crates/payload/primitives/src/payload.rs index d50f6ffd052..9c2a670d47d 100644 --- a/crates/payload/primitives/src/payload.rs +++ b/crates/payload/primitives/src/payload.rs @@ -169,46 +169,6 @@ where Self::PayloadAttributes(attributes) } } - -#[cfg(feature = "op")] -impl ExecutionPayload for op_alloy_rpc_types_engine::OpExecutionData { - fn parent_hash(&self) -> B256 { - self.parent_hash() - } - - fn block_hash(&self) -> B256 { - self.block_hash() - } - - fn block_number(&self) -> u64 { - self.block_number() - } - - fn withdrawals(&self) -> Option<&Vec> { - self.payload.as_v2().map(|p| &p.withdrawals) - } - - fn block_access_list(&self) -> Option<&Bytes> { - None - } - - fn parent_beacon_block_root(&self) -> Option { - self.sidecar.parent_beacon_block_root() - } - - fn timestamp(&self) -> u64 { - self.payload.as_v1().timestamp - } - - fn gas_used(&self) -> u64 { - self.payload.as_v1().gas_used - } - - fn transaction_count(&self) -> usize { - self.payload.as_v1().transactions.len() - } -} - /// Extended functionality for Ethereum execution payloads impl PayloadOrAttributes<'_, ExecutionData, Attributes> where From 14b0662f238f6b40fb3776efd5b5b947f5e24b74 Mon Sep 17 00:00:00 2001 From: Derek Cofausper <256792747+decofe@users.noreply.github.com> Date: Fri, 27 Mar 2026 11:41:04 +0000 Subject: [PATCH 2/3] chore: update Cargo.lock Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com> Amp-Thread-ID: https://ampcode.com/threads/T-019d2f0e-50d7-776c-8c51-9492154d3fbe --- Cargo.lock | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index ab4fcc25744..e697254b56f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9531,7 +9531,6 @@ dependencies = [ "assert_matches", "auto_impl", "either", - "op-alloy-rpc-types-engine", "reth-chain-state", "reth-chainspec", "reth-errors", From e04229c8ddbb6feb5ab57c97220e70416dd64754 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Fri, 27 Mar 2026 13:02:11 +0100 Subject: [PATCH 3/3] Remove `op` feature and update dependencies Removed the `op` feature and `op-alloy-rpc-types-engine` dependency from `reth-payload-primitives`. Updated `reth-engine-local` to drop the corresponding feature flag dependency. --- .changelog/rich-pigs-shake.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changelog/rich-pigs-shake.md diff --git a/.changelog/rich-pigs-shake.md b/.changelog/rich-pigs-shake.md new file mode 100644 index 00000000000..ffb6f433e4d --- /dev/null +++ b/.changelog/rich-pigs-shake.md @@ -0,0 +1,6 @@ +--- +reth-payload-primitives: patch +reth-engine-local: patch +--- + +Removed the `op` feature and `op-alloy-rpc-types-engine` dependency from `reth-payload-primitives`, along with the `ExecutionPayload` impl for `OpExecutionData`. Updated `reth-engine-local` to drop the corresponding feature flag dependency.