convert TimedCrowdsale to initializers
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
pragma solidity ^0.4.24;
|
pragma solidity ^0.4.24;
|
||||||
|
|
||||||
|
import "../../Initializable.sol";
|
||||||
import "../../math/SafeMath.sol";
|
import "../../math/SafeMath.sol";
|
||||||
import "../Crowdsale.sol";
|
import "../Crowdsale.sol";
|
||||||
|
|
||||||
@ -8,7 +9,7 @@ import "../Crowdsale.sol";
|
|||||||
* @title TimedCrowdsale
|
* @title TimedCrowdsale
|
||||||
* @dev Crowdsale accepting contributions only within a time frame.
|
* @dev Crowdsale accepting contributions only within a time frame.
|
||||||
*/
|
*/
|
||||||
contract TimedCrowdsale is Crowdsale {
|
contract TimedCrowdsale is Initializable, Crowdsale {
|
||||||
using SafeMath for uint256;
|
using SafeMath for uint256;
|
||||||
|
|
||||||
uint256 private _openingTime;
|
uint256 private _openingTime;
|
||||||
@ -22,12 +23,15 @@ contract TimedCrowdsale is Crowdsale {
|
|||||||
_;
|
_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constructor(uint256 openingTime, uint256 closingTime) public {
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev Constructor, takes crowdsale opening and closing times.
|
* @dev Constructor, takes crowdsale opening and closing times.
|
||||||
* @param openingTime Crowdsale opening time
|
* @param openingTime Crowdsale opening time
|
||||||
* @param closingTime Crowdsale closing time
|
* @param closingTime Crowdsale closing time
|
||||||
*/
|
*/
|
||||||
constructor(uint256 openingTime, uint256 closingTime) public {
|
function initialize(uint256 openingTime, uint256 closingTime) public initializer {
|
||||||
// solium-disable-next-line security/no-block-members
|
// solium-disable-next-line security/no-block-members
|
||||||
require(openingTime >= block.timestamp);
|
require(openingTime >= block.timestamp);
|
||||||
require(closingTime >= openingTime);
|
require(closingTime >= openingTime);
|
||||||
|
|||||||
@ -1,10 +1,11 @@
|
|||||||
pragma solidity ^0.4.24;
|
pragma solidity ^0.4.24;
|
||||||
|
|
||||||
|
import "../Initializable.sol";
|
||||||
import "../token/ERC20/IERC20.sol";
|
import "../token/ERC20/IERC20.sol";
|
||||||
import "../crowdsale/validation/TimedCrowdsale.sol";
|
import "../crowdsale/validation/TimedCrowdsale.sol";
|
||||||
|
|
||||||
|
|
||||||
contract TimedCrowdsaleImpl is TimedCrowdsale {
|
contract TimedCrowdsaleImpl is Initializable, Crowdsale, TimedCrowdsale {
|
||||||
|
|
||||||
constructor (
|
constructor (
|
||||||
uint256 openingTime,
|
uint256 openingTime,
|
||||||
@ -17,6 +18,8 @@ contract TimedCrowdsaleImpl is TimedCrowdsale {
|
|||||||
Crowdsale(rate, wallet, token)
|
Crowdsale(rate, wallet, token)
|
||||||
TimedCrowdsale(openingTime, closingTime)
|
TimedCrowdsale(openingTime, closingTime)
|
||||||
{
|
{
|
||||||
|
Crowdsale.initialize(rate, wallet, token);
|
||||||
|
TimedCrowdsale.initialize(openingTime, closingTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@ require('chai')
|
|||||||
.should();
|
.should();
|
||||||
|
|
||||||
const TimedCrowdsale = artifacts.require('TimedCrowdsaleImpl');
|
const TimedCrowdsale = artifacts.require('TimedCrowdsaleImpl');
|
||||||
const SimpleToken = artifacts.require('SimpleToken');
|
const SimpleToken = artifacts.require('SimpleTokenMock');
|
||||||
|
|
||||||
contract('TimedCrowdsale', function ([_, investor, wallet, purchaser]) {
|
contract('TimedCrowdsale', function ([_, investor, wallet, purchaser]) {
|
||||||
const rate = new BigNumber(1);
|
const rate = new BigNumber(1);
|
||||||
|
|||||||
Reference in New Issue
Block a user