|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include "barretenberg/dsl/acir_format/hypernova_recursion_constraint.hpp"#include "acir_format.hpp"#include "barretenberg/bbapi/bbapi_shared.hpp"#include "barretenberg/chonk/chonk.hpp"#include "barretenberg/chonk/chonk_verifier.hpp"#include "barretenberg/dsl/acir_format/gate_count_constants.hpp"#include "barretenberg/dsl/acir_format/mock_verifier_inputs.hpp"#include "barretenberg/dsl/acir_format/utils.hpp"#include "barretenberg/goblin/mock_circuits.hpp"#include "barretenberg/ultra_honk/prover_instance.hpp"#include "barretenberg/ultra_honk/ultra_prover.hpp"#include "barretenberg/ultra_honk/ultra_verifier.hpp"#include "honk_recursion_constraint.hpp"#include <gtest/gtest.h>#include <vector>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. | |
| 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 | ( | 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 | ( | 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 | ( | HypernovaRecursionConstraintTest | , |
| FailsOnConstraintIndicesSizeMismatch | |||
| ) |
Test that mismatched constraints/indices sizes are rejected.
Definition at line 735 of file hypernova_recursion_constraint.test.cpp.
| 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 | ( | 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 | ( | HypernovaRecursionConstraintTest | , |
| GenerateInitKernelVKFromConstraints | |||
| ) |
Definition at line 332 of file hypernova_recursion_constraint.test.cpp.
| TEST_F | ( | HypernovaRecursionConstraintTest | , |
| GenerateInnerKernelVKFromConstraints | |||
| ) |
Definition at line 451 of file hypernova_recursion_constraint.test.cpp.
| TEST_F | ( | HypernovaRecursionConstraintTest | , |
| GenerateMegaVerificationKeyFromConstraints | |||
| ) |
Definition at line 502 of file hypernova_recursion_constraint.test.cpp.
| TEST_F | ( | HypernovaRecursionConstraintTest | , |
| GenerateResetKernelVKFromConstraints | |||
| ) |
Definition at line 366 of file hypernova_recursion_constraint.test.cpp.
| TEST_F | ( | HypernovaRecursionConstraintTest | , |
| GenerateTailKernelVKFromConstraints | |||
| ) |
Definition at line 406 of file hypernova_recursion_constraint.test.cpp.
| 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 | ( | 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 | ( | 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 | ( | 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 | ( | 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 | ( | 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 | ( | 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.