Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
context_helper.hpp
Go to the documentation of this file.
1#pragma once
2
25
26namespace bb::avm2::fuzzing {
27
28using namespace bb::avm2::simulation;
29
45 public:
47 bool is_static = false,
48 uint32_t start_clk = 0);
49 // Commonly used emitters:
54
55 // Commonly used gadgets:
60 // Side effect tracker:
62 // Memory provider:
64 // Context provider:
66 // Context:
69 AztecAddress msg_sender = AztecAddress(0),
70 bool is_static = false,
71 FF transaction_fee = FF(0),
73 Gas gas_limit = GAS_LIMIT,
74 Gas gas_used = GAS_USED_BY_PRIVATE,
76
78 AztecAddress msg_sender,
79 ContextInterface& parent_context,
80 bool is_static = false,
81 Gas gas_limit = GAS_LIMIT);
82
83 private:
84 // Emitters:
98
99 // Gadgets:
107
108 // Misc:
112};
113
114} // namespace bb::avm2::fuzzing
const Gas GAS_LIMIT
Definition constants.hpp:40
const Gas GAS_USED_BY_PRIVATE
Definition constants.hpp:35
Sets up gadgets and instance managers to provide a context for fuzzing. NOTE: rudimentary set up for ...
EventEmitter< IndexedTreeCheckEvent > indexed_tree_check_emitter
EventEmitter< BytecodeRetrievalEvent > bytecode_retrieval_emitter
EventEmitter< Poseidon2PermutationEvent > perm_event_emitter
EventEmitter< InternalCallStackEvent > internal_call_stack_emitter
RetrievedBytecodesTreeCheck retrieved_bytecodes_tree_check
DeduplicatingEventEmitter< GreaterThanEvent > greater_than_emitter
EventEmitter< Poseidon2PermutationMemoryEvent > perm_mem_event_emitter
EventEmitter< CalldataEvent > calldata_event_emitter
std::unique_ptr< simulation::ContextInterface > make_nested_fuzzing_context(AztecAddress address, AztecAddress msg_sender, ContextInterface &parent_context, bool is_static=false, Gas gas_limit=GAS_LIMIT)
std::unique_ptr< TxBytecodeManager > tx_bytecode_manager
EventEmitter< Poseidon2HashEvent > hash_event_emitter
EventEmitter< MerkleCheckEvent > merkle_check_emitter
EventEmitter< BytecodeDecompositionEvent > bytecode_decomposition_emitter
EventEmitter< ContractInstanceRetrievalEvent > contract_instance_retrieval_emitter
EventEmitter< BytecodeHashingEvent > bytecode_hashing_emitter
std::unique_ptr< simulation::ContextInterface > make_enqueued_fuzzing_context(AztecAddress address=AztecAddress(0), AztecAddress msg_sender=AztecAddress(0), bool is_static=false, FF transaction_fee=FF(0), std::span< const FF > calldata={}, Gas gas_limit=GAS_LIMIT, Gas gas_used=GAS_USED_BY_PRIVATE, TransactionPhase phase=TransactionPhase::APP_LOGIC)
DeduplicatingEventEmitter< RangeCheckEvent > range_check_emitter
DeduplicatingEventEmitter< FieldGreaterThanEvent > field_gt_emitter
WrittenPublicDataSlotsTreeCheck written_public_data_slots_tree_check
EventEmitter< UpdateCheckEvent > update_check_emitter
std::unique_ptr< simulation::ContextProvider > context_provider
DeduplicatingEventEmitter< InstructionFetchingEvent > instruction_fetching_emitter
AVM range check gadget for witness generation.
AvmFlavorSettings::FF FF
Definition field.hpp:10
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13