pub struct ChainConfig {Show 33 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 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>§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_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
The archived representation of this type. Read more
Source§type Resolver = ChainConfigResolver
type Resolver = ChainConfigResolver
The resolver for this type. It must contain all the additional
information from serializing needed to make the archived type from
the normal type.
Source§fn resolve(&self, resolver: Self::Resolver, out: Place<Self::Archived>)
fn resolve(&self, resolver: Self::Resolver, out: Place<Self::Archived>)
Creates the archived version of this value at the given position and
writes it to the given output. Read more
Source§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
An optimization flag that allows the bytes of this type to be copied
directly to a writer instead of calling
serialize. Read moreSource§impl Clone for ChainConfig
impl Clone for ChainConfig
Source§fn clone(&self) -> ChainConfig
fn clone(&self) -> ChainConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ChainConfig
Source§impl Debug for ChainConfig
impl Debug for ChainConfig
Source§impl Default for ChainConfig
impl Default for ChainConfig
Source§fn default() -> ChainConfig
fn default() -> ChainConfig
Returns the “default value” for a type. Read more
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>,
Deserialize this value from the given Serde deserializer. Read more
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>
Deserializes using the given deserializer
Source§impl PartialEq for ChainConfig
impl PartialEq for ChainConfig
Source§fn eq(&self, other: &ChainConfig) -> bool
fn eq(&self, other: &ChainConfig) -> bool
Tests for
self and other values to be equal, and is used by ==.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 = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
The archived counterpart of this type. Unlike
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
Creates the archived version of the metadata for this value.
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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>
Returns the layout of the type.
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
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.