mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #913 from chriseth/auction
Updated the function withdraw() in the SimpleAuction and BlindAuction…
This commit is contained in:
commit
c2665dc2fe
@ -280,14 +280,21 @@ activate themselves.
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Withdraw a bid that was overbid.
|
/// Withdraw a bid that was overbid.
|
||||||
function withdraw() {
|
function withdraw() returns (bool) {
|
||||||
var amount = pendingReturns[msg.sender];
|
var amount = pendingReturns[msg.sender];
|
||||||
// It is important to set this to zero because the recipient
|
if (amount > 0) {
|
||||||
// can call this function again as part of the receiving call
|
// It is important to set this to zero because the recipient
|
||||||
// before `send` returns.
|
// can call this function again as part of the receiving call
|
||||||
pendingReturns[msg.sender] = 0;
|
// before `send` returns.
|
||||||
if (!msg.sender.send(amount))
|
pendingReturns[msg.sender] = 0;
|
||||||
throw; // If anything fails, this will revert the changes above
|
|
||||||
|
if (!msg.sender.send(amount)) {
|
||||||
|
// No need to call throw here, just reset the amount owing
|
||||||
|
pendingReturns[msg.sender] = amount;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// End the auction and send the highest bid
|
/// End the auction and send the highest bid
|
||||||
@ -491,15 +498,22 @@ high or low invalid bids.
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Withdraw a bid that was overbid.
|
/// Withdraw a bid that was overbid.
|
||||||
function withdraw() {
|
function withdraw() returns (bool) {
|
||||||
var amount = pendingReturns[msg.sender];
|
var amount = pendingReturns[msg.sender];
|
||||||
// It is important to set this to zero because the recipient
|
if (amount > 0) {
|
||||||
// can call this function again as part of the receiving call
|
// It is important to set this to zero because the recipient
|
||||||
// before `send` returns (see the remark above about
|
// can call this function again as part of the receiving call
|
||||||
// conditions -> effects -> interaction).
|
// before `send` returns (see the remark above about
|
||||||
pendingReturns[msg.sender] = 0;
|
// conditions -> effects -> interaction).
|
||||||
if (!msg.sender.send(amount))
|
pendingReturns[msg.sender] = 0;
|
||||||
throw; // If anything fails, this will revert the changes above
|
|
||||||
|
if (!msg.sender.send(amount)){
|
||||||
|
// No need to call throw here, just reset the amount owing
|
||||||
|
pendingReturns[msg.sender] = amount;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// End the auction and send the highest bid
|
/// End the auction and send the highest bid
|
||||||
|
Loading…
Reference in New Issue
Block a user