The rescueToken
function in the RToken contract is restricted by the onlyReservePool modifier, implying it can only be called by the ReservePool
. However, since the ReservePool contract does not implement any function to invoke rescueToken, this functionality is effectively unavailable. Consequently, _assetAddress
tokens sent to the RToken contract cannot be rescued.
The rescueToken
function, designed to retrieve mistakenly sent tokens (except for the main asset), is never actually callable because there is no code path in the ReservePool contract to execute it. Although the onlyReservePool modifier intends to restrict usage, it also prevents legitimate rescue attempts, as the ReservePool lacks an interface or function to trigger this rescue.
Tokens that are mistakenly transferred to RToken remain irretrievable, limiting recovery options.
Manual Code Review and Foundry
Implement a function in the ReservePool that can invoke rescueToken
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.