Public Types |
Public Member Functions |
Static Public Member Functions |
Public Attributes |
List of all members
nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType > Class Template Reference
#include <sp_pcd_circuits.hpp>
Collaboration diagram for nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >:
Public Types | |
typedef CurveType::scalar_field_type | FieldType |
Public Member Functions | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness (const r1cs_primary_input< typename CurveType::scalar_field_type > translation_step_input, const r1cs_ppzksnark_proof< other_curve< CurveType >> &compliance_step_proof) |
r1cs_auxiliary_input< FieldType > | get_auxiliary_input () const |
r1cs_constraint_system< FieldType > | get_circuit () const |
r1cs_primary_input< FieldType > | get_primary_input () const |
sp_translation_step_pcd_circuit_maker (const r1cs_ppzksnark_verification_key< other_curve< CurveType >> &compliance_step_vk) | |
Static Public Member Functions | |
static std::size_t | field_capacity () |
static std::size_t | field_logsize () |
static std::size_t | input_capacity_in_bits () |
static std::size_t | input_size_in_bits () |
static std::size_t | input_size_in_elts () |
Public Attributes | |
blueprint< FieldType > | bp |
std::shared_ptr< r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable< CurveType > > | hardcoded_sp_compliance_step_vk |
std::shared_ptr< r1cs_ppzksnark_online_verifier_component< CurveType > > | online_verifier |
std::shared_ptr< r1cs_ppzksnark_proof_variable< CurveType > > | proof |
blueprint_variable_vector< FieldType > | sp_translation_step_pcd_circuit_input |
std::shared_ptr< multipacking_component< FieldType > > | unpack_sp_translation_step_pcd_circuit_input |
blueprint_variable_vector< FieldType > | unpacked_sp_translation_step_pcd_circuit_input |
blueprint_variable_vector< FieldType > | verifier_input |
Detailed Description
template<typename CurveType>
class nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >
A translation-step PCD circuit.
The circuit is an R1CS that checks validity of previous proofs.
Member Typedef Documentation
◆ FieldType
template<typename CurveType >
typedef CurveType::scalar_field_type nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::FieldType |
Constructor & Destructor Documentation
◆ sp_translation_step_pcd_circuit_maker()
template<typename CurveType >
nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::sp_translation_step_pcd_circuit_maker | ( | const r1cs_ppzksnark_verification_key< other_curve< CurveType >> & | compliance_step_vk | ) |
Member Function Documentation
◆ field_capacity()
template<typename CurveType >
|
static |
◆ field_logsize()
template<typename CurveType >
|
static |
◆ generate_r1cs_constraints()
template<typename CurveType >
void nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::generate_r1cs_constraints |
◆ generate_r1cs_witness()
template<typename CurveType >
void nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::generate_r1cs_witness | ( | const r1cs_primary_input< typename CurveType::scalar_field_type > | translation_step_input, |
const r1cs_ppzksnark_proof< other_curve< CurveType >> & | compliance_step_proof | ||
) |
◆ get_auxiliary_input()
template<typename CurveType >
r1cs_auxiliary_input< typename CurveType::scalar_field_type > nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::get_auxiliary_input |
◆ get_circuit()
template<typename CurveType >
r1cs_constraint_system< typename CurveType::scalar_field_type > nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::get_circuit |
◆ get_primary_input()
template<typename CurveType >
r1cs_primary_input< typename CurveType::scalar_field_type > nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::get_primary_input |
◆ input_capacity_in_bits()
template<typename CurveType >
|
static |
◆ input_size_in_bits()
template<typename CurveType >
|
static |
◆ input_size_in_elts()
template<typename CurveType >
|
static |
Member Data Documentation
◆ bp
template<typename CurveType >
blueprint<FieldType> nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::bp |
◆ hardcoded_sp_compliance_step_vk
template<typename CurveType >
std::shared_ptr<r1cs_ppzksnark_preprocessed_r1cs_ppzksnark_verification_key_variable<CurveType> > nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::hardcoded_sp_compliance_step_vk |
◆ online_verifier
template<typename CurveType >
std::shared_ptr<r1cs_ppzksnark_online_verifier_component<CurveType> > nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::online_verifier |
◆ proof
template<typename CurveType >
std::shared_ptr<r1cs_ppzksnark_proof_variable<CurveType> > nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::proof |
◆ sp_translation_step_pcd_circuit_input
template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::sp_translation_step_pcd_circuit_input |
◆ unpack_sp_translation_step_pcd_circuit_input
template<typename CurveType >
std::shared_ptr<multipacking_component<FieldType> > nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::unpack_sp_translation_step_pcd_circuit_input |
◆ unpacked_sp_translation_step_pcd_circuit_input
template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::unpacked_sp_translation_step_pcd_circuit_input |
◆ verifier_input
template<typename CurveType >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::sp_translation_step_pcd_circuit_maker< CurveType >::verifier_input |
The documentation for this class was generated from the following file: