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

#include <r1cs_mp_ppzkpcd.hpp>

Public Types

typedef PCD_ppT::curve_A_pp A_pp
 
typedef PCD_ppT::curve_B_pp B_pp
 

Public Member Functions

 r1cs_mp_ppzkpcd_proving_key ()
 
 r1cs_mp_ppzkpcd_proving_key (const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &other)=default
 
 r1cs_mp_ppzkpcd_proving_key (r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &&other)=default
 
 r1cs_mp_ppzkpcd_proving_key (const std::vector< r1cs_mp_ppzkpcd_compliance_predicate< PCD_ppT >> &compliance_predicates, const std::vector< r1cs_ppzksnark_proving_key< A_pp >> &compliance_step_r1cs_pk, const std::vector< r1cs_ppzksnark_proving_key< B_pp >> &translation_step_r1cs_pk, const std::vector< r1cs_ppzksnark_verification_key< A_pp >> &compliance_step_r1cs_vk, const std::vector< r1cs_ppzksnark_verification_key< B_pp >> &translation_step_r1cs_vk, const set_commitment &commitment_to_translation_step_r1cs_vks, const std::vector< set_membership_proof > &compliance_step_r1cs_vk_membership_proofs, const std::map< size_t, size_t > &compliance_predicate_name_to_idx)
 
r1cs_mp_ppzkpcd_proving_key< PCD_ppT > & operator= (const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &other)=default
 
size_t size_in_bits () const
 
bool is_well_formed () const
 
bool operator== (const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &other) const
 

Public Attributes

std::vector< r1cs_mp_ppzkpcd_compliance_predicate< PCD_ppT > > compliance_predicates
 
std::vector< r1cs_ppzksnark_proving_key< A_pp > > compliance_step_r1cs_pks
 
std::vector< r1cs_ppzksnark_proving_key< B_pp > > translation_step_r1cs_pks
 
std::vector< r1cs_ppzksnark_verification_key< A_pp > > compliance_step_r1cs_vks
 
std::vector< r1cs_ppzksnark_verification_key< B_pp > > translation_step_r1cs_vks
 
set_commitment commitment_to_translation_step_r1cs_vks
 
std::vector< set_membership_proofcompliance_step_r1cs_vk_membership_proofs
 
std::map< size_t, size_t > compliance_predicate_name_to_idx
 

Friends

std::ostream & operator (std::ostream &out, const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &pk)
 
std::istream & operator>> (std::istream &in, r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &pk)
 

Detailed Description

template<typename PCD_ppT>
class libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >

A proving key for the R1CS (multi-predicate) ppzkPCD.

Definition at line 53 of file r1cs_mp_ppzkpcd.hpp.

Member Typedef Documentation

◆ A_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_A_pp libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::A_pp

Definition at line 69 of file r1cs_mp_ppzkpcd.hpp.

◆ B_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_B_pp libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::B_pp

Definition at line 70 of file r1cs_mp_ppzkpcd.hpp.

Constructor & Destructor Documentation

◆ r1cs_mp_ppzkpcd_proving_key() [1/4]

template<typename PCD_ppT >
libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::r1cs_mp_ppzkpcd_proving_key ( )
inline

Definition at line 87 of file r1cs_mp_ppzkpcd.hpp.

87 {};

◆ r1cs_mp_ppzkpcd_proving_key() [2/4]

template<typename PCD_ppT >
libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::r1cs_mp_ppzkpcd_proving_key ( const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &  other)
default

◆ r1cs_mp_ppzkpcd_proving_key() [3/4]

template<typename PCD_ppT >
libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::r1cs_mp_ppzkpcd_proving_key ( r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &&  other)
default

◆ r1cs_mp_ppzkpcd_proving_key() [4/4]

template<typename PCD_ppT >
libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::r1cs_mp_ppzkpcd_proving_key ( const std::vector< r1cs_mp_ppzkpcd_compliance_predicate< PCD_ppT >> &  compliance_predicates,
const std::vector< r1cs_ppzksnark_proving_key< A_pp >> &  compliance_step_r1cs_pk,
const std::vector< r1cs_ppzksnark_proving_key< B_pp >> &  translation_step_r1cs_pk,
const std::vector< r1cs_ppzksnark_verification_key< A_pp >> &  compliance_step_r1cs_vk,
const std::vector< r1cs_ppzksnark_verification_key< B_pp >> &  translation_step_r1cs_vk,
const set_commitment commitment_to_translation_step_r1cs_vks,
const std::vector< set_membership_proof > &  compliance_step_r1cs_vk_membership_proofs,
const std::map< size_t, size_t > &  compliance_predicate_name_to_idx 
)
inline

Member Function Documentation

◆ is_well_formed()

template<typename PCD_ppT >
bool libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::is_well_formed ( ) const

◆ operator=()

