trident_fuzz/
fuzz_client.rs#![allow(dead_code)]
use anchor_lang::solana_program::hash::Hash;
use solana_sdk::account::AccountSharedData;
use solana_sdk::pubkey::Pubkey;
use solana_sdk::signature::Keypair;
use solana_sdk::sysvar::Sysvar;
use solana_sdk::transaction::VersionedTransaction;
use crate::error::*;
pub trait FuzzClient {
fn get_sysvar<T: Sysvar>(&mut self) -> T;
fn warp_to_epoch(&mut self, warp_epoch: u64);
fn warp_to_slot(&mut self, warp_slot: u64);
fn forward_in_time(&mut self, seconds: i64) -> Result<(), FuzzClientError>;
fn set_account_custom(&mut self, address: &Pubkey, account: &AccountSharedData);
fn payer(&self) -> Keypair;
fn get_account(&mut self, key: &Pubkey) -> AccountSharedData;
fn get_last_blockhash(&self) -> Hash;
fn process_transaction(
&mut self,
transaction: impl Into<VersionedTransaction>,
) -> Result<(), FuzzClientError>;
}