@ -9,7 +9,10 @@ contract BadPushPayments {
if (msg.value < highestBid) throw;
if (highestBidder != 0) {
highestBidder.send(highestBid);
// return bid to previous winner
if (!highestBidder.send(highestBid)) {
throw;
}
highestBidder = msg.sender;
@ -14,7 +14,7 @@ contract GoodPullPayments {
highestBid = msg.value;
function withdrawRefund() external {
function withdrawBid() external {
uint refund = refunds[msg.sender];
refunds[msg.sender] = 0;
if (!msg.sender.send(refund)) {
@ -1,7 +1,7 @@
contract PullPaymentCapable {
mapping(address => uint) refunds;
function asyncSend(address dest, uint amount) {
function asyncSend(address dest, uint amount) internal {
refunds[dest] += amount;