#include <pure_bytecode_manager.hpp>
Definition at line 23 of file pure_bytecode_manager.hpp.
◆ InstructionIdentifier
◆ PureTxBytecodeManager()
◆ ~PureTxBytecodeManager()
| bb::avm2::simulation::PureTxBytecodeManager::~PureTxBytecodeManager |
( |
| ) |
|
|
override |
◆ get_bytecode()
Retrieves and validates bytecode from the PureTxBytecodeManager's ContractDBInterface.
If we have not yet processed the gathered bytecode instance, we store the packed bytecode in the flat map bytecodes against the class id.
- Exceptions
-
| BytecodeRetrievalError | if
- the contract at the given address is not deployed
- we have reached the limit of the number of bytecodes to retrieve for this tx
|
| Unexpected | exception if
- the contract class for the retrieved instance does not exist Note: the deployer contract guarantees that if we have a deployed instance, its contract class must exist. If the contract is not deployed, this is caught by the above BytecodeRetrievalError.
|
- Parameters
-
| address | The address of the contract instance to retrieve bytecode for. |
- Returns
- The id (=class_id here) of the bytecode.
Implements bb::avm2::simulation::TxBytecodeManagerInterface.
Definition at line 51 of file pure_bytecode_manager.cpp.
◆ get_bytecode_data()
| std::shared_ptr< std::vector< uint8_t > > bb::avm2::simulation::PureTxBytecodeManager::get_bytecode_data |
( |
const BytecodeId & |
bytecode_id | ) |
|
|
overridevirtual |
◆ read_instruction() [1/2]
| Instruction bb::avm2::simulation::PureTxBytecodeManager::read_instruction |
( |
const BytecodeId & |
bytecode_id, |
|
|
PC |
pc |
|
) |
| |
|
overridevirtual |
◆ read_instruction() [2/2]
| Instruction bb::avm2::simulation::PureTxBytecodeManager::read_instruction |
( |
const BytecodeId & |
bytecode_id, |
|
|
std::shared_ptr< std::vector< uint8_t > > |
bytecode_ptr, |
|
|
PC |
pc |
|
) |
| |
|
overridevirtual |
◆ bytecodes
◆ contract_db
◆ contract_instance_manager
◆ instruction_cache
◆ retrieved_class_ids
The documentation for this class was generated from the following files: