pub fn nft_tokens(
        &self,
        account_id: AccountId,
    ) -> Vec<NonFungibleToken> {
        let tokens = self.nft_holdings.get(&account_id);
        if tokens.is_none() { return Vec::new() }
        let token_ids = tokens.unwrap();

        token_ids.iter()
            .map(|id| NonFungibleToken {
                id: id.to_string(),
                owner_id: env::current_account_id()
            })
            .collect()
    }
/// Single Non-Fungible Token Balance
/// NOTE: Unlike the FT standard, this account_id is the "fungible token account id"
/// 
/// ```bash
/// near call treasury.testnet nft_tokens '{"account_id": "image.testnet"}'
/// ```
Single Non-Fungible Token Balance
NOTE: Unlike the FT standard, this account_id is the "fungible token account id"


Single Non - Fungible Token Balance NOTE : Unlike the FT standard this account_id is the " fungible token account id "
pub fn nft_tokens(
        &self,
        account_id: AccountId,
    ) -> Vec<NonFungibleToken> {
        let tokens = self.nft_holdings.get(&account_id);
        if tokens.is_none() { return Vec::new() }
        let token_ids = tokens.unwrap();
        token_ids.iter()
            .map(|id| NonFungibleToken {
                id: id.to_string(),
                owner_id: env::current_account_id()
            })
            .collect()
    }
pub fn nft_tokens ( & self , account_id : AccountId , ) -> Vec < NonFungibleToken > { let tokens = self . nft_holdings . get ( & account_id ) ; if tokens . is_none ( ) { return Vec :: new ( ) } let token_ids = tokens . unwrap ( ) ; token_ids . iter ( ) . map ( | id | NonFungibleToken { id : id . to_string ( ) , owner_id : env :: current_account_id ( ) } ) . collect ( ) }
Single Non-Fungible Token Balance
NOTE: Unlike the FT standard, this account_id is the "fungible token account id"
Single Non - Fungible Token Balance NOTE : Unlike the FT standard this account_id is the " fungible token account id "
&self
account_id
AccountId
&self
account_id
AccountId