Skip to main content

Module types

Module types 

Source

Re-exports§

pub use block_access_list::BalSynthesisItem;
pub use block_access_list::synthesize_bal_updates;
pub use blobs_bundle::*;
pub use l2::*;
pub use prover::*;
pub use transaction::*;
pub use tx_fields::*;

Modules§

blobs_bundle
block_access_list
block_execution_witness
l2
payload
prover
requests
transaction
tx_fields

Structs§

Account
AccountInfo
AccountState
AccountStateSlimCodec
A slim codec for an AccountState.
AccountUpdate
ArchivedBlobSchedule
An archived BlobSchedule
ArchivedBlock
An archived Block
ArchivedBlockBody
An archived BlockBody
ArchivedBlockHeader
An archived BlockHeader
ArchivedChainConfig
An archived ChainConfig
ArchivedForkBlobSchedule
An archived ForkBlobSchedule
ArchivedWithdrawal
An archived Withdrawal
BlobSchedule
BlobScheduleResolver
The resolver for an archived BlobSchedule
Block
BlockBody
BlockBodyResolver
The resolver for an archived BlockBody
BlockHeader
Header part of a block on the chain.
BlockHeaderResolver
The resolver for an archived BlockHeader
BlockResolver
The resolver for an archived Block
ChainConfig
Blockchain settings defined per block
ChainConfigResolver
The resolver for an archived ChainConfig
Code
CodeMetadata
ForkBlobSchedule
ForkBlobScheduleResolver
The resolver for an archived ForkBlobSchedule
ForkId
Genesis
GenesisAccount
Log
Data record produced during the execution of a transaction.
NETWORK_NAMES
Receipt
Result of a transaction
ReceiptWithBloom
Result of a transaction
Withdrawal
WithdrawalResolver
The resolver for an archived Withdrawal

Enums§

FakeExponentialError
Fork
GenesisError
InvalidBlockBodyError
InvalidBlockHeaderError

Constants§

BASE_FEE_MAX_CHANGE_DENOMINATOR
BLOB_BASE_FEE_UPDATE_FRACTION
BYTECODE_PADDING
Trailing STOP bytes appended to every bytecode so the dispatch loop can read the next opcode without a bounds check. 33 is the widest single-opcode advance (PUSH32: 1 opcode byte + 32 immediate bytes), so pc can never step past the padding regardless of which opcode sits at the last real byte.
BYTES_PER_BLOB
BYTES_PER_BLOB_F64
BYTES_PER_CELL
BYTES_PER_FIELD_ELEMENT
CELLS_PER_EXT_BLOB
DEFAULT_BUILDER_GAS_CEIL
ELASTICITY_MULTIPLIER
FIELD_ELEMENTS_PER_BLOB
FIELD_ELEMENTS_PER_CELL
FIELD_ELEMENTS_PER_EXT_BLOB
GAS_LIMIT_ADJUSTMENT_FACTOR
GAS_LIMIT_MINIMUM
GWEI_TO_WEI
INITIAL_BASE_FEE
MAX_BLOB_TX_SIZE
Maximum RLP-encoded core size for an EIP-4844 blob transaction (1 MiB), excluding the blob sidecar. Sidecar size is bounded separately by the per-blob byte count and the fork’s max blob count.
MAX_TX_SIZE
Maximum RLP-encoded wire size for a non-blob transaction (128 KiB).
MIN_BASE_FEE_PER_BLOB_GAS
MIN_GAS_TIP
Minimum tip, obtained from geth’s default miner config (https://github.com/ethereum/go-ethereum/blob/f750117ad19d623622cc4a46ea361a716ba7407e/miner/miner.go#L56)
SAFE_BYTES_PER_BLOB
The maximum number of bytes that can be “safely” stored in a blob. This is, prepend a zero byte for every 32 bytes of data to ensure they not exceed the field modulus.
VERSIONED_HASH_VERSION_KZG

Functions§

bloom_from_logs
calc_excess_blob_gas
calculate_base_fee_per_blob_gas
Calculates the base fee per blob gas for the current block based on it’s parent excess blob gas and the update fraction, which depends on the fork.
calculate_base_fee_per_gas
code_hash
compute_receipts_root
compute_receipts_root_and_logs_bloom
Computes the receipts root and the aggregate header logs_bloom in a single pass, hashing each receipt’s bloom only once (it feeds both the receipts trie and the OR-ed header bloom). Validation paths need both, so this avoids the duplicate bloom_from_logs keccak work — relevant in the zkVM guest where it is cycle-counted.
compute_storage_root
compute_transactions_root
compute_withdrawals_root
fake_exponential
Approximates factor * e ** (numerator / denominator) using Taylor expansion https://eips.ethereum.org/EIPS/eip-4844#helpers 400_000_000 numerator is the limit for this operation to work with U256, it will overflow with a larger numerator
validate_block_body
Validates that the body matches with the header
validate_block_header
Validates that the header fields are correct in reference to the parent_header
validate_cancun_header_fields
Validates that only the required field are present for a Cancun block Also validates excess_blob_gas value against parent’s header
validate_prague_header_fields
Validates that only the required field are present for a Prague block Also validates excess_blob_gas value against parent’s header
validate_pre_cancun_header_fields
Validates that only the required field are present for a pre Cancun block Also validates excess_blob_gas value against parent’s header

Type Aliases§

BlockHash
BlockNumber
Index