revm_primitives/
constants.rs

1//! Global constants for the EVM
2//!
3//! Here you can find constants that dont belong to any EIP and are there for the genesis.
4
5use alloy_primitives::{b256, Address, B256};
6
7/// Number of block hashes that EVM can access in the past (pre-Prague)
8pub const BLOCK_HASH_HISTORY: u64 = 256;
9
10/// The address of precompile 3, which is handled specially in a few places
11pub const PRECOMPILE3: Address =
12    Address::new([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3]);
13
14/// EVM interpreter stack limit
15pub const STACK_LIMIT: usize = 1024;
16
17/// EVM call stack limit
18pub const CALL_STACK_LIMIT: u64 = 1024;
19
20/// The Keccak-256 hash of the empty string `""`.
21pub const KECCAK_EMPTY: B256 =
22    b256!("0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470");