Unverified Commit 1c5f16ae by Nicolás Venturo Committed by GitHub

Closing time must be strictly after opening time. (#1440)

parent d9fdffe8
......@@ -29,7 +29,7 @@ contract TimedCrowdsale is Crowdsale {
constructor(uint256 openingTime, uint256 closingTime) internal {
// solium-disable-next-line security/no-block-members
require(openingTime >= block.timestamp);
require(closingTime >= openingTime);
require(closingTime > openingTime);
_openingTime = openingTime;
_closingTime = closingTime;
......
......@@ -29,18 +29,24 @@ contract('TimedCrowdsale', function ([_, investor, wallet, purchaser]) {
this.token = await SimpleToken.new();
});
it('rejects an opening time in the past', async function () {
it('reverts if the opening time is in the past', async function () {
await shouldFail.reverting(TimedCrowdsaleImpl.new(
(await time.latest()) - time.duration.days(1), this.closingTime, rate, wallet, this.token.address
));
});
it('rejects a closing time before the opening time', async function () {
it('reverts if the closing time is before the opening time', async function () {
await shouldFail.reverting(TimedCrowdsaleImpl.new(
this.openingTime, this.openingTime - time.duration.seconds(1), rate, wallet, this.token.address
));
});
it('reverts if the closing time equals the opening time', async function () {
await shouldFail.reverting(TimedCrowdsaleImpl.new(
this.openingTime, this.openingTime, rate, wallet, this.token.address
));
});
context('with crowdsale', function () {
beforeEach(async function () {
this.crowdsale = await TimedCrowdsaleImpl.new(
......
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