12#include <evmc/evmc.hpp>
14 #define interface __STRUCT__
38 bool equalBytes32(
const evmc::bytes32 & lhs,
const evmc::bytes32 & rhs);
40 bool lessBytes32(
const evmc::bytes32 & lhs,
const evmc::bytes32 & rhs);
42 evmc::bytes32
keccakBytes(
const std::uint8_t * data, std::size_t size);
46 evmc::bytes32
composeFormatHash(
const evmc::bytes32 & lhs,
const evmc::bytes32 & rhs);
50 evmc::bytes32
concatPathHash(
const evmc::bytes32 & left,
const evmc::bytes32 & right);
52 evmc::bytes32
scalarPathLabelHash(
const evmc::bytes32 & scalar_hash,
const evmc::bytes32 & path_hash);
58 evmc::bytes32
computeFormatHash(
const std::vector<ScalarHashEntry> & hash_entries);
62 bool scalarLabelsEqual(
const std::vector<ScalarLabel> & lhs,
const std::vector<ScalarLabel> & rhs);
Definition address.hpp:17
evmc::bytes32 keccakBytes(const std::uint8_t *data, std::size_t size)
Definition format_hash.cpp:50
bool lessBytes32(const evmc::bytes32 &lhs, const evmc::bytes32 &rhs)
Definition format_hash.cpp:45
evmc::bytes32 concatPathHash(const evmc::bytes32 &left, const evmc::bytes32 &right)
Definition format_hash.cpp:93
bool equalBytes32(const evmc::bytes32 &lhs, const evmc::bytes32 &rhs)
Definition format_hash.cpp:40
evmc::bytes32 scalarPathLabelHash(const evmc::bytes32 &scalar_hash, const evmc::bytes32 &path_hash)
Definition format_hash.cpp:102
evmc::bytes32 computeFormatHash(const std::vector< ScalarHashEntry > &hash_entries)
Definition format_hash.cpp:146
evmc::bytes32 keccakString(std::string_view value)
Definition format_hash.cpp:57
bool scalarLabelsEqual(const std::vector< ScalarLabel > &lhs, const std::vector< ScalarLabel > &rhs)
Definition format_hash.cpp:214
evmc::bytes32 computeFormatHashFromLabelHashes(const std::vector< evmc::bytes32 > &label_hashes)
Definition format_hash.cpp:132
std::vector< ScalarLabel > canonicalizeScalarLabels(const std::vector< ScalarLabel > &labels)
Definition format_hash.cpp:166
evmc::bytes32 dimPathHash(std::uint32_t dim_id)
Definition format_hash.cpp:85
evmc::bytes32 labelHashToFormatHash(const evmc::bytes32 &label_hash)
Definition format_hash.cpp:111
evmc::bytes32 composeFormatHash(const evmc::bytes32 &lhs, const evmc::bytes32 &rhs)
Definition format_hash.cpp:64
Definition format_hash.hpp:33
std::vector< ScalarLabel > display_entries
Definition format_hash.hpp:35
std::vector< ScalarHashEntry > hash_entries
Definition format_hash.hpp:34
Definition format_hash.hpp:20
evmc::bytes32 scalar_hash
Definition format_hash.hpp:21
evmc::bytes32 path_hash
Definition format_hash.hpp:22
Definition format_hash.hpp:26
evmc::bytes32 path_hash
Definition format_hash.hpp:28
std::string scalar
Definition format_hash.hpp:27
std::uint32_t tail_id
Definition format_hash.hpp:29