+ event ExtraNiceClaim(address indexed person);
+ event NiceClaim(address indexed person);
+ event NFTBought(address indexed caller, address indexed receiver);
function collectPresent() external {
if (block.timestamp < CHRISTMAS_2023_BLOCK_TIME) revert SantasList__NotChristmasYet();
if (balanceOf(msg.sender) > 0) revert SantasList__AlreadyCollected();
if (s_theListCheckedOnce[msg.sender] == Status.NICE && s_theListCheckedTwice[msg.sender] == Status.NICE) {
_mintAndIncrement();
+ emit NiceClaim(msg.sender);
return;
} else if (s_theListCheckedOnce[msg.sender] == Status.EXTRA_NICE && s_theListCheckedTwice[msg.sender] == Status.EXTRA_NICE) {
_mintAndIncrement();
i_santaToken.mint(msg.sender);
+ emit ExtraNiceClaim(msg.sender);
return;
}
revert SantasList__NotNice();
}
function buyPresent(address presentReceiver) external {
i_santaToken.burn(presentReceiver);
_mintAndIncrement();
+ emit NFTBought(msg.sender, presentReceiver);
}