Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Types | Public Member Functions | Public Attributes | List of all members
libsnark::G2_checker_gadget< ppT > Class Template Reference

Gadget that creates constraints for the validity of a G2 variable. More...

#include <weierstrass_g2_gadget.hpp>

Inheritance diagram for libsnark::G2_checker_gadget< ppT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::G2_checker_gadget< ppT >:
Collaboration graph
[legend]

Public Types

typedef libff::Fr< ppT > FieldT
 
typedef libff::Fqe< other_curve< ppT > > FqeT
 
typedef libff::Fqk< other_curve< ppT > > FqkT
 

Public Member Functions

 G2_checker_gadget (protoboard< FieldT > &pb, const G2_variable< ppT > &Q, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::gadget< libff::Fr< ppT > >
 gadget (protoboard< libff::Fr< ppT > > &pb, const std::string &annotation_prefix)
 

Public Attributes

G2_variable< ppT > Q
 
std::shared_ptr< Fqe_variable< ppT > > Xsquared
 
std::shared_ptr< Fqe_variable< ppT > > Ysquared
 
std::shared_ptr< Fqe_variable< ppT > > Xsquared_plus_a
 
std::shared_ptr< Fqe_variable< ppT > > Ysquared_minus_b
 
std::shared_ptr< Fqe_sqr_gadget< ppT > > compute_Xsquared
 
std::shared_ptr< Fqe_sqr_gadget< ppT > > compute_Ysquared
 
std::shared_ptr< Fqe_mul_gadget< ppT > > curve_equation
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::gadget< libff::Fr< ppT > >
protoboard< libff::Fr< ppT > > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename ppT>
class libsnark::G2_checker_gadget< ppT >

Gadget that creates constraints for the validity of a G2 variable.

Definition at line 96 of file weierstrass_g2_gadget.hpp.

Member Typedef Documentation

◆ FieldT

template<typename ppT >
typedef libff::Fr<ppT> libsnark::G2_checker_gadget< ppT >::FieldT

Definition at line 99 of file weierstrass_g2_gadget.hpp.

◆ FqeT

template<typename ppT >
typedef libff::Fqe<other_curve<ppT> > libsnark::G2_checker_gadget< ppT >::FqeT

Definition at line 100 of file weierstrass_g2_gadget.hpp.

◆ FqkT

template<typename ppT >
typedef libff::Fqk<other_curve<ppT> > libsnark::G2_checker_gadget< ppT >::FqkT

Definition at line 101 of file weierstrass_g2_gadget.hpp.

Constructor & Destructor Documentation

◆ G2_checker_gadget()

template<typename ppT >
libsnark::G2_checker_gadget< ppT >::G2_checker_gadget ( protoboard< FieldT > &  pb,
const G2_variable< ppT > &  Q,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename ppT >
void libsnark::G2_checker_gadget< ppT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename ppT >
void libsnark::G2_checker_gadget< ppT >::generate_r1cs_witness ( )

Member Data Documentation

◆ compute_Xsquared

template<typename ppT >
std::shared_ptr<Fqe_sqr_gadget<ppT> > libsnark::G2_checker_gadget< ppT >::compute_Xsquared

Definition at line 110 of file weierstrass_g2_gadget.hpp.

◆ compute_Ysquared

template<typename ppT >
std::shared_ptr<Fqe_sqr_gadget<ppT> > libsnark::G2_checker_gadget< ppT >::compute_Ysquared

Definition at line 111 of file weierstrass_g2_gadget.hpp.

◆ curve_equation

template<typename ppT >
std::shared_ptr<Fqe_mul_gadget<ppT> > libsnark::G2_checker_gadget< ppT >::curve_equation

Definition at line 112 of file weierstrass_g2_gadget.hpp.

◆ Q

template<typename ppT >
G2_variable<ppT> libsnark::G2_checker_gadget< ppT >::Q

Definition at line 103 of file weierstrass_g2_gadget.hpp.

◆ Xsquared

template<typename ppT >
std::shared_ptr<Fqe_variable<ppT> > libsnark::G2_checker_gadget< ppT >::Xsquared

Definition at line 105 of file weierstrass_g2_gadget.hpp.

◆ Xsquared_plus_a

template<typename ppT >
std::shared_ptr<Fqe_variable<ppT> > libsnark::G2_checker_gadget< ppT >::Xsquared_plus_a

Definition at line 107 of file weierstrass_g2_gadget.hpp.

◆ Ysquared

template<typename ppT >
std::shared_ptr<Fqe_variable<ppT> > libsnark::G2_checker_gadget< ppT >::Ysquared

Definition at line 106 of file weierstrass_g2_gadget.hpp.

◆ Ysquared_minus_b

template<typename ppT >
std::shared_ptr<Fqe_variable<ppT> > libsnark::G2_checker_gadget< ppT >::Ysquared_minus_b

Definition at line 108 of file weierstrass_g2_gadget.hpp.


The documentation for this class was generated from the following file: