Module chainspec

Module chainspec 

Source
Expand description

Re-exported from reth_chainspec

Modules§

arbitrary
The Arbitrary trait crate.
arbitrum
Arbitrum hardfork starting points
constants
OP stack variation of chain spec constants.
error
Error types for the hardforks crate.
ethereum
Ethereum hardfork starting points

Macros§

create_chain_spec
Create a chain spec for a given superchain and environment.
create_superchain_specs
Create chain specs and an enum of every superchain (name, environment) pair.
hardfork
Macro that defines different variants of a chain specific enum. See crate::Hardfork as an example.
key_for
Generates the key string for a given name and environment pair.

Structs§

BaseFeeParams
BaseFeeParams contains the config parameters that control block base fee computation
Chain
Either a known NamedChain or a EIP-155 chain ID.
ChainHardforks
Ordered list of a chain hardforks that implement Hardfork.
ChainInfo
Current status of the blockchain’s head.
ChainSpec
An Ethereum chain specification.
ChainSpecBuilder
A helper to build custom chain specs
DepositContract
PoS deposit contract details.
DisplayHardforks
A container for pretty-printing a list of hardforks.
EnrForkIdEntry
Represents a forward-compatible ENR entry for including the forkid in a node record via EIP-868. Forward compatibility is achieved via EIP-8.
EthereumChainHardforks
A type allowing to configure activation ForkConditions for a given list of EthereumHardforks.
ForkBaseFeeParams
A type alias to a vector of tuples of Hardfork and BaseFeeParams, sorted by Hardfork activation order. This is used to specify dynamic EIP-1559 parameters for chains like Optimism.
ForkFilter
Filter that describes the state of blockchain and can be used to check incoming ForkIds for compatibility.
ForkHash
CRC32 hash of all previous forks starting from genesis block.
ForkId
A fork identifier as defined by EIP-2124. Serves as the chain compatibility identifier.
ForkTransition
Represents a transition from one fork to another
Head
Describes the current head block.
OpChainSpec
OP stack chain spec type.
OpChainSpecBuilder
Chain spec builder for a OP stack chain.
ParseHardforkError
Error type for hardfork related errors.

Enums§

BaseFeeParamsKind
A wrapper around BaseFeeParams that allows for specifying constant or dynamic EIP-1559 parameters based on the active Hardfork.
ChainKind
The kind of chain. Returned by Chain::kind. Prefer using Chain instead.
EthereumHardfork
The name of an Ethereum hardfork.
ForkCondition
The condition at which a fork is activated.
ForkFilterKey
How to filter forks.
NamedChain
An Ethereum EIP-155 chain.
OpHardfork
The name of an optimism hardfork.
Superchain
All available superchains as an enum
ValidationError
Reason for rejecting provided ForkId.

Constants§

MAINNET_PRUNE_DELETE_LIMIT
Mainnet prune delete limit.
MIN_TRANSACTION_GAS
Gas per transaction not creating a contract.
SUPPORTED_CHAINS
All supported superchains, including both older and newer naming, for backwards compatibility

Statics§

