# `EEVM.Block.Result`
[🔗](https://github.com/mw2000/eevm/blob/main/lib/eevm/block/result.ex#L1)

The outcome of executing a block — the post-state database plus every
commitment derived from it. Returned by `EEVM.Block.Processor.process_block/4`.

### Fields

- `post_state_db` — the `EEVM.Database` after system calls and every
  transaction have been applied in order.
- `receipts` — the per-transaction receipts, already carrying their
  `cumulative_gas_used` figures.
- `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's `cumulative_gas_used`, `0` when the block is empty).

# `t`

```elixir
@type t() :: %EEVM.Block.Result{
  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(),
  state_root: binary(),
  transactions_root: binary()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
