The RToken.transferFrom()
function calculates the amount to be trasfered incorrectly.
The RToken.transferFrom()
function calculates scaledAmount
as amount / reserve.liquidityIndex
.
Then, scaledAmount
is scaled again in the _update()
function. As result, the real transfered amount is amount / (reserve.liquidityIndex ^ 2)
which is less than correct value.
Users receive less tokens than real amount to be transfered.
Manual Review
Remove the process of scaling amount in transferFrom()
.
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.