Ethereum Main Proof Request
C4Request
class C4Request(Container):
version : ByteVector [4] # the [domain, major, minor, patch] version of the request, domain=1 = eth
data : Union [ # the data to proof
None, #
Bytes32, # the blockhash which is used for blockhash proof
Bytes[1073741824], # the bytes of the data
Uint256, # the balance of an account
EthTxData, # the transaction data
EthReceiptData, # the transaction receipt
List [EthReceiptDataLog, 1024], # result of eth_getLogs
EthBlockData, # the block data
EthProofData, # the result of an eth_getProof
EthSimulationResult, # the result of an colibri_simulateTransaction
EthBlockHeaderData, # compact block header data
List [EthReceiptData, 2048]] # all receipts of a block
proof : Union [ # the proof of the data
None, #
EthAccountProof, # 1: a Proof of an Account like eth_getBalance or eth_getStorageAt
EthTransactionProof, # 2: a Proof of a Transaction like eth_getTransactionByHash
EthReceiptProof, # 3: a Proof of a TransactionReceipt
List [EthLogsBlock, 256], # 4: a Proof for multiple Receipts and txs
EthCallProof, # 5: a Proof of a Call like eth_call
EthSyncProof, # 6: Proof as input data for the sync committee transition used by zk
EthBlockProof, # 7: Proof for BlockData
EthBlockNumberProof, # 8: Proof for BlockNumber
C4WitnessSigned, # 9: Proof for Witness
EthBlockHeaderProof, # 10: Proof for compact BlockHeader
EthBlockReceiptsProof, # 11: Proof for all block receipts
EthHybridAccountProof, # 12: Hybrid account proof with embedded header_data
EthHybridTransactionProof, # 13: Hybrid tx proof (SSZ branch + header_data)
EthHybridReceiptProof, # 14: Hybrid receipt proof (Patricia + header_data)
List [EthHybridLogsBlock, 256], # 15: Hybrid logs proof with embedded header_data per block
EthHybridCallProof, # 16: Hybrid call proof with embedded header_data
EthHybridBlockProof, # 17: Hybrid block proof (EP only)
EthHybridBlockHeaderProof, # 18: Hybrid block header/number proof (header_data only)
EthHybridBlockReceiptsProof, # 19: Hybrid block receipts proof (header_data only)
EthLogsCompletenessProof] # 20: Completeness proof for eth_getLogs over a contiguous block range
sync_data : Union [ # the sync data containing proofs for the transition between the two periods
None, #
C4EthLcSyncdata, # Light Client Sync Data
C4EthZkSyncdata, # ZK Proof Sync Data (legacy SP1 v5, 260-byte groth16 proof)
C4EthZkSyncdataV6] # ZK Proof Sync Data (SP1 v6 "Hypercube", 356-byte groth16 proof)Last updated