Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::avm2::fuzzer::FuzzerContractDB Class Reference

#include <dbs.hpp>

Inheritance diagram for bb::avm2::fuzzer::FuzzerContractDB:
bb::avm2::simulation::ContractDBInterface

Classes

struct  Checkpoint
 

Public Member Functions

 FuzzerContractDB ()=default
 
std::optional< ContractInstanceget_contract_instance (const AztecAddress &address) const override
 ContractDBInterface methods.
 
std::optional< ContractClassget_contract_class (const ContractClassId &class_id) const override
 
std::optional< FFget_bytecode_commitment (const ContractClassId &class_id) const override
 
std::optional< std::string > get_debug_function_name (const AztecAddress &address, const FunctionSelector &selector) const override
 
void add_contracts (const ContractDeploymentData &contract_deployment_data) override
 
void add_contract_class (const ContractClassId &class_id, const ContractClass &contract_class)
 
void add_contract_instance (const AztecAddress &address, const ContractInstance &contract_instance)
 
void create_checkpoint () override
 
void commit_checkpoint () override
 
void revert_checkpoint () override
 
const std::vector< ContractClass > & get_contract_classes () const
 
const std::vector< std::pair< AztecAddress, ContractInstance > > & get_contract_instances () const
 
- Public Member Functions inherited from bb::avm2::simulation::ContractDBInterface
virtual ~ContractDBInterface ()=default
 

Private Member Functions

ContractClass from_logs (const ContractClassLog &log) const
 
ContractInstance from_logs (const PrivateLog &log) const
 

Private Attributes

std::unordered_map< ContractClassId, ContractClasscontract_classes
 
std::unordered_map< AztecAddress, ContractInstancecontract_instances
 
std::vector< ContractClasscontract_classes_vector
 
std::vector< std::pair< AztecAddress, ContractInstance > > contract_instances_vector
 
std::stack< Checkpointcheckpoints
 

Detailed Description

Definition at line 13 of file dbs.hpp.

Constructor & Destructor Documentation

◆ FuzzerContractDB()

bb::avm2::fuzzer::FuzzerContractDB::FuzzerContractDB ( )
default

Member Function Documentation

◆ add_contract_class()

void bb::avm2::fuzzer::FuzzerContractDB::add_contract_class ( const ContractClassId class_id,
const ContractClass contract_class 
)

Definition at line 71 of file dbs.cpp.

◆ add_contract_instance()

void bb::avm2::fuzzer::FuzzerContractDB::add_contract_instance ( const AztecAddress address,
const ContractInstance contract_instance 
)

Definition at line 82 of file dbs.cpp.

◆ add_contracts()

void bb::avm2::fuzzer::FuzzerContractDB::add_contracts ( const ContractDeploymentData contract_deployment_data)
overridevirtual

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 55 of file dbs.cpp.

◆ commit_checkpoint()

void bb::avm2::fuzzer::FuzzerContractDB::commit_checkpoint ( )
overridevirtual

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 156 of file dbs.cpp.

◆ create_checkpoint()

void bb::avm2::fuzzer::FuzzerContractDB::create_checkpoint ( )
overridevirtual

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 148 of file dbs.cpp.

◆ from_logs() [1/2]

ContractClass bb::avm2::fuzzer::FuzzerContractDB::from_logs ( const ContractClassLog log) const
private

Definition at line 93 of file dbs.cpp.

◆ from_logs() [2/2]

ContractInstance bb::avm2::fuzzer::FuzzerContractDB::from_logs ( const PrivateLog log) const
private

Definition at line 121 of file dbs.cpp.

◆ get_bytecode_commitment()

std::optional< FF > bb::avm2::fuzzer::FuzzerContractDB::get_bytecode_commitment ( const ContractClassId class_id) const
overridevirtual

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 40 of file dbs.cpp.

◆ get_contract_class()

std::optional< ContractClass > bb::avm2::fuzzer::FuzzerContractDB::get_contract_class ( const ContractClassId class_id) const
overridevirtual

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 32 of file dbs.cpp.

◆ get_contract_classes()

const std::vector< ContractClass > & bb::avm2::fuzzer::FuzzerContractDB::get_contract_classes ( ) const
inline

Definition at line 34 of file dbs.hpp.

◆ get_contract_instance()

std::optional< ContractInstance > bb::avm2::fuzzer::FuzzerContractDB::get_contract_instance ( const AztecAddress address) const
overridevirtual

ContractDBInterface methods.

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 24 of file dbs.cpp.

◆ get_contract_instances()

const std::vector< std::pair< AztecAddress, ContractInstance > > & bb::avm2::fuzzer::FuzzerContractDB::get_contract_instances ( ) const
inline

Definition at line 35 of file dbs.hpp.

◆ get_debug_function_name()

std::optional< std::string > bb::avm2::fuzzer::FuzzerContractDB::get_debug_function_name ( const AztecAddress address,
const FunctionSelector selector 
) const
overridevirtual

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 49 of file dbs.cpp.

◆ revert_checkpoint()

void bb::avm2::fuzzer::FuzzerContractDB::revert_checkpoint ( )
overridevirtual

Implements bb::avm2::simulation::ContractDBInterface.

Definition at line 163 of file dbs.cpp.

Member Data Documentation

◆ checkpoints

std::stack<Checkpoint> bb::avm2::fuzzer::FuzzerContractDB::checkpoints
private

Definition at line 55 of file dbs.hpp.

◆ contract_classes

std::unordered_map<ContractClassId, ContractClass> bb::avm2::fuzzer::FuzzerContractDB::contract_classes
private

Definition at line 44 of file dbs.hpp.

◆ contract_classes_vector

std::vector<ContractClass> bb::avm2::fuzzer::FuzzerContractDB::contract_classes_vector
private

Definition at line 48 of file dbs.hpp.

◆ contract_instances

std::unordered_map<AztecAddress, ContractInstance> bb::avm2::fuzzer::FuzzerContractDB::contract_instances
private

Definition at line 45 of file dbs.hpp.

◆ contract_instances_vector

std::vector<std::pair<AztecAddress, ContractInstance> > bb::avm2::fuzzer::FuzzerContractDB::contract_instances_vector
private

Definition at line 49 of file dbs.hpp.


The documentation for this class was generated from the following files: