Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
contract_instance_manager.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
barretenberg/vm2/common/aztec_types.hpp
"
4
#include "
barretenberg/vm2/common/field.hpp
"
5
#include "
barretenberg/vm2/simulation/events/contract_instance_retrieval_event.hpp
"
6
#include "
barretenberg/vm2/simulation/events/event_emitter.hpp
"
7
#include "
barretenberg/vm2/simulation/gadgets/address_derivation.hpp
"
8
#include "
barretenberg/vm2/simulation/gadgets/update_check.hpp
"
9
#include "
barretenberg/vm2/simulation/interfaces/contract_instance_manager.hpp
"
10
#include "
barretenberg/vm2/simulation/interfaces/db.hpp
"
11
12
namespace
bb::avm2::simulation
{
13
14
class
ContractInstanceManager
:
public
ContractInstanceManagerInterface
{
15
public
:
16
ContractInstanceManager
(
ContractDBInterface
&
contract_db
,
17
HighLevelMerkleDBInterface
&
merkle_db
,
18
UpdateCheckInterface
&
update_check
,
19
FieldGreaterThanInterface
&
ff_gt
,
20
const
ProtocolContracts
&
protocol_contracts
,
21
EventEmitterInterface<ContractInstanceRetrievalEvent>
&
event_emitter
);
22
23
std::optional<ContractInstance>
get_contract_instance
(
const
FF
&
contract_address
)
override
;
24
25
private
:
26
ContractDBInterface
&
contract_db
;
27
HighLevelMerkleDBInterface
&
merkle_db
;
28
UpdateCheckInterface
&
update_check
;
29
const
ProtocolContracts
&
protocol_contracts
;
30
FieldGreaterThanInterface
&
ff_gt
;
31
EventEmitterInterface<ContractInstanceRetrievalEvent>
&
event_emitter
;
32
};
33
34
}
// namespace bb::avm2::simulation
aztec_types.hpp
bb::avm2::ff_gt
Definition
ff_gt.hpp:35
bb::avm2::get_contract_instance
Definition
get_contract_instance.hpp:33
bb::avm2::simulation::ContractDBInterface
Definition
db.hpp:17
bb::avm2::simulation::ContractInstanceManager
Definition
contract_instance_manager.hpp:14
bb::avm2::simulation::ContractInstanceManager::merkle_db
HighLevelMerkleDBInterface & merkle_db
Definition
contract_instance_manager.hpp:27
bb::avm2::simulation::ContractInstanceManager::ff_gt
FieldGreaterThanInterface & ff_gt
Definition
contract_instance_manager.hpp:30
bb::avm2::simulation::ContractInstanceManager::update_check
UpdateCheckInterface & update_check
Definition
contract_instance_manager.hpp:28
bb::avm2::simulation::ContractInstanceManager::contract_db
ContractDBInterface & contract_db
Definition
contract_instance_manager.hpp:26
bb::avm2::simulation::ContractInstanceManager::event_emitter
EventEmitterInterface< ContractInstanceRetrievalEvent > & event_emitter
Definition
contract_instance_manager.hpp:31
bb::avm2::simulation::ContractInstanceManager::protocol_contracts
const ProtocolContracts & protocol_contracts
Definition
contract_instance_manager.hpp:29
bb::avm2::simulation::ContractInstanceManagerInterface
Core shared component for contract instance retrieval and validation.
Definition
contract_instance_manager.hpp:17
bb::avm2::simulation::EventEmitterInterface
Definition
event_emitter.hpp:11
bb::avm2::simulation::FieldGreaterThanInterface
Definition
field_gt.hpp:8
bb::avm2::simulation::HighLevelMerkleDBInterface
Definition
db.hpp:84
bb::avm2::simulation::UpdateCheckInterface
Definition
update_check.hpp:7
bb::avm2::update_check
Definition
update_check.hpp:34
contract_address
AztecAddress contract_address
Definition
written_public_data_slots_tree_check.test.cpp:97
contract_instance_retrieval_event.hpp
db.hpp
event_emitter.hpp
contract_instance_manager.hpp
bb::avm2::simulation
Definition
address_derivation_event.hpp:6
bb::avm2::FF
AvmFlavorSettings::FF FF
Definition
field.hpp:10
std::get
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition
tuple.hpp:13
address_derivation.hpp
update_check.hpp
bb::avm2::ProtocolContracts
Definition
aztec_types.hpp:588
field.hpp
src
barretenberg
vm2
simulation
gadgets
contract_instance_manager.hpp
Generated by
1.9.8