42 os <<
"FuzzerTxData { "
43 <<
"\n tx: " <<
data.tx <<
","
44 <<
"\n global_variables: " <<
data.global_variables <<
","
45 <<
"\n protocol_contracts: " <<
data.protocol_contracts <<
"\n}";
93 uint8_t* serialized_fuzzer_data,
94 size_t serialized_fuzzer_data_size,
StrictMock< MockContractDB > contract_db
const std::vector< MemoryValue > data
FuzzerWorldStateManager * ws_mgr
void setup_fuzzer_state(bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, bb::avm2::fuzzer::FuzzerContractDB &contract_db, const FuzzerTxData &tx_data)
void fund_fee_payer(bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, const Tx &tx)
FuzzerTxData create_default_tx_data(std::mt19937_64 &rng, const FuzzerContext &context)
SimulatorResult fuzz_tx(bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, bb::avm2::fuzzer::FuzzerContractDB &contract_db, FuzzerTxData &tx_data)
Fuzz CPP vs JS simulator with a full transaction containing multiple enqueued calls.
ContractArtifacts build_bytecode_and_artifacts(FuzzerData &fuzzer_data)
std::ostream & operator<<(std::ostream &os, const FuzzerTxData &data)
std::tuple< Bytecode, ContractClass, ContractInstance > ContractArtifacts
size_t mutate_tx_data(FuzzerContext &context, uint8_t *serialized_fuzzer_data, size_t serialized_fuzzer_data_size, size_t max_size, unsigned int seed)
int fuzz_prover(bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, bb::avm2::fuzzer::FuzzerContractDB &contract_db, FuzzerTxData &tx_data)
Run the prover fuzzer: fast simulation, hint collection, comparison, and check_circuit.
std::vector< uint8_t > Bytecode
bool compare_cpp_simulator_results(const std::vector< TxSimulationResult > &results)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
describes the data which will be used for fuzzing Should contain instructions, calldata,...
std::vector< AztecAddress > contract_addresses
ProtocolContracts protocol_contracts
std::vector< ContractClass > contract_classes
std::vector< FuzzerData > input_programs
MSGPACK_FIELDS(input_programs, contract_classes, contract_instances, contract_addresses, tx, global_variables, protocol_contracts)
std::vector< ContractInstance > contract_instances
GlobalVariables global_variables