Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
utils.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  acir_format
 

Functions

template<typename Builder >
std::vector< field_t< Builder > > acir_format::fields_from_witnesses (Builder &builder, std::span< const uint32_t > witness_indices)
 ========== ACIR TO BARRETENBERG ========== ///
 
template<typename Builder >
byte_array< Builderacir_format::fields_to_bytes (Builder &builder, std::vector< field_t< Builder > > &fields)
 Convert a vector of field_t elements to a byte_array enforcing each element to fit in one byte.
 
std::vector< uint32_t > acir_format::add_public_inputs_to_proof (const std::vector< uint32_t > &proof_in, const std::vector< uint32_t > &public_inputs)
 Reconstruct a barretenberg style proof from an ACIR style proof + public inputs.
 
RecursionConstraint acir_format::recursion_data_to_recursion_constraint (std::vector< bb::fr > &witness, const std::vector< bb::fr > &proof, const std::vector< bb::fr > &key, const bb::fr &key_hash, const bb::fr &predicate, const size_t num_public_inputs_to_extract, const uint32_t proof_type)
 ========== TESTING UTILITIES ========== ///
 
template<typename T >
std::vector< uint32_t > acir_format::add_to_witness_and_track_indices (std::vector< bb::fr > &witness, const T &input)
 Append values to a witness vector and track their indices.
 
uint32_t acir_format::add_to_witness_and_track_indices (std::vector< bb::fr > &witness, const bb::fr &input)
 Add a single value to the witness vector and track its index.
 
template<typename T , size_t N>
std::array< uint32_t, N > acir_format::add_to_witness_and_track_indices (std::vector< bb::fr > &witness, const T &input)
 Add values to the witness and track their indices, returning them as a fixed-size array.
 
template<typename Builder >
void acir_format::populate_fields (Builder &builder, const std::vector< field_t< Builder > > &fields, const std::vector< bb::fr > &values)
 ========== WRITE_VK UTILITIES ========== ///