#[cfg(all(feature = "solana-v2", feature = "solana-v3"))]
compile_error!("Cannot enable both 'solana-v2' and 'solana-v3' features at the same time. Choose one.");
#[cfg(all(feature = "client", feature = "client-v3"))]
compile_error!("Cannot enable both 'client' and 'client-v3' features at the same time. Use 'client' for Solana v2 or 'client-v3' for Solana v3.");
#[cfg(all(feature = "client-v2", feature = "client-v3"))]
compile_error!("Cannot enable both 'client-v2' and 'client-v3' features at the same time. Use 'client-v2' for Solana v2 or 'client-v3' for Solana v3.");
#[cfg(feature = "anchor")]
pub use anchor_lang::solana_program;
#[cfg(all(not(feature = "anchor"), feature = "solana-v3"))]
pub extern crate solana_program_v3;
#[cfg(all(not(feature = "anchor"), feature = "solana-v3"))]
pub use solana_program_v3 as solana_program;
#[cfg(all(
not(feature = "anchor"),
not(feature = "solana-v3"),
feature = "solana-v2"
))]
pub use solana_program_v2 as solana_program;
#[cfg(all(
not(feature = "anchor"),
not(feature = "solana-v2"),
not(feature = "solana-v3")
))]
pub use solana_program_v2 as solana_program;
#[cfg(feature = "client")]
pub use anchor_client::solana_sdk;
#[cfg(feature = "client-v3")]
pub use solana_client_v3 as solana_client;
#[cfg(feature = "client")]
pub use solana_client_v2 as solana_client;
pub use solana_program::{
account_info::AccountInfo,
instruction::{AccountMeta, Instruction},
msg,
pubkey::{pubkey, Pubkey},
sysvar,
};
#[cfg(feature = "anchor")]
pub use solana_program_v2::{ed25519_program, hash};
#[cfg(not(feature = "anchor"))]
pub use solana_program::{ed25519_program, hash};
#[cfg(all(target_os = "solana", not(feature = "anchor")))]
pub use solana_program::syscalls;
#[cfg(all(target_os = "solana", feature = "anchor"))]
pub use solana_program_v2::syscalls;
pub const SYSTEM_PROGRAM_ID: Pubkey = pubkey!("11111111111111111111111111111111");
pub const ADDRESS_LOOKUP_TABLE_PROGRAM_ID: Pubkey =
pubkey!("AddressLookupTab1e1111111111111111111111111");
#[cfg(any(feature = "anchor", feature = "solana-v2"))]
extern "C" {
pub fn sol_memcpy_(dst: *mut u8, src: *const u8, n: u64);
}
#[cfg(all(not(feature = "anchor"), not(feature = "solana-v2")))]
extern "C" {
pub fn sol_memcpy_(dst: *mut u8, src: *const u8, n: u64);
}