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
24
25namespace bb::avm2::fuzzing {
26
27using namespace bb::avm2::simulation;
28
44 public:
46 bool is_static = false,
47 uint32_t start_clk = 0);
48 // Commonly used emitters:
53
54 // Commonly used gadgets:
59 // Side effect tracker:
61 // Memory provider:
63 // Context provider:
65 // Context:
68 AztecAddress msg_sender = AztecAddress(0),
69 bool is_static = false,
70 FF transaction_fee = FF(0),
72 Gas gas_limit = GAS_LIMIT,
73 Gas gas_used = GAS_USED_BY_PRIVATE,
75
77 AztecAddress msg_sender,
78 ContextInterface& parent_context,
79 bool is_static = false,
80 Gas gas_limit = GAS_LIMIT);
81
82 private:
83 // Emitters:
97
98 // Gadgets:
105
106 // Misc:
110};
111
112} // 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