// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;

interface IERC721Receiver {
    function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data)
    external returns (bytes4);
}

contract VotingForMilady is IERC721Receiver {
    address public miladyContract;
    mapping(address => uint256) public votes;

    event Voted(address indexed voter, uint256 voteCount);

    function setMilady(address _miladyContract) public {
        
        miladyContract = _miladyContract;
    }

    function vote() public {
        votes[msg.sender] += 1;
        emit Voted(msg.sender, votes[msg.sender]);
    }

    function onERC721Received(address, address, uint256, bytes calldata) external override returns (bytes4) {
        return this.onERC721Received.selector;
    }
}