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

#include <oink_recursive_verifier.hpp>

Public Types

using FF = typename Flavor::FF
 
using Commitment = typename Flavor::Commitment
 
using GroupElement = typename Flavor::GroupElement
 
using RecursiveDeciderVK = RecursiveDeciderVerificationKey_< Flavor >
 
using VerificationKey = typename Flavor::VerificationKey
 
using Builder = typename Flavor::CircuitBuilder
 
using SubrelationSeparators = typename Flavor::SubrelationSeparators
 
using Transcript = bb::BaseTranscript< bb::stdlib::recursion::honk::StdlibTranscriptParams< Builder > >
 
using WitnessCommitments = typename Flavor::WitnessCommitments
 
using OinkProof = std::vector< FF >
 

Public Member Functions

 OinkRecursiveVerifier_ (Builder *builder, const std::shared_ptr< RecursiveDeciderVK > &decider_vk, const std::shared_ptr< Transcript > &transcript, std::string domain_separator="")
 Constructs an Oink Recursive Verifier with a transcript that has been instantiated externally.
 
 OinkRecursiveVerifier_ (Builder *builder, const std::shared_ptr< RecursiveDeciderVK > &decider_vk, std::string domain_separator="")
 Constructs an Oink Recursive Verifier.
 
void verify ()
 Constructs an oink recursive verifier circuit for an oink proof assumed to be contained in the transcript.
 
void verify_proof (const OinkProof &proof)
 Constructs an oink recursive verifier circuit for a provided oink proof.
 

Public Attributes

std::shared_ptr< RecursiveDeciderVKdecider_vk
 
Builderbuilder
 
std::shared_ptr< Transcripttranscript = std::make_shared<Transcript>()
 
std::string domain_separator
 

Detailed Description

template<typename Flavor>
class bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >

Definition at line 13 of file oink_recursive_verifier.hpp.

Member Typedef Documentation

◆ Builder

◆ Commitment

template<typename Flavor >
using bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::Commitment = typename Flavor::Commitment

Definition at line 16 of file oink_recursive_verifier.hpp.

◆ FF

Definition at line 15 of file oink_recursive_verifier.hpp.

◆ GroupElement

template<typename Flavor >
using bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::GroupElement = typename Flavor::GroupElement

Definition at line 17 of file oink_recursive_verifier.hpp.

◆ OinkProof

template<typename Flavor >
using bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::OinkProof = std::vector<FF>

Definition at line 24 of file oink_recursive_verifier.hpp.

◆ RecursiveDeciderVK

Definition at line 18 of file oink_recursive_verifier.hpp.

◆ SubrelationSeparators

template<typename Flavor >
using bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::SubrelationSeparators = typename Flavor::SubrelationSeparators

Definition at line 21 of file oink_recursive_verifier.hpp.

◆ Transcript

◆ VerificationKey

◆ WitnessCommitments

template<typename Flavor >
using bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::WitnessCommitments = typename Flavor::WitnessCommitments

Definition at line 23 of file oink_recursive_verifier.hpp.

Constructor & Destructor Documentation

◆ OinkRecursiveVerifier_() [1/2]

template<typename Flavor >
bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::OinkRecursiveVerifier_ ( Builder builder,
const std::shared_ptr< RecursiveDeciderVK > &  decider_vk,
const std::shared_ptr< Transcript > &  transcript,
std::string  domain_separator = "" 
)
explicit

Constructs an Oink Recursive Verifier with a transcript that has been instantiated externally.

Used when oink recursive verification is part of a larger protocol for which a transcript already exists, e.g. Honk recursive verification.

Parameters
builder
verification_keyIncomplete verifier verification_key to be completed during verification
transcriptTranscript instantiated with an Oink proof (or a proof that contains an Oink proof).
domain_separatorstring used for differentiating verification_keys in the transcript (PG only)

Definition at line 21 of file oink_recursive_verifier.cpp.

◆ OinkRecursiveVerifier_() [2/2]

template<typename Flavor >
bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::OinkRecursiveVerifier_ ( Builder builder,
const std::shared_ptr< RecursiveDeciderVK > &  decider_vk,
std::string  domain_separator = "" 
)
explicit

Constructs an Oink Recursive Verifier.

Parameters
builder
verification_keyIncomplete verifier verification_key to be completed during verification
domain_separatorstring used for differentiating verification_keys in the transcript (PG only)

Definition at line 32 of file oink_recursive_verifier.cpp.

Member Function Documentation

◆ verify()

template<typename Flavor >
void bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::verify ( )

Constructs an oink recursive verifier circuit for an oink proof assumed to be contained in the transcript.

Definition at line 46 of file oink_recursive_verifier.cpp.

◆ verify_proof()

template<typename Flavor >
void bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::verify_proof ( const OinkProof proof)

Constructs an oink recursive verifier circuit for a provided oink proof.

Definition at line 40 of file oink_recursive_verifier.cpp.

Member Data Documentation

◆ builder

Definition at line 65 of file oink_recursive_verifier.hpp.

◆ decider_vk

template<typename Flavor >
std::shared_ptr<RecursiveDeciderVK> bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::decider_vk

Definition at line 64 of file oink_recursive_verifier.hpp.

◆ domain_separator

template<typename Flavor >
std::string bb::stdlib::recursion::honk::OinkRecursiveVerifier_< Flavor >::domain_separator

Definition at line 67 of file oink_recursive_verifier.hpp.

◆ transcript

Definition at line 66 of file oink_recursive_verifier.hpp.


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