Use of block.timestamp allows validators to hold transactions and it doesn't serve as an adequate protection against slippage.
Using block.timestamp means a transaction will only go through when included in the mined blocks by validators. This can result to a loss.
Crypto is volatile. The time frame a transaction should go through shouldn't be pegged to block.timestamp. As it is, the contract is at the mercy of validators.
There could be delay in adding the transaction to the block. And this can result to getting fewer tokens out.
Manual review
Use a specific time and not block.timestamp
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.