From fc0907f8ac32e37b42c9fd1770c670acb86b4d55 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Tue, 10 Feb 2026 22:56:22 +0300 Subject: [PATCH] fix(tiki): fetch roleNFTs from blockchain instead of returning empty array - getAllTikiNFTDetails now calls fetchUserTikiNFTs to query UserTikis storage - This enables proper authorization check for government roles like Serok --- shared/lib/tiki.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/shared/lib/tiki.ts b/shared/lib/tiki.ts index f4428b65..121f26e0 100644 --- a/shared/lib/tiki.ts +++ b/shared/lib/tiki.ts @@ -549,14 +549,19 @@ export const getAllTikiNFTDetails = async ( totalNFTs: number; }> => { try { - // Only fetch citizen NFT because it's the only one with stored item ID - // Role assignments in UserTikis don't have associated NFT item IDs + // Fetch citizen NFT details (has stored item ID in CitizenNft storage) const citizenNFT = await getCitizenNFTDetails(api, address); + // Fetch all role tikis from UserTikis storage on blockchain + const allRoleNFTs = await fetchUserTikiNFTs(api, address); + + // Filter out Welati since it's represented by citizenNFT + const roleNFTs = allRoleNFTs.filter(nft => nft.tikiRole !== 'Welati'); + return { citizenNFT, - roleNFTs: [], // Don't show role NFTs because UserTikis doesn't store item IDs - totalNFTs: citizenNFT ? 1 : 0 + roleNFTs, + totalNFTs: (citizenNFT ? 1 : 0) + roleNFTs.length }; } catch (error) {