Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ShpleminiRecursionTest< PCS > Class Template Reference
Inheritance diagram for ShpleminiRecursionTest< PCS >:
bb::CommitmentTest< PCS::Curve::NativeCurve >

Public Types

using Builder = typename PCS::Builder
 
using Curve = typename PCS::Curve
 
using NativeCurve = typename Curve::NativeCurve
 
using Commitment = typename Curve::AffineElement
 
using NativePCS = typename PCS::PCSImpl
 
using CommitmentKey = typename NativePCS::CK
 
using ShpleminiProver = ShpleminiProver_< NativeCurve >
 
using ShpleminiVerifier = ShpleminiVerifier_< Curve >
 
using Fr = typename Curve::ScalarField
 
using NativeFr = typename NativeCurve::ScalarField
 
using NativeCommitment = typename NativeCurve::AffineElement
 
using Transcript = StdlibTranscript< Builder >
 
using ClaimBatcher = ClaimBatcher_< Curve >
 
using ClaimBatch = typename ClaimBatcher::Batch
 
using MockClaimGen = MockClaimGenerator< NativeCurve >
 
using StdlibProof = bb::stdlib::Proof< Builder >
 

Public Member Functions

void validate_num_eccvm_rows (size_t num_polys, size_t num_shifted, bool short_scalars, Builder *builder)
 
void run_shplemini_full_scalars (size_t num_polys, size_t num_shifted, bool prove_eccvm=false)
 
void run_shplemini_short_scalars (size_t num_polys, size_t num_shifted, bool prove_eccvm=false)
 
- Public Member Functions inherited from bb::CommitmentTest< PCS::Curve::NativeCurve >
 CommitmentTest ()
 
const CKck ()
 
VKvk ()
 
Commitment commit (const Polynomial &polynomial)
 
Fr random_element ()
 
Polynomial random_polynomial (const size_t poly_size)
 
OpeningPair< PCS::Curve::NativeCurve > random_eval (const Polynomial &polynomial)
 
std::vector< Frrandom_evaluation_point (const size_t num_variables)
 
void verify_opening_claim (const OpeningClaim< PCS::Curve::NativeCurve > &claim, const Polynomial &witness, CommitmentKey< PCS::Curve::NativeCurve > ck=CommitmentKey< PCS::Curve::NativeCurve >())
 
void verify_opening_pair (const OpeningPair< PCS::Curve::NativeCurve > &opening_pair, const Polynomial &witness)
 
void verify_batch_opening_claim (std::span< const OpeningClaim< PCS::Curve::NativeCurve > > multi_claims, std::span< const Polynomial > witnesses)
 Ensures that a 'BatchOpeningClaim' is correct by checking that.
 
void verify_batch_opening_pair (std::vector< ProverOpeningClaim< PCS::Curve::NativeCurve > > opening_claims)
 Ensures that a set of opening pairs is correct by checking that evaluations are correct by recomputing them from each witness polynomial.
 
std::vector< UnivariateClaimData< PCS::Curve::NativeCurve > > generate_claim_data (const std::vector< size_t > &poly_sizes)
 
std::pair< std::vector< Fr >, std::vector< Fr > > combine_claims (std::vector< UnivariateClaimData< PCS::Curve::NativeCurve > > &claims)
 

Static Public Member Functions

static std::vector< Frconvert_elements_to_witnesses (Builder &builder, const std::vector< NativeFr > &elements)
 
static std::vector< Commitmentconvert_commitments_to_witnesses (Builder &builder, const std::vector< NativeCommitment > &native_commitments)
 
static std::vector< NativeFrrandom_challenge_vector (size_t size)
 
- Static Public Member Functions inherited from bb::CommitmentTest< PCS::Curve::NativeCurve >
static void SetUpTestSuite ()
 
static void TearDownTestSuite ()
 

Public Attributes

ClaimBatcher squashed_claim_batcher
 
Commitment squashed_unshifted_comm
 
Commitment squashed_shifted_comm
 
Fr squashed_unshifted_eval
 
Fr squashed_shifted_eval
 
- Public Attributes inherited from bb::CommitmentTest< PCS::Curve::NativeCurve >
numeric::RNGengine
 

Static Public Attributes

static constexpr size_t log_circuit_size = 10
 
- Static Public Attributes inherited from bb::CommitmentTest< PCS::Curve::NativeCurve >
static CK commitment_key
 
static VK verification_key
 

Private Member Functions

void run_shplemini_generic (size_t num_polys, size_t num_shifted, bool short_scalars, bool prove_eccvm)
 

Detailed Description

template<class PCS>
class ShpleminiRecursionTest< PCS >

Definition at line 16 of file shplemini.test.cpp.

Member Typedef Documentation

◆ Builder

template<class PCS >
using ShpleminiRecursionTest< PCS >::Builder = typename PCS::Builder

Definition at line 18 of file shplemini.test.cpp.

◆ ClaimBatch

template<class PCS >
using ShpleminiRecursionTest< PCS >::ClaimBatch = typename ClaimBatcher::Batch

Definition at line 31 of file shplemini.test.cpp.

◆ ClaimBatcher

template<class PCS >
using ShpleminiRecursionTest< PCS >::ClaimBatcher = ClaimBatcher_<Curve>

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

◆ Commitment

template<class PCS >
using ShpleminiRecursionTest< PCS >::Commitment = typename Curve::AffineElement

Definition at line 21 of file shplemini.test.cpp.

◆ CommitmentKey

template<class PCS >
using ShpleminiRecursionTest< PCS >::CommitmentKey = typename NativePCS::CK

Definition at line 23 of file shplemini.test.cpp.

◆ Curve

template<class PCS >
using ShpleminiRecursionTest< PCS >::Curve = typename PCS::Curve

Definition at line 19 of file shplemini.test.cpp.

◆ Fr

template<class PCS >
using ShpleminiRecursionTest< PCS >::Fr = typename Curve::ScalarField

Definition at line 26 of file shplemini.test.cpp.

◆ MockClaimGen

template<class PCS >
using ShpleminiRecursionTest< PCS >::MockClaimGen = MockClaimGenerator<NativeCurve>

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

◆ NativeCommitment

template<class PCS >
using ShpleminiRecursionTest< PCS >::NativeCommitment = typename NativeCurve::AffineElement

Definition at line 28 of file shplemini.test.cpp.

◆ NativeCurve

template<class PCS >
using ShpleminiRecursionTest< PCS >::NativeCurve = typename Curve::NativeCurve

Definition at line 20 of file shplemini.test.cpp.

◆ NativeFr

template<class PCS >
using ShpleminiRecursionTest< PCS >::NativeFr = typename NativeCurve::ScalarField

Definition at line 27 of file shplemini.test.cpp.

◆ NativePCS

template<class PCS >
using ShpleminiRecursionTest< PCS >::NativePCS = typename PCS::PCSImpl

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

◆ ShpleminiProver

template<class PCS >
using ShpleminiRecursionTest< PCS >::ShpleminiProver = ShpleminiProver_<NativeCurve>

Definition at line 24 of file shplemini.test.cpp.

◆ ShpleminiVerifier

template<class PCS >
using ShpleminiRecursionTest< PCS >::ShpleminiVerifier = ShpleminiVerifier_<Curve>

Definition at line 25 of file shplemini.test.cpp.

◆ StdlibProof

template<class PCS >
using ShpleminiRecursionTest< PCS >::StdlibProof = bb::stdlib::Proof<Builder>

Definition at line 33 of file shplemini.test.cpp.

◆ Transcript

template<class PCS >
using ShpleminiRecursionTest< PCS >::Transcript = StdlibTranscript<Builder>

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

Member Function Documentation

◆ convert_commitments_to_witnesses()

template<class PCS >
static std::vector< Commitment > ShpleminiRecursionTest< PCS >::convert_commitments_to_witnesses ( Builder builder,
const std::vector< NativeCommitment > &  native_commitments 
)
inlinestatic

Definition at line 52 of file shplemini.test.cpp.

◆ convert_elements_to_witnesses()

template<class PCS >
static std::vector< Fr > ShpleminiRecursionTest< PCS >::convert_elements_to_witnesses ( Builder builder,
const std::vector< NativeFr > &  elements 
)
inlinestatic

Definition at line 43 of file shplemini.test.cpp.

◆ random_challenge_vector()

template<class PCS >
static std::vector< NativeFr > ShpleminiRecursionTest< PCS >::random_challenge_vector ( size_t  size)
inlinestatic

Definition at line 63 of file shplemini.test.cpp.

◆ run_shplemini_full_scalars()

template<class PCS >
void ShpleminiRecursionTest< PCS >::run_shplemini_full_scalars ( size_t  num_polys,
size_t  num_shifted,
bool  prove_eccvm = false 
)
inline

Definition at line 100 of file shplemini.test.cpp.

◆ run_shplemini_generic()

template<class PCS >
void ShpleminiRecursionTest< PCS >::run_shplemini_generic ( size_t  num_polys,
size_t  num_shifted,
bool  short_scalars,
bool  prove_eccvm 
)
inlineprivate

Definition at line 110 of file shplemini.test.cpp.

◆ run_shplemini_short_scalars()

template<class PCS >
void ShpleminiRecursionTest< PCS >::run_shplemini_short_scalars ( size_t  num_polys,
size_t  num_shifted,
bool  prove_eccvm = false 
)
inline

Definition at line 104 of file shplemini.test.cpp.

◆ validate_num_eccvm_rows()

template<class PCS >
void ShpleminiRecursionTest< PCS >::validate_num_eccvm_rows ( size_t  num_polys,
size_t  num_shifted,
bool  short_scalars,
Builder builder 
)
inline

Definition at line 73 of file shplemini.test.cpp.

Member Data Documentation

◆ log_circuit_size

template<class PCS >
constexpr size_t ShpleminiRecursionTest< PCS >::log_circuit_size = 10
staticconstexpr

Definition at line 35 of file shplemini.test.cpp.

◆ squashed_claim_batcher

template<class PCS >
ClaimBatcher ShpleminiRecursionTest< PCS >::squashed_claim_batcher

Definition at line 37 of file shplemini.test.cpp.

◆ squashed_shifted_comm

template<class PCS >
Commitment ShpleminiRecursionTest< PCS >::squashed_shifted_comm

Definition at line 39 of file shplemini.test.cpp.

◆ squashed_shifted_eval

template<class PCS >
Fr ShpleminiRecursionTest< PCS >::squashed_shifted_eval

Definition at line 41 of file shplemini.test.cpp.

◆ squashed_unshifted_comm

template<class PCS >
Commitment ShpleminiRecursionTest< PCS >::squashed_unshifted_comm

Definition at line 38 of file shplemini.test.cpp.

◆ squashed_unshifted_eval

template<class PCS >
Fr ShpleminiRecursionTest< PCS >::squashed_unshifted_eval

Definition at line 40 of file shplemini.test.cpp.


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