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

View File

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