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

#include <context.hpp>

Inheritance diagram for bb::avm2::simulation::BaseContext:
bb::avm2::simulation::ContextInterface bb::avm2::simulation::EnqueuedCallContext bb::avm2::simulation::NestedContext

Public Member Functions

 BaseContext (uint32_t context_id, AztecAddress address, AztecAddress msg_sender, FF transaction_fee, bool is_static, Gas gas_limit, Gas gas_used, GlobalVariables globals, std::unique_ptr< BytecodeManagerInterface > bytecode, std::unique_ptr< MemoryInterface > memory, std::unique_ptr< InternalCallStackManagerInterface > internal_call_stack_manager, HighLevelMerkleDBInterface &merkle_db, WrittenPublicDataSlotsTreeCheckInterface &written_public_data_slots_tree, SideEffectStates side_effect_states, TransactionPhase phase)
 
uint32_t get_last_child_id () const override
 
MemoryInterfaceget_memory () override
 
BytecodeManagerInterfaceget_bytecode_manager () override
 
InternalCallStackManagerInterfaceget_internal_call_stack_manager () override
 
uint32_t get_pc () const override
 
void set_pc (uint32_t new_pc) override
 
uint32_t get_next_pc () const override
 
void set_next_pc (uint32_t new_next_pc) override
 
bool halted () const override
 
void halt () override
 
uint32_t get_context_id () const override
 
const AztecAddressget_address () const override
 
const AztecAddressget_msg_sender () const override
 
const FFget_transaction_fee () const override
 
bool get_is_static () const override
 
SideEffectStatesget_side_effect_states () override
 
void set_side_effect_states (SideEffectStates side_effect_states) override
 
TransactionPhase get_phase () const override
 
AppendOnlyTreeSnapshot get_written_public_data_slots_tree_snapshot () override
 
const GlobalVariablesget_globals () const override
 
ContextInterfaceget_child_context () override
 
void set_child_context (std::unique_ptr< ContextInterface > child_ctx) override
 
MemoryAddress get_last_rd_addr () const override
 
void set_last_rd_addr (MemoryAddress rd_addr) override
 
uint32_t get_last_rd_size () const override
 
void set_last_rd_size (MemoryAddress rd_size) override
 
bool get_last_success () const override
 
void set_last_success (bool success) override
 
Gas get_gas_used () const override
 
Gas get_gas_limit () const override
 
Gas gas_left () const override
 
void set_gas_used (Gas gas_used) override
 
uint32_t get_checkpoint_id_at_creation () const override
 
std::vector< FFget_returndata (uint32_t rd_offset, uint32_t rd_copy_size) override
 
- Public Member Functions inherited from bb::avm2::simulation::ContextInterface
virtual ~ContextInterface ()=default
 
virtual uint32_t get_parent_id () const =0
 
virtual bool has_parent () const =0
 
virtual std::vector< FFget_calldata (uint32_t cd_offset, uint32_t cd_size) const =0
 
virtual MemoryAddress get_parent_cd_addr () const =0
 
virtual uint32_t get_parent_cd_size () const =0
 
virtual Gas get_parent_gas_used () const =0
 
virtual Gas get_parent_gas_limit () const =0
 
virtual ContextEvent serialize_context_event ()=0
 

Protected Attributes

HighLevelMerkleDBInterfacemerkle_db
 
uint32_t checkpoint_id_at_creation
 
WrittenPublicDataSlotsTreeCheckInterfacewritten_public_data_slots_tree
 

Private Attributes

AztecAddress address
 
AztecAddress msg_sender
 
FF transaction_fee
 
bool is_static
 
GlobalVariables globals
 
SideEffectStates side_effect_states
 
uint32_t context_id
 
uint32_t pc = 0
 
uint32_t next_pc = 0
 
bool has_halted = false
 
Gas gas_used
 
Gas gas_limit
 
std::unique_ptr< BytecodeManagerInterfacebytecode
 
std::unique_ptr< MemoryInterfacememory
 
std::unique_ptr< InternalCallStackManagerInterfaceinternal_call_stack_manager
 
std::unique_ptr< ContextInterfacechild_context = nullptr
 
MemoryAddress last_child_rd_addr = 0
 
MemoryAddress last_child_rd_size = 0
 
bool last_child_success = false
 
TransactionPhase phase
 

Detailed Description

Definition at line 90 of file context.hpp.

Constructor & Destructor Documentation

◆ BaseContext()

