From e7f22e8a6cb2985c6c5bbe50155ef8cab3171b79 Mon Sep 17 00:00:00 2001 From: WillQ Date: Thu, 3 Apr 2025 22:18:15 +0800 Subject: [PATCH] chore: expose electra struct --- crates/common/src/pbs/types/get_header.rs | 21 +++++++++++++++++++++ crates/common/src/pbs/types/mod.rs | 9 ++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/crates/common/src/pbs/types/get_header.rs b/crates/common/src/pbs/types/get_header.rs index fc4144d3..954aca66 100644 --- a/crates/common/src/pbs/types/get_header.rs +++ b/crates/common/src/pbs/types/get_header.rs @@ -66,6 +66,27 @@ impl GetHeaderResponse { VersionedResponse::Electra(data) => data.message.value, } } + + pub fn transactions_root(&self) -> B256 { + match self { + GetHeaderResponse::Deneb(data) => data.message.header.transactions_root, + GetHeaderResponse::Electra(data) => data.message.header.transactions_root, + } + } + + pub fn parent_hash(&self) -> B256 { + match self { + GetHeaderResponse::Deneb(data) => data.message.header.parent_hash, + GetHeaderResponse::Electra(data) => data.message.header.parent_hash, + } + } + + pub fn signautre(&self) -> BlsSignature { + match self { + GetHeaderResponse::Deneb(data) => data.signature, + GetHeaderResponse::Electra(data) => data.signature, + } + } } #[derive(Debug, Default, Clone, Serialize, Deserialize, Encode, Decode)] diff --git a/crates/common/src/pbs/types/mod.rs b/crates/common/src/pbs/types/mod.rs index c90b8edf..e649f43a 100644 --- a/crates/common/src/pbs/types/mod.rs +++ b/crates/common/src/pbs/types/mod.rs @@ -17,12 +17,15 @@ pub use execution_payload::{ ExecutionPayload, ExecutionPayloadHeader, Transaction, Transactions, Withdrawal, EMPTY_TX_ROOT_HASH, }; +pub use execution_requests::{ + ConsolidationRequest, DepositRequest, ExecutionRequests, WithdrawalRequest, +}; pub use get_header::{ - ExecutionPayloadHeaderMessageDeneb, GetHeaderParams, GetHeaderResponse, - SignedExecutionPayloadHeader, + ExecutionPayloadHeaderMessageDeneb, ExecutionPayloadHeaderMessageElectra, GetHeaderParams, + GetHeaderResponse, SignedExecutionPayloadHeader, }; pub use kzg::{ KzgCommitment, KzgCommitments, KzgProof, KzgProofs, BYTES_PER_COMMITMENT, BYTES_PER_PROOF, }; -pub use spec::{DenebSpec, EthSpec}; +pub use spec::{DenebSpec, ElectraSpec, EthSpec}; pub use utils::VersionedResponse;