diff --git a/contracts/Marketplace.sol b/contracts/Marketplace.sol index d4db55c..1225f7d 100644 --- a/contracts/Marketplace.sol +++ b/contracts/Marketplace.sol @@ -82,7 +82,7 @@ contract Marketplace is Collateral, Proofs, StateRetrieval { Request storage request = _request(requestId); require(slotIndex < request.ask.slots, "Invalid slot"); - SlotId slotId = _toSlotId(requestId, slotIndex); + SlotId slotId = Requests.slotId(requestId, slotIndex); Slot storage slot = slots[slotId]; require(slot.host == address(0), "Slot already filled"); @@ -399,13 +399,6 @@ contract Marketplace is Collateral, Proofs, StateRetrieval { return s == RequestState.New || s == RequestState.Started; } - function _toSlotId( - RequestId requestId, - uint256 slotIndex - ) internal pure returns (SlotId) { - return SlotId.wrap(keccak256(abi.encode(requestId, slotIndex))); - } - function _notEqual(RequestId a, uint256 b) internal pure returns (bool) { return RequestId.unwrap(a) != bytes32(b); } diff --git a/contracts/Requests.sol b/contracts/Requests.sol index 250ff29..bc9df6e 100644 --- a/contracts/Requests.sol +++ b/contracts/Requests.sol @@ -42,6 +42,13 @@ library Requests { return RequestId.wrap(keccak256(abi.encode(request))); } + function slotId( + RequestId requestId, + uint256 slotIndex + ) internal pure returns (SlotId) { + return SlotId.wrap(keccak256(abi.encode(requestId, slotIndex))); + } + function toRequestIds( bytes32[] memory ids ) internal pure returns (RequestId[] memory result) {