← all findings
medium SHARE_COUNT_MISREPORT

UPS: balanceOf() is 1.002208725x away from share-equivalents

subject UPS (0xf23250dac154D05Bb671CB0d0eBEf3c635c79CE2) · methodology assay-rh-v0.2.0 · detected 2026-09-21T20:51:05.000Z

UPS reports uiMultiplier() = 1002208724969205741 (1.002208725). 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.2204% (the true count is 1.0022x the raw balance). Token value computed as balance * Chainlink feed price is unaffected, because the feed is already multiplier-adjusted.

Impact
22.09 bps · 0.2204%
totalSupply raw 2964.7409 tokens vs 2971.2892 share-equivalents (delta 6.5483). Presenting the raw balance as a share count understates by 0.2204%; equivalently the true count is 1.0022x the raw.
Evidence — 2/2 citations re-fetched and byte-compared
mismatched 0 · pruned 0 · verified 2026-09-21T20:51:16.175Z
uiMultiplier() == 1002208724969205741
chain 4663 · block 69097785 · uiMultiplier()
0xf23250dac154D05Bb671CB0d0eBEf3c635c79CE2
0x0000000000000000000000000000000000000000000000000de88f8682962fed
totalSupply() == 2964740892740000000000
chain 4663 · block 69097785 · totalSupply()
0xf23250dac154D05Bb671CB0d0eBEf3c635c79CE2
0x0000000000000000000000000000000000000000000000a0b80b86139a2da800