Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
In frontend/src/components/IncomingStreams.tsx:
function formatTokenAmount(value: number, decimals = 7): string {
if (!Number.isFinite(value)) return '0.0000000';
return formatAmount(BigInt(Math.floor(value)), decimals);
}
value here is an already human-scaled token amount (the Stream mapper in lib/dashboard.ts divides raw stroops by 1e7). Passing it through formatAmount(BigInt(Math.floor(value)), 7) re-interprets it as raw base units and floors it, so e.g. 10.5 renders as 0.0000010 instead of 10.5. The Deposited/Withdrawn/Claimable columns in the incoming-streams table therefore show wildly wrong (tiny) numbers.
Acceptance criteria
Files to touch
frontend/src/components/IncomingStreams.tsx
Out of scope
Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
In
frontend/src/components/IncomingStreams.tsx:valuehere is an already human-scaled token amount (theStreammapper inlib/dashboard.tsdivides raw stroops by 1e7). Passing it throughformatAmount(BigInt(Math.floor(value)), 7)re-interprets it as raw base units and floors it, so e.g.10.5renders as0.0000010instead of10.5. The Deposited/Withdrawn/Claimable columns in the incoming-streams table therefore show wildly wrong (tiny) numbers.Acceptance criteria
Intl.NumberFormatwith up to 7 fraction digits, asIncomingStreamCarddoes) rather than round-tripping throughformatAmountfor base unitsFiles to touch
frontend/src/components/IncomingStreams.tsxOut of scope