Created
May 19, 2022 07:33
-
-
Save fassko/56c1b327f34c3deb2900df4f090af555 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//SPDX-License-Identifier: Unlicense | |
pragma solidity ^0.8.0; | |
contract LotteryTicketsDispenser { | |
event TicketContractCreated(); | |
event TicketsCreated(uint256 ticketCount); | |
event TicketAssigned(address indexed _address); | |
uint256 private ticketCount; | |
uint256 private assignedTicketCount = 0; | |
mapping(address => uint256) private tickets; | |
constructor(uint256 _ticketCount) { | |
ticketCount = _ticketCount; | |
emit TicketContractCreated(); | |
emit TicketsCreated(ticketCount); | |
} | |
function assign(address _address) external { | |
require(assignedTicketCount < ticketCount); | |
tickets[_address]++; | |
assignedTicketCount++; | |
emit TicketAssigned(_address); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment