Go to the source code of this file.
|
| std::ostream & | operator<< (std::ostream &os, const FuzzerTxData &data) |
| |
| ContractArtifacts | build_bytecode_and_artifacts (FuzzerData &fuzzer_data) |
| |
| FuzzerTxData | create_default_tx_data (std::mt19937_64 &rng, FuzzerContext &context) |
| |
| FuzzerTxData | create_default_tx_data (FuzzerContext &context) |
| |
| void | setup_fuzzer_state (bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, bb::avm2::fuzzer::FuzzerContractDB &contract_db, const FuzzerTxData &tx_data) |
| |
| void | fund_fee_payer (bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, const Tx &tx) |
| |
| SimulatorResult | fuzz_tx (bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, bb::avm2::fuzzer::FuzzerContractDB &contract_db, FuzzerTxData &tx_data) |
| | Fuzz CPP vs JS simulator with a full transaction containing multiple enqueued calls.
|
| |
| TxSimulationResult | fuzz_prover (bb::avm2::fuzzer::FuzzerWorldStateManager &ws_mgr, bb::avm2::fuzzer::FuzzerContractDB &contract_db, FuzzerTxData &tx_data) |
| | Run the prover fuzzer: fast simulation, hint collection, comparison, and check_circuit.
|
| |
| 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) |
| |
| void | populate_context_from_tx_data (FuzzerContext &context, const FuzzerTxData &tx_data) |
| |
| bool | compare_cpp_simulator_results (const std::vector< TxSimulationResult > &results) |
| |
◆ Bytecode
◆ ContractArtifacts
◆ FuzzerContext
◆ FuzzerTxDataMutationConfig
◆ FuzzerTxDataMutationType
| Enumerator |
|---|
| TxFuzzerDataMutation | |
| TxMutation | |
| BytecodeMutation | |
| ContractClassMutation | |
| ContractInstanceMutation | |
| GlobalVariablesMutation | |
| ProtocolContractsMutation | |
Definition at line 63 of file fuzzer_lib.hpp.
◆ build_bytecode_and_artifacts()
◆ compare_cpp_simulator_results()
◆ create_default_tx_data() [1/2]
◆ create_default_tx_data() [2/2]
◆ fund_fee_payer()
◆ fuzz_prover()
Run the prover fuzzer: fast simulation, hint collection, comparison, and check_circuit.
- Parameters
-
| ws_mgr | The world state manager (should already be forked) |
| contract_db | The contract database |
| tx_data | The transaction data |
- Returns
- the simulation result
- Exceptions
-
| An | exception if simulation results differ or check_circuit fails |
Definition at line 154 of file fuzzer_lib.cpp.
◆ fuzz_tx()
Fuzz CPP vs JS simulator with a full transaction containing multiple enqueued calls.
- Parameters
-
| tx_data | The transaction data containing multiple enqueued calls |
- Returns
- The simulator result if the results are the same
- Exceptions
-
| An | exception if the simulator results are different |
Definition at line 96 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 |
|
) |
| |
◆ operator<<()
| std::ostream & operator<< |
( |
std::ostream & |
os, |
|
|
const FuzzerTxData & |
data |
|
) |
| |
|
inline |
◆ populate_context_from_tx_data()
◆ setup_fuzzer_state()
◆ FUZZER_TX_DATA_MUTATION_CONFIGURATION
Initial value:
})
@ ContractInstanceMutation
@ ProtocolContractsMutation
@ GlobalVariablesMutation
WeightedSelectionConfig< FuzzerTxDataMutationType, 7 > FuzzerTxDataMutationConfig
Definition at line 75 of file fuzzer_lib.hpp.