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
13/// Dev hardforks
14pub 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});