convert TimedCrowdsale to initializers

This commit is contained in:
Francisco Giordano
2018-09-27 19:14:30 -03:00
parent 6247a7bf7c
commit 2c2d80d9a0
3 changed files with 11 additions and 4 deletions

View File

@ -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);

View File

@ -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);
} }
} }

View File

@ -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);