reth_ethereum_forks/hardforks/
dev.rs
1use alloc::vec;
2
3use alloy_primitives::U256;
4
5use once_cell as _;
6#[cfg(not(feature = "std"))]
7use once_cell::sync::Lazy as LazyLock;
8#[cfg(feature = "std")]
9use std::sync::LazyLock;
10
11use crate::{ChainHardforks, EthereumHardfork, ForkCondition, Hardfork};
12
13pub static DEV_HARDFORKS: LazyLock<ChainHardforks> = LazyLock::new(|| {
15 ChainHardforks::new(vec![
16 (EthereumHardfork::Frontier.boxed(), ForkCondition::Block(0)),
17 (EthereumHardfork::Homestead.boxed(), ForkCondition::Block(0)),
18 (EthereumHardfork::Dao.boxed(), ForkCondition::Block(0)),
19 (EthereumHardfork::Tangerine.boxed(), ForkCondition::Block(0)),
20 (EthereumHardfork::SpuriousDragon.boxed(), ForkCondition::Block(0)),
21 (EthereumHardfork::Byzantium.boxed(), ForkCondition::Block(0)),
22 (EthereumHardfork::Constantinople.boxed(), ForkCondition::Block(0)),
23 (EthereumHardfork::Petersburg.boxed(), ForkCondition::Block(0)),
24 (EthereumHardfork::Istanbul.boxed(), ForkCondition::Block(0)),
25 (EthereumHardfork::Berlin.boxed(), ForkCondition::Block(0)),
26 (EthereumHardfork::London.boxed(), ForkCondition::Block(0)),
27 (
28 EthereumHardfork::Paris.boxed(),
29 ForkCondition::TTD {
30 activation_block_number: 0,
31 fork_block: None,
32 total_difficulty: U256::ZERO,
33 },
34 ),
35 (EthereumHardfork::Shanghai.boxed(), ForkCondition::Timestamp(0)),
36 (EthereumHardfork::Cancun.boxed(), ForkCondition::Timestamp(0)),
37 ])
38});