9#include "../blake2s/blake2s.hpp"
10#include "../keccak/keccak.hpp"
11#include "../sha256/sha256.hpp"
20 static std::vector<uint8_t>
hash(
const std::vector<uint8_t>& message)
24 std::vector<uint8_t> output;
27 memcpy((
void*)&output[0], (
void*)&hash_result.
word64s[0], 32);
36 template <
typename B = std::vector<u
int8_t>>
static auto hash(
const B& message) {
return sha256(message); }
42 static auto hash(
const std::vector<uint8_t>& message) {
return blake2s(message); }
struct keccak256 ethash_keccak256(const uint8_t *data, size_t size) NOEXCEPT
Sha256Hash sha256(const ByteContainer &input)
std::array< uint8_t, BLAKE2S_OUTBYTES > blake2s(std::vector< uint8_t > const &input)
static constexpr size_t BLOCK_SIZE
static constexpr size_t OUTPUT_SIZE
static auto hash(const std::vector< uint8_t > &message)
static constexpr size_t BLOCK_SIZE
static std::vector< uint8_t > hash(const std::vector< uint8_t > &message)
static constexpr size_t OUTPUT_SIZE
static auto hash(const B &message)
static constexpr size_t OUTPUT_SIZE
static constexpr size_t BLOCK_SIZE