use fuzz_accounts::*;
use trident_fuzz::fuzzing::*;
mod fuzz_accounts;
mod types;
use types::*;
#[derive(FuzzTestMethods)]
struct FuzzTest {
/// Trident client for interacting with the Solana program
trident: Trident,
/// Storage for all account addresses used in fuzz testing
fuzz_accounts: AccountAddresses,
}
#[flow_executor]
impl FuzzTest {
fn new() -> Self {
Self {
trident: Trident::default(),
fuzz_accounts: AccountAddresses::default(),
}
}
#[init]
fn start(&mut self){
// Perform any initialization here, this method will be executed
// at the start of each iteration
}
#[flow]
fn flow1(&mut self){
// Perform logic which is meant to be fuzzed
// This flow is selected randomly from other flows
}
#[flow]
fn flow2(&mut self){
// Perform logic which is meant to be fuzzed
// This flow is selected randomly from other flows
}
#[end]
fn end(&mut self){
// Perform any cleanup here, this method will be executed
// at the end of each iteration
}
}
fn main() {
FuzzTest::fuzz(1000, 100);
}