diff --git a/contracts/mock/MockSeaport.sol b/contracts/mock/MockSeaport.sol new file mode 100644 index 000000000..04ff08e30 --- /dev/null +++ b/contracts/mock/MockSeaport.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.9; + +enum ItemType { + NATIVE, + ERC20, + ERC721, + ERC1155, + ERC721_WITH_CRITERIA, + ERC1155_WITH_CRITERIA +} + +enum OrderType { + FULL_OPEN, + PARTIAL_OPEN, + FULL_RESTRICTED, + PARTIAL_RESTRICTED, + CONTRACT +} + +struct OfferItem { + ItemType itemType; + address token; + uint256 identifierOrCriteria; + uint256 startAmount; + uint256 endAmount; +} + +struct ConsiderationItem { + ItemType itemType; + address token; + uint256 identifierOrCriteria; + uint256 startAmount; + uint256 endAmount; + address payable recipient; +} + +struct OrderParameters { + address offerer; // 0x00 + address zone; // 0x20 + OfferItem[] offer; // 0x40 + ConsiderationItem[] consideration; // 0x60 + OrderType orderType; // 0x80 + uint256 startTime; // 0xa0 + uint256 endTime; // 0xc0 + bytes32 zoneHash; // 0xe0 + uint256 salt; // 0x100 + bytes32 conduitKey; // 0x120 + uint256 totalOriginalConsiderationItems; // 0x140 + // offer.length // 0x160 +} + +struct Order { + OrderParameters parameters; + bytes signature; +} + +contract MockSeaport { + function validate(Order[] calldata orders) external returns (bool validated) { + return true; + } +}