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::sp_translation_step_pcd_circuit_maker< ppT > Class Template Reference

#include <sp_pcd_circuits.hpp>

Public Types

typedef libff::Fr< ppT > FieldT
 

Public Member Functions

 sp_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 >> &compliance_step_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< FieldTsp_translation_step_pcd_circuit_input
 
pb_variable_array< FieldTunpacked_sp_translation_step_pcd_circuit_input
 
pb_variable_array< FieldTverifier_input
 
std::shared_ptr< multipacking_gadget< FieldT > > unpack_sp_translation_step_pcd_circuit_input
 
std::shared_ptr< r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< ppT > > hardcoded_sp_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::sp_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 135 of file sp_pcd_circuits.hpp.

Member Typedef Documentation

◆ FieldT

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

Definition at line 138 of file sp_pcd_circuits.hpp.

Constructor & Destructor Documentation

◆ sp_translation_step_pcd_circuit_maker()

Member Function Documentation

◆ field_capacity()

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

◆ field_logsize()

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

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

template<typename ppT >
void libsnark::sp_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 >> &  compliance_step_proof 
)

◆ get_auxiliary_input()

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

◆ get_circuit()

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

◆ get_primary_input()

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

◆ input_capacity_in_bits()

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

◆ input_size_in_bits()

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

◆ input_size_in_elts()

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

Member Data Documentation

◆ hardcoded_sp_compliance_step_vk

template<typename ppT >
std::shared_ptr< r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< ppT> > libsnark::sp_translation_step_pcd_circuit_maker< ppT >::hardcoded_sp_compliance_step_vk

Definition at line 151 of file sp_pcd_circuits.hpp.

◆ online_verifier

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

Definition at line 153 of file sp_pcd_circuits.hpp.

◆ pb

Definition at line 140 of file sp_pcd_circuits.hpp.

◆ proof

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

Definition at line 152 of file sp_pcd_circuits.hpp.

◆ sp_translation_step_pcd_circuit_input

template<typename ppT >
pb_variable_array<FieldT> libsnark::sp_translation_step_pcd_circuit_maker< ppT >::sp_translation_step_pcd_circuit_input

Definition at line 142 of file sp_pcd_circuits.hpp.

◆ unpack_sp_translation_step_pcd_circuit_input

template<typename ppT >
std::shared_ptr<multipacking_gadget<FieldT> > libsnark::sp_translation_step_pcd_circuit_maker< ppT >::unpack_sp_translation_step_pcd_circuit_input

Definition at line 146 of file sp_pcd_circuits.hpp.

◆ unpacked_sp_translation_step_pcd_circuit_input

template<typename ppT >
pb_variable_array<FieldT> libsnark::sp_translation_step_pcd_circuit_maker< ppT >::unpacked_sp_translation_step_pcd_circuit_input

Definition at line 143 of file sp_pcd_circuits.hpp.

◆ verifier_input

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

Definition at line 144 of file sp_pcd_circuits.hpp.


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