transfer from uses stale liquidity index to calculate the scaled amount because that index never gets updated.
Following is transfer from function in the rtoken contract.
As can be seen that it uses _liquidityIndex instead of ILendingPool(_reservePool).getNormalizedIncome()
_Liquidity index never gets updated in the codebase therefore it always remains 1e27.
Scaled amount is incorrectly calculated.
Use ILendingPool(_reservePool).getNormalizedIncome() instead just like how transfer function uses it.
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.