pub struct ChainConfig {Show 35 fields
pub chain_id: u64,
pub homestead_block: Option<u64>,
pub dao_fork_block: Option<u64>,
pub dao_fork_support: bool,
pub eip150_block: Option<u64>,
pub eip155_block: Option<u64>,
pub eip158_block: Option<u64>,
pub byzantium_block: Option<u64>,
pub constantinople_block: Option<u64>,
pub petersburg_block: Option<u64>,
pub istanbul_block: Option<u64>,
pub muir_glacier_block: Option<u64>,
pub berlin_block: Option<u64>,
pub london_block: Option<u64>,
pub arrow_glacier_block: Option<u64>,
pub gray_glacier_block: Option<u64>,
pub merge_netsplit_block: Option<u64>,
pub shanghai_time: Option<u64>,
pub cancun_time: Option<u64>,
pub prague_time: Option<u64>,
pub verkle_time: Option<u64>,
pub osaka_time: Option<u64>,
pub bpo1_time: Option<u64>,
pub bpo2_time: Option<u64>,
pub bpo3_time: Option<u64>,
pub bpo4_time: Option<u64>,
pub bpo5_time: Option<u64>,
pub amsterdam_time: Option<u64>,
pub hegota_time: Option<u64>,
pub lstar_time: Option<u64>,
pub terminal_total_difficulty: Option<u128>,
pub terminal_total_difficulty_passed: bool,
pub blob_schedule: BlobSchedule,
pub deposit_contract_address: Address,
pub enable_verkle_at_genesis: bool,
}Expand description
Blockchain settings defined per block
Fields§
§chain_id: u64Current chain identifier
homestead_block: Option<u64>Block numbers for the block where each fork was activated (None = no fork, 0 = fork is already active)
dao_fork_block: Option<u64>§dao_fork_support: boolWhether the node supports or opposes the DAO hard-fork
eip150_block: Option<u64>§eip155_block: Option<u64>§eip158_block: Option<u64>§byzantium_block: Option<u64>§constantinople_block: Option<u64>§petersburg_block: Option<u64>§istanbul_block: Option<u64>§muir_glacier_block: Option<u64>§berlin_block: Option<u64>§london_block: Option<u64>§arrow_glacier_block: Option<u64>§gray_glacier_block: Option<u64>§merge_netsplit_block: Option<u64>§shanghai_time: Option<u64>Timestamp at which each fork was activated (None = no fork, 0 = fork is already active)
cancun_time: Option<u64>§prague_time: Option<u64>§verkle_time: Option<u64>§osaka_time: Option<u64>§bpo1_time: Option<u64>§bpo2_time: Option<u64>§bpo3_time: Option<u64>§bpo4_time: Option<u64>§bpo5_time: Option<u64>§amsterdam_time: Option<u64>§hegota_time: Option<u64>hezeTime/heze_time, and bogotaTime/bogota_time in genesis JSON
to track upstream rename of the post-Glamsterdam fork
(Bogotá → Hegotá → Hezé). The ethereum-genesis-generator (6.0.5)
currently emits bogotaTime regardless of which name kurtosis args
use. Internal name stays hegota_time until upstream picks a final
name; this is purely a parsing alias.
lstar_time: Option<u64>§terminal_total_difficulty: Option<u128>Amount of total difficulty reached by the network that triggers the consensus upgrade.
terminal_total_difficulty_passed: boolNetwork has already passed the terminal total difficult
blob_schedule: BlobSchedule§deposit_contract_address: Address§enable_verkle_at_genesis: boolImplementations§
Source§impl ChainConfig
impl ChainConfig
pub fn is_hegota_activated(&self, block_timestamp: u64) -> bool
pub fn is_lstar_activated(&self, block_timestamp: u64) -> bool
pub fn is_amsterdam_activated(&self, block_timestamp: u64) -> bool
pub fn is_bpo5_activated(&self, block_timestamp: u64) -> bool
pub fn is_bpo4_activated(&self, block_timestamp: u64) -> bool
pub fn is_bpo3_activated(&self, block_timestamp: u64) -> bool
pub fn is_bpo2_activated(&self, block_timestamp: u64) -> bool
pub fn is_bpo1_activated(&self, block_timestamp: u64) -> bool
pub fn is_osaka_activated(&self, block_timestamp: u64) -> bool
pub fn is_prague_activated(&self, block_timestamp: u64) -> bool
pub fn is_shanghai_activated(&self, block_timestamp: u64) -> bool
pub fn is_cancun_activated(&self, block_timestamp: u64) -> bool
pub fn is_istanbul_activated(&self, block_number: BlockNumber) -> bool
pub fn is_london_activated(&self, block_number: BlockNumber) -> bool
pub fn is_eip155_activated(&self, block_number: BlockNumber) -> bool
pub fn display_config(&self) -> String
pub fn get_fork(&self, block_timestamp: u64) -> Fork
pub fn get_fork_blob_schedule( &self, block_timestamp: u64, ) -> Option<ForkBlobSchedule>
pub fn fork(&self, block_timestamp: u64) -> Fork
pub fn next_fork(&self, block_timestamp: u64) -> Option<Fork>
pub fn get_last_scheduled_fork(&self) -> Fork
pub fn get_activation_timestamp_for_fork(&self, fork: Fork) -> Option<u64>
pub fn get_blob_schedule_for_fork(&self, fork: Fork) -> Option<ForkBlobSchedule>
pub fn gather_forks(&self, genesis_header: BlockHeader) -> (Vec<u64>, Vec<u64>)
Trait Implementations§
Source§impl Archive for ChainConfigwhere
u64: Archive,
Option<u64>: Archive,
bool: Archive,
Option<u128>: Archive,
BlobSchedule: Archive,
H160Wrapper: ArchiveWith<Address>,
impl Archive for ChainConfigwhere
u64: Archive,
Option<u64>: Archive,
bool: Archive,
Option<u128>: Archive,
BlobSchedule: Archive,
H160Wrapper: ArchiveWith<Address>,
Source§type Archived = ArchivedChainConfig
type Archived = ArchivedChainConfig
Source§type Resolver = ChainConfigResolver
type Resolver = ChainConfigResolver
Source§fn resolve(&self, resolver: Self::Resolver, out: Place<Self::Archived>)
fn resolve(&self, resolver: Self::Resolver, out: Place<Self::Archived>)
Source§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
serialize. Read moreSource§impl Clone for ChainConfig
impl Clone for ChainConfig
impl Copy for ChainConfig
Source§impl Debug for ChainConfig
impl Debug for ChainConfig
Source§impl Default for ChainConfig
impl Default for ChainConfig
Source§impl<'de> Deserialize<'de> for ChainConfig
impl<'de> Deserialize<'de> for ChainConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<__D: Fallible + ?Sized> Deserialize<ChainConfig, __D> for Archived<ChainConfig>where
u64: Archive,
<u64 as Archive>::Archived: Deserialize<u64, __D>,
Option<u64>: Archive,
<Option<u64> as Archive>::Archived: Deserialize<Option<u64>, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
Option<u128>: Archive,
<Option<u128> as Archive>::Archived: Deserialize<Option<u128>, __D>,
BlobSchedule: Archive,
<BlobSchedule as Archive>::Archived: Deserialize<BlobSchedule, __D>,
H160Wrapper: ArchiveWith<Address> + DeserializeWith<<H160Wrapper as ArchiveWith<Address>>::Archived, Address, __D>,
impl<__D: Fallible + ?Sized> Deserialize<ChainConfig, __D> for Archived<ChainConfig>where
u64: Archive,
<u64 as Archive>::Archived: Deserialize<u64, __D>,
Option<u64>: Archive,
<Option<u64> as Archive>::Archived: Deserialize<Option<u64>, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
Option<u128>: Archive,
<Option<u128> as Archive>::Archived: Deserialize<Option<u128>, __D>,
BlobSchedule: Archive,
<BlobSchedule as Archive>::Archived: Deserialize<BlobSchedule, __D>,
H160Wrapper: ArchiveWith<Address> + DeserializeWith<<H160Wrapper as ArchiveWith<Address>>::Archived, Address, __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<ChainConfig, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<ChainConfig, <__D as Fallible>::Error>
Source§impl PartialEq for ChainConfig
impl PartialEq for ChainConfig
Source§impl Serialize for ChainConfig
impl Serialize for ChainConfig
Source§impl<__S: Fallible + ?Sized> Serialize<__S> for ChainConfigwhere
u64: Serialize<__S>,
Option<u64>: Serialize<__S>,
bool: Serialize<__S>,
Option<u128>: Serialize<__S>,
BlobSchedule: Serialize<__S>,
H160Wrapper: SerializeWith<Address, __S>,
impl<__S: Fallible + ?Sized> Serialize<__S> for ChainConfigwhere
u64: Serialize<__S>,
Option<u64>: Serialize<__S>,
bool: Serialize<__S>,
Option<u128>: Serialize<__S>,
BlobSchedule: Serialize<__S>,
H160Wrapper: SerializeWith<Address, __S>,
impl StructuralPartialEq for ChainConfig
Auto Trait Implementations§
impl Freeze for ChainConfig
impl RefUnwindSafe for ChainConfig
impl Send for ChainConfig
impl Sync for ChainConfig
impl Unpin for ChainConfig
impl UnsafeUnpin for ChainConfig
impl UnwindSafe for ChainConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive, it may be
unsized. Read moreSource§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.