From a18b0fce7c4d9a9da169ac0dcb583f5fa7e40cec Mon Sep 17 00:00:00 2001 From: Yohann Kazoula Date: Mon, 24 Feb 2025 22:36:37 +0200 Subject: [PATCH] Implement ExecutionPayload for OpExecutionData (#14682) --- crates/payload/primitives/src/payload.rs | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/crates/payload/primitives/src/payload.rs b/crates/payload/primitives/src/payload.rs index 106ebd608a..784fc915d3 100644 --- a/crates/payload/primitives/src/payload.rs +++ b/crates/payload/primitives/src/payload.rs @@ -126,3 +126,30 @@ 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> { + Some(&self.payload.as_v2().withdrawals) + } + + fn parent_beacon_block_root(&self) -> Option { + self.sidecar.parent_beacon_block_root() + } + + fn timestamp(&self) -> u64 { + self.payload.as_v2().timestamp() + } +}