nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT > Class Template Reference

#include <r1cs_mp_ppzkpcd.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >:

Public Types

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

Public Member Functions

bool is_well_formed () const
 
r1cs_mp_ppzkpcd_proving_key< PCD_ppT > & operator= (const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &other)=default
 
bool operator== (const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &other) const
 
 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 (const std::vector< r1cs_mp_ppzkpcd_compliance_predicate< PCD_ppT >> &compliance_predicates, const std::vector< typename r1cs_ppzksnark< A_pp >::proving_key_type > &compliance_step_r1cs_pk, const std::vector< typename r1cs_ppzksnark< B_pp >::proving_key_type > &translation_step_r1cs_pk, const std::vector< typename r1cs_ppzksnark< A_pp >::verification_key_type > &compliance_step_r1cs_vk, const std::vector< typename r1cs_ppzksnark< B_pp >::verification_key_type > &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< std::size_t, std::size_t > &compliance_predicate_name_to_idx)
 
 r1cs_mp_ppzkpcd_proving_key (r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &&other)=default
 
std::size_t size_in_bits () const
 

Public Attributes

set_commitment commitment_to_translation_step_r1cs_vks
 
std::map< std::size_t, std::size_t > compliance_predicate_name_to_idx
 
std::vector< r1cs_mp_ppzkpcd_compliance_predicate< PCD_ppT > > compliance_predicates
 
std::vector< typename r1cs_ppzksnark< A_pp >::proving_key_type > compliance_step_r1cs_pks
 
std::vector< set_membership_proofcompliance_step_r1cs_vk_membership_proofs
 
std::vector< typename r1cs_ppzksnark< A_pp >::verification_key_type > compliance_step_r1cs_vks
 
std::vector< typename r1cs_ppzksnark< B_pp >::proving_key_type > translation_step_r1cs_pks
 
std::vector< typename r1cs_ppzksnark< B_pp >::verification_key_type > translation_step_r1cs_vks
 

Detailed Description

template<typename PCD_ppT>
class nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >

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

Member Typedef Documentation

◆ A_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_A_pp nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::A_pp

◆ B_pp

template<typename PCD_ppT >
typedef PCD_ppT::curve_B_pp nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::B_pp

Constructor & Destructor Documentation

◆ r1cs_mp_ppzkpcd_proving_key() [1/4]

template<typename PCD_ppT >
nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::r1cs_mp_ppzkpcd_proving_key ( )
inline

◆ r1cs_mp_ppzkpcd_proving_key() [2/4]

template<typename PCD_ppT >
nil::crypto3::zk::snark::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 >
nil::crypto3::zk::snark::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 >
nil::crypto3::zk::snark::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< typename r1cs_ppzksnark< A_pp >::proving_key_type > &  compliance_step_r1cs_pk,
const std::vector< typename r1cs_ppzksnark< B_pp >::proving_key_type > &  translation_step_r1cs_pk,
const std::vector< typename r1cs_ppzksnark< A_pp >::verification_key_type > &  compliance_step_r1cs_vk,
const std::vector< typename r1cs_ppzksnark< B_pp >::verification_key_type > &  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< std::size_t, std::size_t > &  compliance_predicate_name_to_idx 
)
inline

Member Function Documentation

◆ is_well_formed()

template<typename PCD_ppT >
bool nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::is_well_formed

◆ operator=()

template<typename PCD_ppT >
r1cs_mp_ppzkpcd_proving_key<PCD_ppT>& nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::operator= ( const r1cs_mp_ppzkpcd_proving_key< PCD_ppT > &  other)
default

◆ operator==()

template<typename PCD_ppT >
bool nil::crypto3::zk::snark::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 >
std::size_t nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::size_in_bits

Member Data Documentation

◆ commitment_to_translation_step_r1cs_vks

template<typename PCD_ppT >
set_commitment nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::commitment_to_translation_step_r1cs_vks

◆ compliance_predicate_name_to_idx

template<typename PCD_ppT >
std::map<std::size_t, std::size_t> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_predicate_name_to_idx

◆ compliance_predicates

template<typename PCD_ppT >
std::vector<r1cs_mp_ppzkpcd_compliance_predicate<PCD_ppT> > nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_predicates

◆ compliance_step_r1cs_pks

template<typename PCD_ppT >
std::vector<typename r1cs_ppzksnark<A_pp>::proving_key_type> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_step_r1cs_pks

◆ compliance_step_r1cs_vk_membership_proofs

template<typename PCD_ppT >
std::vector<set_membership_proof> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_step_r1cs_vk_membership_proofs

◆ compliance_step_r1cs_vks

template<typename PCD_ppT >
std::vector<typename r1cs_ppzksnark<A_pp>::verification_key_type> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::compliance_step_r1cs_vks

◆ translation_step_r1cs_pks

template<typename PCD_ppT >
std::vector<typename r1cs_ppzksnark<B_pp>::proving_key_type> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::translation_step_r1cs_pks

◆ translation_step_r1cs_vks

template<typename PCD_ppT >
std::vector<typename r1cs_ppzksnark<B_pp>::verification_key_type> nil::crypto3::zk::snark::r1cs_mp_ppzkpcd_proving_key< PCD_ppT >::translation_step_r1cs_vks

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