Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
Go to the documentation of this file.
15 #ifndef CP_HANDLER_HPP_
16 #define CP_HANDLER_HPP_
31 template<
typename FieldT>
48 virtual std::shared_ptr<r1cs_pcd_message<FieldT>>
get_message()
const = 0;
57 template<
typename FieldT>
81 template<
typename FieldT,
typename protoboardT>
89 std::vector<std::shared_ptr<r1cs_pcd_message_variable<FieldT>>>
91 std::shared_ptr<r1cs_pcd_local_data_variable<FieldT>>
local_data;
101 const protoboardT &
pb,
110 &incoming_message_values,
119 const size_t message_idx)
const;
120 std::shared_ptr<r1cs_pcd_local_data<FieldT>>
get_local_data()
const;
128 #endif // CP_HANDLER_HPP_
const std::string annotation_prefix
r1cs_pcd_compliance_predicate< FieldT > get_compliance_predicate() const
compliance_predicate_handler(const protoboardT &pb, const size_t name, const size_t type, const size_t max_arity, const bool relies_on_same_type_inputs, const std::set< size_t > accepted_input_types=std::set< size_t >())
protoboard< FieldT > & pb
pb_variable< FieldT > type
r1cs_variable_assignment< FieldT > get_witness() const
virtual void generate_r1cs_constraints()=0
r1cs_pcd_local_data_variable(protoboard< FieldT > &pb, const std::string &annotation_prefix)
const std::set< size_t > accepted_input_types
virtual ~r1cs_pcd_message_variable()=default
r1cs_variable_assignment< FieldT > get_full_variable_assignment() const
std::shared_ptr< r1cs_pcd_message_variable< FieldT > > outgoing_message
virtual ~r1cs_pcd_local_data_variable()=default
std::vector< FieldT > r1cs_variable_assignment
std::shared_ptr< r1cs_pcd_local_data< FieldT > > get_local_data() const
virtual void generate_r1cs_witness(const std::vector< std::shared_ptr< r1cs_pcd_message< FieldT >>> &incoming_message_values, const std::shared_ptr< r1cs_pcd_local_data< FieldT >> &local_data_value)
pb_variable< FieldT > arity
r1cs_pcd_message_variable(protoboard< FieldT > &pb, const std::string &annotation_prefix)
pb_variable_array< FieldT > all_vars
std::shared_ptr< r1cs_pcd_message< FieldT > > get_outgoing_message() const
const bool relies_on_same_type_inputs
void generate_r1cs_witness(const std::shared_ptr< r1cs_pcd_message< FieldT >> &message)
size_t num_vars_at_construction
std::vector< std::shared_ptr< r1cs_pcd_message_variable< FieldT > > > incoming_messages
std::shared_ptr< r1cs_pcd_message< FieldT > > get_incoming_message(const size_t message_idx) const
size_t num_vars_at_construction
void generate_r1cs_witness(const std::shared_ptr< r1cs_pcd_local_data< FieldT >> &local_data)
pb_variable_array< FieldT > all_vars
virtual std::shared_ptr< r1cs_pcd_message< FieldT > > get_message() const =0
std::shared_ptr< r1cs_pcd_local_data_variable< FieldT > > local_data