{"version":3,"file":"index.mjs","sources":["../src/events/toastMessages.ts","../src/common/OrderKind.ts","../src/common/chains.ts","../src/themeUtils.ts","../src/fetchDomain.ts"],"sourcesContent":["import { UiOrderType } from './type';\n\nexport enum ToastMessageType {\n    SWAP_ETH_FLOW_SENT_TX = 'SWAP_ETH_FLOW_SENT_TX',\n    ORDER_CREATED = 'ORDER_CREATED',\n    SWAP_SIGNING_ERROR = 'SWAP_SIGNING_ERROR',\n    ORDER_FULFILLED = 'ORDER_FULFILLED',\n    ORDER_CANCELLED = 'ORDER_CANCELLED',\n    ORDER_EXPIRED = 'ORDER_EXPIRED',\n    ORDER_PRESIGNED = 'ORDER_PRESIGNED',\n    ONCHAIN_TRANSACTION_MINED = 'ONCHAIN_TRANSACTION_MINED',\n    ONCHAIN_TRANSACTION_FAILED = 'ONCHAIN_TRANSACTION_FAILED',\n}\n\nexport interface ToastMessagePayloads {\n    [ToastMessageType.SWAP_ETH_FLOW_SENT_TX]: {\n        tx: string;\n    };\n\n    [ToastMessageType.ORDER_CREATED]: {\n        orderUid: string;\n        orderType: UiOrderType;\n        orderCreationHash?: string;\n    };\n\n    [ToastMessageType.SWAP_SIGNING_ERROR]: {\n        type: 'REJECTED' | 'ERROR_SIGNING';\n        errorCode?: number;\n        message: string;\n    };\n\n    [ToastMessageType.ORDER_FULFILLED]: {\n        orderUid: string;\n        orderType: UiOrderType;\n    };\n\n    [ToastMessageType.ORDER_CANCELLED]: {\n        orderUid: string;\n        orderType: UiOrderType;\n    };\n\n    [ToastMessageType.ORDER_EXPIRED]: {\n        orderUid: string;\n        orderType: UiOrderType;\n    };\n\n    [ToastMessageType.ORDER_PRESIGNED]: {\n        orderUid: string;\n        orderType: UiOrderType;\n    };\n\n    [ToastMessageType.ONCHAIN_TRANSACTION_MINED]: {\n        transactionHash: string;\n    };\n\n    [ToastMessageType.ONCHAIN_TRANSACTION_FAILED]: {\n        transactionHash: string;\n    };\n}\n\nexport interface BaseToastMessagePayload<T extends ToastMessageType> {\n    /**\n     * The type of the toast message\n     */\n    messageType: T;\n\n    /**\n     * Plain text message to be displayed.\n     */\n    message: string;\n\n    /**\n     * Additional data to be used to create your own message.\n     */\n    data: ToastMessagePayloads[T];\n}\n\n/**\n * The payload of the `onToastMessage` event.\n *\n * The type is:\n *\n * export type OnToastMessagePayload =\n *     | BaseToastMessagePayload<ToastMessageType.SWAP_ETH_FLOW_SENT_TX>\n *     | BaseToastMessagePayload<ToastMessageType.SWAP_ORDER_CANCELLED>\n *     ... all other toast message types\n *\n * But is defined automatically using some TypeScript magic. To see how we got here, check:\n */\nexport type OnToastMessagePayload = {\n    [K in keyof typeof ToastMessageType]: BaseToastMessagePayload<typeof ToastMessageType[K]>;\n}[keyof typeof ToastMessageType];\n","/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\n\n/**\n * Is this order a buy or sell?\n */\nexport enum OrderKind {\n    BUY = 'buy',\n    SELL = 'sell',\n}\n","/**\n * Supported chains and their `chainId` for the SDK.\n * @enum\n */\nexport enum SupportedChainId {\n    MAINNET = 1,\n    GNOSIS_CHAIN = 100,\n    ARBITRUM_ONE = 42161,\n    SEPOLIA = 11155111,\n}\n","import { OkxSwapTheme, OkxSwapWidgetPalette } from './types';\n\nexport function isOkxSwapWidgetPalette(\n    palette: OkxSwapTheme | OkxSwapWidgetPalette | undefined,\n): palette is OkxSwapWidgetPalette {\n    return Boolean(palette && typeof palette === 'object');\n}\n","const domains = [\n  'https://web3.okx.com',\n  'https://web3.okx.ac',\n];\n\nconst abortSignalTimeout = (ms: number): AbortSignal => {\n  const ctrl = new AbortController();\n  setTimeout(() => ctrl.abort(), ms);\n  return ctrl.signal;\n};\n\nconst checkDomain = (domain: string, timeout = 5000): Promise<void | string> => {\n  if (!domain) {\n    return Promise.resolve();\n  }\n  return fetch(domain, { signal: abortSignalTimeout(timeout) })\n    .then(response => {\n      if (response.ok) {\n        return domain;\n      } else {\n        const nextDomain = domains[domains.indexOf(domain) + 1];\n        return checkDomain(nextDomain, timeout);\n      }\n    })\n    .catch(() => {\n      const nextDomain = domains[domains.indexOf(domain) + 1];\n      return checkDomain(nextDomain, timeout);\n    });\n};\n\n// Start checking domains\nexport function fetchDomain(): Promise<void | string> {\n  return checkDomain(domains[0]);\n}"],"names":["ToastMessageType","OrderKind","SupportedChainId","isOkxSwapWidgetPalette","palette","domains","abortSignalTimeout","ms","ctrl","checkDomain","domain","timeout","response","nextDomain","fetchDomain"],"mappings":";AAEY,IAAAA,sBAAAA,OACRA,EAAA,wBAAwB,yBACxBA,EAAA,gBAAgB,iBAChBA,EAAA,qBAAqB,sBACrBA,EAAA,kBAAkB,mBAClBA,EAAA,kBAAkB,mBAClBA,EAAA,gBAAgB,iBAChBA,EAAA,kBAAkB,mBAClBA,EAAA,4BAA4B,6BAC5BA,EAAA,6BAA6B,8BATrBA,IAAAA,KAAA,CAAA,CAAA,GCKAC,sBAAAA,OACRA,EAAA,MAAM,OACNA,EAAA,OAAO,QAFCA,IAAAA,KAAA,CAAA,CAAA,GCHAC,sBAAAA,OACRA,EAAAA,EAAA,UAAU,CAAV,IAAA,WACAA,EAAAA,EAAA,eAAe,GAAf,IAAA,gBACAA,EAAAA,EAAA,eAAe,KAAf,IAAA,gBACAA,EAAAA,EAAA,UAAU,QAAV,IAAA,WAJQA,IAAAA,KAAA,CAAA,CAAA;ACFL,SAASC,EACZC,GAC+B;AAC/B,SAAO,GAAQA,KAAW,OAAOA,KAAY;AACjD;ACNA,MAAMC,IAAU;AAAA,EACd;AAAA,EACA;AACF,GAEMC,IAAqB,CAACC,MAA4B;AAChD,QAAAC,IAAO,IAAI;AACjB,oBAAW,MAAMA,EAAK,MAAM,GAAGD,CAAE,GAC1BC,EAAK;AACd,GAEMC,IAAc,CAACC,GAAgBC,IAAU,QACxCD,IAGE,MAAMA,GAAQ,EAAE,QAAQJ,EAAmBK,CAAO,GAAG,EACzD,KAAK,CAAYC,MAAA;AAChB,MAAIA,EAAS;AACJ,WAAAF;AACF;AACL,UAAMG,IAAaR,EAAQA,EAAQ,QAAQK,CAAM,IAAI,CAAC;AAC/C,WAAAD,EAAYI,GAAYF,CAAO;AAAA,EACxC;AAAA,CACD,EACA,MAAM,MAAM;AACX,QAAME,IAAaR,EAAQA,EAAQ,QAAQK,CAAM,IAAI,CAAC;AAC/C,SAAAD,EAAYI,GAAYF,CAAO;AAAA,CACvC,IAdM,QAAQ;AAkBZ,SAASG,IAAsC;AAC7C,SAAAL,EAAYJ,EAAQ,CAAC,CAAC;AAC/B;"}