trident_fuzz/
lib.rs

1pub mod address_storage;
2pub mod error;
3pub mod trident;
4pub mod trident_rng;
5
6pub mod fuzzing {
7    /// solana_sdk
8    pub use solana_sdk;
9    pub use solana_sdk::account::AccountSharedData;
10    pub use solana_sdk::account::ReadableAccount;
11    pub use solana_sdk::account::WritableAccount;
12    pub use solana_sdk::account_info::AccountInfo;
13    pub use solana_sdk::entrypoint::ProcessInstruction;
14    pub use solana_sdk::instruction::AccountMeta;
15    pub use solana_sdk::instruction::Instruction;
16    pub use solana_sdk::native_token::LAMPORTS_PER_SOL;
17    pub use solana_sdk::pubkey;
18    pub use solana_sdk::pubkey::Pubkey;
19    pub use solana_sdk::signer::keypair::Keypair;
20    pub use solana_sdk::signer::Signer;
21    pub use solana_sdk::transaction::Transaction;
22    pub use solana_sdk::transaction::TransactionError;
23
24    /// Trident RNG
25    pub use super::trident_rng::TridentRng;
26    pub use hex;
27
28    /// Trident derive
29    pub use trident_derive_flow_executor::end;
30    pub use trident_derive_flow_executor::flow;
31    pub use trident_derive_flow_executor::flow_executor;
32    pub use trident_derive_flow_executor::init;
33    pub use trident_derive_fuzz_test_methods::FuzzTestMethods;
34
35    /// Trident svm
36    pub use trident_svm::prelude;
37    pub use trident_svm::processor;
38    pub use trident_svm::trident_svm::TridentSVM;
39    #[cfg(feature = "syscall-v2")]
40    pub use trident_svm::types::trident_entrypoint::TridentEntrypoint;
41    pub use trident_svm::types::trident_program::TridentProgram;
42
43    /// Accounts storages
44    pub use super::address_storage::AddressStorage;
45    pub use super::address_storage::PdaSeeds;
46
47    /// Trident config
48    pub use trident_config::TridentConfig;
49
50    /// Trident
51    pub use super::trident::flow_executor::FlowExecutor;
52    pub use super::trident::Trident;
53    pub use trident_fuzz_metrics::TridentFuzzingData;
54
55    /// Error
56    pub use super::error::*;
57
58    pub use borsh;
59    pub use borsh::BorshDeserialize;
60    pub use borsh::BorshSerialize;
61
62    pub use getrandom;
63    pub use indicatif;
64
65    // coverage
66    pub use reqwest;
67    pub use tokio;
68
69    #[cfg(feature = "token")]
70    pub use super::trident::AccountExtension;
71    #[cfg(feature = "token")]
72    pub use super::trident::MintExtension;
73    #[cfg(feature = "token")]
74    pub use super::trident::MintExtensionData;
75    #[cfg(feature = "token")]
76    pub use super::trident::MintWithExtensions;
77    #[cfg(feature = "token")]
78    pub use super::trident::TokenAccountExtensionData;
79    #[cfg(feature = "token")]
80    pub use super::trident::TokenAccountWithExtensions;
81
82    extern "C" {
83        pub fn __llvm_profile_set_filename(filename: *const i8);
84        pub fn __llvm_profile_write_file() -> i32;
85        pub fn __llvm_profile_reset_counters();
86    }
87}