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

Barretenberg's representation of ACIR constraints. More...

#include <acir_format.hpp>

Public Attributes

uint32_t max_witness_index = 0
 
uint32_t num_acir_opcodes
 
std::vector< uint32_t > public_inputs
 
std::vector< LogicConstraintlogic_constraints
 
std::vector< RangeConstraintrange_constraints
 
std::vector< AES128Constraintaes128_constraints
 
std::vector< Sha256Compressionsha256_compression
 
std::vector< EcdsaConstraintecdsa_k1_constraints
 
std::vector< EcdsaConstraintecdsa_r1_constraints
 
std::vector< Blake2sConstraintblake2s_constraints
 
std::vector< Blake3Constraintblake3_constraints
 
std::vector< Keccakf1600keccak_permutations
 
std::vector< Poseidon2Constraintposeidon2_constraints
 
std::vector< MultiScalarMulmulti_scalar_mul_constraints
 
std::vector< EcAddec_add_constraints
 
std::vector< RecursionConstrainthonk_recursion_constraints
 
std::vector< RecursionConstraintavm_recursion_constraints
 
std::vector< RecursionConstrainthn_recursion_constraints
 
std::vector< RecursionConstraintchonk_recursion_constraints
 
std::vector< QuadConstraintquad_constraints
 
std::vector< BigQuadConstraintbig_quad_constraints
 
std::vector< BlockConstraintblock_constraints
 
std::vector< size_t > gates_per_opcode
 
AcirFormatOriginalOpcodeIndices original_opcode_indices
 

Friends

bool operator== (AcirFormat const &lhs, AcirFormat const &rhs)=default
 

Detailed Description

Barretenberg's representation of ACIR constraints.

ACIR constraints are deserialized from bytes and stored in this format before being passed to the function create_circuit, which constructs a circuit out of the constraints. An AcirFormat instance records all the constraints that have to be added, plus some metadata:

  1. the maximum witness index (used in write_vk situations to fill the circuit with dummy variables)
  2. the number of original acir opcodes
  3. the indices of the public inputs
  4. the number of gates added to the circuit by each opcode (if calculated)
  5. the original indices of the opcodes (recording the order in which the opcodes were added to the struct)

Definition at line 82 of file acir_format.hpp.

Friends And Related Symbol Documentation

◆ operator==

bool operator== ( AcirFormat const &  lhs,
AcirFormat const &  rhs 
)
friend

Member Data Documentation

◆ aes128_constraints

std::vector<AES128Constraint> acir_format::AcirFormat::aes128_constraints

Definition at line 90 of file acir_format.hpp.

◆ avm_recursion_constraints

std::vector<RecursionConstraint> acir_format::AcirFormat::avm_recursion_constraints

Definition at line 101 of file acir_format.hpp.

◆ big_quad_constraints

std::vector<BigQuadConstraint> acir_format::AcirFormat::big_quad_constraints

Definition at line 105 of file acir_format.hpp.

◆ blake2s_constraints

std::vector<Blake2sConstraint> acir_format::AcirFormat::blake2s_constraints

Definition at line 94 of file acir_format.hpp.

◆ blake3_constraints

std::vector<Blake3Constraint> acir_format::AcirFormat::blake3_constraints

Definition at line 95 of file acir_format.hpp.

◆ block_constraints

std::vector<BlockConstraint> acir_format::AcirFormat::block_constraints

Definition at line 106 of file acir_format.hpp.

◆ chonk_recursion_constraints

std::vector<RecursionConstraint> acir_format::AcirFormat::chonk_recursion_constraints

Definition at line 103 of file acir_format.hpp.

◆ ec_add_constraints

std::vector<EcAdd> acir_format::AcirFormat::ec_add_constraints

Definition at line 99 of file acir_format.hpp.

◆ ecdsa_k1_constraints

std::vector<EcdsaConstraint> acir_format::AcirFormat::ecdsa_k1_constraints

Definition at line 92 of file acir_format.hpp.

◆ ecdsa_r1_constraints

std::vector<EcdsaConstraint> acir_format::AcirFormat::ecdsa_r1_constraints

Definition at line 93 of file acir_format.hpp.

◆ gates_per_opcode

std::vector<size_t> acir_format::AcirFormat::gates_per_opcode

Definition at line 110 of file acir_format.hpp.

◆ hn_recursion_constraints

std::vector<RecursionConstraint> acir_format::AcirFormat::hn_recursion_constraints

Definition at line 102 of file acir_format.hpp.

◆ honk_recursion_constraints

std::vector<RecursionConstraint> acir_format::AcirFormat::honk_recursion_constraints

Definition at line 100 of file acir_format.hpp.

◆ keccak_permutations

std::vector<Keccakf1600> acir_format::AcirFormat::keccak_permutations

Definition at line 96 of file acir_format.hpp.

◆ logic_constraints

std::vector<LogicConstraint> acir_format::AcirFormat::logic_constraints

Definition at line 88 of file acir_format.hpp.

◆ max_witness_index

uint32_t acir_format::AcirFormat::max_witness_index = 0

Definition at line 83 of file acir_format.hpp.

◆ multi_scalar_mul_constraints

std::vector<MultiScalarMul> acir_format::AcirFormat::multi_scalar_mul_constraints

Definition at line 98 of file acir_format.hpp.

◆ num_acir_opcodes

uint32_t acir_format::AcirFormat::num_acir_opcodes

Definition at line 84 of file acir_format.hpp.

◆ original_opcode_indices

AcirFormatOriginalOpcodeIndices acir_format::AcirFormat::original_opcode_indices

Definition at line 113 of file acir_format.hpp.

◆ poseidon2_constraints

std::vector<Poseidon2Constraint> acir_format::AcirFormat::poseidon2_constraints

Definition at line 97 of file acir_format.hpp.

◆ public_inputs

std::vector<uint32_t> acir_format::AcirFormat::public_inputs

Definition at line 86 of file acir_format.hpp.

◆ quad_constraints

std::vector<QuadConstraint> acir_format::AcirFormat::quad_constraints

Definition at line 104 of file acir_format.hpp.

◆ range_constraints

std::vector<RangeConstraint> acir_format::AcirFormat::range_constraints

Definition at line 89 of file acir_format.hpp.

◆ sha256_compression

std::vector<Sha256Compression> acir_format::AcirFormat::sha256_compression

Definition at line 91 of file acir_format.hpp.


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