DEToken is a normal token which is minted by the stability pool and is tradable 1:1 for rToken
This can be seen in the comments
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/tokens/DEToken.sol#L15
And it's implementation of transfer and transferFrom
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/tokens/DEToken.sol#L109
However even though it's tradable it's not redeemable as withdraw does this crucial check before burning your tokens.
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/pools/StabilityPool/StabilityPool.sol#L224
In short this means that if you weren't the one that bought them, then you are not able to redeem them. This is not wanted and it break the whole concept of freely transferable tokens as even if someone buys those tokens and hold them they won't be able to redeem them.
Some tokens will end up stuck as the original redeemer won't want the anymore
Users who bought this freely traded token won't be able to redeem it
The token then won't be useful for anyone else but the ones that bought it.
Manual review
Remove this check and only burn the token.
https://github.com/Cyfrin/2025-02-raac/blob/main/contracts/core/pools/StabilityPool/StabilityPool.sol#L224
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.