use solana_pubkey::Pubkey;
#[doc(hidden)]
pub const ALLOWLIST_PROGRAM_SEED_PREFIX: &str = "allowlist_program";
#[doc(hidden)]
pub fn get_allowlist_program_pda(program_id: &Pubkey) -> (Pubkey, u8) {
Pubkey::find_program_address(&[ALLOWLIST_PROGRAM_SEED_PREFIX.as_bytes()], program_id)
}
pub const PRIVATE_ALLOWLIST_PREFIX: &str = "private_allowlist";
pub fn get_private_allowlist_pda(mint: &Pubkey, program_id: &Pubkey) -> (Pubkey, u8) {
Pubkey::find_program_address(
&[PRIVATE_ALLOWLIST_PREFIX.as_bytes(), mint.as_ref()],
program_id,
)
}
#[doc(hidden)]
pub const PUBLIC_ALLOWED_ACCOUNT_SEED_PREFIX: &str = "public_allowed_account";
#[doc(hidden)]
pub fn get_public_allowed_account_pda(user_account: &Pubkey, program_id: &Pubkey) -> (Pubkey, u8) {
Pubkey::find_program_address(
&[
PUBLIC_ALLOWED_ACCOUNT_SEED_PREFIX.as_bytes(),
user_account.as_ref(),
],
program_id,
)
}
#[doc(hidden)]
pub const PRIVATE_ALLOWED_ACCOUNT_SEED_PREFIX: &str = "private_allowed_account";
#[doc(hidden)]
pub fn get_private_allowed_account_pda(
user_account: &Pubkey,
mint: &Pubkey,
program_id: &Pubkey,
) -> (Pubkey, u8) {
Pubkey::find_program_address(
&[
PRIVATE_ALLOWED_ACCOUNT_SEED_PREFIX.as_bytes(),
user_account.as_ref(),
mint.as_ref(),
],
program_id,
)
}
pub const ADMIN_SEED_PREFIX: &str = "admin_authority";
#[doc(hidden)]
pub fn get_admin_pda(program_id: &Pubkey) -> (Pubkey, u8) {
Pubkey::find_program_address(&[ADMIN_SEED_PREFIX.as_bytes()], program_id)
}