ARENA_Z_MAINNET
The Optimism $name $environment spec
ARENA_Z_TESTNET_SEPOLIA
The Optimism $name $environment spec
AUTOMATA_MAINNET
The Optimism $name $environment spec
BASE_DEVNET_0_SEPOLIA_DEV_0
The Optimism $name $environment spec
BASE_MAINNET
The Base mainnet spec
BASE_MAINNET_HARDFORKS
Base mainnet list of hardforks.
BASE_SEPOLIA
The Base Sepolia spec
BASE_SEPOLIA_HARDFORKS
Base Sepolia list of hardforks.
BOBA_SEPOLIA
The Optimism $name $environment spec
BOB_MAINNET
The Optimism $name $environment spec
CREATOR_CHAIN_TESTNET_SEPOLIA
The Optimism $name $environment spec
CYBER_MAINNET
The Optimism $name $environment spec
CYBER_SEPOLIA
The Optimism $name $environment spec
DEV
Dev testnet specification
ETHERNITY_MAINNET
The Optimism $name $environment spec
ETHERNITY_SEPOLIA
The Optimism $name $environment spec
FUNKI_MAINNET
The Optimism $name $environment spec
FUNKI_SEPOLIA
The Optimism $name $environment spec
HASHKEYCHAIN_MAINNET
The Optimism $name $environment spec
HOLESKY
The Holesky spec
HOODI
The Hoodi spec
INK_MAINNET
The Optimism $name $environment spec
INK_SEPOLIA
The Optimism $name $environment spec
LISK_MAINNET
The Optimism $name $environment spec
LISK_SEPOLIA
The Optimism $name $environment spec
LYRA_MAINNET
The Optimism $name $environment spec
MAINNET
The Ethereum mainnet spec
METAL_MAINNET
The Optimism $name $environment spec
METAL_SEPOLIA
The Optimism $name $environment spec
MINT_MAINNET
The Optimism $name $environment spec
MODE_MAINNET
The Optimism $name $environment spec
MODE_SEPOLIA
The Optimism $name $environment spec
OPLABS_DEVNET_0_SEPOLIA_DEV_0
The Optimism $name $environment spec
OP_DEV
OP dev testnet specification
OP_MAINNET
The Optimism Mainnet spec
OP_MAINNET_HARDFORKS
Optimism mainnet list of hardforks.
OP_SEPOLIA
The OP Sepolia spec
OP_SEPOLIA_HARDFORKS
Optimism Sepolia list of hardforks.
ORDERLY_MAINNET
The Optimism $name $environment spec
PIVOTAL_SEPOLIA
The Optimism $name $environment spec
POLYNOMIAL_MAINNET
The Optimism $name $environment spec
RACE_MAINNET
The Optimism $name $environment spec
RACE_SEPOLIA
The Optimism $name $environment spec
REDSTONE_MAINNET
The Optimism $name $environment spec
SEPOLIA
The Sepolia spec
SETTLUS_MAINNET_MAINNET
The Optimism $name $environment spec
SETTLUS_SEPOLIA_SEPOLIA
The Optimism $name $environment spec
SHAPE_MAINNET
The Optimism $name $environment spec
SHAPE_SEPOLIA
The Optimism $name $environment spec
SNAX_MAINNET
The Optimism $name $environment spec
SONEIUM_MAINNET
The Optimism $name $environment spec
SONEIUM_MINATO_SEPOLIA
The Optimism $name $environment spec
SSEED_MAINNET
The Optimism $name $environment spec
SWAN_MAINNET
The Optimism $name $environment spec
SWELL_MAINNET
The Optimism $name $environment spec
TBN_MAINNET
The Optimism $name $environment spec
TBN_SEPOLIA
The Optimism $name $environment spec
UNICHAIN_MAINNET
The Optimism $name $environment spec
UNICHAIN_SEPOLIA
The Optimism $name $environment spec
WORLDCHAIN_MAINNET
The Optimism $name $environment spec
WORLDCHAIN_SEPOLIA
The Optimism $name $environment spec
XTERIO_ETH_MAINNET
The Optimism $name $environment spec
ZORA_MAINNET
The Optimism $name $environment spec
ZORA_SEPOLIA
The Optimism $name $environment spec

Traits§

ChainSpecProvider
A trait for reading the current chainspec.
EthChainSpec
Trait representing type configuring a chain spec.
EthereumHardforks
Helper methods for Ethereum forks.
Hardfork
Generic hardfork trait.
Hardforks
Generic trait over a set of ordered hardforks
OpHardforks
Extends EthereumHardforks with optimism helper methods.

Functions§

decode_holocene_base_fee
Extracts the Holocene 1599 parameters from the encoded extra data from the parent header.
generated_chain_value_parser
Parses the chain into an $crate::OpChainSpec, if recognized.
make_genesis_header
Helper method building a Header given [Genesis] and ChainHardforks.
make_op_genesis_header
Helper method building a Header given [Genesis] and ChainHardforks.
once_cell_set
Simple utility to create a thread-safe sync cell with a value set.
test_fork_ids
Verifies ChainSpec configuration against expected data in given cases.