diff --git a/crates/ethereum-forks/src/hardfork/dev.rs b/crates/ethereum-forks/src/hardfork/dev.rs index 8a0510a97..225263ffe 100644 --- a/crates/ethereum-forks/src/hardfork/dev.rs +++ b/crates/ethereum-forks/src/hardfork/dev.rs @@ -8,7 +8,7 @@ use once_cell::sync::Lazy as LazyLock; #[cfg(feature = "std")] use std::sync::LazyLock; -use crate::{ChainHardforks, EthereumHardfork, ForkCondition}; +use crate::{ChainHardforks, EthereumHardfork, ForkCondition, Hardfork}; /// Dev hardforks pub static DEV_HARDFORKS: LazyLock = LazyLock::new(|| { diff --git a/crates/ethereum-forks/src/hardfork/macros.rs b/crates/ethereum-forks/src/hardfork/macros.rs index 780c15f6e..dae98248b 100644 --- a/crates/ethereum-forks/src/hardfork/macros.rs +++ b/crates/ethereum-forks/src/hardfork/macros.rs @@ -17,11 +17,6 @@ macro_rules! hardfork { $( $enum::$variant => stringify!($variant), )* } } - - /// Boxes `self` and returns it as `Box`. - pub fn boxed(self) -> Box { - Box::new(self) - } } impl FromStr for $enum { diff --git a/crates/ethereum-forks/src/hardfork/mod.rs b/crates/ethereum-forks/src/hardfork/mod.rs index f77d06cbf..c939e2912 100644 --- a/crates/ethereum-forks/src/hardfork/mod.rs +++ b/crates/ethereum-forks/src/hardfork/mod.rs @@ -6,6 +6,7 @@ pub use ethereum::EthereumHardfork; mod dev; pub use dev::DEV_HARDFORKS; +use alloc::boxed::Box; use core::{ any::Any, hash::{Hash, Hasher}, @@ -17,6 +18,11 @@ use dyn_clone::DynClone; pub trait Hardfork: Any + DynClone + Send + Sync + 'static { /// Fork name. fn name(&self) -> &'static str; + + /// Returns boxed value. + fn boxed(&self) -> Box { + Box::new(self) + } } dyn_clone::clone_trait_object!(Hardfork); diff --git a/crates/optimism/chainspec/src/base.rs b/crates/optimism/chainspec/src/base.rs index ab24ecf16..8282c58f6 100644 --- a/crates/optimism/chainspec/src/base.rs +++ b/crates/optimism/chainspec/src/base.rs @@ -5,7 +5,7 @@ use alloc::{sync::Arc, vec}; use alloy_chains::Chain; use alloy_primitives::{b256, U256}; use reth_chainspec::{once_cell_set, BaseFeeParams, BaseFeeParamsKind, ChainSpec}; -use reth_ethereum_forks::EthereumHardfork; +use reth_ethereum_forks::{EthereumHardfork, Hardfork}; use reth_optimism_forks::OpHardfork; use crate::{LazyLock, OpChainSpec}; diff --git a/crates/optimism/chainspec/src/base_sepolia.rs b/crates/optimism/chainspec/src/base_sepolia.rs index 4ebf4d9a8..2b5434754 100644 --- a/crates/optimism/chainspec/src/base_sepolia.rs +++ b/crates/optimism/chainspec/src/base_sepolia.rs @@ -4,7 +4,7 @@ use alloc::{sync::Arc, vec}; use alloy_chains::Chain; use alloy_primitives::{b256, U256}; -use reth_chainspec::{once_cell_set, BaseFeeParams, BaseFeeParamsKind, ChainSpec}; +use reth_chainspec::{once_cell_set, BaseFeeParams, BaseFeeParamsKind, ChainSpec, Hardfork}; use reth_ethereum_forks::EthereumHardfork; use reth_optimism_forks::OpHardfork; diff --git a/crates/optimism/chainspec/src/op.rs b/crates/optimism/chainspec/src/op.rs index 20a2ac60e..9b2c98e61 100644 --- a/crates/optimism/chainspec/src/op.rs +++ b/crates/optimism/chainspec/src/op.rs @@ -4,7 +4,7 @@ use crate::{LazyLock, OpChainSpec}; use alloc::{sync::Arc, vec}; use alloy_chains::Chain; use alloy_primitives::{b256, U256}; -use reth_chainspec::{once_cell_set, BaseFeeParams, BaseFeeParamsKind, ChainSpec}; +use reth_chainspec::{once_cell_set, BaseFeeParams, BaseFeeParamsKind, ChainSpec, Hardfork}; use reth_ethereum_forks::EthereumHardfork; use reth_optimism_forks::OpHardfork; diff --git a/crates/optimism/chainspec/src/op_sepolia.rs b/crates/optimism/chainspec/src/op_sepolia.rs index 3a60d49ed..99702e6a1 100644 --- a/crates/optimism/chainspec/src/op_sepolia.rs +++ b/crates/optimism/chainspec/src/op_sepolia.rs @@ -4,7 +4,7 @@ use crate::{LazyLock, OpChainSpec}; use alloc::{sync::Arc, vec}; use alloy_chains::{Chain, NamedChain}; use alloy_primitives::{b256, U256}; -use reth_chainspec::{once_cell_set, BaseFeeParams, BaseFeeParamsKind, ChainSpec}; +use reth_chainspec::{once_cell_set, BaseFeeParams, BaseFeeParamsKind, ChainSpec, Hardfork}; use reth_ethereum_forks::EthereumHardfork; use reth_optimism_forks::OpHardfork; diff --git a/crates/optimism/hardforks/src/dev.rs b/crates/optimism/hardforks/src/dev.rs index 33877301c..897ce510f 100644 --- a/crates/optimism/hardforks/src/dev.rs +++ b/crates/optimism/hardforks/src/dev.rs @@ -1,6 +1,6 @@ use alloc::vec; use alloy_primitives::U256; -use reth_ethereum_forks::{ChainHardforks, EthereumHardfork, ForkCondition}; +use reth_ethereum_forks::{ChainHardforks, EthereumHardfork, ForkCondition, Hardfork}; #[cfg(not(feature = "std"))] use once_cell::sync::Lazy as LazyLock; diff --git a/crates/optimism/hardforks/src/hardfork.rs b/crates/optimism/hardforks/src/hardfork.rs index 75d294c9b..313fd67dd 100644 --- a/crates/optimism/hardforks/src/hardfork.rs +++ b/crates/optimism/hardforks/src/hardfork.rs @@ -1,6 +1,6 @@ //! Hard forks of optimism protocol. -use alloc::{boxed::Box, format, string::String, vec}; +use alloc::{format, string::String, vec}; use core::{ any::Any, fmt::{self, Display, Formatter}, diff --git a/examples/bsc-p2p/src/chainspec.rs b/examples/bsc-p2p/src/chainspec.rs index acf9f4dff..106d96b56 100644 --- a/examples/bsc-p2p/src/chainspec.rs +++ b/examples/bsc-p2p/src/chainspec.rs @@ -1,6 +1,7 @@ use alloy_primitives::{b256, B256}; use reth_chainspec::{ - once_cell_set, BaseFeeParams, Chain, ChainHardforks, ChainSpec, EthereumHardfork, ForkCondition, + once_cell_set, BaseFeeParams, Chain, ChainHardforks, ChainSpec, EthereumHardfork, + ForkCondition, Hardfork, }; use reth_network_peers::NodeRecord; diff --git a/examples/polygon-p2p/src/chain_cfg.rs b/examples/polygon-p2p/src/chain_cfg.rs index d87bbccb2..586d75586 100644 --- a/examples/polygon-p2p/src/chain_cfg.rs +++ b/examples/polygon-p2p/src/chain_cfg.rs @@ -1,6 +1,7 @@ use alloy_primitives::{b256, B256}; use reth_chainspec::{ - once_cell_set, BaseFeeParams, Chain, ChainHardforks, ChainSpec, EthereumHardfork, ForkCondition, + once_cell_set, BaseFeeParams, Chain, ChainHardforks, ChainSpec, EthereumHardfork, + ForkCondition, Hardfork, }; use reth_discv4::NodeRecord; use reth_primitives::Head;