covnert TokenTimelock into initializers

This commit is contained in:
Francisco Giordano
2018-09-26 17:46:54 -03:00
parent d643caf8fe
commit 8d28bd445a
3 changed files with 20 additions and 4 deletions

View File

@ -0,0 +1,14 @@
pragma solidity ^0.4.24;
import "../Initializable.sol";
import "../token/ERC20/TokenTimelock.sol";
contract TokenTimelockMock is Initializable, TokenTimelock {
constructor(
IERC20 token,
address beneficiary,
uint256 releaseTime
) public {
TokenTimelock.initialize(token, beneficiary, releaseTime);
}
}

View File

@ -1,5 +1,6 @@
pragma solidity ^0.4.24; pragma solidity ^0.4.24;
import "../../Initializable.sol";
import "./SafeERC20.sol"; import "./SafeERC20.sol";
@ -8,7 +9,7 @@ import "./SafeERC20.sol";
* @dev TokenTimelock is a token holder contract that will allow a * @dev TokenTimelock is a token holder contract that will allow a
* beneficiary to extract the tokens after a given release time * beneficiary to extract the tokens after a given release time
*/ */
contract TokenTimelock { contract TokenTimelock is Initializable {
using SafeERC20 for IERC20; using SafeERC20 for IERC20;
// ERC20 basic token contract being held // ERC20 basic token contract being held
@ -20,12 +21,13 @@ contract TokenTimelock {
// timestamp when token release is enabled // timestamp when token release is enabled
uint256 private _releaseTime; uint256 private _releaseTime;
constructor( function initialize(
IERC20 token, IERC20 token,
address beneficiary, address beneficiary,
uint256 releaseTime uint256 releaseTime
) )
public public
initializer
{ {
// solium-disable-next-line security/no-block-members // solium-disable-next-line security/no-block-members
require(releaseTime > block.timestamp); require(releaseTime > block.timestamp);

View File

@ -8,8 +8,8 @@ require('chai')
.use(require('chai-bignumber')(BigNumber)) .use(require('chai-bignumber')(BigNumber))
.should(); .should();
const ERC20Mintable = artifacts.require('ERC20Mintable'); const ERC20Mintable = artifacts.require('ERC20MintableMock');
const TokenTimelock = artifacts.require('TokenTimelock'); const TokenTimelock = artifacts.require('TokenTimelockMock');
contract('TokenTimelock', function ([_, minter, beneficiary]) { contract('TokenTimelock', function ([_, minter, beneficiary]) {
const amount = new BigNumber(100); const amount = new BigNumber(100);