Summary
The StabilityPool.getExchangeRate function returns a hardcoded 1e18 value, ignoring actual pool balances. This creates a permanent 1:1 ratio between rToken and deToken, regardless of market conditions.
Incorrect Token Minting/Burning: Users receive incorrect amounts of deToken during deposits/withdrawals.
Protocol-Wide Accounting Failure: Breaks the core mechanism for tracking liquidity provider shares.
Arbitrage Exploits: Attackers could drain reserves by exploiting artificial pricing.
Manual code review
Implement dynamic exchange rate calculation based on actual pool balances.
Add unit tests verifying rate changes during deposits/withdrawals.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.