const holderBalances = await client.getTokenBalance("spark1abc...", [tokenIdentifier]);
const info = holderBalances.get(tokenIdentifier);
if (!info) throw new Error("No balance found (zero balance, unknown token, or privacy mode)");
function formatUnits(amount: bigint, decimals: number): string {
const negative = amount < 0n;
const value = negative ? -amount : amount;
const base = 10n ** BigInt(decimals);
const whole = value / base;
const fraction = value % base;
const fractionStr = fraction.toString().padStart(decimals, "0").replace(/0+$/, "");
const out = fractionStr ? `${whole.toString()}.${fractionStr}` : whole.toString();
return negative ? `-${out}` : out;
}
console.log(`${formatUnits(info.ownedBalance, info.tokenMetadata.decimals)} ${info.tokenMetadata.tokenTicker}`);