#[cfg(all(feature = "solana-v3", feature = "solana-v4"))]
compile_error!(
"anchor-spl: features `solana-v3` and `solana-v4` are mutually exclusive, but both are \
enabled. This usually means a dependency re-enabled anchor-spl's default features while \
something else asked for `solana-v4`. Add `default-features = false` to that dependency, or \
settle the whole dependency graph on one cohort."
);
#[cfg(not(any(feature = "solana-v3", feature = "solana-v4")))]
compile_error!(
"anchor-spl: enable exactly one of the `solana-v3` or `solana-v4` features. `solana-v3` is \
the default, so this usually means `default-features = false` was set without naming a \
replacement cohort."
);
#[cfg(feature = "solana-v3")]
pub use {
solana_stake_interface_v3 as solana_stake_interface, solana_sysvar_v3 as solana_sysvar,
spl_token_2022_interface_v3 as spl_token_2022_interface,
spl_token_interface_v3 as spl_token_interface,
spl_token_metadata_interface_v3 as spl_token_metadata_interface,
};
#[cfg(feature = "solana-v4")]
pub use {
solana_stake_interface_v4 as solana_stake_interface, solana_sysvar_v4 as solana_sysvar,
spl_token_2022_interface_v4 as spl_token_2022_interface,
spl_token_interface_v4 as spl_token_interface,
spl_token_metadata_interface_v4 as spl_token_metadata_interface,
};
#[cfg(all(feature = "solana-v3", feature = "token_2022_extensions"))]
pub mod solana_nullable {
pub use spl_pod::optional_keys::OptionalNonZeroPubkey as MaybeNull;
}
#[cfg(all(feature = "solana-v4", feature = "token_2022_extensions"))]
pub use solana_nullable;