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 const AztecAddress& msg_sender,
40 const FF& transaction_fee,
41 ContextInterface& parent_context,
42 MemoryAddress cd_offset_address,
43 uint32_t cd_size,
44 bool is_static,
45 const Gas& gas_limit,
46 TransactionPhase phase) override;
48 const AztecAddress& msg_sender,
49 const FF& transaction_fee,
51 const FF& calldata_hash,
52 bool is_static,
53 const Gas& gas_limit,
54 const Gas& gas_used,
55 TransactionPhase phase) override;
56 uint32_t get_next_context_id() const override;
57
58 private:
59 uint32_t next_context_id = 1; // 0 is reserved to denote the parent of a top level context
60
70};
71
72} // namespace bb::avm2::simulation
CalldataHashingProviderInterface & cd_hash_provider
WrittenPublicDataSlotsTreeCheckInterface & written_public_data_slots_tree
std::unique_ptr< ContextInterface > make_enqueued_context(const AztecAddress &address, const AztecAddress &msg_sender, const FF &transaction_fee, std::span< const FF > calldata, const FF &calldata_hash, bool is_static, const Gas &gas_limit, const Gas &gas_used, TransactionPhase phase) override
RetrievedBytecodesTreeCheckInterface & retrieved_bytecodes_tree
SideEffectTrackerInterface & side_effect_tracker
InternalCallStackManagerProviderInterface & internal_call_stack_manager_provider
std::unique_ptr< ContextInterface > make_nested_context(const AztecAddress &address, const AztecAddress &msg_sender, const FF &transaction_fee, ContextInterface &parent_context, MemoryAddress cd_offset_address, uint32_t cd_size, bool is_static, const 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
uint32_t MemoryAddress
AvmFlavorSettings::FF FF
Definition field.hpp:10
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13