Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
libsnark::merkle_tree_check_update_gadget< FieldT, HashT > Class Template Reference

#include <merkle_tree_check_update_gadget.hpp>

Inheritance diagram for libsnark::merkle_tree_check_update_gadget< FieldT, HashT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::merkle_tree_check_update_gadget< FieldT, HashT >:
Collaboration graph
[legend]

Public Member Functions

 merkle_tree_check_update_gadget (protoboard< FieldT > &pb, const size_t tree_depth, const pb_variable_array< FieldT > &address_bits, const digest_variable< FieldT > &prev_leaf_digest, const digest_variable< FieldT > &prev_root_digest, const merkle_authentication_path_variable< FieldT, HashT > &prev_path, const digest_variable< FieldT > &next_leaf_digest, const digest_variable< FieldT > &next_root_digest, const merkle_authentication_path_variable< FieldT, HashT > &next_path, const pb_linear_combination< FieldT > &update_successful, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::gadget< FieldT >
 gadget (protoboard< FieldT > &pb, const std::string &annotation_prefix)
 

Static Public Member Functions

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

Public Attributes

const size_t digest_size
 
const size_t tree_depth
 
pb_variable_array< FieldT > address_bits
 
digest_variable< FieldT > prev_leaf_digest
 
digest_variable< FieldT > prev_root_digest
 
merkle_authentication_path_variable< FieldT, HashT > prev_path
 
digest_variable< FieldT > next_leaf_digest
 
digest_variable< FieldT > next_root_digest
 
merkle_authentication_path_variable< FieldT, HashT > next_path
 
pb_linear_combination< FieldT > update_successful
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::gadget< FieldT >
protoboard< FieldT > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename FieldT, typename HashT>
class libsnark::merkle_tree_check_update_gadget< FieldT, HashT >

Definition at line 33 of file merkle_tree_check_update_gadget.hpp.

Constructor & Destructor Documentation

◆ merkle_tree_check_update_gadget()

template<typename FieldT , typename HashT >
libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::merkle_tree_check_update_gadget ( protoboard< FieldT > &  pb,
const size_t  tree_depth,
const pb_variable_array< FieldT > &  address_bits,
const digest_variable< FieldT > &  prev_leaf_digest,
const digest_variable< FieldT > &  prev_root_digest,
const merkle_authentication_path_variable< FieldT, HashT > &  prev_path,
const digest_variable< FieldT > &  next_leaf_digest,
const digest_variable< FieldT > &  next_root_digest,
const merkle_authentication_path_variable< FieldT, HashT > &  next_path,
const pb_linear_combination< FieldT > &  update_successful,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ expected_constraints()

template<typename FieldT , typename HashT >
static size_t libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::expected_constraints ( const size_t  tree_depth)
static

◆ generate_r1cs_constraints()

template<typename FieldT , typename HashT >
void libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename FieldT , typename HashT >
void libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::generate_r1cs_witness ( )

◆ root_size_in_bits()

template<typename FieldT , typename HashT >
static size_t libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::root_size_in_bits ( )
static

Member Data Documentation

◆ address_bits

template<typename FieldT , typename HashT >
pb_variable_array<FieldT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::address_bits

Definition at line 53 of file merkle_tree_check_update_gadget.hpp.

◆ digest_size

template<typename FieldT , typename HashT >
const size_t libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::digest_size

Definition at line 50 of file merkle_tree_check_update_gadget.hpp.

◆ next_leaf_digest

template<typename FieldT , typename HashT >
digest_variable<FieldT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::next_leaf_digest

Definition at line 57 of file merkle_tree_check_update_gadget.hpp.

◆ next_path

template<typename FieldT , typename HashT >
merkle_authentication_path_variable<FieldT, HashT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::next_path

Definition at line 59 of file merkle_tree_check_update_gadget.hpp.

◆ next_root_digest

template<typename FieldT , typename HashT >
digest_variable<FieldT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::next_root_digest

Definition at line 58 of file merkle_tree_check_update_gadget.hpp.

◆ prev_leaf_digest

template<typename FieldT , typename HashT >
digest_variable<FieldT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::prev_leaf_digest

Definition at line 54 of file merkle_tree_check_update_gadget.hpp.

◆ prev_path

template<typename FieldT , typename HashT >
merkle_authentication_path_variable<FieldT, HashT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::prev_path

Definition at line 56 of file merkle_tree_check_update_gadget.hpp.

◆ prev_root_digest

template<typename FieldT , typename HashT >
digest_variable<FieldT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::prev_root_digest

Definition at line 55 of file merkle_tree_check_update_gadget.hpp.

◆ tree_depth

template<typename FieldT , typename HashT >
const size_t libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::tree_depth

Definition at line 51 of file merkle_tree_check_update_gadget.hpp.

◆ update_successful

template<typename FieldT , typename HashT >
pb_linear_combination<FieldT> libsnark::merkle_tree_check_update_gadget< FieldT, HashT >::update_successful

Definition at line 60 of file merkle_tree_check_update_gadget.hpp.


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