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

#include <mp_pcd_circuits.hpp>

Public Types

typedef libff::Fr< ppT > FieldT
 

Public Member Functions

 mp_translation_step_pcd_circuit_maker (const r1cs_ppzksnark_verification_key< other_curve< ppT >> &compliance_step_vk)
 
void generate_r1cs_constraints ()
 
r1cs_constraint_system< FieldTget_circuit () const
 
void generate_r1cs_witness (const r1cs_primary_input< libff::Fr< ppT >> translation_step_input, const r1cs_ppzksnark_proof< other_curve< ppT >> &prev_proof)
 
r1cs_primary_input< FieldTget_primary_input () const
 
r1cs_auxiliary_input< FieldTget_auxiliary_input () const
 

Static Public Member Functions

static size_t field_logsize ()
 
static size_t field_capacity ()
 
static size_t input_size_in_elts ()
 
static size_t input_capacity_in_bits ()
 
static size_t input_size_in_bits ()
 

Public Attributes

protoboard< FieldTpb
 
pb_variable_array< FieldTmp_translation_step_pcd_circuit_input
 
pb_variable_array< FieldTunpacked_mp_translation_step_pcd_circuit_input
 
pb_variable_array< FieldTverifier_input
 
std::shared_ptr< multipacking_gadget< FieldT > > unpack_mp_translation_step_pcd_circuit_input
 
std::shared_ptr< r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< ppT > > hardcoded_compliance_step_vk
 
std::shared_ptr< r1cs_ppzksnark_proof_variable< ppT > > proof
 
std::shared_ptr< r1cs_ppzksnark_online_verifier_gadget< ppT > > online_verifier
 

Detailed Description

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

A translation-step PCD circuit.

The circuit is an R1CS that checks validity of previous proofs.

Definition at line 149 of file mp_pcd_circuits.hpp.

Member Typedef Documentation

◆ FieldT

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

Definition at line 152 of file mp_pcd_circuits.hpp.

Constructor & Destructor Documentation

◆ mp_translation_step_pcd_circuit_maker()

Member Function Documentation

◆ field_capacity()

template<typename ppT >
static size_t libsnark::mp_translation_step_pcd_circuit_maker< ppT >::field_capacity ( )
static

◆ field_logsize()

template<typename ppT >
static size_t libsnark::mp_translation_step_pcd_circuit_maker< ppT >::field_logsize ( )
static

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

template<typename ppT >
void libsnark::mp_translation_step_pcd_circuit_maker< ppT >::generate_r1cs_witness ( const r1cs_primary_input< libff::Fr< ppT >>  translation_step_input,
const r1cs_ppzksnark_proof< other_curve< ppT >> &  prev_proof 
)

◆ get_auxiliary_input()

template<typename ppT >
r1cs_auxiliary_input<FieldT> libsnark::mp_translation_step_pcd_circuit_maker< ppT >::get_auxiliary_input ( ) const

◆ get_circuit()

template<typename ppT >
r1cs_constraint_system<FieldT> libsnark::mp_translation_step_pcd_circuit_maker< ppT >::get_circuit ( ) const

◆ get_primary_input()

template<typename ppT >
r1cs_primary_input<FieldT> libsnark::mp_translation_step_pcd_circuit_maker< ppT >::get_primary_input ( ) const

◆ input_capacity_in_bits()

template<typename ppT >
static size_t libsnark::mp_translation_step_pcd_circuit_maker< ppT >::input_capacity_in_bits ( )
static

◆ input_size_in_bits()

template<typename ppT >
static size_t libsnark::mp_translation_step_pcd_circuit_maker< ppT >::input_size_in_bits ( )
static

◆ input_size_in_elts()

template<typename ppT >
static size_t libsnark::mp_translation_step_pcd_circuit_maker< ppT >::input_size_in_elts ( )
static

Member Data Documentation

◆ hardcoded_compliance_step_vk

template<typename ppT >
std::shared_ptr< r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< ppT> > libsnark::mp_translation_step_pcd_circuit_maker< ppT >::hardcoded_compliance_step_vk

Definition at line 165 of file mp_pcd_circuits.hpp.

◆ mp_translation_step_pcd_circuit_input

template<typename ppT >
pb_variable_array<FieldT> libsnark::mp_translation_step_pcd_circuit_maker< ppT >::mp_translation_step_pcd_circuit_input

Definition at line 156 of file mp_pcd_circuits.hpp.

◆ online_verifier

template<typename ppT >
std::shared_ptr<r1cs_ppzksnark_online_verifier_gadget<ppT> > libsnark::mp_translation_step_pcd_circuit_maker< ppT >::online_verifier

Definition at line 167 of file mp_pcd_circuits.hpp.

◆ pb

Definition at line 154 of file mp_pcd_circuits.hpp.

◆ proof

template<typename ppT >
std::shared_ptr<r1cs_ppzksnark_proof_variable<ppT> > libsnark::mp_translation_step_pcd_circuit_maker< ppT >::proof

Definition at line 166 of file mp_pcd_circuits.hpp.

◆ unpack_mp_translation_step_pcd_circuit_input

template<typename ppT >
std::shared_ptr<multipacking_gadget<FieldT> > libsnark::mp_translation_step_pcd_circuit_maker< ppT >::unpack_mp_translation_step_pcd_circuit_input

Definition at line 160 of file mp_pcd_circuits.hpp.

◆ unpacked_mp_translation_step_pcd_circuit_input

template<typename ppT >
pb_variable_array<FieldT> libsnark::mp_translation_step_pcd_circuit_maker< ppT >::unpacked_mp_translation_step_pcd_circuit_input

Definition at line 157 of file mp_pcd_circuits.hpp.

◆ verifier_input

template<typename ppT >
pb_variable_array<FieldT> libsnark::mp_translation_step_pcd_circuit_maker< ppT >::verifier_input

Definition at line 158 of file mp_pcd_circuits.hpp.


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