Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::PrivateExecutionSteps Struct Reference

Parsed private execution steps ready for Chonk accumulation. More...

#include <private_execution_steps.hpp>

Public Member Functions

std::shared_ptr< Chonkaccumulate ()
 Creates a Chonk instance and accumulates each circuit in the folding stack. Uses precomputed VKs when available for performance. The returned Chonk instance is ready to call prove() to generate the final IVC proof.
 
void parse (std::vector< PrivateExecutionStepRaw > &&steps)
 Converts PrivateExecutionStepRaw entries (which contain raw bytecode/witness bytes) into structured AcirProgram objects ready for circuit construction.
 

Public Attributes

std::vector< acir_format::AcirProgramfolding_stack
 ACIR programs with witnesses.
 
std::vector< std::string > function_names
 Function names for logging.
 
std::vector< std::shared_ptr< Chonk::MegaVerificationKey > > precomputed_vks
 Precomputed VKs (performance)
 

Detailed Description

Parsed private execution steps ready for Chonk accumulation.

After deserializing from msgpack, this struct holds the decoded ACIR programs, their witnesses, precomputed VKs, and function names. The accumulate() method runs the complete IVC accumulation over all steps.

Data flow: TypeScript (Aztec client) → msgpack encode → ivc-inputs.msgpack → PrivateExecutionStepRaw::load_and_decompress()PrivateExecutionSteps::parse()PrivateExecutionSteps::accumulate()Chonk IVC proof

Definition at line 65 of file private_execution_steps.hpp.

Member Function Documentation

◆ accumulate()

std::shared_ptr< Chonk > bb::PrivateExecutionSteps::accumulate ( )

Creates a Chonk instance and accumulates each circuit in the folding stack. Uses precomputed VKs when available for performance. The returned Chonk instance is ready to call prove() to generate the final IVC proof.

Returns
Shared pointer to Chonk instance with accumulated state

Definition at line 157 of file private_execution_steps.cpp.

◆ parse()

void bb::PrivateExecutionSteps::parse ( std::vector< PrivateExecutionStepRaw > &&  steps)

Converts PrivateExecutionStepRaw entries (which contain raw bytecode/witness bytes) into structured AcirProgram objects ready for circuit construction.

Parameters
stepsRaw execution steps (will be moved from)

Definition at line 128 of file private_execution_steps.cpp.

Member Data Documentation

◆ folding_stack

std::vector<acir_format::AcirProgram> bb::PrivateExecutionSteps::folding_stack

ACIR programs with witnesses.

Definition at line 66 of file private_execution_steps.hpp.

◆ function_names

std::vector<std::string> bb::PrivateExecutionSteps::function_names

Function names for logging.

Definition at line 67 of file private_execution_steps.hpp.

◆ precomputed_vks

std::vector<std::shared_ptr<Chonk::MegaVerificationKey> > bb::PrivateExecutionSteps::precomputed_vks

Precomputed VKs (performance)

Definition at line 68 of file private_execution_steps.hpp.


The documentation for this struct was generated from the following files: