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

#include <ultra_verifier.hpp>

Classes

struct  UltraVerifierOutput
 

Public Member Functions

 UltraVerifier_ (const std::shared_ptr< VerificationKey > &vk, VerifierCommitmentKey< curve::Grumpkin > ipa_verification_key=VerifierCommitmentKey< curve::Grumpkin >(), const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
 
template<class IO >
UltraVerifierOutput verify_proof (const Proof &proof, const Proof &ipa_proof={})
 
template<class IO >
UltraVerifier_< Flavor >::UltraVerifierOutput verify_proof (const typename UltraVerifier_< Flavor >::Proof &proof, const typename UltraVerifier_< Flavor >::Proof &ipa_proof)
 This function verifies an Ultra Honk proof for a given Flavor.
 

Public Attributes

std::shared_ptr< Transcriptipa_transcript = std::make_shared<Transcript>()
 
std::shared_ptr< DeciderVKverification_key
 
VerifierCommitmentKey< curve::Grumpkinipa_verification_key
 
std::shared_ptr< Transcripttranscript
 

Private Types

using FF = typename Flavor::FF
 
using Commitment = typename Flavor::Commitment
 
using VerificationKey = typename Flavor::VerificationKey
 
using Transcript = typename Flavor::Transcript
 
using DeciderVK = DeciderVerificationKey_< Flavor >
 
using DeciderVerifier = DeciderVerifier_< Flavor >
 
using PublicInputs = std::vector< FF >
 
using Proof = typename Transcript::Proof
 

Detailed Description

template<typename Flavor>
class bb::UltraVerifier_< Flavor >

Definition at line 19 of file ultra_verifier.hpp.

Member Typedef Documentation

◆ Commitment

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::Commitment = typename Flavor::Commitment
private

Definition at line 21 of file ultra_verifier.hpp.

◆ DeciderVerifier

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::DeciderVerifier = DeciderVerifier_<Flavor>
private

Definition at line 25 of file ultra_verifier.hpp.

◆ DeciderVK

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::DeciderVK = DeciderVerificationKey_<Flavor>
private

Definition at line 24 of file ultra_verifier.hpp.

◆ FF

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::FF = typename Flavor::FF
private

Definition at line 20 of file ultra_verifier.hpp.

◆ Proof

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::Proof = typename Transcript::Proof
private

Definition at line 27 of file ultra_verifier.hpp.

◆ PublicInputs

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::PublicInputs = std::vector<FF>
private

Definition at line 26 of file ultra_verifier.hpp.

◆ Transcript

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::Transcript = typename Flavor::Transcript
private

Definition at line 23 of file ultra_verifier.hpp.

◆ VerificationKey

template<typename Flavor >
using bb::UltraVerifier_< Flavor >::VerificationKey = typename Flavor::VerificationKey
private

Definition at line 22 of file ultra_verifier.hpp.

Constructor & Destructor Documentation

◆ UltraVerifier_()

template<typename Flavor >
bb::UltraVerifier_< Flavor >::UltraVerifier_ ( const std::shared_ptr< VerificationKey > &  vk,
VerifierCommitmentKey< curve::Grumpkin ipa_verification_key = VerifierCommitmentKey<curve::Grumpkin>(),
const std::shared_ptr< Transcript > &  transcript = std::make_shared<Transcript>() 
)
inlineexplicit

Definition at line 40 of file ultra_verifier.hpp.

Member Function Documentation

◆ verify_proof() [1/2]

template<typename Flavor >
template<class IO >
template UltraVerifier_< MegaZKFlavor >::UltraVerifierOutput bb::UltraVerifier_< Flavor >::verify_proof< HidingKernelIO > ( const Proof proof,
const Proof ipa_proof = {} 
)

◆ verify_proof() [2/2]

template<typename Flavor >
template<class IO >
UltraVerifier_< Flavor >::UltraVerifierOutput bb::UltraVerifier_< Flavor >::verify_proof ( const typename UltraVerifier_< Flavor >::Proof proof,
const typename UltraVerifier_< Flavor >::Proof ipa_proof 
)

This function verifies an Ultra Honk proof for a given Flavor.

Template Parameters
IOPublic input type, specifies which public inputs should be extracted from the proof

Definition at line 24 of file ultra_verifier.cpp.

Member Data Documentation

◆ ipa_transcript

template<typename Flavor >
std::shared_ptr<Transcript> bb::UltraVerifier_< Flavor >::ipa_transcript = std::make_shared<Transcript>()

Definition at line 51 of file ultra_verifier.hpp.

◆ ipa_verification_key

template<typename Flavor >
VerifierCommitmentKey<curve::Grumpkin> bb::UltraVerifier_< Flavor >::ipa_verification_key

Definition at line 53 of file ultra_verifier.hpp.

◆ transcript

template<typename Flavor >
std::shared_ptr<Transcript> bb::UltraVerifier_< Flavor >::transcript

Definition at line 54 of file ultra_verifier.hpp.

◆ verification_key

template<typename Flavor >
std::shared_ptr<DeciderVK> bb::UltraVerifier_< Flavor >::verification_key

Definition at line 52 of file ultra_verifier.hpp.


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