Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ > Class Template Reference

The stdlib counterpart of VerifierInstance, used in recursive folding verification. More...

#include <recursive_verifier_instance.hpp>

Public Types

using Flavor = Flavor_
 
using FF = typename Flavor::FF
 
using NativeFF = typename Flavor::Curve::ScalarFieldNative
 
using Commitment = typename Flavor::Commitment
 
using VerificationKey = typename Flavor::VerificationKey
 
using VKAndHash = typename Flavor::VKAndHash
 
using WitnessCommitments = typename Flavor::WitnessCommitments
 
using CommitmentLabels = typename Flavor::CommitmentLabels
 
using SubrelationSeparators = typename Flavor::SubrelationSeparators
 
using Builder = typename Flavor::CircuitBuilder
 
using NativeFlavor = typename Flavor::NativeFlavor
 
using NativeVerificationKey = typename Flavor::NativeFlavor::VerificationKey
 
using NativeVerifierInstance = bb::VerifierInstance_< NativeFlavor >
 
using VerifierCommitmentKey = typename NativeFlavor::VerifierCommitmentKey
 
using Transcript = typename Flavor::Transcript
 

Public Member Functions

 RecursiveVerifierInstance_ (Builder *builder)
 
 RecursiveVerifierInstance_ (Builder *builder, std::shared_ptr< NativeVerificationKey > vk)
 
 RecursiveVerifierInstance_ (Builder *builder, std::shared_ptr< VKAndHash > vk_and_hash)
 
std::shared_ptr< VerificationKeyget_vk () const
 Get the verification key.
 
 RecursiveVerifierInstance_ (Builder *builder, std::shared_ptr< NativeVerifierInstance > verification_key)
 
NativeVerifierInstance get_value ()
 Return the underlying native VerifierInstance.
 
FF hash_through_transcript (const std::string &domain_separator, Transcript &transcript) const
 

Public Attributes

Builderbuilder
 
std::shared_ptr< VKAndHashvk_and_hash
 
bool is_complete = false
 
std::vector< FFpublic_inputs
 
SubrelationSeparators alphas
 
RelationParameters< FFrelation_parameters
 
std::vector< FFgate_challenges
 
FF target_sum { 0 }
 
WitnessCommitments witness_commitments
 
CommitmentLabels commitment_labels
 

Detailed Description

template<IsRecursiveFlavor Flavor_>
class bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >

The stdlib counterpart of VerifierInstance, used in recursive folding verification.

Definition at line 18 of file recursive_verifier_instance.hpp.

Member Typedef Documentation

◆ Builder

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::Builder = typename Flavor::CircuitBuilder

Definition at line 29 of file recursive_verifier_instance.hpp.

◆ Commitment

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::Commitment = typename Flavor::Commitment

Definition at line 23 of file recursive_verifier_instance.hpp.

◆ CommitmentLabels

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::CommitmentLabels = typename Flavor::CommitmentLabels

Definition at line 27 of file recursive_verifier_instance.hpp.

◆ FF

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::FF = typename Flavor::FF

Definition at line 21 of file recursive_verifier_instance.hpp.

◆ Flavor

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::Flavor = Flavor_

Definition at line 20 of file recursive_verifier_instance.hpp.

◆ NativeFF

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::NativeFF = typename Flavor::Curve::ScalarFieldNative

Definition at line 22 of file recursive_verifier_instance.hpp.

◆ NativeFlavor

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::NativeFlavor = typename Flavor::NativeFlavor

Definition at line 30 of file recursive_verifier_instance.hpp.

◆ NativeVerificationKey

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::NativeVerificationKey = typename Flavor::NativeFlavor::VerificationKey

Definition at line 31 of file recursive_verifier_instance.hpp.

◆ NativeVerifierInstance

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::NativeVerifierInstance = bb::VerifierInstance_<NativeFlavor>

Definition at line 32 of file recursive_verifier_instance.hpp.

◆ SubrelationSeparators

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::SubrelationSeparators = typename Flavor::SubrelationSeparators

Definition at line 28 of file recursive_verifier_instance.hpp.

◆ Transcript

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::Transcript = typename Flavor::Transcript

Definition at line 34 of file recursive_verifier_instance.hpp.

◆ VerificationKey

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::VerificationKey = typename Flavor::VerificationKey

Definition at line 24 of file recursive_verifier_instance.hpp.

◆ VerifierCommitmentKey

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::VerifierCommitmentKey = typename NativeFlavor::VerifierCommitmentKey

Definition at line 33 of file recursive_verifier_instance.hpp.