bb::avm2::simulation::BaseContext::BaseContext ( uint32_t  context_id,
AztecAddress  address,
AztecAddress  msg_sender,
FF  transaction_fee,
bool  is_static,
Gas  gas_limit,
Gas  gas_used,
GlobalVariables  globals,
std::unique_ptr< BytecodeManagerInterface bytecode,
std::unique_ptr< MemoryInterface memory,
std::unique_ptr< InternalCallStackManagerInterface internal_call_stack_manager,
HighLevelMerkleDBInterface merkle_db,
WrittenPublicDataSlotsTreeCheckInterface written_public_data_slots_tree,
SideEffectStates  side_effect_states,
TransactionPhase  phase 
)
inline

Definition at line 92 of file context.hpp.

Member Function Documentation

◆ gas_left()

Gas bb::avm2::simulation::BaseContext::gas_left ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 182 of file context.hpp.

◆ get_address()

const AztecAddress & bb::avm2::simulation::BaseContext::get_address ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 146 of file context.hpp.

◆ get_bytecode_manager()

BytecodeManagerInterface & bb::avm2::simulation::BaseContext::get_bytecode_manager ( )
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 130 of file context.hpp.

◆ get_checkpoint_id_at_creation()

uint32_t bb::avm2::simulation::BaseContext::get_checkpoint_id_at_creation ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 186 of file context.hpp.

◆ get_child_context()

ContextInterface & bb::avm2::simulation::BaseContext::get_child_context ( )
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 164 of file context.hpp.

◆ get_context_id()

uint32_t bb::avm2::simulation::BaseContext::get_context_id ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 143 of file context.hpp.

◆ get_gas_limit()

Gas bb::avm2::simulation::BaseContext::get_gas_limit ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 180 of file context.hpp.

◆ get_gas_used()

Gas bb::avm2::simulation::BaseContext::get_gas_used ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 179 of file context.hpp.

◆ get_globals()

const GlobalVariables & bb::avm2::simulation::BaseContext::get_globals ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 162 of file context.hpp.

◆ get_internal_call_stack_manager()

InternalCallStackManagerInterface & bb::avm2::simulation::BaseContext::get_internal_call_stack_manager ( )
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 131 of file context.hpp.

◆ get_is_static()

bool bb::avm2::simulation::BaseContext::get_is_static ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 149 of file context.hpp.

◆ get_last_child_id()

uint32_t bb::avm2::simulation::BaseContext::get_last_child_id ( ) const
overridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 36 of file context.cpp.

◆ get_last_rd_addr()

MemoryAddress bb::avm2::simulation::BaseContext::get_last_rd_addr ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 170 of file context.hpp.

◆ get_last_rd_size()

uint32_t bb::avm2::simulation::BaseContext::get_last_rd_size ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 173 of file context.hpp.

◆ get_last_success()

bool bb::avm2::simulation::BaseContext::get_last_success ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 176 of file context.hpp.

◆ get_memory()

MemoryInterface & bb::avm2::simulation::BaseContext::get_memory ( )
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 129 of file context.hpp.

◆ get_msg_sender()

const AztecAddress & bb::avm2::simulation::BaseContext::get_msg_sender ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 147 of file context.hpp.

◆ get_next_pc()

uint32_t bb::avm2::simulation::BaseContext::get_next_pc ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 138 of file context.hpp.

◆ get_pc()

uint32_t bb::avm2::simulation::BaseContext::get_pc ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 136 of file context.hpp.

◆ get_phase()

TransactionPhase bb::avm2::simulation::BaseContext::get_phase ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 156 of file context.hpp.

◆ get_returndata()

std::vector< FF > bb::avm2::simulation::BaseContext::get_returndata ( uint32_t  rd_offset,
uint32_t  rd_copy_size 
)
overridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 15 of file context.cpp.

◆ get_side_effect_states()

SideEffectStates & bb::avm2::simulation::BaseContext::get_side_effect_states ( )
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 150 of file context.hpp.

◆ get_transaction_fee()

const FF & bb::avm2::simulation::BaseContext::get_transaction_fee ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 148 of file context.hpp.

◆ get_written_public_data_slots_tree_snapshot()

AppendOnlyTreeSnapshot bb::avm2::simulation::BaseContext::get_written_public_data_slots_tree_snapshot ( )
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 158 of file context.hpp.

◆ halt()

void bb::avm2::simulation::BaseContext::halt ( )
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 141 of file context.hpp.

◆ halted()

bool bb::avm2::simulation::BaseContext::halted ( ) const
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 140 of file context.hpp.

◆ set_child_context()

void bb::avm2::simulation::BaseContext::set_child_context ( std::unique_ptr< ContextInterface child_ctx)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 165 of file context.hpp.

◆ set_gas_used()

void bb::avm2::simulation::BaseContext::set_gas_used ( Gas  gas_used)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 184 of file context.hpp.

