nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash > Class Template Reference

#include <set_membership_proof_variable.hpp>

+ Inheritance diagram for nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >:
+ Collaboration diagram for nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >:

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness (const set_membership_proof &proof)
 
set_membership_proof get_membership_proof () const
 
 set_membership_proof_variable (blueprint< FieldType > &bp, const std::size_t max_entries)
 

Static Public Member Functions

static snark::r1cs_variable_assignment< FieldType > as_r1cs_variable_assignment (const set_membership_proof &proof)
 

Public Attributes

blueprint_variable_vector< FieldType > address_bits
 
const std::size_t max_entries
 
std::shared_ptr< merkle_authentication_path_variable< FieldType, Hash > > merkle_path
 
const std::size_t tree_depth
 

Constructor & Destructor Documentation

◆ set_membership_proof_variable()

template<typename FieldType , typename Hash >
nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::set_membership_proof_variable ( blueprint< FieldType > &  bp,
const std::size_t  max_entries 
)
inline

Member Function Documentation

◆ as_r1cs_variable_assignment()

template<typename FieldType , typename Hash >
static snark::r1cs_variable_assignment<FieldType> nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::as_r1cs_variable_assignment ( const set_membership_proof proof)
inlinestatic

◆ generate_r1cs_constraints()

template<typename FieldType , typename Hash >
void nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::generate_r1cs_constraints ( )
inline

◆ generate_r1cs_witness()

template<typename FieldType , typename Hash >
void nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::generate_r1cs_witness ( const set_membership_proof proof)
inline

◆ get_membership_proof()

template<typename FieldType , typename Hash >
set_membership_proof nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::get_membership_proof ( ) const
inline

Member Data Documentation

◆ address_bits

template<typename FieldType , typename Hash >
blueprint_variable_vector<FieldType> nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::address_bits

◆ max_entries

template<typename FieldType , typename Hash >
const std::size_t nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::max_entries

◆ merkle_path

template<typename FieldType , typename Hash >
std::shared_ptr<merkle_authentication_path_variable<FieldType, Hash> > nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::merkle_path

◆ tree_depth

template<typename FieldType , typename Hash >
const std::size_t nil::crypto3::zk::snark::components::set_membership_proof_variable< FieldType, Hash >::tree_depth

The documentation for this class was generated from the following file: