The claimFaucetTokens function drips Sepolia ETH to first-time claimers but continues with token claims even if the ETH drip fails (due to insufficient contract balance or daily cap). This results in inconsistent behavior, where users receive tokens but not the expected ETH, causing confusion.
Likelihood:
Occurs when the contract’s ETH balance is below sepEthAmountToDrip or dailyDrips exceeds dailySepEthCap.
Occurs for first-time claimers expecting both tokens and ETH.
Impact:
Users receive tokens without ETH, leading to confusion and poor user experience.
Could reduce trust in the faucet’s reliability for testnet interactions.
Explanation: The PoC shows that when the contract has insufficient ETH, the claimFaucetTokens function emits SepEthDripSkipped but still transfers tokens. This creates an inconsistent experience for first-time claimers expecting both ETH and tokens.
Explanation: We modify claimFaucetTokens to revert the entire transaction for first-time claimers if the ETH drip fails, ensuring that users either receive both tokens and ETH or neither. This provides a consistent user experience and aligns with the faucet’s purpose.
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.