nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType > Class Template Reference

#include <verifier.hpp>

+ Inheritance diagram for nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >:
+ Collaboration diagram for nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >:

Public Types

typedef CurveType::scalar_field_type FieldType
 

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness (const typename r1cs_ppzksnark< typename CurveType::pairing::pair_curve_type >::proof_type &proof)
 
 r1cs_ppzksnark_proof_variable (blueprint< FieldType > &bp)
 

Static Public Member Functions

static std::size_t size ()
 

Public Attributes

std::vector< std::shared_ptr< element_g1_is_well_formed< CurveType > > > all_G1_checkers
 
std::vector< std::shared_ptr< element_g1< CurveType > > > all_G1_vars
 
std::vector< std::shared_ptr< element_g2< CurveType > > > all_G2_vars
 
std::shared_ptr< element_g2_is_well_formed< CurveType > > G2_checker
 
std::shared_ptr< element_g1< CurveType > > g_A_g
 
std::shared_ptr< element_g1< CurveType > > g_A_h
 
std::shared_ptr< element_g2< CurveType > > g_B_g
 
std::shared_ptr< element_g1< CurveType > > g_B_h
 
std::shared_ptr< element_g1< CurveType > > g_C_g
 
std::shared_ptr< element_g1< CurveType > > g_C_h
 
std::shared_ptr< element_g1< CurveType > > g_H
 
std::shared_ptr< element_g1< CurveType > > g_K
 
blueprint_variable_vector< FieldTypeproof_contents
 

Protected Attributes

blueprint< CurveType::scalar_field_type > & bp
 

Member Typedef Documentation

◆ FieldType

template<typename CurveType >
typedef CurveType::scalar_field_type nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::FieldType

Constructor & Destructor Documentation

◆ r1cs_ppzksnark_proof_variable()

template<typename CurveType >
nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::r1cs_ppzksnark_proof_variable ( blueprint< FieldType > &  bp)
inline

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename CurveType >
void nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::generate_r1cs_constraints ( )
inline

◆ generate_r1cs_witness()

template<typename CurveType >
void nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::generate_r1cs_witness ( const typename r1cs_ppzksnark< typename CurveType::pairing::pair_curve_type >::proof_type &  proof)
inline

◆ size()

template<typename CurveType >
static std::size_t nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::size ( )
inlinestatic

Member Data Documentation

◆ all_G1_checkers

template<typename CurveType >
std::vector<std::shared_ptr<element_g1_is_well_formed<CurveType> > > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::all_G1_checkers

◆ all_G1_vars

template<typename CurveType >
std::vector<std::shared_ptr<element_g1<CurveType> > > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::all_G1_vars

◆ all_G2_vars

template<typename CurveType >
std::vector<std::shared_ptr<element_g2<CurveType> > > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::all_G2_vars

◆ bp

blueprint<CurveType::scalar_field_type >& nil::crypto3::zk::components::component< CurveType::scalar_field_type >::bp
protectedinherited

◆ G2_checker

template<typename CurveType >
std::shared_ptr<element_g2_is_well_formed<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::G2_checker

◆ g_A_g

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_A_g

◆ g_A_h

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_A_h

◆ g_B_g

template<typename CurveType >
std::shared_ptr<element_g2<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_B_g

◆ g_B_h

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_B_h

◆ g_C_g

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_C_g

◆ g_C_h

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_C_h

◆ g_H

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_H

◆ g_K

template<typename CurveType >
std::shared_ptr<element_g1<CurveType> > nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::g_K

◆ proof_contents

template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::components::r1cs_ppzksnark_proof_variable< CurveType >::proof_contents

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