[
 {
  "type": "constructor",
  "inputs": [
   {
    "name": "registry_",
    "type": "address",
    "internalType": "address"
   },
   {
    "name": "platformRecipient_",
    "type": "address",
    "internalType": "address"
   },
   {
    "name": "guardian_",
    "type": "address",
    "internalType": "address"
   }
  ],
  "stateMutability": "nonpayable"
 },
 {
  "name": "EnforcedPause",
  "type": "error",
  "inputs": []
 },
 {
  "name": "ExpectedPause",
  "type": "error",
  "inputs": []
 },
 {
  "name": "FailedCall",
  "type": "error",
  "inputs": []
 },
 {
  "name": "IncorrectValue",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InsufficientBalance",
  "type": "error",
  "inputs": [
   {
    "name": "balance",
    "type": "uint256",
    "internalType": "uint256"
   },
   {
    "name": "needed",
    "type": "uint256",
    "internalType": "uint256"
   }
  ]
 },
 {
  "name": "InvalidFill",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InvalidMembershipToken",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InvalidOrder",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InvalidRecipient",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InvalidShortString",
  "type": "error",
  "inputs": []
 },
 {
  "name": "InvalidSignature",
  "type": "error",
  "inputs": []
 },
 {
  "name": "MakerOnly",
  "type": "error",
  "inputs": []
 },
 {
  "name": "MembershipAlreadyActivated",
  "type": "error",
  "inputs": []
 },
 {
  "name": "NonExactTransfer",
  "type": "error",
  "inputs": [
   {
    "name": "token",
    "type": "address",
    "internalType": "address"
   }
  ]
 },
 {
  "name": "OrderExpired",
  "type": "error",
  "inputs": []
 },
 {
  "name": "OrderUnavailable",
  "type": "error",
  "inputs": []
 },
 {
  "name": "OwnableInvalidOwner",
  "type": "error",
  "inputs": [
   {
    "name": "owner",
    "type": "address",
    "internalType": "address"
   }
  ]
 },
 {
  "name": "OwnableUnauthorizedAccount",
  "type": "error",
  "inputs": [
   {
    "name": "account",
    "type": "address",
    "internalType": "address"
   }
  ]
 },
 {
  "name": "ReentrancyGuardReentrantCall",
  "type": "error",
  "inputs": []
 },
 {
  "name": "SafeERC20FailedOperation",
  "type": "error",
  "inputs": [
   {
    "name": "token",
    "type": "address",
    "internalType": "address"
   }
  ]
 },
 {
  "name": "StringTooLong",
  "type": "error",
  "inputs": [
   {
    "name": "str",
    "type": "string",
    "internalType": "string"
   }
  ]
 },
 {
  "name": "UnsupportedNativeBuy",
  "type": "error",
  "inputs": []
 },
 {
  "name": "EIP712DomainChanged",
  "type": "event",
  "inputs": [],
  "anonymous": false
 },
 {
  "name": "FeeReserveRefunded",
  "type": "event",
  "inputs": [
   {
    "name": "orderHash",
    "type": "bytes32",
    "indexed": true,
    "internalType": "bytes32"
   },
   {
    "name": "maker",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "amount",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   }
  ],
  "anonymous": false
 },
 {
  "name": "FundedOrderCreated",
  "type": "event",
  "inputs": [
   {
    "name": "orderHash",
    "type": "bytes32",
    "indexed": true,
    "internalType": "bytes32"
   },
   {
    "name": "maker",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "marketId",
    "type": "uint256",
    "indexed": true,
    "internalType": "uint256"
   },
   {
    "name": "order",
    "type": "tuple",
    "indexed": false,
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   },
   {
    "name": "deposited",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   }
  ],
  "anonymous": false
 },
 {
  "name": "MembershipTokenActivated",
  "type": "event",
  "inputs": [
   {
    "name": "token",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "decimals",
    "type": "uint8",
    "indexed": false,
    "internalType": "uint8"
   },
   {
    "name": "minimumBalance",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   }
  ],
  "anonymous": false
 },
 {
  "name": "OrderCancelled",
  "type": "event",
  "inputs": [
   {
    "name": "orderHash",
    "type": "bytes32",
    "indexed": true,
    "internalType": "bytes32"
   },
   {
    "name": "maker",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "refundTo",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "refunded",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   }
  ],
  "anonymous": false
 },
 {
  "name": "OrderFilled",
  "type": "event",
  "inputs": [
   {
    "name": "orderHash",
    "type": "bytes32",
    "indexed": true,
    "internalType": "bytes32"
   },
   {
    "name": "maker",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "taker",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "marketId",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   },
   {
    "name": "baseAmount",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   },
   {
    "name": "quoteAmount",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   },
   {
    "name": "launcherFee",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   },
   {
    "name": "platformFee",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   },
   {
    "name": "cumulativeBase",
    "type": "uint256",
    "indexed": false,
    "internalType": "uint256"
   }
  ],
  "anonymous": false
 },
 {
  "name": "OwnershipTransferStarted",
  "type": "event",
  "inputs": [
   {
    "name": "previousOwner",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "newOwner",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   }
  ],
  "anonymous": false
 },
 {
  "name": "OwnershipTransferred",
  "type": "event",
  "inputs": [
   {
    "name": "previousOwner",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   },
   {
    "name": "newOwner",
    "type": "address",
    "indexed": true,
    "internalType": "address"
   }
  ],
  "anonymous": false
 },
 {
  "name": "Paused",
  "type": "event",
  "inputs": [
   {
    "name": "account",
    "type": "address",
    "indexed": false,
    "internalType": "address"
   }
  ],
  "anonymous": false
 },
 {
  "name": "Unpaused",
  "type": "event",
  "inputs": [
   {
    "name": "account",
    "type": "address",
    "indexed": false,
    "internalType": "address"
   }
  ],
  "anonymous": false
 },
 {
  "name": "BPS_DENOMINATOR",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "BUYER_FEE_BPS",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "FEE_POLICY_VERSION",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "FOUNDING_MARKET_COUNT",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "LAUNCHER_FEE_BPS",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "MINIMUM_HOLDER_TOKENS",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "ORDER_TYPEHASH",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "bytes32",
    "internalType": "bytes32"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "acceptOwnership",
  "type": "function",
  "inputs": [],
  "outputs": [],
  "stateMutability": "nonpayable"
 },
 {
  "name": "activateMembershipToken",
  "type": "function",
  "inputs": [
   {
    "name": "token",
    "type": "address",
    "internalType": "address"
   }
  ],
  "outputs": [],
  "stateMutability": "nonpayable"
 },
 {
  "name": "cancelOrder",
  "type": "function",
  "inputs": [
   {
    "name": "order",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   },
   {
    "name": "refundTo",
    "type": "address",
    "internalType": "address"
   }
  ],
  "outputs": [],
  "stateMutability": "nonpayable"
 },
 {
  "name": "cancelled",
  "type": "function",
  "inputs": [
   {
    "name": "",
    "type": "bytes32",
    "internalType": "bytes32"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "bool",
    "internalType": "bool"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "createFundedOrder",
  "type": "function",
  "inputs": [
   {
    "name": "order",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   }
  ],
  "outputs": [],
  "stateMutability": "payable"
 },
 {
  "name": "eip712Domain",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "fields",
    "type": "bytes1",
    "internalType": "bytes1"
   },
   {
    "name": "name",
    "type": "string",
    "internalType": "string"
   },
   {
    "name": "version",
    "type": "string",
    "internalType": "string"
   },
   {
    "name": "chainId",
    "type": "uint256",
    "internalType": "uint256"
   },
   {
    "name": "verifyingContract",
    "type": "address",
    "internalType": "address"
   },
   {
    "name": "salt",
    "type": "bytes32",
    "internalType": "bytes32"
   },
   {
    "name": "extensions",
    "type": "uint256[]",
    "internalType": "uint256[]"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "escrowRemaining",
  "type": "function",
  "inputs": [
   {
    "name": "",
    "type": "bytes32",
    "internalType": "bytes32"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "expireOrder",
  "type": "function",
  "inputs": [
   {
    "name": "order",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   }
  ],
  "outputs": [],
  "stateMutability": "nonpayable"
 },
 {
  "name": "fillOrder",
  "type": "function",
  "inputs": [
   {
    "name": "order",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   },
   {
    "name": "amount",
    "type": "uint256",
    "internalType": "uint256"
   },
   {
    "name": "maxBuyerTotal",
    "type": "uint256",
    "internalType": "uint256"
   },
   {
    "name": "minSellerProceeds",
    "type": "uint256",
    "internalType": "uint256"
   },
   {
    "name": "signature",
    "type": "bytes",
    "internalType": "bytes"
   }
  ],
  "outputs": [],
  "stateMutability": "payable"
 },
 {
  "name": "filledBase",
  "type": "function",
  "inputs": [
   {
    "name": "",
    "type": "bytes32",
    "internalType": "bytes32"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "funded",
  "type": "function",
  "inputs": [
   {
    "name": "",
    "type": "bytes32",
    "internalType": "bytes32"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "bool",
    "internalType": "bool"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "fundedOrderCount",
  "type": "function",
  "inputs": [
   {
    "name": "marketId",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "fundedOrderDeposit",
  "type": "function",
  "inputs": [
   {
    "name": "order",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "pure"
 },
 {
  "name": "getFundedOrder",
  "type": "function",
  "inputs": [
   {
    "name": "marketId",
    "type": "uint256",
    "internalType": "uint256"
   },
   {
    "name": "index",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "hashOrder",
  "type": "function",
  "inputs": [
   {
    "name": "order",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "bytes32",
    "internalType": "bytes32"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "isHolderExempt",
  "type": "function",
  "inputs": [
   {
    "name": "buyer",
    "type": "address",
    "internalType": "address"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "bool",
    "internalType": "bool"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "membershipToken",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "address",
    "internalType": "address"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "membershipTokenDecimals",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint8",
    "internalType": "uint8"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "minimumHolderBalance",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "uint256",
    "internalType": "uint256"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "owner",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "address",
    "internalType": "address"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "pause",
  "type": "function",
  "inputs": [],
  "outputs": [],
  "stateMutability": "nonpayable"
 },
 {
  "name": "paused",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "bool",
    "internalType": "bool"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "pendingOwner",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "address",
    "internalType": "address"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "platformRecipient",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "address",
    "internalType": "address"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "quoteFill",
  "type": "function",
  "inputs": [
   {
    "name": "order",
    "type": "tuple",
    "components": [
     {
      "name": "marketId",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "maker",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "quoteToken",
      "type": "address",
      "internalType": "address"
     },
     {
      "name": "baseAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "expiry",
      "type": "uint64",
      "internalType": "uint64"
     },
     {
      "name": "salt",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "side",
      "type": "uint8",
      "internalType": "uint8"
     },
     {
      "name": "escrow",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.Order"
   },
   {
    "name": "amount",
    "type": "uint256",
    "internalType": "uint256"
   },
   {
    "name": "taker",
    "type": "address",
    "internalType": "address"
   }
  ],
  "outputs": [
   {
    "name": "",
    "type": "tuple",
    "components": [
     {
      "name": "quoteAmount",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "launcherFee",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "platformFee",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "buyerTotal",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "waivedPlatformFee",
      "type": "uint256",
      "internalType": "uint256"
     },
     {
      "name": "holderExempt",
      "type": "bool",
      "internalType": "bool"
     },
     {
      "name": "foundingMarket",
      "type": "bool",
      "internalType": "bool"
     }
    ],
    "internalType": "struct SidelotExchange.FillQuote"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "registry",
  "type": "function",
  "inputs": [],
  "outputs": [
   {
    "name": "",
    "type": "address",
    "internalType": "contract SidelotMarketRegistry"
   }
  ],
  "stateMutability": "view"
 },
 {
  "name": "renounceOwnership",
  "type": "function",
  "inputs": [],
  "outputs": [],
  "stateMutability": "nonpayable"
 },
 {
  "name": "transferOwnership",
  "type": "function",
  "inputs": [
   {
    "name": "newOwner",
    "type": "address",
    "internalType": "address"
   }
  ],
  "outputs": [],
  "stateMutability": "nonpayable"
 },
 {
  "name": "unpause",
  "type": "function",
  "inputs": [],
  "outputs": [],
  "stateMutability": "nonpayable"
 }
]