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

#include <check_update.hpp>

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

Public Member Functions

void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
 merkle_tree_check_update_components (blueprint< FieldType > &bp, const std::size_t tree_depth, const blueprint_variable_vector< FieldType > &address_bits, const digest_variable< FieldType > &prev_leaf_digest, const digest_variable< FieldType > &prev_root_digest, const merkle_authentication_path_variable< FieldType, Hash > &prev_path, const digest_variable< FieldType > &next_leaf_digest, const digest_variable< FieldType > &next_root_digest, const merkle_authentication_path_variable< FieldType, Hash > &next_path, const blueprint_linear_combination< FieldType > &update_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_variable_vector< FieldType > address_bits
 
const std::size_t digest_size
 
digest_variable< FieldType > next_leaf_digest
 
merkle_authentication_path_variable< FieldType, Hash > next_path
 
digest_variable< FieldType > next_root_digest
 
digest_variable< FieldType > prev_leaf_digest
 
merkle_authentication_path_variable< FieldType, Hash > prev_path
 
digest_variable< FieldType > prev_root_digest
 
const std::size_t tree_depth
 
blueprint_linear_combination< FieldType > update_successful
 

Protected Attributes

blueprint< FieldType > & bp
 

Constructor & Destructor Documentation

◆ merkle_tree_check_update_components()

template<typename FieldType , typename Hash >
nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::merkle_tree_check_update_components ( blueprint< FieldType > &  bp,
const std::size_t  tree_depth,
const blueprint_variable_vector< FieldType > &  address_bits,
const digest_variable< FieldType > &  prev_leaf_digest,
const digest_variable< FieldType > &  prev_root_digest,
const merkle_authentication_path_variable< FieldType, Hash > &  prev_path,
const digest_variable< FieldType > &  next_leaf_digest,
const digest_variable< FieldType > &  next_root_digest,
const merkle_authentication_path_variable< FieldType, Hash > &  next_path,
const blueprint_linear_combination< FieldType > &  update_successful 
)
inline

Member Function Documentation

◆ expected_constraints()

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

◆ generate_r1cs_constraints()

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

◆ generate_r1cs_witness()

template<typename FieldType , typename Hash >
void nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::generate_r1cs_witness ( )
inline

◆ root_size_in_bits()

template<typename FieldType , typename Hash >
static std::size_t nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::root_size_in_bits ( )
inlinestatic

Member Data Documentation

◆ address_bits

template<typename FieldType , typename Hash >
blueprint_variable_vector<FieldType> nil::crypto3::zk::components::merkle_tree_check_update_components< 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_update_components< FieldType, Hash >::digest_size

◆ next_leaf_digest

template<typename FieldType , typename Hash >
digest_variable<FieldType> nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::next_leaf_digest

◆ next_path

template<typename FieldType , typename Hash >
merkle_authentication_path_variable<FieldType, Hash> nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::next_path

◆ next_root_digest

template<typename FieldType , typename Hash >
digest_variable<FieldType> nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::next_root_digest

◆ prev_leaf_digest

template<typename FieldType , typename Hash >
digest_variable<FieldType> nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::prev_leaf_digest

◆ prev_path

template<typename FieldType , typename Hash >
merkle_authentication_path_variable<FieldType, Hash> nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::prev_path

◆ prev_root_digest

template<typename FieldType , typename Hash >
digest_variable<FieldType> nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::prev_root_digest

◆ tree_depth

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

◆ update_successful

template<typename FieldType , typename Hash >
blueprint_linear_combination<FieldType> nil::crypto3::zk::components::merkle_tree_check_update_components< FieldType, Hash >::update_successful

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