In RToken::burn
, there is an if statement to check if the amount of RTokens a user wants to burn is more than his balance, but the amount
used is wrong, because this amount according to the natspec, the amount
is in units of the underlying asset, e.g crvUSD. While the balance is in units of RTokens
As seen above, the userBalance is in units of RTokens, while the amount that it's compared against is from the parameter passed to the function which is in units of underlying assets
This incorrect balance checks leads to the wrong amount being burned
Manual Review
The code should convert the input amount to RToken units before the balance comparison
It's underlying vs underlying
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.