Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::stdlib::recursion::honk::KernelIO_< N > Class Template Reference

Manages the data that is propagated on the public inputs of a kernel circuit. More...

#include <special_public_inputs.hpp>

Public Types

using Builder = MegaCircuitBuilder
 
using Curve = stdlib::bn254< Builder >
 
using G1 = Curve::Group
 
using FF = Curve::ScalarField
 
using PairingInputs = stdlib::recursion::PairingPoints< Curve >
 
using TableCommitments = std::array< G1, Builder::NUM_WIRES >
 
using AppReturnDataCommitments = std::array< G1, N >
 
using PublicPoint = stdlib::PublicInputComponent< G1 >
 
using PublicPairingPoints = stdlib::PublicInputComponent< PairingInputs >
 
using PublicFF = stdlib::PublicInputComponent< FF >
 

Public Member Functions

void reconstruct_from_public (const std::vector< FF > &public_inputs)
 Reconstructs the IO components from a public inputs array.
 
void set_public ()
 Set each IO component to be a public input of the underlying circuit.
 

Static Public Member Functions

static void add_default (Builder &builder)
 Add default public inputs when they are not present.
 

Public Attributes

PairingInputs pairing_inputs
 
G1 kernel_return_data
 
AppReturnDataCommitments app_return_data
 
FF ecc_op_hash
 
FF output_hn_accum_hash
 

Static Public Attributes

static constexpr size_t PUBLIC_INPUTS_SIZE = kernel_public_inputs_size(N)
 
static constexpr bool HasIPA = false
 

Detailed Description

template<size_t N>
class bb::stdlib::recursion::honk::KernelIO_< N >

Manages the data that is propagated on the public inputs of a kernel circuit.

Template Parameters
NNumber of app return-data commitments carried by the kernel public inputs.

Definition at line 62 of file special_public_inputs.hpp.

Member Typedef Documentation

◆ AppReturnDataCommitments

template<size_t N>
using bb::stdlib::recursion::honk::KernelIO_< N >::AppReturnDataCommitments = std::array<G1, N>

Definition at line 70 of file special_public_inputs.hpp.

◆ Builder

Definition at line 64 of file special_public_inputs.hpp.

◆ Curve

Definition at line 65 of file special_public_inputs.hpp.

◆ FF

Definition at line 67 of file special_public_inputs.hpp.

◆ G1

Definition at line 66 of file special_public_inputs.hpp.

◆ PairingInputs

template<size_t N>
using bb::stdlib::recursion::honk::KernelIO_< N >::PairingInputs = stdlib::recursion::PairingPoints<Curve>

Definition at line 68 of file special_public_inputs.hpp.

◆ PublicFF

template<size_t N>
using bb::stdlib::recursion::honk::KernelIO_< N >::PublicFF = stdlib::PublicInputComponent<FF>

Definition at line 74 of file special_public_inputs.hpp.

◆ PublicPairingPoints

template<size_t N>
using bb::stdlib::recursion::honk::KernelIO_< N >::PublicPairingPoints = stdlib::PublicInputComponent<PairingInputs>

Definition at line 73 of file special_public_inputs.hpp.

◆ PublicPoint

template<size_t N>
using bb::stdlib::recursion::honk::KernelIO_< N >::PublicPoint = stdlib::PublicInputComponent<G1>

Definition at line 72 of file special_public_inputs.hpp.

◆ TableCommitments

template<size_t N>
using bb::stdlib::recursion::honk::KernelIO_< N >::TableCommitments = std::array<G1, Builder::NUM_WIRES>

Definition at line 69 of file special_public_inputs.hpp.

Member Function Documentation

◆ add_default()

template<size_t N>
static void bb::stdlib::recursion::honk::KernelIO_< N >::add_default ( Builder builder)
inlinestatic

Add default public inputs when they are not present.

Definition at line 136 of file special_public_inputs.hpp.

◆ reconstruct_from_public()

template<size_t N>
void bb::stdlib::recursion::honk::KernelIO_< N >::reconstruct_from_public ( const std::vector< FF > &  public_inputs)
inline

Reconstructs the IO components from a public inputs array.

Parameters
public_inputsPublic inputs array containing the serialized kernel public inputs.

Definition at line 91 of file special_public_inputs.hpp.

◆ set_public()

template<size_t N>
void bb::stdlib::recursion::honk::KernelIO_< N >::set_public ( )
inline

Set each IO component to be a public input of the underlying circuit.

Definition at line 116 of file special_public_inputs.hpp.

Member Data Documentation

◆ app_return_data

template<size_t N>
AppReturnDataCommitments bb::stdlib::recursion::honk::KernelIO_< N >::app_return_data

Definition at line 78 of file special_public_inputs.hpp.

◆ ecc_op_hash

template<size_t N>
FF bb::stdlib::recursion::honk::KernelIO_< N >::ecc_op_hash

Definition at line 79 of file special_public_inputs.hpp.

◆ HasIPA

template<size_t N>
constexpr bool bb::stdlib::recursion::honk::KernelIO_< N >::HasIPA = false
staticconstexpr

Definition at line 84 of file special_public_inputs.hpp.

◆ kernel_return_data

template<size_t N>
G1 bb::stdlib::recursion::honk::KernelIO_< N >::kernel_return_data

Definition at line 77 of file special_public_inputs.hpp.

◆ output_hn_accum_hash

template<size_t N>
FF bb::stdlib::recursion::honk::KernelIO_< N >::output_hn_accum_hash

Definition at line 80 of file special_public_inputs.hpp.

◆ pairing_inputs

template<size_t N>
PairingInputs bb::stdlib::recursion::honk::KernelIO_< N >::pairing_inputs

Definition at line 76 of file special_public_inputs.hpp.

◆ PUBLIC_INPUTS_SIZE

template<size_t N>
constexpr size_t bb::stdlib::recursion::honk::KernelIO_< N >::PUBLIC_INPUTS_SIZE = kernel_public_inputs_size(N)
staticconstexpr

Definition at line 83 of file special_public_inputs.hpp.


The documentation for this class was generated from the following file: