Barretenberg
The ZK-SNARK library at the core of Aztec
|
Classes | |
class | BoomerangGoblinRecursiveVerifierTests |
class | BoomerangRecursiveVerifierTest |
Test suite for recursive verification of Honk proofs for both Ultra and Mega arithmetisation. More... | |
class | ClientIVCRecursionTests |
class | ClientIVCRecursiveVerifier |
class | DeciderRecursiveVerifier_ |
class | DefaultIO |
Manages the data that is propagated on the public inputs of an application/function circuit. More... | |
class | GoblinAvmIO |
The data that is propagated on the public inputs of the inner GoblinAvmRecursiveVerifier circuit. More... | |
class | GoblinRecursiveVerifier |
struct | GoblinRecursiveVerifierOutput |
class | GoblinRecursiveVerifierTests |
class | HidingKernelIO |
Manages the data that is propagated on the public inputs of a hiding kernel circuit. More... | |
struct | IpaAccumulator |
class | KernelIO |
Manages the data that is propagated on the public inputs of a kernel circuit. More... | |
class | OinkRecursiveVerifier_ |
class | ProtogalaxyRecursiveTests |
class | ProtogalaxyRecursiveVerifier_ |
class | RecursiveDeciderVerificationKey_ |
The stdlib counterpart of DeciderVerificationKey, used in recursive folding verification. More... | |
struct | RecursiveDeciderVerificationKeys_ |
class | RecursiveVerifierTest |
Test suite for recursive verification of Honk proofs for both Ultra and Mega arithmetisation. More... | |
class | RollupIO |
The data that is propagated on the public inputs of a rollup circuit. More... | |
class | SpecialPublicInputsTests |
struct | StdlibTranscriptParams |
class | UltraRecursiveVerifier_ |
struct | UltraRecursiveVerifierOutput |
Typedefs | |
using | Flavors = testing::Types< UltraRecursiveFlavor_< UltraCircuitBuilder > > |
using | AppIO = DefaultIO< MegaCircuitBuilder > |
The data that is propagated on the public inputs of an application/function circuit. | |
using | UltraStdlibTranscript = BaseTranscript< StdlibTranscriptParams< UltraCircuitBuilder > > |
using | MegaStdlibTranscript = BaseTranscript< StdlibTranscriptParams< MegaCircuitBuilder > > |
using | Builder = UltraCircuitBuilder |
using | UltraFlavor = UltraFlavor |
using | UltraRecursiveFlavor = UltraRecursiveFlavor_< Builder > |
using | FF = fr |
using | NativeTranscript = NativeTranscript |
using | StdlibTranscript = BaseTranscript< StdlibTranscriptParams< Builder > > |
using | StdlibProof = stdlib::Proof< Builder > |
Functions | |
TEST_F (BoomerangGoblinRecursiveVerifierTests, graph_description_basic) | |
Construct and check a goblin recursive verification circuit. | |
TYPED_TEST_SUITE (BoomerangRecursiveVerifierTest, Flavors) | |
HEAVY_TYPED_TEST (BoomerangRecursiveVerifierTest, SingleRecursiveVerification) | |
TEST_F (ClientIVCRecursionTests, NativeVerification) | |
Ensure the ClientIVC proof used herein can be natively verified. | |
TEST_F (ClientIVCRecursionTests, Basic) | |
Construct and Check a recursive ClientIVC verification circuit. | |
TEST_F (ClientIVCRecursionTests, ClientTubeBase) | |
TEST_F (ClientIVCRecursionTests, TubeVKIndependentOfInputCircuits) | |
TEST_F (GoblinRecursiveVerifierTests, NativeVerification) | |
Ensure the Goblin proof produced by the test method can be natively verified. | |
TEST_F (GoblinRecursiveVerifierTests, Basic) | |
Construct and check a goblin recursive verification circuit. | |
TEST_F (GoblinRecursiveVerifierTests, IndependentVKHash) | |
TEST_F (GoblinRecursiveVerifierTests, ECCVMFailure) | |
Ensure failure of the goblin recursive verification circuit for a bad ECCVM proof. | |
TEST_F (GoblinRecursiveVerifierTests, TranslatorFailure) | |
Ensure failure of the goblin recursive verification circuit for a bad Translator proof. | |
TEST_F (GoblinRecursiveVerifierTests, TranslationEvaluationsFailure) | |
Ensure failure of the goblin recursive verification circuit for bad translation evaluations. | |
TEST_F (GoblinRecursiveVerifierTests, TranslatorMergeConsistencyFailure) | |
Ensure failure of the goblin recursive verification circuit for bad translation evaluations. | |
TYPED_TEST_SUITE (RecursiveVerifierTest, Flavors) | |
HEAVY_TYPED_TEST (RecursiveVerifierTest, InnerCircuit) | |
HEAVY_TYPED_TEST (RecursiveVerifierTest, RecursiveVerificationKey) | |
HEAVY_TYPED_TEST (RecursiveVerifierTest, SingleRecursiveVerification) | |
HEAVY_TYPED_TEST (RecursiveVerifierTest, IndependentVKHash) | |
HEAVY_TYPED_TEST (RecursiveVerifierTest, SingleRecursiveVerificationFailure) | |
TEST_F (ProtogalaxyRecursiveTests, InnerCircuit) | |
TEST_F (ProtogalaxyRecursiveTests, NewEvaluate) | |
TEST_F (ProtogalaxyRecursiveTests, RecursiveFoldingTest) | |
TEST_F (ProtogalaxyRecursiveTests, RecursiveFoldingTwiceTest) | |
TEST_F (ProtogalaxyRecursiveTests, FullProtogalaxyRecursiveTest) | |
TEST_F (ProtogalaxyRecursiveTests, TamperedDeciderProof) | |
TEST_F (ProtogalaxyRecursiveTests, TamperedAccumulator) | |
TEST_F (ProtogalaxyRecursiveTests, ConstantVerifierCircuit) | |
template<typename Builder > | |
std::array< typename bn254< Builder >::Group, Builder::NUM_WIRES > | empty_ecc_op_tables (Builder &builder) |
Construct commitments to empty subtables. | |
TEST_F (SpecialPublicInputsTests, Basic) | |
TEST_F (SpecialPublicInputsTests, Default) | |
TEST_F (SpecialPublicInputsTests, RollUpIO) | |
TEST_F (SpecialPublicInputsTests, HidingKernel) | |
template<class Flavor , size_t LENGTH> | |
auto | generate_mock_proof_data (auto prover_transcript) |
Create some mock data; add it to the provided prover transcript in various mock rounds. | |
template<class Flavor , size_t LENGTH> | |
void | perform_mock_verifier_transcript_operations (auto transcript) |
Perform series of verifier transcript operations. | |
TEST (RecursiveHonkTranscript, InterfacesMatch) | |
Test basic transcript functionality and check circuit. | |
TEST (RecursiveHonkTranscript, ReturnValuesMatch) | |
Check that native and stdlib verifier transcript functions produce equivalent outputs. | |
TEST (RecursiveTranscript, InfinityConsistencyGrumpkin) | |
Ensure that when encountering an infinity commitment results stay consistent in the recursive and native case for Grumpkin and the native and stdlib transcripts produce the same challenge. | |
TEST (RecursiveTranscript, InfinityConsistencyBN254) | |
Ensure that when encountering an infinity commitment results stay consistent in the recursive and native case for BN254 and the native and stdlib transcripts produce the same challenge. | |
using bb::stdlib::recursion::honk::AppIO = typedef DefaultIO<MegaCircuitBuilder> |
The data that is propagated on the public inputs of an application/function circuit.
Definition at line 191 of file special_public_inputs.hpp.
using bb::stdlib::recursion::honk::Builder = typedef UltraCircuitBuilder |
Definition at line 18 of file transcript.test.cpp.
using bb::stdlib::recursion::honk::FF = typedef fr |
Definition at line 21 of file transcript.test.cpp.
Definition at line 147 of file graph_description_ultra_recursive_verifier.test.cpp.
using bb::stdlib::recursion::honk::MegaStdlibTranscript = typedef BaseTranscript<StdlibTranscriptParams<MegaCircuitBuilder> > |
Definition at line 73 of file transcript.hpp.
using bb::stdlib::recursion::honk::NativeTranscript = typedef NativeTranscript |
Definition at line 22 of file transcript.test.cpp.
using bb::stdlib::recursion::honk::StdlibProof = typedef stdlib::Proof<Builder> |
Definition at line 24 of file transcript.test.cpp.
using bb::stdlib::recursion::honk::StdlibTranscript = typedef BaseTranscript<StdlibTranscriptParams<Builder> > |
Definition at line 23 of file transcript.test.cpp.
using bb::stdlib::recursion::honk::UltraFlavor = typedef UltraFlavor |
Definition at line 19 of file transcript.test.cpp.
Definition at line 20 of file transcript.test.cpp.
using bb::stdlib::recursion::honk::UltraStdlibTranscript = typedef BaseTranscript<StdlibTranscriptParams<UltraCircuitBuilder> > |
Definition at line 72 of file transcript.hpp.
std::array< typename bn254< Builder >::Group, Builder::NUM_WIRES > bb::stdlib::recursion::honk::empty_ecc_op_tables | ( | Builder & | builder | ) |
Construct commitments to empty subtables.
In the first iteration of the Merge, the verifier sets the commitments to the previous full state of the op_queue equal to the commitments to the empty tables. This ensures that prover cannot lie, as the starting point of the merge is fixed.
builder |
Definition at line 36 of file special_public_inputs.hpp.
auto bb::stdlib::recursion::honk::generate_mock_proof_data | ( | auto | prover_transcript | ) |
Create some mock data; add it to the provided prover transcript in various mock rounds.
prover_transcript |
Definition at line 32 of file transcript.test.cpp.
bb::stdlib::recursion::honk::HEAVY_TYPED_TEST | ( | BoomerangRecursiveVerifierTest | , |
SingleRecursiveVerification | |||
) |
Definition at line 151 of file graph_description_ultra_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::HEAVY_TYPED_TEST | ( | RecursiveVerifierTest | , |
IndependentVKHash | |||
) |
Definition at line 414 of file ultra_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::HEAVY_TYPED_TEST | ( | RecursiveVerifierTest | , |
InnerCircuit | |||
) |
Definition at line 399 of file ultra_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::HEAVY_TYPED_TEST | ( | RecursiveVerifierTest | , |
RecursiveVerificationKey | |||
) |
Definition at line 404 of file ultra_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::HEAVY_TYPED_TEST | ( | RecursiveVerifierTest | , |
SingleRecursiveVerification | |||
) |
Definition at line 409 of file ultra_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::HEAVY_TYPED_TEST | ( | RecursiveVerifierTest | , |
SingleRecursiveVerificationFailure | |||
) |
Definition at line 427 of file ultra_recursive_verifier.test.cpp.
void bb::stdlib::recursion::honk::perform_mock_verifier_transcript_operations | ( | auto | transcript | ) |
Perform series of verifier transcript operations.
Operations are designed to correspond to those performed by a prover transcript from which the verifier transcript was initialized.
transcript | Either a native or stdlib verifier transcript |
Flavor | |
LENGTH | Length of Univariate to be serialized |
Definition at line 74 of file transcript.test.cpp.
bb::stdlib::recursion::honk::TEST | ( | RecursiveHonkTranscript | , |
InterfacesMatch | |||
) |
Test basic transcript functionality and check circuit.
Implicitly ensures stdlib interface is identical to native
Definition at line 99 of file transcript.test.cpp.
bb::stdlib::recursion::honk::TEST | ( | RecursiveHonkTranscript | , |
ReturnValuesMatch | |||
) |
Check that native and stdlib verifier transcript functions produce equivalent outputs.
Definition at line 135 of file transcript.test.cpp.
bb::stdlib::recursion::honk::TEST | ( | RecursiveTranscript | , |
InfinityConsistencyBN254 | |||
) |
Ensure that when encountering an infinity commitment results stay consistent in the recursive and native case for BN254 and the native and stdlib transcripts produce the same challenge.
Definition at line 237 of file transcript.test.cpp.
bb::stdlib::recursion::honk::TEST | ( | RecursiveTranscript | , |
InfinityConsistencyGrumpkin | |||
) |
Ensure that when encountering an infinity commitment results stay consistent in the recursive and native case for Grumpkin and the native and stdlib transcripts produce the same challenge.
Definition at line 198 of file transcript.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | BoomerangGoblinRecursiveVerifierTests | , |
graph_description_basic | |||
) |
Construct and check a goblin recursive verification circuit.
Definition at line 81 of file graph_description_goblin.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ClientIVCRecursionTests | , |
Basic | |||
) |
Construct and Check a recursive ClientIVC verification circuit.
Definition at line 66 of file client_ivc_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ClientIVCRecursionTests | , |
ClientTubeBase | |||
) |
Definition at line 89 of file client_ivc_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ClientIVCRecursionTests | , |
NativeVerification | |||
) |
Ensure the ClientIVC proof used herein can be natively verified.
Definition at line 54 of file client_ivc_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ClientIVCRecursionTests | , |
TubeVKIndependentOfInputCircuits | |||
) |
Definition at line 166 of file client_ivc_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | GoblinRecursiveVerifierTests | , |
Basic | |||
) |
Construct and check a goblin recursive verification circuit.
Definition at line 107 of file goblin_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | GoblinRecursiveVerifierTests | , |
ECCVMFailure | |||
) |
Ensure failure of the goblin recursive verification circuit for a bad ECCVM proof.
Definition at line 174 of file goblin_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | GoblinRecursiveVerifierTests | , |
IndependentVKHash | |||
) |
Definition at line 138 of file goblin_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | GoblinRecursiveVerifierTests | , |
NativeVerification | |||
) |
Ensure the Goblin proof produced by the test method can be natively verified.
Definition at line 94 of file goblin_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | GoblinRecursiveVerifierTests | , |
TranslationEvaluationsFailure | |||
) |
Ensure failure of the goblin recursive verification circuit for bad translation evaluations.
Definition at line 270 of file goblin_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | GoblinRecursiveVerifierTests | , |
TranslatorFailure | |||
) |
Ensure failure of the goblin recursive verification circuit for a bad Translator proof.
Definition at line 209 of file goblin_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | GoblinRecursiveVerifierTests | , |
TranslatorMergeConsistencyFailure | |||
) |
Ensure failure of the goblin recursive verification circuit for bad translation evaluations.
Definition at line 293 of file goblin_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
ConstantVerifierCircuit | |||
) |
Definition at line 539 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
FullProtogalaxyRecursiveTest | |||
) |
Definition at line 523 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
InnerCircuit | |||
) |
Definition at line 503 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
NewEvaluate | |||
) |
Definition at line 508 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
RecursiveFoldingTest | |||
) |
Definition at line 513 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
RecursiveFoldingTwiceTest | |||
) |
Definition at line 518 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
TamperedAccumulator | |||
) |
Definition at line 534 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | ProtogalaxyRecursiveTests | , |
TamperedDeciderProof | |||
) |
Definition at line 529 of file protogalaxy_recursive_verifier.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | SpecialPublicInputsTests | , |
Basic | |||
) |
Definition at line 13 of file special_public_inputs.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | SpecialPublicInputsTests | , |
Default | |||
) |
Definition at line 89 of file special_public_inputs.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | SpecialPublicInputsTests | , |
HidingKernel | |||
) |
Definition at line 246 of file special_public_inputs.test.cpp.
bb::stdlib::recursion::honk::TEST_F | ( | SpecialPublicInputsTests | , |
RollUpIO | |||
) |
Definition at line 158 of file special_public_inputs.test.cpp.
bb::stdlib::recursion::honk::TYPED_TEST_SUITE | ( | BoomerangRecursiveVerifierTest | , |
Flavors | |||
) |
bb::stdlib::recursion::honk::TYPED_TEST_SUITE | ( | RecursiveVerifierTest | , |
Flavors | |||
) |