Voting hazi update

master
itsfine 2022-03-25 14:54:00 +01:00
parent 4838feac74
commit 18c554b886
1 changed files with 33 additions and 7 deletions

View File

@ -1,25 +1,36 @@
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity ^0.8.11; pragma solidity ^0.8.11;
/* nem sikerült: megcsinálni, hogy hogyan kell a bool type-ot megváltoztatni, amikor már szavazott az addres;
beállítani, hogy melyek address-ek szavazhatnak */
contract VoteforBest { contract VoteforBest {
uint public NFT; uint public NFT;
uint public ERC20; uint public ERC20;
uint public DAO; uint public DAO;
bool public voted; mapping(address => bool) private Voters;
address public owner;
struct Voter{ struct Voter{
bool voted; bool voteSpent;
address addr; uint weight;
} }
struct Proposal{
uint votenumber;
}
address public chairman;
mapping(address => Voter ) public voters; mapping(address => Voter ) public voters;
function Vote (string memory _choice) public { function Vote (string memory _choice) public {
chairman = msg.sender;
Voter storage sender = voters[msg.sender];
require(!sender.voteSpent, 'Please do not vote more than once');
voters[chairman].weight = 1;
sender.voteSpent = true;
if (keccak256(abi.encodePacked(_choice)) == keccak256(abi.encodePacked("NFT"))) { if (keccak256(abi.encodePacked(_choice)) == keccak256(abi.encodePacked("NFT"))) {
NFT++;} NFT++;}
else if (keccak256(abi.encodePacked(_choice)) == keccak256(abi.encodePacked("DAO"))) { else if (keccak256(abi.encodePacked(_choice)) == keccak256(abi.encodePacked("DAO"))) {
@ -29,5 +40,20 @@ contract VoteforBest {
ERC20++; ERC20++;
}} }}
function showstatus () public view returns (uint NFT_, uint ERC20_, uint DAO_){
return (NFT, ERC20, DAO);
}
function Winner () public view returns (string memory){
if (NFT>ERC20 && NFT>DAO) {
return "NFT";}
else if (ERC20 > NFT && ERC20 > DAO) {
return "ERC20";}
else if (DAO > NFT && DAO > ERC20) {
return "DAO";}
return "No winner";
}
} }