chore(sdk): Remove duplicate trait BlockHeader (#12584)

This commit is contained in:
Emilia Hane
2024-11-16 06:25:02 +01:00
committed by GitHub
parent fc97a0cbaf
commit e182df71a1
2 changed files with 5 additions and 68 deletions

View File

@ -7,72 +7,8 @@ pub use error::HeaderError;
#[cfg(any(test, feature = "test-utils", feature = "arbitrary"))]
pub mod test_utils;
use alloy_consensus::Header;
use alloy_primitives::{Address, BlockNumber, B256, U256};
/// Bincode-compatible header type serde implementations.
#[cfg(feature = "serde-bincode-compat")]
pub mod serde_bincode_compat {
pub use super::sealed::serde_bincode_compat::SealedHeader;
}
/// Trait for extracting specific Ethereum block data from a header
pub trait BlockHeader {
/// Retrieves the beneficiary (miner) of the block
fn beneficiary(&self) -> Address;
/// Retrieves the difficulty of the block
fn difficulty(&self) -> U256;
/// Retrieves the block number
fn number(&self) -> BlockNumber;
/// Retrieves the gas limit of the block
fn gas_limit(&self) -> u64;
/// Retrieves the timestamp of the block
fn timestamp(&self) -> u64;
/// Retrieves the mix hash of the block
fn mix_hash(&self) -> B256;
/// Retrieves the base fee per gas of the block, if available
fn base_fee_per_gas(&self) -> Option<u64>;
/// Retrieves the excess blob gas of the block, if available
fn excess_blob_gas(&self) -> Option<u64>;
}
impl BlockHeader for Header {
fn beneficiary(&self) -> Address {
self.beneficiary
}
fn difficulty(&self) -> U256 {
self.difficulty
}
fn number(&self) -> BlockNumber {
self.number
}
fn gas_limit(&self) -> u64 {
self.gas_limit
}
fn timestamp(&self) -> u64 {
self.timestamp
}
fn mix_hash(&self) -> B256 {
self.mix_hash
}
fn base_fee_per_gas(&self) -> Option<u64> {
self.base_fee_per_gas
}
fn excess_blob_gas(&self) -> Option<u64> {
self.excess_blob_gas
}
}

View File

@ -1,15 +1,16 @@
use super::Header;
use crate::InMemorySize;
use alloy_consensus::Sealed;
use core::mem;
use alloy_consensus::{Header, Sealed};
use alloy_eips::BlockNumHash;
use alloy_primitives::{keccak256, BlockHash, Sealable, B256};
use alloy_rlp::{Decodable, Encodable};
use bytes::BufMut;
use core::mem;
use derive_more::{AsRef, Deref};
use reth_codecs::add_arbitrary_tests;
use serde::{Deserialize, Serialize};
use crate::InMemorySize;
/// A helper struct to store the block number/hash and its parent hash.
#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub struct BlockWithParent {