22 std::vector<AztecAddress>& contract_addresses,
37 std::vector<AztecAddress>& contract_addresses,
40 if (!teardown_call.has_value()) {
49 fuzz_info(
"Discarding teardown enqueued call");
82 fuzz_info(
"Mutating setup enqueued calls: ",
tx.setup_enqueued_calls.size());
83 mutate_enqueued_calls(
tx.setup_enqueued_calls, contract_addresses, rng);
87 fuzz_info(
"Mutating app logic enqueued calls: ",
tx.app_logic_enqueued_calls.size());
88 mutate_enqueued_calls(
tx.app_logic_enqueued_calls, contract_addresses, rng);
92 fuzz_info(
"Mutating teardown enqueued call");
93 mutate_teardown(
tx.teardown_enqueued_call, contract_addresses, rng);
97 fuzz_info(
"Mutating non-revertible accumulated data");
102 fuzz_info(
"Mutating revertible accumulated data");
202 std::vector<FuzzerData>& enqueued_calls,
211 if (enqueued_calls.size() < max_size) {
213 enqueued_calls.push_back(new_enqueued_call);
219 fuzz_info(
"Mutating an existing enqueued call");
220 if (!enqueued_calls.empty()) {
222 fuzz_info(
"Mutating enqueued call at index: ", idx);
#define MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX
#define AVM_EMITUNENCRYPTEDLOG_BASE_DA_GAS
#define AVM_EMITNULLIFIER_BASE_DA_GAS
#define MAX_L2_TO_L1_MSGS_PER_TX
#define AVM_SENDL2TOL1MSG_BASE_DA_GAS
#define MAX_NOTE_HASHES_PER_TX
#define AVM_EMITNOTEHASH_BASE_DA_GAS
#define MAX_NULLIFIERS_PER_TX
#define AVM_SSTORE_DYN_DA_GAS
#define AVM_MAX_PROCESSABLE_L2_GAS
#define PUBLIC_LOGS_LENGTH
T select(std::mt19937_64 &rng) const
constexpr VecMutationConfig BASIC_VEC_MUTATION_CONFIGURATION
void mutate_tx(Tx &tx, std::vector< AztecAddress > &contract_addresses, std::mt19937_64 &rng)
void mutate_gas_settings(GasSettings &gas_settings, std::mt19937_64 &rng)
void mutate_gas(Gas &gas, std::mt19937_64 &rng)
constexpr uint32_t MIN_GAS
void mutate_non_revertible_accumulated_data(AccumulatedData &data, std::mt19937_64 &rng)
FuzzerData generate_fuzzer_data(std::mt19937_64 &rng, const FuzzerContext &context)
constexpr uint128_t MIN_FEE
PublicCallRequestWithCalldata generate_public_call_request(std::vector< AztecAddress > &contract_addresses, std::mt19937_64 &rng)
constexpr uint128_t MAX_FEE
void mutate_fuzzer_data_vec(const FuzzerContext &context, std::vector< FuzzerData > &enqueued_calls, std::mt19937_64 &rng, size_t max_size)
void add_default_instruction_block_if_empty(FuzzerData &fuzzer_data, std::mt19937_64 &rng, const FuzzerContext &context)
void mutate_fuzzer_data(FuzzerData &fuzzer_data, std::mt19937_64 &rng, const FuzzerContext &context)
constexpr uint32_t AVM_MAX_PROCESSABLE_DA_GAS
void mutate_gas_fees(GasFees &fees, std::mt19937_64 &rng)
void mutate_public_call_request(PublicCallRequestWithCalldata &request, std::vector< AztecAddress > &contract_addresses, std::mt19937_64 &rng)
constexpr uint32_t MAX_GAS
void mutate_revertible_accumulated_data(AccumulatedData &data, std::mt19937_64 &rng)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
unsigned __int128 uint128_t
describes the data which will be used for fuzzing Should contain instructions, calldata,...
constexpr TxMutationConfig TX_MUTATION_CONFIGURATION