zk/include/nil/crypto3/zk/snark/merkle_tree.hpp
Go to the documentation of this file.
std::enable_if<!boost::accumulators::detail::is_accumulator_set< OutputIterator >::value, OutputIterator >::type hash(InputIterator first, InputIterator last, OutputIterator out)
Definition: algorithm/hash.hpp:78
vector(T, U...) -> vector< std::enable_if_t<(std::is_same_v< T, U > &&...), T >, 1+sizeof...(U)>
deduction guide for uniform initialization
std::vector< merkle_authentication_node > merkle_authentication_path
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:66
std::vector< bool > merkle_authentication_node
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:65
Hash::hash_value_type two_to_one_CRH(const typename Hash::hash_value_type &l, const typename Hash::hash_value_type &r)
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:39
Definition: pair.hpp:31
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:70
constexpr static const std::size_t base_arity
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:74
Hash::hash_value_type digest_type
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:71
merkle_authentication_path_type get_path(const std::size_t address) const
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:216
constexpr static const std::size_t sub_tree_arity
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:75
std::size_t depth
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:82
constexpr static const std::size_t top_tree_arity
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:76
merkle_tree(const std::size_t depth, const std::size_t value_size)
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:85
digest_type get_root() const
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:212
void dump() const
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:239
Hash::merkle_authentication_path_type merkle_authentication_path_type
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:71
std::map< std::size_t, std::vector< bool > > values
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:79
void set_value(const std::size_t address, const std::vector< bool > &value)
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:189
merkle_tree(size_t depth, std::size_t value_size, const std::map< std::size_t, std::vector< bool >> &contents)
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:131
merkle_tree(const std::size_t depth, const std::size_t value_size, const std::vector< std::vector< bool >> &contents_as_vector)
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:102
Hash::digest_type digest_type
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:70
std::size_t value_size
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:83
std::vector< bool > get_value(const std::size_t address) const
Definition: zk/include/nil/crypto3/zk/snark/merkle_tree.hpp:179
std::size_t digest_size
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:84
std::vector< digest_type > hash_defaults
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:78
std::map< std::size_t, digest_type > hashes
Definition: blueprint/include/nil/crypto3/zk/merkle_tree.hpp:80