> For the complete documentation index, see [llms.txt](https://corpus-core.gitbook.io/specification-colibri-stateless/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://corpus-core.gitbook.io/specification-colibri-stateless/specifications/op-stack/logs-proof.md).

# Logs Proof

`eth_getLogs` returns a list of log entries from different transaction receipts. So the proof must contain the receipt proofs for each transaction.

1. The **transaction** is used to create its SSZ Hash Tree Root.
2. The **SSZ Merkle Proof** from the Transactions of the ExecutionPayload to the BlockBodyRoot. (Total Depth: 29)
3. The **BeaconBlockHeader** is passed because we also need the slot in order to find out which period and which sync committee is used.
4. The **Signature of the SyncCommittee** (taken from the following block) is used to verify the SignData where the blockhash is part of the message and the Domain is calculated from the fork and the Genesis Validator Root. Note: OP-Stack uses the same consensus layer as Ethereum, so these verification steps apply here as well.

## OpLogsTx

Represents one single transaction receipt with the required transaction and receipt-proof. The proof contains the raw receipt as part of its last leaf.

The Type is defined in [src/chains/op/ssz/op\_proof\_types.h](https://github.com/corpus-core/colibri-stateless/blob/v1.1.30/src/chains/op/ssz/op_proof_types.h#L94).

```python
class OpLogsTx(Container):
    transactionIndex : Uint32                 # the index of the transaction in the block
    proof            : List [bytes_1024, 256] # the Merkle Patricia Proof of the transaction receipt ending in the receipt root
    tx_proof         : List [bytes_1024, 64]  # the Merkle Patricia Proof of the transaction (empty for preconf blocks since full execution payload is available)
```

## OpLogsBlock

Container type for a single transaction with its receipt and transaction proofs A single block with its proof containing all the receipts or txs required to prove the logs.

The Type is defined in [src/chains/op/ssz/op\_proof\_types.h](https://github.com/corpus-core/colibri-stateless/blob/v1.1.30/src/chains/op/ssz/op_proof_types.h#L103).

```python
class OpLogsBlock(Container):
    block_proof : Union [              # proof for the block (preconfirmation)
        OpPreconf,                     # preconfirmation proof (sequencer-signed execution payload)
        Bytes32]                       # blockhash hint identifying the cached execution payload
    txs         : List [OpLogsTx, 256] # the transactions of the block with their proofs
```

**Referenced Types**

* [OpPreconf](/specification-colibri-stateless/specifications/op-stack.md#oppreconf)
* [OpLogsTx](#oplogstx)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://corpus-core.gitbook.io/specification-colibri-stateless/specifications/op-stack/logs-proof.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
