12 #ifndef MERKLE_TREE_HPP_
13 #define MERKLE_TREE_HPP_
15 #include <libff/common/utils.hpp>
41 typedef typename HashT::hash_value_type hash_value_type;
42 typedef typename HashT::merkle_authentication_path_type
43 merkle_authentication_path_type;
47 std::map<size_t, libff::bit_vector>
values;
48 std::map<size_t, hash_value_type>
hashes;
58 const std::vector<libff::bit_vector> &contents_as_vector);
62 const std::map<size_t, libff::bit_vector> &contents);
64 libff::bit_vector
get_value(
const size_t address)
const;
65 void set_value(
const size_t address,
const libff::bit_vector &value);
68 merkle_authentication_path_type
get_path(
const size_t address)
const;
77 #endif // MERKLE_TREE_HPP_