Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
fuzzer_lib.cpp File Reference

Go to the source code of this file.

Functions

void setup_fuzzer_state (FuzzerWorldStateManager &ws_mgr, FuzzerContractDB &contract_db, const FuzzerTxData &tx_data)
 
void fund_fee_payer (FuzzerWorldStateManager &ws_mgr, const Tx &tx)
 
SimulatorResult fuzz_tx (FuzzerWorldStateManager &ws_mgr, FuzzerContractDB &contract_db, FuzzerTxData &tx_data)
 Fuzz CPP vs JS simulator with a full transaction containing multiple enqueued calls.
 
int fuzz_prover (FuzzerWorldStateManager &ws_mgr, FuzzerContractDB &contract_db, FuzzerTxData &tx_data)
 Run the prover fuzzer: fast simulation, hint collection, comparison, and check_circuit.
 
FuzzerTxData create_default_tx_data (std::mt19937_64 &rng, const FuzzerContext &context)
 
FuzzerTxData create_default_tx_data (const FuzzerContext &context)
 
ContractArtifacts build_bytecode_and_artifacts (FuzzerData &fuzzer_data)
 
size_t mutate_tx_data (FuzzerContext &context, uint8_t *serialized_fuzzer_data, size_t serialized_fuzzer_data_size, size_t max_size, unsigned int seed)
 

Function Documentation

◆ build_bytecode_and_artifacts()

ContractArtifacts build_bytecode_and_artifacts ( FuzzerData fuzzer_data)

Definition at line 214 of file fuzzer_lib.cpp.

◆ create_default_tx_data() [1/2]

FuzzerTxData create_default_tx_data ( const FuzzerContext context)

Definition at line 208 of file fuzzer_lib.cpp.

◆ create_default_tx_data() [2/2]

FuzzerTxData create_default_tx_data ( std::mt19937_64 rng,
const FuzzerContext context 
)

Definition at line 188 of file fuzzer_lib.cpp.

◆ fund_fee_payer()

void fund_fee_payer ( FuzzerWorldStateManager ws_mgr,
const Tx tx 
)

Definition at line 48 of file fuzzer_lib.cpp.

◆ fuzz_prover()

int fuzz_prover ( FuzzerWorldStateManager ws_mgr,
FuzzerContractDB contract_db,
FuzzerTxData tx_data 
)

Run the prover fuzzer: fast simulation, hint collection, comparison, and check_circuit.

Parameters
ws_mgrThe world state manager (should already be forked)
contract_dbThe contract database
tx_dataThe transaction data
Returns
0 on success
Exceptions
Anexception if simulation results differ or check_circuit fails

Definition at line 106 of file fuzzer_lib.cpp.

◆ fuzz_tx()

SimulatorResult fuzz_tx ( FuzzerWorldStateManager ws_mgr,
FuzzerContractDB contract_db,
FuzzerTxData tx_data 
)

Fuzz CPP vs JS simulator with a full transaction containing multiple enqueued calls.

Parameters
tx_dataThe transaction data containing multiple enqueued calls
Returns
The simulator result if the results are the same
Exceptions
Anexception if the simulator results are different

Definition at line 62 of file fuzzer_lib.cpp.

◆ mutate_tx_data()

size_t mutate_tx_data ( FuzzerContext context,
uint8_t *  serialized_fuzzer_data,
size_t  serialized_fuzzer_data_size,
size_t  max_size,
unsigned int  seed 
)

Definition at line 246 of file fuzzer_lib.cpp.

◆ setup_fuzzer_state()

void setup_fuzzer_state ( FuzzerWorldStateManager ws_mgr,
FuzzerContractDB contract_db,
const FuzzerTxData tx_data 
)

Definition at line 27 of file fuzzer_lib.cpp.