template<typename PCD_ppT >
r1cs_mp_ppzkpcd_proving_key<PCD_ppT>& libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::operator= ( const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &  other)
default

◆ operator==()

template<typename PCD_ppT >
bool libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::operator== ( const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &  other) const

◆ size_in_bits()

template<typename PCD_ppT >
size_t libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::size_in_bits ( ) const

Friends And Related Function Documentation

◆ operator

template<typename PCD_ppT >
std::ostream& operator ( std::ostream &  out,
const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &  pk 
)
friend

◆ operator>>

template<typename PCD_ppT >
std::istream& operator>> ( std::istream &  in,
r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &  pk 
)
friend

Member Data Documentation

◆ commitment_to_translation_step_r1cs_vks

template<typename PCD_ppT >
set_commitment libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::commitment_to_translation_step_r1cs_vks

Definition at line 82 of file r1cs_mp_ppzkpcd.hpp.

◆ compliance_predicate_name_to_idx

template<typename PCD_ppT >
std::map<size_t, size_t> libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_predicate_name_to_idx

Definition at line 85 of file r1cs_mp_ppzkpcd.hpp.

◆ compliance_predicates

template<typename PCD_ppT >
std::vector<r1cs_mp_ppzkpcd_compliance_predicate<PCD_ppT> > libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_predicates

Definition at line 73 of file r1cs_mp_ppzkpcd.hpp.

◆ compliance_step_r1cs_pks

template<typename PCD_ppT >
std::vector<r1cs_ppzksnark_proving_key<A_pp> > libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_step_r1cs_pks

Definition at line 75 of file r1cs_mp_ppzkpcd.hpp.

◆ compliance_step_r1cs_vk_membership_proofs

template<typename PCD_ppT >
std::vector<set_membership_proof> libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_step_r1cs_vk_membership_proofs

Definition at line 83 of file r1cs_mp_ppzkpcd.hpp.

◆ compliance_step_r1cs_vks

template<typename PCD_ppT >
std::vector<r1cs_ppzksnark_verification_key<A_pp> > libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_step_r1cs_vks

Definition at line 78 of file r1cs_mp_ppzkpcd.hpp.

◆ translation_step_r1cs_pks

template<typename PCD_ppT >
std::vector<r1cs_ppzksnark_proving_key<B_pp> > libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::translation_step_r1cs_pks

Definition at line 76 of file r1cs_mp_ppzkpcd.hpp.

◆ translation_step_r1cs_vks

template<typename PCD_ppT >
std::vector<r1cs_ppzksnark_verification_key<B_pp> > libsnark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::translation_step_r1cs_vks

Definition at line 80 of file r1cs_mp_ppzkpcd.hpp.


The documentation for this class was generated from the following file:
libsnark::r1cs_mp_ppzkpcd_proving_key::translation_step_r1cs_pks
std::vector< r1cs_ppzksnark_proving_key< B_pp > > translation_step_r1cs_pks
Definition: r1cs_mp_ppzkpcd.hpp:76
libsnark::r1cs_mp_ppzkpcd_proving_key::compliance_step_r1cs_vk_membership_proofs
std::vector< set_membership_proof > compliance_step_r1cs_vk_membership_proofs
Definition: r1cs_mp_ppzkpcd.hpp:83
libsnark::r1cs_mp_ppzkpcd_proving_key::compliance_predicate_name_to_idx
std::map< size_t, size_t > compliance_predicate_name_to_idx
Definition: r1cs_mp_ppzkpcd.hpp:85
libsnark::r1cs_mp_ppzkpcd_proving_key::commitment_to_translation_step_r1cs_vks
set_commitment commitment_to_translation_step_r1cs_vks
Definition: r1cs_mp_ppzkpcd.hpp:82
libsnark::r1cs_mp_ppzkpcd_proving_key::compliance_step_r1cs_pks
std::vector< r1cs_ppzksnark_proving_key< A_pp > > compliance_step_r1cs_pks
Definition: r1cs_mp_ppzkpcd.hpp:75
libsnark::r1cs_mp_ppzkpcd_proving_key::compliance_predicates
std::vector< r1cs_mp_ppzkpcd_compliance_predicate< PCD_ppT > > compliance_predicates
Definition: r1cs_mp_ppzkpcd.hpp:73
libsnark::r1cs_mp_ppzkpcd_proving_key::compliance_step_r1cs_vks
std::vector< r1cs_ppzksnark_verification_key< A_pp > > compliance_step_r1cs_vks
Definition: r1cs_mp_ppzkpcd.hpp:78
libsnark::r1cs_mp_ppzkpcd_proving_key::translation_step_r1cs_vks
std::vector< r1cs_ppzksnark_verification_key< B_pp > > translation_step_r1cs_vks
Definition: r1cs_mp_ppzkpcd.hpp:80