|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <hypernova_verifier.hpp>
Public Types | |
| using | Flavor = Flavor_ |
| using | FF = Flavor::FF |
| using | Curve = Flavor::Curve |
| using | Commitment = Flavor::Commitment |
| using | VerifierCommitments = Flavor::VerifierCommitments |
| using | Transcript = Flavor::Transcript |
| using | Accumulator = MultilinearBatchingVerifierClaim< Curve > |
| using | OinkVerifier = OinkVerifier< Flavor > |
| using | SumcheckVerifier = bb::SumcheckVerifier< Flavor > |
| using | MegaSumcheckOutput = SumcheckOutput< Flavor > |
| using | MultilinearBatchingVerifier = std::conditional_t< IsRecursiveFlavor< Flavor >, typename HypernovaRecursiveTypes::MultilinearBatchingVerifier, typename HypernovaNativeTypes::MultilinearBatchingVerifier > |
| using | VerifierInstance = std::conditional_t< IsRecursiveFlavor< Flavor >, typename HypernovaRecursiveTypes::VerifierInstance, typename HypernovaNativeTypes::VerifierInstance > |
| using | Proof = std::conditional_t< IsRecursiveFlavor< Flavor >, typename HypernovaRecursiveTypes::Proof, typename HypernovaNativeTypes::Proof > |
Public Member Functions | |
| HypernovaFoldingVerifier (std::shared_ptr< Transcript > &transcript) | |
| std::pair< bool, Accumulator > | instance_to_accumulator (const std::shared_ptr< VerifierInstance > &instance, const Proof &proof) |
| Turn an instance into an accumulator by executing sumcheck. | |
| std::tuple< bool, bool, Accumulator > | verify_folding_proof (const std::shared_ptr< typename HypernovaFoldingVerifier::VerifierInstance > &instance, const Proof &proof) |
| Verify folding proof. Return the new accumulator and the results of the two sumchecks. | |
Public Attributes | |
| std::shared_ptr< Transcript > | transcript |
Static Public Attributes | |
| static constexpr size_t | NUM_UNSHIFTED_ENTITIES = MegaFlavor::NUM_UNSHIFTED_ENTITIES |
| static constexpr size_t | NUM_SHIFTED_ENTITIES = MegaFlavor::NUM_SHIFTED_ENTITIES |
Private Member Functions | |
| Accumulator | sumcheck_output_to_accumulator (MegaSumcheckOutput &sumcheck_output, const std::shared_ptr< VerifierInstance > &instance) |
| Commitment | batch_mul (const std::vector< Commitment > &points, const std::vector< FF > &scalars) |
Definition at line 21 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::Accumulator = MultilinearBatchingVerifierClaim<Curve> |
Definition at line 29 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::Commitment = Flavor::Commitment |
Definition at line 26 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::Curve = Flavor::Curve |
Definition at line 25 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::FF = Flavor::FF |
Definition at line 24 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::Flavor = Flavor_ |
Definition at line 23 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::MegaSumcheckOutput = SumcheckOutput<Flavor> |
Definition at line 32 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::MultilinearBatchingVerifier = std::conditional_t<IsRecursiveFlavor<Flavor>, typename HypernovaRecursiveTypes::MultilinearBatchingVerifier, typename HypernovaNativeTypes::MultilinearBatchingVerifier> |
Definition at line 34 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::OinkVerifier = OinkVerifier<Flavor> |
Definition at line 30 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::Proof = std::conditional_t<IsRecursiveFlavor<Flavor>, typename HypernovaRecursiveTypes::Proof, typename HypernovaNativeTypes::Proof> |
Definition at line 41 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::SumcheckVerifier = bb::SumcheckVerifier<Flavor> |
Definition at line 31 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::Transcript = Flavor::Transcript |
Definition at line 28 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::VerifierCommitments = Flavor::VerifierCommitments |
Definition at line 27 of file hypernova_verifier.hpp.
| using bb::HypernovaFoldingVerifier< Flavor_ >::VerifierInstance = std::conditional_t<IsRecursiveFlavor<Flavor>, typename HypernovaRecursiveTypes::VerifierInstance, typename HypernovaNativeTypes::VerifierInstance> |
Definition at line 38 of file hypernova_verifier.hpp.
|
inline |
Definition at line 50 of file hypernova_verifier.hpp.
|
inlineprivate |
Definition at line 75 of file hypernova_verifier.hpp.
| std::pair< bool, typename HypernovaFoldingVerifier< Flavor >::Accumulator > bb::HypernovaFoldingVerifier< Flavor >::instance_to_accumulator | ( | const std::shared_ptr< VerifierInstance > & | instance, |
| const Proof & | proof | ||
| ) |
Turn an instance into an accumulator by executing sumcheck.
| instance |
Definition at line 73 of file hypernova_verifier.cpp.
|
private |
Definition at line 12 of file hypernova_verifier.cpp.
| std::tuple< bool, bool, typename HypernovaFoldingVerifier< Flavor >::Accumulator > bb::HypernovaFoldingVerifier< Flavor >::verify_folding_proof | ( | const std::shared_ptr< typename HypernovaFoldingVerifier< Flavor_ >::VerifierInstance > & | instance, |
| const Proof & | proof | ||
| ) |
Verify folding proof. Return the new accumulator and the results of the two sumchecks.
| proof |
Definition at line 114 of file hypernova_verifier.cpp.
|
staticconstexpr |
Definition at line 46 of file hypernova_verifier.hpp.
|
staticconstexpr |
Definition at line 45 of file hypernova_verifier.hpp.
| std::shared_ptr<Transcript> bb::HypernovaFoldingVerifier< Flavor_ >::transcript |
Definition at line 48 of file hypernova_verifier.hpp.