Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <mp_pcd_circuits.hpp>
Public Types | |
typedef libff::Fr< ppT > | FieldT |
Public Member Functions | |
mp_compliance_step_pcd_circuit_maker (const r1cs_pcd_compliance_predicate< FieldT > &compliance_predicate, const size_t max_number_of_predicates) | |
void | generate_r1cs_constraints () |
r1cs_constraint_system< FieldT > | get_circuit () const |
void | generate_r1cs_witness (const set_commitment &commitment_to_translation_step_r1cs_vks, const std::vector< r1cs_ppzksnark_verification_key< other_curve< ppT >>> &mp_translation_step_pcd_circuit_vks, const std::vector< set_membership_proof > &vk_membership_proofs, 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 >>> &translation_step_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 46 of file mp_pcd_circuits.hpp.
typedef libff::Fr<ppT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::FieldT |
Definition at line 49 of file mp_pcd_circuits.hpp.
libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::mp_compliance_step_pcd_circuit_maker | ( | const r1cs_pcd_compliance_predicate< FieldT > & | compliance_predicate, |
const size_t | max_number_of_predicates | ||
) |
|
static |
|
static |
void libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::generate_r1cs_constraints | ( | ) |
void libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::generate_r1cs_witness | ( | const set_commitment & | commitment_to_translation_step_r1cs_vks, |
const std::vector< r1cs_ppzksnark_verification_key< other_curve< ppT >>> & | mp_translation_step_pcd_circuit_vks, | ||
const std::vector< set_membership_proof > & | vk_membership_proofs, | ||
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 >>> & | translation_step_proofs | ||
) |
r1cs_auxiliary_input<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::get_auxiliary_input | ( | ) | const |
r1cs_constraint_system<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::get_circuit | ( | ) | const |
r1cs_primary_input<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::get_primary_input | ( | ) | const |
|
static |
|
static |
|
static |
pb_variable<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::arity |
Definition at line 77 of file mp_pcd_circuits.hpp.
std::vector<block_variable<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::block_for_incoming_messages |
Definition at line 60 of file mp_pcd_circuits.hpp.
std::shared_ptr<block_variable<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::block_for_outgoing_message |
Definition at line 57 of file mp_pcd_circuits.hpp.
std::shared_ptr< set_commitment_variable<FieldT, CRH_with_bit_out_gadget<FieldT> > > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::commitment |
Definition at line 100 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::commitment_and_incoming_message_digests |
Definition at line 62 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::commitment_and_incoming_messages_digest_bits |
Definition at line 66 of file mp_pcd_circuits.hpp.
pb_variable<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::common_type |
Definition at line 107 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::common_type_check_aux |
Definition at line 108 of file mp_pcd_circuits.hpp.
r1cs_pcd_compliance_predicate<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::compliance_predicate |
Definition at line 51 of file mp_pcd_circuits.hpp.
std::shared_ptr<gadget_from_r1cs<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::compliance_predicate_as_gadget |
Definition at line 84 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::cp_witness |
Definition at line 83 of file mp_pcd_circuits.hpp.
std::vector<CRH_with_field_out_gadget<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::hash_incoming_messages |
Definition at line 67 of file mp_pcd_circuits.hpp.
std::shared_ptr<CRH_with_field_out_gadget<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::hash_outgoing_message |
Definition at line 58 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::incoming_message_payloads |
Definition at line 79 of file mp_pcd_circuits.hpp.
std::vector<pb_variable<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::incoming_message_types |
Definition at line 78 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::incoming_message_vars |
Definition at line 80 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::incoming_messages_bits |
Definition at line 89 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::local_data |
Definition at line 82 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::membership_check_results |
Definition at line 106 of file mp_pcd_circuits.hpp.
std::vector<set_commitment_gadget<FieldT, CRH_with_bit_out_gadget<FieldT> > > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::membership_checkers |
Definition at line 105 of file mp_pcd_circuits.hpp.
std::vector< set_membership_proof_variable<FieldT, CRH_with_bit_out_gadget<FieldT> > > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::membership_proofs |
Definition at line 103 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::mp_compliance_step_pcd_circuit_input |
Definition at line 92 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_bits |
Definition at line 86 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_payload |
Definition at line 74 of file mp_pcd_circuits.hpp.
pb_variable<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_type |
Definition at line 73 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::outgoing_message_vars |
Definition at line 75 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::padded_commitment_and_incoming_messages_digest |
Definition at line 96 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::padded_translation_step_vk_and_outgoing_message_digest |
Definition at line 94 of file mp_pcd_circuits.hpp.
protoboard<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::pb |
Definition at line 53 of file mp_pcd_circuits.hpp.
std::vector<r1cs_ppzksnark_proof_variable<ppT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::proof |
Definition at line 111 of file mp_pcd_circuits.hpp.
std::vector<r1cs_ppzksnark_verification_key_variable<ppT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::translation_step_vks |
Definition at line 70 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::translation_step_vks_bits |
Definition at line 71 of file mp_pcd_circuits.hpp.
std::vector<multipacking_gadget<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::unpack_commitment_and_incoming_message_digests |
Definition at line 64 of file mp_pcd_circuits.hpp.
std::vector<multipacking_gadget<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::unpack_incoming_messages |
Definition at line 90 of file mp_pcd_circuits.hpp.
std::shared_ptr<multipacking_gadget<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::unpack_outgoing_message |
Definition at line 87 of file mp_pcd_circuits.hpp.
pb_variable_array<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::verification_results |
Definition at line 112 of file mp_pcd_circuits.hpp.
std::vector<r1cs_ppzksnark_verifier_gadget<ppT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::verifier |
Definition at line 113 of file mp_pcd_circuits.hpp.
std::vector<pb_variable_array<FieldT> > libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::verifier_input |
Definition at line 110 of file mp_pcd_circuits.hpp.
pb_variable<FieldT> libsnark::mp_compliance_step_pcd_circuit_maker< ppT >::zero |
Definition at line 55 of file mp_pcd_circuits.hpp.