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§
Structs§
- Account
- Account
Info - Account
State - Account
State Slim Codec - A slim codec for an
AccountState. - Account
Update - Archived
Blob Schedule - An archived
BlobSchedule - Archived
Block - An archived
Block - Archived
Block Body - An archived
BlockBody - Archived
Block Header - An archived
BlockHeader - Archived
Chain Config - An archived
ChainConfig - Archived
Fork Blob Schedule - An archived
ForkBlobSchedule - Archived
Withdrawal - An archived
Withdrawal - Blob
Schedule - Blob
Schedule Resolver - The resolver for an archived
BlobSchedule - Block
- Block
Body - Block
Body Resolver - The resolver for an archived
BlockBody - Block
Header - Header part of a block on the chain.
- Block
Header Resolver - The resolver for an archived
BlockHeader - Block
Resolver - The resolver for an archived
Block - Chain
Config - Blockchain settings defined per block
- Chain
Config Resolver - The resolver for an archived
ChainConfig - Code
- Code
Metadata - Fork
Blob Schedule - Fork
Blob Schedule Resolver - The resolver for an archived
ForkBlobSchedule - ForkId
- Genesis
- Genesis
Account - Log
- Data record produced during the execution of a transaction.
- NETWORK_
NAMES - Receipt
- Result of a transaction
- Receipt
With Bloom - Result of a transaction
- Withdrawal
- Withdrawal
Resolver - The resolver for an archived
Withdrawal
Enums§
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
pccan 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_bloomin 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 duplicatebloom_from_logskeccak 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