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§
- Base
FeeParams - BaseFeeParams contains the config parameters that control block base fee computation
- Chain
- Either a known
NamedChain
or a EIP-155 chain ID. - Chain
Hardforks - Ordered list of a chain hardforks that implement
Hardfork
. - Chain
Info - Current status of the blockchain’s head.
- Chain
Spec - An Ethereum chain specification.
- Chain
Spec Builder - A helper to build custom chain specs
- Deposit
Contract PoS
deposit contract details.- Display
Hardforks - A container for pretty-printing a list of hardforks.
- EnrFork
IdEntry - Represents a forward-compatible ENR entry for including the forkid in a node record via EIP-868. Forward compatibility is achieved via EIP-8.
- Ethereum
Chain Hardforks - A type allowing to configure activation
ForkCondition
s for a given list ofEthereumHardfork
s. - Fork
Base FeeParams - 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. - Fork
Filter - Filter that describes the state of blockchain and can be used to check incoming
ForkId
s for compatibility. - Fork
Hash 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.
- Fork
Transition - Represents a transition from one fork to another
- Head
- Describes the current head block.
- OpChain
Spec - OP stack chain spec type.
- OpChain
Spec Builder - Chain spec builder for a OP stack chain.
- Parse
Hardfork Error - Error type for hardfork related errors.
Enums§
- Base
FeeParams Kind - A wrapper around
BaseFeeParams
that allows for specifying constant or dynamic EIP-1559 parameters based on the active Hardfork. - Chain
Kind - The kind of chain. Returned by
Chain::kind
. Prefer usingChain
instead. - Ethereum
Hardfork - The name of an Ethereum hardfork.
- Fork
Condition - The condition at which a fork is activated.
- Fork
Filter Key - How to filter forks.
- Named
Chain - An Ethereum EIP-155 chain.
- OpHardfork
- The name of an optimism hardfork.
- Superchain
- All available superchains as an enum
- Validation
Error - 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§
- Chain
Spec Provider - A trait for reading the current chainspec.
- EthChain
Spec - Trait representing type configuring a chain spec.
- Ethereum
Hardforks - 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
] andChainHardforks
. - make_
op_ genesis_ header - Helper method building a
Header
given [Genesis
] andChainHardforks
. - 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.