18 if (contract_addresses.empty()) {
23 address = contract_addresses[contract_address_choice];
28 fuzz_info(
"Mutating contract address to a random address");
48 std::vector<AztecAddress>& contract_addresses,
51 fuzz_info(
"Mutating public call request");
69 mutate_calldata(request, rng);
77 fuzz_info(
"Generating new public call request");
87 contract_addresses.empty()
99 .calldata_hash = calldata_hash,
FF generate_random_field(std::mt19937_64 &rng)
void mutate_field(bb::avm2::FF &value, std::mt19937_64 &rng, const FieldMutationConfig &config)
void mutate_calldata_vec(std::vector< bb::avm2::FF > &calldata, std::mt19937_64 &rng)
T select(std::mt19937_64 &rng) const
constexpr FieldMutationConfig BASIC_FIELD_MUTATION_CONFIGURATION
AztecAddress contract_address
constexpr PublicCallRequestMutationConfig PUB_REQUEST_MUTATION_CONFIGURATION
constexpr uint16_t MAX_CALLDATA_SIZE
PublicCallRequestWithCalldata generate_public_call_request(std::vector< AztecAddress > &contract_addresses, std::mt19937_64 &rng)
void mutate_public_call_request(PublicCallRequestWithCalldata &request, std::vector< AztecAddress > &contract_addresses, std::mt19937_64 &rng)
FF compute_calldata_hash(std::span< const FF > calldata)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
AztecAddress contract_address
std::vector< FF > calldata
PublicCallRequest request