1pub mod accounts_storage;
2pub mod error;
3pub mod fuzz_client_impl;
4pub mod fuzz_stats;
5pub mod traits;
6
7pub mod trident_accounts;
8
9pub mod trident_pubkey;
10
11pub mod types;
12
13pub mod fuzzing {
14 pub use solana_sdk;
16 pub use solana_sdk::account::AccountSharedData;
17 pub use solana_sdk::account::ReadableAccount;
18 pub use solana_sdk::account::WritableAccount;
19 pub use solana_sdk::account_info::AccountInfo;
20 pub use solana_sdk::entrypoint::ProcessInstruction;
21 pub use solana_sdk::instruction::AccountMeta;
22 pub use solana_sdk::instruction::Instruction;
23 pub use solana_sdk::native_token::LAMPORTS_PER_SOL;
24 pub use solana_sdk::pubkey;
25 pub use solana_sdk::pubkey::Pubkey;
26 pub use solana_sdk::signer::keypair::Keypair;
27 pub use solana_sdk::signer::Signer;
28 pub use solana_sdk::transaction::Transaction;
29 pub use solana_sdk::transaction::TransactionError;
30
31 pub use afl::fuzz as fuzz_afl;
33 pub use arbitrary;
34 pub use arbitrary::Arbitrary;
35 pub use honggfuzz::fuzz as fuzz_honggfuzz;
36
37 pub use super::traits::AccountsMethods;
39 pub use super::traits::FuzzClient;
40 pub use super::traits::InstructionGetters;
41 pub use super::traits::InstructionHooks;
42 pub use super::traits::InstructionSetters;
43
44 pub use super::traits::RemainingAccountsMethods;
45 pub use super::traits::TransactionGetters;
46 pub use super::traits::TransactionHooks;
47 pub use super::traits::TransactionMethods;
48 pub use super::traits::TransactionSelector;
49 pub use super::traits::TransactionSetters;
50 pub use trident_derive_accounts::TridentAccounts;
52 pub use trident_derive_flow_executor::flow;
53 pub use trident_derive_flow_executor::flow_executor;
54 pub use trident_derive_flow_executor::flow_ignore;
55 pub use trident_derive_flow_executor::init;
56
57 pub use trident_derive_instruction::TridentInstruction;
58 pub use trident_derive_remaining_accounts::TridentRemainingAccounts;
59 pub use trident_derive_transaction::TridentTransaction;
60 pub use trident_derive_transaction_selector::TransactionSelector;
61 pub use trident_svm::processor;
63
64 pub use super::accounts_storage::account_storage::AccountsStorage;
66 pub use super::accounts_storage::AccountMetadata;
67 pub use super::accounts_storage::PdaSeeds;
68
69 pub use trident_config::TridentConfig;
70
71 pub use super::error::*;
72 pub use super::fuzz_stats::FuzzingStatistics;
73
74 pub use std::cell::RefCell;
75 pub use std::collections::HashMap;
76 pub use trident_svm::trident_svm::TridentSVM;
77 pub use trident_svm::utils::ProgramEntrypoint;
78
79 pub use crate::types::AccountId;
81 pub use crate::types::FuzzerData;
82
83 pub use crate::trident_accounts::TridentAccount;
85 pub use crate::trident_pubkey::TridentPubkey;
86
87 pub use borsh::{BorshDeserialize, BorshSerialize};
88
89 pub use arbitrary::Unstructured;
90}