The rToken is a rebase token.
The interest accumulated by rTokens deposited in StabilityPool
is lost.
RToken is a rebasing token, meaning it increases in balance not in value. rToken balance is derived from the scaledBalance
, which remains constant for a user unless they mint/burn (deposit/ withdraw in LendingPool) or transfer.
The key relationship is rToken balance = scaledBalance * liquidityIndex
, where index tracks interest accumulation.
User can deposit rTokens in `StabilityPool for additional rewards. A one-to-one amount of deToken is minted.
On withdraw, the deCRVUSDAmount
deToken is burned and same amount of rToken is transfered to user.
The problem is that any interest accumulated by rTokens deposited in the StabilityPool
is lost. Users can't withdraw more than the amount deposited due to fixed deToken balances (where rToken balances increase as the liquidityIndex
increases) and due to the second userDeposits
accounting.
Loss of accumulated interest.
There are different possible solution to address this issue:
wrap rToken in a wrToken that increases in value. eg. similarly to wstEth; allow users to deposit wrToken in StabilityPool
;
update deToken and StabilityPool implementation and make deToken to be the wrapped variant of rToken. deToken will be redeemable for deposited rToken and interest accumulated.
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.