# Call Proof

`eth_call` returns the result of the call. In order to prove that the result is correct, we need to prove every single storage value and account.

This Proof is used for the following RPC-Methods:

* [colibri\_simulateTransaction](https://github.com/corpus-core/colibri-stateless-doc/blob/main/specification/specifications/op-stack/colibri-rpc-methods/colibri_simulatetransaction.md)

## OpCallAccount

A proof for a single account.

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

```python
class OpCallAccount(Container):
    accountProof : List [bytes_1024, 256]      # Patricia Merkle proof
    address      : Address                     # the address of the account
    code         : Union [                     # the code of the contract
        Boolean,                               # flag indicating whether code is provided (false = no code, true = code follows)
        Bytes[4194304]]                        # the contract bytecode (max 4MB)
    storageProof : List [OpStorageProof, 4096] # the storage proofs for requested storage keys
```

**Referenced Types**

* [OpStorageProof](/specification-colibri-stateless/specifications/op-stack/account-proof.md#opstorageproof)

## OpCallProof

Container type for account data in call proofs The main proof data for a call.

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

```python
class OpCallProof(Container):
    accounts    : List [OpCallAccount, 256] # used accounts
    block_proof : Union [                   # proof for the block header
        OpPreconf]                          # preconfirmation proof (sequencer-signed execution payload)
```

**Referenced Types**

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


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
