Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include "barretenberg/circuit_checker/circuit_checker.hpp"
#include "barretenberg/common/assert.hpp"
#include "barretenberg/numeric/uint256/uint256.hpp"
Go to the source code of this file.
Classes | |
struct | HavocSettings |
class | FastRandom |
Class for quickly deterministically creating new random values. We don't care about distribution much here. More... | |
class | ArithmeticFuzzHelper< T > |
A templated class containing most of the fuzzing logic for a generic Arithmetic class. More... | |
Concepts | |
concept | SimpleRng |
Concept for a simple PRNG which returns a uint32_t when next is called. | |
concept | InstructionArgumentSizes |
Concept for forcing ArgumentSizes to be size_t. | |
concept | HavocConfigConstraint |
Concept for Havoc Configurations. | |
concept | ArithmeticFuzzHelperConstraint |
Concept specifying the class used by the fuzzer. | |
concept | CheckableComposer |
Fuzzer uses only composers with check_circuit function. | |
concept | PostProcessingEnabled |
The fuzzer can use a postprocessing function that is specific to the type being fuzzed. | |
concept | InstructionWeightsEnabled |
This concept is used when we want to limit the number of executions of certain instructions (for example, divisions and multiplications in bigfield start to bog down the fuzzer) | |
Macros | |
#define | PARENS () |
#define | EXPAND(arg) EXPAND1(EXPAND1(EXPAND1(EXPAND1(arg)))) |
#define | EXPAND1(arg) EXPAND2(EXPAND2(EXPAND2(EXPAND2(arg)))) |
#define | EXPAND2(arg) EXPAND3(EXPAND3(EXPAND3(EXPAND3(arg)))) |
#define | EXPAND3(arg) EXPAND4(EXPAND4(EXPAND4(EXPAND4(arg)))) |
#define | EXPAND4(arg) arg |
#define | FOR_EACH(macro, ...) __VA_OPT__(EXPAND(FOR_EACH_HELPER(macro, __VA_ARGS__))) |
#define | FOR_EACH_HELPER(macro, a1, ...) macro(a1) __VA_OPT__(FOR_EACH_AGAIN PARENS(macro, __VA_ARGS__)) |
#define | FOR_EACH_AGAIN() FOR_EACH_HELPER |
#define | ALL_POSSIBLE_OPCODES |
#define | MONT_CONVERSION_LOCAL |
#define | INV_MONT_CONVERSION_LOCAL |
#define | PARSE_OPCODE(name) |
#define | PARSE_ALL_OPCODES(...) FOR_EACH(PARSE_OPCODE, __VA_ARGS__) |
#define | WRITE_OPCODE_IF(name) |
#define | WRITE_ALL_OPCODES(...) FOR_EACH(WRITE_OPCODE_IF, __VA_ARGS__) |
#define | EXECUTE_OPCODE_IF(name) |
#define | EXECUTE_ALL_OPCODES(...) FOR_EACH(EXECUTE_OPCODE_IF, __VA_ARGS__) |
Functions | |
size_t | LLVMFuzzerMutate (uint8_t *Data, size_t Size, size_t MaxSize) |
uint256_t | read_uint256 (const uint8_t *data, size_t buffer_size=32) |
template<template< typename > class Fuzzer, typename Composer > | |
constexpr void | RunWithBuilder (const uint8_t *Data, const size_t Size, FastRandom &VarianceRNG) |
template<template< typename > class Fuzzer, uint64_t Composers> | |
constexpr void | RunWithBuilders (const uint8_t *Data, const size_t Size, FastRandom &VarianceRNG) |
#define ALL_POSSIBLE_OPCODES |
Definition at line 20 of file fuzzer.hpp.
#define EXECUTE_ALL_OPCODES | ( | ... | ) | FOR_EACH(EXECUTE_OPCODE_IF, __VA_ARGS__) |
#define EXECUTE_OPCODE_IF | ( | name | ) |
Definition at line 10 of file fuzzer.hpp.
Definition at line 11 of file fuzzer.hpp.
Definition at line 12 of file fuzzer.hpp.
Definition at line 13 of file fuzzer.hpp.
#define EXPAND4 | ( | arg | ) | arg |
Definition at line 14 of file fuzzer.hpp.
#define FOR_EACH | ( | macro, | |
... | |||
) | __VA_OPT__(EXPAND(FOR_EACH_HELPER(macro, __VA_ARGS__))) |
Definition at line 16 of file fuzzer.hpp.
#define FOR_EACH_AGAIN | ( | ) | FOR_EACH_HELPER |
Definition at line 18 of file fuzzer.hpp.
#define FOR_EACH_HELPER | ( | macro, | |
a1, | |||
... | |||
) | macro(a1) __VA_OPT__(FOR_EACH_AGAIN PARENS(macro, __VA_ARGS__)) |
Definition at line 17 of file fuzzer.hpp.
#define INV_MONT_CONVERSION_LOCAL |
#define MONT_CONVERSION_LOCAL |
#define PARENS () |
Definition at line 7 of file fuzzer.hpp.
#define PARSE_ALL_OPCODES | ( | ... | ) | FOR_EACH(PARSE_OPCODE, __VA_ARGS__) |
#define PARSE_OPCODE | ( | name | ) |
#define WRITE_ALL_OPCODES | ( | ... | ) | FOR_EACH(WRITE_OPCODE_IF, __VA_ARGS__) |
#define WRITE_OPCODE_IF | ( | name | ) |
size_t LLVMFuzzerMutate | ( | uint8_t * | Data, |
size_t | Size, | ||
size_t | MaxSize | ||
) |
uint256_t read_uint256 | ( | const uint8_t * | data, |
size_t | buffer_size = 32 |
||
) |
Definition at line 106 of file fuzzer.hpp.
|
constexpr |
Definition at line 717 of file fuzzer.hpp.
|
constexpr |
Definition at line 725 of file fuzzer.hpp.