Constants and parameters from EIP-7928.
Source code in tests/amsterdam/eip7928_block_level_access_lists/spec.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 | @dataclass(frozen=True)
class Spec:
"""Constants and parameters from EIP-7928."""
# RLP encoding is used for block access list data structures
BAL_ENCODING_FORMAT: str = "RLP"
# Maximum limits for block access list data structures
TARGET_MAX_GAS_LIMIT = 600_000_000
MAX_TXS: int = 30_000
MAX_SLOTS: int = 300_000
MAX_ACCOUNTS: int = 300_000
# TODO: Use this as a function of the current fork.
MAX_CODE_SIZE: int = 24_576 # 24 KiB
# Type size constants
ADDRESS_SIZE: int = 20 # Ethereum address size in bytes
STORAGE_KEY_SIZE: int = 32 # Storage slot key size in bytes
STORAGE_VALUE_SIZE: int = 32 # Storage value size in bytes
HASH_SIZE: int = 32 # Hash size in bytes
# Numeric type limits
MAX_TX_INDEX: int = 2**32 - 1 # uint32 max value
MAX_BALANCE: int = 2**128 - 1 # uint128 max value
MAX_NONCE: int = 2**64 - 1 # uint64 max value
|