The collectPresent function in the smart contract enforces strict status checks on two lists: s_theListCheckedOnce and s_theListCheckedTwice. To collect a present, a user must have the same status (NICE or EXTRA_NICE) in both lists. However, if a user's status changes between the two checks (e.g., from EXTRA_NICE to NICE), they become ineligible to collect any present, despite qualifying for at least the NICE category.
Inflexible Reward Mechanism: Legitimate users may lose eligibility for rewards due to status changes.
Unfair Treatment of Users: Users with changed statuses (from EXTRA_NICE to NICE) are unfairly penalized and prevented from collecting the NICE rewards.
Rewards for Lower Status: Adjust logic to allow users downgraded from EXTRA_NICE to NICE to still collect the NICE reward.
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.