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

Go to the source code of this file.

Classes

class  HypernovaRecursionConstraintTest
 

Functions

 TEST_F (HypernovaRecursionConstraintTest, MockMergeProofSize)
 Check that the size of a mock merge proof matches expectation.
 
 TEST_F (HypernovaRecursionConstraintTest, AccumulateSingleApp)
 Test IVC accumulation of a one app and one kernel; The kernel includes a recursive oink verification for the app, specified via an ACIR RecursionConstraint.
 
 TEST_F (HypernovaRecursionConstraintTest, AccumulateTwoApps)
 Test IVC accumulation of two apps and two kernels; The first kernel contains a recursive oink verification and the second contains two recursive HN verifications, all specified via ACIR RecursionConstraints.
 
 TEST_F (HypernovaRecursionConstraintTest, GenerateInitKernelVKFromConstraints)
 
 TEST_F (HypernovaRecursionConstraintTest, GenerateResetKernelVKFromConstraints)
 
 TEST_F (HypernovaRecursionConstraintTest, GenerateTailKernelVKFromConstraints)
 
 TEST_F (HypernovaRecursionConstraintTest, GenerateInnerKernelVKFromConstraints)
 
 TEST_F (HypernovaRecursionConstraintTest, GenerateMegaVerificationKeyFromConstraints)
 
 TEST_F (HypernovaRecursionConstraintTest, RecursiveVerifierAppCircuit)
 Test IVC accumulation of a one app and one kernel. The app includes a UltraHonk Recursive Verifier.
 
 TEST_F (HypernovaRecursionConstraintTest, RecursiveVerifierAppCircuitFailure)
 Test IVC accumulation of a one app and one kernel. The app includes a UltraHonk Recursive Verifier that verifies an invalid proof.
 
 TEST_F (HypernovaRecursionConstraintTest, InitKernelGateCount)
 Test gate count and ECC rows for init kernel (verifies OINK proof)
 
 TEST_F (HypernovaRecursionConstraintTest, InnerKernelGateCount)
 Test gate count and ECC rows for inner kernel (verifies HN proof for previous kernel + HN for app)
 
 TEST_F (HypernovaRecursionConstraintTest, TailKernelGateCount)
 Test gate count and ECC rows for tail kernel (verifies HN_TAIL proof)
 
 TEST_F (HypernovaRecursionConstraintTest, HidingKernelGateCount)
 Test gate count and ECC rows for hiding kernel (verifies HN_FINAL proof)
 
 TEST_F (HypernovaRecursionConstraintTest, FailsOnConstraintIndicesSizeMismatch)
 Test that mismatched constraints/indices sizes are rejected.
 
 TEST_F (HypernovaRecursionConstraintTest, FailsOnAcirQueueSizeMismatch)
 Test that ACIR constraints vs IVC queue size mismatch is rejected.
 
 TEST_F (HypernovaRecursionConstraintTest, FailsOnNonEmptyPublicInputs)
 Test that non-empty public_inputs in HN constraint is rejected.
 
 TEST_F (HypernovaRecursionConstraintTest, FailsOnProofTypeMismatch)
 Test that proof_type mismatch between ACIR and IVC queue is rejected.
 

Function Documentation

◆ TEST_F() [1/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
AccumulateSingleApp   
)

Test IVC accumulation of a one app and one kernel; The kernel includes a recursive oink verification for the app, specified via an ACIR RecursionConstraint.

Definition at line 277 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [2/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
AccumulateTwoApps   
)

Test IVC accumulation of two apps and two kernels; The first kernel contains a recursive oink verification and the second contains two recursive HN verifications, all specified via ACIR RecursionConstraints.

Definition at line 302 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [3/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnAcirQueueSizeMismatch   
)

Test that ACIR constraints vs IVC queue size mismatch is rejected.

Definition at line 754 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [4/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnConstraintIndicesSizeMismatch   
)

Test that mismatched constraints/indices sizes are rejected.

Definition at line 735 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [5/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnNonEmptyPublicInputs   
)

Test that non-empty public_inputs in HN constraint is rejected.

Definition at line 774 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [6/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnProofTypeMismatch   
)

Test that proof_type mismatch between ACIR and IVC queue is rejected.

Definition at line 793 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [7/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateInitKernelVKFromConstraints   
)

Definition at line 332 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [8/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateInnerKernelVKFromConstraints   
)

Definition at line 451 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [9/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateMegaVerificationKeyFromConstraints   
)

Definition at line 502 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [10/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateResetKernelVKFromConstraints   
)

Definition at line 366 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [11/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateTailKernelVKFromConstraints   
)

Definition at line 406 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [12/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
HidingKernelGateCount   
)

Test gate count and ECC rows for hiding kernel (verifies HN_FINAL proof)

Definition at line 699 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [13/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
InitKernelGateCount   
)

Test gate count and ECC rows for init kernel (verifies OINK proof)

Definition at line 602 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [14/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
InnerKernelGateCount   
)

Test gate count and ECC rows for inner kernel (verifies HN proof for previous kernel + HN for app)

Definition at line 634 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [15/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
MockMergeProofSize   
)

Check that the size of a mock merge proof matches expectation.

Definition at line 267 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [16/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
RecursiveVerifierAppCircuit   
)

Test IVC accumulation of a one app and one kernel. The app includes a UltraHonk Recursive Verifier.

Definition at line 549 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [17/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
RecursiveVerifierAppCircuitFailure   
)

Test IVC accumulation of a one app and one kernel. The app includes a UltraHonk Recursive Verifier that verifies an invalid proof.

Definition at line 575 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [18/18]

TEST_F ( HypernovaRecursionConstraintTest  ,
TailKernelGateCount   
)

Test gate count and ECC rows for tail kernel (verifies HN_TAIL proof)

Definition at line 667 of file hypernova_recursion_constraint.test.cpp.