Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
HypernovaDeciderVerifierTests Class Reference
Inheritance diagram for HypernovaDeciderVerifierTests:

Public Types

enum class  TamperingMode : uint8_t { None , Accumulator , Instance , FoldedAccumulator }
 
using RecursiveHypernovaDeciderVerifier = HypernovaDeciderVerifier< bb::MegaRecursiveFlavor_< bb::MegaCircuitBuilder > >
 
using RecursiveFlavor = RecursiveHypernovaDeciderVerifier::Flavor
 
using Builder = RecursiveFlavor::CircuitBuilder
 
using RecursiveTranscript = RecursiveHypernovaDeciderVerifier::Transcript
 
using RecursiveProof = RecursiveHypernovaDeciderVerifier::Proof
 
using NativeHypernovaDeciderVerifier = HypernovaDeciderVerifier< bb::MegaFlavor >
 
using NativeFlavor = NativeHypernovaDeciderVerifier::Flavor
 
using CommitmentKey = NativeFlavor::CommitmentKey
 
using NativeFF = NativeFlavor::FF
 
using NativeVerifierAccumulator = NativeHypernovaDeciderVerifier::Accumulator
 
using NativeVerificationKey = NativeFlavor::VerificationKey
 
using NativeTranscript = NativeHypernovaDeciderVerifier::Transcript
 
using HypernovaFoldingProver = bb::HypernovaFoldingProver
 
using NativeProverAccumulator = HypernovaFoldingProver::Accumulator
 
using ProverInstance = HypernovaFoldingProver::ProverInstance
 
using HypernovaDeciderProver = bb::HypernovaDeciderProver
 
using RecursiveHypernovaVerifier = HypernovaFoldingVerifier< RecursiveFlavor >
 
using RecursiveVerifierInstance = RecursiveHypernovaVerifier::VerifierInstance
 
using NativeHypernovaVerifier = HypernovaFoldingVerifier< NativeFlavor >
 
using NativeVerifierInstance = NativeHypernovaVerifier::VerifierInstance
 

Static Public Member Functions

static TranscriptManifest build_expected_decider_manifest ()
 Build the expected transcript manifest for HyperNova decider.
 
static std::shared_ptr< ProverInstancegenerate_new_instance (size_t log_num_gates=4)
 
static bool compare_prover_verifier_accumulators (const NativeProverAccumulator &lhs, const NativeVerifierAccumulator &rhs)
 
static std::shared_ptr< RecursiveVerifierInstancecreate_recursive_verifier_instance (Builder *builder, const std::shared_ptr< NativeVerifierInstance > &native_instance)
 Test helper to create a recursive verifier instance from a native one.
 
static void tamper_with_accumulator (NativeProverAccumulator &accumulator, const TamperingMode &mode)
 
static void tamper_with_instance (std::shared_ptr< ProverInstance > &instance, const TamperingMode &mode)
 
static void test_decider (const TamperingMode &mode)
 

Static Protected Member Functions

static void SetUpTestSuite ()
 

Detailed Description

Definition at line 13 of file hypernova_decider_verifier.test.cpp.

Member Typedef Documentation

◆ Builder

using HypernovaDeciderVerifierTests::Builder = RecursiveFlavor::CircuitBuilder

Definition at line 22 of file hypernova_decider_verifier.test.cpp.

◆ CommitmentKey

using HypernovaDeciderVerifierTests::CommitmentKey = NativeFlavor::CommitmentKey

Definition at line 29 of file hypernova_decider_verifier.test.cpp.

◆ HypernovaDeciderProver

◆ HypernovaFoldingProver

◆ NativeFF

using HypernovaDeciderVerifierTests::NativeFF = NativeFlavor::FF

Definition at line 30 of file hypernova_decider_verifier.test.cpp.

◆ NativeFlavor

◆ NativeHypernovaDeciderVerifier

◆ NativeHypernovaVerifier

◆ NativeProverAccumulator

◆ NativeTranscript

◆ NativeVerificationKey

using HypernovaDeciderVerifierTests::NativeVerificationKey = NativeFlavor::VerificationKey

Definition at line 32 of file hypernova_decider_verifier.test.cpp.

◆ NativeVerifierAccumulator

◆ NativeVerifierInstance

◆ ProverInstance

◆ RecursiveFlavor

◆ RecursiveHypernovaDeciderVerifier

◆ RecursiveHypernovaVerifier

◆ RecursiveProof

◆ RecursiveTranscript

◆ RecursiveVerifierInstance

Member Enumeration Documentation

◆ TamperingMode

enum class HypernovaDeciderVerifierTests::TamperingMode : uint8_t
strong
Enumerator
None 
Accumulator 
Instance 
FoldedAccumulator 

Definition at line 49 of file hypernova_decider_verifier.test.cpp.

Member Function Documentation

◆ build_expected_decider_manifest()

static TranscriptManifest HypernovaDeciderVerifierTests::build_expected_decider_manifest ( )
inlinestatic

Build the expected transcript manifest for HyperNova decider.

Manifest tracking is enabled after folding (which uses 50 rounds), so only decider rounds are tracked. Round numbers continue from folding:

  • Round 50: rho challenge (batching for Gemini)
  • Round 51: Gemini FOLD commitments -> Gemini:r challenge
  • Round 52: Gemini evaluations -> Shplonk:nu challenge
  • Round 53: Shplonk:Q commitment -> Shplonk:z challenge
  • Round 54: KZG:W commitment -> KZG:masking_challenge

Definition at line 61 of file hypernova_decider_verifier.test.cpp.

◆ compare_prover_verifier_accumulators()

static bool HypernovaDeciderVerifierTests::compare_prover_verifier_accumulators ( const NativeProverAccumulator lhs,
const NativeVerifierAccumulator rhs 
)
inlinestatic

Definition at line 108 of file hypernova_decider_verifier.test.cpp.

◆ create_recursive_verifier_instance()

static std::shared_ptr< RecursiveVerifierInstance > HypernovaDeciderVerifierTests::create_recursive_verifier_instance ( Builder builder,
const std::shared_ptr< NativeVerifierInstance > &  native_instance 
)
inlinestatic

Test helper to create a recursive verifier instance from a native one.

Converts all fields from native to stdlib types for recursive verification testing

Definition at line 140 of file hypernova_decider_verifier.test.cpp.

◆ generate_new_instance()

static std::shared_ptr< ProverInstance > HypernovaDeciderVerifierTests::generate_new_instance ( size_t  log_num_gates = 4)
inlinestatic

Definition at line 95 of file hypernova_decider_verifier.test.cpp.

◆ SetUpTestSuite()

static void HypernovaDeciderVerifierTests::SetUpTestSuite ( )
inlinestaticprotected

Definition at line 15 of file hypernova_decider_verifier.test.cpp.

◆ tamper_with_accumulator()

static void HypernovaDeciderVerifierTests::tamper_with_accumulator ( NativeProverAccumulator accumulator,
const TamperingMode mode 
)
inlinestatic

Definition at line 196 of file hypernova_decider_verifier.test.cpp.

◆ tamper_with_instance()

static void HypernovaDeciderVerifierTests::tamper_with_instance ( std::shared_ptr< ProverInstance > &  instance,
const TamperingMode mode 
)
inlinestatic

Definition at line 216 of file hypernova_decider_verifier.test.cpp.

◆ test_decider()

static void HypernovaDeciderVerifierTests::test_decider ( const TamperingMode mode)
inlinestatic

Definition at line 230 of file hypernova_decider_verifier.test.cpp.


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