compliance_predicate.hpp
Go to the documentation of this file.
193 relies_on_same_type_inputs(relies_on_same_type_inputs), accepted_input_types(accepted_input_types) {
216 return (type_not_zero && incoming_message_payload_lengths_well_specified && correct_num_inputs &&
Definition: r1cs_pcd_params.hpp:54
r1cs_auxiliary_input< FieldType > as_r1cs_auxiliary_input(const std::vector< std::size_t > &incoming_message_payload_lengths) const
Definition: r1cs_pcd_params.hpp:68
Definition: r1cs_pcd_params.hpp:40
r1cs_primary_input< FieldType > as_r1cs_primary_input() const
Definition: r1cs_pcd_params.hpp:48
Definition: compliance_predicate.hpp:123
bool has_equal_input_lengths() const
Definition: compliance_predicate.hpp:232
std::vector< std::size_t > incoming_message_payload_lengths
Definition: compliance_predicate.hpp:132
std::set< std::size_t > accepted_input_types
Definition: compliance_predicate.hpp:137
r1cs_pcd_compliance_predicate()=default
bool is_satisfied(const std::shared_ptr< r1cs_pcd_message< FieldType >> &outgoing_message, const std::vector< std::shared_ptr< r1cs_pcd_message< FieldType >>> &incoming_messages, const std::shared_ptr< r1cs_pcd_local_data< FieldType >> &local_data, const r1cs_pcd_witness< FieldType > &witness) const
Definition: compliance_predicate.hpp:257
bool relies_on_same_type_inputs
Definition: compliance_predicate.hpp:136
r1cs_constraint_system< FieldType > constraint_system
Definition: compliance_predicate.hpp:128
r1cs_pcd_compliance_predicate< FieldType > & operator=(const r1cs_pcd_compliance_predicate< FieldType > &other)=default
bool operator==(const r1cs_pcd_compliance_predicate< FieldType > &other) const
Definition: compliance_predicate.hpp:243
std::size_t witness_length
Definition: compliance_predicate.hpp:134
std::size_t type
Definition: compliance_predicate.hpp:126
std::size_t name
Definition: compliance_predicate.hpp:125
std::size_t local_data_length
Definition: compliance_predicate.hpp:133
r1cs_pcd_compliance_predicate(r1cs_pcd_compliance_predicate< FieldType > &&other)=default
bool is_well_formed() const
Definition: compliance_predicate.hpp:198
std::size_t max_arity
Definition: compliance_predicate.hpp:131
bool has_equal_input_and_output_lengths() const
Definition: compliance_predicate.hpp:221
r1cs_pcd_compliance_predicate(std::size_t name, std::size_t type, const r1cs_constraint_system< FieldType > &constraint_system, std::size_t outgoing_message_payload_length, std::size_t max_arity, const std::vector< std::size_t > &incoming_message_payload_lengths, std::size_t local_data_length, std::size_t witness_length, bool relies_on_same_type_inputs, const std::set< std::size_t > &accepted_input_types=std::set< std::size_t >())
Definition: compliance_predicate.hpp:177
std::size_t outgoing_message_payload_length
Definition: compliance_predicate.hpp:130
r1cs_pcd_compliance_predicate(const r1cs_pcd_compliance_predicate< FieldType > &other)=default
vector(T, U...) -> vector< std::enable_if_t<(std::is_same_v< T, U > &&...), T >, 1+sizeof...(U)>
deduction guide for uniform initialization
std::vector< typename FieldType::value_type > r1cs_pcd_witness
Definition: compliance_predicate.hpp:86
std::vector< typename FieldType::value_type > r1cs_variable_assignment
Definition: r1cs.hpp:107
Definition: pair.hpp:31
Definition: r1cs.hpp:124
bool is_satisfied(const r1cs_primary_input< FieldType > &primary_input, const r1cs_auxiliary_input< FieldType > &auxiliary_input) const
Definition: r1cs.hpp:162
std::size_t num_inputs() const
Definition: r1cs.hpp:135
std::size_t num_variables() const
Definition: r1cs.hpp:139
Definition: compliance_predicate.hpp:77
r1cs_pcd_local_data()=default
virtual ~r1cs_pcd_local_data()=default
virtual r1cs_variable_assignment< FieldType > as_r1cs_variable_assignment() const =0
Definition: compliance_predicate.hpp:56
r1cs_pcd_message(std::size_t type)
Definition: compliance_predicate.hpp:59
std::size_t type
Definition: compliance_predicate.hpp:57
virtual ~r1cs_pcd_message()=default
r1cs_variable_assignment< FieldType > as_r1cs_variable_assignment() const
Definition: compliance_predicate.hpp:62
virtual r1cs_variable_assignment< FieldType > payload_as_r1cs_variable_assignment() const =0