User can buyPresent
for their friends for half of the price of NFT ie 1e18 because of wrong token amount is passed
For a user to buyPresent
for their friends, user have to pay 2e18 token( 2e18 is the price of token) but while buying present user can only pay 1e18 because SantasToken::burn
is burning only 1e18 token instead of 2e18 tokens
//Here is the POC
User can buy double present for the same amount of money, that breaks the core of protocol
Manual Review
In SantaToken::burn
function
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.