◆ set_last_rd_addr()

void bb::avm2::simulation::BaseContext::set_last_rd_addr ( MemoryAddress  rd_addr)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 171 of file context.hpp.

◆ set_last_rd_size()

void bb::avm2::simulation::BaseContext::set_last_rd_size ( MemoryAddress  rd_size)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 174 of file context.hpp.

◆ set_last_success()

void bb::avm2::simulation::BaseContext::set_last_success ( bool  success)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 177 of file context.hpp.

◆ set_next_pc()

void bb::avm2::simulation::BaseContext::set_next_pc ( uint32_t  new_next_pc)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 139 of file context.hpp.

◆ set_pc()

void bb::avm2::simulation::BaseContext::set_pc ( uint32_t  new_pc)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 137 of file context.hpp.

◆ set_side_effect_states()

void bb::avm2::simulation::BaseContext::set_side_effect_states ( SideEffectStates  side_effect_states)
inlineoverridevirtual

Implements bb::avm2::simulation::ContextInterface.

Definition at line 151 of file context.hpp.

Member Data Documentation

◆ address

AztecAddress bb::avm2::simulation::BaseContext::address
private

Definition at line 198 of file context.hpp.

◆ bytecode

std::unique_ptr<BytecodeManagerInterface> bb::avm2::simulation::BaseContext::bytecode
private

Definition at line 213 of file context.hpp.

◆ checkpoint_id_at_creation

uint32_t bb::avm2::simulation::BaseContext::checkpoint_id_at_creation
protected

Definition at line 193 of file context.hpp.

◆ child_context

std::unique_ptr<ContextInterface> bb::avm2::simulation::BaseContext::child_context = nullptr
private

Definition at line 218 of file context.hpp.

◆ context_id

uint32_t bb::avm2::simulation::BaseContext::context_id
private

Definition at line 205 of file context.hpp.

◆ gas_limit

Gas bb::avm2::simulation::BaseContext::gas_limit
private

Definition at line 212 of file context.hpp.

◆ gas_used

Gas bb::avm2::simulation::BaseContext::gas_used
private

Definition at line 211 of file context.hpp.

◆ globals

GlobalVariables bb::avm2::simulation::BaseContext::globals
private

Definition at line 202 of file context.hpp.

◆ has_halted

bool bb::avm2::simulation::BaseContext::has_halted = false
private

Definition at line 210 of file context.hpp.

◆ internal_call_stack_manager

std::unique_ptr<InternalCallStackManagerInterface> bb::avm2::simulation::BaseContext::internal_call_stack_manager
private

Definition at line 215 of file context.hpp.

◆ is_static

bool bb::avm2::simulation::BaseContext::is_static
private

Definition at line 201 of file context.hpp.

◆ last_child_rd_addr

MemoryAddress bb::avm2::simulation::BaseContext::last_child_rd_addr = 0
private

Definition at line 219 of file context.hpp.

◆ last_child_rd_size

MemoryAddress bb::avm2::simulation::BaseContext::last_child_rd_size = 0
private

Definition at line 220 of file context.hpp.

◆ last_child_success

bool bb::avm2::simulation::BaseContext::last_child_success = false
private

Definition at line 221 of file context.hpp.

◆ memory

std::unique_ptr<MemoryInterface> bb::avm2::simulation::BaseContext::memory
private

Definition at line 214 of file context.hpp.

◆ merkle_db

HighLevelMerkleDBInterface& bb::avm2::simulation::BaseContext::merkle_db
protected

Definition at line 192 of file context.hpp.

◆ msg_sender

AztecAddress bb::avm2::simulation::BaseContext::msg_sender
private

Definition at line 199 of file context.hpp.

◆ next_pc

uint32_t bb::avm2::simulation::BaseContext::next_pc = 0
private

Definition at line 209 of file context.hpp.

◆ pc

uint32_t bb::avm2::simulation::BaseContext::pc = 0
private

Definition at line 208 of file context.hpp.

◆ phase

TransactionPhase bb::avm2::simulation::BaseContext::phase
private

Definition at line 223 of file context.hpp.

◆ side_effect_states

SideEffectStates bb::avm2::simulation::BaseContext::side_effect_states
private

Definition at line 203 of file context.hpp.

◆ transaction_fee

FF bb::avm2::simulation::BaseContext::transaction_fee
private

Definition at line 200 of file context.hpp.

◆ written_public_data_slots_tree

WrittenPublicDataSlotsTreeCheckInterface& bb::avm2::simulation::BaseContext::written_public_data_slots_tree
protected

Definition at line 194 of file context.hpp.


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