From 78e39aa2ad6f91131c05f90d8df0ad0143a50e9d Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Thu, 14 Jun 2018 00:21:24 +0100 Subject: [PATCH] Do not use implicit type conversion for address literals (#1002) Uses the explicit address(0) for the zero address --- contracts/Bounty.sol | 2 +- contracts/examples/SimpleSavingsWallet.sol | 2 +- contracts/examples/SimpleToken.sol | 2 +- contracts/mocks/SafeERC20Helper.sol | 12 ++++++------ contracts/ownership/Heritable.sol | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/contracts/Bounty.sol b/contracts/Bounty.sol index 50d9b8168..fb8d7b937 100644 --- a/contracts/Bounty.sol +++ b/contracts/Bounty.sol @@ -40,7 +40,7 @@ contract Bounty is PullPayment, Destructible { */ function claim(Target target) public { address researcher = researchers[target]; - require(researcher != 0); + require(researcher != address(0)); // Check Target contract invariants require(!target.checkInvariant()); asyncSend(researcher, address(this).balance); diff --git a/contracts/examples/SimpleSavingsWallet.sol b/contracts/examples/SimpleSavingsWallet.sol index a6ee2c564..2b7e553c1 100644 --- a/contracts/examples/SimpleSavingsWallet.sol +++ b/contracts/examples/SimpleSavingsWallet.sol @@ -32,7 +32,7 @@ contract SimpleSavingsWallet is Heritable { * @dev wallet can send funds */ function sendTo(address payee, uint256 amount) public onlyOwner { - require(payee != 0 && payee != address(this)); + require(payee != address(0) && payee != address(this)); require(amount > 0); payee.transfer(amount); emit Sent(payee, amount, address(this).balance); diff --git a/contracts/examples/SimpleToken.sol b/contracts/examples/SimpleToken.sol index d65dfc0a2..ab53fdfe8 100644 --- a/contracts/examples/SimpleToken.sol +++ b/contracts/examples/SimpleToken.sol @@ -24,7 +24,7 @@ contract SimpleToken is StandardToken { constructor() public { totalSupply_ = INITIAL_SUPPLY; balances[msg.sender] = INITIAL_SUPPLY; - emit Transfer(0x0, msg.sender, INITIAL_SUPPLY); + emit Transfer(address(0), msg.sender, INITIAL_SUPPLY); } } diff --git a/contracts/mocks/SafeERC20Helper.sol b/contracts/mocks/SafeERC20Helper.sol index 0e8ff28f2..60254af7c 100644 --- a/contracts/mocks/SafeERC20Helper.sol +++ b/contracts/mocks/SafeERC20Helper.sol @@ -70,26 +70,26 @@ contract SafeERC20Helper { } function doFailingTransfer() public { - failing.safeTransfer(0, 0); + failing.safeTransfer(address(0), 0); } function doFailingTransferFrom() public { - failing.safeTransferFrom(0, 0, 0); + failing.safeTransferFrom(address(0), address(0), 0); } function doFailingApprove() public { - failing.safeApprove(0, 0); + failing.safeApprove(address(0), 0); } function doSucceedingTransfer() public { - succeeding.safeTransfer(0, 0); + succeeding.safeTransfer(address(0), 0); } function doSucceedingTransferFrom() public { - succeeding.safeTransferFrom(0, 0, 0); + succeeding.safeTransferFrom(address(0), address(0), 0); } function doSucceedingApprove() public { - succeeding.safeApprove(0, 0); + succeeding.safeApprove(address(0), 0); } } diff --git a/contracts/ownership/Heritable.sol b/contracts/ownership/Heritable.sol index 926926e46..dcf693e09 100644 --- a/contracts/ownership/Heritable.sol +++ b/contracts/ownership/Heritable.sol @@ -78,7 +78,7 @@ contract Heritable is Ownable { */ function removeHeir() public onlyOwner { heartbeat(); - heir_ = 0; + heir_ = address(0); } /**