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
struct
ContractInstanceNotFoundError
:
public
std::runtime_error {
15
ContractInstanceNotFoundError
(
AztecAddress
address
,
const
std::string& message)
16
:
std
::runtime_error(message)
17
,
address
(
address
)
18
{}
19
20
AztecAddress
address
;
21
};
22
23
class
ContractInstanceManager
:
public
ContractInstanceManagerInterface
{
24
public
:
25
ContractInstanceManager
(
ContractDBInterface
&
contract_db
,
26
HighLevelMerkleDBInterface
&
merkle_db
,
27
UpdateCheckInterface
&
update_check
,
28
FieldGreaterThanInterface
&
ff_gt
,
29
const
ProtocolContracts
&
protocol_contracts
,
30
EventEmitterInterface<ContractInstanceRetrievalEvent>
&
event_emitter
);
31
32
std::optional<ContractInstance>
get_contract_instance
(
const
FF
&
contract_address
)
override
;
33
34
private
:
35
ContractDBInterface
&
contract_db
;
36
HighLevelMerkleDBInterface
&
merkle_db
;
37
UpdateCheckInterface
&
update_check
;
38
const
ProtocolContracts
&
protocol_contracts
;
39
FieldGreaterThanInterface
&
ff_gt
;
40
EventEmitterInterface<ContractInstanceRetrievalEvent>
&
event_emitter
;
41
};
42
43
}
// namespace bb::avm2::simulation
aztec_types.hpp
bb::avm2::ff_gt
Definition
ff_gt.hpp:34
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:23
bb::avm2::simulation::ContractInstanceManager::merkle_db
HighLevelMerkleDBInterface & merkle_db
Definition
contract_instance_manager.hpp:36
bb::avm2::simulation::ContractInstanceManager::ff_gt
FieldGreaterThanInterface & ff_gt
Definition
contract_instance_manager.hpp:39
bb::avm2::simulation::ContractInstanceManager::update_check
UpdateCheckInterface & update_check
Definition
contract_instance_manager.hpp:37
bb::avm2::simulation::ContractInstanceManager::contract_db
ContractDBInterface & contract_db
Definition
contract_instance_manager.hpp:35
bb::avm2::simulation::ContractInstanceManager::event_emitter
EventEmitterInterface< ContractInstanceRetrievalEvent > & event_emitter
Definition
contract_instance_manager.hpp:40
bb::avm2::simulation::ContractInstanceManager::protocol_contracts
const ProtocolContracts & protocol_contracts
Definition
contract_instance_manager.hpp:38
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:10
bb::avm2::simulation::FieldGreaterThanInterface
Definition
field_gt.hpp:8
bb::avm2::simulation::HighLevelMerkleDBInterface
Definition
db.hpp:81
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::AztecAddress
FF AztecAddress
Definition
aztec_types.hpp:12
bb::avm2::FF
AvmFlavorSettings::FF FF
Definition
field.hpp:10
std
STL namespace.
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:394
bb::avm2::simulation::ContractInstanceNotFoundError
Definition
contract_instance_manager.hpp:14
bb::avm2::simulation::ContractInstanceNotFoundError::address
AztecAddress address
Definition
contract_instance_manager.hpp:20
bb::avm2::simulation::ContractInstanceNotFoundError::ContractInstanceNotFoundError
ContractInstanceNotFoundError(AztecAddress address, const std::string &message)
Definition
contract_instance_manager.hpp:15
field.hpp
src
barretenberg
vm2
simulation
gadgets
contract_instance_manager.hpp
Generated by
1.9.8