Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
context_provider.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <span>
5
14
15namespace bb::avm2::simulation {
16
18 public:
39 AztecAddress msg_sender,
40 FF transaction_fee,
41 ContextInterface& parent_context,
42 MemoryAddress cd_offset_address,
43 MemoryAddress cd_size_address,
44 bool is_static,
45 Gas gas_limit,
46 TransactionPhase phase) override;
48 AztecAddress msg_sender,
49 FF transaction_fee,
51 bool is_static,
52 Gas gas_limit,
53 Gas gas_used,
54 TransactionPhase phase) override;
55 uint32_t get_next_context_id() const override;
56
57 private:
58 uint32_t next_context_id = 1; // 0 is reserved to denote the parent of a top level context
59
69};
70
71} // namespace bb::avm2::simulation
CalldataHashingProviderInterface & cd_hash_provider
WrittenPublicDataSlotsTreeCheckInterface & written_public_data_slots_tree
RetrievedBytecodesTreeCheckInterface & retrieved_bytecodes_tree
SideEffectTrackerInterface & side_effect_tracker
InternalCallStackManagerProviderInterface & internal_call_stack_manager_provider
std::unique_ptr< ContextInterface > make_nested_context(AztecAddress address, AztecAddress msg_sender, FF transaction_fee, ContextInterface &parent_context, MemoryAddress cd_offset_address, MemoryAddress cd_size_address, bool is_static, Gas gas_limit, TransactionPhase phase) override
ContextProvider(TxBytecodeManagerInterface &tx_bytecode_manager, MemoryProviderInterface &memory_provider, CalldataHashingProviderInterface &cd_hash_provider, InternalCallStackManagerProviderInterface &internal_call_stack_manager_provider, HighLevelMerkleDBInterface &merkle_db, WrittenPublicDataSlotsTreeCheckInterface &written_public_data_slots_tree, RetrievedBytecodesTreeCheckInterface &retrieved_bytecodes_tree, SideEffectTrackerInterface &side_effect_tracker, const GlobalVariables &global_variables)
MemoryProviderInterface & memory_provider
uint32_t get_next_context_id() const override
TxBytecodeManagerInterface & tx_bytecode_manager
HighLevelMerkleDBInterface & merkle_db
std::unique_ptr< ContextInterface > make_enqueued_context(AztecAddress address, AztecAddress msg_sender, FF transaction_fee, std::span< const FF > calldata, bool is_static, Gas gas_limit, Gas gas_used, TransactionPhase phase) override
uint32_t MemoryAddress
AvmFlavorSettings::FF FF
Definition field.hpp:10
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13