28 :
std::runtime_error(message)
34 :
std::runtime_error(message)
TxBytecodeManagerInterface & tx_bytecode_manager
Instruction read_instruction(uint32_t pc) override
BytecodeId get_bytecode_id() override
BytecodeManager(AztecAddress address, TxBytecodeManagerInterface &tx_bytecode_manager)
std::optional< BytecodeId > bytecode_id
std::optional< BytecodeId > try_get_bytecode_id() override
virtual ~BytecodeManagerInterface()=default
virtual BytecodeId get_bytecode_id()=0
virtual Instruction read_instruction(uint32_t pc)=0
virtual std::optional< BytecodeId > try_get_bytecode_id()=0
Core shared component for contract instance retrieval and validation.
HighLevelMerkleDBInterface & merkle_db
EventEmitterInterface< BytecodeDecompositionEvent > & decomposition_events
EventEmitterInterface< BytecodeRetrievalEvent > & retrieval_events
EventEmitterInterface< InstructionFetchingEvent > & fetching_events
unordered_flat_map< BytecodeId, std::shared_ptr< std::vector< uint8_t > > > bytecodes
TxBytecodeManager(ContractDBInterface &contract_db, HighLevelMerkleDBInterface &merkle_db, BytecodeHashingInterface &bytecode_hasher, RangeCheckInterface &range_check, ContractInstanceManagerInterface &contract_instance_manager, EventEmitterInterface< BytecodeRetrievalEvent > &retrieval_events, EventEmitterInterface< BytecodeDecompositionEvent > &decomposition_events, EventEmitterInterface< InstructionFetchingEvent > &fetching_events)
ContractDBInterface & contract_db
BytecodeHashingInterface & bytecode_hasher
RangeCheckInterface & range_check
ContractInstanceManagerInterface & contract_instance_manager
Instruction read_instruction(BytecodeId bytecode_id, uint32_t pc) override
BytecodeId get_bytecode(const AztecAddress &address) override
virtual ~TxBytecodeManagerInterface()=default
virtual Instruction read_instruction(BytecodeId bytecode_id, uint32_t pc)=0
virtual BytecodeId get_bytecode(const AztecAddress &address)=0
::ankerl::unordered_dense::map< Key, T > unordered_flat_map
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
BytecodeNotFoundError(const std::string &message)
InstructionFetchingError(const std::string &message)