|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <bytecode_trace.hpp>
Public Member Functions | |
| void | process_hashing (const simulation::EventEmitterInterface< simulation::BytecodeHashingEvent >::Container &events, TraceContainer &trace) |
| void | process_retrieval (const simulation::EventEmitterInterface< simulation::BytecodeRetrievalEvent >::Container &events, TraceContainer &trace) |
| void | process_decomposition (const simulation::EventEmitterInterface< simulation::BytecodeDecompositionEvent >::Container &events, TraceContainer &trace) |
| Process bytecode decomposition events and populate the relevant columns in the trace. Corresponds to bc_decomposition.pil. | |
| void | process_instruction_fetching (const simulation::EventEmitterInterface< simulation::InstructionFetchingEvent >::Container &events, TraceContainer &trace) |
Static Public Attributes | |
| static const InteractionDefinition | interactions |
Definition at line 13 of file bytecode_trace.hpp.
| void bb::avm2::tracegen::BytecodeTraceBuilder::process_decomposition | ( | const simulation::EventEmitterInterface< simulation::BytecodeDecompositionEvent >::Container & | events, |
| TraceContainer & | trace | ||
| ) |
Process bytecode decomposition events and populate the relevant columns in the trace. Corresponds to bc_decomposition.pil.
This trace is non memory-aware and does not handle any errors. It populates the columns with bytecode values in a stream or 'sliding window' of DECOMPOSE_WINDOW_SIZE = MAX_INSTRUCTION_SIZE = 37 individual bytes, range checking each byte. It enforces the size of the bytecode by decrementing the bytes_remaining counter. The trace additionally constrains the bytecode as fields by packing in 31 byte segments. These fields are used by the hashing trace to enforce correctness of the bytecode id (= hashed public bytecode commitment).
| events | The container of bytecode decomposition events to process. |
| trace | The trace container. |
Definition at line 37 of file bytecode_trace.cpp.
| void bb::avm2::tracegen::BytecodeTraceBuilder::process_hashing | ( | const simulation::EventEmitterInterface< simulation::BytecodeHashingEvent >::Container & | events, |
| TraceContainer & | trace | ||
| ) |
Definition at line 172 of file bytecode_trace.cpp.
| void bb::avm2::tracegen::BytecodeTraceBuilder::process_instruction_fetching | ( | const simulation::EventEmitterInterface< simulation::InstructionFetchingEvent >::Container & | events, |
| TraceContainer & | trace | ||
| ) |
Definition at line 293 of file bytecode_trace.cpp.
| void bb::avm2::tracegen::BytecodeTraceBuilder::process_retrieval | ( | const simulation::EventEmitterInterface< simulation::BytecodeRetrievalEvent >::Container & | events, |
| TraceContainer & | trace | ||
| ) |
Definition at line 237 of file bytecode_trace.cpp.
|
static |
Definition at line 30 of file bytecode_trace.hpp.