Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ultra_honk.test.cpp File Reference
#include "ultra_honk.test.hpp"
#include "barretenberg/honk/relation_checker.hpp"
#include <gtest/gtest.h>

Go to the source code of this file.

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, 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, RangeChecksOnDuplicates)
 
 TYPED_TEST (UltraHonkTests, RangeConstraintSmallVariable)
 

Typedef Documentation

◆ AggregationState

◆ FlavorTypes

Function Documentation

◆ TYPED_TEST() [1/19]

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 60 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [2/19]

TYPED_TEST ( UltraHonkTests  ,
ComposedRangeConstraint   
)

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

◆ TYPED_TEST() [3/19]

TYPED_TEST ( UltraHonkTests  ,
CreateGatesFromPlookupAccumulators   
)

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

◆ TYPED_TEST() [4/19]

TYPED_TEST ( UltraHonkTests  ,
LookupFailure   
)

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

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

◆ TYPED_TEST() [5/19]

TYPED_TEST ( UltraHonkTests  ,
NonNativeFieldMultiplication   
)

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

◆ TYPED_TEST() [6/19]

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 32 of file ultra_honk.test.cpp.

◆ TYPED_TEST() [7/19]

TYPED_TEST ( UltraHonkTests  ,
PublicInputs   
)

Test simple circuit with public inputs.

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

◆ TYPED_TEST() [8/19]

TYPED_TEST ( UltraHonkTests  ,
RangeChecksOnDuplicates   
)

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

◆ TYPED_TEST() [9/19]

TYPED_TEST ( UltraHonkTests  ,
RangeConstraint   
)

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

◆ TYPED_TEST() [10/19]

TYPED_TEST ( UltraHonkTests  ,
RangeConstraintSmallVariable   
)

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

◆ TYPED_TEST() [11/19]

TYPED_TEST ( UltraHonkTests  ,
RangeWithGates   
)

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

◆ TYPED_TEST() [12/19]

TYPED_TEST ( UltraHonkTests  ,
RangeWithGatesWhereRangeIsNotAPowerOfTwo   
)

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

◆ TYPED_TEST() [13/19]

TYPED_TEST ( UltraHonkTests  ,
SortWidget   
)

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

◆ TYPED_TEST() [14/19]

TYPED_TEST ( UltraHonkTests  ,
SortWidgetComplex   
)

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

◆ TYPED_TEST() [15/19]

TYPED_TEST ( UltraHonkTests  ,
SortWidgetNeg   
)

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

◆ TYPED_TEST() [16/19]

TYPED_TEST ( UltraHonkTests  ,
SortWithEdgesGate   
)

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

◆ TYPED_TEST() [17/19]

TYPED_TEST ( UltraHonkTests  ,
TestEllipticGate   
)

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

◆ TYPED_TEST() [18/19]

TYPED_TEST ( UltraHonkTests  ,
TestNoLookupProof   
)

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

◆ TYPED_TEST() [19/19]

TYPED_TEST ( UltraHonkTests  ,
XorConstraint   
)

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

◆ TYPED_TEST_SUITE()

TYPED_TEST_SUITE ( UltraHonkTests  ,
FlavorTypes   
)