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

#include <r1cs_ppzksnark_verifier_gadget.hpp>

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

Public Types

typedef libff::Fr< ppT > FieldT
 

Public Member Functions

 r1cs_ppzksnark_online_verifier_gadget (protoboard< FieldT > &pb, const r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< ppT > &pvk, const pb_variable_array< FieldT > &input, const size_t elt_size, const r1cs_ppzksnark_proof_variable< ppT > &proof, const pb_variable< FieldT > &result, 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

r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< ppT > pvk
 
pb_variable_array< FieldTinput
 
size_t elt_size
 
r1cs_ppzksnark_proof_variable< ppT > proof
 
pb_variable< FieldTresult
 
const size_t input_len
 
std::shared_ptr< G1_variable< ppT > > acc
 
std::shared_ptr< G1_multiscalar_mul_gadget< ppT > > accumulate_input
 
std::shared_ptr< G1_variable< ppT > > proof_g_A_g_acc
 
std::shared_ptr< G1_add_gadget< ppT > > compute_proof_g_A_g_acc
 
std::shared_ptr< G1_variable< ppT > > proof_g_A_g_acc_C
 
std::shared_ptr< G1_add_gadget< ppT > > compute_proof_g_A_g_acc_C
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_A_h_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_A_g_acc_C_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_A_g_acc_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_A_g_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_B_h_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_C_h_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_C_g_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_K_precomp
 
std::shared_ptr< G1_precomputation< ppT > > proof_g_H_precomp
 
std::shared_ptr< G2_precomputation< ppT > > proof_g_B_g_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_A_h_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_A_g_acc_C_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_A_g_acc_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_A_g_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_B_h_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_C_h_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_C_g_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_K_precomp
 
std::shared_ptr< precompute_G1_gadget< ppT > > compute_proof_g_H_precomp
 
std::shared_ptr< precompute_G2_gadget< ppT > > compute_proof_g_B_g_precomp
 
std::shared_ptr< check_e_equals_e_gadget< ppT > > check_kc_A_valid
 
std::shared_ptr< check_e_equals_e_gadget< ppT > > check_kc_B_valid
 
std::shared_ptr< check_e_equals_e_gadget< ppT > > check_kc_C_valid
 
std::shared_ptr< check_e_equals_ee_gadget< ppT > > check_QAP_valid
 
std::shared_ptr< check_e_equals_ee_gadget< ppT > > check_CC_valid
 
pb_variable< FieldTkc_A_valid
 
pb_variable< FieldTkc_B_valid
 
pb_variable< FieldTkc_C_valid
 
pb_variable< FieldTQAP_valid
 
pb_variable< FieldTCC_valid
 
pb_variable_array< FieldTall_test_results
 
std::shared_ptr< conjunction_gadget< FieldT > > all_tests_pass
 

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::r1cs_ppzksnark_online_verifier_gadget< ppT >

Definition at line 168 of file r1cs_ppzksnark_verifier_gadget.hpp.

Member Typedef Documentation

◆ FieldT

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

Definition at line 171 of file r1cs_ppzksnark_verifier_gadget.hpp.

Constructor & Destructor Documentation

◆ r1cs_ppzksnark_online_verifier_gadget()

template<typename ppT >
libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::r1cs_ppzksnark_online_verifier_gadget ( protoboard< FieldT > &  pb,
const r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< ppT > &  pvk,
const pb_variable_array< FieldT > &  input,
const size_t  elt_size,
const r1cs_ppzksnark_proof_variable< ppT > &  proof,
const pb_variable< FieldT > &  result,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

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

Member Data Documentation

◆ acc

template<typename ppT >
std::shared_ptr<G1_variable<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::acc

Definition at line 182 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ accumulate_input

template<typename ppT >
std::shared_ptr<G1_multiscalar_mul_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::accumulate_input

Definition at line 183 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ all_test_results

template<typename ppT >
pb_variable_array<FieldT> libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::all_test_results

Definition at line 227 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ all_tests_pass

template<typename ppT >
std::shared_ptr<conjunction_gadget<FieldT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::all_tests_pass

Definition at line 228 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ CC_valid

template<typename ppT >
pb_variable<FieldT> libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::CC_valid

Definition at line 225 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ check_CC_valid

template<typename ppT >
std::shared_ptr<check_e_equals_ee_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::check_CC_valid

Definition at line 219 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ check_kc_A_valid

template<typename ppT >
std::shared_ptr<check_e_equals_e_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::check_kc_A_valid

Definition at line 215 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ check_kc_B_valid

template<typename ppT >
std::shared_ptr<check_e_equals_e_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::check_kc_B_valid

Definition at line 216 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ check_kc_C_valid

template<typename ppT >
std::shared_ptr<check_e_equals_e_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::check_kc_C_valid

Definition at line 217 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ check_QAP_valid

template<typename ppT >
std::shared_ptr<check_e_equals_ee_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::check_QAP_valid

Definition at line 218 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_A_g_acc

template<typename ppT >
std::shared_ptr<G1_add_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_A_g_acc

Definition at line 186 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_A_g_acc_C

template<typename ppT >
std::shared_ptr<G1_add_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_A_g_acc_C

Definition at line 188 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_A_g_acc_C_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_A_g_acc_C_precomp

Definition at line 204 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_A_g_acc_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_A_g_acc_precomp

Definition at line 205 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_A_g_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_A_g_precomp

Definition at line 206 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_A_h_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_A_h_precomp

Definition at line 202 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_B_g_precomp

template<typename ppT >
std::shared_ptr<precompute_G2_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_B_g_precomp

Definition at line 213 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_B_h_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_B_h_precomp

Definition at line 207 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_C_g_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_C_g_precomp

Definition at line 209 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_C_h_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_C_h_precomp

Definition at line 208 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_H_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_H_precomp

Definition at line 211 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ compute_proof_g_K_precomp

template<typename ppT >
std::shared_ptr<precompute_G1_gadget<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::compute_proof_g_K_precomp

Definition at line 210 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ elt_size

template<typename ppT >
size_t libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::elt_size

Definition at line 177 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ input

Definition at line 176 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ input_len

template<typename ppT >
const size_t libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::input_len

Definition at line 180 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ kc_A_valid

template<typename ppT >
pb_variable<FieldT> libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::kc_A_valid

Definition at line 221 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ kc_B_valid

template<typename ppT >
pb_variable<FieldT> libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::kc_B_valid

Definition at line 222 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ kc_C_valid

template<typename ppT >
pb_variable<FieldT> libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::kc_C_valid

Definition at line 223 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof

Definition at line 178 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_A_g_acc

template<typename ppT >
std::shared_ptr<G1_variable<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_A_g_acc

Definition at line 185 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_A_g_acc_C

template<typename ppT >
std::shared_ptr<G1_variable<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_A_g_acc_C

Definition at line 187 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_A_g_acc_C_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_A_g_acc_C_precomp

Definition at line 191 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_A_g_acc_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_A_g_acc_precomp

Definition at line 192 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_A_g_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_A_g_precomp

Definition at line 193 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_A_h_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_A_h_precomp

Definition at line 190 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_B_g_precomp

template<typename ppT >
std::shared_ptr<G2_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_B_g_precomp

Definition at line 200 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_B_h_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_B_h_precomp

Definition at line 194 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_C_g_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_C_g_precomp

Definition at line 196 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_C_h_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_C_h_precomp

Definition at line 195 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_H_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_H_precomp

Definition at line 198 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ proof_g_K_precomp

template<typename ppT >
std::shared_ptr<G1_precomputation<ppT> > libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::proof_g_K_precomp

Definition at line 197 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ pvk

Definition at line 174 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ QAP_valid

template<typename ppT >
pb_variable<FieldT> libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::QAP_valid

Definition at line 224 of file r1cs_ppzksnark_verifier_gadget.hpp.

◆ result

template<typename ppT >
pb_variable<FieldT> libsnark::r1cs_ppzksnark_online_verifier_gadget< ppT >::result

Definition at line 179 of file r1cs_ppzksnark_verifier_gadget.hpp.


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