- The assumption
- “Reward tokens behave like 18-decimal tokens.”
- What broke
- Reward-per-token is accrued with 18-decimal fixed-point maths. Fund the pool in USDC (6 decimals) with a large staked supply and each increment is smaller than one unit, so integer division truncates it to zero.
- Impact
- Stakers earn nothing while the distribution looks funded.
elapsed * rate * 1e18 / totalSupply // → 0 for USDC
