Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
27f989ef
Commit
27f989ef
authored
Oct 26, 2016
by
yann300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
readd ; to Ballot
parent
1125fde1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
31 deletions
+31
-31
example-contracts.js
src/app/example-contracts.js
+31
-31
No files found.
src/app/example-contracts.js
View file @
27f989ef
'use strict'
var
ballot
=
`pragma solidity ^0.4.0
var
ballot
=
`pragma solidity ^0.4.0
;
contract Ballot {
struct Voter {
uint weight
bool voted
uint8 vote
address delegate
uint weight
;
bool voted
;
uint8 vote
;
address delegate
;
}
struct Proposal {
uint voteCount
uint voteCount
;
}
address chairperson
mapping(address => Voter) voters
Proposal[] proposals
address chairperson
;
mapping(address => Voter) voters
;
Proposal[] proposals
;
/// Create a new ballot with $(_numProposals) different proposals.
function Ballot(uint8 _numProposals) {
chairperson = msg.sender
voters[chairperson].weight = 1
proposals.length = _numProposals
chairperson = msg.sender
;
voters[chairperson].weight = 1
;
proposals.length = _numProposals
;
}
/// Give $(voter) the right to vote on this ballot.
/// May only be called by $(chairperson).
function giveRightToVote(address voter) {
if (msg.sender != chairperson || voters[voter].voted) return
voters[voter].weight = 1
if (msg.sender != chairperson || voters[voter].voted) return
;
voters[voter].weight = 1
;
}
/// Delegate your vote to the voter $(to).
function delegate(address to) {
Voter sender = voters[msg.sender] // assigns reference
if (sender.voted) return
Voter sender = voters[msg.sender]
;
// assigns reference
if (sender.voted) return
;
while (voters[to].delegate != address(0) && voters[to].delegate != msg.sender)
to = voters[to].delegate
if (to == msg.sender) return
sender.voted = true
sender.delegate = to
Voter delegate = voters[to]
to = voters[to].delegate
;
if (to == msg.sender) return
;
sender.voted = true
;
sender.delegate = to
;
Voter delegate = voters[to]
;
if (delegate.voted)
proposals[delegate.vote].voteCount += sender.weight
proposals[delegate.vote].voteCount += sender.weight
;
else
delegate.weight += sender.weight
delegate.weight += sender.weight
;
}
/// Give a single vote to proposal $(proposal).
function vote(uint8 proposal) {
Voter sender = voters[msg.sender]
if (sender.voted || proposal >= proposals.length) return
sender.voted = true
sender.vote = proposal
proposals[proposal].voteCount += sender.weight
Voter sender = voters[msg.sender]
;
if (sender.voted || proposal >= proposals.length) return
;
sender.voted = true
;
sender.vote = proposal
;
proposals[proposal].voteCount += sender.weight
;
}
function winningProposal() constant returns (uint8 winningProposal) {
uint256 winningVoteCount = 0
uint256 winningVoteCount = 0
;
for (uint8 proposal = 0; proposal < proposals.length; proposal++)
if (proposals[proposal].voteCount > winningVoteCount) {
winningVoteCount = proposals[proposal].voteCount
winningProposal = proposal
winningVoteCount = proposals[proposal].voteCount
;
winningProposal = proposal
;
}
}
}`
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment