pub trait TokenMint:
Any
+ Send
+ Sync {
// Required methods
fn address(&self) -> Pubkey;
fn mint_authority(&self) -> Option<Pubkey>;
fn supply(&self) -> u64;
fn decimals(&self) -> u8;
fn freeze_authority(&self) -> Option<Pubkey>;
fn is_initialized(&self) -> bool;
fn get_token_program(&self) -> Box<dyn TokenInterface>;
fn as_any(&self) -> &dyn Any;
}