Commit 578eba1c authored by Alex Beregszaszi's avatar Alex Beregszaszi Committed by GitHub

Merge pull request #226 from ethereum/updateddefaultsource

Update ballot contract to solidity 0.4.0.
parents 661d17fc 0098d62b
...@@ -24,7 +24,8 @@ ...@@ -24,7 +24,8 @@
var multi = function (func) { return func.toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1]; }; var multi = function (func) { return func.toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1]; };
var BALLOT_EXAMPLE = multi(function () { /*contract Ballot { var BALLOT_EXAMPLE = multi(function () { /*pragma solidity ^0.4.0;
contract Ballot {
struct Voter { struct Voter {
uint weight; uint weight;
...@@ -40,21 +41,21 @@ var BALLOT_EXAMPLE = multi(function () { /*contract Ballot { ...@@ -40,21 +41,21 @@ var BALLOT_EXAMPLE = multi(function () { /*contract Ballot {
mapping(address => Voter) voters; mapping(address => Voter) voters;
Proposal[] proposals; Proposal[] proposals;
// Create a new ballot with $(_numProposals) different proposals. /// Create a new ballot with $(_numProposals) different proposals.
function Ballot(uint8 _numProposals) { function Ballot(uint8 _numProposals) {
chairperson = msg.sender; chairperson = msg.sender;
voters[chairperson].weight = 1; voters[chairperson].weight = 1;
proposals.length = _numProposals; proposals.length = _numProposals;
} }
// Give $(voter) the right to vote on this ballot. /// Give $(voter) the right to vote on this ballot.
// May only be called by $(chairperson). /// May only be called by $(chairperson).
function giveRightToVote(address voter) { function giveRightToVote(address voter) {
if (msg.sender != chairperson || voters[voter].voted) return; if (msg.sender != chairperson || voters[voter].voted) return;
voters[voter].weight = 1; voters[voter].weight = 1;
} }
// Delegate your vote to the voter $(to). /// Delegate your vote to the voter $(to).
function delegate(address to) { function delegate(address to) {
Voter sender = voters[msg.sender]; // assigns reference Voter sender = voters[msg.sender]; // assigns reference
if (sender.voted) return; if (sender.voted) return;
...@@ -70,7 +71,7 @@ var BALLOT_EXAMPLE = multi(function () { /*contract Ballot { ...@@ -70,7 +71,7 @@ var BALLOT_EXAMPLE = multi(function () { /*contract Ballot {
delegate.weight += sender.weight; delegate.weight += sender.weight;
} }
// Give a single vote to proposal $(proposal). /// Give a single vote to proposal $(proposal).
function vote(uint8 proposal) { function vote(uint8 proposal) {
Voter sender = voters[msg.sender]; Voter sender = voters[msg.sender];
if (sender.voted || proposal >= proposals.length) return; if (sender.voted || proposal >= proposals.length) return;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment