Normally when a user claims a SepETH token dailyDrips usually incremented on each user claim. So, it will be useful to track counting and check the dailySepEthCaplimitation.
The problem arises when an already claimed user tries to claim SepETH or faucet tokens; the conditions aren't met in the if (!hasClaimedEth[faucetClaimer] && !sepEthDripsPaused) as they have already received SepETH tokens. So, it moves to the else block, and there dailyDrips gets reset to 0.
Likelihood:
Any user can repeatedly call claimFaucetTokens function, so the issue occurs on every repeated call from a prior claimer within the same day.
Impact:
Because of the reset issue, there is no point of having dailySepEthCap; also, any number of users can claim SepETH tokens until the faucet contract balance is insufficient.
Explanation
When the user1 calls claimFaucetTokens function to claim SepETH for the first time, dailyDrips increase to 0.005 ether.
Again three more users(user2, user3, user4) each claim SepETH for the first time by calling claimFaucetTokens function. After these three claims dailyDrips increases to 0.02 ether.
Advance time past the 3‑day cooldown, user1 who has already received SepETH calls claimFaucetTokens function, the function executes the else block as the user1 claimed ETH token before and dailyDrips reset to 0.
Remove the else block entirely. dailyDrips should only reset when a new day starts not when a user call the function again.
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.