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
 
struct  HypernovaRecursionConstraintTest::KernelGateCounts
 

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, GenerateInnerKernelVKFromConstraints)
 
 TEST_F (HypernovaRecursionConstraintTest, GenerateResetTailKernelVKFromConstraints)
 
 TEST_F (HypernovaRecursionConstraintTest, GenerateHidingKernelVKFromConstraints)
 
 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)
 Pin gate, ECC-row and ultra-op counts for an init kernel verifying 1..MAX_APPS_PER_KERNEL apps.
 
 TEST_F (HypernovaRecursionConstraintTest, InnerKernelGateCount)
 Pin gate, ECC-row and ultra-op counts for an inner kernel verifying the previous kernel plus 1..MAX_APPS_PER_KERNEL apps.
 
 TEST_F (HypernovaRecursionConstraintTest, ResetTailKernelGateCount)
 Pin gate, ECC-row and ultra-op counts for a reset/tail kernel.
 
 TEST_F (HypernovaRecursionConstraintTest, HidingKernelGateCount)
 Pin the hiding kernel gate count, ECC-row and ultra-op usage. The hiding kernel's batch-merge recursive verifier is sized for CHONK_MAX_NUM_CIRCUITS.
 
 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/17]

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 414 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [2/17]

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 440 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [3/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnAcirQueueSizeMismatch   
)

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

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

◆ TEST_F() [4/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnConstraintIndicesSizeMismatch   
)

Test that mismatched constraints/indices sizes are rejected.

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

◆ TEST_F() [5/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnNonEmptyPublicInputs   
)

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

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

◆ TEST_F() [6/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
FailsOnProofTypeMismatch   
)

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

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

◆ TEST_F() [7/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateHidingKernelVKFromConstraints   
)

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

◆ TEST_F() [8/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateInitKernelVKFromConstraints   
)

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

◆ TEST_F() [9/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateInnerKernelVKFromConstraints   
)

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

◆ TEST_F() [10/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
GenerateResetTailKernelVKFromConstraints   
)

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

◆ TEST_F() [11/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
HidingKernelGateCount   
)

Pin the hiding kernel gate count, ECC-row and ultra-op usage. The hiding kernel's batch-merge recursive verifier is sized for CHONK_MAX_NUM_CIRCUITS.

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

◆ TEST_F() [12/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
InitKernelGateCount   
)

Pin gate, ECC-row and ultra-op counts for an init kernel verifying 1..MAX_APPS_PER_KERNEL apps.

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

◆ TEST_F() [13/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
InnerKernelGateCount   
)

Pin gate, ECC-row and ultra-op counts for an inner kernel verifying the previous kernel plus 1..MAX_APPS_PER_KERNEL apps.

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

◆ TEST_F() [14/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
MockMergeProofSize   
)

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

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

◆ TEST_F() [15/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
RecursiveVerifierAppCircuit   
)

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

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

◆ TEST_F() [16/17]

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 547 of file hypernova_recursion_constraint.test.cpp.

◆ TEST_F() [17/17]

TEST_F ( HypernovaRecursionConstraintTest  ,
ResetTailKernelGateCount   
)

Pin gate, ECC-row and ultra-op counts for a reset/tail kernel.

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