solana_inline_spl/token_2022.rs
1/// Partial SPL Token declarations inlined to avoid an external dependency on the spl-token-2022 crate
2use crate::token::{self, GenericTokenAccount};
3
4solana_pubkey::declare_id!("TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb");
5
6// `spl_token_program_2022::extension::AccountType::Account` ordinal value
7pub const ACCOUNTTYPE_ACCOUNT: u8 = 2;
8
9pub struct Account;
10impl GenericTokenAccount for Account {
11 fn valid_account_data(account_data: &[u8]) -> bool {
12 token::Account::valid_account_data(account_data)
13 || ACCOUNTTYPE_ACCOUNT
14 == *account_data
15 .get(token::Account::get_packed_len())
16 .unwrap_or(&0)
17 }
18}