◆ VKAndHash

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::VKAndHash = typename Flavor::VKAndHash

Definition at line 25 of file recursive_verifier_instance.hpp.

◆ WitnessCommitments

template<IsRecursiveFlavor Flavor_>
using bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::WitnessCommitments = typename Flavor::WitnessCommitments

Definition at line 26 of file recursive_verifier_instance.hpp.

Constructor & Destructor Documentation

◆ RecursiveVerifierInstance_() [1/4]

template<IsRecursiveFlavor Flavor_>
bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::RecursiveVerifierInstance_ ( Builder builder)
inline

Definition at line 53 of file recursive_verifier_instance.hpp.

◆ RecursiveVerifierInstance_() [2/4]

template<IsRecursiveFlavor Flavor_>
bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::RecursiveVerifierInstance_ ( Builder builder,
std::shared_ptr< NativeVerificationKey vk 
)
inline

Definition at line 57 of file recursive_verifier_instance.hpp.

◆ RecursiveVerifierInstance_() [3/4]

template<IsRecursiveFlavor Flavor_>
bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::RecursiveVerifierInstance_ ( Builder builder,
std::shared_ptr< VKAndHash vk_and_hash 
)
inline

Definition at line 64 of file recursive_verifier_instance.hpp.

◆ RecursiveVerifierInstance_() [4/4]

template<IsRecursiveFlavor Flavor_>
bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::RecursiveVerifierInstance_ ( Builder builder,
std::shared_ptr< NativeVerifierInstance verification_key 
)
inline

Definition at line 75 of file recursive_verifier_instance.hpp.

Member Function Documentation

◆ get_value()

template<IsRecursiveFlavor Flavor_>
NativeVerifierInstance bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::get_value ( )
inline

Return the underlying native VerifierInstance.

In the context of client IVC, we will have several iterations of recursive folding verification. The RecursiveVerifierInstance is tied to the builder in whose context it was created so in order to preserve the accumulator values between several iterations we need to retrieve the native VerifierInstance values.

Definition at line 114 of file recursive_verifier_instance.hpp.

◆ get_vk()

template<IsRecursiveFlavor Flavor_>
std::shared_ptr< VerificationKey > bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::get_vk ( ) const
inline

Get the verification key.

Returns
Verification key shared pointer

Definition at line 72 of file recursive_verifier_instance.hpp.

◆ hash_through_transcript()

template<IsRecursiveFlavor Flavor_>
FF bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::hash_through_transcript ( const std::string &  domain_separator,
Transcript transcript 
) const
inline

Definition at line 153 of file recursive_verifier_instance.hpp.

Member Data Documentation

◆ alphas

template<IsRecursiveFlavor Flavor_>
SubrelationSeparators bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::alphas

Definition at line 44 of file recursive_verifier_instance.hpp.

◆ builder

template<IsRecursiveFlavor Flavor_>
Builder* bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::builder

Definition at line 36 of file recursive_verifier_instance.hpp.

◆ commitment_labels

template<IsRecursiveFlavor Flavor_>
CommitmentLabels bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::commitment_labels

Definition at line 51 of file recursive_verifier_instance.hpp.

◆ gate_challenges

template<IsRecursiveFlavor Flavor_>
std::vector<FF> bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::gate_challenges

Definition at line 46 of file recursive_verifier_instance.hpp.

◆ is_complete

template<IsRecursiveFlavor Flavor_>
bool bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::is_complete = false

Definition at line 40 of file recursive_verifier_instance.hpp.

◆ public_inputs

template<IsRecursiveFlavor Flavor_>
std::vector<FF> bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::public_inputs

Definition at line 41 of file recursive_verifier_instance.hpp.

◆ relation_parameters

template<IsRecursiveFlavor Flavor_>
RelationParameters<FF> bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::relation_parameters

Definition at line 45 of file recursive_verifier_instance.hpp.

◆ target_sum

template<IsRecursiveFlavor Flavor_>
FF bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::target_sum { 0 }

Definition at line 48 of file recursive_verifier_instance.hpp.

◆ vk_and_hash

template<IsRecursiveFlavor Flavor_>
std::shared_ptr<VKAndHash> bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::vk_and_hash

Definition at line 38 of file recursive_verifier_instance.hpp.

◆ witness_commitments

template<IsRecursiveFlavor Flavor_>
WitnessCommitments bb::stdlib::recursion::honk::RecursiveVerifierInstance_< Flavor_ >::witness_commitments

Definition at line 50 of file recursive_verifier_instance.hpp.


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