The Snow::earnSnow()
function uses a single global timer (s_earnTimer)
to enforce its "once per week" claim restriction. When any user claims free tokens:
The global timer resets to the current timestamp
-All subsequent claims (by any user) are blocked for 7 days
This contradicts protocol documentation stating users can claim tokens "for free once a week" (per-account basis).
Impact:
Complete Denial-of-Service: Free claims become unusable
Broken Protocol Incentives: Renders core user acquisition feature nonfunctional
Economic Damage: Eliminates promised free token distribution
Reputation Harm: Users perceive protocol as dishonest
Likelihood:
• Triggered by normal protocol usage
• Requires only one claim per week to maintain blockage
• Exploitable with minimal gas costs
Impact:
• Permanent suppression of core feature
• Loss of user trust and adoption
• Violates documented tokenomics
Attack Vector:
Malicious actor claims at T0
Claims again at T0 + 6 days
23 hours
All users blocked until T0 + 13 days
23 hours
Repeat weekly → permanent suppression
Initialization:
Documentation Alignment:
Update specs to clarify: "Each address can claim free tokens once per 7-day period."
Event Emission:
Ensure SnowEarned
is emitted for on-chain transparency
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.
The contest is complete and the rewards are being distributed.