The deposit function allows the transfer of tokens without measuring the balance before and after the transfer. This can potentially lead to issues when dealing with tokens that have a fee-on-transfer mechanic, as the contract has no way to ensure that the correct amount of tokens is transferred. In cases where the contract holds latent funds, subsequent transfers may succeed, which can result in unexpected behavior.
The deposit function is designed to transfer tokens from the from address to the contract address. However, it does not verify or measure the balance of the contract's token holdings before and after the transfer. This lack of verification can be problematic, especially when interacting with tokens that implement a fee-on-transfer mechanism.
The contract may not accurately reflect the token balances it holds, which can lead to discrepancies between expected and actual token holdings.
Manual Review
Implement balance verification before and after token transfers to ensure accurate accounting.
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.