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§fn clone(&self) -> CustomChainSpec
fn clone(&self) -> CustomChainSpec
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§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 [
calc_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_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].§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.
§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 Send for CustomChainSpec
impl Sync for CustomChainSpec
impl Unpin for CustomChainSpec
impl !UnwindSafe 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
Builds a [
TxEnv] from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
Builds a [
TxEnv] from a transaction, its sender, and encoded transaction bytes.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§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>
impl<T> ErasedDestructor for Twhere
T: 'static,
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: 2080 bytes