FuzzerContractDB & get_contract_db() const
Get the contract database for simulation.
void set_existing_contract_addresses(std::span< const FF > contract_addresses)
FF register_contract_from_bytecode(const std::vector< uint8_t > &bytecode)
Register a contract from its bytecode.
bool has_contracts() const
Check if any contracts are registered.
void reset()
Clear all contract addresses and reset the contract DB.
FF get_contract_address(size_t index) const
Get a contract address by index (wraps around using modulo)
size_t contract_count() const
Get the number of registered contracts.
void add_contract_address(FF address)
Add a contract address to the context (without registering a contract)
void set_existing_note_hashes(std::span< const std::pair< FF, uint64_t > > note_hashes)
std::optional< std::pair< FF, uint64_t > > get_existing_note_hash(size_t index) const
std::unique_ptr< FuzzerContractDB > contract_db_
std::vector< std::pair< FF, uint64_t > > existing_note_hashes_
std::vector< FF > contract_addresses_