Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
MultiScalarMulTestingFunctions< Builder_, Constancy > Class Template Reference

Testing functions to generate the MultiScalarMul test suite. Constancy specifies which inputs to the constraints should be constant. More...

Classes

class  InvalidWitness
 

Public Types

using Builder = Builder_
 
using AcirConstraint = MultiScalarMul
 
using G1 = bb::grumpkin::g1
 
using GrumpkinPoint = G1::affine_element
 
using FF = bb::fr
 

Static Public Member Functions

static void generate_constraints (AcirConstraint &msm_constraint, WitnessVector &witness_values)
 
static void invalidate_witness (AcirConstraint &constraint, WitnessVector &witness_values, const InvalidWitness::Target &invalid_witness_target)
 

Detailed Description

template<typename Builder_, InputConstancy Constancy>
class MultiScalarMulTestingFunctions< Builder_, Constancy >

Testing functions to generate the MultiScalarMul test suite. Constancy specifies which inputs to the constraints should be constant.

Edge cases for MSM on Grumpkin are tested in cycle_group. Here we test that:

  1. If sum(scalars[i] * points[i]) != result, then the circuit fails (TamperingMode::Result)
  2. If the inputs are not valid points/scalars on Grumpkin, or the MSM is incorrect, but the predicate is witness false, then the circuit is satisfied.

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

Member Typedef Documentation

◆ AcirConstraint

template<typename Builder_ , InputConstancy Constancy>
using MultiScalarMulTestingFunctions< Builder_, Constancy >::AcirConstraint = MultiScalarMul

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

◆ Builder

template<typename Builder_ , InputConstancy Constancy>
using MultiScalarMulTestingFunctions< Builder_, Constancy >::Builder = Builder_

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

◆ FF

template<typename Builder_ , InputConstancy Constancy>
using MultiScalarMulTestingFunctions< Builder_, Constancy >::FF = bb::fr

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

◆ G1

template<typename Builder_ , InputConstancy Constancy>
using MultiScalarMulTestingFunctions< Builder_, Constancy >::G1 = bb::grumpkin::g1

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

◆ GrumpkinPoint

template<typename Builder_ , InputConstancy Constancy>
using MultiScalarMulTestingFunctions< Builder_, Constancy >::GrumpkinPoint = G1::affine_element

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

Member Function Documentation

◆ generate_constraints()

template<typename Builder_ , InputConstancy Constancy>
static void MultiScalarMulTestingFunctions< Builder_, Constancy >::generate_constraints ( AcirConstraint msm_constraint,
WitnessVector &  witness_values 
)
inlinestatic

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

◆ invalidate_witness()

template<typename Builder_ , InputConstancy Constancy>
static void MultiScalarMulTestingFunctions< Builder_, Constancy >::invalidate_witness ( AcirConstraint constraint,
WitnessVector &  witness_values,
const InvalidWitness::Target invalid_witness_target 
)
inlinestatic

Definition at line 118 of file multi_scalar_mul.test.cpp.


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