Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
data_copy_events.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <vector>
4
5
#include "
barretenberg/vm2/common/field.hpp
"
6
#include "
barretenberg/vm2/common/memory_types.hpp
"
7
8
namespace
bb::avm2::simulation
{
9
10
struct
DataCopyException
:
public
std::runtime_error {
11
explicit
DataCopyException
()
12
:
std
::runtime_error(
"Error during CD/RD copy"
)
13
{}
14
};
15
16
enum class
DataCopyOperation
{
17
CD_COPY
= 1,
18
RD_COPY
= 2,
19
};
20
21
struct
DataCopyEvent
{
22
uint32_t
execution_clk
= 0;
// Data copy will read and write memory,
23
DataCopyOperation
operation
;
24
std::vector<FF>
calldata
;
25
uint32_t
write_context_id
= 0;
// For mem aware subtraces, they need the context id when referencing memory
26
uint32_t
read_context_id
= 0;
// Refers to the parent/child context id
27
// Loaded from X_data_copy opcode
28
uint32_t
data_copy_size
= 0;
29
uint32_t
data_offset
= 0;
30
// This is a direct address from the parent/child context for calldata/returndata
31
MemoryAddress
data_addr
= 0;
32
uint32_t
data_size
= 0;
33
bool
is_nested
=
false
;
34
// Output Address
35
MemoryAddress
dst_addr
= 0;
36
};
37
38
}
// namespace bb::avm2::simulation
memory_types.hpp
bb::avm2::simulation
Definition
address_derivation.cpp:8
bb::avm2::simulation::DataCopyOperation
DataCopyOperation
Definition
data_copy_events.hpp:16
bb::avm2::simulation::DataCopyOperation::RD_COPY
@ RD_COPY
bb::avm2::simulation::DataCopyOperation::CD_COPY
@ CD_COPY
bb::avm2::MemoryAddress
uint32_t MemoryAddress
Definition
memory_types.hpp:11
std
STL namespace.
bb::avm2::simulation::DataCopyEvent
Definition
data_copy_events.hpp:21
bb::avm2::simulation::DataCopyEvent::data_size
uint32_t data_size
Definition
data_copy_events.hpp:32
bb::avm2::simulation::DataCopyEvent::data_offset
uint32_t data_offset
Definition
data_copy_events.hpp:29
bb::avm2::simulation::DataCopyEvent::calldata
std::vector< FF > calldata
Definition
data_copy_events.hpp:24
bb::avm2::simulation::DataCopyEvent::read_context_id
uint32_t read_context_id
Definition
data_copy_events.hpp:26
bb::avm2::simulation::DataCopyEvent::is_nested
bool is_nested
Definition
data_copy_events.hpp:33
bb::avm2::simulation::DataCopyEvent::operation
DataCopyOperation operation
Definition
data_copy_events.hpp:23
bb::avm2::simulation::DataCopyEvent::dst_addr
MemoryAddress dst_addr
Definition
data_copy_events.hpp:35
bb::avm2::simulation::DataCopyEvent::write_context_id
uint32_t write_context_id
Definition
data_copy_events.hpp:25
bb::avm2::simulation::DataCopyEvent::data_addr
MemoryAddress data_addr
Definition
data_copy_events.hpp:31
bb::avm2::simulation::DataCopyEvent::execution_clk
uint32_t execution_clk
Definition
data_copy_events.hpp:22
bb::avm2::simulation::DataCopyEvent::data_copy_size
uint32_t data_copy_size
Definition
data_copy_events.hpp:28
bb::avm2::simulation::DataCopyException
Definition
data_copy_events.hpp:10
bb::avm2::simulation::DataCopyException::DataCopyException
DataCopyException()
Definition
data_copy_events.hpp:11
field.hpp
src
barretenberg
vm2
simulation
events
data_copy_events.hpp
Generated by
1.9.8