Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::AvmRecursiveFlavor::VerificationKey Class Reference

#include <recursive_flavor.hpp>

Inheritance diagram for bb::avm2::AvmRecursiveFlavor::VerificationKey:
bb::StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment > >

Public Member Functions

 VerificationKey (CircuitBuilder *builder, const std::shared_ptr< NativeVerificationKey > &native_key)
 
 VerificationKey (std::span< const FF > elements)
 Deserialize a verification key from a vector of field elements.
 
std::vector< FFto_field_elements () const override
 Serialize verification key to field elements.
 
FF hash_with_origin_tagging (const std::string &domain_separator, Transcript &transcript) const override
 Tag VK components and hash.
 
void fix_witness ()
 Fixes witnesses of VK to be constants.
 
- Public Member Functions inherited from bb::StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment > >
bool operator== (const StdlibVerificationKey_ &) const=default
 
virtual ~StdlibVerificationKey_ ()=default
 
 StdlibVerificationKey_ ()=default
 
 StdlibVerificationKey_ (const size_t circuit_size, const size_t num_public_inputs)
 
FF hash ()
 A model function to show how to compute the VK hash (without the Transcript abstracting things away).
 

Public Attributes

size_t log_fixed_circuit_size = MAX_AVM_TRACE_LOG_SIZE
 
- Public Attributes inherited from bb::StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment > >
FF log_circuit_size
 
FF num_public_inputs
 
FF pub_inputs_offset
 

Additional Inherited Members

- Public Types inherited from bb::StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment > >
using Builder = CircuitBuilder
 
using FF = stdlib::field_t< Builder >
 
using Commitment = typename PrecomputedCommitments::DataType
 
using Transcript = StdlibTranscript< Builder >
 

Detailed Description

Definition at line 59 of file recursive_flavor.hpp.

Constructor & Destructor Documentation

◆ VerificationKey() [1/2]

bb::avm2::AvmRecursiveFlavor::VerificationKey::VerificationKey ( CircuitBuilder builder,
const std::shared_ptr< NativeVerificationKey > &  native_key 
)
inline

Definition at line 63 of file recursive_flavor.hpp.

◆ VerificationKey() [2/2]

bb::avm2::AvmRecursiveFlavor::VerificationKey::VerificationKey ( std::span< const FF elements)
inline

Deserialize a verification key from a vector of field elements.

Parameters
builder
elements

Definition at line 76 of file recursive_flavor.hpp.

Member Function Documentation

◆ fix_witness()

void bb::avm2::AvmRecursiveFlavor::VerificationKey::fix_witness ( )
inline

Fixes witnesses of VK to be constants.

Definition at line 101 of file recursive_flavor.hpp.

◆ hash_with_origin_tagging()

FF bb::avm2::AvmRecursiveFlavor::VerificationKey::hash_with_origin_tagging ( const std::string &  domain_separator,
Transcript transcript 
) const
inlineoverridevirtual

Tag VK components and hash.

Needed to make sure the Origin Tag system works. We need to set the origin tags of the VK witnesses. If we instead did the hashing outside and just submitted the hash, only the origin tag of the hash would be set properly. By tagging the VK components directly, we ensure all VK witnesses have proper origin tags.

Parameters
domain_separator(currently unused, kept for API compatibility)
transcriptUsed to extract tag context (transcript_index, round_index)
Returns
The hash of the verification key

Reimplemented from bb::StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment > >.

Definition at line 91 of file recursive_flavor.hpp.

◆ to_field_elements()

std::vector< FF > bb::avm2::AvmRecursiveFlavor::VerificationKey::to_field_elements ( ) const
inlineoverridevirtual

Serialize verification key to field elements.

Returns
std::vector<FF>

Reimplemented from bb::StdlibVerificationKey_< CircuitBuilder, NativeFlavor::PrecomputedEntities< Commitment > >.

Definition at line 90 of file recursive_flavor.hpp.

Member Data Documentation

◆ log_fixed_circuit_size

size_t bb::avm2::AvmRecursiveFlavor::VerificationKey::log_fixed_circuit_size = MAX_AVM_TRACE_LOG_SIZE

Definition at line 62 of file recursive_flavor.hpp.


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