Issue:
The StrategyMainnet contract does not include a mechanism to recover tokens inadvertently sent to the contract that are not part of the strategy's operations (e.g., tokens other than underlying or asset). Over time, this can result in stray tokens being permanently locked within the contract.
Medium to High.
Locked Tokens:
Any unexpected tokens sent to the contract (e.g., as a mistake or through malicious means) cannot be recovered without deploying a new contract or modifying the existing one.
Operational Inefficiencies:
Locked tokens contribute to inefficiencies by reducing the recoverable funds available to the protocol.
Trust and User Experience:
Users or third-party protocols might accidentally transfer tokens, leading to dissatisfaction if recovery is not possible.
The contract does not include any rescueTokens or equivalent function to handle unexpected tokens:
Accidental Transfers:
A user mistakenly transfers unrelated tokens to the strategy contract.
Malicious Token Transfers:
An attacker sends tokens to inflate the contract’s perceived balance to manipulate audits or confuse accounting.
Locked Tokens:
Without a recovery mechanism, these tokens remain inaccessible and unusable.
Implement a function to recover non-strategy tokens, restricted to authorized roles such as onlyManagement. This ensures that tokens not part of the strategy’s operations can be safely returned.
Implement a Rescue Function:
Allow authorized roles to retrieve tokens that are not part of the strategy.
Prevent Strategy Token Misuse:
Include safeguards to ensure asset and underlying tokens cannot be "rescued" or transferred unintentionally.
Unexpected Token Transfer:
A user mistakenly sends USDC to the strategy contract.
Execute Rescue Function:
The rescueTokens function is invoked by the management role to transfer the USDC back to the user.
Expected Outcome:
USDC tokens are successfully transferred back to the user without affecting the strategy’s asset or underlying balances.
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.