Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ultra_honk.test.cpp File Reference

Go to the source code of this file.

Classes

class  UltraHonkTests< Flavor >
 

Typedefs

using AggregationState = stdlib::recursion::PairingPoints< UltraCircuitBuilder >
 
using FlavorTypes = testing::Types< UltraFlavor, UltraZKFlavor, UltraKeccakFlavor, UltraKeccakZKFlavor, UltraRollupFlavor >
 

Functions

 TYPED_TEST_SUITE (UltraHonkTests, FlavorTypes)
 
 TYPED_TEST (UltraHonkTests, ProofLengthCheck)
 Check that size of a ultra honk proof matches the corresponding constant.
 
 TYPED_TEST (UltraHonkTests, ANonZeroPolynomialIsAGoodPolynomial)
 A quick test to ensure that none of our polynomials are identically zero.
 
 TYPED_TEST (UltraHonkTests, PublicInputs)
 Test simple circuit with public inputs.
 
 TYPED_TEST (UltraHonkTests, XorConstraint)
 
 TYPED_TEST (UltraHonkTests, CreateGatesFromPlookupAccumulators)
 
 TYPED_TEST (UltraHonkTests, LookupFailure)
 Test various failure modes for the lookup relation via bad input polynomials.
 
 TYPED_TEST (UltraHonkTests, TestNoLookupProof)
 
 TYPED_TEST (UltraHonkTests, TestEllipticGate)
 
 TYPED_TEST (UltraHonkTests, NonTrivialTagPermutation)
 
 TYPED_TEST (UltraHonkTests, NonTrivialTagPermutationAndCycles)
 
 TYPED_TEST (UltraHonkTests, BadTagPermutation)
 
 TYPED_TEST (UltraHonkTests, SortWidget)
 
 TYPED_TEST (UltraHonkTests, SortWithEdgesGate)
 
 TYPED_TEST (UltraHonkTests, RangeConstraint)
 
 TYPED_TEST (UltraHonkTests, RangeWithGates)
 
 TYPED_TEST (UltraHonkTests, RangeWithGatesWhereRangeIsNotAPowerOfTwo)
 
 TYPED_TEST (UltraHonkTests, SortWidgetComplex)
 
 TYPED_TEST (UltraHonkTests, SortWidgetNeg)
 
 TYPED_TEST (UltraHonkTests, ComposedRangeConstraint)
 
 TYPED_TEST (UltraHonkTests, NonNativeFieldMultiplication)
 
 TYPED_TEST (UltraHonkTests, Rom)
 
 TYPED_TEST (UltraHonkTests, Ram)
 
 TYPED_TEST (UltraHonkTests, RangeChecksOnDuplicates)
 
 TYPED_TEST (UltraHonkTests, RangeConstraintSmallVariable)
 

Typedef Documentation

◆ AggregationState

◆ FlavorTypes

Function Documentation

◆ TYPED_TEST() [1/24]

TYPED_TEST ( UltraHonkTests  ,
ANonZeroPolynomialIsAGoodPolynomial   
)

A quick test to ensure that none of our polynomials are identically zero.

Note
This test assumes that gates have been added by default in the composer to achieve non-zero polynomials

Definition at line 132 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [2/24]

TYPED_TEST ( UltraHonkTests  ,
BadTagPermutation   
)

Definition at line 477 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [3/24]

TYPED_TEST ( UltraHonkTests  ,
ComposedRangeConstraint   
)

Definition at line 815 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [4/24]

TYPED_TEST ( UltraHonkTests  ,
CreateGatesFromPlookupAccumulators   
)

Definition at line 208 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [5/24]

TYPED_TEST ( UltraHonkTests  ,
LookupFailure   
)

Test various failure modes for the lookup relation via bad input polynomials.

Definition at line 273 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [6/24]

TYPED_TEST ( UltraHonkTests  ,
NonNativeFieldMultiplication   
)

Definition at line 830 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [7/24]

TYPED_TEST ( UltraHonkTests  ,
NonTrivialTagPermutation   
)

Definition at line 411 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [8/24]

TYPED_TEST ( UltraHonkTests  ,
NonTrivialTagPermutationAndCycles   
)

Definition at line 439 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [9/24]

TYPED_TEST ( UltraHonkTests  ,
ProofLengthCheck   
)

Check that size of a ultra honk proof matches the corresponding constant.

If this test FAILS, then the following (non-exhaustive) list should probably be updated as well:

  • Proof length formula in ultra_flavor.hpp, mega_flavor.hpp, etc...
  • ultra_transcript.test.cpp
  • constants in yarn-project in: constants.nr, constants.gen.ts, ConstantsGen.sol, lib.nr in bb_proof_verification/src, main.nr of recursive acir_tests programs. with recursive verification circuits
  • Places that define SIZE_OF_PROOF_IF_LOGN_IS_28

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

◆ TYPED_TEST() [10/24]

TYPED_TEST ( UltraHonkTests  ,
PublicInputs   
)

Test simple circuit with public inputs.

Definition at line 168 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [11/24]

TYPED_TEST ( UltraHonkTests  ,
Ram   
)

Definition at line 928 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [12/24]

TYPED_TEST ( UltraHonkTests  ,
RangeChecksOnDuplicates   
)

Definition at line 993 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [13/24]

TYPED_TEST ( UltraHonkTests  ,
RangeConstraint   
)

Definition at line 645 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [14/24]

TYPED_TEST ( UltraHonkTests  ,
RangeConstraintSmallVariable   
)

Definition at line 1034 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [15/24]

TYPED_TEST ( UltraHonkTests  ,
RangeWithGates   
)

Definition at line 726 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [16/24]

TYPED_TEST ( UltraHonkTests  ,
RangeWithGatesWhereRangeIsNotAPowerOfTwo   
)

Definition at line 746 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [17/24]

TYPED_TEST ( UltraHonkTests  ,
Rom   
)

Definition at line 886 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [18/24]

TYPED_TEST ( UltraHonkTests  ,
SortWidget   
)

Definition at line 522 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [19/24]

TYPED_TEST ( UltraHonkTests  ,
SortWidgetComplex   
)

Definition at line 766 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [20/24]

TYPED_TEST ( UltraHonkTests  ,
SortWidgetNeg   
)

Definition at line 796 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [21/24]

TYPED_TEST ( UltraHonkTests  ,
SortWithEdgesGate   
)

Definition at line 541 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [22/24]

TYPED_TEST ( UltraHonkTests  ,
TestEllipticGate   
)

Definition at line 376 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [23/24]

TYPED_TEST ( UltraHonkTests  ,
TestNoLookupProof   
)

Definition at line 353 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [24/24]

TYPED_TEST ( UltraHonkTests  ,
XorConstraint   
)

Definition at line 180 of file ultra_honk.test.cpp.

◆ TYPED_TEST_SUITE()

TYPED_TEST_SUITE ( UltraHonkTests  ,
FlavorTypes   
)