Fix expiry boundry condition

This commit is contained in:
Aadi Desai 2023-02-21 12:40:18 +00:00
parent 3afe735333
commit dfde0b0320
No known key found for this signature in database
GPG key ID: CFFFE425830EF4D9
2 changed files with 8 additions and 8 deletions

View file

@ -121,7 +121,7 @@ contract TicketNFT is ITicketNFT, IPrimaryMarket, ISecondaryMarket {
require(ticketID <= _totalSupply, "setUsed: ticket doesn't exist");
require(_ticketUsed[ticketID] == false, "setUsed: ticket already used");
require(
_expiryTimes[ticketID] > block.timestamp,
_expiryTimes[ticketID] >= block.timestamp,
"setUsed: ticket expired"
);
_ticketUsed[ticketID] = true;
@ -133,7 +133,7 @@ contract TicketNFT is ITicketNFT, IPrimaryMarket, ISecondaryMarket {
"isExpiredOrUsed: ticket doesn't exist"
);
return (_ticketUsed[ticketID] ||
_expiryTimes[ticketID] <= block.timestamp);
_expiryTimes[ticketID] < block.timestamp);
}
function admin() external view returns (address) {
@ -159,7 +159,7 @@ contract TicketNFT is ITicketNFT, IPrimaryMarket, ISecondaryMarket {
);
require(
_ticketUsed[ticketID] == false &&
_expiryTimes[ticketID] > block.timestamp,
_expiryTimes[ticketID] >= block.timestamp,
"listTicket: ticket is expired/used"
);
require(price > 0, "listTicket: price cannot be 0");
@ -179,7 +179,7 @@ contract TicketNFT is ITicketNFT, IPrimaryMarket, ISecondaryMarket {
uint256 ticketRevenue = ticketPrice - ticketFee;
require(
_ticketUsed[ticketID] == false &&
_expiryTimes[ticketID] > block.timestamp,
_expiryTimes[ticketID] >= block.timestamp,
"purchase: ticket is expired/used"
);
require(

View file

@ -220,7 +220,7 @@ contract TicketNFTTest is BaseTicketNFTTest {
function testExpiry() public {
_buyTicket(alice, "alice");
assertEq(nft.isExpiredOrUsed(1), false);
vm.warp(block.timestamp + 10 days - 1);
vm.warp(block.timestamp + 10 days);
assertEq(nft.isExpiredOrUsed(1), false);
vm.warp(block.timestamp + 1);
assertEq(nft.isExpiredOrUsed(1), true);
@ -253,7 +253,7 @@ contract TicketNFTTest is BaseTicketNFTTest {
function testSetUsedExpired() public {
_buyTicket(alice, "alice");
assertEq(nft.isExpiredOrUsed(1), false);
vm.warp(block.timestamp + 10 days);
vm.warp(block.timestamp + 10 days + 1);
vm.prank(address(this));
vm.expectRevert("setUsed: ticket expired");
nft.setUsed(1);
@ -377,7 +377,7 @@ contract SecondaryMarketTest is BaseTicketNFTTest {
function testListExpired() public {
_buyTicket(alice, "alice");
vm.warp(block.timestamp + 10 days);
vm.warp(block.timestamp + 10 days + 1);
vm.prank(alice);
vm.expectRevert("listTicket: ticket is expired/used");
nft.listTicket(1, 200e19);
@ -473,7 +473,7 @@ contract SecondaryMarketTest is BaseTicketNFTTest {
vm.prank(alice);
nft.listTicket(1, 200e18);
_topUpTokens(bob, 2);
vm.warp(block.timestamp + 10 days);
vm.warp(block.timestamp + 10 days + 1);
vm.prank(bob);
token.approve(address(nft), 200e18);
vm.prank(bob);