Merge pull request #430 from frangio/fix-unchecked-transfer

Use SafeERC20 to transfer tokens safely
pull/440/head
Francisco Giordano 8 years ago committed by GitHub
commit 07b688a0e6
  1. 4
      contracts/ownership/CanReclaimToken.sol
  2. 4
      contracts/token/TokenTimelock.sol

@ -2,6 +2,7 @@ pragma solidity ^0.4.11;
import "./Ownable.sol";
import "../token/ERC20Basic.sol";
import "../token/SafeERC20.sol";
/**
* @title Contracts that should be able to recover tokens
@ -10,6 +11,7 @@ import "../token/ERC20Basic.sol";
* This will prevent any accidental loss of tokens.
*/
contract CanReclaimToken is Ownable {
using SafeERC20 for ERC20Basic;
/**
* @dev Reclaim all ERC20Basic compatible tokens
@ -17,7 +19,7 @@ contract CanReclaimToken is Ownable {
*/
function reclaimToken(ERC20Basic token) external onlyOwner {
uint256 balance = token.balanceOf(this);
token.transfer(owner, balance);
token.safeTransfer(owner, balance);
}
}

@ -2,6 +2,7 @@ pragma solidity ^0.4.11;
import './ERC20Basic.sol';
import "../token/SafeERC20.sol";
/**
* @title TokenTimelock
@ -9,6 +10,7 @@ import './ERC20Basic.sol';
* beneficiary to extract the tokens after a given release time
*/
contract TokenTimelock {
using SafeERC20 for ERC20Basic;
// ERC20 basic token contract being held
ERC20Basic token;
@ -44,6 +46,6 @@ contract TokenTimelock {
uint256 amount = token.balanceOf(this);
require(amount > 0);
token.transfer(beneficiary, amount);
token.safeTransfer(beneficiary, amount);
}
}

Loading…
Cancel
Save