From dbb63088a3a0199f89afd548d4142f6c37585d85 Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Sun, 15 Mar 2026 10:39:37 +0000 Subject: [PATCH] [#90] Use actual reserve token decimals in WriterTradingStats Fetch decimals from getTokenTVL (which reads reserveToken.decimals() on-chain) instead of hardcoding 18. Fixes incorrect display for non-18-decimal reserve tokens like USDC. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/components/WriterTradingStats.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/components/WriterTradingStats.tsx b/src/components/WriterTradingStats.tsx index bdfa18e6..f9859981 100644 --- a/src/components/WriterTradingStats.tsx +++ b/src/components/WriterTradingStats.tsx @@ -67,6 +67,7 @@ export function WriterTradingStats({ storyline }: WriterTradingStatsProps) { }, }); + const decimals = tvlData?.decimals; const earnings = donationsTotal !== undefined && royaltyData ? donationsTotal + royaltyData.unclaimed @@ -79,13 +80,13 @@ export function WriterTradingStats({ storyline }: WriterTradingStatsProps) { Earnings - {earnings !== undefined - ? `${formatUnits(earnings, 18)} ${reserveLabel}` + {earnings !== undefined && decimals !== undefined + ? `${formatUnits(earnings, decimals)} ${reserveLabel}` : "—"} - {donationsTotal !== undefined && `D: ${formatUnits(donationsTotal, 18)}`} - {royaltyData && ` R: ${formatUnits(royaltyData.unclaimed, 18)}`} + {donationsTotal !== undefined && decimals !== undefined && `D: ${formatUnits(donationsTotal, decimals)}`} + {royaltyData && decimals !== undefined && ` R: ${formatUnits(royaltyData.unclaimed, decimals)}`}
@@ -93,7 +94,7 @@ export function WriterTradingStats({ storyline }: WriterTradingStatsProps) { Token Price - {price !== undefined ? `${formatUnits(BigInt(price), 18)} ${reserveLabel}` : "—"} + {price !== undefined && decimals !== undefined ? `${formatUnits(BigInt(price), decimals)} ${reserveLabel}` : "—"}