// SPDX-License-Identifier: MIT pragma solidity ^0.8.7; struct OrderComponents { address offerer; address token; uint256 identifier; address currency; address artist; address platform; uint256 startTime; uint256 endTime; uint256 duration; uint256 periods; uint256 amount; uint256 ratio; uint256 royalty; uint256 fee; uint256 withdrawFee; uint256 salt; bytes32 conduitKey; uint256 counter; } struct OrderParameters { address offerer; // 0x00 address token; // 0x20 uint256 identifier; // 0x40 address currency; // 0x60 address artist; // 0x80 address platform; // 0xa0 uint256 startTime; // 0xc0 uint256 endTime; // 0xe0 uint256 duration; // 0x100 uint256 periods; // 0x120 uint256 amount; // 0x140 uint256 ratio; // 0x160 uint256 royalty; // 0x180 uint256 fee; // 0x1a0 uint256 withdrawFee;// 0x1c0 uint256 salt; // 0x1e0 bytes32 conduitKey; // 0x200 } struct Order { OrderParameters parameters; bytes signature; } struct OrderStatus { bool isValidated; bool isCancelled; bool isFinalized; bool isBroken; address fulfiller; uint256 startedAt; uint256 shadowId; uint256 paidTimes; }