Struct superchain_primitives::Genesis
source · pub struct Genesis {Show 13 fields
pub config: ChainConfig,
pub nonce: u64,
pub timestamp: u64,
pub extra_data: Bytes,
pub gas_limit: u128,
pub difficulty: Uint<256, 4>,
pub mix_hash: FixedBytes<32>,
pub coinbase: Address,
pub alloc: BTreeMap<Address, GenesisAccount>,
pub base_fee_per_gas: Option<u128>,
pub excess_blob_gas: Option<u128>,
pub blob_gas_used: Option<u128>,
pub number: Option<u64>,
}Expand description
Re-export the Genesis type from alloy_genesis. The genesis block specification.
Fields§
§config: ChainConfigThe fork configuration for this network.
nonce: u64The genesis header nonce.
timestamp: u64The genesis header timestamp.
extra_data: BytesThe genesis header extra data.
gas_limit: u128The genesis header gas limit.
difficulty: Uint<256, 4>The genesis header difficulty.
mix_hash: FixedBytes<32>The genesis header mix hash.
coinbase: AddressThe genesis header coinbase address.
alloc: BTreeMap<Address, GenesisAccount>The initial state of accounts in the genesis block.
base_fee_per_gas: Option<u128>The genesis header base fee
excess_blob_gas: Option<u128>The genesis header excess blob gas
blob_gas_used: Option<u128>The genesis header blob gas used
number: Option<u64>The genesis block number
Implementations§
source§impl Genesis
impl Genesis
sourcepub fn clique_genesis(chain_id: u64, signer_addr: Address) -> Genesis
pub fn clique_genesis(chain_id: u64, signer_addr: Address) -> Genesis
Creates a chain config for Clique using the given chain id. and funds the given address with max coins.
Enables all hard forks up to London at genesis.
sourcepub const fn with_nonce(self, nonce: u64) -> Genesis
pub const fn with_nonce(self, nonce: u64) -> Genesis
Set the nonce.
sourcepub const fn with_timestamp(self, timestamp: u64) -> Genesis
pub const fn with_timestamp(self, timestamp: u64) -> Genesis
Set the timestamp.
sourcepub fn with_extra_data(self, extra_data: Bytes) -> Genesis
pub fn with_extra_data(self, extra_data: Bytes) -> Genesis
Set the extra data.
sourcepub const fn with_gas_limit(self, gas_limit: u128) -> Genesis
pub const fn with_gas_limit(self, gas_limit: u128) -> Genesis
Set the gas limit.
sourcepub const fn with_difficulty(self, difficulty: Uint<256, 4>) -> Genesis
pub const fn with_difficulty(self, difficulty: Uint<256, 4>) -> Genesis
Set the difficulty.
sourcepub const fn with_mix_hash(self, mix_hash: FixedBytes<32>) -> Genesis
pub const fn with_mix_hash(self, mix_hash: FixedBytes<32>) -> Genesis
Set the mix hash of the header.
sourcepub const fn with_coinbase(self, address: Address) -> Genesis
pub const fn with_coinbase(self, address: Address) -> Genesis
Set the coinbase address.
sourcepub const fn with_base_fee(self, base_fee: Option<u128>) -> Genesis
pub const fn with_base_fee(self, base_fee: Option<u128>) -> Genesis
Set the base fee.
sourcepub const fn with_excess_blob_gas(
self,
excess_blob_gas: Option<u128>,
) -> Genesis
pub const fn with_excess_blob_gas( self, excess_blob_gas: Option<u128>, ) -> Genesis
Set the excess blob gas.
sourcepub const fn with_blob_gas_used(self, blob_gas_used: Option<u128>) -> Genesis
pub const fn with_blob_gas_used(self, blob_gas_used: Option<u128>) -> Genesis
Set the blob gas used.
sourcepub fn extend_accounts(
self,
accounts: impl IntoIterator<Item = (Address, GenesisAccount)>,
) -> Genesis
pub fn extend_accounts( self, accounts: impl IntoIterator<Item = (Address, GenesisAccount)>, ) -> Genesis
Add accounts to the genesis block. If the address is already present, the account is updated.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Genesis
impl<'de> Deserialize<'de> for Genesis
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Genesis, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Genesis, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for Genesis
impl PartialEq for Genesis
source§impl Serialize for Genesis
impl Serialize for Genesis
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for Genesis
impl StructuralPartialEq for Genesis
Auto Trait Implementations§
impl !Freeze for Genesis
impl RefUnwindSafe for Genesis
impl Send for Genesis
impl Sync for Genesis
impl Unpin for Genesis
impl UnwindSafe for Genesis
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)