|
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.