pub struct CustomChainSpec {
pub inner: ChainSpec,
}Fields§
§inner: ChainSpecImplementations§
Source§impl CustomChainSpec
impl CustomChainSpec
Sourcepub fn from_genesis(genesis: Genesis) -> Self
pub fn from_genesis(genesis: Genesis) -> Self
Creates a custom chain spec from a genesis file.
This parses the [ChainSpec] and adds the custom hardforks.
Trait Implementations§
Source§impl Clone for CustomChainSpec
impl Clone for CustomChainSpec
Source§impl Debug for CustomChainSpec
impl Debug for CustomChainSpec
Source§impl EthChainSpec for CustomChainSpec
impl EthChainSpec for CustomChainSpec
Source§fn base_fee_params_at_timestamp(&self, timestamp: u64) -> BaseFeeParams
fn base_fee_params_at_timestamp(&self, timestamp: u64) -> BaseFeeParams
Get the [
BaseFeeParams] for the chain at the given timestamp.Source§fn blob_params_at_timestamp(&self, timestamp: u64) -> Option<BlobParams>
fn blob_params_at_timestamp(&self, timestamp: u64) -> Option<BlobParams>
Get the [
BlobParams] for the given timestampSource§fn deposit_contract(&self) -> Option<&DepositContract>
fn deposit_contract(&self) -> Option<&DepositContract>
Returns the deposit contract data for the chain, if it’s present
Source§fn genesis_hash(&self) -> B256
fn genesis_hash(&self) -> B256
The genesis hash.
Source§fn prune_delete_limit(&self) -> usize
fn prune_delete_limit(&self) -> usize
The delete limit for pruner, per run.
Source§fn display_hardforks(&self) -> Box<dyn Display>
fn display_hardforks(&self) -> Box<dyn Display>
Returns a string representation of the hardforks.
Source§fn genesis_header(&self) -> &Self::Header
fn genesis_header(&self) -> &Self::Header
The genesis header.
Source§fn final_paris_total_difficulty(&self) -> Option<U256>
fn final_paris_total_difficulty(&self) -> Option<U256>
Returns the final total difficulty if the Paris hardfork is known.
§fn is_optimism(&self) -> bool
fn is_optimism(&self) -> bool
Returns
true if this chain contains Optimism configuration.§fn is_ethereum(&self) -> bool
fn is_ethereum(&self) -> bool
Returns
true if this chain contains Ethereum configuration.§fn next_block_base_fee(
&self,
parent: &Self::Header,
target_timestamp: u64,
) -> Option<u64>
fn next_block_base_fee( &self, parent: &Self::Header, target_timestamp: u64, ) -> Option<u64>
See [
AlloyBlockHeader::next_block_base_fee].Source§impl EthereumHardforks for CustomChainSpec
impl EthereumHardforks for CustomChainSpec
Source§fn ethereum_fork_activation(&self, fork: EthereumHardfork) -> ForkCondition
fn ethereum_fork_activation(&self, fork: EthereumHardfork) -> ForkCondition
Retrieves [
ForkCondition] by an [EthereumHardfork]. If fork is not present, returns
[ForkCondition::Never].§fn is_ethereum_fork_active_at_timestamp(
&self,
fork: EthereumHardfork,
timestamp: u64,
) -> bool
fn is_ethereum_fork_active_at_timestamp( &self, fork: EthereumHardfork, timestamp: u64, ) -> bool
Convenience method to check if an [
EthereumHardfork] is active at a given timestamp.§fn is_ethereum_fork_active_at_block(
&self,
fork: EthereumHardfork,
block_number: u64,
) -> bool
fn is_ethereum_fork_active_at_block( &self, fork: EthereumHardfork, block_number: u64, ) -> bool
Convenience method to check if an [
EthereumHardfork] is active at a given block number.§fn is_homestead_active_at_block(&self, block_number: u64) -> bool
fn is_homestead_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Homestead] is active at a given block
number.§fn is_tangerine_whistle_active_at_block(&self, block_number: u64) -> bool
fn is_tangerine_whistle_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Tangerine] is active at a given
block number.§fn is_spurious_dragon_active_at_block(&self, block_number: u64) -> bool
fn is_spurious_dragon_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::SpuriousDragon] is active at a given
block number.§fn is_byzantium_active_at_block(&self, block_number: u64) -> bool
fn is_byzantium_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Byzantium] is active at a given block
number.§fn is_constantinople_active_at_block(&self, block_number: u64) -> bool
fn is_constantinople_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Constantinople] is active at a given
block number.§fn is_petersburg_active_at_block(&self, block_number: u64) -> bool
fn is_petersburg_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Petersburg] is active at a given block
number.§fn is_istanbul_active_at_block(&self, block_number: u64) -> bool
fn is_istanbul_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Istanbul] is active at a given block
number.§fn is_berlin_active_at_block(&self, block_number: u64) -> bool
fn is_berlin_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Berlin] is active at a given block
number.§fn is_london_active_at_block(&self, block_number: u64) -> bool
fn is_london_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::London] is active at a given block
number.§fn is_paris_active_at_block(&self, block_number: u64) -> bool
fn is_paris_active_at_block(&self, block_number: u64) -> bool
Convenience method to check if [
EthereumHardfork::Paris] is active at a given block
number.§fn is_shanghai_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_shanghai_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Shanghai] is active at a given
timestamp.§fn is_cancun_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_cancun_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Cancun] is active at a given timestamp.§fn is_prague_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_prague_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Prague] is active at a given timestamp.§fn is_osaka_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_osaka_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Osaka] is active at a given timestamp.§fn is_amsterdam_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_amsterdam_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Amsterdam] is active at a given
timestamp.§fn is_bogota_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_bogota_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Bogota] is active at a given
timestamp.§fn is_bpo1_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_bpo1_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Bpo1] is active at a given timestamp.§fn is_bpo2_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_bpo2_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Bpo2] is active at a given timestamp.§fn is_bpo3_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_bpo3_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Bpo3] is active at a given timestamp.§fn is_bpo4_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_bpo4_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Bpo4] is active at a given timestamp.§fn is_bpo5_active_at_timestamp(&self, timestamp: u64) -> bool
fn is_bpo5_active_at_timestamp(&self, timestamp: u64) -> bool
Convenience method to check if [
EthereumHardfork::Bpo5] is active at a given timestamp.Source§impl Hardforks for CustomChainSpec
impl Hardforks for CustomChainSpec
Source§fn fork<H: Hardfork>(&self, fork: H) -> ForkCondition
fn fork<H: Hardfork>(&self, fork: H) -> ForkCondition
Retrieves [
ForkCondition] from fork. If fork is not present, returns
[ForkCondition::Never].Source§fn forks_iter(&self) -> impl Iterator<Item = (&dyn Hardfork, ForkCondition)>
fn forks_iter(&self) -> impl Iterator<Item = (&dyn Hardfork, ForkCondition)>
Get an iterator of all hardforks with their respective activation conditions.
Source§fn fork_id(&self, head: &Head) -> ForkId
fn fork_id(&self, head: &Head) -> ForkId
Compute the [
ForkId] for the given [Head] following eip-6122 specSource§fn latest_fork_id(&self) -> ForkId
fn latest_fork_id(&self) -> ForkId
Returns the [
ForkId] for the last fork. Read moreSource§fn fork_filter(&self, head: Head) -> ForkFilter
fn fork_filter(&self, head: Head) -> ForkFilter
Creates a [
ForkFilter] for the block described by [Head].Source§fn is_fork_active_at_timestamp<H>(&self, fork: H, timestamp: u64) -> boolwhere
H: Hardfork,
fn is_fork_active_at_timestamp<H>(&self, fork: H, timestamp: u64) -> boolwhere
H: Hardfork,
Convenience method to check if a fork is active at a given timestamp.
Source§fn is_fork_active_at_block<H>(&self, fork: H, block_number: u64) -> boolwhere
H: Hardfork,
fn is_fork_active_at_block<H>(&self, fork: H, block_number: u64) -> boolwhere
H: Hardfork,
Convenience method to check if a fork is active at a given block number.
Auto Trait Implementations§
impl !Freeze for CustomChainSpec
impl !RefUnwindSafe for CustomChainSpec
impl !UnwindSafe for CustomChainSpec
impl Send for CustomChainSpec
impl Sync for CustomChainSpec
impl Unpin for CustomChainSpec
impl UnsafeUnpin for CustomChainSpec
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 more§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 2176 bytes