The function burn
is burning the wrong amount of SantaToken
The function burn
implemented in SantaToken
is used on buyPresent
to trade tokens SantaToken for an NFT. The documentation says that an NFT is traded for 2e18
SantaToken, however, the burn
function is burning only 1e18
.
This vulnerability allows trading an NFT for a wrong number of SantaToken
Manual Analysis
Consider updating the burn
implementation to burn 2e18
token instead of 1e18
. Also, the test testBuyPresent
should be adapted.
This line indicates that the intended cost of presents for naughty people should be 2e18: https://github.com/Cyfrin/2023-11-Santas-List/blob/6627a6387adab89ae2ba2e82b38296723261c08a/src/SantasList.sol#L87 PURCHASE_PRESENT_COST should be implemented to enforce the cost of presents.
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.