Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
poseidon2_event.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <array>
4
#include <cstdint>
5
#include <vector>
6
7
#include "
barretenberg/vm2/common/field.hpp
"
8
#include "
barretenberg/vm2/common/memory_types.hpp
"
9
10
namespace
bb::avm2::simulation
{
11
12
struct
Poseidon2HashEvent
{
13
std::vector<FF>
inputs
;
// This input is padded to a multiple of 3
14
std::vector<std::array<FF, 4>
>
intermediate_states
;
15
FF
output
= 0;
16
};
17
18
struct
Poseidon2PermutationEvent
{
19
std::array<FF, 4>
input
= { 0, 0, 0, 0 };
20
std::array<FF, 4>
output
= { 0, 0, 0, 0 };
21
};
22
23
struct
Poseidon2PermutationMemoryEvent
{
24
uint16_t
space_id
= 0;
25
uint32_t
execution_clk
= 0;
26
MemoryAddress
src_address
= 0;
27
MemoryAddress
dst_address
= 0;
28
// Need to know the tag value for error handling
29
std::array<MemoryValue, 4>
input
= {
30
MemoryValue::from<FF>(0), MemoryValue::from<FF>(0), MemoryValue::from<FF>(0), MemoryValue::from<FF>(0)
31
};
32
std::array<FF, 4>
output
= { 0, 0, 0, 0 };
33
};
34
35
}
// namespace bb::avm2::simulation
memory_types.hpp
bb::avm2::simulation
AVM range check gadget for witness generation.
Definition
address_derivation_event.hpp:6
bb::avm2::FF
AvmFlavorSettings::FF FF
Definition
field.hpp:10
bb::avm2::MemoryAddress
uint32_t MemoryAddress
Definition
memory_types.hpp:11
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
bb::avm2::simulation::Poseidon2HashEvent
Definition
poseidon2_event.hpp:12
bb::avm2::simulation::Poseidon2HashEvent::output
FF output
Definition
poseidon2_event.hpp:15
bb::avm2::simulation::Poseidon2HashEvent::inputs
std::vector< FF > inputs
Definition
poseidon2_event.hpp:13
bb::avm2::simulation::Poseidon2HashEvent::intermediate_states
std::vector< std::array< FF, 4 > > intermediate_states
Definition
poseidon2_event.hpp:14
bb::avm2::simulation::Poseidon2PermutationEvent
Definition
poseidon2_event.hpp:18
bb::avm2::simulation::Poseidon2PermutationEvent::input
std::array< FF, 4 > input
Definition
poseidon2_event.hpp:19
bb::avm2::simulation::Poseidon2PermutationEvent::output
std::array< FF, 4 > output
Definition
poseidon2_event.hpp:20
bb::avm2::simulation::Poseidon2PermutationMemoryEvent
Definition
poseidon2_event.hpp:23
bb::avm2::simulation::Poseidon2PermutationMemoryEvent::dst_address
MemoryAddress dst_address
Definition
poseidon2_event.hpp:27
bb::avm2::simulation::Poseidon2PermutationMemoryEvent::output
std::array< FF, 4 > output
Definition
poseidon2_event.hpp:32
bb::avm2::simulation::Poseidon2PermutationMemoryEvent::execution_clk
uint32_t execution_clk
Definition
poseidon2_event.hpp:25
bb::avm2::simulation::Poseidon2PermutationMemoryEvent::src_address
MemoryAddress src_address
Definition
poseidon2_event.hpp:26
bb::avm2::simulation::Poseidon2PermutationMemoryEvent::input
std::array< MemoryValue, 4 > input
Definition
poseidon2_event.hpp:29
bb::avm2::simulation::Poseidon2PermutationMemoryEvent::space_id
uint16_t space_id
Definition
poseidon2_event.hpp:24
field.hpp
src
barretenberg
vm2
simulation
events
poseidon2_event.hpp
Generated by
1.9.8