← all findingslow SHARE_COUNT_MISREPORT
MSFT: balanceOf() is 1.000412953x away from share-equivalents
subject MSFT (0xe93237C50D904957Cf27E7B1133b510C669c2e74) · methodology assay-rh-v0.2.0 · detected 2026-09-21T20:50:08.000Z
MSFT reports uiMultiplier() = 1000412952576205964 (1.000412953). 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.0413% (the true count is 1.0004x the raw balance). Token value computed as balance * Chainlink feed price is unaffected, because the feed is already multiplier-adjusted.
Impact
4.13 bps · 0.0413%
totalSupply raw 5923.0888 tokens vs 5925.5348 share-equivalents (delta 2.4460). Presenting the raw balance as a share count understates by 0.0413%; equivalently the true count is 1.0004x the raw.
Evidence — 2/2 citations re-fetched and byte-compared
mismatched 0 · pruned 0 · verified 2026-09-21T20:50:19.164Z
uiMultiplier() == 1000412952576205964
0x0000000000000000000000000000000000000000000000000de22e47ab01248c
totalSupply() == 5923088845200000000000
0x000000000000000000000000000000000000000000000141175ec2d6f8aba000