Commit 8d28bd44 by Francisco Giordano

covnert TokenTimelock into initializers

parent d643caf8
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);
}
}
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);
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment