#![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_auto_cfg))]
#![warn(
unused_import_braces,
unused_imports,
missing_docs,
missing_debug_implementations,
clippy::pedantic
)]
#![allow(
clippy::cast_possible_truncation,
clippy::module_name_repetitions,
clippy::missing_errors_doc,
clippy::too_many_lines,
clippy::mut_mut
)]
extern crate core;
extern crate self as cruiser;
#[macro_use]
mod macros;
pub mod account_types;
#[cfg(feature = "client")]
pub mod client;
pub mod compressed_numbers;
pub mod entrypoint;
pub mod indexer;
pub mod pda_seeds;
#[cfg(feature = "spl-token")]
pub mod spl;
#[cfg(feature = "testing")]
pub mod testing;
pub mod types;
pub mod util;
mod account_info;
mod cpi;
mod generic_error;
mod impls;
mod traits;
pub use account_info::*;
pub use borsh;
pub use cpi::*;
pub use cruiser_derive::verify_account_arg_impl;
pub use generic_error::*;
pub use indexer::AllAny;
pub use solana_program;
pub use solana_program::account_info::AccountInfo as SolanaAccountInfo;
pub use solana_program::msg;
pub use solana_program::{
clock::UnixTimestamp,
instruction::{AccountMeta as SolanaAccountMeta, Instruction as SolanaInstruction},
pubkey::Pubkey,
};
#[cfg(feature = "spl-token")]
pub use spl_token;
pub use static_assertions;
pub use traits::error::CruiserResult;
pub use traits::*;
#[cfg(feature = "rand")]
pub use rand;
#[cfg(feature = "rand_chacha")]
pub use rand_chacha;
#[cfg(feature = "solana-client")]
pub use solana_client;
#[cfg(feature = "solana-program-test")]
pub use solana_program_test;
#[cfg(feature = "solana-sdk")]
pub use solana_sdk;
#[cfg(feature = "solana-transaction-status")]
pub use solana_transaction_status;