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

#include <execution_components.hpp>

Inheritance diagram for bb::avm2::simulation::ExecutionComponentsProvider:
bb::avm2::simulation::ExecutionComponentsProviderInterface

Public Member Functions

 ExecutionComponentsProvider (GreaterThanInterface &greater_than, const InstructionInfoDBInterface &instruction_info_db)
 
std::unique_ptr< AddressingInterfacemake_addressing (AddressingEvent &event) override
 Create an addressing resolver that writes its resolution results into the given event.
 
std::unique_ptr< GasTrackerInterfacemake_gas_tracker (GasEvent &gas_event, const Instruction &instruction, ContextInterface &context) override
 Create a gas tracker bound to the given event, instruction, and context.
 
- Public Member Functions inherited from bb::avm2::simulation::ExecutionComponentsProviderInterface
virtual ~ExecutionComponentsProviderInterface ()=default
 

Private Attributes

GreaterThanInterfacegreater_than
 
const InstructionInfoDBInterfaceinstruction_info_db
 
std::vector< std::unique_ptr< EventEmitterInterface< AddressingEvent > > > addressing_event_emitters
 

Detailed Description

Definition at line 13 of file execution_components.hpp.

Constructor & Destructor Documentation

◆ ExecutionComponentsProvider()

bb::avm2::simulation::ExecutionComponentsProvider::ExecutionComponentsProvider ( GreaterThanInterface greater_than,
const InstructionInfoDBInterface instruction_info_db 
)
inline

Definition at line 15 of file execution_components.hpp.

Member Function Documentation

◆ make_addressing()

std::unique_ptr< AddressingInterface > bb::avm2::simulation::ExecutionComponentsProvider::make_addressing ( AddressingEvent event)
overridevirtual

Create an addressing resolver that writes its resolution results into the given event.

Parameters
eventThe addressing event to populate during resolution.
Returns
A unique pointer to the addressing interface.

Implements bb::avm2::simulation::ExecutionComponentsProviderInterface.

Definition at line 16 of file execution_components.cpp.

◆ make_gas_tracker()

std::unique_ptr< GasTrackerInterface > bb::avm2::simulation::ExecutionComponentsProvider::make_gas_tracker ( GasEvent gas_event,
const Instruction instruction,
ContextInterface context 
)
overridevirtual

Create a gas tracker bound to the given event, instruction, and context.

Parameters
gas_eventThe gas event to populate during gas consumption.
instructionThe current instruction (for gas cost lookup).
contextThe execution context (for gas limits and usage).
Returns
A unique pointer to the gas tracker interface.

Implements bb::avm2::simulation::ExecutionComponentsProviderInterface.

Definition at line 32 of file execution_components.cpp.

Member Data Documentation

◆ addressing_event_emitters

std::vector<std::unique_ptr<EventEmitterInterface<AddressingEvent> > > bb::avm2::simulation::ExecutionComponentsProvider::addressing_event_emitters
private

Definition at line 32 of file execution_components.hpp.

◆ greater_than

GreaterThanInterface& bb::avm2::simulation::ExecutionComponentsProvider::greater_than
private

Definition at line 27 of file execution_components.hpp.

◆ instruction_info_db

const InstructionInfoDBInterface& bb::avm2::simulation::ExecutionComponentsProvider::instruction_info_db
private

Definition at line 28 of file execution_components.hpp.


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