Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::UltraRollupRecursiveFlavor_< BuilderType >::VerificationKey Class Reference

The verification key is responsible for storing the commitments to the precomputed (non-witnessk) polynomials used by the verifier. More...

#include <ultra_rollup_recursive_flavor.hpp>

Inheritance diagram for bb::UltraRollupRecursiveFlavor_< BuilderType >::VerificationKey:
bb::StdlibVerificationKey_< BuilderType, UltraRollupFlavor::PrecomputedEntities< Commitment > >

Public Types

using NativeVerificationKey = NativeFlavor::VerificationKey
 
- Public Types inherited from bb::StdlibVerificationKey_< BuilderType, UltraRollupFlavor::PrecomputedEntities< Commitment > >
using Builder = BuilderType
 
using FF = stdlib::field_t< Builder >
 
using Commitment = typename PrecomputedCommitments::DataType
 
using Transcript = BaseTranscript< stdlib::recursion::honk::StdlibTranscriptParams< Builder > >
 

Public Member Functions

 VerificationKey (CircuitBuilder *builder, const std::shared_ptr< NativeVerificationKey > &native_key)
 Construct a new Verification Key with stdlib types from a provided native verification key.
 
 VerificationKey (CircuitBuilder &builder, std::span< FF > elements)
 Deserialize a verification key from a vector of field elements.
 
- Public Member Functions inherited from bb::StdlibVerificationKey_< BuilderType, UltraRollupFlavor::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)
 
virtual std::vector< FFto_field_elements () const
 Serialize verification key to field elements.
 
FF hash (Builder &builder)
 A model function to show how to compute the VK hash (without the Transcript abstracting things away).
 
virtual FF hash_through_transcript (const std::string &domain_separator, Transcript &transcript) const
 Hashes the vk using the transcript's independent buffer and returns the hash.
 

Static Public Member Functions

static VerificationKey from_witness_indices (CircuitBuilder &builder, const std::span< const uint32_t > witness_indices)
 Construct a VerificationKey from a set of corresponding witness indices.
 

Additional Inherited Members

- Public Attributes inherited from bb::StdlibVerificationKey_< BuilderType, UltraRollupFlavor::PrecomputedEntities< Commitment > >
FF log_circuit_size
 
FF num_public_inputs
 
FF pub_inputs_offset
 

Detailed Description

template<typename BuilderType>
class bb::UltraRollupRecursiveFlavor_< BuilderType >::VerificationKey

The verification key is responsible for storing the commitments to the precomputed (non-witnessk) polynomials used by the verifier.

Note
Note the discrepancy with what sort of data is stored here vs in the proving key. We may want to resolve that, and split out separate PrecomputedPolynomials/Commitments data for clarity but also for portability of our circuits.

Definition at line 60 of file ultra_rollup_recursive_flavor.hpp.

Member Typedef Documentation

◆ NativeVerificationKey

template<typename BuilderType >
using bb::UltraRollupRecursiveFlavor_< BuilderType >::VerificationKey::NativeVerificationKey = NativeFlavor::VerificationKey

Definition at line 63 of file ultra_rollup_recursive_flavor.hpp.

Constructor & Destructor Documentation

◆ VerificationKey() [1/2]

template<typename BuilderType >
bb::UltraRollupRecursiveFlavor_< BuilderType >::VerificationKey::VerificationKey ( CircuitBuilder builder,
const std::shared_ptr< NativeVerificationKey > &  native_key 
)
inline

Construct a new Verification Key with stdlib types from a provided native verification key.

Parameters
builder
native_keyNative verification key from which to extract the precomputed commitments

Definition at line 71 of file ultra_rollup_recursive_flavor.hpp.

◆ VerificationKey() [2/2]

template<typename BuilderType >
bb::UltraRollupRecursiveFlavor_< BuilderType >::VerificationKey::VerificationKey ( CircuitBuilder builder,
std::span< FF elements 
)
inline

Deserialize a verification key from a vector of field elements.

Parameters
builder
elements

Definition at line 89 of file ultra_rollup_recursive_flavor.hpp.

Member Function Documentation

◆ from_witness_indices()

template<typename BuilderType >
static VerificationKey bb::UltraRollupRecursiveFlavor_< BuilderType >::VerificationKey::from_witness_indices ( CircuitBuilder builder,
const std::span< const uint32_t >  witness_indices 
)
inlinestatic

Construct a VerificationKey from a set of corresponding witness indices.

Parameters
builder
witness_indices
Returns
VerificationKey

Definition at line 111 of file ultra_rollup_recursive_flavor.hpp.


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