@@ -55,8 +55,9 @@ contract CrowdSaleLockedStakedTest is Test {
5555 // // 1=1 is the trivial case
5656 // priceFeed.signal(address(biddingToken), address(daoToken), 1e18);
5757
58- crowdSale = new StakedLockingCrowdSale ();
59-
58+ TimelockedToken timelockedTokenImplementation = new TimelockedToken ();
59+ crowdSale = new StakedLockingCrowdSale (timelockedTokenImplementation);
60+
6061 vestedDao = new TokenVesting (
6162 daoToken,
6263 string (abi.encodePacked ("Vested " , daoToken.name ())),
@@ -92,13 +93,13 @@ contract CrowdSaleLockedStakedTest is Test {
9293 auctionToken.approve (address (crowdSale), 400_000 ether);
9394
9495 vm.expectRevert (); //cannot call .decimals() on 0x0
95- crowdSale.startSale (_sale, IERC20Metadata (address (0 )), TokenVesting (address (0 )), 0 , 60 days);
96+ crowdSale.startSale (_sale, IERC20Metadata (address (0 )), TokenVesting (address (0 )), 0 , 3 days, 7 days);
9697
9798 vm.expectRevert (); //need to bring a stake vesting contract
98- crowdSale.startSale (_sale, daoToken, TokenVesting (address (0 )), 0 , 60 days);
99+ crowdSale.startSale (_sale, daoToken, TokenVesting (address (0 )), 0 , 3 days, 7 days);
99100
100101 vm.expectRevert (UnsupportedVestingContract.selector );
101- crowdSale.startSale (_sale, daoToken, wrongStakeVestingContract, 0 , 60 days);
102+ crowdSale.startSale (_sale, daoToken, wrongStakeVestingContract, 0 , 3 days, 7 days);
102103 vm.stopPrank ();
103104
104105 vm.startPrank (deployer);
@@ -111,12 +112,15 @@ contract CrowdSaleLockedStakedTest is Test {
111112
112113 vm.startPrank (emitter);
113114 vm.expectRevert (IncompatibleVestingContract.selector );
114- crowdSale.startSale (_sale, daoToken, wrongStakeVestingContract, 0 , 60 days);
115+ crowdSale.startSale (_sale, daoToken, wrongStakeVestingContract, 0 , 3 days, 7 days);
115116
116117 vm.expectRevert (BadPrice.selector );
117- crowdSale.startSale (_sale, daoToken, vestedDao, 0 , 60 days);
118+ crowdSale.startSale (_sale, daoToken, vestedDao, 0 , 3 days, 7 days);
118119
119- crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 60 days);
120+ vm.expectRevert (InvalidDuration.selector );
121+ crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 3 days, 6 days);
122+
123+ crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 3 days, 7 days);
120124 }
121125
122126 function testCannotSetupCrowdSaleWithParentFunctions () public {
@@ -137,7 +141,7 @@ contract CrowdSaleLockedStakedTest is Test {
137141 Sale memory _sale = CrowdSaleHelpers.makeSale (emitter, auctionToken, biddingToken);
138142
139143 auctionToken.approve (address (crowdSale), 400_000 ether);
140- uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 60 days);
144+ uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 60 days, 60 days );
141145
142146 vm.stopPrank ();
143147
@@ -174,7 +178,7 @@ contract CrowdSaleLockedStakedTest is Test {
174178 vm.startPrank (emitter);
175179 Sale memory _sale = CrowdSaleHelpers.makeSale (emitter, auctionToken, biddingToken);
176180 auctionToken.approve (address (crowdSale), 400_000 ether);
177- uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 60 days);
181+ uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 60 days, 60 days );
178182
179183 vm.stopPrank ();
180184
@@ -287,7 +291,7 @@ contract CrowdSaleLockedStakedTest is Test {
287291 Sale memory _sale = CrowdSaleHelpers.makeSale (emitter, auctionToken, biddingToken);
288292 auctionToken.approve (address (crowdSale), 400_000 ether);
289293 // 1 DAO = 4 $
290- uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 25e16 , 60 days);
294+ uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 25e16 , 60 days, 60 days );
291295
292296 vm.stopPrank ();
293297
@@ -348,7 +352,7 @@ contract CrowdSaleLockedStakedTest is Test {
348352 Sale memory _sale = CrowdSaleHelpers.makeSale (emitter, auctionToken, biddingToken);
349353 auctionToken.approve (address (crowdSale), 400_000 ether);
350354
351- uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 25e16 , 60 days);
355+ uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 25e16 , 60 days, 60 days );
352356 vm.stopPrank ();
353357
354358 vm.startPrank (bidder);
@@ -393,7 +397,11 @@ contract CrowdSaleLockedStakedTest is Test {
393397 Sale memory _sale = CrowdSaleHelpers.makeSale (emitter, auctionToken, biddingToken);
394398 _sale.closingTime = uint64 (block .timestamp + 3 days);
395399 auctionToken.approve (address (crowdSale), 400_000 ether);
396- uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 3 days);
400+
401+ vm.expectRevert (InvalidDuration.selector );
402+ uint256 saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 3 days, 3 days);
403+
404+ saleId = crowdSale.startSale (_sale, daoToken, vestedDao, 1e18 , 3 days, 7 days);
397405
398406 vm.stopPrank ();
399407
0 commit comments