Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::simulation::ContextProvider Class Reference

#include <context_provider.hpp>

Inheritance diagram for bb::avm2::simulation::ContextProvider:
bb::avm2::simulation::ContextProviderInterface

Public Member Functions

 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, const GlobalVariables &global_variables)
 
std::unique_ptr< ContextInterfacemake_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
 
std::unique_ptr< ContextInterfacemake_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
 
uint32_t get_next_context_id () const override
 
- Public Member Functions inherited from bb::avm2::simulation::ContextProviderInterface
virtual ~ContextProviderInterface ()=default
 

Private Attributes

uint32_t next_context_id = 1
 
TxBytecodeManagerInterfacetx_bytecode_manager
 
MemoryProviderInterfacememory_provider
 
CalldataHashingProviderInterfacecd_hash_provider
 
InternalCallStackManagerProviderInterfaceinternal_call_stack_manager_provider
 
HighLevelMerkleDBInterfacemerkle_db
 
WrittenPublicDataSlotsTreeCheckInterfacewritten_public_data_slots_tree
 
const GlobalVariablesglobal_variables
 

Detailed Description

Definition at line 45 of file context_provider.hpp.

Constructor & Destructor Documentation

◆ ContextProvider()

bb::avm2::simulation::ContextProvider::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,
const GlobalVariables global_variables 
)
inline

Definition at line 47 of file context_provider.hpp.

Member Function Documentation

◆ get_next_context_id()

uint32_t bb::avm2::simulation::ContextProvider::get_next_context_id ( ) const
overridevirtual

◆ make_enqueued_context()

std::unique_ptr< ContextInterface > bb::avm2::simulation::ContextProvider::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 
)
overridevirtual

◆ make_nested_context()

std::unique_ptr< ContextInterface > bb::avm2::simulation::ContextProvider::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 
)
overridevirtual

Member Data Documentation

◆ cd_hash_provider

CalldataHashingProviderInterface& bb::avm2::simulation::ContextProvider::cd_hash_provider
private

Definition at line 88 of file context_provider.hpp.

◆ global_variables

const GlobalVariables& bb::avm2::simulation::ContextProvider::global_variables
private

Definition at line 92 of file context_provider.hpp.

◆ internal_call_stack_manager_provider

InternalCallStackManagerProviderInterface& bb::avm2::simulation::ContextProvider::internal_call_stack_manager_provider
private

Definition at line 89 of file context_provider.hpp.

◆ memory_provider

MemoryProviderInterface& bb::avm2::simulation::ContextProvider::memory_provider
private

Definition at line 87 of file context_provider.hpp.

◆ merkle_db

HighLevelMerkleDBInterface& bb::avm2::simulation::ContextProvider::merkle_db
private

Definition at line 90 of file context_provider.hpp.

◆ next_context_id

uint32_t bb::avm2::simulation::ContextProvider::next_context_id = 1
private

Definition at line 84 of file context_provider.hpp.

◆ tx_bytecode_manager

TxBytecodeManagerInterface& bb::avm2::simulation::ContextProvider::tx_bytecode_manager
private

Definition at line 86 of file context_provider.hpp.

◆ written_public_data_slots_tree

WrittenPublicDataSlotsTreeCheckInterface& bb::avm2::simulation::ContextProvider::written_public_data_slots_tree
private

Definition at line 91 of file context_provider.hpp.


The documentation for this class was generated from the following files: