|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <gas_tracker.hpp>
Public Member Functions | |
| GasTracker (GasEvent &gas_event, const Instruction &instruction, const InstructionInfoDBInterface &instruction_info_db, ContextInterface &context, GreaterThanInterface &greater_than) | |
| void | consume_gas (const Gas &dynamic_gas_factor={ 0, 0 }) override |
| Consumes gas for the current instruction. | |
| Gas | compute_gas_limit_for_call (const Gas &allocated_gas) override |
| Computes the gas limit for a call (CALL and STATICCALL opcodes) as the minimum between the gas allocated to the call by the user, and the gas left. This applies to both gas dimensions independently. This method does not emit a gas event. | |
Public Member Functions inherited from bb::avm2::simulation::GasTrackerInterface | |
| virtual | ~GasTrackerInterface ()=default |
Private Attributes | |
| ContextInterface & | context |
| const ExecInstructionSpec & | spec |
| GreaterThanInterface & | greater_than |
| GasEvent & | gas_event |
Definition at line 14 of file gas_tracker.hpp.
| bb::avm2::simulation::GasTracker::GasTracker | ( | GasEvent & | gas_event, |
| const Instruction & | instruction, | ||
| const InstructionInfoDBInterface & | instruction_info_db, | ||
| ContextInterface & | context, | ||
| GreaterThanInterface & | greater_than | ||
| ) |
Definition at line 46 of file gas_tracker.cpp.
|
overridevirtual |
Computes the gas limit for a call (CALL and STATICCALL opcodes) as the minimum between the gas allocated to the call by the user, and the gas left. This applies to both gas dimensions independently. This method does not emit a gas event.
| allocated_gas | The allocated gas. |
Implements bb::avm2::simulation::GasTrackerInterface.
Definition at line 112 of file gas_tracker.cpp.
|
overridevirtual |
Consumes gas for the current instruction.
| dynamic_gas_factor | The dynamic gas factor. Defaults to { 0, 0 } if not provided. |
| OutOfGasException | if the gas is depleted. |
Implements bb::avm2::simulation::GasTrackerInterface.
Definition at line 65 of file gas_tracker.cpp.
|
private |
Definition at line 26 of file gas_tracker.hpp.
|
private |
Definition at line 29 of file gas_tracker.hpp.
|
private |
Definition at line 28 of file gas_tracker.hpp.
|
private |
Definition at line 27 of file gas_tracker.hpp.