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:
37 AztecAddress msg_sender,
38 FF transaction_fee,
39 ContextInterface& parent_context,
40 MemoryAddress cd_offset_address,
41 MemoryAddress cd_size_address,
42 bool is_static,
43 Gas gas_limit,
44 SideEffectStates side_effect_states,
45 TransactionPhase phase) override;
47 AztecAddress msg_sender,
48 FF transaction_fee,
50 bool is_static,
51 Gas gas_limit,
52 Gas gas_used,
53 SideEffectStates side_effect_states,
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
68};
69
70} // namespace bb::avm2::simulation
CalldataHashingProviderInterface & cd_hash_provider
WrittenPublicDataSlotsTreeCheckInterface & written_public_data_slots_tree
RetrievedBytecodesTreeCheckInterface & retrieved_bytecodes_tree
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, const GlobalVariables &global_variables)
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, SideEffectStates side_effect_states, TransactionPhase phase) override
MemoryProviderInterface & memory_provider
uint32_t get_next_context_id() const override
TxBytecodeManagerInterface & tx_bytecode_manager
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, SideEffectStates side_effect_states, TransactionPhase phase) override
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