pragma solidity ^0.8.0;
// SPDX-License-Identifier: MIT
contract DefusionSignIn {
mapping(address => mapping(uint256 => bool)) public _signIn;
event eveSignIn(address indexed operator, uint256 indexed date);
function signIn(uint256 date) external {
require(
_signIn[msg.sender][date] == false,
"Defusion: You have signed in!"
);
_signIn[msg.sender][date] = true;
emit eveSignIn(msg.sender, date);
}
}
{
"compilationTarget": {
"contracts/signIn/DefusionSignIn.sol": "DefusionSignIn"
},
"evmVersion": "london",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
}
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"uint256","name":"date","type":"uint256"}],"name":"eveSignIn","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"_signIn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"date","type":"uint256"}],"name":"signIn","outputs":[],"stateMutability":"nonpayable","type":"function"}]