Expand description
§RSP Client Executor Lib
This library provides the core functionality for executing smart contract calls within a zero-knowledge virtual machine (zkVM) environment. It includes utilities for blockchain state validation, EVM execution, and proof generation.
§Main Components
ClientExecutor
: The primary executor for smart contract calls in zkVMContractInput
: Input specification for contract calls and creationsContractPublicValues
: Public outputs that can be verified on-chainAnchor
: Various blockchain anchoring mechanisms for state validation
§Features
- Execute smart contracts with full EVM compatibility
- Validate blockchain state against Merkle proofs
- Support for multiple anchor types (block hash, EIP-4788, consensus)
- Log filtering and event decoding
- Zero-knowledge proof generation for contract execution
Modules§
- io
- EVM sketch input structures and implementations.
Structs§
- Beacon
Anchor - A beacon chain anchor that provides cryptographic proof linking data to beacon chain state.
- Beacon
State Anchor - An anchor that combines beacon chain state with cryptographic proof for state transition verification.
- Beacon
With Header Anchor - An anchor that combines an execution block header with beacon chain verification.
- Chained
Beacon Anchor - A chained anchor that enables verification through multiple beacon chain state transitions.
- Client
Executor - An executor that executes smart contract calls inside a zkVM.
- Contract
Input - Input to a contract call.
- Contract
Public Values - Public values of a contract call.
- Header
Anchor - A simple anchor that directly references an Ethereum execution block header.
Enums§
- Anchor
- Ethereum anchoring system for verifying block execution against beacon chain roots.
- Anchor
Type - Beacon
Anchor Id - Identifier for a beacon chain anchor, specifying how to locate the anchor in beacon chain history.
- Beacon
Block Field - A field identifier for beacon block components that can be verified via Merkle proofs.
- Client
Error - Error types for the client library.
- Contract
Calldata - The type of calldata to pass to a contract.
- Genesis
Constants§
Functions§
- get_
beacon_ root_ from_ state - Retrieves a beacon root from Ethereum state using EIP-4788 storage.
- hash_
genesis - rebuild_
merkle_ root - Rebuilds a Merkle tree root from a leaf value and its branch proof.