22#define NOEXCEPT noexcept
57 for (
auto& word : hash_result.
word64s) {
59 word = __builtin_bswap64(word);
62 std::array<uint8_t, KECCAK256_OUTPUT_BYTES> result;
65 for (
size_t j = 0; j < 8; ++j) {
66 uint8_t
byte =
static_cast<uint8_t
>(hash_result.
word64s[i] >> (56 - (j * 8)));
67 result[i * 8 + j] = byte;
71 return from_buffer<bb::fr>(result);
A wrapper class used to construct KeccakTranscript.
static bb::fr hash(std::vector< uint256_t > const &data)
const std::vector< MemoryValue > data
struct keccak256 ethash_keccak256(const uint8_t *data, size_t size) NOEXCEPT
struct keccak256 ethash_keccak256(const uint8_t *data, size_t size) NOEXCEPT
void ethash_keccakf1600(uint64_t state[KECCAKF1600_LANES]) NOEXCEPT
std::unique_ptr< uint8_t[]> buffer
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::vector< uint8_t > to_buffer(T const &value)
uint64_t word64s[KECCAK256_OUTPUT_WORDS]