Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
configuration.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4
6
7constexpr uint8_t MAX_MUTATION_NUM = 20;
8
10
12
18});
19
20// Generic uint mutation options (used by all uint types)
21// BoundarySelection picks from a curated set of edge-case values (0, 1, max, midpoint, etc.)
22// to dramatically improve coverage of boundary conditions in arithmetic operations
24
25// Type aliases for backward compatibility
31
37
43 { UintMutationOptions::BoundarySelection, 25 }, // ~30% - picks boundary values (0, 1, max, midpoint, etc.)
44});
45
51 { UintMutationOptions::BoundarySelection, 25 }, // ~30% - picks boundary values (0, 1, max, midpoint, etc.)
52});
53
59 { UintMutationOptions::BoundarySelection, 25 }, // ~30% - picks boundary values (0, 1, max, midpoint, etc.)
60});
61
67 { UintMutationOptions::BoundarySelection, 25 }, // ~30% - picks boundary values (0, 1, max, midpoint, etc.)
68});
69
75 { UintMutationOptions::BoundarySelection, 25 }, // ~30% - picks boundary values (0, 1, max, midpoint, etc.)
76});
77
78// BoundarySelection picks from a curated set of edge-case values (0, 1, p-1, limb boundaries, etc.)
79// to dramatically improve coverage of boundary conditions in field arithmetic
81
83
89 { FieldMutationOptions::BoundarySelection, 25 }, // ~30% - picks boundary values (0, 1, p-1, limb boundaries)
90});
91
92enum class MemoryTagOptions { U1, U8, U16, U32, U64, U128, FF };
93
95
104});
105
107
116});
117
125});
126
133});
134
136
138
143 });
144
146
148
154 });
155
157
159
164});
165
167
169
174});
175
177
179
184});
185
187
189
194});
195
197
199
205});
206
208
210
215});
216
218
220
225});
226
228 ADD_8,
229 SUB_8,
230 MUL_8,
231 DIV_8,
232 FDIV_8,
233 EQ_8,
234 LT_8,
235 LTE_8,
236 AND_8,
237 OR_8,
238 XOR_8,
239 NOT_8,
240 SHL_8,
241 SHR_8,
242 SET_8,
243 SET_16,
244 SET_32,
245 SET_64,
246 SET_128,
247 SET_FF,
248 MOV_8,
249 MOV_16,
250 ADD_16,
251 SUB_16,
252 MUL_16,
253 DIV_16,
254 FDIV_16,
255 EQ_16,
256 LT_16,
257 LTE_16,
258 AND_16,
259 OR_16,
260 XOR_16,
261 NOT_16,
262 SHL_16,
263 SHR_16,
264 CAST_8,
265 CAST_16,
266 SSTORE,
267 SLOAD,
268 GETENVVAR,
277 CALL,
282 ECADD,
286 TORADIXBE,
287 DEBUGLOG,
288};
289
291
353});
354
357
362});
363
366
371});
372
375
379});
380
383
388});
389
392
397});
398
401
405});
406
409
414});
415
422
427});
428
431
437});
438
441
446 });
447
458
467});
468
471
476});
477
480
486 });
487
490
493});
494
504
512});
513
516
523});
524
526
528
533});
534
541
543
549});
550
557
562});
563
575
577
589 });
590
593
598});
Set32MutationOptions
WeightedSelectionConfig< Set128MutationOptions, 4 > Set128MutationConfig
constexpr Set128MutationConfig BASIC_SET_128_MUTATION_CONFIGURATION
WeightedSelectionConfig< JumpIfMutationOptions, 3 > JumpIfMutationConfig
constexpr AddressRefMutationConfig BASIC_ADDRESS_REF_MUTATION_CONFIGURATION
Set64MutationOptions
VecMutationOptions
constexpr ReturnOptionsMutationConfig BASIC_RETURN_OPTIONS_MUTATION_CONFIGURATION
constexpr JumpIfMutationConfig BASIC_JUMP_IF_MUTATION_CONFIGURATION
constexpr SLoadMutationConfig BASIC_SLOAD_MUTATION_CONFIGURATION
constexpr GetEnvVarMutationConfig BASIC_GETENVVAR_MUTATION_CONFIGURATION
constexpr Set16MutationConfig BASIC_SET_16_MUTATION_CONFIGURATION
L1ToL2MsgExistsMutationOptions
ReturndataCopyMutationOptions
constexpr NoteHashExistsMutationConfig BASIC_NOTEHASHEXISTS_MUTATION_CONFIGURATION
WeightedSelectionConfig< ToRadixBEMutationOptions, 6 > ToRadixBEMutationConfig
NoteHashExistsMutationOptions
constexpr ToRadixBEMutationConfig BASIC_TORADIXBE_MUTATION_CONFIGURATION
JumpIfToBlockMutationOptions
WeightedSelectionConfig< SetFFMutationOptions, 3 > SetFFMutationConfig
constexpr Set64MutationConfig BASIC_SET_64_MUTATION_CONFIGURATION
WeightedSelectionConfig< ReturnMutationOptions, 3 > ReturnMutationConfig
EmitNoteHashMutationOptions
CallMutationOptions
WeightedSelectionConfig< VariableRefMutationOptions, 4 > VariableRefMutationConfig
WeightedSelectionConfig< NullifierExistsMutationOptions, 3 > NullifierExistsMutationConfig
SetFFMutationOptions
WeightedSelectionConfig< FieldMutationOptions, 5 > FieldMutationConfig
WeightedSelectionConfig< EmitNoteHashMutationOptions, 2 > EmitNoteHashMutationConfig
constexpr MemoryTagGenerationConfig BASIC_MEMORY_TAG_GENERATION_CONFIGURATION
WeightedSelectionConfig< Set64MutationOptions, 3 > Set64MutationConfig
constexpr uint8_t MAX_MUTATION_NUM
SuccessCopyMutationOptions
constexpr DebugLogMutationConfig BASIC_DEBUGLOG_MUTATION_CONFIGURATION
WeightedSelectionConfig< VecMutationOptions, 5 > VecMutationConfig
WeightedSelectionConfig< UintMutationOptions, 5 > Uint16MutationConfig
constexpr Uint64MutationConfig BASIC_UINT64_T_MUTATION_CONFIGURATION
WeightedSelectionConfig< UintMutationOptions, 5 > Uint64MutationConfig
Set8MutationOptions
WeightedSelectionConfig< SuccessCopyMutationOptions, 1 > SuccessCopyMutationConfig
WeightedSelectionConfig< SendL2ToL1MsgMutationOptions, 4 > SendL2ToL1MsgMutationConfig
Set16MutationOptions
constexpr FuzzerDataMutationConfig BASIC_FUZZER_DATA_MUTATION_CONFIGURATION
constexpr CalldataCopyMutationConfig BASIC_CALLDATACOPY_MUTATION_CONFIGURATION
constexpr GetContractInstanceMutationConfig BASIC_GETCONTRACTINSTANCE_MUTATION_CONFIGURATION
WeightedSelectionConfig< GetEnvVarMutationOptions, 2 > GetEnvVarMutationConfig
CFGInstructionGenerationOptions
WeightedSelectionConfig< UintMutationOptions, 5 > Uint32MutationConfig
FuzzerDataMutationOptions
WeightedSelectionConfig< SStoreMutationOptions, 3 > SStoreMutationConfig
InstructionGenerationOptions
constexpr L1ToL2MsgExistsMutationConfig BASIC_L1TOL2MSGEXISTS_MUTATION_CONFIGURATION
constexpr Uint32MutationConfig BASIC_UINT32_T_MUTATION_CONFIGURATION
constexpr UnaryInstruction8MutationConfig BASIC_UNARY_INSTRUCTION_8_MUTATION_CONFIGURATION
WeightedSelectionConfig< CFGInstructionGenerationOptions, 9 > CFGInstructionGenerationConfig
SStoreMutationOptions
constexpr SetFFMutationConfig BASIC_SET_FF_MUTATION_CONFIGURATION
constexpr Set32MutationConfig BASIC_SET_32_MUTATION_CONFIGURATION
constexpr FieldMutationConfig BASIC_FIELD_MUTATION_CONFIGURATION
WeightedSelectionConfig< InstructionGenerationOptions, 60 > InstructionGenerationConfig
UnaryInstruction8MutationOptions
constexpr BinaryInstruction8MutationConfig BASIC_BINARY_INSTRUCTION_8_MUTATION_CONFIGURATION
UintMutationOptions
WeightedSelectionConfig< GetContractInstanceMutationOptions, 3 > GetContractInstanceMutationConfig
constexpr Uint128MutationConfig BASIC_UINT128_T_MUTATION_CONFIGURATION
constexpr Uint16MutationConfig BASIC_UINT16_T_MUTATION_CONFIGURATION
constexpr SStoreMutationConfig BASIC_SSTORE_MUTATION_CONFIGURATION
CalldataCopyMutationOptions
EmitUnencryptedLogMutationOptions
JumpIfMutationOptions
@ else_program_block_instruction_block_idx
@ then_program_block_instruction_block_idx
constexpr NullifierExistsMutationConfig BASIC_NULLIFIER_EXISTS_MUTATION_CONFIGURATION
FieldMutationOptions
constexpr EmitUnencryptedLogMutationConfig BASIC_EMITUNENCRYPTEDLOG_MUTATION_CONFIGURATION
MemoryTagOptions
constexpr CallMutationConfig BASIC_CALL_MUTATION_CONFIGURATION
constexpr SendL2ToL1MsgMutationConfig BASIC_SENDL2TOL1MSG_MUTATION_CONFIGURATION
WeightedSelectionConfig< Set32MutationOptions, 3 > Set32MutationConfig
constexpr VariableRefMutationConfig BASIC_VARIABLE_REF_MUTATION_CONFIGURATION
WeightedSelectionConfig< JumpIfToBlockMutationOptions, 3 > JumpIfToBlockMutationConfig
Set128MutationOptions
WeightedSelectionConfig< SLoadMutationOptions, 3 > SLoadMutationConfig
constexpr EmitNoteHashMutationConfig BASIC_EMITNOTEHASH_MUTATION_CONFIGURATION
ToRadixBEMutationOptions
WeightedSelectionConfig< AddressRefMutationOptions, 3 > AddressRefMutationConfig
WeightedSelectionConfig< BinaryInstruction8MutationOptions, 3 > BinaryInstruction8MutationConfig
ReturnOptionsMutationOptions
ReturnMutationOptions
WeightedSelectionConfig< MemoryTagOptions, 7 > MemoryTagMutationConfig
WeightedSelectionConfig< EmitUnencryptedLogMutationOptions, 2 > EmitUnencryptedLogMutationConfig
constexpr MemoryTagMutationConfig BASIC_MEMORY_TAG_MUTATION_CONFIGURATION
WeightedSelectionConfig< UintMutationOptions, 5 > Uint8MutationConfig
SLoadMutationOptions
WeightedSelectionConfig< ReturnOptionsMutationOptions, 3 > ReturnOptionsMutationConfig
WeightedSelectionConfig< FuzzerDataMutationOptions, 4 > FuzzerDataMutationConfig
constexpr Uint8MutationConfig BASIC_UINT8_T_MUTATION_CONFIGURATION
VariableRefMutationOptions
constexpr InstructionGenerationConfig BASIC_INSTRUCTION_GENERATION_CONFIGURATION
constexpr SuccessCopyMutationConfig BASIC_SUCCESSCOPY_MUTATION_CONFIGURATION
constexpr VecMutationConfig BASIC_VEC_MUTATION_CONFIGURATION
WeightedSelectionConfig< UnaryInstruction8MutationOptions, 2 > UnaryInstruction8MutationConfig
WeightedSelectionConfig< Set8MutationOptions, 3 > Set8MutationConfig
GetContractInstanceMutationOptions
GetEnvVarMutationOptions
WeightedSelectionConfig< ReturndataCopyMutationOptions, 3 > ReturndataCopyMutationConfig
DebugLogMutationOptions
constexpr JumpIfToBlockMutationConfig BASIC_JUMP_IF_TO_BLOCK_MUTATION_CONFIGURATION
AddressRefMutationOptions
WeightedSelectionConfig< L1ToL2MsgExistsMutationOptions, 3 > L1ToL2MsgExistsMutationConfig
BinaryInstruction8MutationOptions
constexpr ReturnMutationConfig BASIC_RETURN_MUTATION_CONFIGURATION
constexpr CFGInstructionGenerationConfig BASIC_CFG_INSTRUCTION_GENERATION_CONFIGURATION
SendL2ToL1MsgMutationOptions
constexpr Set8MutationConfig BASIC_SET_8_MUTATION_CONFIGURATION
WeightedSelectionConfig< UintMutationOptions, 5 > Uint128MutationConfig
constexpr ReturndataCopyMutationConfig BASIC_RETURNDATACOPY_MUTATION_CONFIGURATION
NullifierExistsMutationOptions
WeightedSelectionConfig< DebugLogMutationOptions, 5 > DebugLogMutationConfig
WeightedSelectionConfig< Set16MutationOptions, 3 > Set16MutationConfig
WeightedSelectionConfig< NoteHashExistsMutationOptions, 3 > NoteHashExistsMutationConfig
WeightedSelectionConfig< CallMutationOptions, 7 > CallMutationConfig
WeightedSelectionConfig< MemoryTagOptions, 7 > MemoryTagGenerationConfig
WeightedSelectionConfig< CalldataCopyMutationOptions, 3 > CalldataCopyMutationConfig
Select from curated boundary values.
Definition field.cpp:92