forked from XinFinOrg/XDCremix
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
149 additions
and
5 deletions.
There are no files selected for viewing
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
6 changes: 6 additions & 0 deletions
6
test-browser/mockfilesandfolder/app/ethereum/constitution.sol
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
contract Constitution { | ||
|
||
function Found(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
contract Mode { | ||
|
||
function Normal(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
pragma solidity ^0.4.0; | ||
contract Ballot { | ||
|
||
struct Voter { | ||
uint weight; | ||
bool voted; | ||
uint8 vote; | ||
address delegate; | ||
} | ||
struct Proposal { | ||
uint voteCount; | ||
} | ||
|
||
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; | ||
} | ||
|
||
/// 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; | ||
} | ||
|
||
/// Delegate your vote to the voter $(to). | ||
function delegate(address to) { | ||
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]; | ||
if (delegate.voted) | ||
proposals[delegate.vote].voteCount += sender.weight; | ||
else | ||
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; | ||
} | ||
|
||
function winningProposal() constant returns (uint8 winningProposal) { | ||
uint256 winningVoteCount = 0; | ||
for (uint8 proposal = 0; proposal < proposals.length; proposal++) | ||
if (proposals[proposal].voteCount > winningVoteCount) { | ||
winningVoteCount = proposals[proposal].voteCount; | ||
winningProposal = proposal; | ||
} | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
contract Assets { | ||
|
||
function add(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
contract gmbh { | ||
|
||
function register(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
contract test { | ||
|
||
function Test(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
contract lease { | ||
|
||
function Vote(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} | ||
|
||
|
||
contract borrow { | ||
|
||
function Vote(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
contract Finance { | ||
|
||
function Loan(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
contract voting { | ||
|
||
function Vote(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
contract credit_1 { | ||
|
||
struct Proposal { | ||
uint voteCount; | ||
} | ||
|
||
function Ballot(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} | ||
|
||
contract credit_2 { | ||
|
||
struct Proposal { | ||
uint voteCount; | ||
} | ||
|
||
function Ballot(uint8 _numProposals) { | ||
proposals.length = _numProposals; | ||
} | ||
} |