Skip to content

Commit

Permalink
Merge pull request #430 from frangio/fix-unchecked-transfer
Browse files Browse the repository at this point in the history
Use SafeERC20 to transfer tokens safely
  • Loading branch information
frangio authored Sep 7, 2017
2 parents 84be318 + 20187f2 commit 07b688a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
6 changes: 4 additions & 2 deletions contracts/ownership/CanReclaimToken.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -10,14 +11,15 @@ 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
* @param token ERC20Basic The address of the token contract
*/
function reclaimToken(ERC20Basic token) external onlyOwner {
uint256 balance = token.balanceOf(this);
token.transfer(owner, balance);
token.safeTransfer(owner, balance);
}

}
}
4 changes: 3 additions & 1 deletion contracts/token/TokenTimelock.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ pragma solidity ^0.4.11;


import './ERC20Basic.sol';
import "../token/SafeERC20.sol";

/**
* @title TokenTimelock
* @dev TokenTimelock is a token holder contract that will allow a
* beneficiary to extract the tokens after a given release time
*/
contract TokenTimelock {
using SafeERC20 for ERC20Basic;

// ERC20 basic token contract being held
ERC20Basic token;
Expand Down Expand Up @@ -44,6 +46,6 @@ contract TokenTimelock {
uint256 amount = token.balanceOf(this);
require(amount > 0);

token.transfer(beneficiary, amount);
token.safeTransfer(beneficiary, amount);
}
}

0 comments on commit 07b688a

Please sign in to comment.