[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "restrictedLockupTokenAddress_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "trustedForwarder_",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "accessControl_",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "maxSwapLifetime_",
        "type": "uint256"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "addr",
        "type": "address"
      }
    ],
    "name": "EasyAccessControl_DoesNotHaveContractOrTransferAdminRole",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "EnforcedPause",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ExpectedPause",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReentrancyGuardReentrantCall",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_AlreadyCanceled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_AlreadyCompleted",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_AmountNotDivisible",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_DeadlineExceedsMaxLifetime",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_DeadlineRequired",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_ExceedsParentRemaining",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_FillBelowMinimum",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InconsistentQuoteTokenAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InconsistentRestrictedTokenAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InsufficientQuoteTokenAllowance",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InsufficientQuoteTokenAllowanceAfterPermit",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InsufficientQuoteTokenAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InsufficientRestrictedTokenAllowance",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InsufficientRestrictedTokenAllowanceAfterPermit",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InsufficientRestrictedTokenAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidAccessControl",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidCanceler",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidFillAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidMaxSwapLifetime",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidMinimumFillAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidOrderOwner",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidQuoteToken",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidQuoteTokenAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidQuoteTokenSender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidResizeAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidRestrictedLockupToken",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidRestrictedTokenAmount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidRestrictedTokenSender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidSwapRecord",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidSwapStatus",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidTokenSender",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_InvalidTrustedForwarder",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_NotOpenOrder",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_OpenOrderRequiresTake",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_QuoteTokenMustNotSupportIERC1404",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_SelfFillNotAllowed",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_SwapExpired",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "RestrictedSwap_SwapNotConfigured",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "SafeERC20FailedOperation",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "swapNumber",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "filler",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "fillRestrictedAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "fillQuoteAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "remainingRestrictedAmount",
        "type": "uint256"
      }
    ],
    "name": "OpenSwapFilled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "swapNumber",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newRemainingRestrictedAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newRemainingQuoteAmount",
        "type": "uint256"
      }
    ],
    "name": "OrderResized",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Paused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "swapNumber",
        "type": "uint256"
      }
    ],
    "name": "SwapCanceled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "swapNumber",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "restrictedTokenSender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "restrictedTokenAmount",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "quoteTokenSender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "quoteToken",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "quoteTokenAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      }
    ],
    "name": "SwapComplete",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "swapNumber",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "restrictedTokenSender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "restrictedTokenAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "quoteToken",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "quoteTokenSender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "quoteTokenAmount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "minimumFillAmount",
        "type": "uint256"
      }
    ],
    "name": "SwapConfigured",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Unpaused",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "INTERFACE_ID",
    "outputs": [
      {
        "internalType": "bytes4",
        "name": "",
        "type": "bytes4"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "MAX_SWAP_LIFETIME_LIMIT",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "MIN_SWAP_LIFETIME_LIMIT",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "_swapNumber",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "accessControl",
    "outputs": [
      {
        "internalType": "contract IAccessControl",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "addr",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "pageNumber",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "pageSize",
        "type": "uint256"
      }
    ],
    "name": "calculateCounterpartyAllowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "total",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      }
    ],
    "name": "cancelSwap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      }
    ],
    "name": "completeSwapWithQuoteToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitValue",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitDeadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "completeSwapWithQuoteTokenPermit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "sellSwapNumber_",
        "type": "uint256"
      }
    ],
    "name": "completeSwapWithRestrictedToken",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "sellSwapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitValue",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitDeadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "completeSwapWithRestrictedTokenPermit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "restrictedTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "restrictedTokenSender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "quoteToken",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "quoteTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "minimumFillAmount",
        "type": "uint256"
      }
    ],
    "name": "configureBuy",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "restrictedTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "restrictedTokenSender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "quoteToken",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "quoteTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "minimumFillAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitValue",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitDeadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "configureBuyWithPermit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "restrictedTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "quoteToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "quoteTokenSender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "quoteTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "minimumFillAmount",
        "type": "uint256"
      }
    ],
    "name": "configureSell",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "restrictedTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "quoteToken",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "quoteTokenSender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "quoteTokenAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "deadline",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "minimumFillAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitValue",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitDeadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "configureSellWithPermit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "contractVersion",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "newRemainingRestrictedAmount",
        "type": "uint256"
      }
    ],
    "name": "decreaseOrder",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "newRemainingRestrictedAmount",
        "type": "uint256"
      }
    ],
    "name": "increaseOrder",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "newRemainingRestrictedAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitValue",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitDeadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "increaseOrderWithPermit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      }
    ],
    "name": "isOpenOrder",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      }
    ],
    "name": "isSwapExpired",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "forwarder",
        "type": "address"
      }
    ],
    "name": "isTrustedForwarder",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxSwapLifetime",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      }
    ],
    "name": "minimumFillAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "isPaused_",
        "type": "bool"
      }
    ],
    "name": "pause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "paused",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "addr",
        "type": "address"
      }
    ],
    "name": "pendingBuys",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "addr",
        "type": "address"
      }
    ],
    "name": "pendingSells",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      }
    ],
    "name": "remainingRestrictedTokenAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "addr",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "requiredAllowance",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "restrictedLockupToken",
    "outputs": [
      {
        "internalType": "contract RestrictedLockupToken",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapNumber",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      }
    ],
    "name": "swapStatus",
    "outputs": [
      {
        "internalType": "enum IRestrictedSwap.SwapStatus",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "fillAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "sellSwapNumber_",
        "type": "uint256"
      }
    ],
    "name": "takeOpenBuy",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "fillAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "sellSwapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitValue",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitDeadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "takeOpenBuyWithPermit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "fillAmount",
        "type": "uint256"
      }
    ],
    "name": "takeOpenSell",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "swapNumber_",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "fillAmount",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitValue",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "permitDeadline",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "v",
        "type": "uint8"
      },
      {
        "internalType": "bytes32",
        "name": "r",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "s",
        "type": "bytes32"
      }
    ],
    "name": "takeOpenSellWithPermit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "trustedForwarder",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]
