reth_e2e_test_utils/
traits.rs1use alloy_rpc_types_engine::{
2 ExecutionPayloadEnvelopeV3, ExecutionPayloadEnvelopeV4, ExecutionPayloadV3,
3};
4
5#[cfg(feature = "optimism")]
6use op_alloy_rpc_types_engine::{OpExecutionPayloadEnvelopeV3, OpExecutionPayloadEnvelopeV4};
7
8pub trait PayloadEnvelopeExt: Send + Sync + std::fmt::Debug {
10 fn execution_payload(&self) -> ExecutionPayloadV3;
12}
13
14#[cfg(feature = "optimism")]
15impl PayloadEnvelopeExt for OpExecutionPayloadEnvelopeV3 {
16 fn execution_payload(&self) -> ExecutionPayloadV3 {
17 self.execution_payload.clone()
18 }
19}
20
21#[cfg(feature = "optimism")]
22impl PayloadEnvelopeExt for OpExecutionPayloadEnvelopeV4 {
23 fn execution_payload(&self) -> ExecutionPayloadV3 {
24 self.execution_payload.clone()
25 }
26}
27
28impl PayloadEnvelopeExt for ExecutionPayloadEnvelopeV3 {
29 fn execution_payload(&self) -> ExecutionPayloadV3 {
30 self.execution_payload.clone()
31 }
32}
33
34impl PayloadEnvelopeExt for ExecutionPayloadEnvelopeV4 {
35 fn execution_payload(&self) -> ExecutionPayloadV3 {
36 self.execution_payload.clone()
37 }
38}