Formatting

This commit is contained in:
Mark Spanbroek 2022-02-21 12:55:00 +01:00 committed by markspanbroek
parent 6e6cc1a230
commit 05fbd244e2

View File

@ -22,29 +22,40 @@ contract Marketplace is Collateral {
public public
marketplaceInvariant marketplaceInvariant
{ {
bytes32 id = keccak256(abi.encode(request));
require(request.client == msg.sender, "Invalid client address"); require(request.client == msg.sender, "Invalid client address");
bytes32 id = keccak256(abi.encode(request));
require(requests[id].client == address(0), "Request already exists"); require(requests[id].client == address(0), "Request already exists");
requests[id] = request; requests[id] = request;
_createLock(id, request.expiry); _createLock(id, request.expiry);
transferFrom(msg.sender, request.maxPrice);
funds.received += request.maxPrice; funds.received += request.maxPrice;
funds.balance += request.maxPrice; funds.balance += request.maxPrice;
transferFrom(msg.sender, request.maxPrice);
emit StorageRequested(id, request); emit StorageRequested(id, request);
} }
function offerStorage(Offer calldata offer) public marketplaceInvariant { function offerStorage(Offer calldata offer) public marketplaceInvariant {
bytes32 id = keccak256(abi.encode(offer)); require(offer.host == msg.sender, "Invalid host address");
Request storage request = requests[offer.requestId];
require(balanceOf(msg.sender) >= collateral, "Insufficient collateral"); require(balanceOf(msg.sender) >= collateral, "Insufficient collateral");
Request storage request = requests[offer.requestId];
require(request.client != address(0), "Unknown request"); require(request.client != address(0), "Unknown request");
// solhint-disable-next-line not-rely-on-time // solhint-disable-next-line not-rely-on-time
require(request.expiry > block.timestamp, "Request expired"); require(request.expiry > block.timestamp, "Request expired");
require(offer.host == msg.sender, "Invalid host address");
require(offers[id].host == address(0), "Offer already exists");
require(offer.price <= request.maxPrice, "Price too high"); require(offer.price <= request.maxPrice, "Price too high");
bytes32 id = keccak256(abi.encode(offer));
require(offers[id].host == address(0), "Offer already exists");
offers[id] = offer; offers[id] = offer;
_lock(msg.sender, offer.requestId); _lock(msg.sender, offer.requestId);
emit StorageOffered(id, offer); emit StorageOffered(id, offer);
} }
@ -53,14 +64,19 @@ contract Marketplace is Collateral {
require(offer.host != address(0), "Unknown offer"); require(offer.host != address(0), "Unknown offer");
// solhint-disable-next-line not-rely-on-time // solhint-disable-next-line not-rely-on-time
require(offer.expiry > block.timestamp, "Offer expired"); require(offer.expiry > block.timestamp, "Offer expired");
Request storage request = requests[offer.requestId]; Request storage request = requests[offer.requestId];
require(request.client == msg.sender, "Only client can select offer"); require(request.client == msg.sender, "Only client can select offer");
RequestState storage state = requestState[offer.requestId]; RequestState storage state = requestState[offer.requestId];
require(!state.offerSelected, "Offer already selected"); require(!state.offerSelected, "Offer already selected");
state.offerSelected = true; state.offerSelected = true;
_createLock(id, offer.expiry); _createLock(id, offer.expiry);
_lock(offer.host, id); _lock(offer.host, id);
_unlock(offer.requestId); _unlock(offer.requestId);
uint256 difference = request.maxPrice - offer.price; uint256 difference = request.maxPrice - offer.price;
funds.sent += difference; funds.sent += difference;
funds.balance -= difference; funds.balance -= difference;