The editPool function fails to verify that pool_.payoutStart is greater than the current block.timestamp, thereby violating the constraints established during pool creation. This allows the owner to promptly modify payoutStart through editPool right after creating the pool, effectively bypassing the check in createPool.
When the owner creates new pools using createPool, it ensures that pool_.payoutStart is greater than the block.timestamp.
However, in the editPool function, there are no checks for pool_.payoutStart. This allows the owner to freely modify pool_.payoutStart to any time, even if it is less than block.timestamp.
The owner has the ability to create pools with a payoutStart less than the current block.timestamp.
Manual Review
Add a check in the function editPool:
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.