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:

OpCallAccount

A proof for a single account.

The Type is defined in src/chains/op/ssz/op_proof_types.h.

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

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.

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

Last updated