The issue allows for tokens to become stuck in the contract if the internal _deposit
function fails or reverts, potentially leading to loss of user funds and accumulation of unused tokens in the contract.
The function transfers tokens to the contract before calling the internal _deposit
function. If _deposit
fails or reverts, the tokens will remain in the contract, potentially causing them to become stuck.
1 User Funds at Risk: Users who attempt to deposit tokens may lose access to their funds if the _deposit
function fails.
2 Contract Balance Accumulation: The contract's balance of tokens could increase over time as more users attempt to deposit, leading to a significant accumulation of unused tokens.
Manual code review
Modify the deposit
function to ensure that the internal state is updated (effects) before external interactions occur. This reduces the risk of tokens becoming stuck if _deposit
fails.
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.