nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType > Class Template Referenceabstract
#include <cp_handler.hpp>
Collaboration diagram for nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >:
Public Member Functions | |
compliance_predicate_handler (const BlueprintType &bp, const std::size_t name, const std::size_t type, const std::size_t max_arity, const bool relies_on_same_type_inputs, const std::set< std::size_t > &accepted_input_types=std::set< std::size_t >()) | |
virtual void | generate_r1cs_constraints ()=0 |
virtual void | generate_r1cs_witness (const std::vector< std::shared_ptr< r1cs_pcd_message< FieldType >>> &incoming_message_values, const std::shared_ptr< r1cs_pcd_local_data< FieldType >> &local_data_value) |
std::size_t | get_arity () const |
r1cs_pcd_compliance_predicate< FieldType > | get_compliance_predicate () const |
snark::r1cs_variable_assignment< FieldType > | get_full_variable_assignment () const |
std::shared_ptr< r1cs_pcd_message< FieldType > > | get_incoming_message (const std::size_t message_idx) const |
std::shared_ptr< r1cs_pcd_local_data< FieldType > > | get_local_data () const |
std::shared_ptr< r1cs_pcd_message< FieldType > > | get_outgoing_message () const |
snark::r1cs_variable_assignment< FieldType > | get_witness () const |
Public Attributes | |
const std::set< std::size_t > | accepted_input_types |
const std::size_t | max_arity |
const std::size_t | name |
const bool | relies_on_same_type_inputs |
const std::size_t | type |
Protected Attributes | |
blueprint_variable< FieldType > | arity |
BlueprintType | bp |
std::vector< std::shared_ptr< r1cs_pcd_message_variable< FieldType > > > | incoming_messages |
std::shared_ptr< r1cs_pcd_local_data_variable< FieldType > > | local_data |
std::shared_ptr< r1cs_pcd_message_variable< FieldType > > | outgoing_message |
Detailed Description
template<typename FieldType, typename BlueprintType>
class nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >
A base class for creating compliance predicates.
Constructor & Destructor Documentation
◆ compliance_predicate_handler()
template<typename FieldType , typename BlueprintType >
nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::compliance_predicate_handler | ( | const BlueprintType & | bp, |
const std::size_t | name, | ||
const std::size_t | type, | ||
const std::size_t | max_arity, | ||
const bool | relies_on_same_type_inputs, | ||
const std::set< std::size_t > & | accepted_input_types = std::set<std::size_t>() |
||
) |
Member Function Documentation
◆ generate_r1cs_constraints()
template<typename FieldType , typename BlueprintType >
|
pure virtual |
◆ generate_r1cs_witness()
template<typename FieldType , typename BlueprintType >
|
virtual |
◆ get_arity()
template<typename FieldType , typename BlueprintType >
std::size_t nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::get_arity |
◆ get_compliance_predicate()
template<typename FieldType , typename BlueprintType >
r1cs_pcd_compliance_predicate< FieldType > nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::get_compliance_predicate |
◆ get_full_variable_assignment()
template<typename FieldType , typename BlueprintType >
snark::r1cs_variable_assignment< FieldType > nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::get_full_variable_assignment |
◆ get_incoming_message()
template<typename FieldType , typename BlueprintType >
std::shared_ptr< r1cs_pcd_message< FieldType > > nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::get_incoming_message | ( | const std::size_t | message_idx | ) | const |
◆ get_local_data()
template<typename FieldType , typename BlueprintType >
std::shared_ptr< r1cs_pcd_local_data< FieldType > > nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::get_local_data |
◆ get_outgoing_message()
template<typename FieldType , typename BlueprintType >
std::shared_ptr< r1cs_pcd_message< FieldType > > nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::get_outgoing_message |
◆ get_witness()
template<typename FieldType , typename BlueprintType >
r1cs_pcd_witness< FieldType > nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::get_witness |
Member Data Documentation
◆ accepted_input_types
template<typename FieldType , typename BlueprintType >
const std::set<std::size_t> nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::accepted_input_types |
◆ arity
template<typename FieldType , typename BlueprintType >
|
protected |
◆ bp
template<typename FieldType , typename BlueprintType >
|
protected |
◆ incoming_messages
template<typename FieldType , typename BlueprintType >
|
protected |
◆ local_data
template<typename FieldType , typename BlueprintType >
|
protected |
◆ max_arity
template<typename FieldType , typename BlueprintType >
const std::size_t nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::max_arity |
◆ name
template<typename FieldType , typename BlueprintType >
const std::size_t nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::name |
◆ outgoing_message
template<typename FieldType , typename BlueprintType >
|
protected |
◆ relies_on_same_type_inputs
template<typename FieldType , typename BlueprintType >
const bool nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::relies_on_same_type_inputs |
◆ type
template<typename FieldType , typename BlueprintType >
const std::size_t nil::crypto3::zk::snark::compliance_predicate_handler< FieldType, BlueprintType >::type |
The documentation for this class was generated from the following file: