[{"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"}]