Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
execution_trace.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <span>
5#include <vector>
6
16
17namespace bb::avm2::tracegen {
18
20 public:
23
24 // Public for testing.
26 void process_execution_spec(const simulation::ExecutionEvent& ex_event, TraceContainer& trace, uint32_t row);
28 ExecutionOpCode exec_opcode,
30 uint32_t row);
34 uint32_t row);
36 // Sets global register information and reads.
37 void process_registers(ExecutionOpCode exec_opcode,
39 const MemoryValue& output,
42 uint32_t row);
43 // Sets the writes.
44 void process_registers_write(ExecutionOpCode exec_opcode, TraceContainer& trace, uint32_t row);
46 MemoryValue output,
48 uint32_t row);
49
51};
52
53} // namespace bb::avm2::tracegen
void process_execution_spec(const simulation::ExecutionEvent &ex_event, TraceContainer &trace, uint32_t row)
void process_instr_fetching(const simulation::Instruction &instruction, TraceContainer &trace, uint32_t row)
static const InteractionDefinition interactions
void process_get_env_var_opcode(simulation::Operand envvar_enum, MemoryValue output, TraceContainer &trace, uint32_t row)
void process_registers(ExecutionOpCode exec_opcode, const std::vector< MemoryValue > &inputs, const MemoryValue &output, std::span< MemoryValue > registers, TraceContainer &trace, uint32_t row)
void process_registers_write(ExecutionOpCode exec_opcode, TraceContainer &trace, uint32_t row)
void process_gas(const simulation::GasEvent &gas_event, ExecutionOpCode exec_opcode, TraceContainer &trace, uint32_t row)
void process(const simulation::EventEmitterInterface< simulation::ExecutionEvent >::Container &ex_events, TraceContainer &trace)
void process_addressing(const simulation::AddressingEvent &addr_event, const simulation::Instruction &instruction, TraceContainer &trace, uint32_t row)
TestTraceContainer trace
GasEvent gas_event
Instruction instruction
AvmProvingInputs inputs
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13