Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
utils.cpp File Reference
#include "barretenberg/dsl/acir_format/utils.hpp"
#include <vector>

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 Builder >
void acir_format::populate_fields (Builder &builder, const std::vector< field_t< Builder > > &fields, const std::vector< bb::fr > &values)
 ========== WRITE_VK UTILITIES ========== ///
 
template std::vector< field_t< UltraCircuitBuilder > > acir_format::fields_from_witnesses< UltraCircuitBuilder > (UltraCircuitBuilder &, std::span< const uint32_t >)
 
template std::vector< field_t< MegaCircuitBuilder > > acir_format::fields_from_witnesses< MegaCircuitBuilder > (MegaCircuitBuilder &, std::span< const uint32_t >)
 
template byte_array< UltraCircuitBuilderacir_format::fields_to_bytes< UltraCircuitBuilder > (UltraCircuitBuilder &, std::vector< field_t< UltraCircuitBuilder > > &)
 
template byte_array< MegaCircuitBuilderacir_format::fields_to_bytes< MegaCircuitBuilder > (MegaCircuitBuilder &, std::vector< field_t< MegaCircuitBuilder > > &)
 
template void acir_format::populate_fields< UltraCircuitBuilder > (UltraCircuitBuilder &, const std::vector< field_t< UltraCircuitBuilder > > &, const std::vector< bb::fr > &)
 
template void acir_format::populate_fields< MegaCircuitBuilder > (MegaCircuitBuilder &, const std::vector< field_t< MegaCircuitBuilder > > &, const std::vector< bb::fr > &)