Skip to content
Documentation/celestia-zkevm/crates/sp1/ev-batch-exec/README.mdView on celestia-zkevm
celestia-zkevm/crates/sp1/ev-batch-exec/README.md

Overview

Overview

Program Inputs

The program inputs contain all information required to verify the correct execution of on-chain blobs in EV-RETH and update the trusted state in the ZKISM.

BlockExecInput

Name Type Description
header_raw [u8] The Celestia Block Header
dah DataAvailabilityHeader
blobs_raw [u8] Encoded blobs from Celestia Namespace
pub_key [u8] Sequencer Pubkey
namespace Namespace Celestia Namespace
proofs [NamespaceProofs] Namespace inclusion and exclusion proofs
executor_inputs [EthClientExecutorInput] EV-RETH Executor Inputs
trusted_height u64 Trusted EV Block Height
trusted_root [u8;32] Trusted EV Execution State Root

BatchExecInput

Name Type Description
blocks [BlockExecInput] Inputs required to execute a range of blocks

Program Outputs

State: Encapsulate the input and output for each state transition step

Name Type Description
celestia_header_hash [u8;32] the new Celestia header hash after applying the blocks
celestia_height u64 the new Celestia height after applying the blocks
trusted_height u64 the trusted EV height in the ISM
trusted_state_root [u8;32] the trusted EV state root in the ISM
height u64 the new EV height after applying the blocks
state_root [u8;32] the new EV state root after applying the blocks
namespace [u8;29] the Celestia namespace that contains the data blobs which themselves contain EV blocks
public_key [u8;32] the sequencer's public key for verification

BatchExecOutput: Circuit outputs used for on-chain verification

Name Type Description
state_len_bytes [u8;8] Little endian encoded bytes of the length of the State
state State The starting point of the state transition
new_state_len_bytes [u8;8] Little endian encoded bytes of the length of the new State
new_state State The result of the state transition