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

Base class templates shared across Honk flavors. More...

Go to the source code of this file.

Classes

struct  bb::MetaData
 Dyadic trace size and public inputs metadata; Common between prover and verifier keys. More...
 
struct  bb::PrecomputedData_< Polynomial, NUM_PRECOMPUTED_ENTITIES >
 The precomputed data needed to compute a Honk VK. More...
 
class  bb::FixedVKAndHash_< PrecomputedCommitments, HashType, HardcodedVKAndHash >
 Simple verification key class for fixed-size circuits (ECCVM, Translator, AVM). More...
 
class  bb::NativeVerificationKey_< PrecomputedCommitments, Codec, HashFunction, CommitmentKey >
 Base Native verification key class. More...
 
class  bb::FixedStdlibVKAndHash_< Builder_, PrecomputedCommitments, NativeVerificationKey >
 Simple stdlib verification key class for fixed-size circuits (ECCVM, Translator, AVM). More...
 
class  bb::StdlibVerificationKey_< Builder_, PrecomputedCommitments, NativeVerificationKey_ >
 Base Stdlib verification key class. More...
 
class  bb::VKAndHash_< FF, VerificationKey >
 Wrapper holding a verification key and its precomputed hash. More...
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::avm2
 

Functions

template<typename PrecomputedCommitments , typename Codec , typename HashFunction , typename CommitmentKey >
void bb::read (uint8_t const *&it, NativeVerificationKey_< PrecomputedCommitments, Codec, HashFunction, CommitmentKey > &vk)
 
template<typename PrecomputedCommitments , typename Codec , typename HashFunction , typename CommitmentKey >
void bb::write (std::vector< uint8_t > &buf, NativeVerificationKey_< PrecomputedCommitments, Codec, HashFunction, CommitmentKey > const &vk)
 

Detailed Description

Base class templates shared across Honk flavors.

This file provides the flavor-agnostic building blocks that each concrete flavor (Ultra, Mega, etc.) composes into its own type definitions. The main components are:

  • MetaData / PrecomputedData_: Execution trace metadata and the precomputed polynomials whose commitments form a VK.
  • NativeVerificationKey_: Base class for native verification keys (serialization, hashing, origin tagging).
  • StdlibVerificationKey_: Circuit-friendly (stdlib) counterpart of the native VK.
  • FixedVKAndHash_ / FixedStdlibVKAndHash_: Lightweight VK wrappers for fixed-size circuits (ECCVM, Translator) whose VKs are hardcoded constants.
  • VKAndHash_: Pairs a VK with its hash; used to bind VK identity into a proof.

Definition in file flavor.hpp.