fix: check expiration is before request end (#77)
This commit is contained in:
parent
b625f0d519
commit
87461f6b83
|
@ -84,7 +84,9 @@ contract Marketplace is Proofs, StateRetrieval {
|
||||||
require(_requests[id].client == address(0), "Request already exists");
|
require(_requests[id].client == address(0), "Request already exists");
|
||||||
|
|
||||||
_requests[id] = request;
|
_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);
|
_addToMyRequests(request.client, id);
|
||||||
|
|
||||||
|
|
|
@ -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 () {
|
it("rejects resubmission of request", async function () {
|
||||||
await token.approve(marketplace.address, price(request) * 2)
|
await token.approve(marketplace.address, price(request) * 2)
|
||||||
await marketplace.requestStorage(request)
|
await marketplace.requestStorage(request)
|
||||||
|
|
Loading…
Reference in New Issue