1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use anchor_lang::prelude::*;
use anchor_lang::solana_program::*;
use anchor_spl::associated_token;


pub fn is_associated_token_account_address(
    address: &Pubkey,
    authority: &Pubkey,
    mint: &Pubkey,
) -> bool {
    address == &associated_token::get_associated_token_address(
        authority,
        mint,
    )
}

pub fn is_uninitialized(account: &AccountInfo) -> bool {
    account.owner == &system_program::ID
}