Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <sp_pcd_circuits.hpp>
Public Types | |
typedef libff::Fr< ppT > | FieldT |
Public Member Functions | |
sp_compliance_step_pcd_circuit_maker (const r1cs_pcd_compliance_predicate< FieldT > &compliance_predicate) | |
void | generate_r1cs_constraints () |
r1cs_constraint_system< FieldT > | get_circuit () const |
void | generate_r1cs_witness (const r1cs_ppzksnark_verification_key< other_curve< ppT >> &translation_step_pcd_circuit_vk, const r1cs_pcd_compliance_predicate_primary_input< FieldT > &compliance_predicate_primary_input, const r1cs_pcd_compliance_predicate_auxiliary_input< FieldT > &compliance_predicate_auxiliary_input, const std::vector< r1cs_ppzksnark_proof< other_curve< ppT >>> &incoming_proofs) |
r1cs_primary_input< FieldT > | get_primary_input () const |
r1cs_auxiliary_input< FieldT > | get_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 () |
A compliance-step PCD circuit.
The circuit is an R1CS that checks compliance (for the given compliance predicate) and validity of previous proofs.
Definition at line 47 of file sp_pcd_circuits.hpp.
typedef libff::Fr<ppT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::FieldT |
Definition at line 50 of file sp_pcd_circuits.hpp.
libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::sp_compliance_step_pcd_circuit_maker | ( | const r1cs_pcd_compliance_predicate< FieldT > & | compliance_predicate | ) |
|
static |
|
static |
void libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::generate_r1cs_constraints | ( | ) |
void libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::generate_r1cs_witness | ( | const r1cs_ppzksnark_verification_key< other_curve< ppT >> & | translation_step_pcd_circuit_vk, |
const r1cs_pcd_compliance_predicate_primary_input< FieldT > & | compliance_predicate_primary_input, | ||
const r1cs_pcd_compliance_predicate_auxiliary_input< FieldT > & | compliance_predicate_auxiliary_input, | ||
const std::vector< r1cs_ppzksnark_proof< other_curve< ppT >>> & | incoming_proofs | ||
) |
r1cs_auxiliary_input<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::get_auxiliary_input | ( | ) | const |
r1cs_constraint_system<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::get_circuit | ( | ) | const |
r1cs_primary_input<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::get_primary_input | ( | ) | const |
|
static |
|
static |
|
static |
pb_variable<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::arity |
Definition at line 78 of file sp_pcd_circuits.hpp.
std::shared_ptr<block_variable<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::block_for_outgoing_message |
Definition at line 58 of file sp_pcd_circuits.hpp.
std::vector<block_variable<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::blocks_for_incoming_messages |
Definition at line 61 of file sp_pcd_circuits.hpp.
r1cs_pcd_compliance_predicate<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::compliance_predicate |
Definition at line 52 of file sp_pcd_circuits.hpp.
std::shared_ptr<gadget_from_r1cs<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::compliance_predicate_as_gadget |
Definition at line 85 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::cp_witness |
Definition at line 84 of file sp_pcd_circuits.hpp.
std::vector<CRH_with_field_out_gadget<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::hash_incoming_messages |
Definition at line 68 of file sp_pcd_circuits.hpp.
std::shared_ptr<CRH_with_field_out_gadget<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::hash_outgoing_message |
Definition at line 59 of file sp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::incoming_message_payloads |
Definition at line 80 of file sp_pcd_circuits.hpp.
std::vector<pb_variable<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::incoming_message_types |
Definition at line 79 of file sp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::incoming_message_vars |
Definition at line 81 of file sp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::incoming_messages_bits |
Definition at line 90 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::local_data |
Definition at line 83 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_bits |
Definition at line 87 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_payload |
Definition at line 75 of file sp_pcd_circuits.hpp.
pb_variable<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_type |
Definition at line 74 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_vars |
Definition at line 76 of file sp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::padded_translation_step_vk_and_incoming_messages_digests |
Definition at line 97 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::padded_translation_step_vk_and_outgoing_message_digest |
Definition at line 95 of file sp_pcd_circuits.hpp.
protoboard<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::pb |
Definition at line 54 of file sp_pcd_circuits.hpp.
std::vector<r1cs_ppzksnark_proof_variable<ppT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::proof |
Definition at line 100 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::sp_compliance_step_pcd_circuit_input |
Definition at line 93 of file sp_pcd_circuits.hpp.
std::shared_ptr<r1cs_ppzksnark_verification_key_variable<ppT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::sp_translation_step_vk |
Definition at line 71 of file sp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::sp_translation_step_vk_and_incoming_message_payload_digest_bits |
Definition at line 67 of file sp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::sp_translation_step_vk_and_incoming_message_payload_digests |
Definition at line 63 of file sp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::sp_translation_step_vk_bits |
Definition at line 72 of file sp_pcd_circuits.hpp.
std::vector<multipacking_gadget<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::unpack_incoming_messages |
Definition at line 91 of file sp_pcd_circuits.hpp.
std::shared_ptr<multipacking_gadget<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::unpack_outgoing_message |
Definition at line 88 of file sp_pcd_circuits.hpp.
std::vector<multipacking_gadget<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::unpack_sp_translation_step_vk_and_incoming_message_payload_digests |
Definition at line 65 of file sp_pcd_circuits.hpp.
pb_variable<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::verification_result |
Definition at line 101 of file sp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::verifier_input |
Definition at line 99 of file sp_pcd_circuits.hpp.
std::vector<r1cs_ppzksnark_verifier_gadget<ppT> > libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::verifiers |
Definition at line 102 of file sp_pcd_circuits.hpp.
pb_variable<FieldT> libsnark::sp_compliance_step_pcd_circuit_maker< ppT >::zero |
Definition at line 56 of file sp_pcd_circuits.hpp.