trident_fuzz/
lib.rs

1pub mod accounts_storage;
2pub mod error;
3pub mod fuzz_client_impl;
4pub mod traits;
5
6pub mod trident_accounts;
7pub mod trident_pubkey;
8
9pub mod trident_rng;
10
11pub mod types;
12
13pub mod trident;
14
15pub mod fuzzing {
16    /// solana_sdk
17    pub use solana_sdk;
18    pub use solana_sdk::account::AccountSharedData;
19    pub use solana_sdk::account::ReadableAccount;
20    pub use solana_sdk::account::WritableAccount;
21    pub use solana_sdk::account_info::AccountInfo;
22    pub use solana_sdk::entrypoint::ProcessInstruction;
23    pub use solana_sdk::instruction::AccountMeta;
24    pub use solana_sdk::instruction::Instruction;
25    pub use solana_sdk::native_token::LAMPORTS_PER_SOL;
26    pub use solana_sdk::pubkey;
27    pub use solana_sdk::pubkey::Pubkey;
28    pub use solana_sdk::signer::keypair::Keypair;
29    pub use solana_sdk::signer::Signer;
30    pub use solana_sdk::transaction::Transaction;
31    pub use solana_sdk::transaction::TransactionError;
32
33    /// Trident RNG
34    pub use super::trident_rng::TridentRng;
35    pub use hex;
36
37    /// Trident traits
38    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    pub use super::traits::RemainingAccountsMethods;
44    pub use super::traits::TransactionGetters;
45    pub use super::traits::TransactionHooks;
46    pub use super::traits::TransactionPrivateMethods;
47    pub use super::traits::TransactionSetters;
48
49    /// Trident derive
50    pub use trident_derive_accounts::TridentAccounts;
51    pub use trident_derive_flow_executor::end;
52    pub use trident_derive_flow_executor::flow;
53    pub use trident_derive_flow_executor::flow_executor;
54    pub use trident_derive_flow_executor::init;
55    pub use trident_derive_fuzz_test_methods::FuzzTestMethods;
56
57    pub use trident_derive_instruction::TridentInstruction;
58    pub use trident_derive_remaining_accounts::TridentRemainingAccounts;
59    pub use trident_derive_transaction::TridentTransaction;
60
61    /// Trident svm
62    pub use trident_svm::prelude;
63    pub use trident_svm::processor;
64    pub use trident_svm::trident_svm::TridentSVM;
65    #[cfg(any(feature = "syscall-v1", feature = "syscall-v2"))]
66    pub use trident_svm::types::trident_entrypoint::TridentEntrypoint;
67    pub use trident_svm::types::trident_program::TridentProgram;
68
69    /// Accounts storages
70    pub use super::accounts_storage::account_storage::AccountsStorage;
71    pub use super::accounts_storage::AccountMetadata;
72    pub use super::accounts_storage::PdaSeeds;
73
74    /// Trident config
75    pub use trident_config::TridentConfig;
76
77    /// Trident
78    pub use super::trident::Trident;
79    pub use trident_fuzz_metrics::TridentFuzzingData;
80
81    /// Error
82    pub use super::error::*;
83
84    /// Trident accounts
85    pub use crate::trident_accounts::TridentAccount;
86    pub use crate::trident_pubkey::TridentPubkey;
87
88    pub use borsh;
89    pub use borsh::BorshDeserialize;
90    pub use borsh::BorshSerialize;
91
92    pub use getrandom;
93    pub use indicatif;
94
95    // coverage
96    pub use reqwest;
97    pub use tokio;
98
99    extern "C" {
100        pub fn __llvm_profile_set_filename(filename: *const i8);
101        pub fn __llvm_profile_write_file() -> i32;
102        pub fn __llvm_profile_reset_counters();
103    }
104}