aboutsummaryrefslogtreecommitdiffstats
path: root/docs/solidity-by-example.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/solidity-by-example.rst')
-rw-r--r--docs/solidity-by-example.rst43
1 files changed, 24 insertions, 19 deletions
diff --git a/docs/solidity-by-example.rst b/docs/solidity-by-example.rst
index b663083c..57556fa5 100644
--- a/docs/solidity-by-example.rst
+++ b/docs/solidity-by-example.rst
@@ -94,7 +94,11 @@ of votes.
// called incorrectly. But watch out, this
// will currently also consume all provided gas
// (this is planned to change in the future).
- require((msg.sender == chairperson) && !voters[voter].voted && (voters[voter].weight == 0));
+ require(
+ (msg.sender == chairperson) &&
+ !voters[voter].voted &&
+ (voters[voter].weight == 0)
+ );
voters[voter].weight = 1;
}
@@ -126,15 +130,15 @@ of votes.
// modifies `voters[msg.sender].voted`
sender.voted = true;
sender.delegate = to;
- Voter storage delegate = voters[to];
- if (delegate.voted) {
+ Voter storage delegate_ = voters[to];
+ if (delegate_.voted) {
// If the delegate already voted,
// directly add to the number of votes
- proposals[delegate.vote].voteCount += sender.weight;
+ proposals[delegate_.vote].voteCount += sender.weight;
} else {
// If the delegate did not vote yet,
// add to her weight.
- delegate.weight += sender.weight;
+ delegate_.weight += sender.weight;
}
}
@@ -155,13 +159,13 @@ of votes.
/// @dev Computes the winning proposal taking all
/// previous votes into account.
function winningProposal() public view
- returns (uint winningProposal)
+ returns (uint winningProposal_)
{
uint winningVoteCount = 0;
for (uint p = 0; p < proposals.length; p++) {
if (proposals[p].voteCount > winningVoteCount) {
winningVoteCount = proposals[p].voteCount;
- winningProposal = p;
+ winningProposal_ = p;
}
}
}
@@ -170,12 +174,13 @@ of votes.
// of the winner contained in the proposals array and then
// returns the name of the winner
function winnerName() public view
- returns (bytes32 winnerName)
+ returns (bytes32 winnerName_)
{
- winnerName = proposals[winningProposal()].name;
+ winnerName_ = proposals[winningProposal()].name;
}
}
+
Possible Improvements
=====================
@@ -214,7 +219,7 @@ activate themselves.
::
- pragma solidity ^0.4.11;
+ pragma solidity ^0.4.20; // should actually be 0.4.21
contract SimpleAuction {
// Parameters of the auction. Times are either
@@ -272,7 +277,7 @@ activate themselves.
// money back.
require(msg.value > highestBid);
- if (highestBidder != 0) {
+ if (highestBid != 0) {
// Sending back the money by simply using
// highestBidder.send(highestBid) is a security risk
// because it could execute an untrusted contract.
@@ -282,7 +287,7 @@ activate themselves.
}
highestBidder = msg.sender;
highestBid = msg.value;
- HighestBidIncreased(msg.sender, msg.value);
+ emit HighestBidIncreased(msg.sender, msg.value);
}
/// Withdraw a bid that was overbid.
@@ -325,7 +330,7 @@ activate themselves.
// 2. Effects
ended = true;
- AuctionEnded(highestBidder, highestBid);
+ emit AuctionEnded(highestBidder, highestBid);
// 3. Interaction
beneficiary.transfer(highestBid);
@@ -371,7 +376,7 @@ high or low invalid bids.
::
- pragma solidity ^0.4.11;
+ pragma solidity ^0.4.20; // should actually be 0.4.21
contract BlindAuction {
struct Bid {
@@ -509,7 +514,7 @@ high or low invalid bids.
onlyAfter(revealEnd)
{
require(!ended);
- AuctionEnded(highestBidder, highestBid);
+ emit AuctionEnded(highestBidder, highestBid);
ended = true;
beneficiary.transfer(highestBid);
}
@@ -524,7 +529,7 @@ Safe Remote Purchase
::
- pragma solidity ^0.4.11;
+ pragma solidity ^0.4.20; // should actually be 0.4.21
contract Purchase {
uint public value;
@@ -574,7 +579,7 @@ Safe Remote Purchase
onlySeller
inState(State.Created)
{
- Aborted();
+ emit Aborted();
state = State.Inactive;
seller.transfer(this.balance);
}
@@ -589,7 +594,7 @@ Safe Remote Purchase
condition(msg.value == (2 * value))
payable
{
- PurchaseConfirmed();
+ emit PurchaseConfirmed();
buyer = msg.sender;
state = State.Locked;
}
@@ -601,7 +606,7 @@ Safe Remote Purchase
onlyBuyer
inState(State.Locked)
{
- ItemReceived();
+ emit ItemReceived();
// It is important to change the state first because
// otherwise, the contracts called using `send` below
// can call in again here.