|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <merkle_check_trace.hpp>
Public Member Functions | |
| void | process (const simulation::EventEmitterInterface< simulation::MerkleCheckEvent >::Container &events, TraceContainer &trace) |
Trace generation for the MerkleCheck gadget. It handles both READ and WRITE MerkleCheck events. While MerkleCheckEvent does not explicitly state whether it is a READ or WRITE event, the distinction is inferred from the presence of the new_leaf_value field (std::optional<FF>). | |
Static Public Attributes | |
| static const InteractionDefinition | interactions |
Definition at line 10 of file merkle_check_trace.hpp.
| void bb::avm2::tracegen::MerkleCheckTraceBuilder::process | ( | const simulation::EventEmitterInterface< simulation::MerkleCheckEvent >::Container & | events, |
| TraceContainer & | trace | ||
| ) |
Trace generation for the MerkleCheck gadget. It handles both READ and WRITE MerkleCheck events. While MerkleCheckEvent does not explicitly state whether it is a READ or WRITE event, the distinction is inferred from the presence of the new_leaf_value field (std::optional<FF>).
new_leaf_value and new_root are either both present or both absent. Additionally, root and new_root must be correct according to the sibling path, the leaf value, the leaf index and the new leaf value. Any violation such as a sibling path being too short will cause a circuit completeness issue. Simulation gadgets must guarantee the above consistency.| events | The MerkleCheck events to process. |
| trace | The trace to write to. |
Definition at line 30 of file merkle_check_trace.cpp.
|
static |
Definition at line 15 of file merkle_check_trace.hpp.