Zecale - Reconciling Privacy and Scalability on Smart-Contract Chains  0.5
Reference implementation of the Zecale protocol by Clearmatics
groth16_verifier_parameters.hpp
Go to the documentation of this file.
1 // Copyright (c) 2015-2022 Clearmatics Technologies Ltd
2 //
3 // SPDX-License-Identifier: LGPL-3.0+
4 
5 #ifndef __ZECALE_CIRCUITS_GROTH16_VERIFIER_GROTH16_VERIFIER_PARAMETERS_HPP__
6 #define __ZECALE_CIRCUITS_GROTH16_VERIFIER_GROTH16_VERIFIER_PARAMETERS_HPP__
7 
8 #include <libsnark/gadgetlib1/gadgets/verifiers/r1cs_gg_ppzksnark_verifier_gadget.hpp>
9 #include <libzeth/snarks/groth16/groth16_snark.hpp>
10 
11 namespace libzecale
12 {
13 
15 template<typename ppT> class groth16_verifier_parameters
16 {
17 public:
18  using snark = libzeth::groth16_snark<libsnark::other_curve<ppT>>;
19 
21  libsnark::r1cs_gg_ppzksnark_verifier_process_vk_gadget<ppT>;
23  libsnark::r1cs_gg_ppzksnark_online_verifier_gadget<ppT>;
24  using verifier_gadget = libsnark::r1cs_gg_ppzksnark_verifier_gadget<ppT>;
25 
26  using proof_variable_gadget =
27  libsnark::r1cs_gg_ppzksnark_proof_variable<ppT>;
29  libsnark::r1cs_gg_ppzksnark_verification_key_variable<ppT>;
31  libsnark::r1cs_gg_ppzksnark_preprocessed_verification_key_variable<ppT>;
32 };
33 
34 } // namespace libzecale
35 
36 #endif // __ZECALE_CIRCUITS_GROTH16_VERIFIER_GROTH16_VERIFIER_PARAMETERS_HPP__
libzecale::groth16_verifier_parameters::verifier_gadget
libsnark::r1cs_gg_ppzksnark_verifier_gadget< ppT > verifier_gadget
Definition: groth16_verifier_parameters.hpp:24
libzecale::groth16_verifier_parameters::proof_variable_gadget
libsnark::r1cs_gg_ppzksnark_proof_variable< ppT > proof_variable_gadget
Definition: groth16_verifier_parameters.hpp:27
libzecale::groth16_verifier_parameters::snark
libzeth::groth16_snark< libsnark::other_curve< ppT > > snark
Definition: groth16_verifier_parameters.hpp:18
libzecale::groth16_verifier_parameters
Type definitions to use the groth16 verifier circuit.
Definition: groth16_verifier_parameters.hpp:15
libzecale::groth16_verifier_parameters::online_verifier_gadget
libsnark::r1cs_gg_ppzksnark_online_verifier_gadget< ppT > online_verifier_gadget
Definition: groth16_verifier_parameters.hpp:23
libzecale::groth16_verifier_parameters::processed_verification_key_variable_gadget
libsnark::r1cs_gg_ppzksnark_preprocessed_verification_key_variable< ppT > processed_verification_key_variable_gadget
Definition: groth16_verifier_parameters.hpp:31
libzecale::groth16_verifier_parameters::verification_key_variable_gadget
libsnark::r1cs_gg_ppzksnark_verification_key_variable< ppT > verification_key_variable_gadget
Definition: groth16_verifier_parameters.hpp:29
libzecale
Definition: aggregator_circuit.hpp:15
libzecale::groth16_verifier_parameters::process_verification_key_gadget
libsnark::r1cs_gg_ppzksnark_verifier_process_vk_gadget< ppT > process_verification_key_gadget
Definition: groth16_verifier_parameters.hpp:21