The outcome of executing a block — the post-state database plus every
commitment derived from it. Returned by EEVM.Block.execute/4 and
EEVM.Block.build/4, and by the lower-level
EEVM.Block.Processor.process_block/4.
Fields
db— theEEVM.Databaseafter system calls, every transaction, the withdrawals, and the request system calls have been applied in order.post_state_dbis a deprecated copy, kept for one minor version.receipts— the per-transaction receipts, already carrying theircumulative_gas_usedfigures, and for each successful contract creation the deployedcontract_address.state_root— post-execution world-state MPT root.receipts_root— MPT root of{rlp(index) => rlp(receipt)}.transactions_root— MPT root of{rlp(index) => rlp(transaction)}.logs_bloom— bitwise OR of every receipt's logs bloom.gas_used— total gas consumed across all transactions (matches the final receipt'scumulative_gas_used,0when the block is empty).requests— the block's EIP-7685 requests, each a type byte followed by its payload (seeEEVM.Block.Requests);nilbefore Prague.changes— the block's writes as anEEVM.StateChanges.EEVM.Blockhas already committed them todbwhen the backend implementsEEVM.Database.commit/2;EEVM.Block.Processorleaves thisnil.trace— with the:traceroption, oneEEVM.Tracerper transaction, in block order; otherwisenil.
Summary
Types
@type t() :: %EEVM.Block.Result{ changes: EEVM.StateChanges.t() | nil, db: EEVM.Database.t(), gas_used: non_neg_integer(), logs_bloom: EEVM.Block.Bloom.t(), post_state_db: EEVM.Database.t(), receipts: [EEVM.Block.Receipt.t()], receipts_root: binary(), requests: [binary()] | nil, state_root: binary(), trace: [EEVM.Tracer.t()] | nil, transactions_root: binary() }