There are 2 require
statements that make sure that a certain time has passed. One is in Distribution::createPool
and the other is in Distribution::claim
. In these checks >
is used to compare the values. They should also be callable on the exact time as well and >=
should be used.
First lets look at createPool
function. It can be called only by the owner and it's purpose is to create a pool. The first line is require(pool_.payoutStart > block.timestamp, "DS: invalid payout start value");
. This is to make sure that the pool's payoutStart
is after the current time. This will not allow the owner to create a pool with payoutStart == block.timestamp
Now lets look at the claim
function. This function can be called by anyone as long as the pool exists. In here we have require(block.timestamp > pool.payoutStart + pool.claimLockPeriod, "DS: pool claim is locked");
. This check will only allow users to claim their rewards after the pool's payoutStart + claimLockPeriod
have elapsed. With this the users will not be able to call this function when the block.timestamp == payoutStart + claimLockPeriod
.
Owner and users will not be able to call functions on the current block.timestamp
.
Manual Review
Use >=
instead of >
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.