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

#include <check_read.hpp>

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

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
 merkle_tree_check_read_component (blueprint< FieldType > &bp, const std::size_t tree_depth, const blueprint_linear_combination_vector< FieldType > &address_bits, const digest_variable< FieldType > &leaf_digest, const digest_variable< FieldType > &root_digest, const merkle_authentication_path_variable< FieldType, Hash > &path, const blueprint_linear_combination< FieldType > &read_successful)
 

Static Public Member Functions

static std::size_t expected_constraints (const std::size_t tree_depth)
 
static std::size_t root_size_in_bits ()
 

Public Attributes

blueprint_linear_combination_vector< FieldType > address_bits
 
const std::size_t digest_size
 
digest_variable< FieldType > leaf
 
merkle_authentication_path_variable< FieldType, Hash > path
 
blueprint_linear_combination< FieldType > read_successful
 
digest_variable< FieldType > root
 
const std::size_t tree_depth
 

Protected Attributes

blueprint< FieldType > & bp
 

Constructor & Destructor Documentation

◆ merkle_tree_check_read_component()

template<typename FieldType , typename Hash >
nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::merkle_tree_check_read_component ( blueprint< FieldType > &  bp,
const std::size_t  tree_depth,
const blueprint_linear_combination_vector< FieldType > &  address_bits,
const digest_variable< FieldType > &  leaf_digest,
const digest_variable< FieldType > &  root_digest,
const merkle_authentication_path_variable< FieldType, Hash > &  path,
const blueprint_linear_combination< FieldType > &  read_successful 
)

Member Function Documentation

◆ expected_constraints()

template<typename FieldType , typename Hash >
std::size_t nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::expected_constraints ( const std::size_t  tree_depth)
static

◆ generate_r1cs_constraints()

template<typename FieldType , typename Hash >
void nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::generate_r1cs_constraints

◆ generate_r1cs_witness()

template<typename FieldType , typename Hash >
void nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::generate_r1cs_witness

◆ root_size_in_bits()

template<typename FieldType , typename Hash >
std::size_t nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::root_size_in_bits
static

Member Data Documentation

◆ address_bits

template<typename FieldType , typename Hash >
blueprint_linear_combination_vector<FieldType> nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::address_bits

◆ bp

template<typename FieldType >
blueprint<FieldType>& nil::crypto3::zk::components::component< FieldType >::bp
protectedinherited

◆ digest_size

template<typename FieldType , typename Hash >
const std::size_t nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::digest_size

◆ leaf

template<typename FieldType , typename Hash >
digest_variable<FieldType> nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::leaf

◆ path

template<typename FieldType , typename Hash >
merkle_authentication_path_variable<FieldType, Hash> nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::path

◆ read_successful

template<typename FieldType , typename Hash >
blueprint_linear_combination<FieldType> nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::read_successful

◆ root

template<typename FieldType , typename Hash >
digest_variable<FieldType> nil::crypto3::zk::components::merkle_tree_check_read_component< FieldType, Hash >::root

◆ tree_depth

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

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