Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
libsnark
gadgetlib1
gadgets
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
16
#include <
libsnark/gadgetlib1/gadget.hpp
>
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;
27
const
r1cs_constraint_system<FieldT>
cs;
28
std::map<size_t, size_t> cs_to_vars;
29
30
public
:
31
gadget_from_r1cs
(
32
protoboard<FieldT>
&
pb
,
33
const
std::vector<
pb_variable_array<FieldT>
> &vars,
34
const
r1cs_constraint_system<FieldT>
&cs,
35
const
std::string &
annotation_prefix
);
36
37
void
generate_r1cs_constraints
();
38
void
generate_r1cs_witness
(
39
const
r1cs_primary_input<FieldT>
&primary_input,
40
const
r1cs_auxiliary_input<FieldT>
&auxiliary_input);
41
};
42
43
}
// namespace libsnark
44
45
#include <
libsnark/gadgetlib1/gadgets/gadget_from_r1cs.tcc
>
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
Generated on Wed Jan 25 2023 11:05:58 for Clearmatics Libsnark by
1.8.17