@pear-protocol/symmio-client 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/constants/addresses.ts","../../src/constants/defaults.ts","../../src/utils/validation.ts","../../src/clients/muon.ts","../../src/abis/MultiAccount.ts","../../src/utils/gas.ts","../../src/actions/account.ts","../../src/actions/deposit.ts","../../src/actions/withdraw.ts","../../src/abis/SymmioDiamond.ts","../../src/utils/encoding.ts","../../src/actions/allocate.ts","../../src/actions/trade.ts","../../src/actions/close.ts","../../src/actions/cancel.ts","../../src/abis/ERC20.ts","../../src/actions/approval.ts","../../src/actions/delegation.ts","../../src/abis/SignatureStore.ts","../../src/actions/signature.ts","../../src/actions/admin.ts","../../src/actions/instant.ts","../../src/client.ts","../../src/react/context.ts","../../src/react/auth.ts","../../src/react/provider.tsx","../../src/react/hooks/use-symmio-client.ts","../../src/react/hooks/use-symm-core-client.ts","../../src/react/hooks/use-symm-auth.ts","../../src/react/query-keys.ts","../../src/react/hooks/use-symm-accounts.ts","../../src/react/hooks/use-symm-approval.ts","../../src/react/cache.ts","../../src/react/hooks/use-symm-deposit.ts","../../src/react/hooks/use-symm-withdraw.ts","../../src/react/hooks/use-symm-collateral.ts","../../src/react/hooks/use-symm-signature.ts","../../src/react/hooks/use-symm-balances.ts","../../src/react/hooks/use-symm-trade.ts","../../src/react/hooks/use-symm-positions.ts","../../src/react/hooks/use-symm-open-orders.ts","../../src/react/hooks/use-symm-trade-history.ts","../../src/react/hooks/use-symm-tpsl.ts","../../src/react/hooks/use-symm-twap.ts","../../src/react/hooks/use-symm-markets.ts","../../src/react/hooks/use-symm-funding.ts","../../src/react/hooks/use-symm-portfolio.ts","../../src/react/hooks/use-symm-notifications.ts","../../src/react/hooks/use-symm-ws.ts","../../src/react/hooks/use-symm-chart-selection.ts","../../src/utils/binance-symbol-map.ts","../../src/utils/binance-api.ts","../../src/utils/chart-metrics.ts","../../src/react/hooks/use-symm-token-selection-metadata.ts","../../src/utils/binance-intervals.ts","../../src/utils/binance-ws.ts","../../src/react/hooks/use-symm-chart-candles.ts","../../src/react/hooks/use-symm-performance-overlays.ts","../../src/react/utils.ts"],"names":["isAddress","encodeFunctionData","createContext","useContext","useAccount","usePublicClient","useWalletClient","useState","useRef","useMemo","useCallback","useEffect","createSymmSDK","jsx","useQueryClient","useQuery","useMutation","approve","deposit","depositAndAllocate","withdraw","allocate","deallocate","internalTransfer","closePosition","isAuthExpiredError","isNetworkError","isInsufficientMarginError","isRateLimitedError","isTimeoutError"],"mappings":"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","file":"index.js","sourcesContent":["import type { Address } from 'viem';\nimport { SupportedChainId } from './chains';\n\ntype AddressMap = Partial<Record<SupportedChainId, Address>>;\n\n/**\n * MultiAccount contract — manages sub-accounts for users.\n */\nexport const MULTI_ACCOUNT_ADDRESS: AddressMap = {\n [SupportedChainId.ARBITRUM]: '0x6273242a7E88b3De90822b31648C212215caaFE4',\n [SupportedChainId.BASE]: '0xE43166cE17d3511B09438a359dAa53513225101D',\n};\n\n/**\n * Symmio Core Diamond — main trading contract.\n */\nexport const SYMMIO_DIAMOND_ADDRESS: AddressMap = {\n [SupportedChainId.ARBITRUM]: '0x8F06459f184553e5d04F07F868720BDaCAB39395',\n [SupportedChainId.BASE]: '0x91Cf2D8Ed503EC52768999aA6D8DBeA6e52dbe43',\n};\n\n/**\n * Collateral token (USDC) per chain.\n */\nexport const COLLATERAL_ADDRESS: AddressMap = {\n [SupportedChainId.ARBITRUM]: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',\n [SupportedChainId.BASE]: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n};\n\n/**\n * ClearingHouse contract.\n */\nexport const CLEARING_HOUSE_ADDRESS: AddressMap = {\n [SupportedChainId.ARBITRUM]: '0x0000000000000000000000000000000000000000',\n [SupportedChainId.BASE]: '0x0000000000000000000000000000000000000000',\n};\n\n/**\n * Signature Store — TOS signature storage.\n */\nexport const SIGNATURE_STORE_ADDRESS: AddressMap = {\n [SupportedChainId.ARBITRUM]: '0x94eEa58De1C8945c342dB4bE9670301638E403e2',\n};\n\n/**\n * Default PartyB (solver) addresses per chain.\n */\nexport const DEFAULT_PARTY_B_ADDRESS: AddressMap = {\n [SupportedChainId.ARBITRUM]: '0x00c069d68bc7420740460DBC3cc3fFF9b3742421',\n [SupportedChainId.BASE]: '0x1EcAbF0Eba136920677C9575FAccee36f30592cf',\n};\n\n/**\n * Collateral token decimals per chain.\n */\nexport const COLLATERAL_DECIMALS: Partial<Record<SupportedChainId, number>> = {\n [SupportedChainId.ARBITRUM]: 6,\n [SupportedChainId.BASE]: 6,\n};\n\n/**\n * Helper to get address for a chain, throwing if not found.\n */\nexport function getAddress(\n addressMap: AddressMap,\n chainId: number,\n name: string\n): Address {\n const addr = addressMap[chainId as SupportedChainId];\n if (!addr || addr === '0x0000000000000000000000000000000000000000') {\n throw new Error(`${name} address not configured for chain ${chainId}`);\n }\n return addr;\n}\n","/**\n * Default configuration values for Symmio SDK.\n */\nimport { SupportedChainId } from './chains';\n\n/** Market order deadline: 5 minutes */\nexport const MARKET_ORDER_DEADLINE = 300n;\n\n/** Limit order deadline: ~10 years */\nexport const LIMIT_ORDER_DEADLINE = 311040120n;\n\n/** Default slippage coefficient: 1% */\nexport const MARKET_PRICE_COEFFICIENT = 1.01;\n\n/** Max leverage */\nexport const MAX_LEVERAGE = 50;\n\n/** Default precision for display */\nexport const DEFAULT_PRECISION = 2;\n\n/** Gas estimation margin: 20% buffer */\nexport const GAS_MARGIN_PERCENTAGE = 20n;\n\n/** Standard withdraw cooldown: 12 hours in seconds */\nexport const STANDARD_WITHDRAW_COOLDOWN = 43200;\n\n/** Express withdraw target: ~20 seconds */\nexport const EXPRESS_WITHDRAW_TARGET = 20;\n\n/** Muon oracle configuration */\nexport const MUON_BASE_URLS = [\n 'https://muon-oracle1.rasa.capital/v1/',\n 'https://muon-oracle2.rasa.capital/v1/',\n 'https://muon-oracle3.rasa.capital/v1/',\n 'https://muon-oracle4.rasa.capital/v1/',\n];\n\nexport const MUON_APP_NAME = 'symmio';\n\n/** Muon request timeout (ms) */\nexport const MUON_REQUEST_TIMEOUT = 15000;\n\n/**\n * Hedger API base URLs per supported instant-trading chain.\n */\nexport const HEDGER_BASE_URLS: Partial<Record<SupportedChainId, string>> = {\n [SupportedChainId.ARBITRUM]:\n 'https://www.perps-streaming.com/v1/42161a/0x6273242a7E88b3De90822b31648C212215caaFE4',\n [SupportedChainId.BASE]:\n 'https://www.perps-streaming.com/v1/8453a/0x6273242a7E88b3De90822b31648C212215caaFE4',\n};\n","import { isAddress, type Address } from 'viem';\n\nexport class SymmioSDKError extends Error {\n constructor(\n message: string,\n public readonly code: string\n ) {\n super(message);\n this.name = 'SymmioSDKError';\n }\n}\n\n/**\n * Validates that an address is a proper hex address.\n */\nexport function validateAddress(address: string, name: string): Address {\n if (!isAddress(address)) {\n throw new SymmioSDKError(\n `Invalid ${name} address: ${address}`,\n 'INVALID_ADDRESS'\n );\n }\n return address as Address;\n}\n\n/**\n * Validates that an amount is positive.\n */\nexport function validateAmount(amount: bigint, name: string): void {\n if (amount <= 0n) {\n throw new SymmioSDKError(\n `${name} must be a positive amount, got ${amount}`,\n 'INVALID_AMOUNT'\n );\n }\n}\n\n/**\n * Validates a chain ID is supported.\n */\nexport function validateChainId(\n chainId: number,\n supportedChains: number[]\n): void {\n if (!supportedChains.includes(chainId)) {\n throw new SymmioSDKError(\n `Chain ${chainId} is not supported. Supported: ${supportedChains.join(', ')}`,\n 'UNSUPPORTED_CHAIN'\n );\n }\n}\n\n/**\n * Validates that a deadline is in the future.\n */\nexport function validateDeadline(deadline: bigint): void {\n const now = BigInt(Math.floor(Date.now() / 1000));\n if (deadline <= now) {\n throw new SymmioSDKError(\n `Deadline ${deadline} is in the past (current: ${now})`,\n 'EXPIRED_DEADLINE'\n );\n }\n}\n\n/**\n * Validates that quantity is valid for trading.\n */\nexport function validateQuantity(quantity: bigint): void {\n if (quantity <= 0n) {\n throw new SymmioSDKError(\n `Quantity must be positive, got ${quantity}`,\n 'INVALID_QUANTITY'\n );\n }\n}\n","import type { Address, Hex } from 'viem';\nimport type {\n MuonSingleUpnlSig,\n MuonSingleUpnlAndPriceSig,\n MuonBatchSig,\n MuonClientConfig,\n MuonQuoteParams,\n MuonDeallocateParams,\n MuonBatchParams,\n SchnorrSign,\n} from '../types/muon';\nimport {\n MUON_BASE_URLS,\n MUON_APP_NAME,\n MUON_REQUEST_TIMEOUT,\n} from '../constants/defaults';\nimport { SymmioSDKError } from '../utils/validation';\n\n// ─── Response Parsing Helpers ──────────────────────────────────────\n\nfunction parseSchnorrSign(sigs: {\n signature: string;\n owner: string;\n nonce: string;\n}): SchnorrSign {\n return {\n signature: BigInt(sigs.signature),\n owner: sigs.owner as Address,\n nonce: sigs.nonce as Address,\n };\n}\n\nfunction parseSingleUpnlSig(result: Record<string, unknown>): MuonSingleUpnlSig {\n const data = result['result'] as Record<string, unknown> | undefined;\n if (!data) {\n throw new SymmioSDKError('Invalid Muon response: missing result', 'MUON_PARSE_ERROR');\n }\n\n const sigData = data['data'] as Record<string, unknown> | undefined;\n const signParams = (sigData?.['signParams'] ?? data['signParams']) as Record<string, unknown>;\n const signatures = (sigData?.['signatures'] ?? data['signatures']) as Array<Record<string, unknown>>;\n\n return {\n reqId: (signParams['reqId'] as string) as Hex,\n timestamp: BigInt(signParams['timestamp'] as string),\n upnl: BigInt(signParams['upnl'] as string),\n gatewaySignature: (signatures?.[0]?.['signature'] as string ?? '0x') as Hex,\n sigs: parseSchnorrSign(\n (signParams['sigs'] ?? signatures?.[1]) as {\n signature: string;\n owner: string;\n nonce: string;\n }\n ),\n };\n}\n\nfunction parseSingleUpnlAndPriceSig(result: Record<string, unknown>): MuonSingleUpnlAndPriceSig {\n const data = result['result'] as Record<string, unknown> | undefined;\n if (!data) {\n throw new SymmioSDKError('Invalid Muon response: missing result', 'MUON_PARSE_ERROR');\n }\n\n const sigData = data['data'] as Record<string, unknown> | undefined;\n const signParams = (sigData?.['signParams'] ?? data['signParams']) as Record<string, unknown>;\n const signatures = (sigData?.['signatures'] ?? data['signatures']) as Array<Record<string, unknown>>;\n\n return {\n reqId: (signParams['reqId'] as string) as Hex,\n timestamp: BigInt(signParams['timestamp'] as string),\n upnl: BigInt(signParams['upnl'] as string),\n price: BigInt(signParams['price'] as string),\n gatewaySignature: (signatures?.[0]?.['signature'] as string ?? '0x') as Hex,\n sigs: parseSchnorrSign(\n (signParams['sigs'] ?? signatures?.[1]) as {\n signature: string;\n owner: string;\n nonce: string;\n }\n ),\n };\n}\n\nfunction parseBatchSig(result: Record<string, unknown>): MuonBatchSig {\n const data = result['result'] as Record<string, unknown> | undefined;\n if (!data) {\n throw new SymmioSDKError('Invalid Muon response: missing result', 'MUON_PARSE_ERROR');\n }\n\n const sigData = data['data'] as Record<string, unknown> | undefined;\n const signParams = (sigData?.['signParams'] ?? data['signParams']) as Record<string, unknown>;\n const signatures = (sigData?.['signatures'] ?? data['signatures']) as Array<Record<string, unknown>>;\n\n return {\n reqId: (signParams['reqId'] as string) as Hex,\n timestamp: BigInt(signParams['timestamp'] as string),\n upnl: BigInt(signParams['upnl'] as string),\n prices: (signParams['prices'] as string[]).map((p) => BigInt(p)),\n symbolIds: (signParams['symbolIds'] as string[]).map((s) => BigInt(s)),\n gatewaySignature: (signatures?.[0]?.['signature'] as string ?? '0x') as Hex,\n sigs: parseSchnorrSign(\n (signParams['sigs'] ?? signatures?.[1]) as {\n signature: string;\n owner: string;\n nonce: string;\n }\n ),\n };\n}\n\n// ─── Muon Client ───────────────────────────────────────────────────\n\nexport class MuonClient {\n private baseUrls: string[];\n private appName: string;\n private timeout: number;\n\n constructor(config?: Partial<MuonClientConfig>) {\n this.baseUrls = config?.baseUrls ?? MUON_BASE_URLS;\n this.appName = config?.appName ?? MUON_APP_NAME;\n this.timeout = config?.timeout ?? MUON_REQUEST_TIMEOUT;\n }\n\n /**\n * Sends a request to Muon, trying each base URL in order until one succeeds.\n */\n private async sendRequest(\n method: string,\n params: Record<string, string>\n ): Promise<Record<string, unknown>> {\n let lastError: Error | null = null;\n\n for (const baseUrl of this.baseUrls) {\n try {\n const searchParams = new URLSearchParams({\n app: this.appName,\n method,\n });\n\n for (const [key, value] of Object.entries(params)) {\n searchParams.set(`params[${key}]`, value);\n }\n\n const url = `${baseUrl}?${searchParams.toString()}`;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeout);\n\n const response = await fetch(url, { signal: controller.signal });\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n\n const json = (await response.json()) as Record<string, unknown>;\n\n if (json['error']) {\n throw new Error(`Muon error: ${JSON.stringify(json['error'])}`);\n }\n\n return json;\n } catch (err) {\n lastError = err instanceof Error ? err : new Error(String(err));\n }\n }\n\n throw new SymmioSDKError(\n `All Muon nodes failed. Last error: ${lastError?.message}`,\n 'MUON_REQUEST_FAILED'\n );\n }\n\n /**\n * Gets a UPnL + Price signature for opening a position (sendQuote).\n */\n async getQuoteSig(params: MuonQuoteParams): Promise<MuonSingleUpnlAndPriceSig> {\n const result = await this.sendRequest('uPnl_A_withSymbolPrice', {\n partyA: params.partyA,\n chainId: params.chainId.toString(),\n symmio: params.symmioAddress,\n symbolId: params.symbolId.toString(),\n });\n\n return parseSingleUpnlAndPriceSig(result);\n }\n\n /**\n * Gets a UPnL signature for deallocating funds.\n * v0.8.5: Now includes pendingBalance for safe deallocate.\n */\n async getDeallocateSig(params: MuonDeallocateParams): Promise<MuonSingleUpnlSig> {\n const result = await this.sendRequest('uPnl_A', {\n partyA: params.partyA,\n chainId: params.chainId.toString(),\n symmio: params.symmioAddress,\n });\n\n return parseSingleUpnlSig(result);\n }\n\n /**\n * Gets a batch signature for multiple positions (v0.8.5).\n * Single signature covers multiple symbol prices for batch open/close.\n */\n async getBatchSig(params: MuonBatchParams): Promise<MuonBatchSig> {\n const result = await this.sendRequest('uPnl_A_withSymbolPrices', {\n partyA: params.partyA,\n chainId: params.chainId.toString(),\n symmio: params.symmioAddress,\n symbolIds: params.symbolIds.join(','),\n });\n\n return parseBatchSig(result);\n }\n}\n","/**\n * MultiAccount ABI\n *\n * The MultiAccount contract manages sub-accounts for users.\n * Each user can create multiple accounts, deposit/withdraw collateral,\n * delegate access to PartyB contracts, and execute batched calls.\n */\nexport const MultiAccountABI = [\n // ═══════════════════════════════════════════════════════════════════\n // Account Management\n // ═══════════════════════════════════════════════════════════════════\n\n // addAccount(string name)\n {\n name: 'addAccount',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [{ name: 'name', type: 'string' }],\n outputs: [],\n },\n\n // editAccountName(address accountAddress, string name)\n {\n name: 'editAccountName',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'accountAddress', type: 'address' },\n { name: 'name', type: 'string' },\n ],\n outputs: [],\n },\n\n // ═══════════════════════════════════════════════════════════════════\n // Deposit & Withdraw\n // ═══════════════════════════════════════════════════════════════════\n\n // depositForAccount(address account, uint256 amount)\n {\n name: 'depositForAccount',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [],\n },\n\n // depositAndAllocateForAccount(address account, uint256 amount)\n {\n name: 'depositAndAllocateForAccount',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [],\n },\n\n // withdrawFromAccount(address account, uint256 amount)\n {\n name: 'withdrawFromAccount',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [],\n },\n\n // ═══════════════════════════════════════════════════════════════════\n // Call Execution (proxy to Diamond)\n // ═══════════════════════════════════════════════════════════════════\n\n // _call(address account, bytes[] _callDatas)\n {\n name: '_call',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: '_callDatas', type: 'bytes[]' },\n ],\n outputs: [],\n },\n\n // ═══════════════════════════════════════════════════════════════════\n // Delegation\n // ═══════════════════════════════════════════════════════════════════\n\n // delegateAccess(address account, address target, bytes4 selector, bool state)\n {\n name: 'delegateAccess',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: 'target', type: 'address' },\n { name: 'selector', type: 'bytes4' },\n { name: 'state', type: 'bool' },\n ],\n outputs: [],\n },\n\n // delegateAccesses(address account, address target, bytes4[] selector, bool state)\n {\n name: 'delegateAccesses',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: 'target', type: 'address' },\n { name: 'selector', type: 'bytes4[]' },\n { name: 'state', type: 'bool' },\n ],\n outputs: [],\n },\n\n // proposeToRevokeAccesses(address account, address target, bytes4[] selector)\n {\n name: 'proposeToRevokeAccesses',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: 'target', type: 'address' },\n { name: 'selector', type: 'bytes4[]' },\n ],\n outputs: [],\n },\n\n // revokeAccesses(address account, address target, bytes4[] selector)\n {\n name: 'revokeAccesses',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'account', type: 'address' },\n { name: 'target', type: 'address' },\n { name: 'selector', type: 'bytes4[]' },\n ],\n outputs: [],\n },\n\n // delegatedAccesses(address, address, bytes4) returns (bool)\n {\n name: 'delegatedAccesses',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: '', type: 'address' },\n { name: '', type: 'address' },\n { name: '', type: 'bytes4' },\n ],\n outputs: [{ name: '', type: 'bool' }],\n },\n\n // ═══════════════════════════════════════════════════════════════════\n // View Functions\n // ═══════════════════════════════════════════════════════════════════\n\n // getAccounts(address user, uint256 start, uint256 size) returns (Account[])\n {\n name: 'getAccounts',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'user', type: 'address' },\n { name: 'start', type: 'uint256' },\n { name: 'size', type: 'uint256' },\n ],\n outputs: [\n {\n name: '',\n type: 'tuple[]',\n components: [\n { name: 'accountAddress', type: 'address' },\n { name: 'name', type: 'string' },\n ],\n },\n ],\n },\n\n // getAccountsLength(address user) returns (uint256)\n {\n name: 'getAccountsLength',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'user', type: 'address' }],\n outputs: [{ name: '', type: 'uint256' }],\n },\n\n // accounts(address, uint256) returns (address accountAddress, string name)\n {\n name: 'accounts',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: '', type: 'address' },\n { name: '', type: 'uint256' },\n ],\n outputs: [\n { name: 'accountAddress', type: 'address' },\n { name: 'name', type: 'string' },\n ],\n },\n\n // owners(address) returns (address)\n {\n name: 'owners',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: '', type: 'address' }],\n outputs: [{ name: '', type: 'address' }],\n },\n\n // indexOfAccount(address) returns (uint256)\n {\n name: 'indexOfAccount',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: '', type: 'address' }],\n outputs: [{ name: '', type: 'uint256' }],\n },\n\n // accountImplementation() returns (bytes)\n {\n name: 'accountImplementation',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: '', type: 'bytes' }],\n },\n\n // symmioAddress() returns (address)\n {\n name: 'symmioAddress',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: '', type: 'address' }],\n },\n\n // saltCounter() returns (uint256)\n {\n name: 'saltCounter',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n },\n\n // revokeCooldown() returns (uint256)\n {\n name: 'revokeCooldown',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: '', type: 'uint256' }],\n },\n\n // revokeProposalTimestamp(address, address, bytes4) returns (uint256)\n {\n name: 'revokeProposalTimestamp',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: '', type: 'address' },\n { name: '', type: 'address' },\n { name: '', type: 'bytes4' },\n ],\n outputs: [{ name: '', type: 'uint256' }],\n },\n\n // paused() returns (bool)\n {\n name: 'paused',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: '', type: 'bool' }],\n },\n\n // ═══════════════════════════════════════════════════════════════════\n // Admin / Role Management\n // ═══════════════════════════════════════════════════════════════════\n\n // pause()\n {\n name: 'pause',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [],\n outputs: [],\n },\n\n // unpause()\n {\n name: 'unpause',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [],\n outputs: [],\n },\n\n // hasRole(bytes32 role, address account) returns (bool)\n {\n name: 'hasRole',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'role', type: 'bytes32' },\n { name: 'account', type: 'address' },\n ],\n outputs: [{ name: '', type: 'bool' }],\n },\n\n // grantRole(bytes32 role, address account)\n {\n name: 'grantRole',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'role', type: 'bytes32' },\n { name: 'account', type: 'address' },\n ],\n outputs: [],\n },\n\n // revokeRole(bytes32 role, address account)\n {\n name: 'revokeRole',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'role', type: 'bytes32' },\n { name: 'account', type: 'address' },\n ],\n outputs: [],\n },\n\n // getRoleAdmin(bytes32 role) returns (bytes32)\n {\n name: 'getRoleAdmin',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'role', type: 'bytes32' }],\n outputs: [{ name: '', type: 'bytes32' }],\n },\n\n // renounceRole(bytes32 role, address account)\n {\n name: 'renounceRole',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'role', type: 'bytes32' },\n { name: 'account', type: 'address' },\n ],\n outputs: [],\n },\n\n // DEFAULT_ADMIN_ROLE() returns (bytes32)\n { name: 'DEFAULT_ADMIN_ROLE', type: 'function', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },\n\n // PAUSER_ROLE() returns (bytes32)\n { name: 'PAUSER_ROLE', type: 'function', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },\n\n // SETTER_ROLE() returns (bytes32)\n { name: 'SETTER_ROLE', type: 'function', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },\n\n // UNPAUSER_ROLE() returns (bytes32)\n { name: 'UNPAUSER_ROLE', type: 'function', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'bytes32' }] },\n\n // accountsAdmin() returns (address)\n { name: 'accountsAdmin', type: 'function', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'address' }] },\n\n // supportsInterface(bytes4) returns (bool)\n {\n name: 'supportsInterface',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'interfaceId', type: 'bytes4' }],\n outputs: [{ name: '', type: 'bool' }],\n },\n\n // ═══════════════════════════════════════════════════════════════════\n // Admin Setters\n // ═══════════════════════════════════════════════════════════════════\n\n // initialize(address admin, address symmioAddress_, bytes accountImplementation_)\n {\n name: 'initialize',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'admin', type: 'address' },\n { name: 'symmioAddress_', type: 'address' },\n { name: 'accountImplementation_', type: 'bytes' },\n ],\n outputs: [],\n },\n\n // setAccountImplementation(bytes accountImplementation_)\n {\n name: 'setAccountImplementation',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [{ name: 'accountImplementation_', type: 'bytes' }],\n outputs: [],\n },\n\n // setSymmioAddress(address addr)\n {\n name: 'setSymmioAddress',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [{ name: 'addr', type: 'address' }],\n outputs: [],\n },\n\n // setRevokeCooldown(uint256 cooldown)\n {\n name: 'setRevokeCooldown',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [{ name: 'cooldown', type: 'uint256' }],\n outputs: [],\n },\n\n // ═══════════════════════════════════════════════════════════════════\n // Events\n // ═══════════════════════════════════════════════════════════════════\n\n { name: 'AddAccount', type: 'event', inputs: [{ name: 'user', type: 'address', indexed: false }, { name: 'account', type: 'address', indexed: false }, { name: 'name', type: 'string', indexed: false }] },\n { name: 'EditAccountName', type: 'event', inputs: [{ name: 'user', type: 'address', indexed: false }, { name: 'account', type: 'address', indexed: false }, { name: 'newName', type: 'string', indexed: false }] },\n { name: 'DepositForAccount', type: 'event', inputs: [{ name: 'user', type: 'address', indexed: false }, { name: 'account', type: 'address', indexed: false }, { name: 'amount', type: 'uint256', indexed: false }] },\n { name: 'AllocateForAccount', type: 'event', inputs: [{ name: 'user', type: 'address', indexed: false }, { name: 'account', type: 'address', indexed: false }, { name: 'amount', type: 'uint256', indexed: false }] },\n { name: 'WithdrawFromAccount', type: 'event', inputs: [{ name: 'user', type: 'address', indexed: false }, { name: 'account', type: 'address', indexed: false }, { name: 'amount', type: 'uint256', indexed: false }] },\n { name: 'Call', type: 'event', inputs: [{ name: 'user', type: 'address', indexed: false }, { name: 'account', type: 'address', indexed: false }, { name: '_callData', type: 'bytes', indexed: false }, { name: '_success', type: 'bool', indexed: false }, { name: '_resultData', type: 'bytes', indexed: false }] },\n { name: 'DelegateAccess', type: 'event', inputs: [{ name: 'account', type: 'address', indexed: false }, { name: 'target', type: 'address', indexed: false }, { name: 'selector', type: 'bytes4', indexed: false }, { name: 'state', type: 'bool', indexed: false }] },\n { name: 'DelegateAccesses', type: 'event', inputs: [{ name: 'account', type: 'address', indexed: false }, { name: 'target', type: 'address', indexed: false }, { name: 'selector', type: 'bytes4[]', indexed: false }, { name: 'state', type: 'bool', indexed: false }] },\n { name: 'ProposeToRevokeAccesses', type: 'event', inputs: [{ name: 'account', type: 'address', indexed: false }, { name: 'target', type: 'address', indexed: false }, { name: 'selector', type: 'bytes4[]', indexed: false }] },\n { name: 'DeployContract', type: 'event', inputs: [{ name: 'sender', type: 'address', indexed: false }, { name: 'contractAddress', type: 'address', indexed: false }] },\n { name: 'Initialized', type: 'event', inputs: [{ name: 'version', type: 'uint8', indexed: false }] },\n { name: 'Paused', type: 'event', inputs: [{ name: 'account', type: 'address', indexed: false }] },\n { name: 'Unpaused', type: 'event', inputs: [{ name: 'account', type: 'address', indexed: false }] },\n { name: 'SetAccountImplementation', type: 'event', inputs: [{ name: 'oldAddress', type: 'bytes', indexed: false }, { name: 'newAddress', type: 'bytes', indexed: false }] },\n { name: 'SetSymmioAddress', type: 'event', inputs: [{ name: 'oldAddress', type: 'address', indexed: false }, { name: 'newAddress', type: 'address', indexed: false }] },\n { name: 'SetRevokeCooldown', type: 'event', inputs: [{ name: 'oldCooldown', type: 'uint256', indexed: false }, { name: 'newCooldown', type: 'uint256', indexed: false }] },\n { name: 'RoleAdminChanged', type: 'event', inputs: [{ name: 'role', type: 'bytes32', indexed: true }, { name: 'previousAdminRole', type: 'bytes32', indexed: true }, { name: 'newAdminRole', type: 'bytes32', indexed: true }] },\n { name: 'RoleGranted', type: 'event', inputs: [{ name: 'role', type: 'bytes32', indexed: true }, { name: 'account', type: 'address', indexed: true }, { name: 'sender', type: 'address', indexed: true }] },\n { name: 'RoleRevoked', type: 'event', inputs: [{ name: 'role', type: 'bytes32', indexed: true }, { name: 'account', type: 'address', indexed: true }, { name: 'sender', type: 'address', indexed: true }] },\n] as const;\n","import { GAS_MARGIN_PERCENTAGE } from '../constants/defaults';\n\n/**\n * Adds a gas margin buffer to the estimated gas.\n * Default buffer is 20% above the estimation.\n */\nexport function calculateGasMargin(estimatedGas: bigint): bigint {\n return (estimatedGas * (100n + GAS_MARGIN_PERCENTAGE)) / 100n;\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type { Account } from '../types/account';\nimport type { PreparedTransaction } from '../types/common';\nimport { calculateGasMargin } from '../utils/gas';\n\n// ═══════════════════════════════════════════════════════════════════\n// Prepare Transactions\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Prepares a transaction to create a new account.\n */\nexport function prepareAddAccount(\n multiAccount: Address,\n account: Address,\n name: string\n): PreparedTransaction {\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'addAccount',\n args: [name],\n });\n\n return {\n functionName: 'addAccount',\n args: [name],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n/**\n * Prepares a transaction to edit an account's name.\n */\nexport function prepareEditAccountName(\n multiAccount: Address,\n account: Address,\n accountAddress: Address,\n name: string\n): PreparedTransaction {\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'editAccountName',\n args: [accountAddress, name],\n });\n\n return {\n functionName: 'editAccountName',\n args: [accountAddress, name],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n// ═══════════════════════════════════════════════════════════════════\n// Execute Transactions\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Creates a new account.\n */\nexport async function addAccount(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n name: string\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareAddAccount(multiAccount, account, name);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n/**\n * Edits an account's name.\n */\nexport async function editAccountName(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n accountAddress: Address,\n name: string\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareEditAccountName(multiAccount, account, accountAddress, name);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n// ═══════════════════════════════════════════════════════════════════\n// Read Operations\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Gets paginated accounts for a user.\n */\nexport async function getAccounts(\n publicClient: PublicClient,\n multiAccount: Address,\n user: Address,\n start: number = 0,\n size: number = 100\n): Promise<Account[]> {\n const result = await publicClient.readContract({\n address: multiAccount,\n abi: MultiAccountABI,\n functionName: 'getAccounts',\n args: [user, BigInt(start), BigInt(size)],\n });\n\n return result as unknown as Account[];\n}\n\n/**\n * Gets the number of accounts for a user.\n */\nexport async function getAccountsLength(\n publicClient: PublicClient,\n multiAccount: Address,\n user: Address\n): Promise<number> {\n const result = await publicClient.readContract({\n address: multiAccount,\n abi: MultiAccountABI,\n functionName: 'getAccountsLength',\n args: [user],\n });\n\n return Number(result);\n}\n\n/**\n * Gets the owner of a specific account.\n */\nexport async function getOwner(\n publicClient: PublicClient,\n multiAccount: Address,\n accountAddress: Address\n): Promise<Address> {\n const result = await publicClient.readContract({\n address: multiAccount,\n abi: MultiAccountABI,\n functionName: 'owners',\n args: [accountAddress],\n });\n\n return result as Address;\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type {\n DepositParams,\n DepositAndAllocateParams,\n} from '../types/collateral';\nimport type { PreparedTransaction } from '../types/common';\nimport { validateAddress, validateAmount } from '../utils/validation';\nimport { calculateGasMargin } from '../utils/gas';\n\n// ═══════════════════════════════════════════════════════════════════\n// Prepare Transactions\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Prepares a standard deposit to an account.\n */\nexport function prepareDeposit(\n multiAccount: Address,\n account: Address,\n params: DepositParams\n): PreparedTransaction {\n validateAmount(params.amount, 'deposit amount');\n validateAddress(params.account, 'account');\n\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'depositForAccount',\n args: [params.account, params.amount],\n });\n\n return {\n functionName: 'depositForAccount',\n args: [params.account, params.amount],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n/**\n * Prepares a deposit + allocate in a single transaction.\n */\nexport function prepareDepositAndAllocate(\n multiAccount: Address,\n account: Address,\n params: DepositAndAllocateParams\n): PreparedTransaction {\n validateAmount(params.amount, 'deposit amount');\n validateAddress(params.account, 'account');\n\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'depositAndAllocateForAccount',\n args: [params.account, params.amount],\n });\n\n return {\n functionName: 'depositAndAllocateForAccount',\n args: [params.account, params.amount],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n// ═══════════════════════════════════════════════════════════════════\n// Execute Transactions\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Executes a standard deposit.\n */\nexport async function deposit(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n params: DepositParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareDeposit(multiAccount, account, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n/**\n * Executes a deposit + allocate in one transaction.\n */\nexport async function depositAndAllocate(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n params: DepositAndAllocateParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareDepositAndAllocate(multiAccount, account, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type { WithdrawParams } from '../types/collateral';\nimport type { PreparedTransaction } from '../types/common';\nimport { validateAddress, validateAmount } from '../utils/validation';\nimport { calculateGasMargin } from '../utils/gas';\n\n// ═══════════════════════════════════════════════════════════════════\n// Prepare Transactions\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Prepares a withdrawal from an account.\n * Calls `withdrawFromAccount` on the MultiAccount contract.\n */\nexport function prepareWithdraw(\n multiAccount: Address,\n account: Address,\n params: WithdrawParams\n): PreparedTransaction {\n validateAmount(params.amount, 'withdraw amount');\n validateAddress(params.account, 'account');\n\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'withdrawFromAccount',\n args: [params.account, params.amount],\n });\n\n return {\n functionName: 'withdrawFromAccount',\n args: [params.account, params.amount],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n// ═══════════════════════════════════════════════════════════════════\n// Execute Transactions\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Withdraws collateral from an account.\n */\nexport async function withdraw(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n params: WithdrawParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareWithdraw(multiAccount, account, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n","export const SymmioDiamondABI = [\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"_functionSelector\",\n type: \"bytes4\",\n },\n ],\n name: \"facetAddress\",\n outputs: [\n {\n internalType: \"address\",\n name: \"facetAddress_\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"facetAddresses\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"facetAddresses_\",\n type: \"address[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_facet\",\n type: \"address\",\n },\n ],\n name: \"facetFunctionSelectors\",\n outputs: [\n {\n internalType: \"bytes4[]\",\n name: \"facetFunctionSelectors_\",\n type: \"bytes4[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"facets\",\n outputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"facetAddress\",\n type: \"address\",\n },\n {\n internalType: \"bytes4[]\",\n name: \"functionSelectors\",\n type: \"bytes4[]\",\n },\n ],\n internalType: \"struct IDiamondLoupe.Facet[]\",\n name: \"facets_\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"_functionSelector\",\n type: \"bytes4\",\n },\n ],\n name: \"facetAddress\",\n outputs: [\n {\n internalType: \"address\",\n name: \"facetAddress_\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"facetAddresses\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"facetAddresses_\",\n type: \"address[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_facet\",\n type: \"address\",\n },\n ],\n name: \"facetFunctionSelectors\",\n outputs: [\n {\n internalType: \"bytes4[]\",\n name: \"_facetFunctionSelectors\",\n type: \"bytes4[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"facets\",\n outputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"facetAddress\",\n type: \"address\",\n },\n {\n internalType: \"bytes4[]\",\n name: \"functionSelectors\",\n type: \"bytes4[]\",\n },\n ],\n internalType: \"struct IDiamondLoupe.Facet[]\",\n name: \"facets_\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"_interfaceId\",\n type: \"bytes4\",\n },\n ],\n name: \"supportsInterface\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"AcceptCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"AcceptCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"AcceptCancelRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"EmergencyClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"EmergencyClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"FillCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"FillCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"LockQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n ],\n name: \"OpenPosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"UnlockQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"AcceptCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"AcceptCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"AcceptCancelRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"EmergencyClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"EmergencyClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"FillCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"FillCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"LockQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n ],\n name: \"OpenPosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"UnlockQuote\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"acceptCancelCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"acceptCancelRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"emergencyClosePosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"fillCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"pairUpnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"lockAndOpenQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"lockQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"openPosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"unlockQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"AcceptCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"AcceptCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"AcceptCancelRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"EmergencyClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"EmergencyClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"FillCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"FillCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"LockQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n ],\n name: \"OpenPosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"UnlockQuote\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"acceptCancelCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"acceptCancelRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"emergencyClosePosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"fillCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"pairUpnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"lockAndOpenQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"lockQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"openPosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"unlockQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"validAmount\",\n type: \"uint256\",\n },\n ],\n name: \"RestoreBridgeTransaction\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"SuspendBridgeTransaction\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridgeAddress\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"TransferToBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"WithdrawReceivedBridgeValue\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"transactionIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"WithdrawReceivedBridgeValues\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"validAmount\",\n type: \"uint256\",\n },\n ],\n name: \"RestoreBridgeTransaction\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"SuspendBridgeTransaction\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridgeAddress\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"TransferToBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"WithdrawReceivedBridgeValue\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"transactionIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"WithdrawReceivedBridgeValues\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"validAmount\",\n type: \"uint256\",\n },\n ],\n name: \"restoreBridgeTransaction\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"suspendBridgeTransaction\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"bridgeAddress\",\n type: \"address\",\n },\n ],\n name: \"transferToBridge\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"withdrawReceivedBridgeValue\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"transactionIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"withdrawReceivedBridgeValues\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"validAmount\",\n type: \"uint256\",\n },\n ],\n name: \"RestoreBridgeTransaction\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"SuspendBridgeTransaction\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridgeAddress\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"TransferToBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"WithdrawReceivedBridgeValue\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"transactionIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"WithdrawReceivedBridgeValues\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"validAmount\",\n type: \"uint256\",\n },\n ],\n name: \"restoreBridgeTransaction\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"suspendBridgeTransaction\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"bridgeAddress\",\n type: \"address\",\n },\n ],\n name: \"transferToBridge\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"withdrawReceivedBridgeValue\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"transactionIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"withdrawReceivedBridgeValues\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"allocatedBalanceOfPartyA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"allocatedBalanceOfPartyB\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n ],\n name: \"allocatedBalanceOfPartyBs\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"balanceInfoOfPartyA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"balanceInfoOfPartyB\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"coolDownsOfMA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"deallocateCooldown\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"forceCloseCooldowns\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n ],\n name: \"forceCloseGapRatio\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"forceCloseMinSigPeriod\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"forceClosePricePenalty\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getActivePositionsFilteredByPartyB\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBalanceLimitPerUser\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"getBridgeTransaction\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"enum BridgeTransactionStatus\",\n name: \"status\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct BridgeTransaction\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getBridgeTransactions\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"enum BridgeTransactionStatus\",\n name: \"status\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct BridgeTransaction[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCollateral\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getDeallocateDebounceTime\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getDefaultFeeCollector\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"getFeeCollector\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getInvalidBridgedAmountsPool\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"getLiquidatedStateOfPartyA\",\n outputs: [\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"enum LiquidationType\",\n name: \"liquidationType\",\n type: \"uint8\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"deficit\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"involvedPartyBCounts\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"partyAAccumulatedUpnl\",\n type: \"int256\",\n },\n {\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LiquidationDetail\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getMuonConfig\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"upnlValidTime\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"priceValidTime\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getMuonIds\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"muonAppId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"x\",\n type: \"uint256\",\n },\n {\n internalType: \"uint8\",\n name: \"parity\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct PublicKey\",\n name: \"muonPublicKey\",\n type: \"tuple\",\n },\n {\n internalType: \"address\",\n name: \"validGateway\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getNextBridgeTransactionId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getNextQuoteId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getOpenPositionsFilteredByPartyB\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getPartyAOpenPositions\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"getPartyAPendingQuotes\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n ],\n name: \"getPartyBEmergencyStatus\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"isEmergency\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getPartyBOpenPositions\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"getPartyBPendingQuotes\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getPositionsFilteredByPartyB\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"getQuote\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"getQuoteCloseId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getQuotes\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getQuotesByParent\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"offset\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"bitmap\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct IViewFacet.BitmapElement[]\",\n name: \"elements\",\n type: \"tuple[]\",\n },\n ],\n internalType: \"struct IViewFacet.Bitmap\",\n name: \"bitmap\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"gasNeededForReturn\",\n type: \"uint256\",\n },\n ],\n name: \"getQuotesWithBitmap\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"quotes\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"str\",\n type: \"string\",\n },\n ],\n name: \"getRoleHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n ],\n name: \"getSettlementStates\",\n outputs: [\n {\n components: [\n {\n internalType: \"int256\",\n name: \"actualAmount\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"expectedAmount\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"bool\",\n name: \"pending\",\n type: \"bool\",\n },\n ],\n internalType: \"struct SettlementState[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n ],\n name: \"getSymbol\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getSymbols\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n ],\n name: \"hasRole\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"isAffiliate\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"isPartyALiquidated\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"isPartyB\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"isPartyBLiquidated\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"isSuspended\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"liquidationTimeout\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"liquidatorShare\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"nonceOfPartyA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"nonceOfPartyB\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyAPositionsCount\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyAStats\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyBLiquidationTimestamp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyBPositionsCount\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseState\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"globalPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"liquidationPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"accountingPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"partyBActionsPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"partyAActionsPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"internalTransferPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"emergencyMode\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pendingQuotesValidLength\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"quoteIdsOf\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"quotesLength\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"symbolNameById\",\n outputs: [\n {\n internalType: \"string[]\",\n name: \"\",\n type: \"string[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"symbolNameByQuoteId\",\n outputs: [\n {\n internalType: \"string[]\",\n name: \"\",\n type: \"string[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"symbolsByQuoteId\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hash\",\n type: \"bytes32\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sign\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n ],\n name: \"verifyMuonTSSAndGateway\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"withdrawCooldownOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"allocatedBalanceOfPartyA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"allocatedBalanceOfPartyB\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n ],\n name: \"allocatedBalanceOfPartyBs\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"balanceInfoOfPartyA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"balanceInfoOfPartyB\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"balanceOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"coolDownsOfMA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n ],\n name: \"forceCloseGapRatio\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"forceCloseMinSigPeriod\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"forceClosePricePenalty\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getActivePositionsFilteredByPartyB\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getBalanceLimitPerUser\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"transactionId\",\n type: \"uint256\",\n },\n ],\n name: \"getBridgeTransaction\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"enum BridgeTransactionStatus\",\n name: \"status\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct BridgeTransaction\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getBridgeTransactions\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"enum BridgeTransactionStatus\",\n name: \"status\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct BridgeTransaction[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getCollateral\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getDeallocateDebounceTime\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getDefaultFeeCollector\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"getFeeCollector\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getInvalidBridgedAmountsPool\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"getLiquidatedStateOfPartyA\",\n outputs: [\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"enum LiquidationType\",\n name: \"liquidationType\",\n type: \"uint8\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"deficit\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"involvedPartyBCounts\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"partyAAccumulatedUpnl\",\n type: \"int256\",\n },\n {\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LiquidationDetail\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getMuonConfig\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"upnlValidTime\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"priceValidTime\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getMuonIds\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"muonAppId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"x\",\n type: \"uint256\",\n },\n {\n internalType: \"uint8\",\n name: \"parity\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct PublicKey\",\n name: \"muonPublicKey\",\n type: \"tuple\",\n },\n {\n internalType: \"address\",\n name: \"validGateway\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getNextBridgeTransactionId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getNextQuoteId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getOpenPositionsFilteredByPartyB\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getPartyAOpenPositions\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"getPartyAPendingQuotes\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n ],\n name: \"getPartyBEmergencyStatus\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"isEmergency\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getPartyBOpenPositions\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"getPartyBPendingQuotes\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getPositionsFilteredByPartyB\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"getQuote\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getQuotes\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getQuotesByParent\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"offset\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"bitmap\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct IViewFacet.BitmapElement[]\",\n name: \"elements\",\n type: \"tuple[]\",\n },\n ],\n internalType: \"struct IViewFacet.Bitmap\",\n name: \"bitmap\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"gasNeededForReturn\",\n type: \"uint256\",\n },\n ],\n name: \"getQuotesWithBitmap\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"id\",\n type: \"uint256\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"openedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"initialOpenedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedOpenPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closedAmount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"initialLockedValues\",\n type: \"tuple\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct LockedValues\",\n name: \"lockedValues\",\n type: \"tuple\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"avgClosedPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"requestedClosePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"parentId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"createTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"statusModifyTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lastFundingPaymentTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n internalType: \"struct Quote[]\",\n name: \"quotes\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"str\",\n type: \"string\",\n },\n ],\n name: \"getRoleHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n ],\n name: \"getSettlementStates\",\n outputs: [\n {\n components: [\n {\n internalType: \"int256\",\n name: \"actualAmount\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"expectedAmount\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"bool\",\n name: \"pending\",\n type: \"bool\",\n },\n ],\n internalType: \"struct SettlementState[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n ],\n name: \"getSymbol\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol\",\n name: \"\",\n type: \"tuple\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"getSymbols\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n ],\n name: \"hasRole\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"isAffiliate\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"isPartyALiquidated\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"isPartyB\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"isPartyBLiquidated\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"isSuspended\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"liquidationTimeout\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"liquidatorShare\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"nonceOfPartyA\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"nonceOfPartyB\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyAPositionsCount\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyAStats\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyBLiquidationTimestamp\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"partyBPositionsCount\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseState\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"globalPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"liquidationPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"accountingPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"partyBActionsPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"partyAActionsPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"internalTransferPaused\",\n type: \"bool\",\n },\n {\n internalType: \"bool\",\n name: \"emergencyMode\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pendingQuotesValidLength\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"start\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"size\",\n type: \"uint256\",\n },\n ],\n name: \"quoteIdsOf\",\n outputs: [\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"quotesLength\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"symbolNameById\",\n outputs: [\n {\n internalType: \"string[]\",\n name: \"\",\n type: \"string[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"symbolNameByQuoteId\",\n outputs: [\n {\n internalType: \"string[]\",\n name: \"\",\n type: \"string[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"symbolsByQuoteId\",\n outputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol[]\",\n name: \"\",\n type: \"tuple[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hash\",\n type: \"bytes32\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sign\",\n type: \"tuple\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n ],\n name: \"verifyMuonTSSAndGateway\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"withdrawCooldownOf\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ForceCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceCancelQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ForceClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"RequestToCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToCancelQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"RequestToClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"expiredQuoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"expireQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"forceCancelCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"forceCancelQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"highest\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lowest\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"averagePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"startTime\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"endTime\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"currentPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct HighLowPriceSig\",\n name: \"sig\",\n type: \"tuple\",\n },\n ],\n name: \"forceClosePosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"requestToCancelCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"requestToCancelQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"requestToClosePosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"sendQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"sendQuoteWithAffiliate\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ForceCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceCancelQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ForceClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"RequestToCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToCancelQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"RequestToClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ForceCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceCancelQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ForceClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"filledAmount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closedPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"ForceClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"RequestToCancelCloseRequest\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToCancelQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"RequestToClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n ],\n name: \"RequestToClosePosition\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256[]\",\n name: \"expiredQuoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"expireQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"forceCancelCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"forceCancelQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"highest\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lowest\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"averagePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"startTime\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"endTime\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"currentPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct HighLowPriceSig\",\n name: \"sig\",\n type: \"tuple\",\n },\n ],\n name: \"forceClosePosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"requestToCancelCloseRequest\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"requestToCancelQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"closePrice\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantityToClose\",\n type: \"uint256\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"requestToClosePosition\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"sendQuote\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxFundingRate\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlAndPriceSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"sendQuoteWithAffiliate\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"AllocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"Deposit\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"userNewAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"InternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"originNewAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"recipientNewAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"TransferAllocation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n ],\n name: \"TransferAllocation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"Withdraw\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"allocate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"allocateForPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"deallocate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"deallocateForPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"deposit\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"depositAndAllocate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"depositFor\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"internalTransfer\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"transferAllocation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"withdraw\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"AllocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"Deposit\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"userNewAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"InternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"originNewAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"recipientNewAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"TransferAllocation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n ],\n name: \"TransferAllocation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"Withdraw\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"AllocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"AllocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocateForPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"DeallocatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"Deposit\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"userNewAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"InternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"originNewAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"recipientNewAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"TransferAllocation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n ],\n name: \"TransferAllocation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"Withdraw\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"allocate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"allocateForPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"deallocate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"deallocateForPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"deposit\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"depositAndAllocate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"depositFor\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"internalTransfer\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"origin\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"recipient\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"transferAllocation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"withdraw\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"amount\",\n type: \"uint256\",\n },\n ],\n name: \"withdrawTo\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"rates\",\n type: \"int256[]\",\n },\n ],\n name: \"ChargeFundingRate\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"rates\",\n type: \"int256[]\",\n },\n ],\n name: \"ChargeFundingRate\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"int256[]\",\n name: \"rates\",\n type: \"int256[]\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"chargeFundingRate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"rates\",\n type: \"int256[]\",\n },\n ],\n name: \"ChargeFundingRate\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"int256[]\",\n name: \"rates\",\n type: \"int256[]\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyA\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"upnlPartyB\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct PairUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"chargeFundingRate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"facetAddress\",\n type: \"address\",\n },\n {\n internalType: \"enum IDiamondCut.FacetCutAction\",\n name: \"action\",\n type: \"uint8\",\n },\n {\n internalType: \"bytes4[]\",\n name: \"functionSelectors\",\n type: \"bytes4[]\",\n },\n ],\n indexed: false,\n internalType: \"struct IDiamondCut.FacetCut[]\",\n name: \"_diamondCut\",\n type: \"tuple[]\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"_init\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"_calldata\",\n type: \"bytes\",\n },\n ],\n name: \"DiamondCut\",\n type: \"event\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"facetAddress\",\n type: \"address\",\n },\n {\n internalType: \"enum IDiamondCut.FacetCutAction\",\n name: \"action\",\n type: \"uint8\",\n },\n {\n internalType: \"bytes4[]\",\n name: \"functionSelectors\",\n type: \"bytes4[]\",\n },\n ],\n internalType: \"struct IDiamondCut.FacetCut[]\",\n name: \"_diamondCut\",\n type: \"tuple[]\",\n },\n {\n internalType: \"address\",\n name: \"_init\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"_calldata\",\n type: \"bytes\",\n },\n ],\n name: \"diamondCut\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"facetAddress\",\n type: \"address\",\n },\n {\n internalType: \"enum IDiamondCut.FacetCutAction\",\n name: \"action\",\n type: \"uint8\",\n },\n {\n internalType: \"bytes4[]\",\n name: \"functionSelectors\",\n type: \"bytes4[]\",\n },\n ],\n indexed: false,\n internalType: \"struct IDiamondCut.FacetCut[]\",\n name: \"_diamondCut\",\n type: \"tuple[]\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"_init\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"_calldata\",\n type: \"bytes\",\n },\n ],\n name: \"DiamondCut\",\n type: \"event\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"address\",\n name: \"facetAddress\",\n type: \"address\",\n },\n {\n internalType: \"enum IDiamondCut.FacetCutAction\",\n name: \"action\",\n type: \"uint8\",\n },\n {\n internalType: \"bytes4[]\",\n name: \"functionSelectors\",\n type: \"bytes4[]\",\n },\n ],\n internalType: \"struct IDiamondCut.FacetCut[]\",\n name: \"_diamondCut\",\n type: \"tuple[]\",\n },\n {\n internalType: \"address\",\n name: \"_init\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"_calldata\",\n type: \"bytes\",\n },\n ],\n name: \"diamondCut\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationBlockNumber\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeferredLiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"DisputeForLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"FullyLiquidatedPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"FullyLiquidatedPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"FullyLiquidatedPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePendingPositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"LiquidatePendingPositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"closeIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"closeIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidationDisputed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"LiquidationDisputed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"ResolveLiquidationDispute\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n ],\n name: \"ResolveLiquidationDispute\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"SetSymbolsPrices\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n ],\n name: \"SetSymbolsPrices\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"SettlePartyALiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n ],\n name: \"SettlePartyALiquidation\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationBlockNumber\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationAllocatedBalance\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct DeferredLiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"deferredLiquidatePartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationBlockNumber\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationAllocatedBalance\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct DeferredLiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"deferredSetSymbolsPrice\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct LiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"liquidatePartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"liquidatePartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"liquidatePendingPositionsPartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"liquidatePositionsPartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct QuotePriceSig\",\n name: \"priceSig\",\n type: \"tuple\",\n },\n ],\n name: \"liquidatePositionsPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n ],\n name: \"resolveLiquidationDispute\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct LiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"setSymbolsPrice\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n ],\n name: \"settlePartyALiquidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationBlockNumber\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeferredLiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"DisputeForLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"FullyLiquidatedPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"FullyLiquidatedPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"FullyLiquidatedPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePendingPositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"LiquidatePendingPositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"closeIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"closeIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidationDisputed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"LiquidationDisputed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"ResolveLiquidationDispute\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n ],\n name: \"ResolveLiquidationDispute\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"SetSymbolsPrices\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n ],\n name: \"SetSymbolsPrices\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"SettlePartyALiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n ],\n name: \"SettlePartyALiquidation\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationBlockNumber\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationAllocatedBalance\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct DeferredLiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"deferredLiquidatePartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationBlockNumber\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"liquidationAllocatedBalance\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct DeferredLiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"deferredSetSymbolsPrice\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct LiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"liquidatePartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct SingleUpnlSig\",\n name: \"upnlSig\",\n type: \"tuple\",\n },\n ],\n name: \"liquidatePartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"liquidatePendingPositionsPartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"liquidatePositionsPartyA\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct QuotePriceSig\",\n name: \"priceSig\",\n type: \"tuple\",\n },\n ],\n name: \"liquidatePositionsPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n ],\n name: \"resolveLiquidationDispute\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"bytes\",\n name: \"reqId\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"timestamp\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"gatewaySignature\",\n type: \"bytes\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"signature\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"nonce\",\n type: \"address\",\n },\n ],\n internalType: \"struct SchnorrSign\",\n name: \"sigs\",\n type: \"tuple\",\n },\n ],\n internalType: \"struct LiquidationSig\",\n name: \"liquidationSig\",\n type: \"tuple\",\n },\n ],\n name: \"setSymbolsPrice\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n ],\n name: \"settlePartyALiquidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationBlockNumber\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationTimestamp\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"liquidationAllocatedBalance\",\n type: \"uint256\",\n },\n ],\n name: \"DeferredLiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"DisputeForLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"closeId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteClose\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"enum QuoteStatus\",\n name: \"quoteStatus\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n ],\n name: \"ExpireQuoteOpen\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"FullyLiquidatedPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"FullyLiquidatedPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"FullyLiquidatedPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"allocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"totalUnrealizedLoss\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBAllocatedBalance\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"int256\",\n name: \"upnl\",\n type: \"int256\",\n },\n ],\n name: \"LiquidatePartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePendingPositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"LiquidatePendingPositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"closeIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidatePositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyA\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"liquidatedAmounts\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"closeIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"quoteIds\",\n type: \"uint256[]\",\n },\n ],\n name: \"LiquidatePositionsPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"LiquidationDisputed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n ],\n name: \"LiquidationDisputed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"ResolveLiquidationDispute\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"disputed\",\n type: \"bool\",\n },\n ],\n name: \"ResolveLiquidationDispute\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quoteId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBsWhiteList\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"enum PositionType\",\n name: \"positionType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"enum OrderType\",\n name: \"orderType\",\n type: \"uint8\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"price\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"marketPrice\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"quantity\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"cva\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"lf\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyAmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"partyBmm\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"deadline\",\n type: \"uint256\",\n },\n ],\n name: \"SendQuote\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"SetSymbolsPrices\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"liquidator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"symbolIds\",\n type: \"uint256[]\",\n },\n {\n indexed: false,\n internalType: \"uint256[]\",\n name: \"prices\",\n type: \"uint256[]\",\n },\n ],\n name: \"SetSymbolsPrices\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n {\n indexed: false,\n internalType: \"bytes\",\n name: \"liquidationId\",\n type: \"bytes\",\n },\n ],\n name: \"SettlePartyALiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyA\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"int256[]\",\n name: \"amounts\",\n type: \"int256[]\",\n },\n ],\n name: \"SettlePartyALiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"ActiveEmergencyMode\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"AddBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"AddSymbol\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"DeactiveEmergencyMode\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affilate\",\n type: \"address\",\n },\n ],\n name: \"DeregisterAffiliate\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"index\",\n type: \"uint256\",\n },\n ],\n name: \"DeregisterPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseAccounting\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseGlobal\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseInternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PausePartyAActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PausePartyBActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affilate\",\n type: \"address\",\n },\n ],\n name: \"RegisterAffiliate\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n ],\n name: \"RegisterPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"RemoveBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"RoleGranted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"RoleRevoked\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"balanceLimitPerUser\",\n type: \"uint256\",\n },\n ],\n name: \"SetBalanceLimitPerUser\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"collateral\",\n type: \"address\",\n },\n ],\n name: \"SetCollateral\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldDeallocateCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newDeallocateCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetDeallocateCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldDeallocateDebounceTime\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newDeallocateDebounceTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetDeallocateDebounceTime\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldDefaultFeeCollector\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newDefaultFeeCollector\",\n type: \"address\",\n },\n ],\n name: \"SetDefaultFeeCollector\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldFeeCollector\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newFeeCollector\",\n type: \"address\",\n },\n ],\n name: \"SetFeeCollector\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCancelCloseCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCancelCloseCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCancelCloseCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCancelCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCancelCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCancelCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseSecondCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseSecondCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseCooldowns\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseGapRatio\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseGapRatio\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseGapRatio\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldCloseMinSigPeriod\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newCloseMinSigPeriod\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseMinSigPeriod\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldPricePenalty\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newPricePenalty\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceClosePricePenalty\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldInvalidBridgedAmountsPool\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newInvalidBridgedAmountsPool\",\n type: \"address\",\n },\n ],\n name: \"SetInvalidBridgedAmountsPool\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldLiquidationTimeout\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newLiquidationTimeout\",\n type: \"uint256\",\n },\n ],\n name: \"SetLiquidationTimeout\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldLiquidatorShare\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newLiquidatorShare\",\n type: \"uint256\",\n },\n ],\n name: \"SetLiquidatorShare\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"upnlValidTime\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"priceValidTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetMuonConfig\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"muonAppId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"gateway\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"x\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint8\",\n name: \"parity\",\n type: \"uint8\",\n },\n ],\n name: \"SetMuonIds\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"status\",\n type: \"bool\",\n },\n ],\n name: \"SetPartyBEmergencyStatus\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldPendingQuotesValidLength\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newPendingQuotesValidLength\",\n type: \"uint256\",\n },\n ],\n name: \"SetPendingQuotesValidLength\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"isSuspended\",\n type: \"bool\",\n },\n ],\n name: \"SetSuspendedAddress\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMinAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMinAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolAcceptableValues\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolFundingState\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMaxLeverage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolMaxLeverage\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMaxSlippage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxSlippage\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolMaxSlippage\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldTradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolTradingFee\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"oldState\",\n type: \"bool\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n ],\n name: \"SetSymbolValidationState\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseAccounting\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseGlobal\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseInternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpausePartyAActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpausePartyBActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"ActiveEmergencyMode\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"AddBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"AddSymbol\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"DeactiveEmergencyMode\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affilate\",\n type: \"address\",\n },\n ],\n name: \"DeregisterAffiliate\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"index\",\n type: \"uint256\",\n },\n ],\n name: \"DeregisterPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseAccounting\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseGlobal\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseInternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PausePartyAActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PausePartyBActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affilate\",\n type: \"address\",\n },\n ],\n name: \"RegisterAffiliate\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n ],\n name: \"RegisterPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"RemoveBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"RoleGranted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"RoleRevoked\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"balanceLimitPerUser\",\n type: \"uint256\",\n },\n ],\n name: \"SetBalanceLimitPerUser\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"collateral\",\n type: \"address\",\n },\n ],\n name: \"SetCollateral\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldDeallocateCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newDeallocateCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetDeallocateCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldDeallocateDebounceTime\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newDeallocateDebounceTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetDeallocateDebounceTime\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldDefaultFeeCollector\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newDefaultFeeCollector\",\n type: \"address\",\n },\n ],\n name: \"SetDefaultFeeCollector\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldFeeCollector\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newFeeCollector\",\n type: \"address\",\n },\n ],\n name: \"SetFeeCollector\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCancelCloseCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCancelCloseCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCancelCloseCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCancelCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCancelCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCancelCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseSecondCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseSecondCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseCooldowns\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseGapRatio\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseGapRatio\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseGapRatio\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldCloseMinSigPeriod\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newCloseMinSigPeriod\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseMinSigPeriod\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldPricePenalty\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newPricePenalty\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceClosePricePenalty\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldInvalidBridgedAmountsPool\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newInvalidBridgedAmountsPool\",\n type: \"address\",\n },\n ],\n name: \"SetInvalidBridgedAmountsPool\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldLiquidationTimeout\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newLiquidationTimeout\",\n type: \"uint256\",\n },\n ],\n name: \"SetLiquidationTimeout\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldLiquidatorShare\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newLiquidatorShare\",\n type: \"uint256\",\n },\n ],\n name: \"SetLiquidatorShare\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"upnlValidTime\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"priceValidTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetMuonConfig\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"muonAppId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"gateway\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"x\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint8\",\n name: \"parity\",\n type: \"uint8\",\n },\n ],\n name: \"SetMuonIds\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"status\",\n type: \"bool\",\n },\n ],\n name: \"SetPartyBEmergencyStatus\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldPendingQuotesValidLength\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newPendingQuotesValidLength\",\n type: \"uint256\",\n },\n ],\n name: \"SetPendingQuotesValidLength\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"isSuspended\",\n type: \"bool\",\n },\n ],\n name: \"SetSuspendedAddress\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMinAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMinAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolAcceptableValues\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolFundingState\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMaxLeverage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolMaxLeverage\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMaxSlippage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxSlippage\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolMaxSlippage\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldTradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolTradingFee\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"oldState\",\n type: \"bool\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n ],\n name: \"SetSymbolValidationState\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseAccounting\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseGlobal\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseInternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpausePartyAActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpausePartyBActions\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"activeEmergencyMode\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"addBridge\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"addSymbol\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol[]\",\n name: \"symbols\",\n type: \"tuple[]\",\n },\n ],\n name: \"addSymbols\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"deactiveEmergencyMode\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"deregisterAffiliate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"index\",\n type: \"uint256\",\n },\n ],\n name: \"deregisterPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n ],\n name: \"grantRole\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseAccounting\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseGlobal\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseInternalTransfer\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseLiquidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pausePartyAActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pausePartyBActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"registerAffiliate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n ],\n name: \"registerPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"removeBridge\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n ],\n name: \"revokeRole\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"setAdmin\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"balanceLimitPerUser\",\n type: \"uint256\",\n },\n ],\n name: \"setBalanceLimitPerUser\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"collateral\",\n type: \"address\",\n },\n ],\n name: \"setCollateral\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"deallocateCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setDeallocateCooldown\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"deallocateDebounceTime\",\n type: \"uint256\",\n },\n ],\n name: \"setDeallocateDebounceTime\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"feeCollector\",\n type: \"address\",\n },\n ],\n name: \"setDefaultFeeCollector\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"feeCollector\",\n type: \"address\",\n },\n ],\n name: \"setFeeCollector\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCancelCloseCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCancelCloseCooldown\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCancelCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCancelCooldown\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"forceCloseSecondCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCloseCooldowns\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"forceCloseGapRatio\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCloseGapRatio\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCloseMinSigPeriod\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCloseMinSigPeriod\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceClosePricePenalty\",\n type: \"uint256\",\n },\n ],\n name: \"setForceClosePricePenalty\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"pool\",\n type: \"address\",\n },\n ],\n name: \"setInvalidBridgedAmountsPool\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"liquidationTimeout\",\n type: \"uint256\",\n },\n ],\n name: \"setLiquidationTimeout\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"liquidatorShare\",\n type: \"uint256\",\n },\n ],\n name: \"setLiquidatorShare\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"upnlValidTime\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"priceValidTime\",\n type: \"uint256\",\n },\n ],\n name: \"setMuonConfig\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"muonAppId\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"validGateway\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"x\",\n type: \"uint256\",\n },\n {\n internalType: \"uint8\",\n name: \"parity\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct PublicKey\",\n name: \"publicKey\",\n type: \"tuple\",\n },\n ],\n name: \"setMuonIds\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n internalType: \"bool\",\n name: \"status\",\n type: \"bool\",\n },\n ],\n name: \"setPartyBEmergencyStatus\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"pendingQuotesValidLength\",\n type: \"uint256\",\n },\n ],\n name: \"setPendingQuotesValidLength\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolAcceptableValues\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolFundingState\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolMaxLeverage\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolTradingFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n ],\n name: \"setSymbolValidationState\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"suspendedAddress\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpauseAccounting\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpauseGlobal\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpauseInternalTransfer\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpauseLiquidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpausePartyAActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpausePartyBActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"unsuspendedAddress\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"ActiveEmergencyMode\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"AddBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"AddSymbol\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"DeactiveEmergencyMode\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affilate\",\n type: \"address\",\n },\n ],\n name: \"DeregisterAffiliate\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"index\",\n type: \"uint256\",\n },\n ],\n name: \"DeregisterPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseAccounting\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseGlobal\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseInternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PauseLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PausePartyAActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"PausePartyBActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affilate\",\n type: \"address\",\n },\n ],\n name: \"RegisterAffiliate\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n ],\n name: \"RegisterPartyB\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"RemoveBridge\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"RoleGranted\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"RoleRevoked\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"balanceLimitPerUser\",\n type: \"uint256\",\n },\n ],\n name: \"SetBalanceLimitPerUser\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"collateral\",\n type: \"address\",\n },\n ],\n name: \"SetCollateral\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldDeallocateCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newDeallocateCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetDeallocateCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldDeallocateDebounceTime\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newDeallocateDebounceTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetDeallocateDebounceTime\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldDefaultFeeCollector\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newDefaultFeeCollector\",\n type: \"address\",\n },\n ],\n name: \"SetDefaultFeeCollector\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldFeeCollector\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newFeeCollector\",\n type: \"address\",\n },\n ],\n name: \"SetFeeCollector\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCancelCloseCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCancelCloseCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCancelCloseCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCancelCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCancelCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCancelCooldown\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseSecondCooldown\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseSecondCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseCooldowns\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldForceCloseGapRatio\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newForceCloseGapRatio\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseGapRatio\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldCloseMinSigPeriod\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newCloseMinSigPeriod\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceCloseMinSigPeriod\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldPricePenalty\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newPricePenalty\",\n type: \"uint256\",\n },\n ],\n name: \"SetForceClosePricePenalty\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"oldInvalidBridgedAmountsPool\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"newInvalidBridgedAmountsPool\",\n type: \"address\",\n },\n ],\n name: \"SetInvalidBridgedAmountsPool\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldLiquidationTimeout\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newLiquidationTimeout\",\n type: \"uint256\",\n },\n ],\n name: \"SetLiquidationTimeout\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldLiquidatorShare\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newLiquidatorShare\",\n type: \"uint256\",\n },\n ],\n name: \"SetLiquidatorShare\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"upnlValidTime\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"priceValidTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetMuonConfig\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"muonAppId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"gateway\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"x\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint8\",\n name: \"parity\",\n type: \"uint8\",\n },\n ],\n name: \"SetMuonIds\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"status\",\n type: \"bool\",\n },\n ],\n name: \"SetPartyBEmergencyStatus\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldPendingQuotesValidLength\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"newPendingQuotesValidLength\",\n type: \"uint256\",\n },\n ],\n name: \"SetPendingQuotesValidLength\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"isSuspended\",\n type: \"bool\",\n },\n ],\n name: \"SetSuspendedAddress\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMinAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMinAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolAcceptableValues\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolFundingState\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMaxLeverage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolMaxLeverage\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldMaxSlippage\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"maxSlippage\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolMaxSlippage\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"oldTradingFee\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n ],\n name: \"SetSymbolTradingFee\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"oldState\",\n type: \"bool\",\n },\n {\n indexed: false,\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n ],\n name: \"SetSymbolValidationState\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseAccounting\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseGlobal\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseInternalTransfer\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpauseLiquidation\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpausePartyAActions\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [],\n name: \"UnpausePartyBActions\",\n type: \"event\",\n },\n {\n inputs: [],\n name: \"activeEmergencyMode\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"addBridge\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"addSymbol\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"string\",\n name: \"name\",\n type: \"string\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n internalType: \"struct Symbol[]\",\n name: \"symbols\",\n type: \"tuple[]\",\n },\n ],\n name: \"addSymbols\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"deactiveEmergencyMode\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"deregisterAffiliate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"index\",\n type: \"uint256\",\n },\n ],\n name: \"deregisterPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n ],\n name: \"grantRole\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseAccounting\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseGlobal\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pauseLiquidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pausePartyAActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"pausePartyBActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n ],\n name: \"registerAffiliate\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"partyB\",\n type: \"address\",\n },\n ],\n name: \"registerPartyB\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"bridge\",\n type: \"address\",\n },\n ],\n name: \"removeBridge\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"role\",\n type: \"bytes32\",\n },\n ],\n name: \"revokeRole\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"setAdmin\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"balanceLimitPerUser\",\n type: \"uint256\",\n },\n ],\n name: \"setBalanceLimitPerUser\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"collateral\",\n type: \"address\",\n },\n ],\n name: \"setCollateral\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"deallocateCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setDeallocateCooldown\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"deallocateDebounceTime\",\n type: \"uint256\",\n },\n ],\n name: \"setDeallocateDebounceTime\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"affiliate\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"feeCollector\",\n type: \"address\",\n },\n ],\n name: \"setFeeCollector\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCancelCloseCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCancelCloseCooldown\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCancelCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCancelCooldown\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCloseFirstCooldown\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"forceCloseSecondCooldown\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCloseCooldowns\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"forceCloseGapRatio\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCloseGapRatio\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceCloseMinSigPeriod\",\n type: \"uint256\",\n },\n ],\n name: \"setForceCloseMinSigPeriod\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"forceClosePricePenalty\",\n type: \"uint256\",\n },\n ],\n name: \"setForceClosePricePenalty\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"pool\",\n type: \"address\",\n },\n ],\n name: \"setInvalidBridgedAmountsPool\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"liquidationTimeout\",\n type: \"uint256\",\n },\n ],\n name: \"setLiquidationTimeout\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"liquidatorShare\",\n type: \"uint256\",\n },\n ],\n name: \"setLiquidatorShare\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"upnlValidTime\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"priceValidTime\",\n type: \"uint256\",\n },\n ],\n name: \"setMuonConfig\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"muonAppId\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"validGateway\",\n type: \"address\",\n },\n {\n components: [\n {\n internalType: \"uint256\",\n name: \"x\",\n type: \"uint256\",\n },\n {\n internalType: \"uint8\",\n name: \"parity\",\n type: \"uint8\",\n },\n ],\n internalType: \"struct PublicKey\",\n name: \"publicKey\",\n type: \"tuple\",\n },\n ],\n name: \"setMuonIds\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"partyBs\",\n type: \"address[]\",\n },\n {\n internalType: \"bool\",\n name: \"status\",\n type: \"bool\",\n },\n ],\n name: \"setPartyBEmergencyStatus\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"pendingQuotesValidLength\",\n type: \"uint256\",\n },\n ],\n name: \"setPendingQuotesValidLength\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptableQuoteValue\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"minAcceptablePortionLF\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolAcceptableValues\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateEpochDuration\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"fundingRateWindowTime\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolFundingState\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"maxLeverage\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolMaxLeverage\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"tradingFee\",\n type: \"uint256\",\n },\n ],\n name: \"setSymbolTradingFee\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"symbolId\",\n type: \"uint256\",\n },\n {\n internalType: \"bool\",\n name: \"isValid\",\n type: \"bool\",\n },\n ],\n name: \"setSymbolValidationState\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"suspendedAddress\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"transferOwnership\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpauseAccounting\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpauseGlobal\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpauseLiquidation\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpausePartyAActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"unpausePartyBActions\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"user\",\n type: \"address\",\n },\n ],\n name: \"unsuspendedAddress\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n] as const;\n","import { encodeFunctionData, type Abi, type Hex } from 'viem';\n\n/**\n * Encodes a function call for a given ABI and function name.\n */\nexport function encodeCall(\n abi: Abi,\n functionName: string,\n args: readonly unknown[]\n): Hex {\n return encodeFunctionData({\n abi,\n functionName,\n args,\n });\n}\n\n/**\n * Wraps encoded calldata into a MultiAccount/AccountDiamond `_call` proxy.\n * Used to route Diamond contract calls through the Account Diamond.\n */\nexport function wrapInProxyCall(\n accountDiamondAbi: Abi,\n subAccount: `0x${string}`,\n callDatas: Hex[]\n): { functionName: string; args: readonly unknown[]; data: Hex } {\n const data = encodeFunctionData({\n abi: accountDiamondAbi,\n functionName: '_call',\n args: [subAccount, callDatas],\n });\n\n return {\n functionName: '_call',\n args: [subAccount, callDatas],\n data,\n };\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { SymmioDiamondABI } from '../abis/SymmioDiamond';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type {\n AllocateParams,\n DeallocateParams,\n InternalTransferParams,\n} from '../types/collateral';\nimport type { PreparedTransaction } from '../types/common';\nimport { validateAmount, validateAddress } from '../utils/validation';\nimport { calculateGasMargin } from '../utils/gas';\nimport { wrapInProxyCall } from '../utils/encoding';\n\n// ═══════════════════════════════════════════════════════════════════\n// Prepare Transactions (proxied via MultiAccount's _call)\n//\n// All allocate/deallocate/transfer operations call Symmio Core's\n// AccountFacet functions, proxied through MultiAccount's `_call`.\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Prepares an allocate transaction.\n * Moves funds from the account's balance to allocated (tradeable) balance.\n */\nexport function prepareAllocate(\n multiAccount: Address,\n account: Address,\n subAccount: Address,\n params: AllocateParams\n): PreparedTransaction {\n validateAmount(params.amount, 'allocate amount');\n\n const innerData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'allocate',\n args: [params.amount],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [innerData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: multiAccount, data: proxy.data, value: 0n },\n };\n}\n\n/**\n * Prepares a deallocate transaction.\n * Uses `deallocate(amount, SingleUpnlSig)` — requires Muon signature.\n */\nexport function prepareDeallocate(\n multiAccount: Address,\n account: Address,\n subAccount: Address,\n params: DeallocateParams\n): PreparedTransaction {\n validateAmount(params.amount, 'deallocate amount');\n\n const muonSig = {\n reqId: params.upnlSig.reqId,\n timestamp: params.upnlSig.timestamp,\n upnl: params.upnlSig.upnl,\n gatewaySignature: params.upnlSig.gatewaySignature,\n sigs: {\n signature: params.upnlSig.sigs.signature,\n owner: params.upnlSig.sigs.owner,\n nonce: params.upnlSig.sigs.nonce,\n },\n };\n\n const innerData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'deallocate',\n args: [params.amount, muonSig],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [innerData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: multiAccount, data: proxy.data, value: 0n },\n };\n}\n\n/**\n * Prepares an internal transfer between accounts.\n * Transfers from sender's balance to recipient's allocated balance.\n */\nexport function prepareInternalTransfer(\n multiAccount: Address,\n account: Address,\n subAccount: Address,\n params: InternalTransferParams\n): PreparedTransaction {\n validateAmount(params.amount, 'transfer amount');\n validateAddress(params.recipient, 'recipient');\n\n const innerData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'internalTransfer',\n args: [params.recipient, params.amount],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [innerData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: multiAccount, data: proxy.data, value: 0n },\n };\n}\n\n// ═══════════════════════════════════════════════════════════════════\n// Execute Transactions\n// ═══════════════════════════════════════════════════════════════════\n\n/**\n * Allocates collateral to a trading account.\n */\nexport async function allocate(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n subAccount: Address,\n params: AllocateParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareAllocate(multiAccount, account, subAccount, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n/**\n * Deallocates collateral (requires Muon signature).\n */\nexport async function deallocate(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n subAccount: Address,\n params: DeallocateParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareDeallocate(multiAccount, account, subAccount, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n/**\n * Transfers funds between accounts (to recipient's allocated balance).\n */\nexport async function internalTransfer(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n subAccount: Address,\n params: InternalTransferParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareInternalTransfer(multiAccount, account, subAccount, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { SymmioDiamondABI } from '../abis/SymmioDiamond';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type {\n SendQuoteParams,\n} from '../types/trade';\nimport type { PreparedTransaction } from '../types/common';\nimport { validateQuantity } from '../utils/validation';\nimport { calculateGasMargin } from '../utils/gas';\nimport { wrapInProxyCall } from '../utils/encoding';\n\n// ─── Muon Sig Tuple Builder ───────────────────────────────────────\n\nfunction buildUpnlSigTuple(sig: SendQuoteParams['upnlSig']) {\n return {\n reqId: sig.reqId,\n timestamp: sig.timestamp,\n upnl: sig.upnl,\n price: sig.price,\n gatewaySignature: sig.gatewaySignature,\n sigs: {\n signature: sig.sigs.signature,\n owner: sig.sigs.owner,\n nonce: sig.sigs.nonce,\n },\n };\n}\n\n// ─── Prepare Transactions ─────────────────────────────────────────\n\n/**\n * Prepares a sendQuoteWithAffiliate (open position) transaction.\n * Proxied through the MultiAccount contract.\n */\nexport function prepareSendQuote(\n multiAccount: Address,\n account: Address,\n subAccount: Address,\n params: SendQuoteParams\n): PreparedTransaction {\n validateQuantity(params.quantity);\n\n const innerData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'sendQuoteWithAffiliate',\n args: [\n params.partyBsWhiteList,\n BigInt(params.symbolId),\n params.positionType,\n params.orderType,\n params.price,\n params.quantity,\n params.cva,\n params.lf,\n params.partyAmm,\n params.partyBmm,\n params.maxFundingRate,\n params.deadline,\n params.affiliate,\n buildUpnlSigTuple(params.upnlSig),\n ],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [innerData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: multiAccount, data: proxy.data, value: 0n },\n };\n}\n\n/**\n * Prepares a pair trade (two quotes in a single `_call` batch).\n * Used for long+short legs of a spread trade.\n */\nexport function preparePairTrade(\n multiAccount: Address,\n account: Address,\n subAccount: Address,\n longParams: SendQuoteParams,\n shortParams: SendQuoteParams\n): PreparedTransaction {\n const longData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'sendQuoteWithAffiliate',\n args: [\n longParams.partyBsWhiteList,\n BigInt(longParams.symbolId),\n longParams.positionType,\n longParams.orderType,\n longParams.price,\n longParams.quantity,\n longParams.cva,\n longParams.lf,\n longParams.partyAmm,\n longParams.partyBmm,\n longParams.maxFundingRate,\n longParams.deadline,\n longParams.affiliate,\n buildUpnlSigTuple(longParams.upnlSig),\n ],\n });\n\n const shortData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'sendQuoteWithAffiliate',\n args: [\n shortParams.partyBsWhiteList,\n BigInt(shortParams.symbolId),\n shortParams.positionType,\n shortParams.orderType,\n shortParams.price,\n shortParams.quantity,\n shortParams.cva,\n shortParams.lf,\n shortParams.partyAmm,\n shortParams.partyBmm,\n shortParams.maxFundingRate,\n shortParams.deadline,\n shortParams.affiliate,\n buildUpnlSigTuple(shortParams.upnlSig),\n ],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [longData, shortData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: multiAccount, data: proxy.data, value: 0n },\n };\n}\n\n// ─── Execute Transactions ─────────────────────────────────────────\n\n/**\n * Opens a position via sendQuoteWithAffiliate.\n */\nexport async function sendQuote(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n subAccount: Address,\n params: SendQuoteParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareSendQuote(multiAccount, account, subAccount, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { SymmioDiamondABI } from '../abis/SymmioDiamond';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type {\n ClosePositionParams,\n} from '../types/trade';\nimport type { PreparedTransaction } from '../types/common';\nimport { calculateGasMargin } from '../utils/gas';\nimport { wrapInProxyCall } from '../utils/encoding';\n\n// ─── Prepare Transactions ─────────────────────────────────────────\n\n/**\n * Prepares a close position request.\n * Supports both market and limit orders, and partial closes.\n */\nexport function prepareClosePosition(\n multiAccount: Address,\n account: Address,\n subAccount: Address,\n params: ClosePositionParams\n): PreparedTransaction {\n const innerData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'requestToClosePosition',\n args: [\n params.quoteId,\n params.closePrice,\n params.quantityToClose,\n params.orderType,\n params.deadline,\n ],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [innerData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: multiAccount, data: proxy.data, value: 0n },\n };\n}\n\n/**\n * Prepares a pair close (close both legs of a spread trade).\n */\nexport function preparePairClose(\n multiAccount: Address,\n account: Address,\n subAccount: Address,\n longClose: ClosePositionParams,\n shortClose: ClosePositionParams\n): PreparedTransaction {\n const longData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'requestToClosePosition',\n args: [\n longClose.quoteId,\n longClose.closePrice,\n longClose.quantityToClose,\n longClose.orderType,\n longClose.deadline,\n ],\n });\n\n const shortData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'requestToClosePosition',\n args: [\n shortClose.quoteId,\n shortClose.closePrice,\n shortClose.quantityToClose,\n shortClose.orderType,\n shortClose.deadline,\n ],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [longData, shortData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: multiAccount, data: proxy.data, value: 0n },\n };\n}\n\n// ─── Execute Transactions ─────────────────────────────────────────\n\n/**\n * Closes a position.\n */\nexport async function closePosition(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n subAccount: Address,\n params: ClosePositionParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareClosePosition(multiAccount, account, subAccount, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { SymmioDiamondABI } from '../abis/SymmioDiamond';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type { PreparedTransaction } from '../types/common';\nimport { calculateGasMargin } from '../utils/gas';\nimport { wrapInProxyCall } from '../utils/encoding';\n\ntype CancelFunction =\n | 'requestToCancelQuote'\n | 'requestToCancelCloseRequest'\n | 'forceCancelQuote'\n | 'forceCancelCloseRequest';\n\n// ─── Generic Cancel Helper ────────────────────────────────────────\n\nfunction prepareCancelAction(\n accountDiamond: Address,\n account: Address,\n subAccount: Address,\n functionName: CancelFunction,\n quoteId: bigint\n): PreparedTransaction {\n const innerData = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName,\n args: [quoteId],\n });\n\n const proxy = wrapInProxyCall(\n MultiAccountABI as any,\n subAccount,\n [innerData]\n );\n\n return {\n functionName: '_call',\n args: proxy.args,\n config: { account, to: accountDiamond, data: proxy.data, value: 0n },\n };\n}\n\nasync function executeCancelAction(\n walletClient: WalletClient,\n publicClient: PublicClient,\n accountDiamond: Address,\n subAccount: Address,\n functionName: CancelFunction,\n quoteId: bigint\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareCancelAction(\n accountDiamond,\n account,\n subAccount,\n functionName,\n quoteId\n );\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n// ─── Prepare Functions ────────────────────────────────────────────\n\nexport function prepareCancelQuote(\n accountDiamond: Address,\n account: Address,\n subAccount: Address,\n quoteId: bigint\n): PreparedTransaction {\n return prepareCancelAction(\n accountDiamond,\n account,\n subAccount,\n 'requestToCancelQuote',\n quoteId\n );\n}\n\nexport function prepareCancelCloseRequest(\n accountDiamond: Address,\n account: Address,\n subAccount: Address,\n quoteId: bigint\n): PreparedTransaction {\n return prepareCancelAction(\n accountDiamond,\n account,\n subAccount,\n 'requestToCancelCloseRequest',\n quoteId\n );\n}\n\nexport function prepareForceCancelQuote(\n accountDiamond: Address,\n account: Address,\n subAccount: Address,\n quoteId: bigint\n): PreparedTransaction {\n return prepareCancelAction(\n accountDiamond,\n account,\n subAccount,\n 'forceCancelQuote',\n quoteId\n );\n}\n\nexport function prepareForceCancelCloseRequest(\n accountDiamond: Address,\n account: Address,\n subAccount: Address,\n quoteId: bigint\n): PreparedTransaction {\n return prepareCancelAction(\n accountDiamond,\n account,\n subAccount,\n 'forceCancelCloseRequest',\n quoteId\n );\n}\n\n// ─── Execute Functions ────────────────────────────────────────────\n\n/**\n * Requests to cancel a pending quote.\n */\nexport async function cancelQuote(\n walletClient: WalletClient,\n publicClient: PublicClient,\n accountDiamond: Address,\n subAccount: Address,\n quoteId: bigint\n): Promise<Hex> {\n return executeCancelAction(\n walletClient,\n publicClient,\n accountDiamond,\n subAccount,\n 'requestToCancelQuote',\n quoteId\n );\n}\n\n/**\n * Requests to cancel a pending close request.\n */\nexport async function cancelCloseRequest(\n walletClient: WalletClient,\n publicClient: PublicClient,\n accountDiamond: Address,\n subAccount: Address,\n quoteId: bigint\n): Promise<Hex> {\n return executeCancelAction(\n walletClient,\n publicClient,\n accountDiamond,\n subAccount,\n 'requestToCancelCloseRequest',\n quoteId\n );\n}\n\n/**\n * Force cancels a quote (when counterparty is unresponsive).\n */\nexport async function forceCancelQuote(\n walletClient: WalletClient,\n publicClient: PublicClient,\n accountDiamond: Address,\n subAccount: Address,\n quoteId: bigint\n): Promise<Hex> {\n return executeCancelAction(\n walletClient,\n publicClient,\n accountDiamond,\n subAccount,\n 'forceCancelQuote',\n quoteId\n );\n}\n\n/**\n * Force cancels a close request.\n */\nexport async function forceCancelCloseRequest(\n walletClient: WalletClient,\n publicClient: PublicClient,\n accountDiamond: Address,\n subAccount: Address,\n quoteId: bigint\n): Promise<Hex> {\n return executeCancelAction(\n walletClient,\n publicClient,\n accountDiamond,\n subAccount,\n 'forceCancelCloseRequest',\n quoteId\n );\n}\n","/**\n * Standard ERC-20 ABI (subset used by the SDK)\n */\nexport const ERC20ABI = [\n {\n name: 'approve',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'spender', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [{ name: 'success', type: 'bool' }],\n },\n {\n name: 'allowance',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'owner', type: 'address' },\n { name: 'spender', type: 'address' },\n ],\n outputs: [{ name: 'remaining', type: 'uint256' }],\n },\n {\n name: 'balanceOf',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'account', type: 'address' }],\n outputs: [{ name: 'balance', type: 'uint256' }],\n },\n {\n name: 'decimals',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'decimals', type: 'uint8' }],\n },\n {\n name: 'symbol',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'symbol', type: 'string' }],\n },\n {\n name: 'totalSupply',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'supply', type: 'uint256' }],\n },\n {\n name: 'transfer',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'to', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [{ name: 'success', type: 'bool' }],\n },\n {\n name: 'mint',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [\n { name: 'to', type: 'address' },\n { name: 'amount', type: 'uint256' },\n ],\n outputs: [],\n },\n] as const;\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { ERC20ABI } from '../abis/ERC20';\nimport type { PreparedTransaction } from '../types/common';\nimport { validateAddress } from '../utils/validation';\nimport { calculateGasMargin } from '../utils/gas';\n\n// ─── Approval State ───────────────────────────────────────────────\n\nexport enum ApprovalState {\n UNKNOWN = 'UNKNOWN',\n NOT_APPROVED = 'NOT_APPROVED',\n PENDING = 'PENDING',\n APPROVED = 'APPROVED',\n}\n\n// ─── Prepare Transactions ─────────────────────────────────────────\n\n/**\n * Prepares an ERC-20 token approval transaction.\n */\nexport function prepareApprove(\n tokenAddress: Address,\n account: Address,\n spender: Address,\n amount: bigint\n): PreparedTransaction {\n validateAddress(spender, 'spender');\n\n const data = encodeFunctionData({\n abi: ERC20ABI,\n functionName: 'approve',\n args: [spender, amount],\n });\n\n return {\n functionName: 'approve',\n args: [spender, amount],\n config: { account, to: tokenAddress, data, value: 0n },\n };\n}\n\n// ─── Execute Transactions ─────────────────────────────────────────\n\n/**\n * Approves a spender to use the collateral token.\n */\nexport async function approve(\n walletClient: WalletClient,\n publicClient: PublicClient,\n tokenAddress: Address,\n spender: Address,\n amount: bigint\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareApprove(tokenAddress, account, spender, amount);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n// ─── Read Operations ──────────────────────────────────────────────\n\n/**\n * Gets the current allowance of a token for a spender.\n */\nexport async function getAllowance(\n publicClient: PublicClient,\n tokenAddress: Address,\n owner: Address,\n spender: Address\n): Promise<bigint> {\n return (await publicClient.readContract({\n address: tokenAddress,\n abi: ERC20ABI,\n functionName: 'allowance',\n args: [owner, spender],\n })) as bigint;\n}\n\n/**\n * Gets the token balance of an account.\n */\nexport async function getBalance(\n publicClient: PublicClient,\n tokenAddress: Address,\n account: Address\n): Promise<bigint> {\n return (await publicClient.readContract({\n address: tokenAddress,\n abi: ERC20ABI,\n functionName: 'balanceOf',\n args: [account],\n })) as bigint;\n}\n\n/**\n * Gets the token decimals.\n */\nexport async function getDecimals(\n publicClient: PublicClient,\n tokenAddress: Address\n): Promise<number> {\n return (await publicClient.readContract({\n address: tokenAddress,\n abi: ERC20ABI,\n functionName: 'decimals',\n })) as number;\n}\n\n/**\n * Determines the current approval state.\n */\nexport async function getApprovalState(\n publicClient: PublicClient,\n tokenAddress: Address,\n owner: Address,\n spender: Address,\n requiredAmount: bigint\n): Promise<ApprovalState> {\n try {\n const allowance = await getAllowance(publicClient, tokenAddress, owner, spender);\n if (allowance >= requiredAmount) {\n return ApprovalState.APPROVED;\n }\n return ApprovalState.NOT_APPROVED;\n } catch {\n return ApprovalState.UNKNOWN;\n }\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { MultiAccountABI } from '../abis/MultiAccount';\nimport type { PreparedTransaction } from '../types/common';\nimport { validateAddress } from '../utils/validation';\nimport { calculateGasMargin } from '../utils/gas';\n\n// ─── Types ────────────────────────────────────────────────────────\n\nexport type DelegateAccessParams = {\n account: Address;\n target: Address;\n selectors: Hex[];\n activate: boolean;\n};\n\nexport type ProposeRevokeParams = {\n account: Address;\n target: Address;\n selectors: Hex[];\n};\n\nexport type RevokeAccessParams = {\n account: Address;\n target: Address;\n selectors: Hex[];\n};\n\n// ─── Prepare Transactions ────────────────────────────────────────\n\n/**\n * Prepares a delegateAccesses transaction.\n */\nexport function prepareDelegateAccess(\n multiAccount: Address,\n account: Address,\n params: DelegateAccessParams\n): PreparedTransaction {\n validateAddress(params.account, 'subAccount');\n validateAddress(params.target, 'target');\n\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'delegateAccesses',\n args: [params.account, params.target, params.selectors, params.activate],\n });\n\n return {\n functionName: 'delegateAccesses',\n args: [params.account, params.target, params.selectors, params.activate],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n/**\n * Prepares a proposeToRevokeAccesses transaction.\n */\nexport function prepareProposeRevoke(\n multiAccount: Address,\n account: Address,\n params: ProposeRevokeParams\n): PreparedTransaction {\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'proposeToRevokeAccesses',\n args: [params.account, params.target, params.selectors],\n });\n\n return {\n functionName: 'proposeToRevokeAccesses',\n args: [params.account, params.target, params.selectors],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n/**\n * Prepares a revokeAccesses transaction.\n */\nexport function prepareRevokeAccess(\n multiAccount: Address,\n account: Address,\n params: RevokeAccessParams\n): PreparedTransaction {\n const data = encodeFunctionData({\n abi: MultiAccountABI,\n functionName: 'revokeAccesses',\n args: [params.account, params.target, params.selectors],\n });\n\n return {\n functionName: 'revokeAccesses',\n args: [params.account, params.target, params.selectors],\n config: { account, to: multiAccount, data, value: 0n },\n };\n}\n\n// ─── Execute Functions ────────────────────────────────────────────\n\nexport async function delegateAccess(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n params: DelegateAccessParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareDelegateAccess(multiAccount, account, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\nexport async function proposeRevoke(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n params: ProposeRevokeParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareProposeRevoke(multiAccount, account, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\nexport async function revokeAccess(\n walletClient: WalletClient,\n publicClient: PublicClient,\n multiAccount: Address,\n params: RevokeAccessParams\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareRevokeAccess(multiAccount, account, params);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n","/**\n * Signature Store ABI\n *\n * Stores user-signed terms of service on-chain.\n */\nexport const SignatureStoreABI = [\n {\n name: 'storeSignatureForCurrentVersion',\n type: 'function',\n stateMutability: 'nonpayable',\n inputs: [{ name: 'signature', type: 'bytes' }],\n outputs: [],\n },\n {\n name: 'hasCurrentVersionSignature',\n type: 'function',\n stateMutability: 'view',\n inputs: [{ name: 'user', type: 'address' }],\n outputs: [{ name: 'hasSigned', type: 'bool' }],\n },\n {\n name: 'getSignature',\n type: 'function',\n stateMutability: 'view',\n inputs: [\n { name: 'version', type: 'uint256' },\n { name: 'user', type: 'address' },\n ],\n outputs: [{ name: 'signature', type: 'bytes' }],\n },\n {\n name: 'getCurrentVersionMessage',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'message', type: 'string' }],\n },\n {\n name: 'getCurrentVersion',\n type: 'function',\n stateMutability: 'view',\n inputs: [],\n outputs: [{ name: 'version', type: 'uint256' }],\n },\n] as const;\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { SignatureStoreABI } from '../abis/SignatureStore';\nimport type { PreparedTransaction } from '../types/common';\nimport { calculateGasMargin } from '../utils/gas';\n\n// ─── Prepare Transactions ─────────────────────────────────────────\n\n/**\n * Prepares a storeSignatureForCurrentVersion transaction.\n * Stores the user's signed terms of service on-chain.\n */\nexport function prepareStoreSignature(\n signatureStore: Address,\n account: Address,\n signature: Hex\n): PreparedTransaction {\n const data = encodeFunctionData({\n abi: SignatureStoreABI,\n functionName: 'storeSignatureForCurrentVersion',\n args: [signature],\n });\n\n return {\n functionName: 'storeSignatureForCurrentVersion',\n args: [signature],\n config: { account, to: signatureStore, data, value: 0n },\n };\n}\n\n// ─── Execute Transactions ─────────────────────────────────────────\n\n/**\n * Stores a terms-of-service signature on-chain.\n */\nexport async function storeSignature(\n walletClient: WalletClient,\n publicClient: PublicClient,\n signatureStore: Address,\n signature: Hex\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareStoreSignature(signatureStore, account, signature);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\n/**\n * Signs the current terms-of-service message using the wallet.\n */\nexport async function signTermsMessage(\n walletClient: WalletClient,\n publicClient: PublicClient,\n signatureStore: Address\n): Promise<Hex> {\n const account = walletClient.account;\n if (!account) throw new Error('Wallet client has no account');\n\n const message = (await publicClient.readContract({\n address: signatureStore,\n abi: SignatureStoreABI,\n functionName: 'getCurrentVersionMessage',\n })) as string;\n\n return walletClient.signMessage({\n account,\n message,\n });\n}\n\n// ─── Read Operations ──────────────────────────────────────────────\n\n/**\n * Checks if a user has signed the current version of terms.\n */\nexport async function hasSignedCurrentVersion(\n publicClient: PublicClient,\n signatureStore: Address,\n user: Address\n): Promise<boolean> {\n return (await publicClient.readContract({\n address: signatureStore,\n abi: SignatureStoreABI,\n functionName: 'hasCurrentVersionSignature',\n args: [user],\n })) as boolean;\n}\n\n/**\n * Gets the current terms-of-service message.\n */\nexport async function getCurrentMessage(\n publicClient: PublicClient,\n signatureStore: Address\n): Promise<string> {\n return (await publicClient.readContract({\n address: signatureStore,\n abi: SignatureStoreABI,\n functionName: 'getCurrentVersionMessage',\n })) as string;\n}\n","import {\n encodeFunctionData,\n type Address,\n type PublicClient,\n type WalletClient,\n type Hex,\n} from 'viem';\nimport { SymmioDiamondABI } from '../abis/SymmioDiamond';\nimport type { PreparedTransaction } from '../types/common';\nimport { validateAddress } from '../utils/validation';\nimport { calculateGasMargin } from '../utils/gas';\n\n// ─── Role Management ───────────────────────────────────────────\n\n/**\n * Prepares grantRole — grants a role to an address.\n */\nexport function prepareGrantRole(\n symmioDiamond: Address,\n account: Address,\n role: Hex,\n grantee: Address\n): PreparedTransaction {\n validateAddress(grantee, 'grantee');\n\n const data = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'grantRole',\n args: [role, grantee],\n });\n\n return {\n functionName: 'grantRole',\n args: [role, grantee],\n config: { account, to: symmioDiamond, data, value: 0n },\n };\n}\n\n/**\n * Prepares revokeRole — revokes a role from an address.\n */\nexport function prepareRevokeRole(\n symmioDiamond: Address,\n account: Address,\n role: Hex,\n revokee: Address\n): PreparedTransaction {\n validateAddress(revokee, 'revokee');\n\n const data = encodeFunctionData({\n abi: SymmioDiamondABI,\n functionName: 'revokeRole',\n args: [role, revokee],\n });\n\n return {\n functionName: 'revokeRole',\n args: [role, revokee],\n config: { account, to: symmioDiamond, data, value: 0n },\n };\n}\n\n// ─── Execute Functions ───────────────────────────────────────────\n\nexport async function grantRole(\n walletClient: WalletClient,\n publicClient: PublicClient,\n symmioDiamond: Address,\n role: Hex,\n grantee: Address\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareGrantRole(symmioDiamond, account, role, grantee);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n\nexport async function revokeRole(\n walletClient: WalletClient,\n publicClient: PublicClient,\n symmioDiamond: Address,\n role: Hex,\n revokee: Address\n): Promise<Hex> {\n const account = walletClient.account?.address;\n if (!account) throw new Error('Wallet client has no account');\n\n const prepared = prepareRevokeRole(symmioDiamond, account, role, revokee);\n const gas = await publicClient.estimateGas(prepared.config);\n\n return walletClient.sendTransaction({\n ...prepared.config,\n gas: calculateGasMargin(gas),\n chain: walletClient.chain,\n });\n}\n","import type { Address } from 'viem';\nimport { HEDGER_BASE_URLS } from '../constants/defaults';\nimport type { SupportedChainId } from '../constants/chains';\nimport type {\n InstantOpenParams,\n InstantCloseParams,\n InstantOpenResponse,\n InstantCloseResponse,\n InstantLoginParams,\n InstantAuthToken,\n CreateSiweMessageParams,\n SiweMessageResult,\n} from '../types/instant';\n\nfunction getHedgerBaseUrl(chainId: number): string {\n const baseUrl = HEDGER_BASE_URLS[chainId as SupportedChainId];\n if (!baseUrl) {\n throw new Error(`No hedger base URL configured for chain ${chainId}.`);\n }\n return baseUrl;\n}\n\n// ─── SIWE Message Builder ────────────────────────────────────────\n\n/**\n * Creates a SIWE (Sign-In with Ethereum) message for instant trading auth.\n * Follows EIP-4361 format. Token is valid for 30 days.\n */\nexport function createSiweMessage(\n params: CreateSiweMessageParams\n): SiweMessageResult {\n const version = params.version ?? '1';\n const issuedAt = new Date().toISOString();\n const expirationTime = new Date(\n Date.now() + 30 * 24 * 60 * 60 * 1000\n ).toISOString();\n\n // EIP-4361 message format\n const message = [\n `${params.domain} wants you to sign in with your Ethereum account:`,\n params.address,\n '',\n params.statement,\n '',\n `URI: ${params.uri}`,\n `Version: ${version}`,\n `Chain ID: ${params.chainId}`,\n `Nonce: ${params.nonce}`,\n `Issued At: ${issuedAt}`,\n `Expiration Time: ${expirationTime}`,\n ].join('\\n');\n\n return { message, issuedAt, expirationTime };\n}\n\n// ─── Authentication ──────────────────────────────────────────────\n\n/**\n * Fetches a nonce from the hedger for SIWE authentication.\n */\nexport async function getNonce(\n chainId: number,\n subAccount: Address\n): Promise<string> {\n const hedgerBaseUrl = getHedgerBaseUrl(chainId);\n const url = new URL(`nonce/${subAccount}`, hedgerBaseUrl).href;\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(`Failed to fetch nonce: ${response.statusText}`);\n }\n\n const data = await response.json();\n return data.nonce;\n}\n\n/**\n * Exchanges a signed SIWE message for an access token from the hedger.\n */\nexport async function login(\n chainId: number,\n params: InstantLoginParams\n): Promise<InstantAuthToken> {\n const hedgerBaseUrl = getHedgerBaseUrl(chainId);\n const url = new URL('login', hedgerBaseUrl).href;\n const body = {\n account_address: params.accountAddress,\n expiration_time: params.expirationTime,\n issued_at: params.issuedAt,\n signature: params.signature,\n nonce: params.nonce,\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(body),\n });\n\n if (!response.ok) {\n const errorData = await response.json().catch(() => null);\n throw new Error(\n errorData?.error_message ?? `Login failed: ${response.statusText}`\n );\n }\n\n const data = await response.json();\n if (!data.access_token) {\n throw new Error('No access token received');\n }\n\n return {\n accessToken: data.access_token,\n expirationTime: params.expirationTime,\n issuedAt: params.issuedAt,\n };\n}\n\n// ─── Instant Open ────────────────────────────────────────────────\n\n/**\n * Opens a position instantly via the hedger's off-chain endpoint.\n */\nexport async function instantOpen(\n chainId: number,\n params: InstantOpenParams,\n accessToken: string\n): Promise<InstantOpenResponse> {\n const hedgerBaseUrl = getHedgerBaseUrl(chainId);\n const url = new URL('instant_open', hedgerBaseUrl).href;\n const body = {\n symbolId: params.symbolId,\n positionType: params.positionType,\n orderType: params.orderType,\n price: params.price,\n quantity: params.quantity,\n cva: params.cva,\n lf: params.lf,\n partyAmm: params.partyAmm,\n partyBmm: params.partyBmm,\n maxFundingRate: params.maxFundingRate,\n deadline: params.deadline,\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n },\n body: JSON.stringify(body),\n });\n\n if (!response.ok) {\n const errorData = await response.json().catch(() => null);\n throw new Error(\n errorData?.error_message ?? `Instant open failed: ${response.statusText}`\n );\n }\n\n return response.json();\n}\n\n// ─── Instant Close ───────────────────────────────────────────────\n\n/**\n * Closes a position instantly via the hedger's off-chain endpoint.\n */\nexport async function instantClose(\n chainId: number,\n params: InstantCloseParams,\n accessToken: string\n): Promise<InstantCloseResponse> {\n const hedgerBaseUrl = getHedgerBaseUrl(chainId);\n const url = new URL('instant_close', hedgerBaseUrl).href;\n const body = {\n quote_id: params.quoteId,\n quantity_to_close: params.quantityToClose,\n close_price: params.closePrice,\n };\n\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n },\n body: JSON.stringify(body),\n });\n\n if (!response.ok) {\n const errorData = await response.json().catch(() => null);\n throw new Error(\n errorData?.error_message ??\n `Instant close failed: ${response.statusText}`\n );\n }\n\n return response.json();\n}\n\n/**\n * Cancels a pending instant close request.\n */\nexport async function cancelInstantClose(\n chainId: number,\n quoteId: string,\n accessToken: string\n): Promise<void> {\n const hedgerBaseUrl = getHedgerBaseUrl(chainId);\n const url = new URL(`instant_close/${quoteId}`, hedgerBaseUrl).href;\n\n const response = await fetch(url, {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${accessToken}`,\n },\n });\n\n if (!response.ok) {\n const errorData = await response.json().catch(() => null);\n throw new Error(\n errorData?.error_message ??\n `Cancel instant close failed: ${response.statusText}`\n );\n }\n}\n\n/**\n * Fetches the list of open (pending) instant close requests for an account.\n */\nexport async function getOpenInstantCloses(\n chainId: number,\n account: Address,\n accessToken: string\n): Promise<unknown[]> {\n const hedgerBaseUrl = getHedgerBaseUrl(chainId);\n const url = new URL(`instant_close/${account}`, hedgerBaseUrl).href;\n\n const response = await fetch(url, {\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n });\n\n if (!response.ok) {\n const errorData = await response.json().catch(() => null);\n throw new Error(\n errorData?.error_message ??\n `Failed to fetch instant closes: ${response.statusText}`\n );\n }\n\n return response.json();\n}\n","import type { Address, PublicClient, WalletClient, Hex } from 'viem';\nimport type { SymmioSDKConfig } from './types/common';\nimport type {\n DepositParams,\n DepositAndAllocateParams,\n WithdrawParams,\n AllocateParams,\n DeallocateParams,\n InternalTransferParams,\n} from './types/collateral';\nimport type {\n SendQuoteParams,\n ClosePositionParams,\n} from './types/trade';\nimport type {\n MuonSingleUpnlAndPriceSig,\n MuonSingleUpnlSig,\n} from './types/muon';\nimport type {\n InstantOpenParams,\n InstantCloseParams,\n InstantOpenResponse,\n InstantCloseResponse,\n InstantLoginParams,\n InstantAuthToken,\n CreateSiweMessageParams,\n SiweMessageResult,\n} from './types/instant';\n\nimport {\n MULTI_ACCOUNT_ADDRESS,\n SYMMIO_DIAMOND_ADDRESS,\n COLLATERAL_ADDRESS,\n CLEARING_HOUSE_ADDRESS,\n SIGNATURE_STORE_ADDRESS,\n getAddress,\n} from './constants/addresses';\nimport { MUON_BASE_URLS, MUON_APP_NAME } from './constants/defaults';\n\nimport { MuonClient } from './clients/muon';\n\nimport * as accountActions from './actions/account';\nimport * as depositActions from './actions/deposit';\nimport * as withdrawActions from './actions/withdraw';\nimport * as allocateActions from './actions/allocate';\nimport * as tradeActions from './actions/trade';\nimport * as closeActions from './actions/close';\nimport * as cancelActions from './actions/cancel';\nimport * as approvalActions from './actions/approval';\nimport * as delegationActions from './actions/delegation';\nimport * as signatureActions from './actions/signature';\nimport * as adminActions from './actions/admin';\nimport * as instantActions from './actions/instant';\n\n/**\n * SymmioSDK — Main client for Symmio protocol.\n *\n * Provides a unified, ergonomic API over all protocol actions:\n * account management (via MultiAccount), deposits/withdrawals,\n * allocation/deallocation, trading, delegation, and administrative operations.\n *\n * @example\n * ```ts\n * import { SymmioSDK } from '@pear-protocol/symmio-client';\n * import { createPublicClient, createWalletClient, http } from 'viem';\n * import { arbitrum } from 'viem/chains';\n *\n * const sdk = new SymmioSDK({\n * chainId: 42161,\n * publicClient: createPublicClient({ chain: arbitrum, transport: http() }),\n * walletClient: myWalletClient,\n * });\n *\n * // Create an account\n * const hash = await sdk.account.addAccount('Main Trading');\n *\n * // Deposit and allocate\n * await sdk.deposit.depositAndAllocate({ account: '0x...', amount: 100000000n });\n *\n * // Open a position\n * await sdk.trade.sendQuote('0x...account', { ... });\n * ```\n */\nexport class SymmioSDK {\n public readonly chainId: number;\n public readonly muon: MuonClient;\n\n private _publicClient: PublicClient;\n private _walletClient: WalletClient;\n\n private _multiAccount: Address;\n private _symmioDiamond: Address;\n private _collateral: Address;\n private _clearingHouse?: Address;\n private _signatureStore?: Address;\n\n constructor(options: {\n chainId: number;\n publicClient: PublicClient;\n walletClient: WalletClient;\n config?: Partial<SymmioSDKConfig>;\n }) {\n this.chainId = options.chainId;\n this._publicClient = options.publicClient;\n this._walletClient = options.walletClient;\n\n const cfg = options.config ?? {};\n\n this._multiAccount =\n cfg.multiAccountAddress ??\n getAddress(MULTI_ACCOUNT_ADDRESS, this.chainId, 'MultiAccount');\n this._symmioDiamond =\n cfg.symmioDiamondAddress ??\n getAddress(SYMMIO_DIAMOND_ADDRESS, this.chainId, 'SymmioDiamond');\n this._collateral =\n cfg.collateralAddress ??\n getAddress(COLLATERAL_ADDRESS, this.chainId, 'Collateral');\n\n try {\n this._clearingHouse =\n cfg.clearingHouseAddress ??\n getAddress(CLEARING_HOUSE_ADDRESS, this.chainId, 'ClearingHouse');\n } catch {\n // ClearingHouse not yet deployed\n }\n\n try {\n this._signatureStore =\n cfg.signatureStoreAddress ??\n getAddress(SIGNATURE_STORE_ADDRESS, this.chainId, 'SignatureStore');\n } catch {\n // SignatureStore not available on this chain\n }\n this.muon = new MuonClient({\n baseUrls: cfg.muonBaseUrls ?? MUON_BASE_URLS,\n appName: cfg.muonAppName ?? MUON_APP_NAME,\n });\n }\n\n // ─── Contract Addresses ────────────────────────────────────────\n\n get addresses() {\n return {\n multiAccount: this._multiAccount,\n symmioDiamond: this._symmioDiamond,\n collateral: this._collateral,\n clearingHouse: this._clearingHouse,\n signatureStore: this._signatureStore,\n };\n }\n\n // ─── Account Module (MultiAccount) ─────────────────────────────\n\n get account() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const ma = this._multiAccount;\n\n return {\n /** Creates a new account. */\n addAccount: (name: string) =>\n accountActions.addAccount(wc, pc, ma, name),\n\n /** Edits an account's name. */\n editName: (accountAddress: Address, name: string) =>\n accountActions.editAccountName(wc, pc, ma, accountAddress, name),\n\n /** Gets all accounts for a user (paginated). */\n getAll: (user: Address, start?: number, size?: number) =>\n accountActions.getAccounts(pc, ma, user, start, size),\n\n /** Gets the number of accounts for a user. */\n getCount: (user: Address) =>\n accountActions.getAccountsLength(pc, ma, user),\n\n /** Gets the owner of an account. */\n getOwner: (accountAddress: Address) =>\n accountActions.getOwner(pc, ma, accountAddress),\n };\n }\n\n // ─── Deposit Module (MultiAccount) ─────────────────────────────\n\n get deposit() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const ma = this._multiAccount;\n\n return {\n /** Standard deposit to an account. */\n standard: (params: DepositParams) =>\n depositActions.deposit(wc, pc, ma, params),\n\n /** Deposit and allocate in a single transaction. */\n depositAndAllocate: (params: DepositAndAllocateParams) =>\n depositActions.depositAndAllocate(wc, pc, ma, params),\n };\n }\n\n // ─── Withdraw Module (MultiAccount) ────────────────────────────\n\n get withdraw() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const ma = this._multiAccount;\n\n return {\n /** Withdraws collateral from an account. */\n withdraw: (params: WithdrawParams) =>\n withdrawActions.withdraw(wc, pc, ma, params),\n };\n }\n\n // ─── Allocate / Deallocate Module (via _call proxy) ────────────\n\n get collateral() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const ma = this._multiAccount;\n\n return {\n /** Allocate collateral to a trading account. */\n allocate: (subAccount: Address, params: AllocateParams) =>\n allocateActions.allocate(wc, pc, ma, subAccount, params),\n\n /** Deallocate collateral (requires Muon signature). */\n deallocate: (subAccount: Address, params: DeallocateParams) =>\n allocateActions.deallocate(wc, pc, ma, subAccount, params),\n\n /** Transfer funds to recipient's allocated balance. */\n internalTransfer: (subAccount: Address, params: InternalTransferParams) =>\n allocateActions.internalTransfer(wc, pc, ma, subAccount, params),\n };\n }\n\n // ─── Trade Module ──────────────────────────────────────────────\n\n get trade() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const ma = this._multiAccount;\n\n return {\n /** Opens a position via sendQuoteWithAffiliate. */\n sendQuote: (subAccount: Address, params: SendQuoteParams) =>\n tradeActions.sendQuote(wc, pc, ma, subAccount, params),\n\n /** Close a position. */\n closePosition: (subAccount: Address, params: ClosePositionParams) =>\n closeActions.closePosition(wc, pc, ma, subAccount, params),\n\n /** Cancel a pending quote. */\n cancelQuote: (subAccount: Address, quoteId: bigint) =>\n cancelActions.cancelQuote(wc, pc, ma, subAccount, quoteId),\n\n /** Cancel a pending close request. */\n cancelCloseRequest: (subAccount: Address, quoteId: bigint) =>\n cancelActions.cancelCloseRequest(wc, pc, ma, subAccount, quoteId),\n\n /** Force cancel a quote. */\n forceCancelQuote: (subAccount: Address, quoteId: bigint) =>\n cancelActions.forceCancelQuote(wc, pc, ma, subAccount, quoteId),\n\n /** Force cancel a close request. */\n forceCancelCloseRequest: (subAccount: Address, quoteId: bigint) =>\n cancelActions.forceCancelCloseRequest(wc, pc, ma, subAccount, quoteId),\n };\n }\n\n // ─── Approval Module ───────────────────────────────────────────\n\n get approval() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const collateral = this._collateral;\n const ma = this._multiAccount;\n\n return {\n /** Approve the MultiAccount contract to spend collateral. */\n approveCollateral: (amount: bigint) =>\n approvalActions.approve(wc, pc, collateral, ma, amount),\n\n /** Approve any spender for any token. */\n approve: (token: Address, spender: Address, amount: bigint) =>\n approvalActions.approve(wc, pc, token, spender, amount),\n\n /** Get current allowance. */\n getAllowance: (token: Address, owner: Address, spender: Address) =>\n approvalActions.getAllowance(pc, token, owner, spender),\n\n /** Get token balance. */\n getBalance: (token: Address, account: Address) =>\n approvalActions.getBalance(pc, token, account),\n\n /** Get approval state for a required amount. */\n getState: (\n token: Address,\n owner: Address,\n spender: Address,\n requiredAmount: bigint\n ) => approvalActions.getApprovalState(pc, token, owner, spender, requiredAmount),\n };\n }\n\n // ─── Delegation Module ─────────────────────────────────────────\n\n get delegation() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const ma = this._multiAccount;\n\n return {\n /** Delegate access to selectors. */\n delegateAccess: (params: delegationActions.DelegateAccessParams) =>\n delegationActions.delegateAccess(wc, pc, ma, params),\n\n /** Propose to revoke delegated access (starts cooldown). */\n proposeRevoke: (params: delegationActions.ProposeRevokeParams) =>\n delegationActions.proposeRevoke(wc, pc, ma, params),\n\n /** Revoke delegated access (after cooldown). */\n revokeAccess: (params: delegationActions.RevokeAccessParams) =>\n delegationActions.revokeAccess(wc, pc, ma, params),\n };\n }\n\n // ─── Signature Module ──────────────────────────────────────────\n\n get signature() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const ss = this._signatureStore;\n\n return {\n signTerms: () => {\n if (!ss) throw new Error('SignatureStore not configured for this chain');\n return signatureActions.signTermsMessage(wc, pc, ss);\n },\n storeSignature: (sig: Hex) => {\n if (!ss) throw new Error('SignatureStore not configured for this chain');\n return signatureActions.storeSignature(wc, pc, ss, sig);\n },\n hasSigned: (user: Address) => {\n if (!ss) throw new Error('SignatureStore not configured for this chain');\n return signatureActions.hasSignedCurrentVersion(pc, ss, user);\n },\n getMessage: () => {\n if (!ss) throw new Error('SignatureStore not configured for this chain');\n return signatureActions.getCurrentMessage(pc, ss);\n },\n };\n }\n\n // ─── Admin Module ──────────────────────────────────────────────\n\n get admin() {\n const wc = this._walletClient;\n const pc = this._publicClient;\n const sd = this._symmioDiamond;\n\n return {\n grantRole: (role: Hex, grantee: Address) =>\n adminActions.grantRole(wc, pc, sd, role, grantee),\n revokeRole: (role: Hex, revokee: Address) =>\n adminActions.revokeRole(wc, pc, sd, role, revokee),\n };\n }\n\n // ─── Instant Trading Module ──────────────────────────────────\n\n get instant() {\n return {\n /** Creates a SIWE message for instant trading authentication. */\n createSiweMessage: (params: CreateSiweMessageParams): SiweMessageResult =>\n instantActions.createSiweMessage(params),\n\n /** Fetches a nonce from the hedger for SIWE authentication. */\n getNonce: (subAccount: Address): Promise<string> =>\n instantActions.getNonce(this.chainId, subAccount),\n\n /** Exchanges a signed SIWE message for an access token. */\n login: (params: InstantLoginParams): Promise<InstantAuthToken> =>\n instantActions.login(this.chainId, params),\n\n /** Opens a position instantly via the hedger (off-chain). */\n open: (\n params: InstantOpenParams,\n accessToken: string\n ): Promise<InstantOpenResponse> =>\n instantActions.instantOpen(this.chainId, params, accessToken),\n\n /** Closes a position instantly via the hedger (off-chain). */\n close: (\n params: InstantCloseParams,\n accessToken: string\n ): Promise<InstantCloseResponse> =>\n instantActions.instantClose(this.chainId, params, accessToken),\n\n /** Cancels a pending instant close request. */\n cancelClose: (quoteId: string, accessToken: string): Promise<void> =>\n instantActions.cancelInstantClose(this.chainId, quoteId, accessToken),\n\n /** Fetches the list of open instant close requests for an account. */\n getOpenCloses: (\n account: Address,\n accessToken: string\n ): Promise<unknown[]> =>\n instantActions.getOpenInstantCloses(this.chainId, account, accessToken),\n };\n }\n\n // ─── Muon Signatures ──────────────────────────────────────────\n\n async getQuoteSig(\n partyA: Address,\n symbolId: number\n ): Promise<MuonSingleUpnlAndPriceSig> {\n return this.muon.getQuoteSig({\n partyA,\n chainId: this.chainId,\n symmioAddress: this._symmioDiamond,\n symbolId,\n });\n }\n\n async getDeallocateSig(partyA: Address): Promise<MuonSingleUpnlSig> {\n return this.muon.getDeallocateSig({\n partyA,\n chainId: this.chainId,\n symmioAddress: this._symmioDiamond,\n });\n }\n}\n","import { createContext, useContext } from 'react';\nimport type { Address } from 'viem';\nimport type { SymmioSDK } from '../client';\nimport type { SymmSDK } from '@pear-protocol/symm-core';\n\nexport type SymmContextValue = {\n symmioClient: SymmioSDK | null;\n symmCoreClient: SymmSDK | null;\n chainId: number;\n address?: `0x${string}`;\n accessToken: string | null;\n authToken: string | null;\n isReady: boolean;\n refreshAuth: (accountAddress?: Address) => Promise<string | null>;\n};\n\nexport const SymmContext = createContext<SymmContextValue | null>(null);\n\nexport function useSymmContext(): SymmContextValue {\n const ctx = useContext(SymmContext);\n if (!ctx) {\n throw new Error('useSymmContext must be used within <SymmProvider>');\n }\n return ctx;\n}\n","import type { Address, WalletClient } from 'viem';\nimport {\n createSiweMessage,\n getNonce,\n login,\n} from '../actions/instant';\n\ninterface CachedToken {\n token: string;\n expiresAt: number;\n}\n\nconst TOKEN_STORAGE_PREFIX = 'symm_access_token';\nconst TOKEN_STORAGE_VERSION = 1;\nconst tokenCache = new Map<string, CachedToken>();\n\nfunction cacheKey(address: Address, chainId: number): string {\n return `${address}:${chainId}`;\n}\n\nfunction storageKey(address: Address, chainId: number): string {\n return `${TOKEN_STORAGE_PREFIX}:${TOKEN_STORAGE_VERSION}:${cacheKey(address, chainId)}`;\n}\n\nfunction readStoredToken(\n address: Address,\n chainId: number,\n): CachedToken | null {\n if (typeof window === 'undefined') return null;\n\n try {\n const raw = window.localStorage.getItem(storageKey(address, chainId));\n if (!raw) return null;\n\n const parsed = JSON.parse(raw) as CachedToken;\n if (\n !parsed ||\n typeof parsed.token !== 'string' ||\n typeof parsed.expiresAt !== 'number'\n ) {\n window.localStorage.removeItem(storageKey(address, chainId));\n return null;\n }\n\n if (Date.now() >= parsed.expiresAt) {\n window.localStorage.removeItem(storageKey(address, chainId));\n return null;\n }\n\n return parsed;\n } catch {\n window.localStorage.removeItem(storageKey(address, chainId));\n return null;\n }\n}\n\nfunction writeStoredToken(\n address: Address,\n chainId: number,\n cached: CachedToken,\n): void {\n if (typeof window === 'undefined') return;\n\n try {\n window.localStorage.setItem(\n storageKey(address, chainId),\n JSON.stringify(cached),\n );\n } catch {\n // Ignore storage write failures and keep the in-memory cache.\n }\n}\n\nexport function getCachedToken(address: Address, chainId: number): string | null {\n const cached = tokenCache.get(cacheKey(address, chainId));\n if (cached && Date.now() < cached.expiresAt) {\n return cached.token;\n }\n\n if (cached) {\n tokenCache.delete(cacheKey(address, chainId));\n }\n\n const stored = readStoredToken(address, chainId);\n if (!stored) return null;\n\n tokenCache.set(cacheKey(address, chainId), stored);\n return stored.token;\n}\n\nexport function clearCachedToken(address: Address, chainId: number): void {\n tokenCache.delete(cacheKey(address, chainId));\n if (typeof window !== 'undefined') {\n window.localStorage.removeItem(storageKey(address, chainId));\n }\n}\n\nexport function clearAllTokens(): void {\n tokenCache.clear();\n if (typeof window === 'undefined') return;\n\n try {\n for (let index = window.localStorage.length - 1; index >= 0; index -= 1) {\n const key = window.localStorage.key(index);\n if (key?.startsWith(`${TOKEN_STORAGE_PREFIX}:`)) {\n window.localStorage.removeItem(key);\n }\n }\n } catch {\n // Ignore storage clear failures.\n }\n}\n\nexport async function fetchAccessToken(\n walletClient: WalletClient,\n signerAddress: Address,\n accountAddress: Address,\n chainId: number,\n domain?: string\n): Promise<string> {\n const resolvedDomain = domain ?? (typeof window !== 'undefined' ? window.location.host : 'localhost');\n const uri = typeof window !== 'undefined' ? window.location.origin : `https://${resolvedDomain}`;\n const nonce = await getNonce(chainId, accountAddress);\n const { message, issuedAt, expirationTime } = createSiweMessage({\n address: signerAddress,\n statement: 'Sign in to Symm Protocol',\n chainId,\n nonce,\n domain: resolvedDomain,\n uri,\n });\n\n const signature = await walletClient.signMessage({\n account: signerAddress,\n message,\n });\n\n const { accessToken } = await login(chainId, {\n accountAddress,\n signature,\n expirationTime,\n issuedAt,\n nonce,\n });\n\n const expiresAt = new Date(expirationTime).getTime();\n const cachedToken = {\n token: accessToken,\n expiresAt: expiresAt - 60_000,\n };\n\n tokenCache.set(cacheKey(accountAddress, chainId), cachedToken);\n writeStoredToken(accountAddress, chainId, cachedToken);\n\n return accessToken;\n}\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { Address } from 'viem';\nimport { useAccount, usePublicClient, useWalletClient } from 'wagmi';\nimport { createSymmSDK, type SymmSDK } from '@pear-protocol/symm-core';\n\nimport { SymmioSDK } from '../client';\nimport type { SymmioSDKConfig } from '../types/common';\nimport { SymmContext, type SymmContextValue } from './context';\nimport { fetchAccessToken, getCachedToken, clearCachedToken } from './auth';\n\nexport type SymmProviderProps = {\n chainId?: number;\n symmCoreConfig: {\n apiUrl: string;\n wsUrl?: string;\n };\n symmioConfig?: Partial<SymmioSDKConfig>;\n siweDomain?: string;\n children: React.ReactNode;\n};\n\nexport function SymmProvider({\n chainId: configChainId,\n symmCoreConfig,\n symmioConfig,\n siweDomain,\n children,\n}: SymmProviderProps) {\n const { address, chainId: walletChainId } = useAccount();\n const publicClient = usePublicClient();\n const { data: walletClient } = useWalletClient();\n\n const chainId = configChainId ?? walletChainId ?? 42161;\n\n const [accessToken, setAccessToken] = useState<string | null>(null);\n\n // Track previous values to detect changes\n const prevAddressRef = useRef(address);\n const prevChainRef = useRef(chainId);\n\n // ─── SymmioSDK (on-chain) ──────────────────────────────────────\n const symmioClient = useMemo(() => {\n if (!publicClient || !walletClient || !address) return null;\n return new SymmioSDK({\n chainId,\n publicClient,\n walletClient,\n config: symmioConfig,\n });\n }, [publicClient, walletClient, address, chainId, symmioConfig]);\n\n // ─── SIWE Auth ─────────────────────────────────────────────────\n const refreshAuth = useCallback(async (accountAddress?: Address): Promise<string | null> => {\n if (!walletClient || !address) return null;\n const resolvedAccountAddress = accountAddress ?? address;\n const cached = getCachedToken(resolvedAccountAddress, chainId);\n if (cached) {\n setAccessToken(cached);\n return cached;\n }\n try {\n const token = await fetchAccessToken(\n walletClient,\n address,\n resolvedAccountAddress,\n chainId,\n siweDomain,\n );\n setAccessToken(token);\n return token;\n } catch {\n setAccessToken(null);\n return null;\n }\n }, [walletClient, address, chainId, siweDomain]);\n\n useEffect(() => {\n const previousAddress = prevAddressRef.current;\n const previousChainId = prevChainRef.current;\n const addressChanged = previousAddress !== address;\n const chainChanged = previousChainId !== chainId;\n\n prevAddressRef.current = address;\n prevChainRef.current = chainId;\n\n if (!address || !walletClient) {\n setAccessToken(null);\n return;\n }\n setAccessToken(null);\n\n if (previousAddress && (addressChanged || chainChanged)) {\n clearCachedToken(previousAddress, previousChainId);\n }\n }, [address, walletClient, chainId]);\n\n // ─── symm-core SDK (API/WS) ───────────────────────────────────\n const symmCoreClient = useMemo((): SymmSDK | null => {\n return createSymmSDK({\n apiUrl: symmCoreConfig.apiUrl,\n wsUrl: symmCoreConfig.wsUrl,\n defaultChainId: chainId,\n });\n }, [chainId, symmCoreConfig.apiUrl, symmCoreConfig.wsUrl]);\n\n // ─── WebSocket lifecycle ───────────────────────────────────────\n useEffect(() => {\n if (!symmCoreClient || !address) return;\n\n symmCoreClient.ws.connect();\n\n return () => {\n symmCoreClient.ws.disconnect();\n };\n }, [symmCoreClient, address]);\n\n // ─── Context value ─────────────────────────────────────────────\n const value = useMemo<SymmContextValue>(\n () => ({\n symmioClient,\n symmCoreClient,\n chainId,\n address,\n accessToken,\n authToken: accessToken,\n isReady: !!symmioClient && !!symmCoreClient,\n refreshAuth,\n }),\n [symmioClient, symmCoreClient, chainId, address, accessToken, refreshAuth]\n );\n\n return <SymmContext.Provider value={value}>{children}</SymmContext.Provider>;\n}\n","import type { SymmioSDK } from '../../client';\nimport { useSymmContext } from '../context';\n\nexport function useSymmioClient(): SymmioSDK | null {\n return useSymmContext().symmioClient;\n}\n","import type { SymmSDK } from '@pear-protocol/symm-core';\nimport { useSymmContext } from '../context';\n\nexport function useSymmCoreClient(): SymmSDK | null {\n return useSymmContext().symmCoreClient;\n}\n","import { useSymmContext } from '../context';\n\nexport function useSymmAuth() {\n const { accessToken, authToken, refreshAuth } = useSymmContext();\n\n return {\n accessToken,\n authToken,\n isAuthenticated: !!accessToken,\n refresh: refreshAuth,\n };\n}\n","import type { Address } from 'viem';\n\nexport const symmKeys = {\n all: ['symm'] as const,\n accounts: (address?: Address) => ['symm', 'accounts', address] as const,\n accountSummary: (address?: Address, chainId?: number) =>\n ['symm', 'accountSummary', address, chainId] as const,\n signature: (address?: Address) => ['symm', 'signature', address] as const,\n approval: (owner?: Address, spender?: Address) =>\n ['symm', 'approval', owner, spender] as const,\n balances: (address?: Address, chainId?: number) =>\n ['symm', 'balances', address, chainId] as const,\n positions: (address?: Address, chainId?: number) =>\n ['symm', 'positions', address, chainId] as const,\n openOrders: (address?: Address, chainId?: number) =>\n ['symm', 'openOrders', address, chainId] as const,\n tradeHistory: (address?: Address, chainId?: number) =>\n ['symm', 'tradeHistory', address, chainId] as const,\n tpslOrders: (address?: Address, chainId?: number) =>\n ['symm', 'tpslOrders', address, chainId] as const,\n twapOrders: (address?: Address, chainId?: number) =>\n ['symm', 'twapOrders', address, chainId] as const,\n markets: (chainId?: number, search?: string) =>\n ['symm', 'markets', chainId, search] as const,\n fundingRates: (chainId?: number) => ['symm', 'fundingRates', chainId] as const,\n portfolio: (address?: Address, chainId?: number) =>\n ['symm', 'portfolio', address, chainId] as const,\n notifications: (address?: Address, chainId?: number) =>\n ['symm', 'notifications', address, chainId] as const,\n unreadCount: (address?: Address, chainId?: number) =>\n ['symm', 'unreadCount', address, chainId] as const,\n};\n","import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address, Hex } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmAccounts(userAddress?: Address) {\n const { symmioClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const accountsQuery = useQuery({\n queryKey: symmKeys.accounts(userAddress),\n queryFn: () => symmioClient!.account.getAll(userAddress!),\n enabled: !!symmioClient && !!userAddress,\n });\n\n const createAccount = useMutation({\n mutationFn: async ({ name }: { name: string }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.account.addAccount(name);\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: symmKeys.accounts(userAddress) });\n },\n });\n\n const editName = useMutation({\n mutationFn: async ({\n accountAddress,\n name,\n }: {\n accountAddress: Address;\n name: string;\n }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.account.editName(accountAddress, name);\n },\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: symmKeys.accounts(userAddress) });\n },\n });\n\n return {\n accounts: accountsQuery.data ?? [],\n count: accountsQuery.data?.length ?? 0,\n isLoading: accountsQuery.isLoading,\n error: accountsQuery.error,\n refetch: accountsQuery.refetch,\n createAccount,\n editName,\n };\n}\n","import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address, Hex } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmApproval(params: {\n owner?: Address;\n amount: bigint;\n spender?: Address;\n collateralToken?: Address;\n}) {\n const { symmioClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const { owner, amount, spender, collateralToken } = params;\n\n const resolvedSpender = spender ?? symmioClient?.addresses.multiAccount;\n const resolvedToken = collateralToken ?? symmioClient?.addresses.collateral;\n\n const approvalQuery = useQuery({\n queryKey: symmKeys.approval(owner, resolvedSpender),\n queryFn: async () => {\n const [state, allowance, balance] = await Promise.all([\n symmioClient!.approval.getState(\n resolvedToken!,\n owner!,\n resolvedSpender!,\n amount\n ),\n symmioClient!.approval.getAllowance(resolvedToken!, owner!, resolvedSpender!),\n symmioClient!.approval.getBalance(resolvedToken!, owner!),\n ]);\n return { state, allowance, balance };\n },\n enabled:\n !!symmioClient && !!owner && !!resolvedSpender && !!resolvedToken,\n });\n\n const approve = useMutation({\n mutationFn: async (approveAmount: bigint): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.approval.approveCollateral(approveAmount);\n },\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.approval(owner, resolvedSpender),\n });\n },\n });\n\n return {\n approvalState: approvalQuery.data?.state ?? null,\n allowance: approvalQuery.data?.allowance ?? 0n,\n balance: approvalQuery.data?.balance ?? 0n,\n isLoading: approvalQuery.isLoading,\n approve,\n };\n}\n","import type { QueryClient } from '@tanstack/react-query';\n\nexport function invalidateBalances(qc: QueryClient) {\n qc.invalidateQueries({ queryKey: ['symm', 'balances'] });\n qc.invalidateQueries({ queryKey: ['symm', 'accountSummary'] });\n qc.invalidateQueries({ queryKey: ['symm', 'portfolio'] });\n}\n\nexport function invalidatePositions(qc: QueryClient) {\n qc.invalidateQueries({ queryKey: ['symm', 'positions'] });\n qc.invalidateQueries({ queryKey: ['symm', 'openOrders'] });\n qc.invalidateQueries({ queryKey: ['symm', 'tradeHistory'] });\n qc.invalidateQueries({ queryKey: ['symm', 'portfolio'] });\n}\n\nexport function invalidateOrders(qc: QueryClient) {\n qc.invalidateQueries({ queryKey: ['symm', 'openOrders'] });\n qc.invalidateQueries({ queryKey: ['symm', 'tpslOrders'] });\n qc.invalidateQueries({ queryKey: ['symm', 'twapOrders'] });\n}\n","import { useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address, Hex } from 'viem';\nimport { useSymmContext } from '../context';\nimport { invalidateBalances } from '../cache';\n\nexport function useSymmDeposit() {\n const { symmioClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const deposit = useMutation({\n mutationFn: async ({\n account,\n amount,\n }: {\n account: Address;\n amount: bigint;\n }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.deposit.standard({ account, amount });\n },\n onSuccess: () => {\n invalidateBalances(queryClient);\n queryClient.invalidateQueries({ queryKey: ['symm', 'approval'] });\n },\n });\n\n const depositAndAllocate = useMutation({\n mutationFn: async ({\n account,\n amount,\n }: {\n account: Address;\n amount: bigint;\n }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.deposit.depositAndAllocate({ account, amount });\n },\n onSuccess: () => {\n invalidateBalances(queryClient);\n queryClient.invalidateQueries({ queryKey: ['symm', 'approval'] });\n },\n });\n\n return { deposit, depositAndAllocate };\n}\n","import { useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address, Hex } from 'viem';\nimport { useSymmContext } from '../context';\nimport { invalidateBalances } from '../cache';\n\nexport function useSymmWithdraw() {\n const { symmioClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const withdraw = useMutation({\n mutationFn: async ({\n account,\n amount,\n }: {\n account: Address;\n amount: bigint;\n }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.withdraw.withdraw({ account, amount });\n },\n onSuccess: () => {\n invalidateBalances(queryClient);\n },\n });\n\n return { withdraw };\n}\n","import { useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address, Hex } from 'viem';\nimport type { InternalTransferParams } from '../../types/collateral';\nimport { useSymmContext } from '../context';\nimport { invalidateBalances } from '../cache';\n\nexport function useSymmCollateral() {\n const { symmioClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const allocate = useMutation({\n mutationFn: async ({\n subAccount,\n amount,\n }: {\n subAccount: Address;\n amount: bigint;\n }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.collateral.allocate(subAccount, { amount });\n },\n onSuccess: () => {\n invalidateBalances(queryClient);\n },\n });\n\n const deallocate = useMutation({\n mutationFn: async ({\n subAccount,\n amount,\n }: {\n subAccount: Address;\n amount: bigint;\n }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n // Fetch Muon signature for deallocation\n const upnlSig = await symmioClient.getDeallocateSig(subAccount);\n return symmioClient.collateral.deallocate(subAccount, {\n amount,\n upnlSig,\n });\n },\n onSuccess: () => {\n invalidateBalances(queryClient);\n },\n });\n\n const internalTransfer = useMutation({\n mutationFn: async ({\n subAccount,\n params,\n }: {\n subAccount: Address;\n params: InternalTransferParams;\n }): Promise<Hex> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n return symmioClient.collateral.internalTransfer(subAccount, params);\n },\n onSuccess: () => {\n invalidateBalances(queryClient);\n },\n });\n\n return { allocate, deallocate, internalTransfer };\n}\n","import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmSignature(userAddress?: Address) {\n const { symmioClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const signedQuery = useQuery({\n queryKey: symmKeys.signature(userAddress),\n queryFn: () => symmioClient!.signature.hasSigned(userAddress!),\n enabled: !!symmioClient && !!userAddress,\n });\n\n const signTerms = useMutation({\n mutationFn: async (): Promise<void> => {\n if (!symmioClient) throw new Error('SymmioSDK not available');\n const sig = await symmioClient.signature.signTerms();\n await symmioClient.signature.storeSignature(sig);\n },\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.signature(userAddress),\n });\n },\n });\n\n return {\n hasSigned: signedQuery.data ?? false,\n isLoading: signedQuery.isLoading,\n signTerms,\n };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmBalances(params: {\n userAddress?: Address;\n chainId?: number;\n multiAccountAddress?: Address;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const { userAddress, multiAccountAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n\n const query = useQuery({\n queryKey: symmKeys.balances(userAddress, chainId),\n queryFn: () =>\n symmCoreClient!.accounts.getBalanceInfo({\n userAddress: userAddress!,\n chainId,\n multiAccountAddress: multiAccountAddress as string | undefined,\n }),\n enabled: !!symmCoreClient && !!userAddress,\n staleTime: 10_000,\n });\n\n return {\n balanceInfo: query.data ?? null,\n isLoading: query.isLoading,\n refetch: query.refetch,\n };\n}\n","import { useMutation, useQueryClient } from '@tanstack/react-query';\nimport type {\n OpenBasketPositionRequest,\n ClosePositionRequest,\n CancelOpenRequest,\n UpdatePositionRequest,\n} from '@pear-protocol/symm-core';\nimport { useSymmContext } from '../context';\nimport { invalidatePositions } from '../cache';\n\nexport function useSymmTrade() {\n const { symmCoreClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const openBasket = useMutation({\n mutationFn: async (request: OpenBasketPositionRequest) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.positions.openBasket(request);\n },\n onSuccess: () => {\n invalidatePositions(queryClient);\n },\n });\n\n const closePosition = useMutation({\n mutationFn: async (request: ClosePositionRequest) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.positions.close(request);\n },\n onSuccess: () => {\n invalidatePositions(queryClient);\n },\n });\n\n const closeAll = useMutation({\n mutationFn: async (request: Parameters<NonNullable<typeof symmCoreClient>['positions']['closeAll']>[0]) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.positions.closeAll(request);\n },\n onSuccess: () => {\n invalidatePositions(queryClient);\n },\n });\n\n const cancelOpen = useMutation({\n mutationFn: async (request: CancelOpenRequest) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.positions.cancelOpen(request);\n },\n onSuccess: () => {\n invalidatePositions(queryClient);\n },\n });\n\n const updatePosition = useMutation({\n mutationFn: async ({\n positionId,\n request,\n }: {\n positionId: string;\n request: UpdatePositionRequest;\n }) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.positions.update(positionId, request);\n },\n onSuccess: () => {\n invalidatePositions(queryClient);\n },\n });\n\n return { openBasket, closePosition, closeAll, cancelOpen, updatePosition };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmPositions(params: {\n accountAddress?: Address;\n mainAddress?: Address;\n chainId?: number;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const { accountAddress, mainAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n\n const query = useQuery({\n queryKey: symmKeys.positions(accountAddress ?? mainAddress, chainId),\n queryFn: () =>\n symmCoreClient!.positions.getOpen({\n address: accountAddress as string | undefined,\n mainAddress: mainAddress as string | undefined,\n chainId,\n }),\n enabled: !!symmCoreClient && !!(accountAddress || mainAddress),\n staleTime: 5_000,\n });\n\n return {\n positions: query.data?.data?.positions ?? [],\n isLoading: query.isLoading,\n refetch: query.refetch,\n };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmOpenOrders(params: {\n accountAddress?: Address;\n mainAddress?: Address;\n chainId?: number;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const { accountAddress, mainAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n\n const query = useQuery({\n queryKey: symmKeys.openOrders(accountAddress ?? mainAddress, chainId),\n queryFn: () =>\n symmCoreClient!.orders.list({\n address: accountAddress as string | undefined,\n mainAddress: mainAddress as string | undefined,\n chainId,\n }),\n enabled: !!symmCoreClient && !!(accountAddress || mainAddress),\n staleTime: 5_000,\n });\n\n return {\n orders: query.data?.data?.orders ?? [],\n isLoading: query.isLoading,\n refetch: query.refetch,\n };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmTradeHistory(params: {\n accountAddress?: Address;\n mainAddress?: Address;\n chainId?: number;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const { accountAddress, mainAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n\n const query = useQuery({\n queryKey: symmKeys.tradeHistory(accountAddress ?? mainAddress, chainId),\n queryFn: () =>\n symmCoreClient!.positions.getTradeHistory({\n accountAddress: accountAddress as string | undefined,\n mainAddress: mainAddress as string | undefined,\n chainId,\n }),\n enabled: !!symmCoreClient && !!(accountAddress || mainAddress),\n staleTime: 10_000,\n });\n\n return {\n trades: query.data ?? null,\n isLoading: query.isLoading,\n refetch: query.refetch,\n };\n}\n","import { useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { SetTpslRequest, CancelTpslRequest } from '@pear-protocol/symm-core';\nimport { useSymmContext } from '../context';\nimport { invalidateOrders, invalidatePositions } from '../cache';\n\nexport function useSymmTpsl() {\n const { symmCoreClient } = useSymmContext();\n const queryClient = useQueryClient();\n\n const setTpsl = useMutation({\n mutationFn: async (request: SetTpslRequest) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.orders.setTpsl(request);\n },\n onSuccess: () => {\n invalidateOrders(queryClient);\n invalidatePositions(queryClient);\n },\n });\n\n const cancelTpsl = useMutation({\n mutationFn: async (request: CancelTpslRequest) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.orders.cancelTpsl(request);\n },\n onSuccess: () => {\n invalidateOrders(queryClient);\n invalidatePositions(queryClient);\n },\n });\n\n return { setTpsl, cancelTpsl };\n}\n","import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\nimport { invalidateOrders } from '../cache';\n\nexport function useSymmTwap(params: {\n accountAddress?: Address;\n mainAddress?: Address;\n chainId?: number;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const queryClient = useQueryClient();\n const { accountAddress, mainAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n\n const query = useQuery({\n queryKey: symmKeys.twapOrders(accountAddress ?? mainAddress, chainId),\n queryFn: () =>\n symmCoreClient!.orders.getTwapOrders({\n address: accountAddress as string | undefined,\n mainAddress: mainAddress as string | undefined,\n chainId,\n }),\n enabled: !!symmCoreClient && !!(accountAddress || mainAddress),\n staleTime: 5_000,\n });\n\n const cancelTwap = useMutation({\n mutationFn: async (orderId: string) => {\n if (!symmCoreClient) throw new Error('symm-core client not available');\n return symmCoreClient.orders.cancelTwapOrder(orderId);\n },\n onSuccess: () => {\n invalidateOrders(queryClient);\n },\n });\n\n return {\n twapOrders: query.data?.data?.orders ?? [],\n isLoading: query.isLoading,\n cancelTwap,\n };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmMarkets(params?: {\n chainId?: number;\n searchText?: string;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const chainId = params?.chainId ?? ctxChainId;\n const searchText = params?.searchText;\n\n const query = useQuery({\n queryKey: symmKeys.markets(chainId, searchText),\n queryFn: () => {\n if (searchText) {\n return symmCoreClient!.markets.search(searchText);\n }\n return symmCoreClient!.markets.list({ pageSize: '500' });\n },\n enabled: !!symmCoreClient,\n staleTime: 30_000,\n });\n\n return {\n markets: query.data?.markets ?? [],\n isLoading: query.isLoading,\n refetch: query.refetch,\n };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmFunding(params?: { chainId?: number }) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const chainId = params?.chainId ?? ctxChainId;\n\n const query = useQuery({\n queryKey: symmKeys.fundingRates(chainId),\n queryFn: () => symmCoreClient!.funding.getRates({ chainId }),\n enabled: !!symmCoreClient,\n staleTime: 30_000,\n });\n\n return {\n rates: query.data?.data?.rates ?? [],\n isLoading: query.isLoading,\n };\n}\n","import { useQuery } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmPortfolio(params: {\n accountAddress?: Address;\n mainAddress?: Address;\n chainId?: number;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const { accountAddress, mainAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n\n const query = useQuery({\n queryKey: symmKeys.portfolio(accountAddress ?? mainAddress, chainId),\n queryFn: () =>\n symmCoreClient!.portfolio.getMetrics({\n accountAddress: accountAddress as string | undefined,\n mainAddress: mainAddress as string | undefined,\n chainId,\n }),\n enabled: !!symmCoreClient && !!(accountAddress || mainAddress),\n staleTime: 60_000,\n });\n\n return {\n metrics: query.data ?? null,\n isLoading: query.isLoading,\n refetch: query.refetch,\n };\n}\n","import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmNotifications(params: {\n userAddress?: Address;\n chainId?: number;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const queryClient = useQueryClient();\n const { userAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n\n const notificationsQuery = useQuery({\n queryKey: symmKeys.notifications(userAddress, chainId),\n queryFn: () =>\n symmCoreClient!.notifications.list({\n userAddress: userAddress as string | undefined,\n chainId,\n }),\n enabled: !!symmCoreClient && !!userAddress,\n staleTime: 10_000,\n });\n\n const unreadQuery = useQuery({\n queryKey: symmKeys.unreadCount(userAddress, chainId),\n queryFn: () =>\n symmCoreClient!.notifications.getUnreadCount({\n userAddress: userAddress as string | undefined,\n chainId,\n }),\n enabled: !!symmCoreClient && !!userAddress,\n staleTime: 10_000,\n });\n\n const markRead = useMutation({\n mutationFn: async ({ id }: { id?: string; timestamp?: number }) => {\n if (!symmCoreClient || !userAddress)\n throw new Error('symm-core client not available');\n return symmCoreClient.notifications.markRead({\n id,\n userAddress: userAddress as string,\n chainId,\n });\n },\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.notifications(userAddress, chainId),\n });\n queryClient.invalidateQueries({\n queryKey: symmKeys.unreadCount(userAddress, chainId),\n });\n },\n });\n\n return {\n notifications: notificationsQuery.data?.data?.notifications ?? [],\n unreadCount: unreadQuery.data?.data?.unreadCount ?? 0,\n isLoading: notificationsQuery.isLoading,\n markRead,\n refetch: notificationsQuery.refetch,\n };\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport type { Address } from 'viem';\nimport { useSymmContext } from '../context';\nimport { symmKeys } from '../query-keys';\n\nexport function useSymmWs(params: {\n accountAddress?: Address;\n chainId?: number;\n}) {\n const { symmCoreClient, chainId: ctxChainId } = useSymmContext();\n const queryClient = useQueryClient();\n const { accountAddress } = params;\n const chainId = params.chainId ?? ctxChainId;\n const [isConnected, setIsConnected] = useState(false);\n const cleanupRef = useRef<(() => void)[]>([]);\n\n useEffect(() => {\n if (!symmCoreClient || !accountAddress) {\n setIsConnected(false);\n return;\n }\n\n const ws = symmCoreClient.ws;\n const addr = accountAddress as string;\n\n const removeOnConnect = ws.onConnect(() => setIsConnected(true));\n const removeOnDisconnect = ws.onDisconnect(() => setIsConnected(false));\n\n // Subscribe to all relevant channels\n ws.subscribeToPositions(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.positions(accountAddress, chainId),\n });\n });\n\n ws.subscribeToOpenOrders(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.openOrders(accountAddress, chainId),\n });\n });\n\n ws.subscribeToTrades(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.tradeHistory(accountAddress, chainId),\n });\n });\n\n ws.subscribeToAccountSummary(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.balances(accountAddress, chainId),\n });\n queryClient.invalidateQueries({\n queryKey: symmKeys.accountSummary(accountAddress, chainId),\n });\n });\n\n ws.subscribeToNotifications(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.notifications(accountAddress, chainId),\n });\n queryClient.invalidateQueries({\n queryKey: symmKeys.unreadCount(accountAddress, chainId),\n });\n });\n\n ws.subscribeToTpsl(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.tpslOrders(accountAddress, chainId),\n });\n });\n\n ws.subscribeToTwapOrders(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.twapOrders(accountAddress, chainId),\n });\n });\n\n ws.subscribeToExecutions(addr, chainId, () => {\n queryClient.invalidateQueries({\n queryKey: symmKeys.positions(accountAddress, chainId),\n });\n queryClient.invalidateQueries({\n queryKey: symmKeys.portfolio(accountAddress, chainId),\n });\n });\n\n cleanupRef.current = [removeOnConnect, removeOnDisconnect];\n\n return () => {\n cleanupRef.current.forEach((fn) => fn());\n ws.unsubscribeAll();\n };\n }, [symmCoreClient, accountAddress, chainId, queryClient]);\n\n return { isConnected };\n}\n","import { useMemo } from 'react';\n\nexport interface SymmChartSelectionInput {\n longSymbol: string | null;\n shortSymbol: string | null;\n longWeight?: number;\n shortWeight?: number;\n longTokens?: SymmChartTokenSelection[];\n shortTokens?: SymmChartTokenSelection[];\n}\n\nexport interface SymmChartTokenSelection {\n symbol: string;\n weight: number;\n}\n\nexport interface SymmChartSelection {\n longTokens: SymmChartTokenSelection[];\n shortTokens: SymmChartTokenSelection[];\n isSingleSided: boolean;\n activeSide: 'long' | 'short' | null;\n activeTokenSymbol?: string;\n pairLabel: string;\n selectedSymbols: string[];\n}\n\nconst STABLE_SYMBOLS = new Set(['USDC', 'USD', 'USDT', 'USDE', 'USDH', 'USDT0']);\n\n/**\n * SYMM chart selection hook. Accepts selection input as parameters\n * rather than importing app store state, keeping the SDK app-agnostic.\n */\nexport function useSymmChartSelection(input: SymmChartSelectionInput): SymmChartSelection {\n const {\n longSymbol,\n shortSymbol,\n longWeight = 100,\n shortWeight = 100,\n longTokens: explicitLongTokens,\n shortTokens: explicitShortTokens,\n } = input;\n\n return useMemo(() => {\n const longTokens: SymmChartTokenSelection[] = explicitLongTokens?.length\n ? explicitLongTokens\n : longSymbol\n ? [{ symbol: longSymbol, weight: longWeight }]\n : [];\n const shortTokens: SymmChartTokenSelection[] = explicitShortTokens?.length\n ? explicitShortTokens\n : shortSymbol\n ? [{ symbol: shortSymbol, weight: shortWeight }]\n : [];\n\n const selectedSymbols = [\n ...longTokens.map((t) => t.symbol),\n ...shortTokens.map((t) => t.symbol),\n ];\n\n const uniqueSelectedSymbols = Array.from(new Set(selectedSymbols));\n\n const longPrimarySymbol = longTokens[0]?.symbol ?? null;\n const shortPrimarySymbol = shortTokens[0]?.symbol ?? null;\n\n // Detect single-sided positions\n const longIsStable = longPrimarySymbol\n ? STABLE_SYMBOLS.has(longPrimarySymbol.toUpperCase())\n : true;\n const shortIsStable = shortPrimarySymbol\n ? STABLE_SYMBOLS.has(shortPrimarySymbol.toUpperCase())\n : true;\n\n let isSingleSided = false;\n let activeSide: 'long' | 'short' | null = null;\n let activeTokenSymbol: string | undefined;\n\n if (longTokens.length > 0 && !longIsStable && (shortTokens.length === 0 || shortIsStable)) {\n isSingleSided = true;\n activeSide = 'long';\n activeTokenSymbol = longPrimarySymbol ?? undefined;\n } else if (shortTokens.length > 0 && !shortIsStable && (longTokens.length === 0 || longIsStable)) {\n isSingleSided = true;\n activeSide = 'short';\n activeTokenSymbol = shortPrimarySymbol ?? undefined;\n }\n\n const longLabel = longTokens.map((token) => token.symbol).join('+') || 'USDC';\n const shortLabel = shortTokens.map((token) => token.symbol).join('+') || 'USDC';\n const pairLabel = `${longLabel}/${shortLabel}`;\n\n return {\n longTokens,\n shortTokens,\n isSingleSided,\n activeSide,\n activeTokenSymbol,\n pairLabel,\n selectedSymbols: uniqueSelectedSymbols,\n };\n }, [\n explicitLongTokens,\n explicitShortTokens,\n longSymbol,\n shortSymbol,\n longWeight,\n shortWeight,\n ]);\n}\n","/**\n * Maps SYMM market symbols to Binance USD-M Futures symbols.\n *\n * Most SYMM markets use the same symbol format as Binance (e.g., \"BTCUSDT\").\n * The override table handles exceptions.\n */\n\nconst SYMBOL_OVERRIDES: Record<string, string> = {\n // Add overrides here as needed for SYMM markets that don't map 1:1 to Binance\n // e.g., 'SOME_SYMM_SYMBOL': 'BINANCE_SYMBOL',\n};\n\n// Symbols known to not exist on Binance USD-M Futures\nconst UNSUPPORTED_SYMBOLS = new Set<string>([\n // Add symbols here that have no Binance equivalent\n]);\n\nexport interface BinanceSymbolResolution {\n symmSymbol: string;\n normalizedSymbol: string;\n binanceSymbol: string | null;\n supported: boolean;\n reason: 'missing_symbol' | 'unsupported_symbol' | 'invalid_symbol' | null;\n}\n\nexport function resolveBinanceSymbol(symmSymbol: string): BinanceSymbolResolution {\n if (!symmSymbol || !symmSymbol.trim()) {\n return {\n symmSymbol,\n normalizedSymbol: '',\n binanceSymbol: null,\n supported: false,\n reason: 'missing_symbol',\n };\n }\n\n const normalized = symmSymbol.toUpperCase().trim();\n\n if (!/^[A-Z0-9]+$/.test(normalized)) {\n return {\n symmSymbol,\n normalizedSymbol: normalized,\n binanceSymbol: null,\n supported: false,\n reason: 'invalid_symbol',\n };\n }\n\n if (UNSUPPORTED_SYMBOLS.has(normalized)) {\n return {\n symmSymbol,\n normalizedSymbol: normalized,\n binanceSymbol: null,\n supported: false,\n reason: 'unsupported_symbol',\n };\n }\n\n const binanceSymbol = SYMBOL_OVERRIDES[normalized]\n ?? (normalized.endsWith('USDT') ? normalized : `${normalized}USDT`);\n\n return {\n symmSymbol,\n normalizedSymbol: normalized,\n binanceSymbol,\n supported: true,\n reason: null,\n };\n}\n\nexport function getUnsupportedBinanceSymbols(symbols: string[]): string[] {\n return symbols.filter((symbol) => !resolveBinanceSymbol(symbol).supported);\n}\n\n/**\n * Maps a SYMM market symbol or asset name to its Binance USD-M Futures symbol.\n * Returns null if the symbol is not supported on Binance.\n */\nexport function toBinanceSymbol(symmSymbol: string): string | null {\n return resolveBinanceSymbol(symmSymbol).binanceSymbol;\n}\n\n/**\n * Checks if a SYMM symbol can be mapped to a Binance USD-M Futures symbol.\n */\nexport function isBinanceSupported(symmSymbol: string): boolean {\n return resolveBinanceSymbol(symmSymbol).supported;\n}\n","/**\n * Binance USD-M Futures REST API helpers for chart data.\n * Base URL: https://fapi.binance.com\n */\n\nconst BINANCE_FAPI_BASE = 'https://fapi.binance.com';\n\nexport interface BinanceKline {\n openTime: number;\n open: number;\n high: number;\n low: number;\n close: number;\n volume: number;\n closeTime: number;\n}\n\nexport interface Binance24hrTicker {\n lastPrice: number;\n prevClosePrice: number;\n priceChangePercent: number;\n}\n\nexport interface BinanceMarkPrice {\n markPrice: number;\n indexPrice: number;\n time: number;\n}\n\n/**\n * Fetch mark-price klines from Binance USD-M Futures.\n * GET /fapi/v1/markPriceKlines\n */\nexport async function fetchMarkPriceKlines(\n symbol: string,\n interval: string,\n startTime: number,\n endTime: number,\n limit = 1500,\n): Promise<BinanceKline[]> {\n const params = new URLSearchParams({\n symbol,\n interval,\n startTime: String(startTime),\n endTime: String(endTime),\n limit: String(Math.min(limit, 1500)),\n });\n\n const response = await fetch(`${BINANCE_FAPI_BASE}/fapi/v1/markPriceKlines?${params}`);\n\n if (!response.ok) {\n throw new Error(`Binance markPriceKlines failed: ${response.status}`);\n }\n\n const data: unknown[][] = await response.json();\n\n return data.map((k) => ({\n openTime: Number(k[0]),\n open: parseFloat(k[1] as string),\n high: parseFloat(k[2] as string),\n low: parseFloat(k[3] as string),\n close: parseFloat(k[4] as string),\n volume: parseFloat(k[5] as string),\n closeTime: Number(k[6]),\n }));\n}\n\n/**\n * Fetch 24hr ticker for price and change data.\n * GET /fapi/v1/ticker/24hr\n */\nexport async function fetch24hrTicker(\n symbol: string,\n): Promise<Binance24hrTicker | null> {\n const params = new URLSearchParams({ symbol });\n const response = await fetch(`${BINANCE_FAPI_BASE}/fapi/v1/ticker/24hr?${params}`);\n\n if (!response.ok) return null;\n\n const data = await response.json();\n return {\n lastPrice: parseFloat(data.lastPrice),\n prevClosePrice: parseFloat(data.prevClosePrice),\n priceChangePercent: parseFloat(data.priceChangePercent),\n };\n}\n\n/**\n * Fetch current mark price.\n * GET /fapi/v1/premiumIndex\n */\nexport async function fetchMarkPrice(\n symbol: string,\n): Promise<BinanceMarkPrice | null> {\n const params = new URLSearchParams({ symbol });\n const response = await fetch(`${BINANCE_FAPI_BASE}/fapi/v1/premiumIndex?${params}`);\n\n if (!response.ok) return null;\n\n const data = await response.json();\n return {\n markPrice: parseFloat(data.markPrice),\n indexPrice: parseFloat(data.indexPrice),\n time: Number(data.time),\n };\n}\n","export interface ChartMetricToken {\n symbol: string;\n weight: number;\n}\n\nexport interface ChartMetricTokenMetadata {\n currentPrice: number;\n prevDayPrice: number;\n netFunding?: number;\n}\n\nexport interface ChartMetricSelectionInput {\n longTokens: ChartMetricToken[];\n shortTokens: ChartMetricToken[];\n longTokensMetadata: Record<string, ChartMetricTokenMetadata | null>;\n shortTokensMetadata: Record<string, ChartMetricTokenMetadata | null>;\n}\n\nfunction getPositiveValue(\n metadata: ChartMetricTokenMetadata | null | undefined,\n field: 'currentPrice' | 'prevDayPrice',\n): number | null {\n const value = metadata?.[field];\n if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0) {\n return null;\n }\n return value;\n}\n\nfunction computeWeightedProduct(\n tokens: ChartMetricToken[],\n metadataMap: Record<string, ChartMetricTokenMetadata | null>,\n field: 'currentPrice' | 'prevDayPrice',\n invert = false,\n): number | null {\n let product = 1;\n let hasToken = false;\n\n for (const token of tokens) {\n if (!(token.weight > 0)) {\n continue;\n }\n\n const price = getPositiveValue(metadataMap[token.symbol], field);\n if (price === null) {\n return null;\n }\n\n hasToken = true;\n const exponent = invert ? -(token.weight / 100) : token.weight / 100;\n product *= Math.pow(price, exponent);\n }\n\n return hasToken ? product : 1;\n}\n\nexport function computePriceRatio({\n longTokens,\n shortTokens,\n longTokensMetadata,\n shortTokensMetadata,\n}: ChartMetricSelectionInput): number | null {\n const firstLong = longTokens[0];\n const firstShort = shortTokens[0];\n\n const longPrice = firstLong\n ? getPositiveValue(longTokensMetadata[firstLong.symbol], 'currentPrice')\n : null;\n const shortPrice = firstShort\n ? getPositiveValue(shortTokensMetadata[firstShort.symbol], 'currentPrice')\n : null;\n\n if (longPrice !== null && shortPrice !== null) {\n return longPrice / shortPrice;\n }\n if (longPrice !== null && shortTokens.length === 0) {\n return longPrice;\n }\n if (shortPrice !== null && longTokens.length === 0) {\n return shortPrice;\n }\n\n return null;\n}\n\nexport function computePriceRatio24h({\n longTokens,\n shortTokens,\n longTokensMetadata,\n shortTokensMetadata,\n}: ChartMetricSelectionInput): number | null {\n const firstLong = longTokens[0];\n const firstShort = shortTokens[0];\n\n const longPrice = firstLong\n ? getPositiveValue(longTokensMetadata[firstLong.symbol], 'prevDayPrice')\n : null;\n const shortPrice = firstShort\n ? getPositiveValue(shortTokensMetadata[firstShort.symbol], 'prevDayPrice')\n : null;\n\n if (longPrice !== null && shortPrice !== null) {\n return longPrice / shortPrice;\n }\n if (longPrice !== null && shortTokens.length === 0) {\n return longPrice;\n }\n if (shortPrice !== null && longTokens.length === 0) {\n return shortPrice;\n }\n\n return null;\n}\n\nexport function computeWeightedRatio({\n longTokens,\n shortTokens,\n longTokensMetadata,\n shortTokensMetadata,\n}: ChartMetricSelectionInput): number | null {\n const longProduct = computeWeightedProduct(\n longTokens,\n longTokensMetadata,\n 'currentPrice',\n );\n const shortProduct = computeWeightedProduct(\n shortTokens,\n shortTokensMetadata,\n 'currentPrice',\n true,\n );\n\n if (longProduct === null || shortProduct === null) {\n return null;\n }\n\n return longProduct * shortProduct;\n}\n\nexport function computeWeightedRatio24h({\n longTokens,\n shortTokens,\n longTokensMetadata,\n shortTokensMetadata,\n}: ChartMetricSelectionInput): number | null {\n const longProduct = computeWeightedProduct(\n longTokens,\n longTokensMetadata,\n 'prevDayPrice',\n );\n const shortProduct = computeWeightedProduct(\n shortTokens,\n shortTokensMetadata,\n 'prevDayPrice',\n true,\n );\n\n if (longProduct === null || shortProduct === null) {\n return null;\n }\n\n return longProduct * shortProduct;\n}\n\nexport function computeNetFundingSum({\n longTokens,\n shortTokens,\n longTokensMetadata,\n shortTokensMetadata,\n}: ChartMetricSelectionInput): number {\n let funding = 0;\n\n for (const token of longTokens) {\n const value = longTokensMetadata[token.symbol]?.netFunding;\n if (typeof value === 'number' && Number.isFinite(value)) {\n funding += value;\n }\n }\n\n for (const token of shortTokens) {\n const value = shortTokensMetadata[token.symbol]?.netFunding;\n if (typeof value === 'number' && Number.isFinite(value)) {\n funding += value;\n }\n }\n\n return funding;\n}\n","import { useMemo } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport {\n getUnsupportedBinanceSymbols,\n resolveBinanceSymbol,\n} from '../../utils/binance-symbol-map';\nimport { fetch24hrTicker, fetchMarkPrice } from '../../utils/binance-api';\nimport {\n computeNetFundingSum,\n computePriceRatio,\n computePriceRatio24h,\n computeWeightedRatio,\n computeWeightedRatio24h,\n} from '../../utils/chart-metrics';\nimport type { SymmChartSelection } from './use-symm-chart-selection';\n\nexport interface SymmTokenMetadata {\n currentPrice: number;\n prevDayPrice: number;\n priceChange24h: number;\n priceChange24hPercent: number;\n netFunding: number;\n markPrice: number;\n}\n\nexport interface UseSymmTokenSelectionMetadataReturn {\n isLoading: boolean;\n isPriceDataReady: boolean;\n isUnsupported: boolean;\n unsupportedSymbols: string[];\n unavailableReason: string | null;\n longTokensMetadata: Record<string, SymmTokenMetadata | null>;\n shortTokensMetadata: Record<string, SymmTokenMetadata | null>;\n weightedRatio: number;\n weightedRatio24h: number;\n priceRatio: number;\n priceRatio24h: number;\n sumNetFunding: number;\n}\n\nasync function fetchTokenMetadata(symbol: string): Promise<SymmTokenMetadata | null> {\n const resolution = resolveBinanceSymbol(symbol);\n if (!resolution.binanceSymbol) return null;\n\n const [ticker, markPriceData] = await Promise.all([\n fetch24hrTicker(resolution.binanceSymbol),\n fetchMarkPrice(resolution.binanceSymbol),\n ]);\n\n if (!ticker || !markPriceData) return null;\n\n const currentPrice = markPriceData.markPrice;\n const prevDayPrice = ticker.prevClosePrice;\n const priceChange24h = currentPrice - prevDayPrice;\n const priceChange24hPercent = prevDayPrice !== 0\n ? ((currentPrice - prevDayPrice) / prevDayPrice) * 100\n : 0;\n\n return {\n currentPrice,\n prevDayPrice,\n priceChange24h,\n priceChange24hPercent,\n netFunding: 0, // SYMM funding integration deferred\n markPrice: currentPrice,\n };\n}\n\n/**\n * Fetches Binance market data for selected SYMM chart tokens and derives\n * chart header metrics (price ratio, weighted ratio, etc.).\n */\nexport function useSymmTokenSelectionMetadata(\n selection: SymmChartSelection,\n): UseSymmTokenSelectionMetadataReturn {\n const { longTokens, shortTokens, selectedSymbols } = selection;\n const unsupportedSymbols = useMemo(\n () => getUnsupportedBinanceSymbols(selectedSymbols),\n [selectedSymbols],\n );\n const isUnsupported = unsupportedSymbols.length > 0;\n const unavailableReason = isUnsupported\n ? `Binance market data is unavailable for ${unsupportedSymbols.join(', ')}.`\n : null;\n\n // Stable query key from sorted symbols\n const symbolsKey = [...selectedSymbols].sort().join(',');\n\n const query = useQuery({\n queryKey: ['symm', 'chart-metadata', symbolsKey],\n queryFn: async () => {\n const allSymbols = [\n ...longTokens.map((t) => ({ symbol: t.symbol, side: 'long' as const })),\n ...shortTokens.map((t) => ({ symbol: t.symbol, side: 'short' as const })),\n ];\n\n const results = await Promise.all(\n allSymbols.map(async ({ symbol, side }) => ({\n symbol,\n side,\n metadata: await fetchTokenMetadata(symbol),\n })),\n );\n\n const longMeta: Record<string, SymmTokenMetadata | null> = {};\n const shortMeta: Record<string, SymmTokenMetadata | null> = {};\n\n for (const { symbol, side, metadata } of results) {\n if (side === 'long') longMeta[symbol] = metadata;\n else shortMeta[symbol] = metadata;\n }\n\n return { longMeta, shortMeta };\n },\n enabled: selectedSymbols.length > 0 && !isUnsupported,\n staleTime: 10_000, // Refresh every 10 seconds\n refetchInterval: 10_000,\n });\n\n return useMemo(() => {\n const longMeta = query.data?.longMeta ?? {};\n const shortMeta = query.data?.shortMeta ?? {};\n const isLoading = query.isLoading;\n\n // Check if we have price data for all selected symbols\n const allLongReady = longTokens.every((t) => longMeta[t.symbol]?.currentPrice != null);\n const allShortReady = shortTokens.every((t) => shortMeta[t.symbol]?.currentPrice != null);\n const isPriceDataReady = !isLoading\n && !isUnsupported\n && (selectedSymbols.length === 0 || (allLongReady && allShortReady));\n\n const metricInput = {\n longTokens,\n shortTokens,\n longTokensMetadata: longMeta,\n shortTokensMetadata: shortMeta,\n };\n\n const priceRatio = computePriceRatio(metricInput) ?? 0;\n const priceRatio24h = computePriceRatio24h(metricInput) ?? 0;\n const weightedRatio = computeWeightedRatio(metricInput) ?? 0;\n const weightedRatio24h = computeWeightedRatio24h(metricInput) ?? 0;\n const sumNetFunding = computeNetFundingSum(metricInput);\n\n return {\n isLoading,\n isPriceDataReady,\n isUnsupported,\n unsupportedSymbols,\n unavailableReason,\n longTokensMetadata: longMeta,\n shortTokensMetadata: shortMeta,\n weightedRatio,\n weightedRatio24h,\n priceRatio,\n priceRatio24h,\n sumNetFunding,\n };\n }, [\n isUnsupported,\n longTokens,\n query.data,\n query.isLoading,\n shortTokens,\n unavailableReason,\n unsupportedSymbols,\n selectedSymbols.length,\n ]);\n}\n","/**\n * Candle interval type matching the chart system.\n * Binance USD-M Futures uses the same string format.\n */\nexport type CandleInterval =\n | '1m' | '3m' | '5m' | '15m' | '30m'\n | '1h' | '2h' | '4h' | '8h' | '12h'\n | '1d' | '3d' | '1w' | '1M';\n\n// All valid Binance intervals — used for validation\nconst VALID_INTERVALS = new Set<string>([\n '1m', '3m', '5m', '15m', '30m',\n '1h', '2h', '4h', '6h', '8h', '12h',\n '1d', '3d', '1w', '1M',\n]);\n\n/**\n * Converts a CandleInterval to a Binance-compatible interval string.\n * Both systems use the same format, so this is mostly validation.\n */\nexport function toBinanceInterval(interval: CandleInterval): string {\n if (VALID_INTERVALS.has(interval)) {\n return interval;\n }\n return '1h'; // fallback\n}\n\n/**\n * Maps TradingView ResolutionString to CandleInterval.\n */\nexport function mapResolutionToInterval(resolution: string): CandleInterval {\n switch (resolution) {\n case '1': return '1m';\n case '3': return '3m';\n case '5': return '5m';\n case '15': return '15m';\n case '30': return '30m';\n case '60': return '1h';\n case '120': return '2h';\n case '240': return '4h';\n case '480': return '8h';\n case '720': return '12h';\n case '1D': return '1d';\n case '3D': return '3d';\n case '1W': return '1w';\n case '1M': return '1M';\n default: return '1h';\n }\n}\n","/**\n * Binance USD-M Futures WebSocket manager.\n *\n * Manages a single connection to wss://fstream.binance.com/ws and uses\n * Binance's dynamic subscribe/unsubscribe protocol to add or remove streams\n * without reconnecting.\n *\n * Supports:\n * - Kline (candlestick) streams: <symbol>@kline_<interval>\n * - Mark price streams: <symbol>@markPrice@1s\n *\n * Usage is through a module-level singleton (no auth required for public streams).\n */\n\nconst BINANCE_WS_URL = 'wss://fstream.binance.com/ws';\nconst RECONNECT_DELAYS = [1000, 2000, 4000, 8000, 16000, 30000];\n\nexport interface BinanceWsKline {\n symbol: string;\n interval: string;\n openTime: number;\n closeTime: number;\n open: number;\n high: number;\n low: number;\n close: number;\n volume: number;\n isFinal: boolean;\n}\n\nexport type BinanceWsKlineCallback = (kline: BinanceWsKline) => void;\n\nexport interface BinanceWsMarkPrice {\n symbol: string;\n markPrice: number;\n indexPrice: number;\n time: number;\n}\n\nexport type BinanceWsMarkPriceCallback = (data: BinanceWsMarkPrice) => void;\n\ntype StreamCallback = (data: any) => void;\n\ninterface StreamSubscription {\n callbacks: Map<string, StreamCallback>;\n}\n\nexport class BinanceWsManager {\n private ws: WebSocket | null = null;\n private streams: Map<string, StreamSubscription> = new Map();\n private reconnectAttempt = 0;\n private reconnectTimer: ReturnType<typeof setTimeout> | null = null;\n private intentionalClose = false;\n private pendingSubscribes: string[] = [];\n private idCounter = 0;\n\n /**\n * Subscribe to a kline stream. Returns an unsubscribe function.\n */\n subscribeKline(\n symbol: string,\n interval: string,\n cb: BinanceWsKlineCallback,\n ): () => void {\n const streamName = `${symbol.toLowerCase()}@kline_${interval}`;\n const id = this.generateId();\n\n const wrappedCb: StreamCallback = (raw: any) => {\n const k = raw.k;\n if (!k) return;\n cb({\n symbol: raw.s,\n interval: k.i,\n openTime: k.t,\n closeTime: k.T,\n open: parseFloat(k.o),\n high: parseFloat(k.h),\n low: parseFloat(k.l),\n close: parseFloat(k.c),\n volume: parseFloat(k.v),\n isFinal: k.x,\n });\n };\n\n this.addStreamCallback(streamName, id, wrappedCb);\n return () => this.removeStreamCallback(streamName, id);\n }\n\n /**\n * Subscribe to a mark price stream (1s updates). Returns an unsubscribe function.\n */\n subscribeMarkPrice(\n symbol: string,\n cb: BinanceWsMarkPriceCallback,\n ): () => void {\n const streamName = `${symbol.toLowerCase()}@markPrice@1s`;\n const id = this.generateId();\n\n const wrappedCb: StreamCallback = (raw: any) => {\n cb({\n symbol: raw.s,\n markPrice: parseFloat(raw.p),\n indexPrice: parseFloat(raw.i),\n time: raw.E,\n });\n };\n\n this.addStreamCallback(streamName, id, wrappedCb);\n return () => this.removeStreamCallback(streamName, id);\n }\n\n /**\n * Destroy the manager and close the connection.\n */\n destroy(): void {\n this.intentionalClose = true;\n if (this.reconnectTimer) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n if (this.ws) {\n this.ws.close();\n this.ws = null;\n }\n this.streams.clear();\n }\n\n // --- Private ---\n\n private generateId(): string {\n return `sub_${++this.idCounter}_${Date.now()}`;\n }\n\n private addStreamCallback(\n streamName: string,\n id: string,\n cb: StreamCallback,\n ): void {\n let sub = this.streams.get(streamName);\n const isNew = !sub;\n\n if (!sub) {\n sub = { callbacks: new Map() };\n this.streams.set(streamName, sub);\n }\n sub.callbacks.set(id, cb);\n\n if (isNew) {\n this.ensureConnected();\n this.sendSubscribe([streamName]);\n }\n }\n\n private removeStreamCallback(streamName: string, id: string): void {\n const sub = this.streams.get(streamName);\n if (!sub) return;\n\n sub.callbacks.delete(id);\n\n if (sub.callbacks.size === 0) {\n this.streams.delete(streamName);\n this.sendUnsubscribe([streamName]);\n\n // Close connection if no subscriptions left\n if (this.streams.size === 0 && this.ws) {\n this.intentionalClose = true;\n this.ws.close();\n this.ws = null;\n this.intentionalClose = false;\n }\n }\n }\n\n private ensureConnected(): void {\n if (this.ws && (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING)) {\n return;\n }\n this.connect();\n }\n\n private connect(): void {\n if (typeof WebSocket === 'undefined') return;\n\n this.intentionalClose = false;\n this.ws = new WebSocket(BINANCE_WS_URL);\n\n this.ws.onopen = () => {\n this.reconnectAttempt = 0;\n\n // Subscribe to all active streams on (re)connect\n const activeStreams = Array.from(this.streams.keys());\n if (activeStreams.length > 0) {\n this.sendSubscribe(activeStreams);\n }\n\n // Process any pending subscribes\n if (this.pendingSubscribes.length > 0) {\n this.sendSubscribe(this.pendingSubscribes);\n this.pendingSubscribes = [];\n }\n };\n\n this.ws.onmessage = (event: MessageEvent) => {\n try {\n const data = JSON.parse(event.data as string);\n this.handleMessage(data);\n } catch {\n // Ignore parse errors\n }\n };\n\n this.ws.onclose = () => {\n if (this.intentionalClose) return;\n this.scheduleReconnect();\n };\n\n this.ws.onerror = () => {\n // onclose will fire after onerror, reconnect handled there\n };\n }\n\n private handleMessage(data: any): void {\n // Binance sends kline events with { e: 'kline', s: 'BTCUSDT', k: {...} }\n // and mark price events with { e: 'markPriceUpdate', s: 'BTCUSDT', p: '...', ... }\n // Determine the stream name from the event type\n\n if (data.e === 'kline') {\n const k = data.k;\n const streamName = `${data.s.toLowerCase()}@kline_${k.i}`;\n this.dispatchToStream(streamName, data);\n } else if (data.e === 'markPriceUpdate') {\n const streamName = `${data.s.toLowerCase()}@markPrice@1s`;\n this.dispatchToStream(streamName, data);\n }\n // Ignore subscription confirmations and other system messages\n }\n\n private dispatchToStream(streamName: string, data: any): void {\n const sub = this.streams.get(streamName);\n if (!sub) return;\n\n sub.callbacks.forEach((cb) => {\n try {\n cb(data);\n } catch {\n // Ignore callback errors\n }\n });\n }\n\n private sendSubscribe(streams: string[]): void {\n if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {\n this.pendingSubscribes.push(...streams);\n return;\n }\n\n this.ws.send(JSON.stringify({\n method: 'SUBSCRIBE',\n params: streams,\n id: Date.now(),\n }));\n }\n\n private sendUnsubscribe(streams: string[]): void {\n if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {\n // Remove from pending if not yet sent\n this.pendingSubscribes = this.pendingSubscribes.filter(\n (s) => !streams.includes(s),\n );\n return;\n }\n\n this.ws.send(JSON.stringify({\n method: 'UNSUBSCRIBE',\n params: streams,\n id: Date.now(),\n }));\n }\n\n private scheduleReconnect(): void {\n if (this.reconnectTimer) return;\n if (this.streams.size === 0) return; // No need to reconnect if no subscriptions\n\n const delay = RECONNECT_DELAYS[\n Math.min(this.reconnectAttempt, RECONNECT_DELAYS.length - 1)\n ];\n this.reconnectAttempt++;\n\n this.reconnectTimer = setTimeout(() => {\n this.reconnectTimer = null;\n this.connect();\n }, delay);\n }\n}\n\n// Module-level singleton — Binance public WS requires no authentication\nlet _instance: BinanceWsManager | null = null;\n\nexport function getBinanceWsManager(): BinanceWsManager {\n if (!_instance) {\n _instance = new BinanceWsManager();\n }\n return _instance;\n}\n","import { useCallback, useEffect, useRef } from 'react';\nimport {\n getUnsupportedBinanceSymbols,\n resolveBinanceSymbol,\n toBinanceSymbol,\n} from '../../utils/binance-symbol-map';\nimport { fetchMarkPriceKlines } from '../../utils/binance-api';\nimport { toBinanceInterval, type CandleInterval } from '../../utils/binance-intervals';\nimport { getBinanceWsManager, type BinanceWsKline } from '../../utils/binance-ws';\nimport type { SymmChartSelection } from './use-symm-chart-selection';\nimport type { SymmChartTokenSelection } from './use-symm-chart-selection';\n\nexport interface ChartCandleData {\n s?: string;\n t: number; // open time (ms)\n T: number; // close time (ms)\n o: number; // open\n c: number; // close\n h: number; // high\n l: number; // low\n}\n\nexport type RealtimeBar = {\n time: number;\n open: number;\n high: number;\n low: number;\n close: number;\n volume?: number;\n};\n\nexport type RealtimeBarsCallback = (bar: RealtimeBar) => void;\n\nexport interface UseSymmChartCandlesReturn {\n fetchBasketCandles: (start: number, end: number, interval: CandleInterval) => Promise<ChartCandleData[]>;\n fetchPerformanceCandles: (start: number, end: number, interval: CandleInterval, symbol: string) => Promise<ChartCandleData[]>;\n fetchOverallPerformanceCandles: (start: number, end: number, interval: CandleInterval) => Promise<ChartCandleData[]>;\n addRealtimeListener: (cb: RealtimeBarsCallback) => string;\n removeRealtimeListener: (id: string) => void;\n getEffectiveDataBoundary: (interval: CandleInterval) => number | null;\n isLoading: boolean;\n isUnsupported: boolean;\n unsupportedSymbols: string[];\n unavailableReason: string | null;\n}\n\n/**\n * Fetches Binance mark-price klines for a symbol and converts to ChartCandleData.\n */\nasync function fetchSymbolKlines(\n symbol: string,\n interval: CandleInterval,\n start: number,\n end: number,\n): Promise<ChartCandleData[]> {\n const binanceSymbol = toBinanceSymbol(symbol);\n if (!binanceSymbol) return [];\n\n const klines = await fetchMarkPriceKlines(\n binanceSymbol,\n toBinanceInterval(interval),\n start,\n end,\n );\n\n return klines.map((k) => ({\n t: k.openTime,\n T: k.closeTime,\n o: k.open,\n h: k.high,\n l: k.low,\n c: k.close,\n }));\n}\n\nfunction computeWeightedValues(\n tokens: SymmChartTokenSelection[],\n candlesBySymbol: Map<string, ChartCandleData>,\n invert = false,\n): { o: number; h: number; l: number; c: number } | null {\n let o = 1;\n let h = 1;\n let l = 1;\n let c = 1;\n\n for (const token of tokens) {\n if (!(token.weight > 0)) {\n continue;\n }\n\n const candle = candlesBySymbol.get(token.symbol);\n if (!candle) {\n return null;\n }\n if (!(candle.o > 0 && candle.h > 0 && candle.l > 0 && candle.c > 0)) {\n return null;\n }\n\n const exponent = invert ? -(token.weight / 100) : token.weight / 100;\n o *= Math.pow(candle.o, exponent);\n h *= Math.pow(candle.h, exponent);\n l *= Math.pow(candle.l, exponent);\n c *= Math.pow(candle.c, exponent);\n }\n\n return { o, h, l, c };\n}\n\nfunction computeWeightedBasketCandles(\n longTokens: SymmChartTokenSelection[],\n shortTokens: SymmChartTokenSelection[],\n candlesBySymbol: Record<string, ChartCandleData[]>,\n): ChartCandleData[] {\n const allSymbols = [...longTokens, ...shortTokens].map((token) => token.symbol);\n if (allSymbols.length === 0) {\n return [];\n }\n\n const symbolLookups = new Map<string, Map<number, ChartCandleData>>();\n const timestampCounts = new Map<number, number>();\n\n for (const symbol of allSymbols) {\n const candles = candlesBySymbol[symbol] ?? [];\n const candleMap = new Map<number, ChartCandleData>();\n\n for (const candle of candles) {\n candleMap.set(candle.t, candle);\n timestampCounts.set(candle.t, (timestampCounts.get(candle.t) ?? 0) + 1);\n }\n\n symbolLookups.set(symbol, candleMap);\n }\n\n const completeTimestamps = Array.from(timestampCounts.entries())\n .filter(([, count]) => count === allSymbols.length)\n .map(([timestamp]) => timestamp)\n .sort((a, b) => a - b);\n\n const result: ChartCandleData[] = [];\n\n for (const timestamp of completeTimestamps) {\n const alignedCandles = new Map<string, ChartCandleData>();\n let candleDuration = 0;\n let missing = false;\n\n for (const symbol of allSymbols) {\n const candle = symbolLookups.get(symbol)?.get(timestamp);\n if (!candle) {\n missing = true;\n break;\n }\n alignedCandles.set(symbol, candle);\n if (candleDuration === 0) {\n candleDuration = candle.T - candle.t;\n }\n }\n\n if (missing) {\n continue;\n }\n\n const longValues = computeWeightedValues(longTokens, alignedCandles);\n const shortValues = computeWeightedValues(shortTokens, alignedCandles, true);\n\n if (!longValues || !shortValues) {\n continue;\n }\n\n result.push({\n t: timestamp,\n T: timestamp + candleDuration,\n o: longValues.o * shortValues.o,\n h: longValues.h * shortValues.h,\n l: longValues.l * shortValues.l,\n c: longValues.c * shortValues.c,\n });\n }\n\n return result;\n}\n\n/**\n * SYMM chart candles hook backed by Binance mark-price klines.\n * Returns the same interface as the Hyperliquid useBasketCandles hook.\n *\n * Realtime updates are provided via Binance kline WebSocket streams.\n * When listeners are registered, the hook subscribes to kline streams\n * for all selected symbols and emits computed basket bars.\n */\nexport function useSymmChartCandles(\n selection: SymmChartSelection,\n): UseSymmChartCandlesReturn {\n const { longTokens, shortTokens, selectedSymbols } = selection;\n const unsupportedSymbols = getUnsupportedBinanceSymbols(selectedSymbols);\n const isUnsupported = unsupportedSymbols.length > 0;\n const unavailableReason = isUnsupported\n ? `Binance market data is unavailable for ${unsupportedSymbols.join(', ')}.`\n : null;\n const listenersRef = useRef<Map<string, RealtimeBarsCallback>>(new Map());\n const wsUnsubsRef = useRef<Array<() => void>>([]);\n const latestKlinesRef = useRef<Map<string, BinanceWsKline>>(new Map());\n // Track the current kline interval for WS subscriptions (default 1m for realtime)\n const activeIntervalRef = useRef<string>('1m');\n\n // Compute and emit a realtime bar from the latest kline data\n const emitRealtimeBar = useCallback(() => {\n if (listenersRef.current.size === 0) return;\n if (isUnsupported || selectedSymbols.length === 0) return;\n\n const symbolKlines = new Map<string, ChartCandleData>();\n let openTime: number | null = null;\n let closeTime: number | null = null;\n\n for (const symbol of selectedSymbols) {\n const binanceSymbol = toBinanceSymbol(symbol);\n if (!binanceSymbol) return;\n const latest = latestKlinesRef.current.get(binanceSymbol);\n if (!latest) return;\n\n if (openTime === null) {\n openTime = latest.openTime;\n closeTime = latest.closeTime;\n } else if (latest.openTime !== openTime || latest.closeTime !== closeTime) {\n return;\n }\n\n symbolKlines.set(symbol, {\n t: latest.openTime,\n T: latest.closeTime,\n o: latest.open,\n h: latest.high,\n l: latest.low,\n c: latest.close,\n });\n }\n\n const longValues = computeWeightedValues(longTokens, symbolKlines);\n const shortValues = computeWeightedValues(shortTokens, symbolKlines, true);\n if (!longValues || !shortValues || openTime === null) {\n return;\n }\n\n const bar: RealtimeBar = {\n time: openTime,\n open: longValues.o * shortValues.o,\n high: longValues.h * shortValues.h,\n low: longValues.l * shortValues.l,\n close: longValues.c * shortValues.c,\n };\n\n if (!bar) return;\n\n listenersRef.current.forEach((cb) => {\n try { cb(bar!); } catch { /* ignore */ }\n });\n }, [isUnsupported, longTokens, selectedSymbols, shortTokens]);\n\n // Manage WS subscriptions based on active listeners and selected symbols\n const setupWsSubscriptions = useCallback(() => {\n // Clean up existing subscriptions\n wsUnsubsRef.current.forEach((unsub) => unsub());\n wsUnsubsRef.current = [];\n latestKlinesRef.current.clear();\n\n if (listenersRef.current.size === 0 || isUnsupported) return;\n\n const wsManager = getBinanceWsManager();\n const interval = activeIntervalRef.current;\n const symbols = selectedSymbols\n .map((symbol) => resolveBinanceSymbol(symbol).binanceSymbol)\n .filter((symbol): symbol is string => !!symbol);\n\n for (const binanceSymbol of symbols) {\n const unsub = wsManager.subscribeKline(binanceSymbol, interval, (kline) => {\n latestKlinesRef.current.set(binanceSymbol, kline);\n emitRealtimeBar();\n });\n wsUnsubsRef.current.push(unsub);\n }\n }, [emitRealtimeBar, isUnsupported, selectedSymbols]);\n\n // Cleanup WS subscriptions on unmount or selection change\n useEffect(() => {\n return () => {\n wsUnsubsRef.current.forEach((unsub) => unsub());\n wsUnsubsRef.current = [];\n };\n }, [longTokens, shortTokens]);\n\n const fetchBasketCandles = useCallback(\n async (start: number, end: number, interval: CandleInterval): Promise<ChartCandleData[]> => {\n const longSymbol = longTokens[0]?.symbol;\n const shortSymbol = shortTokens[0]?.symbol;\n\n if (isUnsupported) {\n return [];\n }\n\n // Single-sided: return raw klines\n if ((longTokens.length === 1 && shortTokens.length === 0) || (shortTokens.length === 1 && longTokens.length === 0)) {\n const activeSymbol = longSymbol ?? shortSymbol;\n return activeSymbol ? fetchSymbolKlines(activeSymbol, interval, start, end) : [];\n }\n\n const allSymbols = Array.from(new Set([\n ...longTokens.map((token) => token.symbol),\n ...shortTokens.map((token) => token.symbol),\n ]));\n\n const entries = await Promise.all(\n allSymbols.map(async (symbol) => [\n symbol,\n await fetchSymbolKlines(symbol, interval, start, end),\n ] as const),\n );\n\n return computeWeightedBasketCandles(\n longTokens,\n shortTokens,\n Object.fromEntries(entries),\n );\n },\n [isUnsupported, longTokens, shortTokens],\n );\n\n const fetchPerformanceCandles = useCallback(\n async (start: number, end: number, interval: CandleInterval, symbol: string): Promise<ChartCandleData[]> => {\n // Parse \"LONG BTC\" or \"SHORT ETH\" format\n const parts = symbol.split(' ');\n const assetSymbol = parts.length >= 2 ? parts.slice(1).join(' ') : symbol;\n return fetchSymbolKlines(assetSymbol, interval, start, end);\n },\n [],\n );\n\n const fetchOverallPerformanceCandles = useCallback(\n async (start: number, end: number, interval: CandleInterval): Promise<ChartCandleData[]> => {\n const longSymbol = longTokens[0]?.symbol;\n const shortSymbol = shortTokens[0]?.symbol;\n\n if (isUnsupported) return [];\n if (!longSymbol && !shortSymbol) return [];\n\n // For SYMM 1v1 pair, overall performance is the basket ratio normalized from baseline\n const symbols = [longSymbol, shortSymbol].filter(Boolean) as string[];\n const allKlines = await Promise.all(\n symbols.map((s) => fetchSymbolKlines(s, interval, start, end)),\n );\n\n if (allKlines.length === 0 || allKlines[0].length === 0) return [];\n\n // If single-sided, normalize to baseline = 1000\n if (allKlines.length === 1) {\n const klines = allKlines[0];\n const baseline = klines[0].o;\n if (baseline === 0) return klines;\n\n return klines.map((k) => ({\n t: k.t,\n T: k.T,\n o: (k.o / baseline) * 1000,\n h: (k.h / baseline) * 1000,\n l: (k.l / baseline) * 1000,\n c: (k.c / baseline) * 1000,\n }));\n }\n\n // For pair: compute portfolio value series\n const longKlines = allKlines[0];\n const shortKlines = allKlines[1];\n const shortMap = new Map<number, ChartCandleData>();\n for (const k of shortKlines) {\n shortMap.set(k.t, k);\n }\n\n const longBaseline = longKlines[0]?.o;\n const shortBaseline = shortKlines[0]?.o;\n if (!longBaseline || !shortBaseline) return [];\n\n const longWeight = longTokens[0]?.weight ?? 100;\n const shortWeight = shortTokens[0]?.weight ?? 100;\n const totalWeight = longWeight + shortWeight;\n const longAlloc = (longWeight / totalWeight) * 1000;\n const shortAlloc = (shortWeight / totalWeight) * 1000;\n\n const result: ChartCandleData[] = [];\n for (const lk of longKlines) {\n const sk = shortMap.get(lk.t);\n if (!sk) continue;\n\n const computeValue = (longP: number, shortP: number) => {\n const longPart = longAlloc * (longP / longBaseline);\n const shortPart = shortAlloc * (shortBaseline / shortP);\n return longPart + shortPart;\n };\n\n result.push({\n t: lk.t,\n T: lk.T,\n o: computeValue(lk.o, sk.o),\n h: computeValue(lk.h, sk.l),\n l: computeValue(lk.l, sk.h),\n c: computeValue(lk.c, sk.c),\n });\n }\n\n return result;\n },\n [isUnsupported, longTokens, shortTokens],\n );\n\n const addRealtimeListener = useCallback((cb: RealtimeBarsCallback): string => {\n const id = Math.random().toString(36).slice(2);\n listenersRef.current.set(id, cb);\n\n // Start WS subscriptions when the first listener is added\n if (listenersRef.current.size === 1) {\n setupWsSubscriptions();\n }\n\n return id;\n }, [setupWsSubscriptions]);\n\n const removeRealtimeListener = useCallback((id: string) => {\n listenersRef.current.delete(id);\n\n // Tear down WS subscriptions when the last listener is removed\n if (listenersRef.current.size === 0) {\n wsUnsubsRef.current.forEach((unsub) => unsub());\n wsUnsubsRef.current = [];\n latestKlinesRef.current.clear();\n }\n }, []);\n\n const getEffectiveDataBoundary = useCallback((_interval: CandleInterval): number | null => {\n // Binance has deep history, no practical boundary\n return null;\n }, []);\n\n return {\n fetchBasketCandles,\n fetchPerformanceCandles,\n fetchOverallPerformanceCandles,\n addRealtimeListener,\n removeRealtimeListener,\n getEffectiveDataBoundary,\n isLoading: false,\n isUnsupported,\n unsupportedSymbols,\n unavailableReason,\n };\n}\n","import { useCallback, useMemo } from 'react';\nimport type { SymmChartSelection } from './use-symm-chart-selection';\n\nexport interface SymmPerformanceOverlay {\n id: string;\n symbol: string;\n label: string;\n color: string;\n enabled: boolean;\n type: 'asset' | 'portfolio';\n weight?: number;\n}\n\nconst LONG_COLORS = [\n '#22C55E', '#16A34A', '#15803D', '#166534', '#14532D',\n];\n\nconst SHORT_COLORS = [\n '#EF4444', '#DC2626', '#B91C1C', '#991B1B', '#7F1D1D',\n];\n\n/**\n * SYMM performance overlay hook. Generates overlay definitions\n * for each selected SYMM leg, matching the Hyperliquid overlay contract.\n */\nexport function useSymmPerformanceOverlays(\n selection: SymmChartSelection,\n): { overlays: SymmPerformanceOverlay[]; generateOverlaySymbols: () => string[] } {\n const { longTokens, shortTokens } = selection;\n\n const overlays: SymmPerformanceOverlay[] = useMemo(() => [\n ...longTokens.map((token, index) => ({\n id: `perf_long_${token.symbol}`,\n symbol: `LONG ${token.symbol}`,\n label: `${token.symbol} (${token.weight}%)`,\n color: LONG_COLORS[index % LONG_COLORS.length],\n enabled: true,\n type: 'asset' as const,\n weight: token.weight,\n })),\n ...shortTokens.map((token, index) => ({\n id: `perf_short_${token.symbol}`,\n symbol: `SHORT ${token.symbol}`,\n label: `${token.symbol} (-${token.weight}%)`,\n color: SHORT_COLORS[index % SHORT_COLORS.length],\n enabled: true,\n type: 'asset' as const,\n weight: -token.weight,\n })),\n ], [longTokens, shortTokens]);\n\n const generateOverlaySymbols = useCallback((): string[] => {\n return overlays.map((o) => o.symbol);\n }, [overlays]);\n\n return { overlays, generateOverlaySymbols };\n}\n","import {\n isAuthExpiredError,\n isNetworkError,\n isInsufficientMarginError,\n isRateLimitedError,\n isTimeoutError,\n} from '@pear-protocol/symm-core';\nimport { SymmioSDKError } from '../utils/validation';\n\nexport function getSymmErrorMessage(error: unknown): string {\n if (error instanceof SymmioSDKError) return error.message;\n if (isAuthExpiredError(error)) return 'Session expired. Please sign in again.';\n if (isNetworkError(error)) return 'Network error. Please try again.';\n if (isInsufficientMarginError(error))\n return 'Insufficient margin for this operation.';\n if (isRateLimitedError(error)) return 'Too many requests. Please wait a moment.';\n if (isTimeoutError(error)) return 'Request timed out. Please try again.';\n if (error instanceof Error) return error.message;\n return 'An unexpected error occurred.';\n}\n"]}