Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
gadget_from_r1cs.hpp
Go to the documentation of this file.
1 
13 #ifndef GADGET_FROM_R1CS_HPP_
14 #define GADGET_FROM_R1CS_HPP_
15 
17 #include <map>
18 
19 namespace libsnark
20 {
21 
22 template<typename FieldT> class gadget_from_r1cs : public gadget<FieldT>
23 {
24 
25 private:
26  const std::vector<pb_variable_array<FieldT>> vars;
28  std::map<size_t, size_t> cs_to_vars;
29 
30 public:
33  const std::vector<pb_variable_array<FieldT>> &vars,
35  const std::string &annotation_prefix);
36 
39  const r1cs_primary_input<FieldT> &primary_input,
40  const r1cs_auxiliary_input<FieldT> &auxiliary_input);
41 };
42 
43 } // namespace libsnark
44 
46 
47 #endif // GADGET_FROM_R1CS_HPP_
libsnark::gadget::annotation_prefix
const std::string annotation_prefix
Definition: gadget.hpp:20
libsnark
Definition: accumulation_vector.hpp:18
libsnark::gadget::pb
protoboard< FieldT > & pb
Definition: gadget.hpp:19
gadget_from_r1cs.tcc
gadget.hpp
libsnark::gadget_from_r1cs::gadget_from_r1cs
gadget_from_r1cs(protoboard< FieldT > &pb, const std::vector< pb_variable_array< FieldT >> &vars, const r1cs_constraint_system< FieldT > &cs, const std::string &annotation_prefix)
libsnark::gadget
Definition: gadget.hpp:16
libsnark::gadget_from_r1cs::generate_r1cs_witness
void generate_r1cs_witness(const r1cs_primary_input< FieldT > &primary_input, const r1cs_auxiliary_input< FieldT > &auxiliary_input)
libsnark::r1cs_auxiliary_input
std::vector< FieldT > r1cs_auxiliary_input
Definition: r1cs.hpp:84
libsnark::pb_variable_array
Definition: pb_variable.hpp:44
libsnark::r1cs_constraint_system
Definition: protoboard.hpp:25
libsnark::gadget_from_r1cs
Definition: gadget_from_r1cs.hpp:22
libsnark::r1cs_primary_input
std::vector< FieldT > r1cs_primary_input
Definition: r1cs.hpp:82
libsnark::gadget_from_r1cs::generate_r1cs_constraints
void generate_r1cs_constraints()
libsnark::protoboard
Definition: pb_variable.hpp:22