In RToken
contract, the updateLiquidityIndex()
functions cannot be executed as intended because the Reserve Pool
contract lacks the necessary implementation to call it. Additionally, _liquidityIndex
remains unchanged, always defaulting to WadRayMath.RAY
in every transferFrom()
function.
The function updateLiquidityIndex()
is intended to update _liquidityIndex
, but it is never called from the Reserve Pool
contract.As a result, _liquidityIndex
always retains its default value of WadRayMath.RAY
.
This directly affects every transferFrom()
function where _liquidityIndex
is used, causing incorrect scaling of values.
Due to the absence of implementation in the Reserve Pool
contract, the _liquidityIndex
remains unchanged, leading to incorrect scaling in transferFrom()
, potentially affecting token transfers and balances.
The protocol inconsistently uses different indexes in transfer()
and transferFrom()
, leading to potential discrepancies in token transfers.
Manual Review
Remove the updateLiquidityIndex()
function since it is never used.
Replace _liquidityIndex
with ILendingPool(_reservePool).getNormalizedIncome()
in transferFrom()
to ensure accurate scaling.
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.