← all findings
medium SHARE_COUNT_MISREPORT

TSM: balanceOf() is 1.001463024x away from share-equivalents

subject TSM (0x58FfE4a942d3885bAa22D7520691F611EF09e7AA) · methodology assay-rh-v0.2.0 · detected 2026-09-21T20:49:51.000Z

TSM reports uiMultiplier() = 1001463024159690554 (1.001463024). Under ERC-8056 a corporate action moves this multiplier rather than balances, so balanceOf() returns tokens, not share-equivalents. Share-equivalents = balance * uiMultiplier() / 1e18. Any surface presenting balanceOf() as a share count understates it by 0.1461% (the true count is 1.0015x the raw balance). Token value computed as balance * Chainlink feed price is unaffected, because the feed is already multiplier-adjusted.

Impact
14.63 bps · 0.1461%
totalSupply raw 3407.8944 tokens vs 3412.8803 share-equivalents (delta 4.9858). Presenting the raw balance as a share count understates by 0.1461%; equivalently the true count is 1.0015x the raw.
Evidence — 2/2 citations re-fetched and byte-compared
mismatched 0 · pruned 0 · verified 2026-09-21T20:49:58.405Z
uiMultiplier() == 1001463024159690554
chain 4663 · block 69097044 · uiMultiplier()
0x58FfE4a942d3885bAa22D7520691F611EF09e7AA
0x0000000000000000000000000000000000000000000000000de5e95082ba0f3a
totalSupply() == 3407894428120000000000
chain 4663 · block 69097044 · totalSupply()
0x58FfE4a942d3885bAa22D7520691F611EF09e7AA
0x0000000000000000000000000000000000000000000000b8be0926939d947000