27 constexpr MemoryAddress HIGHEST_SLICE_ADDRESS = AVM_HIGHEST_MEM_ADDRESS - AVM_KECCAKF1600_STATE_SIZE + 1;
29 bool src_out_of_range =
src_addr > HIGHEST_SLICE_ADDRESS;
30 bool dst_out_of_range =
dst_addr > HIGHEST_SLICE_ADDRESS;
32 if (src_out_of_range) {
35 if (dst_out_of_range) {
39 uint64_t state[AVM_KECCAKF1600_STATE_SIZE];
42 for (
size_t i = 0; i < AVM_KECCAKF1600_STATE_SIZE; ++i) {
49 format(
"Read slice tag invalid - addr: ", addr,
" tag: ",
static_cast<uint32_t
>(
tag)));
52 state[i] = mem_val.as<uint64_t>();
59 for (
size_t i = 0; i < AVM_KECCAKF1600_STATE_SIZE; ++i) {