fix: check expiration is before request end (#77)

This commit is contained in:
Adam Uhlíř 2023-12-05 11:18:43 +01:00 committed by GitHub
parent b625f0d519
commit 87461f6b83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -84,7 +84,9 @@ contract Marketplace is Proofs, StateRetrieval {
require(_requests[id].client == address(0), "Request already exists");
_requests[id] = request;
_requestContexts[id].endsAt = block.timestamp + request.ask.duration;
uint256 requestEnd = block.timestamp + request.ask.duration;
require(requestEnd > request.expiry, "Request end before expiry");
_requestContexts[id].endsAt = requestEnd;
_addToMyRequests(request.client, id);

View File

@ -152,6 +152,14 @@ describe("Marketplace", function () {
)
})
it("rejects request when expiry is after request end", async function () {
request.expiry = await currentTime() + request.ask.duration + hours(1)
await token.approve(marketplace.address, price(request))
await expect(marketplace.requestStorage(request)).to.be.revertedWith(
"Request end before expiry"
)
})
it("rejects resubmission of request", async function () {
await token.approve(marketplace.address, price(request) * 2)
await marketplace.requestStorage(request)