54 std::shared_ptr<std::vector<uint8_t>> bytecode_ptr,
55 uint32_t pc)
override;
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 > get_retrieved_bytecode_id() override
std::shared_ptr< std::vector< uint8_t > > bytecode_ptr
Core shared component for contract instance retrieval and validation.
HighLevelMerkleDBInterface & merkle_db
EventEmitterInterface< BytecodeDecompositionEvent > & decomposition_events
RetrievedBytecodesTreeCheckInterface & retrieved_bytecodes_tree_check
EventEmitterInterface< BytecodeRetrievalEvent > & retrieval_events
EventEmitterInterface< InstructionFetchingEvent > & fetching_events
unordered_flat_map< BytecodeId, std::shared_ptr< std::vector< uint8_t > > > bytecodes
std::shared_ptr< std::vector< uint8_t > > get_bytecode_data(const BytecodeId &bytecode_id) override
ContractDBInterface & contract_db
BytecodeHashingInterface & bytecode_hasher
RangeCheckInterface & range_check
ContractInstanceManagerInterface & contract_instance_manager
TxBytecodeManager(ContractDBInterface &contract_db, HighLevelMerkleDBInterface &merkle_db, BytecodeHashingInterface &bytecode_hasher, RangeCheckInterface &range_check, ContractInstanceManagerInterface &contract_instance_manager, RetrievedBytecodesTreeCheckInterface &retrieved_bytecodes_tree_check, EventEmitterInterface< BytecodeRetrievalEvent > &retrieval_events, EventEmitterInterface< BytecodeDecompositionEvent > &decomposition_events, EventEmitterInterface< InstructionFetchingEvent > &fetching_events)
BytecodeId get_bytecode(const AztecAddress &address) override
Instruction read_instruction(const BytecodeId &bytecode_id, uint32_t pc) override
virtual Instruction read_instruction(const BytecodeId &bytecode_id, uint32_t pc)=0
virtual BytecodeId get_bytecode(const AztecAddress &address)=0
virtual std::shared_ptr< std::vector< uint8_t > > get_bytecode_data(const BytecodeId &bytecode_id)=0
::ankerl::unordered_dense::map< Key, T > unordered_flat_map
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept