pub mod blob;
pub use blob::{
calc_blob_gasprice, calc_excess_blob_gas, calc_excess_blob_gas_osaka, BlobExcessGasAndPrice,
};
use auto_impl::auto_impl;
use primitives::{Address, B256, U256};
#[auto_impl(&, &mut, Box, Arc)]
pub trait Block {
fn number(&self) -> U256;
fn beneficiary(&self) -> Address;
fn timestamp(&self) -> U256;
fn gas_limit(&self) -> u64;
fn basefee(&self) -> u64;
fn difficulty(&self) -> U256;
fn prevrandao(&self) -> Option<B256>;
fn blob_excess_gas_and_price(&self) -> Option<BlobExcessGasAndPrice>;
fn blob_gasprice(&self) -> Option<u128> {
self.blob_excess_gas_and_price().map(|a| a.blob_gasprice)
}
fn blob_excess_gas(&self) -> Option<u64> {
self.blob_excess_gas_and_price().map(|a| a.excess_blob_gas)
}
}