buyPresent is callable by anyone and presentReceiver can be the person that burnt the tokens. According to Santa only naughty people can call it.
Anyone can burn their Santa tokens and mint a present for themselves or others.
Santa's punishment for naughty people is mitigated. And everyone can buy a present for themselves.
Here is an example:
Manual Review
Include a check if s_theListCheckedOnce[msg.sender] == Status.NAUGHTY && s_theListCheckedTwice[msg.sender] == Status.NAUGHTY
& (presentReceiver != msg.sender)
if not revert for both of them.
Current implementation allows a malicious actor to burn someone else's tokens as the burn function doesn't actually check for approvals.
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.