|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <folding_test_utils.hpp>
Public Types | |
| using | Builder = Flavor::CircuitBuilder |
| using | Curve = stdlib::bn254< Builder > |
| using | ProverInstance = ProverInstance_< Flavor > |
| using | VerificationKey = typename Flavor::VerificationKey |
| using | VerifierInstance = VerifierInstance_< Flavor > |
| using | ProverInstances = std::array< std::shared_ptr< ProverInstance >, NUM_INSTANCES > |
| using | VerifierInstances = std::array< std::shared_ptr< VerifierInstance >, NUM_INSTANCES > |
| using | TupleOfKeys = std::tuple< ProverInstances, VerifierInstances > |
| using | FoldingData = std::tuple< std::shared_ptr< ProverInstance >, std::shared_ptr< VerifierInstance > > |
| using | FoldingProver = ProtogalaxyProver_< Flavor > |
| using | FoldingVerifier = ProtogalaxyVerifier_< VerifierInstance > |
| using | DeciderProver = DeciderProver_< Flavor > |
| using | DeciderVerifier = DeciderVerifier_< Flavor > |
| using | FoldingVerificationResult = std::tuple< std::shared_ptr< VerifierInstance >, std::shared_ptr< typename FoldingVerifier::Transcript > > |
Static Public Member Functions | |
| static void | create_function_circuit (Builder &builder, const size_t &log_num_gates=9, const size_t &log_num_gates_with_public_inputs=9) |
| Create a circuit with the specified number of arithmetic gates and arithmetic gates with public inputs. | |
| static void | construct_instances_and_add_to_tuple (TupleOfKeys &keys, Builder &builder, size_t idx=0, TraceSettings trace_settings=TraceSettings{}) |
| Construct Prover and Verifier instances for a provided circuit and add to tuple. | |
| static void | construct_accumulator_and_add_to_tuple (TupleOfKeys &keys, size_t idx=0, TraceSettings trace_settings=TraceSettings{}) |
| Construct Prover and Verifier accumulators and add to tuple. | |
| static TupleOfKeys | construct_instances (size_t num_keys, TraceSettings trace_settings=TraceSettings{}, bool circuits_of_different_size=false) |
| Construct a given number of Prover and Verifier instances. | |
| static FoldingData | get_folding_data (const TupleOfKeys &keys, size_t idx) |
| Get folding data at index idx in the tuple of keys. | |
| static FoldingResult< Flavor > | fold (const ProverInstances &prover_instances, const VerifierInstances &verification_keys, bool hash_accumulator=false, ExecutionTraceUsageTracker trace_usage_tracker=ExecutionTraceUsageTracker{}) |
| Fold two prover instances. Return folded accumulator and folding proof. | |
| static FoldingVerificationResult | verify_folding_proof (const VerifierInstances &verification_keys, const HonkProof &folding_proof, bool hash_accumulator=false) |
| Verify a folding proof. Return the folded accumulator and the verifier transcript. | |
| static FoldingData | fold_and_verify (const ProverInstances &prover_instances, const VerifierInstances &verification_keys, ExecutionTraceUsageTracker trace_usage_tracker=ExecutionTraceUsageTracker{}, bool hash_accumulator=false) |
| Fold two prover instances and generate folded verifier by running the PG verifier. | |
| static bool | run_decider (const std::shared_ptr< ProverInstance > &prover_accumulator, const std::shared_ptr< VerifierInstance > &verifier_accumulator) |
| Run the decider on the given accumulator. | |
| static std::pair< bool, std::string > | compare_accumulators (const std::shared_ptr< VerifierInstance > &lhs, const std::shared_ptr< VerifierInstance > &rhs) |
| Compare two accumulators. Return the result of the comparison and error message. | |
| static std::pair< bool, std::string > | compare_accumulators (const std::shared_ptr< ProverInstance > &lhs, const std::shared_ptr< VerifierInstance > &rhs) |
| Compare a Prover accumulator and a Verifier accumulator. Return the result of the comparison and error message. | |
Definition at line 18 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::Builder = Flavor::CircuitBuilder |
Definition at line 20 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::Curve = stdlib::bn254<Builder> |
Definition at line 21 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::DeciderProver = DeciderProver_<Flavor> |
Definition at line 31 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::DeciderVerifier = DeciderVerifier_<Flavor> |
Definition at line 32 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::FoldingData = std::tuple<std::shared_ptr<ProverInstance>, std::shared_ptr<VerifierInstance> > |
Definition at line 28 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::FoldingProver = ProtogalaxyProver_<Flavor> |
Definition at line 29 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::FoldingVerificationResult = std::tuple<std::shared_ptr<VerifierInstance>, std::shared_ptr<typename FoldingVerifier::Transcript> > |
Definition at line 33 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::FoldingVerifier = ProtogalaxyVerifier_<VerifierInstance> |
Definition at line 30 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::ProverInstance = ProverInstance_<Flavor> |
Definition at line 22 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::ProverInstances = std::array<std::shared_ptr<ProverInstance>, NUM_INSTANCES> |
Definition at line 25 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::TupleOfKeys = std::tuple<ProverInstances, VerifierInstances> |
Definition at line 27 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::VerificationKey = typename Flavor::VerificationKey |
Definition at line 23 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::VerifierInstance = VerifierInstance_<Flavor> |
Definition at line 24 of file folding_test_utils.hpp.
| using bb::ProtogalaxyTestUtilities< Flavor >::VerifierInstances = std::array<std::shared_ptr<VerifierInstance>, NUM_INSTANCES> |
Definition at line 26 of file folding_test_utils.hpp.
|
inlinestatic |
Compare a Prover accumulator and a Verifier accumulator. Return the result of the comparison and error message.
Definition at line 276 of file folding_test_utils.hpp.
|
inlinestatic |
Compare two accumulators. Return the result of the comparison and error message.
Definition at line 231 of file folding_test_utils.hpp.
|
inlinestatic |
Construct Prover and Verifier accumulators and add to tuple.
Definition at line 107 of file folding_test_utils.hpp.
|
inlinestatic |
Construct a given number of Prover and Verifier instances.
Definition at line 121 of file folding_test_utils.hpp.
|
inlinestatic |
Construct Prover and Verifier instances for a provided circuit and add to tuple.
Definition at line 91 of file folding_test_utils.hpp.
|
inlinestatic |
Create a circuit with the specified number of arithmetic gates and arithmetic gates with public inputs.
Definition at line 39 of file folding_test_utils.hpp.
|
inlinestatic |
Fold two prover instances. Return folded accumulator and folding proof.
Definition at line 155 of file folding_test_utils.hpp.
|
inlinestatic |
Fold two prover instances and generate folded verifier by running the PG verifier.
Definition at line 200 of file folding_test_utils.hpp.
|
inlinestatic |
Get folding data at index idx in the tuple of keys.
Definition at line 147 of file folding_test_utils.hpp.
|
inlinestatic |
Run the decider on the given accumulator.
Definition at line 216 of file folding_test_utils.hpp.
|
inlinestatic |
Verify a folding proof. Return the folded accumulator and the verifier transcript.
Definition at line 178 of file folding_test_utils.hpp.