use {crate::types::TokenAccountState, solana_pubkey::Pubkey};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
pub struct TokenAccount {
pub mint: Pubkey,
pub owner: Pubkey,
pub amount: u64,
pub delegate_flag: u32,
pub delegate: Pubkey,
pub state: TokenAccountState,
pub is_native_flag: u32,
pub native_amount: u64,
pub delegate_amount: u64,
pub close_authority_flag: u32,
pub close_authority: Pubkey,
}