@0xsquid/deposit-widget 0.0.2-beta.0

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.
Files changed (62) hide show
  1. package/dist/cjs/index.cjs +4062 -0
  2. package/dist/cjs/index.cjs.map +1 -0
  3. package/dist/index.d.ts +52 -0
  4. package/dist/index.esm.js +4042 -0
  5. package/dist/index.esm.js.map +1 -0
  6. package/dist/types/DepositWidget.d.ts +8 -0
  7. package/dist/types/components/ViewTransition.d.ts +8 -0
  8. package/dist/types/components/shared/buttons/button.d.ts +4 -0
  9. package/dist/types/components/shared/icons/types.d.ts +4 -0
  10. package/dist/types/components/shared/icons/user-round.d.ts +3 -0
  11. package/dist/types/components/shared/navigation/base-navbar.d.ts +4 -0
  12. package/dist/types/components/shared/navigation/sub-navbar.d.ts +7 -0
  13. package/dist/types/components/token-badge-icon.d.ts +7 -0
  14. package/dist/types/components/token-list-item.d.ts +14 -0
  15. package/dist/types/components/view-container.d.ts +2 -0
  16. package/dist/types/constants.d.ts +2 -0
  17. package/dist/types/hooks/ui/useMainCTAButtonState.d.ts +9 -0
  18. package/dist/types/hooks/use-auto-select-token.d.ts +2 -0
  19. package/dist/types/hooks/use-deposit-route.d.ts +8 -0
  20. package/dist/types/hooks/use-token-selection.d.ts +6 -0
  21. package/dist/types/hooks/use-transaction-history.d.ts +7 -0
  22. package/dist/types/index.d.ts +4 -0
  23. package/dist/types/services/assets-service.d.ts +7 -0
  24. package/dist/types/services/wallet-history/format.d.ts +11 -0
  25. package/dist/types/services/wallet-history/format.test.d.ts +2 -0
  26. package/dist/types/services/wallet-history/get-main-explorer-url.d.ts +24 -0
  27. package/dist/types/services/wallet-history/get-wallet-history.d.ts +3 -0
  28. package/dist/types/services/wallet-history/types.d.ts +67 -0
  29. package/dist/types/services/wallet-history/validation.d.ts +3 -0
  30. package/dist/types/store/use-deposit-store.d.ts +10 -0
  31. package/dist/types/store/use-input-mode.d.ts +6 -0
  32. package/dist/types/store/useRouter.d.ts +13 -0
  33. package/dist/types/types.d.ts +44 -0
  34. package/dist/types/utils/format-date.d.ts +3 -0
  35. package/dist/types/utils/format-date.test.d.ts +2 -0
  36. package/dist/types/utils/transaction.d.ts +11 -0
  37. package/dist/types/views/connect-wallet/connect-wallet-view.d.ts +7 -0
  38. package/dist/types/views/connect-wallet/wallet-list-item.d.ts +10 -0
  39. package/dist/types/views/main/amount-input.d.ts +11 -0
  40. package/dist/types/views/main/connect-prompt.d.ts +2 -0
  41. package/dist/types/views/main/deposit-amount-input.d.ts +2 -0
  42. package/dist/types/views/main/deposit-form.d.ts +2 -0
  43. package/dist/types/views/main/main-cta-button.d.ts +2 -0
  44. package/dist/types/views/main/main-view.d.ts +2 -0
  45. package/dist/types/views/main/navbar/actions.d.ts +2 -0
  46. package/dist/types/views/main/navbar/icon.d.ts +2 -0
  47. package/dist/types/views/main/navbar/navbar.d.ts +2 -0
  48. package/dist/types/views/main/navbar/title.d.ts +11 -0
  49. package/dist/types/views/main/recipient/account.d.ts +15 -0
  50. package/dist/types/views/main/recipient/recipient.d.ts +2 -0
  51. package/dist/types/views/main/token-selector.d.ts +2 -0
  52. package/dist/types/views/qr-code.d.ts +2 -0
  53. package/dist/types/views/render-view.d.ts +4 -0
  54. package/dist/types/views/select-chain/chain-type-meta.d.ts +8 -0
  55. package/dist/types/views/select-chain/select-chain-view.d.ts +7 -0
  56. package/dist/types/views/select-token.d.ts +2 -0
  57. package/dist/types/views/transaction-history/activity-list-item.d.ts +5 -0
  58. package/dist/types/views/transaction-history/transaction-history-view.d.ts +2 -0
  59. package/dist/types/views/transaction-progress/helpers.d.ts +15 -0
  60. package/dist/types/views/transaction-progress/transaction-progress-view.d.ts +2 -0
  61. package/dist/types/views/transaction-progress/use-transaction-progress.d.ts +18 -0
  62. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/store/useRouter.ts","../src/constants.ts","../src/components/ViewTransition.tsx","../src/components/shared/navigation/base-navbar.tsx","../src/components/shared/navigation/sub-navbar.tsx","../src/views/connect-wallet/wallet-list-item.tsx","../src/components/view-container.tsx","../../../node_modules/@0xsquid/squid-types/dist/chains/index.js","../../../node_modules/@0xsquid/squid-types/dist/bridges/index.js","../../../node_modules/@0xsquid/squid-types/dist/dexes/index.js","../../../node_modules/@0xsquid/squid-types/dist/errors/index.js","../../../node_modules/@0xsquid/squid-types/dist/tokens/index.js","../../../node_modules/@0xsquid/squid-types/dist/fees/index.js","../../../node_modules/@0xsquid/squid-types/dist/quote/index.js","../../../node_modules/@0xsquid/squid-types/dist/routes/index.js","../../../node_modules/@0xsquid/squid-types/dist/squid/index.js","../../../node_modules/@0xsquid/squid-types/dist/status/index.js","../../../node_modules/@0xsquid/squid-types/dist/wrappers/index.js","../../../node_modules/@0xsquid/squid-types/dist/path/index.js","../../../node_modules/@0xsquid/squid-types/dist/compliance/index.js","../../../node_modules/@0xsquid/squid-types/dist/rfq/index.js","../../../node_modules/@0xsquid/squid-types/dist/gas/index.js","../../../node_modules/@0xsquid/squid-types/dist/featureFlag/index.js","../../../node_modules/@0xsquid/squid-types/dist/depositAddress/index.js","../../../node_modules/@0xsquid/squid-types/dist/index.js","../src/views/select-chain/chain-type-meta.ts","../src/views/connect-wallet/connect-wallet-view.tsx","../src/components/shared/buttons/button.tsx","../src/store/use-deposit-store.ts","../src/hooks/use-deposit-route.ts","../src/services/wallet-history/get-main-explorer-url.ts","../src/views/transaction-progress/use-transaction-progress.ts","../src/views/transaction-progress/helpers.tsx","../src/views/transaction-progress/transaction-progress-view.tsx","../src/views/main/navbar/title.tsx","../src/views/main/connect-prompt.tsx","../src/hooks/use-token-selection.ts","../src/store/use-input-mode.ts","../src/views/main/amount-input.tsx","../src/views/main/deposit-amount-input.tsx","../src/components/shared/icons/user-round.tsx","../src/views/main/recipient/account.tsx","../src/views/main/recipient/recipient.tsx","../src/components/token-badge-icon.tsx","../src/views/main/token-selector.tsx","../src/views/main/deposit-form.tsx","../src/hooks/ui/useMainCTAButtonState.ts","../src/views/main/main-cta-button.tsx","../src/views/main/navbar/actions.tsx","../src/views/main/navbar/icon.tsx","../src/views/main/navbar/navbar.tsx","../src/views/main/main-view.tsx","../src/views/qr-code.tsx","../src/views/select-chain/select-chain-view.tsx","../src/services/assets-service.ts","../src/components/token-list-item.tsx","../src/utils/transaction.ts","../src/views/select-token.tsx","../../../node_modules/@tanstack/query-core/build/lib/subscribable.mjs","../../../node_modules/@tanstack/query-core/build/lib/utils.mjs","../../../node_modules/@tanstack/query-core/build/lib/focusManager.mjs","../../../node_modules/@tanstack/query-core/build/lib/onlineManager.mjs","../../../node_modules/@tanstack/query-core/build/lib/retryer.mjs","../../../node_modules/@tanstack/query-core/build/lib/notifyManager.mjs","../../../node_modules/@tanstack/query-core/build/lib/queryObserver.mjs","../../../node_modules/@tanstack/query-core/build/lib/queriesObserver.mjs","../../../node_modules/@tanstack/react-query/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../node_modules/@tanstack/react-query/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../../../node_modules/@tanstack/react-query/node_modules/use-sync-external-store/shim/index.js","../../../node_modules/@tanstack/react-query/build/lib/useSyncExternalStore.mjs","../../../node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs","../../../node_modules/@tanstack/react-query/build/lib/isRestoring.mjs","../../../node_modules/@tanstack/react-query/build/lib/QueryErrorResetBoundary.mjs","../../../node_modules/@tanstack/react-query/build/lib/utils.mjs","../../../node_modules/@tanstack/react-query/build/lib/errorBoundaryUtils.mjs","../../../node_modules/@tanstack/react-query/build/lib/suspense.mjs","../../../node_modules/@tanstack/react-query/build/lib/useQueries.mjs","../src/services/wallet-history/validation.ts","../src/services/wallet-history/get-wallet-history.ts","../src/services/wallet-history/format.ts","../src/hooks/use-transaction-history.ts","../src/utils/format-date.ts","../src/views/transaction-history/activity-list-item.tsx","../src/views/transaction-history/transaction-history-view.tsx","../src/views/render-view.tsx","../src/hooks/use-auto-select-token.ts","../src/DepositWidget.tsx"],"sourcesContent":["import { create } from \"zustand\";\nimport type { WidgetView } from \"../types\";\n\nconst INITIAL_VIEW: WidgetView = { id: \"main\" };\n\nexport type NavigationDirection = \"forward\" | \"backward\";\n\ninterface WidgetNavigationState {\n stack: WidgetView[];\n direction: NavigationDirection | null;\n push: (_view: WidgetView) => void;\n pop: () => void;\n popToRoot: () => void;\n}\n\nexport const selectCurrentView = (state: WidgetNavigationState): WidgetView =>\n state.stack[state.stack.length - 1] ?? INITIAL_VIEW;\n\nexport const useRouter = create<WidgetNavigationState>((set) => ({\n stack: [INITIAL_VIEW],\n direction: null,\n\n push: (view: WidgetView): void =>\n set((state) => {\n if (selectCurrentView(state).id === view.id) return state;\n return {\n stack: [...state.stack, view],\n direction: \"forward\",\n };\n }),\n\n pop: (): void =>\n set((state) => {\n if (state.stack.length <= 1) return state;\n return {\n stack: state.stack.slice(0, -1),\n direction: \"backward\",\n };\n }),\n\n popToRoot: (): void =>\n set((state) => {\n if (state.stack.length <= 1) return state;\n return {\n stack: [INITIAL_VIEW],\n direction: \"backward\",\n };\n }),\n}));\n","export const VIEW_TRANSITION_DURATION_MS = 250;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport type { NavigationDirection } from \"../store/useRouter\";\nimport { useRouter } from \"../store/useRouter\";\nimport { VIEW_TRANSITION_DURATION_MS } from \"../constants\";\nimport { cn } from \"@0xsquid/ui\";\n\ninterface ViewTransitionProps {\n viewId: string;\n children: React.ReactElement;\n}\n\nconst ENTER_CLASS: Record<NavigationDirection, string> = {\n forward: \"tw-animate-slide-in-right\",\n backward: \"tw-animate-slide-in-left\",\n};\n\nconst EXIT_CLASS: Record<NavigationDirection, string> = {\n forward: \"tw-animate-slide-out-left\",\n backward: \"tw-animate-slide-out-right\",\n};\n\ninterface ExitingSlot {\n viewId: string;\n element: React.ReactElement;\n}\n\nexport function ViewTransition({ viewId, children }: ViewTransitionProps) {\n const direction = useRouter((s) => s.direction);\n const prevChildrenRef = useRef(children);\n const [exiting, setExiting] = useState<ExitingSlot | null>(null);\n const [activeId, setActiveId] = useState(viewId);\n\n // Detect view change during render (React \"derive state from props\" pattern)\n if (viewId !== activeId) {\n setExiting({ viewId: activeId, element: prevChildrenRef.current });\n setActiveId(viewId);\n }\n\n // Keep ref in sync with latest children for the active view\n prevChildrenRef.current = children;\n\n // Safety timeout: clear exiting slot if onAnimationEnd doesn't fire\n useEffect(() => {\n if (!exiting) return;\n const timer = setTimeout(\n () => setExiting(null),\n VIEW_TRANSITION_DURATION_MS + 50,\n );\n return () => clearTimeout(timer);\n }, [exiting]);\n\n const handleAnimationEnd = (e: React.AnimationEvent) => {\n if (e.target !== e.currentTarget) return;\n setExiting(null);\n };\n\n const isAnimating = exiting !== null;\n\n return (\n <div className=\"tw-relative tw-flex-1 tw-overflow-hidden tw-w-full\">\n {exiting && direction && (\n <div\n key={exiting.viewId}\n className={`tw-absolute tw-inset-0 tw-flex tw-flex-col tw-will-change-transform ${EXIT_CLASS[direction]}`}\n >\n {exiting.element}\n </div>\n )}\n <div\n key={viewId}\n className={cn(\n \"tw-absolute tw-inset-0 tw-flex tw-flex-col tw-will-change-transform\",\n isAnimating && direction && ENTER_CLASS[direction],\n )}\n onAnimationEnd={isAnimating ? handleAnimationEnd : undefined}\n >\n {children}\n </div>\n </div>\n );\n}\n","import { cn } from \"@0xsquid/ui\";\n\ntype BaseNavBarProps = React.ComponentProps<\"nav\">;\n\nexport function BaseNavBar({ className, ...props }: BaseNavBarProps) {\n return (\n <nav\n {...props}\n className={cn(\n \"tw-flex tw-py-3 tw-px-4 tw-items-center tw-self-stretch tw-h-16\",\n className,\n )}\n />\n );\n}\n","import { ArrowLeftIcon, IconButton, SearchIcon } from \"@0xsquid/ui\";\nimport { useRouter } from \"../../../store/useRouter\";\nimport { BaseNavBar } from \"./base-navbar\";\n\ninterface SubNavBarProps {\n title?: string;\n input?: React.ComponentProps<\"input\">;\n}\n\nexport function SubNavBar({ title, input }: SubNavBarProps) {\n const pop = useRouter((s) => s.pop);\n\n return (\n <BaseNavBar className=\"tw-gap-2\">\n <IconButton\n onClick={pop}\n icon={\n <ArrowLeftIcon\n className=\"tw-text-grey-100 [&>path]:tw-stroke-[3]\"\n size=\"1.5rem\"\n />\n }\n />\n\n {input ? (\n <div className=\"tw-flex tw-relative tw-flex-1 tw-items-center\">\n <SearchIcon\n size=\"1rem\"\n className=\"tw-absolute tw-left-0 tw-top-1/2 -tw-translate-y-1/2 tw-text-material-light-average tw-pl-2 tw-w-fit\"\n />\n\n <input\n className=\"tw-flex tw-h-8 tw-text-grey-100 tw-py-1 tw-pl-7 tw-pr-2 tw-items-center tw-gap-1 tw-flex-1 tw-rounded-squid-s tw-border tw-border-material-light-thin tw-bg-grey-800 placeholder:tw-text-lg tw-placeholder-material-light-average\"\n {...input}\n />\n\n <span className=\"tw-size-squid-xl\" />\n </div>\n ) : title ? (\n <span className=\"tw-text-grey-100 tw-text-lg tw-font-squid-main tw-font-medium\">\n {title}\n </span>\n ) : null}\n </BaseNavBar>\n );\n}\n","import type { Wallet } from \"@0xsquid/react-hooks\";\nimport { ChevronLargeRightIcon, Loader, cn } from \"@0xsquid/ui\";\n\ninterface WalletListItemProps extends React.ComponentProps<\"button\"> {\n wallet: Wallet;\n isConnecting?: boolean;\n showAsMultiChain?: boolean;\n parentProps?: React.ComponentProps<\"li\">;\n}\n\nexport function WalletListItem({\n wallet,\n isConnecting,\n showAsMultiChain,\n parentProps,\n ...props\n}: WalletListItemProps) {\n const isInstalled = wallet.isInstalled?.();\n\n return (\n <li className=\"tw-self-stretch\" {...parentProps}>\n <button\n className=\"tw-group/wallet tw-flex tw-min-h-14 tw-h-14 tw-px-4 tw-items-center tw-gap-3 tw-self-stretch tw-w-full hover:tw-bg-material-light-thin\"\n disabled={isConnecting}\n {...props}\n >\n {/* icon */}\n <div className=\"tw-flex tw-size-squid-xl tw-justify-center tw-items-center tw-aspect-square tw-rounded-xl tw-shadow-icon-light dark:tw-shadow-icon-dark\">\n {wallet.icon && (\n <img\n src={wallet.icon}\n alt={wallet.name}\n className=\"tw-size-full tw-rounded-xl\"\n />\n )}\n </div>\n\n {/* label */}\n <span className=\"tw-flex tw-flex-col tw-justify-center tw-items-start tw-gap-2 tw-flex-1 tw-self-stretch tw-text-grey-200 tw-text-lg\">\n {wallet.name}\n </span>\n\n {/* detail */}\n {isConnecting ? (\n <Loader size=\"20\" className=\"tw-text-grey-100\" />\n ) : (\n <div className=\"tw-flex tw-items-center\">\n {isInstalled && (\n <div\n className={cn(\n \"tw-flex tw-py-squid-s tw-flex-col tw-justify-center tw-items-end tw-self-stretch tw-text-material-light-thick tw-text-base tw-transition-transform tw-duration-200\",\n showAsMultiChain && \"group-hover/wallet:-tw-translate-x-1\",\n )}\n >\n Installed\n </div>\n )}\n {showAsMultiChain && (\n <ChevronLargeRightIcon\n className=\"tw-text-material-light-thick tw-transition-all tw-duration-200 tw-w-0 tw-opacity-0 group-hover/wallet:tw-w-4 group-hover/wallet:tw-opacity-100\"\n size=\"0.75rem\"\n />\n )}\n </div>\n )}\n </button>\n </li>\n );\n}\n","import { cn } from \"@0xsquid/ui\";\n\nexport function ViewContainer({\n className,\n ...props\n}: React.ComponentProps<\"section\">) {\n return (\n <section\n {...props}\n className={cn(\n \"tw-flex tw-flex-col tw-items-center tw-flex-1 tw-self-stretch tw-border-t tw-border-grey-800 tw-py-1 tw-overflow-auto tw-h-full tw-scrollbar-hidden\",\n className,\n )}\n />\n );\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CosmosChainFeatures = exports.NetworkIdentifier = exports.ChainName = exports.ChainType = void 0;\nvar ChainType;\n(function (ChainType) {\n ChainType[\"EVM\"] = \"evm\";\n ChainType[\"COSMOS\"] = \"cosmos\";\n ChainType[\"BTC\"] = \"bitcoin\";\n ChainType[\"SOLANA\"] = \"solana\";\n ChainType[\"SUI\"] = \"sui\";\n ChainType[\"XRPL\"] = \"xrpl\";\n ChainType[\"STELLAR\"] = \"stellar\";\n})(ChainType || (exports.ChainType = ChainType = {}));\nvar ChainName;\n(function (ChainName) {\n ChainName[\"ARBITRUM\"] = \"Arbitrum\";\n ChainName[\"ARBITRUM2\"] = \"arbitrum\";\n ChainName[\"AURORA\"] = \"aurora\";\n ChainName[\"AVALANCHE\"] = \"Avalanche\";\n ChainName[\"BASE\"] = \"base\";\n ChainName[\"BINANCE\"] = \"binance\";\n ChainName[\"CELO\"] = \"celo\";\n ChainName[\"CENTRIFUGE\"] = \"centrifuge\";\n ChainName[\"CITREA\"] = \"citrea\";\n ChainName[\"ETHEREUM\"] = \"Ethereum\";\n ChainName[\"ETHEREUM2\"] = \"Ethereum-2\";\n ChainName[\"FANTOM\"] = \"Fantom\";\n ChainName[\"FILECOIN\"] = \"filecoin\";\n ChainName[\"FILECOIN2\"] = \"filecoin-2\";\n ChainName[\"HEDERA\"] = \"hedera\";\n ChainName[\"IMMUTABLE_ZKEVM\"] = \"immutable\";\n ChainName[\"KAVA\"] = \"kava\";\n ChainName[\"MANTLE\"] = \"mantle\";\n ChainName[\"MANTRA\"] = \"mantra\";\n ChainName[\"MONAD\"] = \"monad\";\n ChainName[\"MOONBEAM\"] = \"Moonbeam\";\n ChainName[\"OPTIMISM\"] = \"optimism\";\n ChainName[\"POLYGON_ZKEVM\"] = \"polygon-zkevm\";\n ChainName[\"POLYGON\"] = \"Polygon\";\n ChainName[\"LINEA\"] = \"linea\";\n ChainName[\"SCROLL\"] = \"scroll\";\n ChainName[\"BLAST\"] = \"blast\";\n ChainName[\"FRAXTAL\"] = \"fraxtal\";\n ChainName[\"BERACHAIN\"] = \"berachain\";\n ChainName[\"GNOSIS\"] = \"gnosis\";\n ChainName[\"SONIC\"] = \"sonic\";\n ChainName[\"SONEIUM\"] = \"soneium\";\n ChainName[\"PEAQ\"] = \"peaq\";\n ChainName[\"HYPER_EVM\"] = \"hyper-evm\";\n ChainName[\"TEMPO\"] = \"tempo\";\n // Cosmos\n ChainName[\"AGORIC\"] = \"agoric\";\n ChainName[\"ASSETMANTLE\"] = \"assetmantle\";\n ChainName[\"AXELARNET\"] = \"axelarnet\";\n ChainName[\"CARBON\"] = \"carbon\";\n ChainName[\"COMDEX\"] = \"comdex\";\n ChainName[\"COSMOS\"] = \"cosmoshub\";\n ChainName[\"CRESCENT\"] = \"crescent\";\n ChainName[\"EVMOS\"] = \"evmos\";\n ChainName[\"FETCH\"] = \"fetch\";\n ChainName[\"INJECTIVE\"] = \"injective\";\n ChainName[\"JUNO\"] = \"juno\";\n ChainName[\"KI\"] = \"ki\";\n ChainName[\"KUJIRA\"] = \"kujira\";\n ChainName[\"NEUTRON\"] = \"neutron\";\n ChainName[\"NOBLE\"] = \"noble\";\n ChainName[\"OSMOSIS\"] = \"osmosis\";\n ChainName[\"OSMOSIS7\"] = \"osmosis-7\";\n ChainName[\"REGEN\"] = \"regen\";\n ChainName[\"SEI\"] = \"sei\";\n ChainName[\"SECRETSNIP\"] = \"secret-snip\";\n ChainName[\"STARGAZE\"] = \"stargaze\";\n ChainName[\"STRIDE\"] = \"stride\";\n ChainName[\"TERRA2\"] = \"terra-2\";\n ChainName[\"UMEE\"] = \"umee\";\n ChainName[\"DYDX\"] = \"dydx\";\n ChainName[\"ACRECHAIN\"] = \"acre\";\n ChainName[\"ARCHWAY\"] = \"archway\";\n ChainName[\"BITCANNA\"] = \"bitcanna\";\n ChainName[\"BITSONG\"] = \"bitsong\";\n ChainName[\"CHEQD\"] = \"cheqd\";\n ChainName[\"CELESTIA\"] = \"celestia\";\n ChainName[\"COREUM\"] = \"coreum\";\n ChainName[\"DECENTR\"] = \"decentr\";\n ChainName[\"DESMOS\"] = \"desmos\";\n ChainName[\"DIG\"] = \"dig\";\n ChainName[\"DYMENSION\"] = \"dymension\";\n ChainName[\"IRISNET\"] = \"irisnet\";\n ChainName[\"IXO\"] = \"impacthub\";\n ChainName[\"JACKAL\"] = \"jackal\";\n ChainName[\"LUM\"] = \"lumnetwork\";\n ChainName[\"LIKECOIN\"] = \"likecoin\";\n ChainName[\"KAVA_IBC\"] = \"kava-ibc\";\n ChainName[\"NOLUS\"] = \"nolus\";\n ChainName[\"XPLA\"] = \"xpla\";\n ChainName[\"AKASH\"] = \"akash\";\n ChainName[\"CHIHUAHUA\"] = \"chihuahua\";\n ChainName[\"CRONOS\"] = \"cronos\";\n ChainName[\"GRAVITYBRIDGE\"] = \"gravitybridge\";\n ChainName[\"MARS\"] = \"mars\";\n ChainName[\"MIGALOO\"] = \"migaloo\";\n ChainName[\"PERSISTENCE\"] = \"persistence\";\n ChainName[\"OMNIFLIXHUB\"] = \"omniflixhub\";\n ChainName[\"QUICKSILVER\"] = \"quicksilver\";\n ChainName[\"SOMMELIER\"] = \"sommelier\";\n ChainName[\"TERRA\"] = \"terra\";\n ChainName[\"TERITORI\"] = \"teritori\";\n ChainName[\"SENTINEL\"] = \"sentinel\";\n ChainName[\"HUMANS\"] = \"humans\";\n ChainName[\"CHAIN4ENERGY\"] = \"c4e\";\n ChainName[\"SAGA\"] = \"saga\";\n ChainName[\"NIBIRU\"] = \"nibiru\";\n ChainName[\"LAVA\"] = \"lava\";\n ChainName[\"KYVE\"] = \"kyve\";\n ChainName[\"XION\"] = \"xion\";\n ChainName[\"SAGA_HUB\"] = \"hub\";\n ChainName[\"SAGA_DEX\"] = \"saga_evm\";\n ChainName[\"SAGA_MARIA\"] = \"maria\";\n ChainName[\"SAGA_NIRVANA\"] = \"nirvana\";\n ChainName[\"SAGA_FLIPPANDO\"] = \"flippandomainnet\";\n ChainName[\"SAGA_SOUNDMONEY\"] = \"soundmoney\";\n ChainName[\"SAGA_NGMI\"] = \"ngmi\";\n ChainName[\"SAGA_DCHAIN\"] = \"dchain\";\n ChainName[\"ELYS\"] = \"elys\";\n ChainName[\"ALLORA\"] = \"allora\";\n ChainName[\"BABYLON\"] = \"babylon\";\n // BTC\n ChainName[\"BITCOIN\"] = \"bitcoin\";\n // SOL\n ChainName[\"SOLANA\"] = \"solana\";\n // SUI\n ChainName[\"SUI\"] = \"sui\";\n // XRPL\n ChainName[\"XRPL\"] = \"xrpl\";\n ChainName[\"XRPL_EVM\"] = \"xrpl-evm\";\n // STELLAR\n ChainName[\"STELLAR\"] = \"stellar\";\n // TESTNETS\n ChainName[\"ETHEREUM_SEPOLIA\"] = \"ethereum-sepolia\";\n ChainName[\"SUI_TESTNET\"] = \"sui-testnet\";\n ChainName[\"STELLAR_TESTNET\"] = \"stellar-testnet\";\n})(ChainName || (exports.ChainName = ChainName = {}));\nvar NetworkIdentifier;\n(function (NetworkIdentifier) {\n // EVM\n NetworkIdentifier[\"ETHEREUM\"] = \"ethereum\";\n NetworkIdentifier[\"AVALANCHE\"] = \"avalanche\";\n NetworkIdentifier[\"ARBITRUM\"] = \"arbitrum\";\n NetworkIdentifier[\"AURORA\"] = \"aurora\";\n NetworkIdentifier[\"BASE\"] = \"base\";\n NetworkIdentifier[\"BINANCE\"] = \"binance\";\n NetworkIdentifier[\"CELO\"] = \"celo\";\n NetworkIdentifier[\"CITREA\"] = \"citrea\";\n NetworkIdentifier[\"FANTOM\"] = \"fantom\";\n NetworkIdentifier[\"FILECOIN\"] = \"filecoin\";\n NetworkIdentifier[\"HEDERA\"] = \"hedera\";\n NetworkIdentifier[\"IMMUTABLE_ZKEVM\"] = \"immutable\";\n NetworkIdentifier[\"KAVA\"] = \"kava\";\n NetworkIdentifier[\"MANTLE\"] = \"mantle\";\n NetworkIdentifier[\"MANTRA\"] = \"mantra\";\n NetworkIdentifier[\"MONAD\"] = \"monad\";\n NetworkIdentifier[\"MOONBEAM\"] = \"moonbeam\";\n NetworkIdentifier[\"OPTIMISM\"] = \"optimism\";\n NetworkIdentifier[\"POLYGON\"] = \"polygon\";\n NetworkIdentifier[\"LINEA\"] = \"linea\";\n NetworkIdentifier[\"SCROLL\"] = \"scroll\";\n NetworkIdentifier[\"BLAST\"] = \"blast\";\n NetworkIdentifier[\"FRAXTAL\"] = \"fraxtal\";\n NetworkIdentifier[\"BERACHAIN\"] = \"berachain\";\n NetworkIdentifier[\"GNOSIS\"] = \"gnosis\";\n NetworkIdentifier[\"SONIC\"] = \"sonic\";\n NetworkIdentifier[\"SONEIUM\"] = \"soneium\";\n NetworkIdentifier[\"PEAQ\"] = \"peaq\";\n NetworkIdentifier[\"HYPER_EVM\"] = \"hyper-evm\";\n NetworkIdentifier[\"TEMPO\"] = \"tempo\";\n // COSMOS\n NetworkIdentifier[\"AGORIC\"] = \"agoric\";\n NetworkIdentifier[\"ASSETMANTLE\"] = \"assetmantle\";\n NetworkIdentifier[\"AXELAR\"] = \"axelar\";\n NetworkIdentifier[\"AXELARNET\"] = \"axelarnet\";\n NetworkIdentifier[\"CARBON\"] = \"carbon\";\n NetworkIdentifier[\"COMDEX\"] = \"comdex\";\n NetworkIdentifier[\"COSMOS\"] = \"cosmoshub\";\n NetworkIdentifier[\"CRESCENT\"] = \"crescent\";\n NetworkIdentifier[\"EVMOS\"] = \"evmos\";\n NetworkIdentifier[\"FETCH\"] = \"fetch\";\n NetworkIdentifier[\"INJECTIVE\"] = \"injective\";\n NetworkIdentifier[\"JUNO\"] = \"juno\";\n NetworkIdentifier[\"KI\"] = \"ki\";\n NetworkIdentifier[\"KUJIRA\"] = \"kujira\";\n NetworkIdentifier[\"NOBLE\"] = \"noble\";\n NetworkIdentifier[\"NEUTRON\"] = \"neutron\";\n NetworkIdentifier[\"OSMOSIS\"] = \"osmosis\";\n NetworkIdentifier[\"REGEN\"] = \"regen\";\n NetworkIdentifier[\"SEI\"] = \"sei\";\n NetworkIdentifier[\"SECRETSNIP\"] = \"secret-snip\";\n NetworkIdentifier[\"STARGAZE\"] = \"stargaze\";\n NetworkIdentifier[\"STRIDE\"] = \"stride\";\n NetworkIdentifier[\"TERRA2\"] = \"terra-2\";\n NetworkIdentifier[\"UMEE\"] = \"umee\";\n NetworkIdentifier[\"DYDX\"] = \"dydx\";\n NetworkIdentifier[\"ACRECHAIN\"] = \"acre\";\n NetworkIdentifier[\"ARCHWAY\"] = \"archway\";\n NetworkIdentifier[\"BITCANNA\"] = \"bitcanna\";\n NetworkIdentifier[\"BITSONG\"] = \"bitsong\";\n NetworkIdentifier[\"CHEQD\"] = \"cheqd\";\n NetworkIdentifier[\"CELESTIA\"] = \"celestia\";\n NetworkIdentifier[\"COREUM\"] = \"coreum\";\n NetworkIdentifier[\"DECENTR\"] = \"decentr\";\n NetworkIdentifier[\"DESMOS\"] = \"desmos\";\n NetworkIdentifier[\"DYMENSION\"] = \"dymension\";\n NetworkIdentifier[\"IRISNET\"] = \"irisnet\";\n NetworkIdentifier[\"IXO\"] = \"impacthub\";\n NetworkIdentifier[\"JACKAL\"] = \"jackal\";\n NetworkIdentifier[\"LUM\"] = \"lumnetwork\";\n NetworkIdentifier[\"LIKECOIN\"] = \"likecoin\";\n NetworkIdentifier[\"KAVA_IBC\"] = \"kava-ibc\";\n NetworkIdentifier[\"NOLUS\"] = \"nolus\";\n NetworkIdentifier[\"XPLA\"] = \"xpla\";\n NetworkIdentifier[\"AKASH\"] = \"akash\";\n NetworkIdentifier[\"CHIHUAHUA\"] = \"chihuahua\";\n NetworkIdentifier[\"CRONOS\"] = \"cronos\";\n NetworkIdentifier[\"GRAVITYBRIDGE\"] = \"gravitybridge\";\n NetworkIdentifier[\"MARS\"] = \"mars\";\n NetworkIdentifier[\"MIGALOO\"] = \"migaloo\";\n NetworkIdentifier[\"PERSISTENCE\"] = \"persistence\";\n NetworkIdentifier[\"OMNIFLIXHUB\"] = \"omniflixhub\";\n NetworkIdentifier[\"QUICKSILVER\"] = \"quicksilver\";\n NetworkIdentifier[\"SOMMELIER\"] = \"sommelier\";\n NetworkIdentifier[\"TERRA\"] = \"terra\";\n NetworkIdentifier[\"TERITORI\"] = \"teritori\";\n NetworkIdentifier[\"SENTINEL\"] = \"sentinel\";\n NetworkIdentifier[\"HUMANS\"] = \"humans\";\n NetworkIdentifier[\"CHAIN4ENERGY\"] = \"c4e\";\n NetworkIdentifier[\"SAGA\"] = \"saga\";\n NetworkIdentifier[\"NIBIRU\"] = \"nibiru\";\n NetworkIdentifier[\"LAVA\"] = \"lava\";\n NetworkIdentifier[\"KYVE\"] = \"kyve\";\n NetworkIdentifier[\"XION\"] = \"xion\";\n NetworkIdentifier[\"SAGA_HUB\"] = \"hub\";\n NetworkIdentifier[\"SAGA_DEX\"] = \"saga_evm\";\n NetworkIdentifier[\"SAGA_MARIA\"] = \"maria\";\n NetworkIdentifier[\"SAGA_NIRVANA\"] = \"nirvana\";\n NetworkIdentifier[\"SAGA_FLIPPANDO\"] = \"flippandomainnet\";\n NetworkIdentifier[\"SAGA_SOUNDMONEY\"] = \"soundmoney\";\n NetworkIdentifier[\"SAGA_NGMI\"] = \"ngmi\";\n NetworkIdentifier[\"SAGA_DCHAIN\"] = \"dchain\";\n NetworkIdentifier[\"ELYS\"] = \"elys\";\n NetworkIdentifier[\"ALLORA\"] = \"allora\";\n NetworkIdentifier[\"BABYLON\"] = \"babylon\";\n // BTC\n NetworkIdentifier[\"BITCOIN\"] = \"bitcoin\";\n // SOL\n NetworkIdentifier[\"SOLANA\"] = \"solana\";\n // SUI\n NetworkIdentifier[\"SUI\"] = \"sui\";\n // XRPL\n NetworkIdentifier[\"XRPL\"] = \"xrpl\";\n NetworkIdentifier[\"XRPL_EVM\"] = \"xrpl-evm\";\n // STELLAR\n NetworkIdentifier[\"STELLAR\"] = \"stellar\";\n // TESTNETS\n NetworkIdentifier[\"ETHEREUM_SEPOLIA\"] = \"ethereum-sepolia\";\n NetworkIdentifier[\"SUI_TESTNET\"] = \"sui-testnet\";\n NetworkIdentifier[\"XRPL_TESTNET\"] = \"xrpl-testnet\";\n NetworkIdentifier[\"XRPL_EVM_TESTNET\"] = \"xrpl-evm-testnet\";\n NetworkIdentifier[\"STELLAR_TESTNET\"] = \"stellar-testnet\";\n})(NetworkIdentifier || (exports.NetworkIdentifier = NetworkIdentifier = {}));\nvar CosmosChainFeatures;\n(function (CosmosChainFeatures) {\n CosmosChainFeatures[\"PACKET_FORWARD_MIDDLEWARE\"] = \"packet-forward-middleware\";\n CosmosChainFeatures[\"LEGACY_IBC\"] = \"legacy-ibc\";\n CosmosChainFeatures[\"COSMWASM\"] = \"cosmwasm\";\n})(CosmosChainFeatures || (exports.CosmosChainFeatures = CosmosChainFeatures = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BridgeProvider = exports.BridgeType = void 0;\nvar BridgeType;\n(function (BridgeType) {\n BridgeType[\"AXELAR_GMP\"] = \"axelar-gmp\";\n BridgeType[\"AXELAR_ITS\"] = \"axelar-its\";\n BridgeType[\"CCTP\"] = \"cctp\";\n BridgeType[\"NOBLE_CCTP\"] = \"noble-cctp\";\n BridgeType[\"IBC\"] = \"ibc\";\n BridgeType[\"CHAINFLIP\"] = \"chainflip\";\n BridgeType[\"RFQ\"] = \"rfq\";\n BridgeType[\"ITB\"] = \"immutable-token-bridge\";\n BridgeType[\"CORAL_V2\"] = \"coral-v2\";\n})(BridgeType || (exports.BridgeType = BridgeType = {}));\nvar BridgeProvider;\n(function (BridgeProvider) {\n BridgeProvider[\"AXELAR\"] = \"Axelar\";\n BridgeProvider[\"CCTP\"] = \"CCTP\";\n BridgeProvider[\"NOBLE_CCTP\"] = \"Noble CCTP\";\n BridgeProvider[\"IBC\"] = \"IBC\";\n BridgeProvider[\"PFM\"] = \"IBC Packet forward middleware\";\n BridgeProvider[\"CHAINFLIP\"] = \"Chainflip\";\n BridgeProvider[\"RFQ\"] = \"Squid Intents\";\n BridgeProvider[\"IMMUTABLE\"] = \"Immutable\";\n})(BridgeProvider || (exports.BridgeProvider = BridgeProvider = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DexType = exports.DexName = void 0;\n// identifiers for dexes\nvar DexName;\n(function (DexName) {\n DexName[\"AGNI_V3\"] = \"Agni V3\";\n DexName[\"AERODROME_SOLIDLY\"] = \"Aerodrome Solidly\";\n DexName[\"AERODROME_V3\"] = \"Aerodrome V3\";\n DexName[\"APESWAP_V2\"] = \"Apeswap V2\";\n DexName[\"APESWAP_V3\"] = \"Apeswap V3\";\n DexName[\"ASTROPORT\"] = \"Astroport\";\n DexName[\"BALANCER_V2\"] = \"Balancer V2\";\n DexName[\"BASESWAP_V2\"] = \"Baseswap V2\";\n DexName[\"BASESWAP_V3\"] = \"Baseswap V3\";\n DexName[\"BEAMSWAP_V2\"] = \"Beamswap V2\";\n DexName[\"BEAMSWAP_V3\"] = \"Beamswap V3\";\n DexName[\"BEAMSWAP_SADDLE\"] = \"Beamswap Saddle\";\n DexName[\"BEETS_V2\"] = \"Beets V2\";\n DexName[\"CAMELOT_V2\"] = \"Camelot V2\";\n DexName[\"CAMELOT_V3\"] = \"Camelot V3\";\n DexName[\"CURVE_V2\"] = \"Curve V2\";\n DexName[\"ELLIPSIS\"] = \"Ellipsis\";\n DexName[\"EQUILIBRE\"] = \"Equilibre\";\n DexName[\"EQUALIZER\"] = \"Equalizer\";\n DexName[\"ETHEREX_V3\"] = \"Etherex V3\";\n DexName[\"FRAXSWAP_V2\"] = \"Fraxswap V2\";\n DexName[\"FUSIONX_V2\"] = \"FusionX V2\";\n DexName[\"FUSIONX_V3\"] = \"FusionX V3\";\n DexName[\"GLIQUID_V4\"] = \"Gliquid V4\";\n DexName[\"GMX\"] = \"GMX\";\n DexName[\"HONEYSWAP_V2\"] = \"Honeyswap V2\";\n DexName[\"HORIZON_V2\"] = \"Horizon V2\";\n DexName[\"HORIZON_V3\"] = \"Horizon V3\";\n DexName[\"HYBRA_V2\"] = \"Hybra V2\";\n DexName[\"HYBRA_V3\"] = \"Hybra V3\";\n DexName[\"HYPERSWAP_V2\"] = \"Hyperswap V2\";\n DexName[\"HYPERSWAP_V3\"] = \"Hyperswap V3\";\n DexName[\"JUICESWAP\"] = \"JuiceSwap\";\n DexName[\"KYBERSWAP\"] = \"KyberSwap\";\n DexName[\"KYBERSWAP_AGGREGATOR\"] = \"kyberswap Aggregator\";\n DexName[\"KYO_V2\"] = \"Kyo V2\";\n DexName[\"KYO_V3\"] = \"Kyo V3\";\n DexName[\"KINETIX_V3\"] = \"Kinetix V3\";\n DexName[\"KITTENSWAP_V2\"] = \"Kittenswap V2\";\n DexName[\"KITTENSWAP_V3\"] = \"Kittenswap V3\";\n DexName[\"KODIAK_V3\"] = \"Kodiak V3\";\n DexName[\"LAMINAR_V3\"] = \"Laminar V3\";\n DexName[\"LYNEX_V3\"] = \"Lynex V3\";\n DexName[\"LOTUS_V3\"] = \"Lotus V3\";\n DexName[\"MACHINE_X_V3\"] = \"MachineX V3\";\n DexName[\"MENTO_V2\"] = \"Mento V2\";\n DexName[\"MOAI_V3\"] = \"Moai V3\";\n DexName[\"NILE_SOLIDLY\"] = \"Nile Solidly\";\n DexName[\"NILE_V3\"] = \"Nile V3\";\n DexName[\"OKU_V2\"] = \"Oku V2\";\n DexName[\"OPENOCEAN\"] = \"OpenOcean\";\n DexName[\"OSMOSIS\"] = \"Osmosis\";\n DexName[\"OKU_V3\"] = \"Oku V3\";\n DexName[\"PANCAKESWAP_V2\"] = \"Pancakeswap V2\";\n DexName[\"PANCAKESWAP_V3\"] = \"Pancakeswap V3\";\n DexName[\"PANCAKESWAP_STABLE\"] = \"Pancakeswap Stable\";\n DexName[\"PANGOLIN_V2\"] = \"Pangolin V2\";\n DexName[\"PHARAOH_SOLIDLY\"] = \"Pharaoh Solidly\";\n DexName[\"PHARAOH_V3\"] = \"Pharaoh V3\";\n DexName[\"PLATYPUS\"] = \"Platypus\";\n DexName[\"PRINTR\"] = \"Printr\";\n DexName[\"PROJECT_X_V3\"] = \"Project X V3\";\n DexName[\"QUICKSWAP_V2\"] = \"Quickswap V2\";\n DexName[\"QUICKSWAP_V3\"] = \"Quickswap V3\";\n DexName[\"RAMSES_SOLIDLY\"] = \"Ramses Solidly\";\n DexName[\"RA_V3\"] = \"Ra V3\";\n DexName[\"RAMSES_V3\"] = \"Ramses V3\";\n DexName[\"SATSUMA\"] = \"Satsuma\";\n DexName[\"SAUCERSWAP_V2\"] = \"Saucerswap V2\";\n DexName[\"SHADOW_V2\"] = \"Shadow V2\";\n DexName[\"SHADOW_V3\"] = \"Shadow V3\";\n DexName[\"SONEX_V3\"] = \"Sonex V3\";\n DexName[\"SPOOKYSWAP_V2\"] = \"Spookyswap V2\";\n DexName[\"STELLASWAP_V2\"] = \"Stellaswap V2\";\n DexName[\"STELLASWAP_V3\"] = \"Stellaswap V3\";\n DexName[\"STELLASWAP_V4\"] = \"Stellaswap V4\";\n DexName[\"STELLASWAP_SADDLE\"] = \"Stellaswap Saddle\";\n DexName[\"SURGE_V3\"] = \"Surge V3\";\n DexName[\"SUSHISWAP_V2\"] = \"Sushiswap V2\";\n DexName[\"SUSHISWAP_V3\"] = \"Sushiswap V3\";\n DexName[\"SWAPBASED_V2\"] = \"Swapbased V2\";\n DexName[\"SYNTHSWAP_V2\"] = \"SynthSwap V2\";\n DexName[\"SYNTHSWAP_V3\"] = \"SynthSwap V3\";\n DexName[\"SKYDROME\"] = \"Skydrome\";\n DexName[\"SWAPR_V3\"] = \"Swapr V3\";\n DexName[\"THENA_SOLIDLY\"] = \"Thena Solidly\";\n DexName[\"THENA_V3\"] = \"Thena V3\";\n DexName[\"TRADERJOE_V2\"] = \"Trader Joe V2\";\n DexName[\"TRADERJOE_V21\"] = \"Trader Joe V2.1\";\n DexName[\"TRADERJOE_V22\"] = \"Trader Joe V2.2\";\n DexName[\"TRIDENT\"] = \"Trident\";\n DexName[\"THRUSTER_V3\"] = \"Thruster V3\";\n DexName[\"THRUSTER_V2\"] = \"Thruster V2\";\n DexName[\"UBESWAP_V2\"] = \"Ubeswap V2\";\n DexName[\"UBESWAP_V3\"] = \"Ubeswap V3\";\n DexName[\"UNISWAP_V2\"] = \"Uniswap V2\";\n DexName[\"UNISWAP_V3\"] = \"Uniswap V3\";\n DexName[\"WAGMI_V3\"] = \"Wagmi V3\";\n DexName[\"WIGOSWAP_V2\"] = \"Wigoswap V2\";\n DexName[\"WOMBAT\"] = \"Wombat\";\n DexName[\"VELODROME_SOLIDLY\"] = \"Velodrome Solidly\";\n DexName[\"VELODROME_V2\"] = \"Velodrome V2\";\n DexName[\"VELODROME_V3\"] = \"Velodrome V3\";\n DexName[\"VELOCIMETER\"] = \"Velocimeter\";\n DexName[\"ZYBERSWAP_V2\"] = \"Zyberswap V2\";\n DexName[\"ZYBERSWAP_V3\"] = \"Zyberswap V3\";\n})(DexName || (exports.DexName = DexName = {}));\n// identifiers dex adapters\nvar DexType;\n(function (DexType) {\n // EVM\n DexType[\"ALGEBRA\"] = \"algebra\";\n DexType[\"ALGEBRA_V4\"] = \"algebra-v4\";\n DexType[\"BALANCER_V2\"] = \"balancer-v2\";\n DexType[\"CURVE\"] = \"curve\";\n DexType[\"GMX\"] = \"gmx\";\n DexType[\"KYBERSWAP_ELASTIC\"] = \"kyberswap-elastic\";\n DexType[\"PLATYPUS\"] = \"platypus\";\n DexType[\"PANCAKESWAP_STABLE\"] = \"pancakeswap-stable\";\n DexType[\"PRINTR\"] = \"printr\";\n DexType[\"SADDLE\"] = \"saddle\";\n DexType[\"SLIPSTREAM\"] = \"slipstream\";\n DexType[\"SOLIDLY\"] = \"solidly\";\n DexType[\"TRADERJOE_V21\"] = \"traderjoe-v21\";\n DexType[\"TRADERJOE_V22\"] = \"traderjoe-v22\";\n DexType[\"TRIDENT\"] = \"trident\";\n DexType[\"WOMBAT\"] = \"wombat\";\n DexType[\"UNISWAP_V2\"] = \"uniswap-v2\";\n DexType[\"UNISWAP_V3\"] = \"uniswap-v3\";\n DexType[\"MENTO_V2\"] = \"mento-v2\";\n // COSMOS\n DexType[\"OSMOSIS\"] = \"osmosis\";\n DexType[\"ASTROPORT\"] = \"astroport\";\n // ONCE WE START ADDING DEXES WE WILL BE MOVING THEM ABOVE\n /*\n DUALITY = \"Duality\",\n */\n})(DexType || (exports.DexType = DexType = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ErrorType = void 0;\nvar ErrorType;\n(function (ErrorType) {\n ErrorType[\"SCHEMA_VALIDATION_ERROR\"] = \"SCHEMA_VALIDATION_ERROR\";\n ErrorType[\"PATH_FINDER_ERROR\"] = \"PATH_FINDER_ERROR\";\n ErrorType[\"QUOTE_ERROR\"] = \"QUOTE_ERROR\";\n ErrorType[\"ROUTE_ERROR\"] = \"ROUTE_ERROR\";\n ErrorType[\"BAD_REQUEST\"] = \"BAD_REQUEST\";\n ErrorType[\"UNKNOWN_ERROR\"] = \"UNKNOWN_ERROR\";\n ErrorType[\"RATE_LIMIT\"] = \"RATE_LIMIT\";\n ErrorType[\"MAINTENANCE\"] = \"MAINTENANCE\";\n ErrorType[\"UNAUTHORIZED\"] = \"UNAUTHORIZED\";\n ErrorType[\"INTERNAL_ERROR\"] = \"INTERNAL_ERROR\";\n})(ErrorType || (exports.ErrorType = ErrorType = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Volatility = void 0;\nvar Volatility;\n(function (Volatility) {\n Volatility[Volatility[\"SUPER_STABLE\"] = 0] = \"SUPER_STABLE\";\n Volatility[Volatility[\"STABLE\"] = 1] = \"STABLE\";\n Volatility[Volatility[\"HIGH_CAP\"] = 2] = \"HIGH_CAP\";\n Volatility[Volatility[\"VOLATILE\"] = 3] = \"VOLATILE\";\n})(Volatility || (exports.Volatility = Volatility = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GasCostType = exports.FeeType = void 0;\nvar FeeType;\n(function (FeeType) {\n FeeType[\"AXELAR_FEE\"] = \"Axelar fee\";\n FeeType[\"GAS_RECEIVER_FEE\"] = \"Gas receiver fee\";\n FeeType[\"BOOST_FEE\"] = \"Boost fee\";\n FeeType[\"INTEGRATOR_FEE\"] = \"Integrator fee\";\n FeeType[\"CHAINFLIP_FEE\"] = \"Chainflip fee\";\n FeeType[\"EXECUTION_FEE\"] = \"Execution fee\";\n FeeType[\"SETTLEMENT_FEE\"] = \"Settlement fee\";\n FeeType[\"SERVICE_FEE\"] = \"Service fee\";\n})(FeeType || (exports.FeeType = FeeType = {}));\nvar GasCostType;\n(function (GasCostType) {\n GasCostType[\"EXECUTE_CALL\"] = \"executeCall\";\n GasCostType[\"JITO_TIP_FEE\"] = \"jitoTipFee\";\n})(GasCostType || (exports.GasCostType = GasCostType = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionStage = exports.FEES_ENUM = exports.ActionType = void 0;\nvar ActionType;\n(function (ActionType) {\n ActionType[\"SWAP\"] = \"swap\";\n ActionType[\"WRAP\"] = \"wrap\";\n ActionType[\"BRIDGE\"] = \"bridge\";\n ActionType[\"IBC_TRANSFER\"] = \"ibc-transfer\";\n ActionType[\"CUSTOM\"] = \"custom\";\n ActionType[\"FEE\"] = \"fee\";\n ActionType[\"RFQ\"] = \"rfq\";\n})(ActionType || (exports.ActionType = ActionType = {}));\nvar FEES_ENUM;\n(function (FEES_ENUM) {\n FEES_ENUM[\"PLATFORM\"] = \"PLATFORM\";\n FEES_ENUM[\"INTEGRATOR\"] = \"INTEGRATOR\";\n FEES_ENUM[\"CHAIN\"] = \"CHAIN\";\n FEES_ENUM[\"TOKEN\"] = \"TOKEN\";\n FEES_ENUM[\"TIER\"] = \"TIER\";\n})(FEES_ENUM || (exports.FEES_ENUM = FEES_ENUM = {}));\nvar ActionStage;\n(function (ActionStage) {\n ActionStage[ActionStage[\"EVM_SOURCE\"] = 0] = \"EVM_SOURCE\";\n ActionStage[ActionStage[\"EVM_DESTINATION\"] = 1] = \"EVM_DESTINATION\";\n ActionStage[ActionStage[\"EVM_TRANSIENT\"] = 2] = \"EVM_TRANSIENT\";\n ActionStage[ActionStage[\"EVM_ONLY\"] = 3] = \"EVM_ONLY\";\n ActionStage[ActionStage[\"COSMOS_SOURCE\"] = 4] = \"COSMOS_SOURCE\";\n ActionStage[ActionStage[\"COSMOS_DESTINATION\"] = 5] = \"COSMOS_DESTINATION\";\n ActionStage[ActionStage[\"COSMOS_TRANSIENT\"] = 6] = \"COSMOS_TRANSIENT\";\n ActionStage[ActionStage[\"COSMOS_ONLY\"] = 7] = \"COSMOS_ONLY\";\n ActionStage[ActionStage[\"BTC_SOURCE\"] = 8] = \"BTC_SOURCE\";\n ActionStage[ActionStage[\"BTC_DESTINATION\"] = 9] = \"BTC_DESTINATION\";\n ActionStage[ActionStage[\"SOLANA_SOURCE\"] = 10] = \"SOLANA_SOURCE\";\n ActionStage[ActionStage[\"SOLANA_DESTINATION\"] = 11] = \"SOLANA_DESTINATION\";\n ActionStage[ActionStage[\"SOLANA_ONLY\"] = 12] = \"SOLANA_ONLY\";\n ActionStage[ActionStage[\"SUI_SOURCE\"] = 13] = \"SUI_SOURCE\";\n ActionStage[ActionStage[\"SUI_DESTINATION\"] = 14] = \"SUI_DESTINATION\";\n ActionStage[ActionStage[\"XRPL_SOURCE\"] = 15] = \"XRPL_SOURCE\";\n ActionStage[ActionStage[\"XRPL_DESTINATION\"] = 16] = \"XRPL_DESTINATION\";\n ActionStage[ActionStage[\"STELLAR_SOURCE\"] = 17] = \"STELLAR_SOURCE\";\n ActionStage[ActionStage[\"STELLAR_DESTINATION\"] = 18] = \"STELLAR_DESTINATION\";\n})(ActionStage || (exports.ActionStage = ActionStage = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SuiCoralCallType = exports.CosmosCallType = exports.SquidCallType = exports.SquidRouteType = exports.SquidDataType = void 0;\nvar SquidDataType;\n(function (SquidDataType) {\n SquidDataType[\"OnChainExecution\"] = \"ON_CHAIN_EXECUTION\";\n SquidDataType[\"OnChainExecutionWithSignature\"] = \"ON_CHAIN_EXECUTION_WITH_SIGNATURE\";\n SquidDataType[\"ChainflipDepositAddress\"] = \"CHAINFLIP_DEPOSIT_ADDRESS\";\n SquidDataType[\"DepositAddressCalldata\"] = \"DEPOSIT_ADDRESS_CALLDATA\";\n SquidDataType[\"DepositAddressWithMemo\"] = \"DEPOSIT_ADDRESS_WITH_MEMO\";\n SquidDataType[\"DepositAddressWithSignature\"] = \"DEPOSIT_ADDRESS_WITH_SIGNATURE\";\n})(SquidDataType || (exports.SquidDataType = SquidDataType = {}));\nvar SquidRouteType;\n(function (SquidRouteType) {\n SquidRouteType[\"CALL_BRIDGE_CALL\"] = \"CALL_BRIDGE_CALL\";\n SquidRouteType[\"CALL_BRIDGE\"] = \"CALL_BRIDGE\";\n SquidRouteType[\"BRIDGE_CALL\"] = \"BRIDGE_CALL\";\n SquidRouteType[\"BRIDGE\"] = \"BRIDGE\";\n SquidRouteType[\"EVM_ONLY\"] = \"EVM_ONLY\";\n SquidRouteType[\"COSMOS_ONLY\"] = \"COSMOS_ONLY\";\n SquidRouteType[\"SOLANA_ONLY\"] = \"SOLANA_ONLY\";\n SquidRouteType[\"RFQ\"] = \"RFQ\";\n SquidRouteType[\"CORAL_V2\"] = \"CORAL_V2\";\n SquidRouteType[\"FUND_AND_RUN_MULTICALL\"] = \"FUND_AND_RUN_MULTICALL\";\n})(SquidRouteType || (exports.SquidRouteType = SquidRouteType = {}));\nvar SquidCallType;\n(function (SquidCallType) {\n SquidCallType[SquidCallType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n SquidCallType[SquidCallType[\"FULL_TOKEN_BALANCE\"] = 1] = \"FULL_TOKEN_BALANCE\";\n SquidCallType[SquidCallType[\"FULL_NATIVE_BALANCE\"] = 2] = \"FULL_NATIVE_BALANCE\";\n SquidCallType[SquidCallType[\"COLLECT_TOKEN_BALANCE\"] = 3] = \"COLLECT_TOKEN_BALANCE\";\n})(SquidCallType || (exports.SquidCallType = SquidCallType = {}));\nvar CosmosCallType;\n(function (CosmosCallType) {\n CosmosCallType[CosmosCallType[\"MULTICALL\"] = 0] = \"MULTICALL\";\n CosmosCallType[CosmosCallType[\"IBC_TRANSFER\"] = 1] = \"IBC_TRANSFER\";\n CosmosCallType[CosmosCallType[\"PFM\"] = 2] = \"PFM\";\n CosmosCallType[CosmosCallType[\"GMP\"] = 3] = \"GMP\";\n CosmosCallType[CosmosCallType[\"CCTP\"] = 4] = \"CCTP\";\n})(CosmosCallType || (exports.CosmosCallType = CosmosCallType = {}));\nvar SuiCoralCallType;\n(function (SuiCoralCallType) {\n SuiCoralCallType[SuiCoralCallType[\"DEFAULT\"] = 0] = \"DEFAULT\";\n})(SuiCoralCallType || (exports.SuiCoralCallType = SuiCoralCallType = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SendTokenStatus = exports.CCTPStatus = exports.RouteActionStatus = exports.AxelarRouteAction = exports.SquidTransactionStatus = void 0;\nvar SquidTransactionStatus;\n(function (SquidTransactionStatus) {\n SquidTransactionStatus[\"SUCCESS\"] = \"success\";\n SquidTransactionStatus[\"NEEDS_GAS\"] = \"needs_gas\";\n SquidTransactionStatus[\"ONGOING\"] = \"ongoing\";\n SquidTransactionStatus[\"PARTIAL_SUCCESS\"] = \"partial_success\";\n SquidTransactionStatus[\"NOT_FOUND\"] = \"not_found\";\n SquidTransactionStatus[\"FAILED_DESTINATION\"] = \"failed_on_destination\";\n SquidTransactionStatus[\"REFUNDED\"] = \"refunded\";\n})(SquidTransactionStatus || (exports.SquidTransactionStatus = SquidTransactionStatus = {}));\nvar AxelarRouteAction;\n(function (AxelarRouteAction) {\n AxelarRouteAction[\"CALL\"] = \"call\";\n AxelarRouteAction[\"EXECUTED\"] = \"executed\";\n AxelarRouteAction[\"IBC_TRANSFER\"] = \"ibc_transfer\";\n AxelarRouteAction[\"SEND\"] = \"send\";\n AxelarRouteAction[\"VOTE\"] = \"vote\";\n AxelarRouteAction[\"IBC_SEND\"] = \"ibc_send\";\n AxelarRouteAction[\"GAS_PAID\"] = \"gas_paid\";\n AxelarRouteAction[\"APPROVED\"] = \"approved\";\n})(AxelarRouteAction || (exports.AxelarRouteAction = AxelarRouteAction = {}));\nvar RouteActionStatus;\n(function (RouteActionStatus) {\n RouteActionStatus[\"SUCCESS\"] = \"success\";\n RouteActionStatus[\"FAILURE\"] = \"failure\";\n RouteActionStatus[\"NOT_FOUND\"] = \"not_found\";\n RouteActionStatus[\"UNKNOWN\"] = \"unknown\";\n RouteActionStatus[\"AWAITING\"] = \"awaiting\";\n RouteActionStatus[\"REFUNDED\"] = \"refunded\";\n})(RouteActionStatus || (exports.RouteActionStatus = RouteActionStatus = {}));\nvar CCTPStatus;\n(function (CCTPStatus) {\n CCTPStatus[\"ERROR\"] = \"error\";\n CCTPStatus[\"COMPLETE\"] = \"complete\";\n CCTPStatus[\"PENDING\"] = \"pending\";\n})(CCTPStatus || (exports.CCTPStatus = CCTPStatus = {}));\nvar SendTokenStatus;\n(function (SendTokenStatus) {\n SendTokenStatus[\"ASSET_SENT\"] = \"asset_sent\";\n SendTokenStatus[\"EXECUTED\"] = \"executed\";\n})(SendTokenStatus || (exports.SendTokenStatus = SendTokenStatus = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WrapDirection = exports.WrapperName = exports.WrapperType = void 0;\nvar WrapperType;\n(function (WrapperType) {\n WrapperType[\"WRAPPED_NATIVE\"] = \"WrappedNative\";\n WrapperType[\"OVERNIGHT\"] = \"Overnight\";\n WrapperType[\"DEUS\"] = \"Deus\";\n WrapperType[\"WSTETH\"] = \"WstETH\";\n WrapperType[\"WRAPPED_MAI\"] = \"WrappedMAI\";\n WrapperType[\"WRAPPED_USDY\"] = \"WrappedUSDY\";\n WrapperType[\"CONVERTER_DAI_USDS\"] = \"ConverterDAIUSDS\";\n WrapperType[\"CONVERTER_MKR_SKY\"] = \"ConverterMKRSKY\";\n WrapperType[\"SAUCERSWAP_WRAPPED_HBAR\"] = \"SaucerSwapWrappedHBAR\";\n})(WrapperType || (exports.WrapperType = WrapperType = {}));\nvar WrapperName;\n(function (WrapperName) {\n WrapperName[\"WRAPPED_NATIVE\"] = \"Native Wrapper\";\n WrapperName[\"OVERNIGHT\"] = \"Overnight Finance\";\n WrapperName[\"DEUS\"] = \"DEUS Finance\";\n WrapperName[\"WSTETH\"] = \"Lido Wrapped stETH\";\n WrapperName[\"WRAPPED_MAI\"] = \"QiDAO Wrapped MAI\";\n WrapperName[\"WRAPPED_USDY\"] = \"Ondo Finance\";\n WrapperName[\"SKY_PROTOCOL_USDS\"] = \"DAI USDS Converter\";\n WrapperName[\"SKY_PROTOCOL_SKY\"] = \"MKR SKY Converter\";\n WrapperName[\"SAUCERSWAP_HBAR_WRAPPER\"] = \"SaucerSwap HBAR Wrapper\";\n})(WrapperName || (exports.WrapperName = WrapperName = {}));\nvar WrapDirection;\n(function (WrapDirection) {\n WrapDirection[\"WRAP\"] = \"wrap\";\n WrapDirection[\"UNWRAP\"] = \"unwrap\";\n})(WrapDirection || (exports.WrapDirection = WrapDirection = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathFeature = void 0;\nvar PathFeature;\n(function (PathFeature) {\n PathFeature[\"includeCoralPaths\"] = \"1\";\n PathFeature[\"onlyCoralPaths\"] = \"2\";\n PathFeature[\"includeCoralV2Paths\"] = \"3\";\n PathFeature[\"onlyCoralV2Paths\"] = \"4\";\n PathFeature[\"includeCoralV2PreHooks\"] = \"5\";\n PathFeature[\"includeCoralV2PostHooks\"] = \"6\";\n PathFeature[\"isExactOutput\"] = \"7\";\n // Add more features as needed\n})(PathFeature || (exports.PathFeature = PathFeature = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TRMIdentifier = void 0;\nvar TRMIdentifier;\n(function (TRMIdentifier) {\n TRMIdentifier[\"ALGORAND\"] = \"algorand\";\n TRMIdentifier[\"ARBITRUM\"] = \"arbitrum\";\n TRMIdentifier[\"AVALANCHE\"] = \"avalanche_c_chain\";\n TRMIdentifier[\"BASE\"] = \"base\";\n TRMIdentifier[\"BERACHAIN\"] = \"berachain\";\n TRMIdentifier[\"BINANCE\"] = \"binance\";\n TRMIdentifier[\"BINANCE_SMART_CHAIN\"] = \"binance_smart_chain\";\n TRMIdentifier[\"BITCOIN\"] = \"bitcoin\";\n TRMIdentifier[\"BITCOIN_CASH\"] = \"bitcoin_cash\";\n TRMIdentifier[\"BYTOM\"] = \"bytom\";\n TRMIdentifier[\"CARDANO\"] = \"cardano\";\n TRMIdentifier[\"CELO\"] = \"celo\";\n TRMIdentifier[\"COSMOS\"] = \"cosmos\";\n TRMIdentifier[\"DASH\"] = \"dash\";\n TRMIdentifier[\"DOGECOIN\"] = \"dogecoin\";\n TRMIdentifier[\"ELASTOS\"] = \"elastos\";\n TRMIdentifier[\"ETHEREUM\"] = \"ethereum\";\n TRMIdentifier[\"ETHEREUM_CLASSIC\"] = \"ethereum_classic\";\n TRMIdentifier[\"ELROND\"] = \"elrond\";\n TRMIdentifier[\"FANTOM\"] = \"fantom\";\n TRMIdentifier[\"FILECOIN\"] = \"filecoin\";\n TRMIdentifier[\"HEDERA\"] = \"hedera\";\n TRMIdentifier[\"ICON\"] = \"icon\";\n TRMIdentifier[\"IOST\"] = \"iost\";\n TRMIdentifier[\"IOTA\"] = \"iota\";\n TRMIdentifier[\"KLAYTN\"] = \"klaytn\";\n TRMIdentifier[\"LISK\"] = \"lisk\";\n TRMIdentifier[\"LITECOIN\"] = \"litecoin\";\n TRMIdentifier[\"MONERO\"] = \"monero\";\n TRMIdentifier[\"NEBULAS\"] = \"nebulas\";\n TRMIdentifier[\"NEO\"] = \"neo\";\n TRMIdentifier[\"OASIS\"] = \"oasis\";\n TRMIdentifier[\"OMNI\"] = \"omni\";\n TRMIdentifier[\"ONTOLOGY\"] = \"ontology\";\n TRMIdentifier[\"OPTIMISM\"] = \"optimism\";\n TRMIdentifier[\"PAI\"] = \"pai\";\n TRMIdentifier[\"POLKADOT\"] = \"polkadot\";\n TRMIdentifier[\"POLYGON\"] = \"polygon\";\n TRMIdentifier[\"QTUM\"] = \"qtum\";\n TRMIdentifier[\"XRPLEDGER\"] = \"ripple\";\n TRMIdentifier[\"SOLANA\"] = \"solana\";\n TRMIdentifier[\"STEEM\"] = \"steem\";\n TRMIdentifier[\"STELLAR\"] = \"stellar\";\n TRMIdentifier[\"TEZOS\"] = \"tezos\";\n TRMIdentifier[\"TRON\"] = \"tron\";\n TRMIdentifier[\"ZCASH\"] = \"zcash\";\n TRMIdentifier[\"ZILLIQA\"] = \"zilliqa\";\n})(TRMIdentifier || (exports.TRMIdentifier = TRMIdentifier = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LayerZeroEndpoint = exports.CoralMessageProvider = exports.HubEventType = exports.SpokeEventType = void 0;\nvar SpokeEventType;\n(function (SpokeEventType) {\n SpokeEventType[\"ORDER_CREATED\"] = \"OrderCreated\";\n SpokeEventType[\"ORDER_FILLED\"] = \"OrderFilled\";\n SpokeEventType[\"ORDER_REFUNDED\"] = \"OrderRefunded\";\n SpokeEventType[\"SETTLEMENT_FORWARDED\"] = \"SettlementForwarded\";\n SpokeEventType[\"TOKENS_RELEASED\"] = \"TokensReleased\";\n})(SpokeEventType || (exports.SpokeEventType = SpokeEventType = {}));\nvar HubEventType;\n(function (HubEventType) {\n HubEventType[\"SETTLEMENT_FILLED\"] = \"SettlementFilled\";\n HubEventType[\"SETTLEMENT_PROCESSED\"] = \"SettlementProcessed\";\n})(HubEventType || (exports.HubEventType = HubEventType = {}));\nvar CoralMessageProvider;\n(function (CoralMessageProvider) {\n CoralMessageProvider[\"UNSUPPORTED\"] = \"Unsupported\";\n CoralMessageProvider[\"AXELAR\"] = \"Axelar\";\n CoralMessageProvider[\"LAYER_ZERO\"] = \"LayerZero\";\n})(CoralMessageProvider || (exports.CoralMessageProvider = CoralMessageProvider = {}));\nvar LayerZeroEndpoint;\n(function (LayerZeroEndpoint) {\n LayerZeroEndpoint[\"DEFAULT\"] = \"0\";\n LayerZeroEndpoint[\"ETHEREUM\"] = \"30101\";\n LayerZeroEndpoint[\"OPTIMISM\"] = \"30111\";\n LayerZeroEndpoint[\"BINANCE\"] = \"30102\";\n LayerZeroEndpoint[\"GNOSIS\"] = \"30145\";\n LayerZeroEndpoint[\"POLYGON\"] = \"30109\";\n LayerZeroEndpoint[\"SONIC\"] = \"30332\";\n LayerZeroEndpoint[\"FANTOM\"] = \"30112\";\n LayerZeroEndpoint[\"HYPER_EVM\"] = \"30367\";\n LayerZeroEndpoint[\"SONEIUM\"] = \"30340\";\n LayerZeroEndpoint[\"PEAQ\"] = \"30302\";\n LayerZeroEndpoint[\"BASE\"] = \"30184\";\n LayerZeroEndpoint[\"ARBITRUM\"] = \"30110\";\n LayerZeroEndpoint[\"CELO\"] = \"30125\";\n LayerZeroEndpoint[\"AVALANCHE\"] = \"30106\";\n LayerZeroEndpoint[\"LINEA\"] = \"30183\";\n LayerZeroEndpoint[\"BERACHAIN\"] = \"30362\";\n LayerZeroEndpoint[\"BLAST\"] = \"30243\";\n})(LayerZeroEndpoint || (exports.LayerZeroEndpoint = LayerZeroEndpoint = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FeatureFlagType = void 0;\nvar FeatureFlagType;\n(function (FeatureFlagType) {\n FeatureFlagType[\"MaintenanceMode\"] = \"maintenance\";\n FeatureFlagType[\"Bitcoin\"] = \"bitcoin\";\n FeatureFlagType[\"BitcoinCoralV2\"] = \"bitcoinCoralV2\";\n FeatureFlagType[\"Solana\"] = \"solana\";\n FeatureFlagType[\"SolanaCoralV2\"] = \"solanaCoralV2\";\n FeatureFlagType[\"Chainflip\"] = \"chainflip\";\n FeatureFlagType[\"Coral\"] = \"coral\";\n FeatureFlagType[\"CoralOnly\"] = \"coralOnly\";\n FeatureFlagType[\"CoralV2\"] = \"coralV2\";\n FeatureFlagType[\"CoralV2PostHooks\"] = \"coralV2PostHooks\";\n FeatureFlagType[\"CoralV2PreHooks\"] = \"coralV2PreHooks\";\n FeatureFlagType[\"ChainflipMultihop\"] = \"chainflipMultihop\";\n FeatureFlagType[\"SagaRoutes\"] = \"sagaRoutes\";\n FeatureFlagType[\"BypassCompliance\"] = \"bypassCompliance\";\n FeatureFlagType[\"Ripple\"] = \"ripple\";\n FeatureFlagType[\"RippleCoralV2\"] = \"rippleCoralV2\";\n FeatureFlagType[\"Megabridge\"] = \"megabridge\";\n FeatureFlagType[\"Stellar\"] = \"stellar\";\n FeatureFlagType[\"StellarCoralV2\"] = \"stellarCoralV2\";\n FeatureFlagType[\"Mantra\"] = \"mantra\";\n FeatureFlagType[\"HederaPilot\"] = \"hederaPilot\";\n FeatureFlagType[\"Citrea\"] = \"citrea\";\n FeatureFlagType[\"HederaCoralV2\"] = \"hederaCoralV2\";\n FeatureFlagType[\"HederaBlocked\"] = \"hederaBlocked\";\n FeatureFlagType[\"AddressQuoteRateLimit\"] = \"addressQuoteRateLimit\";\n FeatureFlagType[\"ExactOutputRouting\"] = \"exactOutputRouting\";\n FeatureFlagType[\"Tempo\"] = \"tempo\";\n FeatureFlagType[\"TempoCoralV2\"] = \"tempoCoralV2\";\n FeatureFlagType[\"AddressValidation\"] = \"addressValidation\";\n})(FeatureFlagType || (exports.FeatureFlagType = FeatureFlagType = {}));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./chains\"), exports);\n__exportStar(require(\"./bridges\"), exports);\n__exportStar(require(\"./dexes\"), exports);\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./tokens\"), exports);\n__exportStar(require(\"./fees\"), exports);\n__exportStar(require(\"./quote\"), exports);\n__exportStar(require(\"./routes\"), exports);\n__exportStar(require(\"./squid\"), exports);\n__exportStar(require(\"./status\"), exports);\n__exportStar(require(\"./wrappers\"), exports);\n__exportStar(require(\"./path\"), exports);\n__exportStar(require(\"./compliance\"), exports);\n__exportStar(require(\"./rfq\"), exports);\n__exportStar(require(\"./gas\"), exports);\n__exportStar(require(\"./featureFlag\"), exports);\n__exportStar(require(\"./depositAddress\"), exports);\n//# sourceMappingURL=index.js.map","import { ChainType } from \"@0xsquid/squid-types\";\n\ninterface ChainTypeMeta {\n name: string;\n icon: string;\n}\n\nexport const CHAIN_TYPE_META: Record<ChainType, ChainTypeMeta> = {\n [ChainType.EVM]: {\n icon: \"https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/chains/ethereum.webp\",\n name: \"Ethereum\",\n },\n [ChainType.COSMOS]: {\n icon: \"https://raw.githubusercontent.com/0xsquid/assets/main/squid-brand-assets/custom-chain-icons/cosmos.webp\",\n name: \"Cosmos\",\n },\n [ChainType.BTC]: {\n icon: \"https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/chains/bitcoin.webp\",\n name: \"Bitcoin\",\n },\n [ChainType.SOLANA]: {\n icon: \"https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/chains/solana.webp\",\n name: \"Solana\",\n },\n [ChainType.SUI]: {\n icon: \"https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/chains/sui.webp\",\n name: \"Sui\",\n },\n [ChainType.XRPL]: {\n icon: \"https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/chains/xrpl.webp\",\n name: \"XRPL\",\n },\n [ChainType.STELLAR]: {\n icon: \"https://raw.githubusercontent.com/0xsquid/assets/main/images/webp128/chains/stellar.webp\",\n name: \"Stellar\",\n },\n};\n","import { useCallback, useMemo, useState } from \"react\";\nimport {\n ConnectingWalletStatus,\n useWallet,\n useWallets,\n sortWallets,\n} from \"@0xsquid/react-hooks\";\nimport type { ConnectorID, Wallet } from \"@0xsquid/react-hooks\";\nimport type { ChainType } from \"@0xsquid/squid-types\";\nimport Fuse from \"fuse.js\";\nimport { SubNavBar } from \"../../components/shared/navigation/sub-navbar\";\nimport { useRouter } from \"../../store/useRouter\";\nimport { WalletListItem } from \"./wallet-list-item\";\nimport { ViewContainer } from \"../../components/view-container\";\nimport { CHAIN_TYPE_META } from \"../select-chain/chain-type-meta\";\n\nconst WALLET_PRIORITY_LIST: ConnectorID[] = [\n \"walletConnect\",\n \"metamask\",\n \"phantom\",\n \"rabby\",\n \"trustwallet\",\n];\n\nfunction walletSupportsChainType(wallet: Wallet, chainType: ChainType) {\n if (wallet.isMultiChain) {\n return wallet.supportedNetworks.some((n) => n.chainType === chainType);\n }\n return wallet.type === chainType;\n}\n\ninterface ConnectWalletViewProps {\n chainType: ChainType | null;\n}\n\nexport function ConnectWalletView({ chainType }: ConnectWalletViewProps) {\n const { wallets } = useWallets();\n const { connectWallet, connectingWalletState } = useWallet();\n const pop = useRouter((s) => s.pop);\n const push = useRouter((s) => s.push);\n const [search, setSearch] = useState(\"\");\n\n const requiredChainType = chainType;\n\n const connectingConnectorId =\n connectingWalletState.status === ConnectingWalletStatus.CONNECTING\n ? connectingWalletState.wallet?.connectorId\n : undefined;\n\n const isMultiChainWallet = useCallback(\n (wallet: Wallet) =>\n !requiredChainType &&\n wallet.isMultiChain &&\n wallet.supportedNetworks.length > 1 &&\n !!wallet.isInstalled?.(),\n [requiredChainType],\n );\n\n const onWalletClicked = async (wallet: Wallet) => {\n if (isMultiChainWallet(wallet)) {\n push({ id: \"select-chain\", wallet });\n return;\n }\n\n try {\n const selectedChainTypes = requiredChainType\n ? [requiredChainType]\n : undefined;\n const connected = await connectWallet({ wallet, selectedChainTypes });\n if (connected) {\n pop();\n }\n } catch (error) {\n console.error(\"Failed to connect wallet:\", error);\n }\n };\n\n const sortedWallets = useMemo(\n () =>\n wallets.toSorted((a, b) => {\n if (requiredChainType) {\n const aSupports = walletSupportsChainType(a, requiredChainType);\n const bSupports = walletSupportsChainType(b, requiredChainType);\n if (aSupports !== bSupports) return aSupports ? -1 : 1;\n }\n return sortWallets(a, b, {\n isMobile: false,\n priorityList: WALLET_PRIORITY_LIST,\n });\n }),\n [wallets, requiredChainType],\n );\n\n const fuse = useMemo(\n () =>\n new Fuse(sortedWallets, {\n isCaseSensitive: false,\n includeScore: false,\n minMatchCharLength: 1,\n threshold: 0.4,\n keys: [\"name\"],\n }),\n [sortedWallets],\n );\n\n const walletsToDisplay = useMemo(() => {\n if (search.length === 0) return sortedWallets;\n return fuse.search(search).map((result) => result.item);\n }, [fuse, search, sortedWallets]);\n\n const chainTypeWallets = useMemo(() => {\n if (!requiredChainType) return walletsToDisplay;\n return walletsToDisplay.filter((w) =>\n walletSupportsChainType(w, requiredChainType),\n );\n }, [walletsToDisplay, requiredChainType]);\n\n return (\n <>\n <SubNavBar\n input={{\n placeholder: requiredChainType\n ? `Select ${CHAIN_TYPE_META[requiredChainType].name} wallet`\n : \"Select wallet\",\n onChange: (e) => setSearch(e.target.value),\n autoComplete: \"off\",\n autoCorrect: \"off\",\n spellCheck: false,\n }}\n />\n\n <ViewContainer>\n <ul className=\"tw-flex tw-flex-col tw-items-start tw-flex-1 tw-self-stretch\">\n {chainTypeWallets.map((wallet) => (\n <WalletListItem\n key={wallet.connectorId}\n wallet={wallet}\n isConnecting={wallet.connectorId === connectingConnectorId}\n showAsMultiChain={isMultiChainWallet(wallet)}\n onClick={() => onWalletClicked(wallet)}\n />\n ))}\n </ul>\n </ViewContainer>\n </>\n );\n}\n","import { cn } from \"@0xsquid/ui\";\n\ntype ButtonProps = React.ComponentProps<\"button\">;\n\nexport function Button(props: ButtonProps) {\n return (\n <button\n {...props}\n className={cn(\n \"tw-flex tw-justify-center tw-items-center tw-flex-1 tw-self-stretch tw-rounded-2xl tw-text-lg tw-text-grey-900 tw-bg-grey-100 tw-bg-cta-button-light dark:tw-bg-cta-button-dark tw-shadow-cta-button-light dark:tw-shadow-cta-button-dark\",\n // disabled\n \"disabled:tw-cursor-not-allowed disabled:tw-bg-grey-800 disabled:tw-text-grey-600 disabled:dark:tw-bg-grey-800 disabled:dark:tw-text-grey-500\",\n props.className,\n )}\n />\n );\n}\n","import { create } from \"zustand\";\nimport type { DepositConfig } from \"../types\";\n\ninterface DepositState {\n config: DepositConfig | null;\n setConfig: (config: DepositConfig) => void;\n}\n\nexport const useDepositStore = create<DepositState>((set) => ({\n config: null,\n setConfig: (config) => set({ config }),\n}));\n\nexport const useIsPaymentMode = (): boolean =>\n useDepositStore((s) => s.config?.mode === \"payment\");\n\nexport const usePaymentAmount = (): string | null =>\n useDepositStore((s) =>\n s.config?.mode === \"payment\" ? s.config.amount : null,\n );\n","import {\n formatBNToReadable,\n getSquidRouteErrorMessage,\n useGetRouteWrapper,\n useMultiChainWallet,\n useSwap,\n} from \"@0xsquid/react-hooks\";\nimport type { RouteResponse } from \"@0xsquid/squid-types\";\nimport { useDepositStore } from \"../store/use-deposit-store\";\nimport { selectCurrentView, useRouter } from \"../store/useRouter\";\n\nfunction formatRouteError(message: string): string {\n if (message === \"Low liquidity, please reduce swap amount and try again\") {\n return \"Low liquidity, select a different token or reduce the amount\";\n }\n return message;\n}\n\nexport function useDepositRoute(): {\n routeData: RouteResponse[\"route\"] | undefined;\n quotedSourceAmount: string | undefined;\n showLoading: boolean;\n routeErrorMessage: string | undefined;\n} {\n const config = useDepositStore((s) => s.config);\n const { fromChain, fromToken, toChain, toToken, fromAmount, toAmount } =\n useSwap();\n const { connectedAddress } = useMultiChainWallet(fromChain);\n const sourceAddress = connectedAddress.address;\n const currentView = useRouter(selectCurrentView);\n\n const quoteOnly = !sourceAddress || !config?.destinationAddress;\n\n const enabled =\n currentView.id === \"main\" &&\n Boolean(\n fromChain && fromToken && toChain && toToken && (fromAmount || toAmount),\n );\n\n const { routeData, showLoading, squidRouteError } = useGetRouteWrapper({\n quoteOnly,\n enabled,\n });\n\n const quotedSourceAmount =\n routeData && fromToken\n ? formatBNToReadable(routeData.estimate.fromAmount, fromToken.decimals)\n : undefined;\n\n return {\n routeData,\n quotedSourceAmount,\n showLoading,\n routeErrorMessage: squidRouteError\n ? formatRouteError(getSquidRouteErrorMessage(squidRouteError))\n : undefined,\n };\n}\n","import { isChainflipBridgeTransaction } from \"@0xsquid/react-hooks\";\nimport type { ChainData } from \"@0xsquid/squid-types\";\nimport type { RouteAction } from \"./types\";\n\n// Ported from squid-widget's getMainExplorerUrl (richer than the one in @0xsquid/react-hooks).\n// Source: squid-widget repo — packages/widget/src/widget/services/internal/transactionService.ts\n// TODO: consolidate into @0xsquid/react-hooks when that version picks up coral + chainflip support.\n\nexport interface ExplorerStatusResponse {\n coralTransactionUrl?: string;\n axelarTransactionUrl?: string;\n transactionUrl?: string;\n toChain?: { transactionUrl?: string };\n}\n\nexport interface ExplorerInput {\n transactionId?: string;\n routeType?: string;\n sourceTxExplorerUrl?: string;\n statusResponse?: ExplorerStatusResponse;\n actions?: RouteAction[];\n sourceChain?: ChainData | undefined;\n}\n\nexport interface MainExplorer {\n url: string;\n name: string;\n}\n\nexport function getMainExplorerUrl(\n transaction: ExplorerInput,\n): MainExplorer | undefined {\n if (transaction.statusResponse?.coralTransactionUrl) {\n return {\n url: transaction.statusResponse.coralTransactionUrl,\n name: \"Squidscan\",\n };\n }\n\n if (transaction.statusResponse?.axelarTransactionUrl) {\n return {\n url: transaction.statusResponse.axelarTransactionUrl,\n name: \"Axelarscan\",\n };\n }\n\n const chainflipScanUrl = transaction.statusResponse?.toChain?.transactionUrl;\n if (\n chainflipScanUrl &&\n isChainflipBridgeTransaction(transaction.actions ?? [])\n ) {\n return { url: chainflipScanUrl, name: \"Chainflip\" };\n }\n\n if (transaction.sourceTxExplorerUrl) {\n return {\n url: transaction.sourceTxExplorerUrl,\n name: transaction.sourceChain?.networkName\n ? `${transaction.sourceChain.networkName} explorer`\n : \"Source explorer\",\n };\n }\n\n if (transaction.statusResponse?.transactionUrl) {\n return {\n url: transaction.statusResponse.transactionUrl,\n name: transaction.sourceChain?.networkName\n ? `${transaction.sourceChain.networkName} explorer`\n : \"Source explorer\",\n };\n }\n\n return undefined;\n}\n","import { useMemo } from \"react\";\nimport {\n getBridgeType,\n simplifyRouteAction,\n TransactionErrorType,\n TransactionStatus,\n useEstimate,\n useSwap,\n useSwapTransactionStatus,\n useTransactionStore,\n} from \"@0xsquid/react-hooks\";\nimport { useDepositRoute } from \"../../hooks/use-deposit-route\";\nimport { getMainExplorerUrl } from \"../../services/wallet-history/get-main-explorer-url\";\nimport { useDepositStore } from \"../../store/use-deposit-store\";\n\nexport enum DepositStatus {\n CONFIRMING,\n PROCESSING,\n COMPLETED,\n PARTIAL_SUCCESS,\n REJECTED,\n FAILED,\n}\n\nexport function useTransactionProgress() {\n const currentTransaction = useTransactionStore(\n (state) => state.currentTransaction,\n );\n\n const { routeData } = useDepositRoute();\n const { fromChain } = useSwap();\n const { estimatedRouteDuration } = useEstimate(routeData);\n const config = useDepositStore((s) => s.config);\n\n const { latestStatus, transactionStatusQuery } = useSwapTransactionStatus({\n transaction: {\n fromAddress: currentTransaction?.fromAddress ?? \"\",\n fromChain: currentTransaction?.fromChain?.chainId ?? \"\",\n toChain: currentTransaction?.toChain?.chainId ?? \"\",\n transactionId: currentTransaction?.transactionId ?? \"\",\n status: currentTransaction?.status ?? TransactionStatus.PENDING,\n bridgeType: getBridgeType(routeData?.estimate.actions),\n actions: routeData?.estimate.actions,\n transactionIdForStatus: currentTransaction?.transactionIdForStatus,\n quoteId: currentTransaction?.quoteId,\n depositTxVerificationSignature:\n currentTransaction?.depositTxVerificationSignature,\n },\n });\n\n const status = useMemo<DepositStatus>(() => {\n if (currentTransaction === undefined) {\n return DepositStatus.CONFIRMING;\n }\n\n if (\n currentTransaction.error?.type === TransactionErrorType.REJECTED_BY_USER\n ) {\n return DepositStatus.REJECTED;\n }\n\n if (currentTransaction.sourceStatus === \"error\") {\n return DepositStatus.FAILED;\n }\n\n if (latestStatus === TransactionStatus.SUCCESS) {\n return DepositStatus.COMPLETED;\n }\n\n if (\n latestStatus === TransactionStatus.PARTIAL_SUCCESS ||\n latestStatus === TransactionStatus.REFUNDED\n ) {\n return DepositStatus.PARTIAL_SUCCESS;\n }\n\n if (latestStatus === TransactionStatus.ERROR) {\n return DepositStatus.FAILED;\n }\n\n if (\n latestStatus === TransactionStatus.ONGOING ||\n latestStatus === TransactionStatus.INITIAL_LOADING ||\n latestStatus === TransactionStatus.PENDING\n ) {\n return DepositStatus.PROCESSING;\n }\n\n return DepositStatus.CONFIRMING;\n }, [currentTransaction, latestStatus]);\n\n const explorerLink = getMainExplorerUrl({\n routeType: currentTransaction?.routeType,\n transactionId: currentTransaction?.transactionId,\n sourceTxExplorerUrl: currentTransaction?.sourceTxExplorerUrl,\n statusResponse: transactionStatusQuery.data,\n actions: routeData?.estimate.actions?.map(simplifyRouteAction),\n sourceChain: fromChain,\n });\n\n return {\n status,\n explorerLink,\n estimatedTime: estimatedRouteDuration\n ? `~${estimatedRouteDuration.format()}`\n : undefined,\n recipient: {\n name: config?.integrator.name ?? \"Recipient\",\n address: config?.destinationAddress ?? \"\",\n },\n };\n}\n","import { CaptionText, Transfer } from \"@0xsquid/ui\";\nimport { DepositStatus } from \"./use-transaction-progress\";\n\nexport function getStatusTitle(\n status: DepositStatus,\n isPaymentMode: boolean,\n): string {\n const action = isPaymentMode ? \"Payment\" : \"Deposit\";\n switch (status) {\n case DepositStatus.CONFIRMING:\n return \"Confirm transaction\";\n case DepositStatus.PROCESSING:\n return `${action} in progress`;\n case DepositStatus.COMPLETED:\n return `${action} complete`;\n case DepositStatus.PARTIAL_SUCCESS:\n return `${action} failed to complete`;\n case DepositStatus.REJECTED:\n return `${action} rejected`;\n case DepositStatus.FAILED:\n return `${action} failed`;\n }\n}\n\nexport function getStatusDescription(\n status: DepositStatus,\n {\n amount,\n symbol,\n recipientName,\n isPaymentMode,\n }: {\n amount: string;\n symbol: string;\n recipientName: string;\n isPaymentMode: boolean;\n },\n): string {\n const verb = isPaymentMode ? \"paid\" : \"deposited\";\n switch (status) {\n case DepositStatus.CONFIRMING:\n return \"Authenticate the transaction in your wallet.\";\n case DepositStatus.PROCESSING:\n return \"Feel free to dismiss this dialog.\";\n case DepositStatus.COMPLETED:\n return `You ${verb} ${amount} ${symbol} to ${recipientName} successfully.`;\n case DepositStatus.PARTIAL_SUCCESS:\n return \"You received a refund to your wallet.\";\n case DepositStatus.REJECTED:\n return \"You declined the transaction in your wallet.\";\n case DepositStatus.FAILED:\n return \"Your tokens were safely returned to your wallet.\";\n }\n}\n\nexport function getButtonLabel(status: DepositStatus): string {\n switch (status) {\n case DepositStatus.CONFIRMING:\n return \"Cancel\";\n case DepositStatus.PROCESSING:\n case DepositStatus.COMPLETED:\n return \"Ok, done\";\n case DepositStatus.PARTIAL_SUCCESS:\n return \"Ok, go back\";\n case DepositStatus.REJECTED:\n case DepositStatus.FAILED:\n return \"Ok, go back\";\n }\n}\n\nexport function TimeDetail({\n status,\n timer,\n estimatedTimeDisplay,\n}: {\n status: DepositStatus;\n timer: string;\n estimatedTimeDisplay: string | undefined;\n}) {\n switch (status) {\n case DepositStatus.PROCESSING:\n return estimatedTimeDisplay ? (\n <Transfer from={timer} to={estimatedTimeDisplay} />\n ) : (\n <CaptionText>{timer}</CaptionText>\n );\n case DepositStatus.COMPLETED:\n case DepositStatus.PARTIAL_SUCCESS:\n return <CaptionText>{timer}</CaptionText>;\n default:\n return <CaptionText>{estimatedTimeDisplay ?? \"—\"}</CaptionText>;\n }\n}\n","import {\n formatHash,\n formatTokenAmount,\n getTokenImage,\n useEstimate,\n useExecuteTransaction,\n useSwap,\n} from \"@0xsquid/react-hooks\";\nimport {\n AnimationWrapper,\n ArrowRightDownCircleIcon,\n ArrowRightUpCircleIcon,\n BodyText,\n CaptionText,\n IconLabel,\n Image,\n PropertyListItem,\n SquareArrowTopRightIcon,\n TimeFliesIcon,\n transactionFailureAnimation,\n transactionHalfSuccessAnimation,\n transactionPendingAnimation,\n transactionProcessingAnimation,\n transactionRejectedAnimation,\n transactionSuccessAnimation,\n useTimer,\n WalletFilledIcon,\n} from \"@0xsquid/ui\";\nimport { useEffect } from \"react\";\nimport { Button } from \"../../components/shared/buttons/button\";\nimport { SubNavBar } from \"../../components/shared/navigation/sub-navbar\";\nimport { ViewContainer } from \"../../components/view-container\";\nimport { useDepositRoute } from \"../../hooks/use-deposit-route\";\nimport {\n useDepositStore,\n useIsPaymentMode,\n} from \"../../store/use-deposit-store\";\nimport { useRouter } from \"../../store/useRouter\";\nimport {\n getButtonLabel,\n getStatusDescription,\n getStatusTitle,\n TimeDetail,\n} from \"./helpers\";\nimport {\n DepositStatus,\n useTransactionProgress,\n} from \"./use-transaction-progress\";\n\nconst progressAnimations: Record<DepositStatus, object> = {\n [DepositStatus.CONFIRMING]: transactionPendingAnimation,\n [DepositStatus.PROCESSING]: transactionProcessingAnimation,\n [DepositStatus.COMPLETED]: transactionSuccessAnimation,\n [DepositStatus.PARTIAL_SUCCESS]: transactionHalfSuccessAnimation,\n [DepositStatus.REJECTED]: transactionRejectedAnimation,\n [DepositStatus.FAILED]: transactionFailureAnimation,\n};\n\nexport function TransactionProgressView() {\n const popToRoot = useRouter((s) => s.popToRoot);\n const isPaymentMode = useIsPaymentMode();\n const config = useDepositStore((s) => s.config);\n const { fromToken, toToken } = useSwap();\n\n const { routeData } = useDepositRoute();\n const { fromAmountFormatted: rawFromAmount, toAmount } =\n useEstimate(routeData);\n const { cancelSwap } = useExecuteTransaction(routeData);\n\n const { status, estimatedTime, recipient, explorerLink } =\n useTransactionProgress();\n\n const { timer, startTimer, stopTimer } = useTimer({ immediateStart: false });\n\n useEffect(() => {\n if (status === DepositStatus.PROCESSING) {\n startTimer();\n } else if (\n status === DepositStatus.COMPLETED ||\n status === DepositStatus.PARTIAL_SUCCESS ||\n status === DepositStatus.REJECTED ||\n status === DepositStatus.FAILED\n ) {\n stopTimer();\n }\n }, [status, startTimer, stopTimer]);\n\n const actionLabel = isPaymentMode ? \"Payment\" : \"Deposit\";\n const fromAmountFormatted = formatTokenAmount(rawFromAmount ?? \"0\", {\n exact: false,\n });\n const toAmountFormatted = formatTokenAmount(toAmount ?? \"0\", {\n exact: false,\n });\n\n const handleClose = () => {\n if (status === DepositStatus.CONFIRMING) {\n cancelSwap();\n }\n popToRoot();\n };\n\n const title = getStatusTitle(status, isPaymentMode);\n const description = getStatusDescription(status, {\n amount: toAmountFormatted,\n symbol: toToken?.symbol ?? \"\",\n recipientName: recipient.name,\n isPaymentMode,\n });\n\n return (\n <>\n <SubNavBar title={actionLabel} />\n\n <ViewContainer className=\"!tw-py-0\">\n <div className=\"tw-flex tw-h-20 tw-w-full tw-items-center tw-justify-center tw-bg-animation-bg [&_svg_path]:tw-stroke-[6]\">\n <AnimationWrapper\n style={{ height: \"100%\", maxHeight: \"100%\", width: \"auto\" }}\n autoplay\n loop\n src={progressAnimations[status]}\n />\n </div>\n\n <header className=\"tw-flex tw-w-full tw-flex-col tw-gap-squid-xs tw-px-squid-m tw-py-squid-s\">\n <div className=\"tw-flex tw-items-center tw-gap-2\">\n <BodyText size=\"large\" className=\"tw-text-grey-300\">\n {title}\n </BodyText>\n </div>\n <CaptionText className=\"tw-text-grey-500\">{description}</CaptionText>\n </header>\n\n <ul className=\"tw-flex tw-w-full tw-flex-col tw-items-center tw-justify-center tw-gap-squid-xxs tw-rounded-squid-l tw-pb-squid-s tw-pt-squid-xs tw-squid-property-gradient-bg-odd-container\">\n <PropertyListItem\n icon={<ArrowRightUpCircleIcon />}\n label=\"You send\"\n detail={\n <IconLabel src={getTokenImage(fromToken) ?? \"\"} rounded=\"full\">\n {fromAmountFormatted} {fromToken?.symbol}\n </IconLabel>\n }\n />\n\n <PropertyListItem\n icon={<ArrowRightDownCircleIcon />}\n label={`${actionLabel} amount`}\n detail={\n <IconLabel src={getTokenImage(toToken) ?? \"\"} rounded=\"full\">\n {toAmountFormatted} {toToken?.symbol}\n </IconLabel>\n }\n />\n\n <PropertyListItem\n icon={<WalletFilledIcon size=\"24\" />}\n label=\"Recipient\"\n detail={\n <span className=\"tw-flex tw-items-center tw-gap-squid-xxs\">\n {config?.integrator.logoUrl && (\n <Image\n src={config.integrator.logoUrl}\n size=\"medium\"\n rounded=\"full\"\n />\n )}\n {recipient.name}\n\n <span className=\"tw-text-material-light-thick\">\n (\n {formatHash({\n hash: recipient.address,\n chainType: toToken?.type,\n })}\n )\n </span>\n </span>\n }\n />\n\n <PropertyListItem\n icon={<TimeFliesIcon />}\n label=\"Time\"\n detail={\n <TimeDetail\n status={status}\n timer={timer}\n estimatedTimeDisplay={estimatedTime}\n />\n }\n />\n </ul>\n\n <footer className=\"tw-relative tw-flex tw-flex-col tw-p-2 tw-shrink-0 tw-self-stretch tw-mt-auto\">\n {explorerLink && (\n <a\n href={explorerLink.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"tw-group/explorer tw-w-fit tw-mx-auto tw-absolute tw-inset-x-0 tw-bottom-full tw-flex tw-justify-center tw-items-center tw-gap-1 tw-py-2 tw-text-sm tw-text-grey-300 hover:tw-text-grey-100 tw-transition-colors\"\n >\n View on {explorerLink.name}\n <SquareArrowTopRightIcon\n size=\"0.75rem\"\n className=\"tw-transition-all tw-duration-200 tw-w-0 tw-opacity-0 group-hover/explorer:tw-w-4 group-hover/explorer:tw-opacity-100\"\n />\n </a>\n )}\n\n <Button className=\"tw-min-h-12\" onClick={handleClose}>\n {getButtonLabel(status)}\n </Button>\n </footer>\n </ViewContainer>\n </>\n );\n}\n","import {\n convertTokenAmountToUSD,\n formatUsdAmount,\n useSwap,\n} from \"@0xsquid/react-hooks\";\nimport {\n useDepositStore,\n useIsPaymentMode,\n usePaymentAmount,\n} from \"../../../store/use-deposit-store\";\n\nexport function Title() {\n const name = useDepositStore((s) => s.config?.integrator.name);\n const isPaymentMode = useIsPaymentMode();\n const paymentAmount = usePaymentAmount();\n const { toToken } = useSwap();\n\n const label = buildTitleLabel({\n isPaymentMode,\n paymentAmount,\n tokenSymbol: toToken?.symbol,\n tokenUsdPrice: toToken?.usdPrice,\n name,\n });\n\n return (\n <div className=\"tw-flex tw-py-1 tw-px-2 tw-items-center tw-gap-1 tw-flex-1 tw-self-stretch\">\n <span className=\"tw-text-grey-100 tw-text-lg tw-font-squid-main tw-font-medium\">\n {label}\n </span>\n </div>\n );\n}\n\ninterface TitleLabelInput {\n isPaymentMode: boolean;\n paymentAmount: string | null;\n tokenSymbol: string | undefined;\n tokenUsdPrice: number | undefined;\n name: string | undefined;\n}\n\nexport function buildTitleLabel({\n isPaymentMode,\n paymentAmount,\n tokenSymbol,\n tokenUsdPrice,\n name,\n}: TitleLabelInput): string {\n if (!isPaymentMode) return name ? `Deposit to ${name}` : \"Deposit\";\n\n if (paymentAmount && tokenSymbol) {\n const usdValue = tokenUsdPrice\n ? convertTokenAmountToUSD(paymentAmount, tokenUsdPrice)\n : null;\n\n const amount = usdValue\n ? formatUsdAmount(usdValue)\n : `${paymentAmount} ${tokenSymbol}`;\n return name ? `Pay ${amount} to ${name}` : `Pay ${amount}`;\n }\n\n return name ? `Pay ${name}` : \"Pay\";\n}\n","import { useSwap } from \"@0xsquid/react-hooks\";\nimport {\n useDepositStore,\n useIsPaymentMode,\n usePaymentAmount,\n} from \"../../store/use-deposit-store\";\nimport { buildTitleLabel } from \"./navbar/title\";\n\nexport function ConnectPrompt() {\n const isPaymentMode = useIsPaymentMode();\n const logoUrl = useDepositStore((s) => s.config?.integrator.logoUrl);\n const name = useDepositStore((s) => s.config?.integrator.name);\n const paymentAmount = usePaymentAmount();\n const { toToken } = useSwap();\n\n const label = buildTitleLabel({\n isPaymentMode,\n paymentAmount,\n tokenSymbol: toToken?.symbol,\n tokenUsdPrice: toToken?.usdPrice,\n name,\n });\n const purposeCopy = `To ${isPaymentMode ? \"pay\" : \"deposit crypto\"} you'll need to connect your wallet first.`;\n\n return (\n <div className=\"tw-flex tw-pt-3 tw-pb-8 tw-px-4 tw-flex-col tw-justify-end tw-items-center tw-gap-4 tw-flex-1 tw-self-stretch tw-relative\">\n <div className=\"tw-w-32\">\n {logoUrl && <img className=\"tw-rounded-full tw-w-full\" src={logoUrl} />}\n </div>\n\n <div className=\"tw-flex tw-pt-2 tw-pb-4 tw-flex-col tw-justify-end tw-items-center tw-gap-4 tw-self-center\">\n <span className=\"tw-text-grey-100 tw-font-medium tw-text-2xl tw-leading-3\">\n {label}\n </span>\n\n <span className=\"tw-text-center tw-text-material-light-average tw-font-medium tw-leading-6 tw-text-lg tw-text-balance\">\n {purposeCopy}\n </span>\n\n {/* TODO: add link? remove? */}\n <span className=\"tw-text-material-light-thick tw-font-medium tw-leading-3 tw-text-lg\">\n Learn more\n </span>\n </div>\n </div>\n );\n}\n","import {\n useMultiChainBalance,\n useMultiChainWallet,\n useSwap,\n} from \"@0xsquid/react-hooks\";\n\nexport function useTokenSelection() {\n const { fromToken: token, fromChain: chain } = useSwap();\n const { connectedAddress } = useMultiChainWallet(chain);\n const { balance } = useMultiChainBalance({\n chain,\n token: token ?? undefined,\n userAddress: connectedAddress.address,\n });\n\n return { token, chain, balance };\n}\n","import { UserInputType } from \"@0xsquid/ui\";\nimport { create } from \"zustand\";\n\nexport const useInputMode = create<{\n mode: UserInputType;\n setMode: (_mode: UserInputType) => void;\n}>((set) => ({\n mode: UserInputType.USD,\n setMode: (mode) => set({ mode }),\n}));\n","import {\n AnimateNumber,\n CaptionText,\n ChevronTopSmallIcon,\n cn,\n NumericInputProps,\n Tooltip,\n useNumericInput,\n UserInputType,\n} from \"@0xsquid/ui\";\nimport { useEffect, useRef } from \"react\";\nimport { useInputMode } from \"../../store/use-input-mode\";\n\nconst placeholder = \"0\";\nconst BASE_FONT_PX = 48; // tw-text-5xl = 3rem\nconst WRAPPER_PAD_X = 20; // tw-px-squid-xs = 0.625rem × 2\nconst MIN_SCALE = 0.5;\n\ninterface AmountInputProps extends NumericInputProps {\n allowMaxButton?: boolean;\n readOnly?: boolean;\n errorMessage?: string;\n loading?: boolean;\n forcedUsdDisplay?: string;\n}\n\nexport function AmountInput({\n balance = \"0\",\n token,\n onAmountChange,\n forcedAmount,\n maxUsdDecimals = 2,\n formatIfVerySmall = {\n token: \"0.001\",\n usd: \"0.01\",\n },\n inputModeButton,\n debounceInput = true,\n allowMaxButton = true,\n readOnly = false,\n errorMessage,\n loading = false,\n forcedUsdDisplay,\n}: AmountInputProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const inputValueSpyRef = useRef<HTMLSpanElement>(null);\n const inputWidthSpyRef = useRef<HTMLSpanElement>(null);\n const wrapperRef = useRef<HTMLLabelElement & HTMLDivElement>(null);\n const {\n userInputType,\n inputValue,\n handleInputChange,\n handleSwitchInputMode,\n isTokenAmountVerySmall,\n isUsdAmountVerySmall,\n amountFormatted,\n onBalanceButtonClick,\n } = useNumericInput({\n onAmountChange,\n token,\n balance,\n debounceInput,\n forcedAmount,\n formatIfVerySmall,\n inputModeButton,\n maxUsdDecimals,\n direction: \"from\",\n initialInputMode: UserInputType.USD,\n });\n\n const setInputMode = useInputMode((s) => s.setMode);\n useEffect(() => {\n setInputMode(userInputType);\n }, [userInputType, setInputMode]);\n\n const displayedNumber =\n userInputType === UserInputType.USD && forcedUsdDisplay && !inputValue\n ? forcedUsdDisplay\n : inputValue || placeholder;\n const fullDisplayedNumber =\n userInputType === UserInputType.USD\n ? `$${displayedNumber}`\n : displayedNumber;\n\n useEffect(() => {\n const spy = inputValueSpyRef.current;\n const wrapper = wrapperRef.current;\n const row = wrapper?.parentElement;\n if (!spy || !wrapper || !row) return;\n\n const apply = () => {\n const containerWidth = row.clientWidth - WRAPPER_PAD_X;\n const spyWidth = spy.getBoundingClientRect().width;\n if (containerWidth === 0 || spyWidth === 0) return;\n\n // Scale against the full visible value, including the \"$\" prefix in USD\n // mode, so read-only/payment values don't overflow by the prefix width.\n const scale = Math.min(1, Math.max(MIN_SCALE, containerWidth / spyWidth));\n wrapper.style.fontSize = `${BASE_FONT_PX * scale}px`;\n if (inputRef.current) {\n const inputWidthSpy = inputWidthSpyRef.current;\n // Editable USD renders \"$\" beside the input, so the input itself must\n // be sized from the number-only spy. Token mode can reuse full width.\n const inputWidth =\n userInputType === UserInputType.USD && inputWidthSpy\n ? inputWidthSpy.getBoundingClientRect().width\n : spyWidth;\n\n inputRef.current.style.width = `${inputWidth * scale}px`;\n }\n };\n\n const observer = new ResizeObserver(apply);\n observer.observe(spy);\n observer.observe(row);\n apply();\n\n return () => observer.disconnect();\n }, [readOnly, displayedNumber, fullDisplayedNumber, userInputType]);\n const wrapperClassName = cn(\n \"tw-text-grey-100 tw-flex tw-items-center tw-overflow-hidden tw-px-squid-xs\",\n readOnly\n ? \"tw-cursor-default\"\n : \"tw-cursor-text focus-within:tw-bg-material-light-thin hover:tw-bg-material-light-thin group-focus-within/amount-input:tw-text-royal-500\",\n );\n\n // em so the radius scales with the wrapper's font-size (which the\n // auto-shrink effect mutates) — keeps the corner proportional to the\n // shrunk height instead of looking pill-like at small font sizes.\n const wrapperStyle = { borderRadius: \"0.4em\" };\n\n const inputContent = (\n <>\n {/* Hidden full visible value, fixed at base font size, for wrapper scaling. */}\n <span\n ref={inputValueSpyRef}\n className=\"tw-pointer-events-none tw-absolute tw-opacity-0 tw-text-5xl\"\n >\n {fullDisplayedNumber}\n </span>\n {/* Hidden number-only value for editable USD input width. */}\n <span\n ref={inputWidthSpyRef}\n className=\"tw-pointer-events-none tw-absolute tw-opacity-0 tw-text-5xl\"\n >\n {displayedNumber}\n </span>\n\n {readOnly ? (\n <span className=\"tw-relative tw-py-2 tw-flex tw-items-center\">\n {userInputType === UserInputType.USD && <span>$</span>}\n <AnimateNumber\n isLoading={loading}\n number={displayedNumber}\n showMask\n />\n {loading && (\n <span className=\"tw-pointer-events-none tw-absolute tw-inset-0 tw-z-10 tw-overflow-hidden\">\n <span className=\"tw-absolute tw-inset-0 tw-animate-shimmer tw-bg-[length:200%_100%] tw-bg-shimmer-overlay-light dark:tw-bg-shimmer-overlay-dark\" />\n </span>\n )}\n </span>\n ) : (\n <>\n {userInputType === UserInputType.USD && <span>$</span>}\n <input\n inputMode=\"decimal\"\n pattern=\"[0-9.,]*\"\n ref={inputRef}\n value={inputValue}\n onChange={handleInputChange}\n className=\"tw-bg-transparent tw-placeholder-grey-100 tw-outline-none focus:tw-outline-none focus:tw-placeholder-royal-500\"\n placeholder={placeholder}\n />\n </>\n )}\n </>\n );\n\n return (\n <section className=\"tw-flex tw-flex-1 tw-flex-col tw-items-center tw-justify-center tw-self-stretch tw-gap-1 tw-relative tw-overflow-hidden\">\n <div className=\"tw-flex tw-w-full tw-items-center tw-justify-center tw-self-stretch tw-text-5xl tw-group/amount-input\">\n {readOnly ? (\n <div\n ref={wrapperRef}\n className={wrapperClassName}\n style={wrapperStyle}\n >\n {inputContent}\n </div>\n ) : (\n <label\n ref={wrapperRef}\n className={wrapperClassName}\n style={wrapperStyle}\n >\n {inputContent}\n </label>\n )}\n </div>\n\n <div className=\"tw-relative tw-flex tw-justify-center tw-self-stretch\">\n <footer className=\"tw-flex tw-h-squid-m tw-items-center tw-justify-center tw-text-sm tw-text-material-light-thick tw-w-fit\">\n <Tooltip\n {...(userInputType === UserInputType.TOKEN\n ? inputModeButton?.tokenModeTooltip\n : inputModeButton?.usdModeTooltip)}\n tooltipWidth=\"max\"\n childrenClassName=\"tw-rounded-squid-s\"\n containerClassName=\"tw-rounded-squid-s tw-w-fit\"\n >\n <button\n onClick={() => {\n handleSwitchInputMode();\n inputRef.current?.focus();\n }}\n className=\"tw-flex tw-flex-1 tw-items-center tw-gap-squid-xxs tw-rounded-squid-s tw-px-3 tw-py-0.5 hover:tw-bg-material-light-thin\"\n >\n {userInputType === UserInputType.TOKEN ? (\n <span className=\"tw-flex tw-items-center tw-justify-center\">\n <CaptionText>{isUsdAmountVerySmall ? \"<\" : \"\"}$</CaptionText>\n <CaptionText>\n {forcedUsdDisplay && !inputValue\n ? forcedUsdDisplay\n : isUsdAmountVerySmall\n ? formatIfVerySmall.token\n : amountFormatted}\n </CaptionText>\n </span>\n ) : (\n <>\n <CaptionText>\n {isTokenAmountVerySmall ? \"<\" : \"\"}\n {isTokenAmountVerySmall\n ? formatIfVerySmall.token\n : amountFormatted}\n </CaptionText>{\" \"}\n <CaptionText>{token.symbol}</CaptionText>\n </>\n )}\n\n <span className=\"tw-flex tw-items-center tw-justify-center tw-rounded-full tw-size-3 tw-bg-material-light-thin tw-aspect-square\">\n <ChevronTopSmallIcon />\n </span>\n </button>\n </Tooltip>\n\n {allowMaxButton && Number(balance) > 0 && (\n <button\n onClick={() => {\n onBalanceButtonClick();\n inputRef.current?.focus();\n }}\n className=\"tw-rounded-squid-s tw-px-3 tw-py-0.5 hover:tw-bg-material-light-thin\"\n >\n <CaptionText>MAX</CaptionText>\n </button>\n )}\n </footer>\n\n {/* Anchored to the footer via top-full so it sits just below the\n input + balance row regardless of the section's flex-1 height;\n absolute so toggling it never reflows the input. */}\n {errorMessage && (\n <CaptionText className=\"tw-text-status-negative tw-text-center tw-absolute tw-top-full tw-mt-2 tw-left-0 tw-right-0 tw-px-4 [text-wrap:pretty]\">\n {errorMessage}\n </CaptionText>\n )}\n </div>\n </section>\n );\n}\n","import { convertTokenAmountToUSD, useSwap } from \"@0xsquid/react-hooks\";\nimport { useDepositRoute } from \"../../hooks/use-deposit-route\";\nimport { useTokenSelection } from \"../../hooks/use-token-selection\";\nimport {\n useIsPaymentMode,\n usePaymentAmount,\n} from \"../../store/use-deposit-store\";\nimport { AmountInput } from \"./amount-input\";\n\nexport function DepositAmountInput() {\n const { token, balance } = useTokenSelection();\n const { fromAmount, fromAmountChanged, toToken } = useSwap();\n const isPaymentMode = useIsPaymentMode();\n const paymentAmount = usePaymentAmount();\n const { quotedSourceAmount, routeErrorMessage, showLoading } =\n useDepositRoute();\n\n const displayedAmount = isPaymentMode ? quotedSourceAmount : fromAmount;\n\n const forcedUsdDisplay =\n isPaymentMode && paymentAmount && toToken?.usdPrice\n ? convertTokenAmountToUSD(paymentAmount, toToken.usdPrice)\n : undefined;\n\n return (\n <AmountInput\n onAmountChange={fromAmountChanged}\n balance={balance}\n forcedAmount={displayedAmount}\n forcedUsdDisplay={forcedUsdDisplay}\n allowMaxButton={!isPaymentMode}\n readOnly={isPaymentMode}\n loading={isPaymentMode && showLoading}\n errorMessage={routeErrorMessage}\n token={{\n decimals: token?.decimals ?? 0,\n symbol: token?.symbol ?? \"\",\n price: token?.usdPrice ?? 0,\n }}\n />\n );\n}\n","import type { IconProps } from \"./types\";\n\nexport function UserRoundIcon({ size = \"1.5rem\", ...props }: IconProps) {\n return (\n <svg\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"8\" r=\"5\" />\n <path d=\"M20 21a8 8 0 0 0-16 0\" />\n </svg>\n );\n}\n","import { cn, PowerIcon } from \"@0xsquid/ui\";\nimport { UserRoundIcon } from \"../../../components/shared/icons/user-round\";\n\ninterface AccountProps {\n direction: \"from\" | \"to\";\n name: string;\n address: string;\n icon?: string;\n onDisconnect?: () => void;\n}\n\nexport function Account({\n direction,\n address,\n name,\n icon,\n onDisconnect,\n}: AccountProps) {\n return (\n <>\n {direction === \"from\" && (\n <Avatar icon={icon} onDisconnect={onDisconnect} />\n )}\n\n <div\n className={cn(\n \"tw-flex tw-flex-col tw-justify-center tw-gap-2 tw-flex-1 tw-self-stretch\",\n\n direction === \"from\" ? \"tw-items-start\" : \"tw-items-end\",\n )}\n >\n <span className=\"tw-text-grey-100 tw-text-lg tw-leading-3\">{name}</span>\n\n <span className=\"tw-text-material-light-thick tw-text-sm tw-leading-3 tw-whitespace-nowrap\">\n {address}\n </span>\n </div>\n\n {direction === \"to\" && <Avatar icon={icon} />}\n </>\n );\n}\n\ninterface AvatarProps {\n icon?: string;\n onDisconnect?: () => void;\n}\n\nexport function Avatar({ icon, onDisconnect }: AvatarProps) {\n const Wrapper = onDisconnect ? \"button\" : \"div\";\n\n return (\n <Wrapper\n onClick={onDisconnect}\n className={cn(\n \"tw-group/avatar tw-relative tw-flex tw-size-squid-xl tw-justify-center tw-items-center tw-aspect-square tw-rounded-full tw-shadow-icon-light dark:tw-shadow-icon-dark tw-transition-colors tw-duration-200\",\n icon ? \"tw-overflow-hidden\" : \"tw-p-2 tw-bg-grey-100 tw-text-grey-900\",\n onDisconnect && \"hover:tw-bg-grey-300\",\n )}\n >\n {icon ? (\n <img src={icon} alt=\"\" className=\"tw-size-full tw-object-cover\" />\n ) : (\n <UserRoundIcon\n size=\"1.3rem\"\n className={cn(\n \"tw-transition-all tw-duration-200\",\n onDisconnect &&\n \"group-hover/account:tw-scale-75 group-hover/account:tw-blur-sm group-hover/account:tw-opacity-0 group-focus-within/account:tw-scale-75 group-focus-within/account:tw-blur-sm group-focus-within/account:tw-opacity-0\",\n )}\n />\n )}\n {onDisconnect && (\n <PowerIcon\n size=\"1.25rem\"\n className=\"tw-absolute tw-scale-75 tw-blur-sm tw-opacity-0 tw-transition-all tw-duration-200 group-hover/account:tw-scale-100 group-hover/account:tw-blur-0 group-hover/account:tw-opacity-100 group-focus-within/account:tw-scale-100 group-focus-within/account:tw-blur-0 group-focus-within/account:tw-opacity-100\"\n />\n )}\n </Wrapper>\n );\n}\n","import {\n formatHash,\n useMultiChainWallet,\n useSquidChains,\n useWallet,\n} from \"@0xsquid/react-hooks\";\nimport { ChevronRightIcon } from \"@0xsquid/ui\";\nimport { useTokenSelection } from \"../../../hooks/use-token-selection\";\nimport { useDepositStore } from \"../../../store/use-deposit-store\";\nimport { Account } from \"./account\";\n\nexport function Recipient() {\n const { chain } = useTokenSelection();\n const { connectedAddress } = useMultiChainWallet(chain);\n const fromAddress = connectedAddress.address;\n const { disconnectWallet } = useWallet();\n const config = useDepositStore((s) => s.config);\n const { findChain } = useSquidChains();\n\n const handleDisconnect = () => {\n if (chain?.chainType) {\n void disconnectWallet(chain.chainType);\n }\n };\n\n const fromLabel = fromAddress\n ? formatHash({ hash: fromAddress, chainType: chain?.chainType })\n : \"Not connected\";\n\n const toLabel = config\n ? formatHash({\n hash: config.destinationAddress,\n chainType: findChain(config.destinationToken.chainId)?.chainType,\n })\n : \"\";\n\n return (\n <div className=\"tw-flex tw-h-squid-xl tw-items-center tw-gap-2 tw-w-full tw-px-3\">\n <div className=\"tw-group/account tw-flex tw-items-center tw-gap-2 tw-flex-1 tw-min-w-0 tw-self-stretch\">\n <Account\n direction=\"from\"\n name=\"You\"\n address={fromLabel}\n onDisconnect={fromAddress ? handleDisconnect : undefined}\n />\n </div>\n\n <div className=\"tw-flex tw-items-center tw-text-material-light-thick -tw-space-x-4 tw-shrink-0\">\n <ChevronRightIcon className=\"tw-opacity-33\" />\n <ChevronRightIcon className=\"tw-opacity-66\" />\n <ChevronRightIcon className=\"\" />\n </div>\n\n <div className=\"tw-flex tw-items-center tw-gap-2 tw-flex-1 tw-min-w-0 tw-self-stretch\">\n <Account\n direction=\"to\"\n name={config?.integrator.name ?? \"Recipient\"}\n address={toLabel}\n icon={config?.integrator.logoUrl}\n />\n </div>\n </div>\n );\n}\n","import { Image } from \"@0xsquid/ui\";\n\ninterface TokenBadgeIconProps {\n tokenSrc: string;\n chainSrc?: string;\n}\n\nexport function TokenBadgeIcon({ tokenSrc, chainSrc }: TokenBadgeIconProps) {\n return (\n <div className=\"tw-size-squid-xl tw-rounded-full tw-relative tw-shrink-0\">\n <Image\n src={tokenSrc}\n size=\"xlarge\"\n rounded=\"full\"\n shadow\n border=\"inset\"\n />\n {chainSrc && (\n <span className=\"tw-absolute -tw-bottom-1 -tw-left-1\">\n <Image\n src={chainSrc}\n size=\"small\"\n rounded=\"xxs\"\n style={{ width: \"1rem\", height: \"1rem\" }}\n border=\"outline-sm\"\n />\n </span>\n )}\n </div>\n );\n}\n","import {\n formatTokenAmount,\n formatUsdAmount,\n getTokenImage,\n} from \"@0xsquid/react-hooks\";\nimport { ChevronDownSmallIcon, PlusIcon, UserInputType } from \"@0xsquid/ui\";\nimport { TokenBadgeIcon } from \"../../components/token-badge-icon\";\nimport { useTokenSelection } from \"../../hooks/use-token-selection\";\nimport { useInputMode } from \"../../store/use-input-mode\";\nimport { useRouter } from \"../../store/useRouter\";\n\nexport function TokenSelector() {\n const push = useRouter((s) => s.push);\n const { token, chain, balance } = useTokenSelection();\n const inputMode = useInputMode((s) => s.mode);\n\n const isUsdMode = inputMode === UserInputType.USD;\n const balanceNum = +balance;\n const formattedBalance =\n balanceNum > 0\n ? isUsdMode\n ? formatUsdAmount(balanceNum * (token?.usdPrice ?? 0))\n : formatTokenAmount(balance, { exact: false })\n : undefined;\n\n return (\n <button\n onClick={() => push({ id: \"select-token\" })}\n className=\"tw-flex tw-gap-2 tw-items-center tw-self-stretch hover:tw-bg-material-light-thin tw-px-3 tw-py-1.5 tw-rounded-3xl\"\n >\n {/* Token icon */}\n {token && chain ? (\n <TokenBadgeIcon\n tokenSrc={getTokenImage(token)}\n chainSrc={chain.chainIconURI}\n />\n ) : (\n <span className=\"tw-text-grey-900 tw-text-lg tw-leading-3 tw-flex tw-items-center tw-justify-center tw-size-squid-xl tw-bg-royal-500 tw-rounded-full\">\n <PlusIcon size=\"1.6rem\" />\n </span>\n )}\n\n <div className=\"tw-flex tw-flex-col tw-items-start tw-justify-center tw-gap-2 tw-self-stretch tw-flex-1\">\n {token ? (\n <>\n <span className=\"tw-text-grey-100 tw-text-lg tw-font-medium tw-leading-3\">\n {token.name}\n </span>\n <div className=\"tw-flex tw-justify-center tw-items-center tw-gap-1\">\n {formattedBalance && (\n <span className=\"tw-text-sm tw-text-material-light-thick tw-leading-3\">\n {formattedBalance}\n </span>\n )}\n\n <span className=\"tw-text-sm tw-text-material-light-average tw-leading-3\">\n {token.symbol}\n </span>\n </div>\n </>\n ) : (\n <span className=\"tw-text-grey-100 tw-text-lg tw-font-medium tw-leading-3\">\n Select a token\n </span>\n )}\n </div>\n\n <span className=\"tw-size-8 tw-flex tw-items-center tw-justify-center\">\n <ChevronDownSmallIcon\n className=\"tw-text-material-light-thick\"\n size=\"1.6rem\"\n strokeWidth=\"1.2\"\n />\n </span>\n </button>\n );\n}\n","import { DepositAmountInput } from \"./deposit-amount-input\";\nimport { Recipient } from \"./recipient/recipient\";\nimport { TokenSelector } from \"./token-selector\";\n\nexport function DepositForm() {\n return (\n <div className=\"tw-flex tw-pb-3 tw-pt-1 tw-flex-col tw-items-center tw-flex-1 tw-self-stretch tw-gap-2 tw-px-1\">\n <TokenSelector />\n <DepositAmountInput />\n <Recipient />\n </div>\n );\n}\n","import {\n useApproval,\n useEstimate,\n useExecuteTransaction,\n useSwap,\n useWallet,\n} from \"@0xsquid/react-hooks\";\nimport { useRouter } from \"../../store/useRouter\";\nimport { useIsPaymentMode } from \"../../store/use-deposit-store\";\nimport { useDepositRoute } from \"../use-deposit-route\";\nimport { useTokenSelection } from \"../use-token-selection\";\n\ninterface ButtonState {\n label: string;\n onClick?: () => void;\n disabled?: boolean;\n isLoading?: boolean;\n}\n\nexport function useMainCTAButtonState(): ButtonState {\n const push = useRouter((store) => store.push);\n const { connectedWallets, isChainTypeConnected } = useWallet();\n const { token, chain, balance } = useTokenSelection();\n const { fromAmount: typedAmount, fromAmountChanged } = useSwap();\n const isPaymentMode = useIsPaymentMode();\n const isConnected = connectedWallets.length > 0;\n\n const {\n routeData,\n quotedSourceAmount,\n showLoading: isRouteLoading,\n } = useDepositRoute();\n\n const amount = isPaymentMode ? quotedSourceAmount : typedAmount;\n const { routeApproved, approveRoute } = useApproval({\n squidRoute: routeData,\n });\n const { executeSwap, isLoading: isExecuting } =\n useExecuteTransaction(routeData);\n const { minAmountValueWarnMsg, fromTokenPaysGasFees, isGasBalanceEnough } =\n useEstimate(routeData);\n\n if (!isConnected) {\n return {\n label: \"Connect wallet\",\n onClick: () => push({ id: \"connect-wallet\", chainType: null }),\n };\n }\n\n if (chain && !isChainTypeConnected(chain.chainType)) {\n return {\n label: \"Connect wallet\",\n onClick: () => push({ id: \"connect-wallet\", chainType: chain.chainType }),\n };\n }\n\n if (!token) {\n return {\n label: \"Select a token\",\n disabled: true,\n };\n }\n\n if (!amount || amount === \"0\") {\n return {\n label: \"Enter amount\",\n disabled: true,\n };\n }\n\n if (!balance || Number(amount) > Number(balance)) {\n return {\n label: \"Insufficient balance\",\n disabled: true,\n };\n }\n\n if (isRouteLoading) {\n return {\n label: \"Getting quotes...\",\n disabled: true,\n isLoading: true,\n };\n }\n\n if (!routeData) {\n return {\n label: \"No route available\",\n disabled: true,\n };\n }\n\n if (\n fromTokenPaysGasFees &&\n !isGasBalanceEnough &&\n minAmountValueWarnMsg !== undefined &&\n Number(minAmountValueWarnMsg) > 0\n ) {\n return {\n label: \"Fit gas\",\n onClick: () => fromAmountChanged(minAmountValueWarnMsg),\n };\n }\n\n if (routeApproved.isLoading) {\n return {\n label: \"Checking approval...\",\n disabled: true,\n isLoading: true,\n };\n }\n\n if (routeApproved.data === false) {\n if (approveRoute.isLoading) {\n return {\n label: \"Approving...\",\n disabled: true,\n isLoading: true,\n };\n }\n\n return {\n label: `Approve ${token.symbol}`,\n onClick: () => approveRoute.mutate(),\n };\n }\n\n if (isExecuting) {\n return {\n label: isPaymentMode ? \"Paying...\" : \"Depositing...\",\n disabled: true,\n isLoading: true,\n };\n }\n\n return {\n label: isPaymentMode ? \"Pay\" : \"Deposit\",\n onClick: () => {\n void executeSwap();\n push({ id: \"transaction-progress\" });\n },\n };\n}\n","import { Button } from \"../../components/shared/buttons/button\";\nimport { useMainCTAButtonState } from \"../../hooks/ui/useMainCTAButtonState\";\n\nexport function MainCTAButton() {\n const { label, onClick, disabled } = useMainCTAButtonState();\n\n return (\n <footer className=\"tw-flex tw-h-16 tw-p-2 tw-items-start tw-shrink-0 tw-self-stretch\">\n <Button onClick={onClick} disabled={disabled}>\n {label}\n </Button>\n </footer>\n );\n}\n","import { ClockOutlineIcon, IconButton } from \"@0xsquid/ui\";\nimport { useWallet } from \"@0xsquid/react-hooks\";\nimport { useRouter } from \"../../../store/useRouter\";\n\nexport function Actions() {\n const push = useRouter((s) => s.push);\n const { connectedWallets } = useWallet();\n const isConnected = connectedWallets.length > 0;\n\n if (!isConnected) return null;\n\n return (\n <div className=\"tw-flex tw-justify-end tw-items-center tw-gap-1\">\n <IconButton\n onClick={() => push({ id: \"transaction-history\" })}\n icon={\n <ClockOutlineIcon\n className=\"tw-text-material-light-thick\"\n size=\"1.5rem\"\n />\n }\n />\n </div>\n );\n}\n","import { useDepositStore } from \"../../../store/use-deposit-store\";\n\nexport function Icon() {\n const logoUrl = useDepositStore((s) => s.config?.integrator.logoUrl);\n\n return (\n <div className=\"tw-flex tw-size-10 tw-justify-center tw-items-center tw-rounded-squid-m tw-shadow-icon-light dark:tw-shadow-icon-dark tw-bg-grey-900\">\n {logoUrl && <img className=\"tw-rounded-full\" src={logoUrl} />}\n </div>\n );\n}\n","import { Actions } from \"./actions\";\nimport { BaseNavBar } from \"../../../components/shared/navigation/base-navbar\";\nimport { Icon } from \"./icon\";\nimport { Title } from \"./title\";\n\nexport function NavBar() {\n return (\n <BaseNavBar className=\"tw-justify-between\">\n <Icon />\n\n <Title />\n\n <Actions />\n </BaseNavBar>\n );\n}\n","import { cn } from \"@0xsquid/ui\";\nimport { useWallet } from \"@0xsquid/react-hooks\";\nimport { ConnectPrompt } from \"./connect-prompt\";\nimport { DepositForm } from \"./deposit-form\";\nimport { MainCTAButton } from \"./main-cta-button\";\nimport { NavBar } from \"./navbar/navbar\";\nimport { ViewContainer } from \"../../components/view-container\";\n\nexport function MainView() {\n const { connectedWallets } = useWallet();\n const isConnected = connectedWallets.length > 0;\n\n return (\n <>\n {isConnected && <NavBar />}\n\n <ViewContainer className={cn(!isConnected && \"tw-border-t-0\")}>\n {isConnected ? <DepositForm /> : <ConnectPrompt />}\n\n <MainCTAButton />\n </ViewContainer>\n </>\n );\n}\n","import { SubNavBar } from \"../components/shared/navigation/sub-navbar\";\n\nexport function QrCodeView() {\n return (\n <>\n <SubNavBar title=\"QR Code\" />\n <div className=\"tw-flex tw-flex-1 tw-items-center tw-justify-center tw-self-stretch\">\n <span className=\"tw-text-grey-100 tw-text-lg tw-font-medium\">\n QR Code\n </span>\n </div>\n </>\n );\n}\n","import { useState } from \"react\";\nimport { ConnectingWalletStatus, useWallet } from \"@0xsquid/react-hooks\";\nimport type { Wallet } from \"@0xsquid/react-hooks\";\nimport type { ChainType } from \"@0xsquid/squid-types\";\nimport { Loader } from \"@0xsquid/ui\";\nimport { SubNavBar } from \"../../components/shared/navigation/sub-navbar\";\nimport { useRouter } from \"../../store/useRouter\";\nimport { CHAIN_TYPE_META } from \"./chain-type-meta\";\n\ninterface SelectChainViewProps {\n wallet: Wallet;\n}\n\nexport function SelectChainView({ wallet }: SelectChainViewProps) {\n const popToRoot = useRouter((s) => s.popToRoot);\n const { connectWallet, connectingWalletState } = useWallet();\n const [connectingChainType, setConnectingChainType] =\n useState<ChainType | null>(null);\n\n if (!wallet.isMultiChain) return null;\n const networks = wallet.supportedNetworks;\n\n const isConnecting =\n connectingWalletState.status === ConnectingWalletStatus.CONNECTING &&\n connectingWalletState.wallet?.connectorId === wallet.connectorId;\n\n const onChainSelected = async (chainType: ChainType) => {\n setConnectingChainType(chainType);\n try {\n const connected = await connectWallet({\n wallet,\n selectedChainTypes: [chainType],\n });\n if (connected) {\n popToRoot();\n }\n } catch (error) {\n console.error(\"Failed to connect wallet:\", error);\n setConnectingChainType(null);\n }\n };\n\n return (\n <>\n <SubNavBar title=\"Select network\" />\n\n <div className=\"tw-flex tw-flex-col tw-items-center tw-gap-2 tw-px-4 tw-py-5 tw-border-b tw-border-grey-800\">\n {wallet.icon && (\n <img\n src={wallet.icon}\n alt={wallet.name}\n className=\"tw-size-12 tw-rounded-xl\"\n />\n )}\n\n <div className=\"tw-flex tw-flex-col tw-items-center tw-self-stretch\">\n <span className=\"tw-text-material-light-thick tw-text-base tw-text-center\">\n {wallet.name} supports multiple ecosystems.\n </span>\n\n <span className=\"tw-text-material-light-thick tw-text-base tw-text-center\">\n Select one to connect.\n </span>\n </div>\n </div>\n\n <ul className=\"tw-flex tw-flex-col tw-items-start tw-flex-1 tw-self-stretch tw-py-1 tw-overflow-auto\">\n {networks.map((network) => {\n const meta = CHAIN_TYPE_META[network.chainType];\n return (\n <li key={network.chainType} className=\"tw-self-stretch\">\n <button\n className=\"tw-flex tw-min-h-14 tw-h-14 tw-px-4 tw-items-center tw-gap-3 tw-self-stretch tw-w-full hover:tw-bg-material-light-thin\"\n disabled={isConnecting}\n onClick={() => onChainSelected(network.chainType)}\n >\n <div className=\"tw-flex tw-size-squid-xl tw-justify-center tw-items-center tw-aspect-square tw-rounded-xl tw-shadow-icon-light dark:tw-shadow-icon-dark\">\n <img\n src={meta.icon}\n alt={meta.name}\n className=\"tw-size-full tw-rounded-xl\"\n />\n </div>\n <span className=\"tw-text-grey-200 tw-text-lg tw-flex-1 tw-text-left\">\n {meta.name}\n </span>\n {isConnecting && connectingChainType === network.chainType && (\n <Loader size=\"20\" className=\"tw-text-grey-100\" />\n )}\n </button>\n </li>\n );\n })}\n </ul>\n </>\n );\n}\n","import type { Token } from \"@0xsquid/squid-types\";\n\nexport type TokenWithBalance = Token & { balance: string };\n\nexport function sortTokensByBalance(\n tokens: TokenWithBalance[],\n): TokenWithBalance[] {\n return tokens.toSorted((a, b) => {\n const aUsd = +a.balance * +(a.usdPrice ?? 0);\n const bUsd = +b.balance * +(b.usdPrice ?? 0);\n if (aUsd !== bUsd) return bUsd - aUsd;\n return +(b.balance ?? 0) - +(a.balance ?? 0);\n });\n}\n\nexport function filterTokensByChain(\n tokens: TokenWithBalance[],\n chainId: string | null,\n): TokenWithBalance[] {\n return chainId ? tokens.filter((token) => token.chainId === chainId) : tokens;\n}\n","import { formatUsdAmount } from \"@0xsquid/react-hooks\";\nimport { cn, TextSkeleton } from \"@0xsquid/ui\";\nimport { TokenBadgeIcon } from \"./token-badge-icon\";\n\ninterface TokenListItemProps extends React.ComponentProps<\"button\"> {\n icon: string;\n chainIcon?: string;\n symbol: string;\n name: string;\n balance?: string;\n price: number;\n usdValue?: number;\n disabled?: boolean;\n isLoadingBalance?: boolean;\n}\n\nexport function TokenListItem({\n icon,\n chainIcon,\n symbol,\n name,\n balance,\n price,\n usdValue,\n disabled,\n isLoadingBalance,\n ...props\n}: TokenListItemProps) {\n const showUsdOnHover = (usdValue ?? 0) > 0;\n\n return (\n <li className=\"tw-self-stretch\">\n <button\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : undefined}\n title={disabled ? \"Insufficient balance\" : undefined}\n className={cn(\n \"tw-group/token-item tw-flex tw-h-14 tw-px-4 tw-items-center tw-gap-2 tw-self-stretch tw-w-full hover:tw-bg-material-light-thin\",\n disabled && \"tw-opacity-40 tw-cursor-not-allowed\",\n )}\n {...props}\n >\n <TokenBadgeIcon tokenSrc={icon} chainSrc={chainIcon} />\n\n <div className=\"tw-flex tw-flex-col tw-justify-center tw-gap-0.5 tw-items-start tw-flex-1 tw-self-stretch tw-overflow-hidden -tw-mt-2\">\n <span className=\"tw-text-grey-100 tw-text-lg tw-truncate tw-max-w-full\">\n {name}\n </span>\n\n <div className=\"tw-flex tw-justify-center tw-items-center tw-gap-1 tw-leading-[0.7]\">\n {isLoadingBalance ? (\n <TextSkeleton width=\"3em\" className=\"tw-h-3\" isLoading />\n ) : showUsdOnHover ? (\n <>\n {balance && (\n <span className=\"tw-text-sm tw-text-material-light-thick tw-leading-[inherit] group-hover/token-item:tw-hidden\">\n {balance}\n </span>\n )}\n <span className=\"tw-text-sm tw-text-material-light-thick tw-leading-[inherit] tw-hidden group-hover/token-item:tw-inline\">\n {formatUsdAmount(usdValue)}\n </span>\n </>\n ) : (\n balance && (\n <span className=\"tw-text-sm tw-text-material-light-thick tw-leading-[inherit]\">\n {balance}\n </span>\n )\n )}\n\n <span className=\"tw-text-sm tw-text-material-light-average tw-leading-[inherit]\">\n {symbol}\n </span>\n </div>\n </div>\n\n <div className=\"tw-flex tw-items-start tw-justify-center tw-text-material-light-thick\">\n {formatUsdAmount(price)}\n </div>\n </button>\n </li>\n );\n}\n","import { parseToBigInt } from \"@0xsquid/react-hooks\";\nimport type { SwapTransactionHistory } from \"@0xsquid/react-hooks\";\nimport { SquidTransaction } from \"../services/wallet-history/types\";\nimport type { DepositConfig } from \"../types\";\n\nexport function isSameTx(\n tx: SquidTransaction,\n pending: SwapTransactionHistory,\n): boolean {\n if (!tx.transactionId || !pending.transactionId) return false;\n return tx.transactionId.toLowerCase() === pending.transactionId.toLowerCase();\n}\n\nexport function isSameAddress(a: string, b: string): boolean {\n return a.trim().toLowerCase() === b.trim().toLowerCase();\n}\n\nexport function matchesDestinationToken(\n toToken: { address: string; chainId: string },\n destinationToken: DepositConfig[\"destinationToken\"],\n): boolean {\n return (\n toToken.chainId === destinationToken.chainId &&\n isSameAddress(toToken.address, destinationToken.address)\n );\n}\n\nexport function isPaymentTx(\n tx: SquidTransaction,\n paymentAmount: string,\n destinationTokenDecimals: number,\n): boolean {\n try {\n const expected = parseToBigInt(paymentAmount, destinationTokenDecimals);\n return tx.quote.route.estimate.toAmount === expected.toString();\n } catch {\n return false;\n }\n}\n","import { useEffect, useRef, useMemo, useState } from \"react\";\nimport {\n filterViewableTokens,\n formatTokenAmount,\n getTokenImage,\n searchTokens,\n useAllConnectedWalletBalances,\n useSquidChains,\n} from \"@0xsquid/react-hooks\";\nimport { SubNavBar } from \"../components/shared/navigation/sub-navbar\";\nimport {\n filterTokensByChain,\n sortTokensByBalance,\n type TokenWithBalance,\n} from \"../services/assets-service\";\nimport { ViewContainer } from \"../components/view-container\";\nimport { Button, cn, Image } from \"@0xsquid/ui\";\nimport { TokenListItem } from \"../components/token-list-item\";\nimport { VIEW_TRANSITION_DURATION_MS } from \"../constants\";\nimport { useSwap } from \"@0xsquid/react-hooks\";\nimport { useRouter } from \"../store/useRouter\";\nimport { useDepositStore, usePaymentAmount } from \"../store/use-deposit-store\";\nimport { List, type RowComponentProps } from \"react-window\";\nimport { isSameAddress } from \"../utils/transaction\";\n\nconst selectedOutline =\n \"tw-outline tw-outline-2 tw-outline-material-light-thick tw-outline-offset-2\";\n\ntype TokenRowProps = {\n tokens: TokenWithBalance[];\n chainIconMap: Record<string, string>;\n onSelect: (token: TokenWithBalance) => void;\n paymentAmountUsd: number | null;\n isLoadingBalances: boolean;\n};\n\nfunction TokenRow({\n index,\n style,\n tokens,\n chainIconMap,\n onSelect,\n paymentAmountUsd,\n isLoadingBalances,\n}: RowComponentProps<TokenRowProps>) {\n const token = tokens[index];\n if (!token) return null;\n\n const balanceNum = +token.balance;\n const balanceUsd = balanceNum * (token.usdPrice ?? 0);\n const insufficientBalance =\n !isLoadingBalances &&\n paymentAmountUsd !== null &&\n balanceUsd < paymentAmountUsd;\n\n return (\n <div style={style}>\n <TokenListItem\n balance={\n balanceNum > 0\n ? formatTokenAmount(token.balance, { exact: false })\n : \"\"\n }\n icon={getTokenImage(token)}\n chainIcon={chainIconMap[token.chainId]}\n name={token.name}\n price={token.usdPrice ?? 0}\n usdValue={balanceUsd}\n symbol={token.symbol}\n disabled={insufficientBalance}\n isLoadingBalance={isLoadingBalances}\n onClick={() => !insufficientBalance && onSelect(token)}\n />\n </div>\n );\n}\n\nexport function SelectTokenView() {\n const { tokens, isInitialLoading: isLoadingBalances } =\n useAllConnectedWalletBalances();\n\n const { chains } = useSquidChains();\n const { onSwapChange, toToken } = useSwap();\n const pop = useRouter((s) => s.pop);\n const destinationToken = useDepositStore((s) => s.config?.destinationToken);\n const paymentAmount = usePaymentAmount();\n const paymentAmountUsd = paymentAmount\n ? Number(paymentAmount) * (toToken?.usdPrice ?? 0)\n : null;\n\n const onSelect = (token: TokenWithBalance) => {\n onSwapChange({\n fromChainId: token.chainId,\n fromTokenAddress: token.address,\n });\n pop();\n };\n const searchRef = useRef<HTMLInputElement>(null);\n const [selectedChainId, setSelectedChainId] = useState<string | null>(null);\n const [search, setSearch] = useState(\"\");\n\n useEffect(() => {\n const timer = setTimeout(\n () => searchRef.current?.focus({ preventScroll: true }),\n VIEW_TRANSITION_DURATION_MS,\n );\n return () => clearTimeout(timer);\n }, []);\n\n const chainIconMap = useMemo(\n () => Object.fromEntries(chains.map((c) => [c.chainId, c.chainIconURI])),\n [chains],\n );\n\n const filteredTokens = useMemo(() => {\n const viewableTokens = filterViewableTokens(tokens, {});\n const chainFiltered = filterTokensByChain(viewableTokens, selectedChainId);\n const withoutDestToken = destinationToken\n ? chainFiltered.filter(\n (t) =>\n !(\n t.chainId === destinationToken.chainId &&\n isSameAddress(t.address, destinationToken.address)\n ),\n )\n : chainFiltered;\n\n const matched = search\n ? (searchTokens(search, withoutDestToken, chains) as TokenWithBalance[])\n : withoutDestToken;\n\n return sortTokensByBalance(matched);\n }, [tokens, selectedChainId, search, chains, destinationToken]);\n\n const selectChain = (chainId: string | null) => {\n setSelectedChainId(chainId);\n searchRef.current?.focus();\n };\n\n return (\n <>\n <SubNavBar\n input={{\n ref: searchRef,\n placeholder: \"Select coin\",\n value: search,\n onChange: (e) => setSearch(e.target.value),\n }}\n />\n\n <ViewContainer>\n <div\n role=\"radiogroup\"\n aria-label=\"Filter by chain\"\n className=\"tw-flex tw-h-14 tw-px-4 tw-items-center tw-justify-stretch tw-gap-3 tw-self-stretch tw-w-full tw-overflow-auto tw-min-h-14 tw-scrollbar-hidden\"\n >\n <Button\n role=\"radio\"\n aria-checked={selectedChainId === null}\n size=\"sm\"\n variant=\"tertiary\"\n className={cn(\n \"!tw-p-3 !tw-h-8\",\n selectedChainId === null && selectedOutline,\n )}\n onClick={() => selectChain(null)}\n >\n <span className=\"tw-text-xs\">ALL</span>\n </Button>\n\n {chains.map((chain) => (\n <button\n key={chain.chainId}\n role=\"radio\"\n aria-checked={selectedChainId === chain.chainId}\n className={cn(\n \"tw-shrink-0 tw-rounded-squid-xs\",\n selectedChainId === chain.chainId && selectedOutline,\n )}\n onClick={() => selectChain(chain.chainId)}\n >\n <Image\n size=\"large\"\n rounded=\"xs\"\n shadow\n style={{ width: \"2rem\", height: \"2rem\" }}\n src={chain.chainIconURI}\n />\n </button>\n ))}\n </div>\n {filteredTokens.length > 0 ? (\n <List\n tagName=\"ul\"\n className=\"tw-scrollbar-hidden tw-flex-1 tw-self-stretch\"\n style={{ flex: \"1 1 0\" }}\n rowCount={filteredTokens.length}\n rowHeight={56} // tw-h-14\n rowComponent={TokenRow}\n rowProps={{\n tokens: filteredTokens,\n chainIconMap,\n onSelect,\n paymentAmountUsd,\n isLoadingBalances,\n }}\n overscanCount={5}\n />\n ) : (\n <div className=\"tw-flex tw-flex-1 tw-items-center tw-justify-center tw-self-stretch tw-px-4\">\n <span className=\"tw-text-material-light-thick tw-text-lg tw-font-medium tw-text-center tw-truncate tw-max-w-full\">\n {search ? (\n <>\n No tokens matching &quot;\n <span className=\"tw-text-grey-100\">{search}</span>\n &quot;\n </>\n ) : (\n \"No tokens found\"\n )}\n </span>\n </div>\n )}\n </ViewContainer>\n </>\n );\n}\n","class Subscribable {\n constructor() {\n this.listeners = new Set();\n this.subscribe = this.subscribe.bind(this);\n }\n\n subscribe(listener) {\n const identity = {\n listener\n };\n this.listeners.add(identity);\n this.onSubscribe();\n return () => {\n this.listeners.delete(identity);\n this.onUnsubscribe();\n };\n }\n\n hasListeners() {\n return this.listeners.size > 0;\n }\n\n onSubscribe() {// Do nothing\n }\n\n onUnsubscribe() {// Do nothing\n }\n\n}\n\nexport { Subscribable };\n//# sourceMappingURL=subscribable.mjs.map\n","// TYPES\n// UTILS\nconst isServer = typeof window === 'undefined' || 'Deno' in window;\nfunction noop() {\n return undefined;\n}\nfunction functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nfunction isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nfunction difference(array1, array2) {\n return array1.filter(x => !array2.includes(x));\n}\nfunction replaceAt(array, index, value) {\n const copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nfunction timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nfunction parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return { ...arg3,\n queryKey: arg1,\n queryFn: arg2\n };\n }\n\n return { ...arg2,\n queryKey: arg1\n };\n}\nfunction parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return { ...arg3,\n mutationKey: arg1,\n mutationFn: arg2\n };\n }\n\n return { ...arg2,\n mutationKey: arg1\n };\n }\n\n if (typeof arg1 === 'function') {\n return { ...arg2,\n mutationFn: arg1\n };\n }\n\n return { ...arg1\n };\n}\nfunction parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n queryKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction parseMutationFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [{ ...arg2,\n mutationKey: arg1\n }, arg3] : [arg1 || {}, arg2];\n}\nfunction matchQuery(filters, query) {\n const {\n type = 'all',\n exact,\n fetchStatus,\n predicate,\n queryKey,\n stale\n } = filters;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n if (type !== 'all') {\n const isActive = query.isActive();\n\n if (type === 'active' && !isActive) {\n return false;\n }\n\n if (type === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetchStatus !== 'undefined' && fetchStatus !== query.state.fetchStatus) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nfunction matchMutation(filters, mutation) {\n const {\n exact,\n fetching,\n predicate,\n mutationKey\n } = filters;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nfunction hashQueryKeyByOptions(queryKey, options) {\n const hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n * Hashes the value into a stable hash.\n */\n\nfunction hashQueryKey(queryKey) {\n return JSON.stringify(queryKey, (_, val) => isPlainObject(val) ? Object.keys(val).sort().reduce((result, key) => {\n result[key] = val[key];\n return result;\n }, {}) : val);\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nfunction partialMatchKey(a, b) {\n return partialDeepEqual(a, b);\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nfunction partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(key => !partialDeepEqual(a[key], b[key]));\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nfunction replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n const array = isPlainArray(a) && isPlainArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n const aSize = array ? a.length : Object.keys(a).length;\n const bItems = array ? b : Object.keys(b);\n const bSize = bItems.length;\n const copy = array ? [] : {};\n let equalItems = 0;\n\n for (let i = 0; i < bSize; i++) {\n const key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nfunction shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (const key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n}\nfunction isPlainArray(value) {\n return Array.isArray(value) && value.length === Object.keys(value).length;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nfunction isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n const ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n const prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isQueryKey(value) {\n return Array.isArray(value);\n}\nfunction isError(value) {\n return value instanceof Error;\n}\nfunction sleep(timeout) {\n return new Promise(resolve => {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nfunction scheduleMicrotask(callback) {\n sleep(0).then(callback);\n}\nfunction getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n\n return;\n}\nfunction replaceData(prevData, data, options) {\n // Use prev data if an isDataEqual function is defined and returns `true`\n if (options.isDataEqual != null && options.isDataEqual(prevData, data)) {\n return prevData;\n } else if (typeof options.structuralSharing === 'function') {\n return options.structuralSharing(prevData, data);\n } else if (options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n return replaceEqualDeep(prevData, data);\n }\n\n return data;\n}\n\nexport { difference, functionalUpdate, getAbortController, hashQueryKey, hashQueryKeyByOptions, isError, isPlainArray, isPlainObject, isQueryKey, isServer, isValidTimeout, matchMutation, matchQuery, noop, parseFilterArgs, parseMutationArgs, parseMutationFilterArgs, parseQueryArgs, partialDeepEqual, partialMatchKey, replaceAt, replaceData, replaceEqualDeep, scheduleMicrotask, shallowEqualObjects, sleep, timeUntilStale };\n//# sourceMappingURL=utils.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nclass FocusManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onFocus => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onFocus(); // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return () => {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(focused => {\n if (typeof focused === 'boolean') {\n this.setFocused(focused);\n } else {\n this.onFocus();\n }\n });\n }\n\n setFocused(focused) {\n const changed = this.focused !== focused;\n\n if (changed) {\n this.focused = focused;\n this.onFocus();\n }\n }\n\n onFocus() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n }\n\n}\nconst focusManager = new FocusManager();\n\nexport { FocusManager, focusManager };\n//# sourceMappingURL=focusManager.mjs.map\n","import { Subscribable } from './subscribable.mjs';\nimport { isServer } from './utils.mjs';\n\nconst onlineEvents = ['online', 'offline'];\nclass OnlineManager extends Subscribable {\n constructor() {\n super();\n\n this.setup = onOnline => {\n // addEventListener does not exist in React Native, but window does\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isServer && window.addEventListener) {\n const listener = () => onOnline(); // Listen to online\n\n\n onlineEvents.forEach(event => {\n window.addEventListener(event, listener, false);\n });\n return () => {\n // Be sure to unsubscribe if a new handler is set\n onlineEvents.forEach(event => {\n window.removeEventListener(event, listener);\n });\n };\n }\n\n return;\n };\n }\n\n onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n }\n\n setEventListener(setup) {\n var _this$cleanup2;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(online => {\n if (typeof online === 'boolean') {\n this.setOnline(online);\n } else {\n this.onOnline();\n }\n });\n }\n\n setOnline(online) {\n const changed = this.online !== online;\n\n if (changed) {\n this.online = online;\n this.onOnline();\n }\n }\n\n onOnline() {\n this.listeners.forEach(({\n listener\n }) => {\n listener();\n });\n }\n\n isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n }\n\n}\nconst onlineManager = new OnlineManager();\n\nexport { OnlineManager, onlineManager };\n//# sourceMappingURL=onlineManager.mjs.map\n","import { focusManager } from './focusManager.mjs';\nimport { onlineManager } from './onlineManager.mjs';\nimport { sleep } from './utils.mjs';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * 2 ** failureCount, 30000);\n}\n\nfunction canFetch(networkMode) {\n return (networkMode != null ? networkMode : 'online') === 'online' ? onlineManager.isOnline() : true;\n}\nclass CancelledError {\n constructor(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n }\n\n}\nfunction isCancelledError(value) {\n return value instanceof CancelledError;\n}\nfunction createRetryer(config) {\n let isRetryCancelled = false;\n let failureCount = 0;\n let isResolved = false;\n let continueFn;\n let promiseResolve;\n let promiseReject;\n const promise = new Promise((outerResolve, outerReject) => {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n const cancel = cancelOptions => {\n if (!isResolved) {\n reject(new CancelledError(cancelOptions));\n config.abort == null ? void 0 : config.abort();\n }\n };\n\n const cancelRetry = () => {\n isRetryCancelled = true;\n };\n\n const continueRetry = () => {\n isRetryCancelled = false;\n };\n\n const shouldPause = () => !focusManager.isFocused() || config.networkMode !== 'always' && !onlineManager.isOnline();\n\n const resolve = value => {\n if (!isResolved) {\n isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n const reject = value => {\n if (!isResolved) {\n isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n const pause = () => {\n return new Promise(continueResolve => {\n continueFn = value => {\n const canContinue = isResolved || !shouldPause();\n\n if (canContinue) {\n continueResolve(value);\n }\n\n return canContinue;\n };\n\n config.onPause == null ? void 0 : config.onPause();\n }).then(() => {\n continueFn = undefined;\n\n if (!isResolved) {\n config.onContinue == null ? void 0 : config.onContinue();\n }\n });\n }; // Create loop function\n\n\n const run = () => {\n // Do nothing if already resolved\n if (isResolved) {\n return;\n }\n\n let promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n }\n\n Promise.resolve(promiseOrValue).then(resolve).catch(error => {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n const retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n const retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n const delay = typeof retryDelay === 'function' ? retryDelay(failureCount, error) : retryDelay;\n const shouldRetry = retry === true || typeof retry === 'number' && failureCount < retry || typeof retry === 'function' && retry(failureCount, error);\n\n if (isRetryCancelled || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(() => {\n if (shouldPause()) {\n return pause();\n }\n\n return;\n }).then(() => {\n if (isRetryCancelled) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n if (canFetch(config.networkMode)) {\n run();\n } else {\n pause().then(run);\n }\n\n return {\n promise,\n cancel,\n continue: () => {\n const didContinue = continueFn == null ? void 0 : continueFn();\n return didContinue ? promise : Promise.resolve();\n },\n cancelRetry,\n continueRetry\n };\n}\n\nexport { CancelledError, canFetch, createRetryer, isCancelledError };\n//# sourceMappingURL=retryer.mjs.map\n","import { scheduleMicrotask } from './utils.mjs';\n\nfunction createNotifyManager() {\n let queue = [];\n let transactions = 0;\n\n let notifyFn = callback => {\n callback();\n };\n\n let batchNotifyFn = callback => {\n callback();\n };\n\n const batch = callback => {\n let result;\n transactions++;\n\n try {\n result = callback();\n } finally {\n transactions--;\n\n if (!transactions) {\n flush();\n }\n }\n\n return result;\n };\n\n const schedule = callback => {\n if (transactions) {\n queue.push(callback);\n } else {\n scheduleMicrotask(() => {\n notifyFn(callback);\n });\n }\n };\n /**\n * All calls to the wrapped function will be batched.\n */\n\n\n const batchCalls = callback => {\n return (...args) => {\n schedule(() => {\n callback(...args);\n });\n };\n };\n\n const flush = () => {\n const originalQueue = queue;\n queue = [];\n\n if (originalQueue.length) {\n scheduleMicrotask(() => {\n batchNotifyFn(() => {\n originalQueue.forEach(callback => {\n notifyFn(callback);\n });\n });\n });\n }\n };\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n\n\n const setNotifyFunction = fn => {\n notifyFn = fn;\n };\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n\n\n const setBatchNotifyFunction = fn => {\n batchNotifyFn = fn;\n };\n\n return {\n batch,\n batchCalls,\n schedule,\n setNotifyFunction,\n setBatchNotifyFunction\n };\n} // SINGLETON\n\nconst notifyManager = createNotifyManager();\n\nexport { createNotifyManager, notifyManager };\n//# sourceMappingURL=notifyManager.mjs.map\n","import { shallowEqualObjects, noop, isServer, isValidTimeout, timeUntilStale, replaceData } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { focusManager } from './focusManager.mjs';\nimport { Subscribable } from './subscribable.mjs';\nimport { canFetch, isCancelledError } from './retryer.mjs';\n\nclass QueryObserver extends Subscribable {\n constructor(client, options) {\n super();\n this.client = client;\n this.options = options;\n this.trackedProps = new Set();\n this.selectError = null;\n this.bindMethods();\n this.setOptions(options);\n }\n\n bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n }\n\n onUnsubscribe() {\n if (!this.hasListeners()) {\n this.destroy();\n }\n }\n\n shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n }\n\n shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n }\n\n destroy() {\n this.listeners = new Set();\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n this.currentQuery.removeObserver(this);\n }\n\n setOptions(options, notifyOptions) {\n const prevOptions = this.options;\n const prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryOptions(options);\n\n if (process.env.NODE_ENV !== 'production' && typeof (options == null ? void 0 : options.isDataEqual) !== 'undefined') {\n this.client.getLogger().error(\"The isDataEqual option has been deprecated and will be removed in the next major version. You can achieve the same functionality by passing a function as the structuralSharing option\");\n }\n\n if (!shallowEqualObjects(prevOptions, this.options)) {\n this.client.getQueryCache().notify({\n type: 'observerOptionsUpdated',\n query: this.currentQuery,\n observer: this\n });\n }\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n const mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n const nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n }\n\n getOptimisticResult(options) {\n const query = this.client.getQueryCache().build(this.client, options);\n const result = this.createResult(query, options);\n\n if (shouldAssignObserverCurrentProperties(this, result, options)) {\n // this assigns the optimistic result to the current Observer\n // because if the query function changes, useQuery will be performing\n // an effect where it would fetch again.\n // When the fetch finishes, we perform a deep data cloning in order\n // to reuse objects references. This deep data clone is performed against\n // the `observer.currentResult.data` property\n // When QueryKey changes, we refresh the query and get new `optimistic`\n // result, while we leave the `observer.currentResult`, so when new data\n // arrives, it finds the old `observer.currentResult` which is related\n // to the old QueryKey. Which means that currentResult and selectData are\n // out of sync already.\n // To solve this, we move the cursor of the currentResult everytime\n // an observer reads an optimistic value.\n // When keeping the previous data, the result doesn't change until new\n // data arrives.\n this.currentResult = result;\n this.currentResultOptions = this.options;\n this.currentResultState = this.currentQuery.state;\n }\n\n return result;\n }\n\n getCurrentResult() {\n return this.currentResult;\n }\n\n trackResult(result) {\n const trackedResult = {};\n Object.keys(result).forEach(key => {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: () => {\n this.trackedProps.add(key);\n return result[key];\n }\n });\n });\n return trackedResult;\n }\n\n getCurrentQuery() {\n return this.currentQuery;\n }\n\n remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n }\n\n refetch({\n refetchPage,\n ...options\n } = {}) {\n return this.fetch({ ...options,\n meta: {\n refetchPage\n }\n });\n }\n\n fetchOptimistic(options) {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const query = this.client.getQueryCache().build(this.client, defaultedOptions);\n query.isFetchingOptimistic = true;\n return query.fetch().then(() => this.createResult(query, defaultedOptions));\n }\n\n fetch(fetchOptions) {\n var _fetchOptions$cancelR;\n\n return this.executeFetch({ ...fetchOptions,\n cancelRefetch: (_fetchOptions$cancelR = fetchOptions.cancelRefetch) != null ? _fetchOptions$cancelR : true\n }).then(() => {\n this.updateResult();\n return this.currentResult;\n });\n }\n\n executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n let promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions != null && fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n }\n\n updateStaleTimeout() {\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n const time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n const timeout = time + 1;\n this.staleTimeoutId = setTimeout(() => {\n if (!this.currentResult.isStale) {\n this.updateResult();\n }\n }, timeout);\n }\n\n computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n }\n\n updateRefetchInterval(nextInterval) {\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(() => {\n if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {\n this.executeFetch();\n }\n }, this.currentRefetchInterval);\n }\n\n updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n }\n\n clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n }\n\n clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n }\n\n createResult(query, options) {\n const prevQuery = this.currentQuery;\n const prevOptions = this.options;\n const prevResult = this.currentResult;\n const prevResultState = this.currentResultState;\n const prevResultOptions = this.currentResultOptions;\n const queryChange = query !== prevQuery;\n const queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n const prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n const {\n state\n } = query;\n let {\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n fetchStatus,\n status\n } = state;\n let isPreviousData = false;\n let isPlaceholderData = false;\n let data; // Optimistically set result in fetching state if needed\n\n if (options._optimisticResults) {\n const mounted = this.hasListeners();\n const fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n fetchStatus = canFetch(query.options.networkMode) ? 'fetching' : 'paused';\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n\n if (options._optimisticResults === 'isRestoring') {\n fetchStatus = 'idle';\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdatedAt && prevQueryResult != null && prevQueryResult.isSuccess && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n data = replaceData(prevResult == null ? void 0 : prevResult.data, data, options);\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && status === 'loading') {\n let placeholderData; // Memoize placeholder data\n\n if (prevResult != null && prevResult.isPlaceholderData && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n this.selectError = null;\n } catch (selectError) {\n if (process.env.NODE_ENV !== 'production') {\n this.client.getLogger().error(selectError);\n }\n\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = replaceData(prevResult == null ? void 0 : prevResult.data, placeholderData, options);\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n const isFetching = fetchStatus === 'fetching';\n const isLoading = status === 'loading';\n const isError = status === 'error';\n const result = {\n status,\n fetchStatus,\n isLoading,\n isSuccess: status === 'success',\n isError,\n isInitialLoading: isLoading && isFetching,\n data,\n dataUpdatedAt,\n error,\n errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n failureReason: state.fetchFailureReason,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching,\n isRefetching: isFetching && !isLoading,\n isLoadingError: isError && state.dataUpdatedAt === 0,\n isPaused: fetchStatus === 'paused',\n isPlaceholderData,\n isPreviousData,\n isRefetchError: isError && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n }\n\n updateResult(notifyOptions) {\n const prevResult = this.currentResult;\n const nextResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify and update result if something has changed\n\n if (shallowEqualObjects(nextResult, prevResult)) {\n return;\n }\n\n this.currentResult = nextResult; // Determine which callbacks to trigger\n\n const defaultNotifyOptions = {\n cache: true\n };\n\n const shouldNotifyListeners = () => {\n if (!prevResult) {\n return true;\n }\n\n const {\n notifyOnChangeProps\n } = this.options;\n const notifyOnChangePropsValue = typeof notifyOnChangeProps === 'function' ? notifyOnChangeProps() : notifyOnChangeProps;\n\n if (notifyOnChangePropsValue === 'all' || !notifyOnChangePropsValue && !this.trackedProps.size) {\n return true;\n }\n\n const includedProps = new Set(notifyOnChangePropsValue != null ? notifyOnChangePropsValue : this.trackedProps);\n\n if (this.options.useErrorBoundary) {\n includedProps.add('error');\n }\n\n return Object.keys(this.currentResult).some(key => {\n const typedKey = key;\n const changed = this.currentResult[typedKey] !== prevResult[typedKey];\n return changed && includedProps.has(typedKey);\n });\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && shouldNotifyListeners()) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify({ ...defaultNotifyOptions,\n ...notifyOptions\n });\n }\n\n updateQuery() {\n const query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n const prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n }\n\n onQueryUpdate(action) {\n const notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = !action.manual;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n }\n\n notify(notifyOptions) {\n notifyManager.batch(() => {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n var _this$options$onSucce, _this$options, _this$options$onSettl, _this$options2;\n\n (_this$options$onSucce = (_this$options = this.options).onSuccess) == null ? void 0 : _this$options$onSucce.call(_this$options, this.currentResult.data);\n (_this$options$onSettl = (_this$options2 = this.options).onSettled) == null ? void 0 : _this$options$onSettl.call(_this$options2, this.currentResult.data, null);\n } else if (notifyOptions.onError) {\n var _this$options$onError, _this$options3, _this$options$onSettl2, _this$options4;\n\n (_this$options$onError = (_this$options3 = this.options).onError) == null ? void 0 : _this$options$onError.call(_this$options3, this.currentResult.error);\n (_this$options$onSettl2 = (_this$options4 = this.options).onSettled) == null ? void 0 : _this$options$onSettl2.call(_this$options4, undefined, this.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n this.client.getQueryCache().notify({\n query: this.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n }\n\n}\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n const value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n} // this function would decide if we will update the observer's 'current'\n// properties after an optimistic reading via getOptimisticResult\n\n\nfunction shouldAssignObserverCurrentProperties(observer, optimisticResult, options) {\n // it is important to keep this condition like this for three reasons:\n // 1. It will get removed in the v5\n // 2. it reads: don't update the properties if we want to keep the previous\n // data.\n // 3. The opposite condition (!options.keepPreviousData) would fallthrough\n // and will result in a bad decision\n if (options.keepPreviousData) {\n return false;\n } // this means we want to put some placeholder data when pending and queryKey\n // changed.\n\n\n if (options.placeholderData !== undefined) {\n // re-assign properties only if current data is placeholder data\n // which means that data did not arrive yet, so, if there is some cached data\n // we need to \"prepare\" to receive it\n return optimisticResult.isPlaceholderData;\n } // if the newly created result isn't what the observer is holding as current,\n // then we'll need to update the properties as well\n\n\n if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {\n return true;\n } // basically, just keep previous properties if nothing changed\n\n\n return false;\n}\n\nexport { QueryObserver };\n//# sourceMappingURL=queryObserver.mjs.map\n","import { difference, replaceAt } from './utils.mjs';\nimport { notifyManager } from './notifyManager.mjs';\nimport { QueryObserver } from './queryObserver.mjs';\nimport { Subscribable } from './subscribable.mjs';\n\nclass QueriesObserver extends Subscribable {\n constructor(client, queries) {\n super();\n this.client = client;\n this.queries = [];\n this.result = [];\n this.observers = [];\n this.observersMap = {};\n\n if (queries) {\n this.setQueries(queries);\n }\n }\n\n onSubscribe() {\n if (this.listeners.size === 1) {\n this.observers.forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n }\n }\n\n onUnsubscribe() {\n if (!this.listeners.size) {\n this.destroy();\n }\n }\n\n destroy() {\n this.listeners = new Set();\n this.observers.forEach(observer => {\n observer.destroy();\n });\n }\n\n setQueries(queries, notifyOptions) {\n this.queries = queries;\n notifyManager.batch(() => {\n const prevObservers = this.observers;\n const newObserverMatches = this.findMatchingObservers(this.queries); // set options for the new observers to notify of changes\n\n newObserverMatches.forEach(match => match.observer.setOptions(match.defaultedQueryOptions, notifyOptions));\n const newObservers = newObserverMatches.map(match => match.observer);\n const newObserversMap = Object.fromEntries(newObservers.map(observer => [observer.options.queryHash, observer]));\n const newResult = newObservers.map(observer => observer.getCurrentResult());\n const hasIndexChange = newObservers.some((observer, index) => observer !== prevObservers[index]);\n\n if (prevObservers.length === newObservers.length && !hasIndexChange) {\n return;\n }\n\n this.observers = newObservers;\n this.observersMap = newObserversMap;\n this.result = newResult;\n\n if (!this.hasListeners()) {\n return;\n }\n\n difference(prevObservers, newObservers).forEach(observer => {\n observer.destroy();\n });\n difference(newObservers, prevObservers).forEach(observer => {\n observer.subscribe(result => {\n this.onUpdate(observer, result);\n });\n });\n this.notify();\n });\n }\n\n getCurrentResult() {\n return this.result;\n }\n\n getQueries() {\n return this.observers.map(observer => observer.getCurrentQuery());\n }\n\n getObservers() {\n return this.observers;\n }\n\n getOptimisticResult(queries) {\n return this.findMatchingObservers(queries).map(match => match.observer.getOptimisticResult(match.defaultedQueryOptions));\n }\n\n findMatchingObservers(queries) {\n const prevObservers = this.observers;\n const prevObserversMap = new Map(prevObservers.map(observer => [observer.options.queryHash, observer]));\n const defaultedQueryOptions = queries.map(options => this.client.defaultQueryOptions(options));\n const matchingObservers = defaultedQueryOptions.flatMap(defaultedOptions => {\n const match = prevObserversMap.get(defaultedOptions.queryHash);\n\n if (match != null) {\n return [{\n defaultedQueryOptions: defaultedOptions,\n observer: match\n }];\n }\n\n return [];\n });\n const matchedQueryHashes = new Set(matchingObservers.map(match => match.defaultedQueryOptions.queryHash));\n const unmatchedQueries = defaultedQueryOptions.filter(defaultedOptions => !matchedQueryHashes.has(defaultedOptions.queryHash));\n const matchingObserversSet = new Set(matchingObservers.map(match => match.observer));\n const unmatchedObservers = prevObservers.filter(prevObserver => !matchingObserversSet.has(prevObserver));\n\n const getObserver = options => {\n const defaultedOptions = this.client.defaultQueryOptions(options);\n const currentObserver = this.observersMap[defaultedOptions.queryHash];\n return currentObserver != null ? currentObserver : new QueryObserver(this.client, defaultedOptions);\n };\n\n const newOrReusedObservers = unmatchedQueries.map((options, index) => {\n if (options.keepPreviousData) {\n // return previous data from one of the observers that no longer match\n const previouslyUsedObserver = unmatchedObservers[index];\n\n if (previouslyUsedObserver !== undefined) {\n return {\n defaultedQueryOptions: options,\n observer: previouslyUsedObserver\n };\n }\n }\n\n return {\n defaultedQueryOptions: options,\n observer: getObserver(options)\n };\n });\n\n const sortMatchesByOrderOfQueries = (a, b) => defaultedQueryOptions.indexOf(a.defaultedQueryOptions) - defaultedQueryOptions.indexOf(b.defaultedQueryOptions);\n\n return matchingObservers.concat(newOrReusedObservers).sort(sortMatchesByOrderOfQueries);\n }\n\n onUpdate(observer, result) {\n const index = this.observers.indexOf(observer);\n\n if (index !== -1) {\n this.result = replaceAt(this.result, index, result);\n this.notify();\n }\n }\n\n notify() {\n notifyManager.batch(() => {\n this.listeners.forEach(({\n listener\n }) => {\n listener(this.result);\n });\n });\n }\n\n}\n\nexport { QueriesObserver };\n//# sourceMappingURL=queriesObserver.mjs.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n }\n function useSyncExternalStore$2(subscribe, getSnapshot) {\n didWarnOld18Alpha ||\n void 0 === React.startTransition ||\n ((didWarnOld18Alpha = !0),\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.\"\n ));\n var value = getSnapshot();\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n objectIs(value, cachedValue) ||\n (console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n ),\n (didWarnUncachedGetSnapshot = !0));\n }\n cachedValue = useState({\n inst: { value: value, getSnapshot: getSnapshot }\n });\n var inst = cachedValue[0].inst,\n forceUpdate = cachedValue[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n }\n function checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n }\n function useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var React = require(\"react\"),\n objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue,\n didWarnOld18Alpha = !1,\n didWarnUncachedGetSnapshot = !1,\n shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\n exports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use client';\nimport { useSyncExternalStore as useSyncExternalStore$1 } from 'use-sync-external-store/shim/index.js';\n\nconst useSyncExternalStore = useSyncExternalStore$1;\n\nexport { useSyncExternalStore };\n//# sourceMappingURL=useSyncExternalStore.mjs.map\n","'use client';\nimport * as React from 'react';\n\nconst defaultContext = /*#__PURE__*/React.createContext(undefined);\nconst QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // If we are given a context, we will use it.\n// Otherwise, if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(context, contextSharing) {\n if (context) {\n return context;\n }\n\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nconst useQueryClient = ({\n context\n} = {}) => {\n const queryClient = React.useContext(getQueryClientContext(context, React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nconst QueryClientProvider = ({\n client,\n children,\n context,\n contextSharing = false\n}) => {\n React.useEffect(() => {\n client.mount();\n return () => {\n client.unmount();\n };\n }, [client]);\n\n if (process.env.NODE_ENV !== 'production' && contextSharing) {\n client.getLogger().error(\"The contextSharing option has been deprecated and will be removed in the next major version\");\n }\n\n const Context = getQueryClientContext(context, contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: !context && contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};\n\nexport { QueryClientProvider, defaultContext, useQueryClient };\n//# sourceMappingURL=QueryClientProvider.mjs.map\n","'use client';\nimport * as React from 'react';\n\nconst IsRestoringContext = /*#__PURE__*/React.createContext(false);\nconst useIsRestoring = () => React.useContext(IsRestoringContext);\nconst IsRestoringProvider = IsRestoringContext.Provider;\n\nexport { IsRestoringProvider, useIsRestoring };\n//# sourceMappingURL=isRestoring.mjs.map\n","'use client';\nimport * as React from 'react';\n\nfunction createValue() {\n let isReset = false;\n return {\n clearReset: () => {\n isReset = false;\n },\n reset: () => {\n isReset = true;\n },\n isReset: () => {\n return isReset;\n }\n };\n}\n\nconst QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nconst useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext); // COMPONENT\n\nconst QueryErrorResetBoundary = ({\n children\n}) => {\n const [value] = React.useState(() => createValue());\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};\n\nexport { QueryErrorResetBoundary, useQueryErrorResetBoundary };\n//# sourceMappingURL=QueryErrorResetBoundary.mjs.map\n","function shouldThrowError(_useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary(...params);\n }\n\n return !!_useErrorBoundary;\n}\n\nexport { shouldThrowError };\n//# sourceMappingURL=utils.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { shouldThrowError } from './utils.mjs';\n\nconst ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {\n if (options.suspense || options.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n options.retryOnMount = false;\n }\n }\n};\nconst useClearResetErrorBoundary = errorResetBoundary => {\n React.useEffect(() => {\n errorResetBoundary.clearReset();\n }, [errorResetBoundary]);\n};\nconst getHasError = ({\n result,\n errorResetBoundary,\n useErrorBoundary,\n query\n}) => {\n return result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(useErrorBoundary, [result.error, query]);\n};\n\nexport { ensurePreventErrorBoundaryRetry, getHasError, useClearResetErrorBoundary };\n//# sourceMappingURL=errorBoundaryUtils.mjs.map\n","const ensureStaleTime = defaultedOptions => {\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n }\n }\n};\nconst willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;\nconst shouldSuspend = (defaultedOptions, result, isRestoring) => (defaultedOptions == null ? void 0 : defaultedOptions.suspense) && willFetch(result, isRestoring);\nconst fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).then(({\n data\n}) => {\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n}).catch(error => {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n});\n\nexport { ensureStaleTime, fetchOptimistic, shouldSuspend, willFetch };\n//# sourceMappingURL=suspense.mjs.map\n","'use client';\nimport * as React from 'react';\nimport { QueriesObserver, notifyManager } from '@tanstack/query-core';\nimport { useSyncExternalStore } from './useSyncExternalStore.mjs';\nimport { useQueryClient } from './QueryClientProvider.mjs';\nimport { useIsRestoring } from './isRestoring.mjs';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary.mjs';\nimport { ensurePreventErrorBoundaryRetry, useClearResetErrorBoundary, getHasError } from './errorBoundaryUtils.mjs';\nimport { ensureStaleTime, shouldSuspend, fetchOptimistic, willFetch } from './suspense.mjs';\n\nfunction useQueries({\n queries,\n context\n}) {\n const queryClient = useQueryClient({\n context\n });\n const isRestoring = useIsRestoring();\n const errorResetBoundary = useQueryErrorResetBoundary();\n const defaultedQueries = React.useMemo(() => queries.map(options => {\n const defaultedOptions = queryClient.defaultQueryOptions(options); // Make sure the results are already in fetching state before subscribing or updating options\n\n defaultedOptions._optimisticResults = isRestoring ? 'isRestoring' : 'optimistic';\n return defaultedOptions;\n }), [queries, queryClient, isRestoring]);\n defaultedQueries.forEach(query => {\n ensureStaleTime(query);\n ensurePreventErrorBoundaryRetry(query, errorResetBoundary);\n });\n useClearResetErrorBoundary(errorResetBoundary);\n const [observer] = React.useState(() => new QueriesObserver(queryClient, defaultedQueries));\n const optimisticResult = observer.getOptimisticResult(defaultedQueries);\n useSyncExternalStore(React.useCallback(onStoreChange => isRestoring ? () => undefined : observer.subscribe(notifyManager.batchCalls(onStoreChange)), [observer, isRestoring]), () => observer.getCurrentResult(), () => observer.getCurrentResult());\n React.useEffect(() => {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setQueries(defaultedQueries, {\n listeners: false\n });\n }, [defaultedQueries, observer]);\n const shouldAtLeastOneSuspend = optimisticResult.some((result, index) => shouldSuspend(defaultedQueries[index], result, isRestoring));\n const suspensePromises = shouldAtLeastOneSuspend ? optimisticResult.flatMap((result, index) => {\n const options = defaultedQueries[index];\n const queryObserver = observer.getObservers()[index];\n\n if (options && queryObserver) {\n if (shouldSuspend(options, result, isRestoring)) {\n return fetchOptimistic(options, queryObserver, errorResetBoundary);\n } else if (willFetch(result, isRestoring)) {\n void fetchOptimistic(options, queryObserver, errorResetBoundary);\n }\n }\n\n return [];\n }) : [];\n\n if (suspensePromises.length > 0) {\n throw Promise.all(suspensePromises);\n }\n\n const observerQueries = observer.getQueries();\n const firstSingleResultWhichShouldThrow = optimisticResult.find((result, index) => {\n var _defaultedQueries$ind, _defaultedQueries$ind2;\n\n return getHasError({\n result,\n errorResetBoundary,\n useErrorBoundary: (_defaultedQueries$ind = (_defaultedQueries$ind2 = defaultedQueries[index]) == null ? void 0 : _defaultedQueries$ind2.useErrorBoundary) != null ? _defaultedQueries$ind : false,\n query: observerQueries[index]\n });\n });\n\n if (firstSingleResultWhichShouldThrow != null && firstSingleResultWhichShouldThrow.error) {\n throw firstSingleResultWhichShouldThrow.error;\n }\n\n return optimisticResult;\n}\n\nexport { useQueries };\n//# sourceMappingURL=useQueries.mjs.map\n","import type { SquidTransaction, TransactionStatus } from \"./types\";\n\nconst VALID_STATUSES: Set<string> = new Set<TransactionStatus>([\n \"ongoing\",\n \"success\",\n \"refunded\",\n]);\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction isSquidTransactionToken(value: unknown): boolean {\n if (!isObject(value)) return false;\n return (\n typeof value.address === \"string\" &&\n typeof value.symbol === \"string\" &&\n typeof value.decimals === \"number\" &&\n typeof value.chainId === \"string\"\n );\n}\n\nexport function isSquidTransaction(tx: unknown): tx is SquidTransaction {\n if (!isObject(tx)) return false;\n\n if (\n typeof tx.createdAt !== \"string\" ||\n typeof tx.fromChainId !== \"string\" ||\n typeof tx.toChainId !== \"string\"\n ) {\n return false;\n }\n\n if (!isObject(tx.quote)) return false;\n const quote = tx.quote;\n if (!isObject(quote.route)) return false;\n const route = quote.route;\n if (!isObject(route.estimate)) return false;\n const estimate = route.estimate;\n\n if (\n typeof estimate.fromAmount !== \"string\" ||\n typeof estimate.toAmount !== \"string\" ||\n !isSquidTransactionToken(estimate.fromToken) ||\n !isSquidTransactionToken(estimate.toToken)\n ) {\n return false;\n }\n\n if (!isObject(tx.statusResponse)) return false;\n const status = tx.statusResponse;\n if (\n typeof status.squidTransactionStatus !== \"string\" ||\n !VALID_STATUSES.has(status.squidTransactionStatus)\n ) {\n return false;\n }\n\n return true;\n}\n","import type { SquidTransaction } from \"./types\";\nimport { isSquidTransaction } from \"./validation\";\n\nexport async function getWalletHistory(\n address: string,\n integratorId: string,\n apiUrl: string,\n): Promise<SquidTransaction[]> {\n const url = new URL(\"/v2/history/wallet\", apiUrl);\n url.searchParams.append(\"address\", address);\n\n const response = await fetch(url, {\n headers: { \"X-Integrator-Id\": integratorId },\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch wallet history: ${response.status}`);\n }\n\n const data: unknown = await response.json();\n if (!Array.isArray(data)) return [];\n\n return data.filter(isSquidTransaction);\n}\n","import {\n formatTokenAmount,\n formatBNToReadable,\n getTokenImage,\n type SwapTransactionHistory,\n} from \"@0xsquid/react-hooks\";\nimport type { ChainData, Token } from \"@0xsquid/squid-types\";\nimport { getMainExplorerUrl } from \"./get-main-explorer-url\";\nimport type { FormattedTx, SquidTransaction, TransactionStatus } from \"./types\";\n\nexport interface DayGroup {\n day: string; // YYYY-MM-DD\n transactions: FormattedTx[];\n}\n\nfunction formatAmount(raw: string, decimals: number): string {\n const readable = formatBNToReadable(raw, decimals);\n return formatTokenAmount(readable, { compact: true });\n}\n\n// Maps react-hooks' TransactionStatus (+ error variants) to our 3-state display.\nfunction mapLocalStatusToDisplayStatus(status: string): TransactionStatus {\n if (status === \"success\" || status === \"partial_success\") return \"success\";\n if (status === \"refunded\" || status === \"error\") return \"refunded\";\n return \"ongoing\";\n}\n\nfunction fallbackId(tx: SquidTransaction): string {\n const { estimate } = tx.quote.route;\n return `${tx.createdAt}-${estimate.fromToken.address}-${estimate.toToken.address}-${estimate.fromAmount}`;\n}\n\nexport function toFormattedTx(\n tx: SquidTransaction,\n sourceChain: ChainData | undefined,\n): FormattedTx {\n const { estimate } = tx.quote.route;\n const { fromToken, toToken } = estimate;\n\n return {\n id: tx.transactionId ?? fallbackId(tx),\n timestamp: tx.createdAt,\n status: tx.statusResponse.squidTransactionStatus,\n fromAmount: formatAmount(estimate.fromAmount, fromToken.decimals),\n toAmount: formatAmount(estimate.toAmount, toToken.decimals),\n fromToken: {\n symbol: fromToken.symbol,\n logo: getTokenImage({\n address: fromToken.address,\n chainId: tx.fromChainId,\n }),\n },\n fromChain: { logo: sourceChain?.chainIconURI ?? \"\" },\n toToken: { symbol: toToken.symbol },\n explorer: getMainExplorerUrl({\n transactionId: tx.transactionId,\n routeType: tx.routeType,\n sourceTxExplorerUrl: tx.sourceTxExplorerUrl,\n statusResponse: tx.statusResponse,\n actions: tx.actions,\n sourceChain,\n }),\n };\n}\n\nexport function pendingSwapToFormattedTx(\n pending: SwapTransactionHistory,\n findToken: (address?: string, chainId?: string) => Token | undefined,\n findChain: (chainId: string | undefined) => ChainData | undefined,\n): FormattedTx {\n const fromTokenMeta = findToken(pending.fromToken, pending.fromChain);\n const toTokenMeta = findToken(pending.toToken, pending.toChain);\n\n const fromReadable = fromTokenMeta\n ? formatBNToReadable(pending.fromAmount, fromTokenMeta.decimals)\n : pending.fromAmount;\n const toReadable = toTokenMeta\n ? formatBNToReadable(pending.toAmount, toTokenMeta.decimals)\n : pending.toAmount;\n\n return {\n id: pending.transactionId,\n timestamp: new Date(pending.timestamp).toISOString(),\n status: mapLocalStatusToDisplayStatus(pending.status),\n fromAmount: formatTokenAmount(fromReadable, { compact: true }),\n toAmount: formatTokenAmount(toReadable, { compact: true }),\n fromToken: {\n symbol: fromTokenMeta?.symbol ?? \"\",\n logo: getTokenImage({\n address: pending.fromToken,\n chainId: pending.fromChain,\n }),\n },\n fromChain: { logo: findChain(pending.fromChain)?.chainIconURI ?? \"\" },\n toToken: { symbol: toTokenMeta?.symbol ?? \"\" },\n explorer: getMainExplorerUrl({\n transactionId: pending.transactionId,\n routeType: pending.routeType,\n sourceTxExplorerUrl: pending.sourceTxExplorerUrl,\n statusResponse: pending.statusResponse,\n actions: pending.actions,\n sourceChain: findChain(pending.fromChain),\n }),\n };\n}\n\nexport function groupAndSortByDay(txs: FormattedTx[]): DayGroup[] {\n const byDay = new Map<string, FormattedTx[]>();\n\n for (const tx of txs) {\n const dayKey = new Date(tx.timestamp).toISOString().slice(0, 10);\n const bucket = byDay.get(dayKey) ?? [];\n bucket.push(tx);\n byDay.set(dayKey, bucket);\n }\n\n const groups: DayGroup[] = [];\n for (const [day, transactions] of byDay.entries()) {\n transactions.sort(\n (a, b) =>\n new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime(),\n );\n groups.push({ day, transactions });\n }\n\n groups.sort((a, b) => new Date(b.day).getTime() - new Date(a.day).getTime());\n return groups;\n}\n","import { useCallback, useMemo } from \"react\";\nimport { useQueries } from \"@tanstack/react-query\";\nimport {\n useWallet,\n useHistoryStore,\n useSquidTokens,\n useSquidChains,\n useConfigStore,\n HistoryTxType,\n parseToBigInt,\n} from \"@0xsquid/react-hooks\";\nimport { getWalletHistory } from \"../services/wallet-history/get-wallet-history\";\nimport {\n groupAndSortByDay,\n pendingSwapToFormattedTx,\n toFormattedTx,\n type DayGroup,\n} from \"../services/wallet-history/format\";\nimport type { SquidTransaction } from \"../services/wallet-history/types\";\nimport {\n useDepositStore,\n useIsPaymentMode,\n usePaymentAmount,\n} from \"../store/use-deposit-store\";\nimport {\n isPaymentTx,\n isSameAddress,\n isSameTx,\n matchesDestinationToken,\n} from \"../utils/transaction\";\n\nexport function useTransactionHistory(): {\n isLoading: boolean;\n isError: boolean;\n groups: DayGroup[];\n} {\n const { connectedAddresses } = useWallet();\n const config = useDepositStore((s) => s.config);\n const integratorId = config?.integrator.id;\n const apiUrl = useConfigStore((s) => s.config.apiUrl);\n const pendingFromStore = useHistoryStore((s) => s.transactions);\n const { findToken, tokens } = useSquidTokens();\n const { findChain } = useSquidChains();\n\n const destinationToken = config?.destinationToken;\n const isPaymentMode = useIsPaymentMode();\n const paymentAmount = usePaymentAmount();\n\n const destinationTokenDecimals = destinationToken\n ? tokens.find(\n (t) =>\n t.chainId === destinationToken.chainId &&\n isSameAddress(t.address, destinationToken.address),\n )?.decimals\n : null;\n\n const addresses = useMemo(\n () =>\n Array.from(\n new Set(\n Object.values(connectedAddresses).filter(\n (a): a is string => a != null && a.length > 0,\n ),\n ),\n ),\n [connectedAddresses],\n );\n\n // Memoized so TanStack Query doesn't re-run the filter on every render.\n const select = useCallback(\n (data: SquidTransaction[]) => {\n if (!destinationToken) return [];\n\n if (\n isPaymentMode &&\n (!paymentAmount || destinationTokenDecimals == null)\n ) {\n return [];\n }\n\n return data.filter((tx) => {\n // validate destination token\n if (\n !matchesDestinationToken(\n tx.quote.route.estimate.toToken,\n destinationToken,\n )\n ) {\n return false;\n }\n\n if (isPaymentMode) {\n return isPaymentTx(tx, paymentAmount!, destinationTokenDecimals!);\n }\n\n return true;\n });\n },\n [destinationToken, isPaymentMode, paymentAmount, destinationTokenDecimals],\n );\n\n const queries = useQueries({\n queries: addresses.map((address) => ({\n queryKey: [\"deposit-widget\", \"tx-history\", address, integratorId, apiUrl],\n queryFn: () => {\n if (!integratorId || !apiUrl) {\n throw new Error(\n \"integratorId and apiUrl are required to fetch wallet history\",\n );\n }\n return getWalletHistory(address, integratorId, apiUrl);\n },\n select,\n enabled: !!address && !!integratorId && !!apiUrl,\n staleTime: 30_000,\n })),\n });\n\n const isLoading = queries.some((q) => q.isLoading);\n const isError = queries.length > 0 && queries.every((q) => q.isError);\n\n return useMemo(() => {\n if (!destinationToken) {\n return { isLoading, isError, groups: [] };\n }\n\n const backendTxs: SquidTransaction[] = queries\n .map((q) => q.data)\n .flatMap((data) => data ?? []);\n\n // Overlay local pendings for the brief window where a tx resolved locally\n // but Squid's backend hasn't indexed it yet.\n const formatted = backendTxs.map((tx) =>\n toFormattedTx(tx, findChain(tx.fromChainId)),\n );\n\n const connectedAddressSet = new Set(addresses.map((a) => a.toLowerCase()));\n const expectedPayment =\n paymentAmount && destinationTokenDecimals != null\n ? parseToBigInt(paymentAmount, destinationTokenDecimals).toString()\n : undefined;\n\n for (const { data: pendingTx, txType } of pendingFromStore) {\n if (txType !== HistoryTxType.SWAP) continue;\n\n // validate source address\n if (!connectedAddressSet.has(pendingTx.fromAddress.toLowerCase())) {\n continue;\n }\n\n // validate destination token\n if (\n !matchesDestinationToken(\n { address: pendingTx.toToken, chainId: pendingTx.toChain },\n destinationToken,\n )\n ) {\n continue;\n }\n\n // skip if already indexed\n if (backendTxs.some((tx) => isSameTx(tx, pendingTx))) continue;\n\n const isPayment =\n expectedPayment != null && pendingTx.toAmount === expectedPayment;\n\n if (isPaymentMode !== isPayment) continue;\n\n formatted.unshift(\n pendingSwapToFormattedTx(pendingTx, findToken, findChain),\n );\n }\n\n return {\n isLoading,\n isError,\n groups: groupAndSortByDay(formatted),\n };\n // `useQueries` returns a fresh outer array every render, so depending on\n // `queries` directly would bust this memo on every render. Spreading the\n // individual `q.data` refs sidesteps that — they're kept stable by\n // React Query's structural sharing across renders when the data is equal.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n destinationToken,\n addresses,\n isPaymentMode,\n paymentAmount,\n destinationTokenDecimals,\n findChain,\n findToken,\n pendingFromStore,\n isLoading,\n isError,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...queries.map((q) => q.data),\n ]);\n}\n","export function formatDateToHhMm(date: Date): string {\n return date.toLocaleTimeString(\"en-US\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n });\n}\n\nexport function formatDayHeader(yyyyMmDd: string): string {\n const [year = 0, month = 0, day] = yyyyMmDd.split(\"-\").map(Number);\n const date = new Date(year, month - 1, day);\n const currentYear = new Date().getFullYear();\n\n if (year === currentYear) {\n return new Intl.DateTimeFormat(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n }).format(date);\n }\n\n return new Intl.DateTimeFormat(\"en-US\", {\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n }).format(date);\n}\n","import {\n BodyText,\n CaptionText,\n cn,\n Loader,\n SquareArrowTopRightIcon,\n} from \"@0xsquid/ui\";\nimport { TokenBadgeIcon } from \"../../components/token-badge-icon\";\nimport type { FormattedTx } from \"../../services/wallet-history/types\";\nimport { useIsPaymentMode } from \"../../store/use-deposit-store\";\nimport { formatDateToHhMm } from \"../../utils/format-date\";\n\ntype Props = FormattedTx;\n\nexport function ActivityListItem({\n fromAmount,\n fromToken,\n fromChain,\n toAmount,\n toToken,\n timestamp,\n status,\n explorer,\n}: Props) {\n const isPaymentMode = useIsPaymentMode();\n\n return (\n <li>\n <a\n href={explorer?.url}\n target={explorer ? \"_blank\" : undefined}\n rel={explorer ? \"noopener noreferrer\" : undefined}\n title={explorer ? `View on ${explorer.name}` : undefined}\n className={cn(\n \"tw-flex tw-h-[4.5rem] tw-px-4 tw-items-center tw-gap-3 tw-shrink-0\",\n explorer && \"hover:tw-bg-material-light-thin\",\n )}\n >\n <TokenBadgeIcon tokenSrc={fromToken.logo} chainSrc={fromChain.logo} />\n\n <div className=\"tw-flex tw-flex-col tw-items-start tw-gap-0.5 tw-flex-1 tw-min-w-0\">\n <div className=\"tw-flex tw-items-center tw-gap-1 tw-self-stretch\">\n <BodyText size=\"small\">\n {isPaymentMode ? \"Payment\" : \"Deposit\"}\n </BodyText>\n {explorer && (\n <SquareArrowTopRightIcon\n size=\"0.875rem\"\n className=\"tw-text-grey-500\"\n />\n )}\n <BodyText size=\"small\" className=\"tw-ml-auto\">\n {toAmount}\n </BodyText>\n <BodyText size=\"small\" className=\"tw-text-grey-400\">\n {toToken.symbol}\n </BodyText>\n </div>\n\n <div className=\"tw-flex tw-justify-between tw-items-center tw-self-stretch\">\n <div className=\"tw-flex tw-items-center tw-gap-1\">\n <CaptionText className=\"tw-text-grey-500\">\n Paid {fromAmount} {fromToken.symbol}\n </CaptionText>\n </div>\n\n {status === \"ongoing\" ? (\n <Loader\n size=\"1rem\"\n strokeWidth=\"4\"\n className=\"tw-text-royal-500\"\n />\n ) : status === \"refunded\" ? (\n <CaptionText className=\"tw-text-status-negative\">\n Refunded\n </CaptionText>\n ) : (\n <CaptionText className=\"tw-text-grey-500\">\n {formatDateToHhMm(new Date(timestamp))}\n </CaptionText>\n )}\n </div>\n </div>\n </a>\n </li>\n );\n}\n","import { BodyText, Loader, SectionTitle } from \"@0xsquid/ui\";\nimport { SubNavBar } from \"../../components/shared/navigation/sub-navbar\";\nimport { ViewContainer } from \"../../components/view-container\";\nimport { useTransactionHistory } from \"../../hooks/use-transaction-history\";\nimport { useIsPaymentMode } from \"../../store/use-deposit-store\";\nimport { formatDayHeader } from \"../../utils/format-date\";\nimport { ActivityListItem } from \"./activity-list-item\";\n\nexport function TransactionHistoryView() {\n const { isLoading, isError, groups } = useTransactionHistory();\n const isPaymentMode = useIsPaymentMode();\n\n return (\n <>\n <SubNavBar title=\"Activity\" />\n\n <ViewContainer>\n {isLoading ? (\n <div className=\"tw-flex tw-flex-1 tw-items-center tw-justify-center\">\n <Loader size=\"2rem\" className=\"tw-text-royal-500\" />\n </div>\n ) : isError ? (\n <Message>Error loading transactions</Message>\n ) : groups.length === 0 ? (\n <Message>\n Your {isPaymentMode ? \"payments\" : \"deposits\"} will appear here\n </Message>\n ) : (\n <div className=\"tw-flex tw-flex-col tw-w-full\">\n {groups.map((group) => (\n <section key={group.day} className=\"tw-flex tw-flex-col\">\n <SectionTitle\n title={formatDayHeader(group.day)}\n className=\"tw-bg-transparent\"\n />\n <ul className=\"tw-flex tw-flex-col\">\n {group.transactions.map((tx) => (\n <ActivityListItem key={tx.id} {...tx} />\n ))}\n </ul>\n </section>\n ))}\n </div>\n )}\n </ViewContainer>\n </>\n );\n}\n\nfunction Message({ children }: { children: React.ReactNode }) {\n return (\n <div className=\"tw-flex tw-flex-1 tw-items-center tw-justify-center tw-px-4 tw-text-center\">\n <BodyText size=\"small\" className=\"tw-text-material-light-thick\">\n {children}\n </BodyText>\n </div>\n );\n}\n","import React from \"react\";\nimport type { WidgetView } from \"../types\";\nimport { ConnectWalletView } from \"./connect-wallet/connect-wallet-view\";\nimport { TransactionProgressView } from \"./transaction-progress/transaction-progress-view\";\nimport { MainView } from \"./main/main-view\";\nimport { QrCodeView } from \"./qr-code\";\nimport { SelectChainView } from \"./select-chain/select-chain-view\";\nimport { SelectTokenView } from \"./select-token\";\nimport { TransactionHistoryView } from \"./transaction-history/transaction-history-view\";\n\nexport function renderView(view: WidgetView): React.ReactElement {\n switch (view.id) {\n case \"main\":\n return <MainView />;\n case \"connect-wallet\":\n return <ConnectWalletView chainType={view.chainType} />;\n case \"select-chain\":\n return <SelectChainView wallet={view.wallet} />;\n case \"qr-code\":\n return <QrCodeView />;\n case \"select-token\":\n return <SelectTokenView />;\n case \"transaction-history\":\n return <TransactionHistoryView />;\n case \"transaction-progress\":\n return <TransactionProgressView />;\n }\n}\n","import { useEffect, useRef } from \"react\";\nimport {\n CHAIN_IDS,\n chainTypeToNativeTokenAddressMap,\n useSquidTokens,\n useSwap,\n useWallet,\n} from \"@0xsquid/react-hooks\";\nimport { ChainType } from \"@0xsquid/squid-types\";\n\nconst CHAIN_TYPE_PRIORITY: ChainType[] = [\n ChainType.EVM,\n ChainType.SOLANA,\n ChainType.COSMOS,\n ChainType.SUI,\n ChainType.BTC,\n ChainType.XRPL,\n ChainType.STELLAR,\n];\n\nconst DEFAULT_CHAIN_ID_BY_TYPE: Record<ChainType, string> = {\n [ChainType.EVM]: CHAIN_IDS.ETHEREUM,\n [ChainType.COSMOS]: CHAIN_IDS.OSMOSIS,\n [ChainType.BTC]: CHAIN_IDS.BITCOIN,\n [ChainType.SOLANA]: CHAIN_IDS.SOLANA,\n [ChainType.SUI]: CHAIN_IDS.SUI,\n [ChainType.XRPL]: CHAIN_IDS.XRPL,\n [ChainType.STELLAR]: CHAIN_IDS.STELLAR,\n};\n\nexport function useAutoSelectToken() {\n const { fromToken: token, onSwapChange } = useSwap();\n const { connectedWalletsByChainType } = useWallet();\n const { findToken, tokens } = useSquidTokens();\n const hasAutoSelected = useRef(false);\n\n useEffect(() => {\n if (token != null) {\n hasAutoSelected.current = false;\n return;\n }\n\n if (hasAutoSelected.current) return;\n if (tokens.length === 0) return;\n\n const connectedChainType = CHAIN_TYPE_PRIORITY.find((ct) => {\n const walletState = connectedWalletsByChainType[ct];\n return !!walletState?.wallet && !!walletState?.address;\n });\n\n if (!connectedChainType) return;\n\n const nativeAddress = chainTypeToNativeTokenAddressMap[connectedChainType];\n const defaultChainId = DEFAULT_CHAIN_ID_BY_TYPE[connectedChainType];\n const nativeToken = findToken(nativeAddress, defaultChainId);\n\n if (nativeToken) {\n onSwapChange({\n fromChainId: nativeToken.chainId,\n fromTokenAddress: nativeToken.address,\n });\n hasAutoSelected.current = true;\n }\n }, [token, connectedWalletsByChainType, tokens, findToken, onSwapChange]);\n}\n","import React, { useEffect, useMemo } from \"react\";\nimport {\n SquidProvider,\n useAllConnectedWalletBalances,\n useAllTransactionsStatus,\n useSwap,\n} from \"@0xsquid/react-hooks\";\nimport { darkTheme, lightTheme, ThemeProvider } from \"@0xsquid/ui\";\nimport type { Theme, ThemeType } from \"@0xsquid/ui\";\nimport compiledCss from \"./compiled-tailwind.css\";\nimport { selectCurrentView, useRouter } from \"./store/useRouter\";\nimport { ViewTransition } from \"./components/ViewTransition\";\nimport { renderView } from \"./views/render-view\";\nimport { useAutoSelectToken } from \"./hooks/use-auto-select-token\";\nimport { useDepositStore, usePaymentAmount } from \"./store/use-deposit-store\";\nimport type { DepositConfig } from \"./types\";\n\ninterface DepositWidgetProps {\n config: DepositConfig;\n}\n\nexport function DepositWidget({\n config,\n}: DepositWidgetProps): React.ReactElement {\n const { theme, themeType } = config;\n return (\n <SquidProvider\n config={{ integratorId: config.integrator.id, apiUrl: config.apiUrl }}\n placeholder={\n <WidgetLayout theme={theme} themeType={themeType}>\n <WidgetSkeleton />\n </WidgetLayout>\n }\n >\n <WidgetLayout theme={theme} themeType={themeType}>\n <DepositWidgetContent config={config} />\n </WidgetLayout>\n </SquidProvider>\n );\n}\n\nfunction DepositWidgetContent({\n config,\n}: {\n config: DepositConfig;\n}): React.ReactElement {\n const currentView = useRouter(selectCurrentView);\n const setConfig = useDepositStore((s) => s.setConfig);\n const { onSwapChange, toAmountChanged, fromAmountChanged } = useSwap();\n\n useEffect(() => {\n setConfig(config);\n }, [config, setConfig]);\n\n useEffect(() => {\n onSwapChange({\n toChainId: config.destinationToken.chainId,\n toTokenAddress: config.destinationToken.address,\n destinationAddress: { address: config.destinationAddress },\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n config.destinationAddress,\n config.destinationToken.chainId,\n config.destinationToken.address,\n ]);\n\n const paymentAmount = usePaymentAmount();\n useEffect(() => {\n if (paymentAmount) {\n fromAmountChanged(\"\");\n toAmountChanged(paymentAmount);\n } else {\n toAmountChanged(\"\");\n fromAmountChanged(\"\");\n }\n }, [paymentAmount, toAmountChanged, fromAmountChanged]);\n\n useAutoSelectToken();\n useAllConnectedWalletBalances(); // Pre-warm balance cache\n // Polls /v2/status for pending txs — also what registers them with Squid's backend for /history/wallet\n useAllTransactionsStatus({ enabled: true });\n\n return (\n <ViewTransition viewId={currentView.id}>\n {renderView(currentView)}\n </ViewTransition>\n );\n}\n\ninterface WidgetLayoutProps {\n theme?: Theme;\n themeType?: ThemeType;\n children: React.ReactNode;\n}\n\nfunction WidgetLayout({\n theme,\n themeType,\n children,\n}: WidgetLayoutProps): React.ReactElement {\n const mergedTheme = useMemo<Theme>(() => {\n const base = themeType === \"dark\" ? darkTheme : lightTheme;\n const merged = { ...base.color, ...theme?.color };\n return {\n ...base,\n ...theme,\n fontFamily: {\n ...base.fontFamily,\n \"squid-main\": '\"DMSansVariable\", sans-serif',\n // Integrator override wins.\n ...theme?.fontFamily,\n },\n color: {\n ...merged,\n \"animation-bg\": merged[\"grey-900\"],\n \"animation-text\": merged[\"animation-bg\"] ?? merged[\"grey-900\"],\n },\n };\n }, [theme, themeType]);\n\n return (\n <ThemeProvider theme={mergedTheme} themeType={themeType}>\n <style\n id=\"squid-deposit-widget-inline-style\"\n dangerouslySetInnerHTML={{ __html: compiledCss }}\n />\n <div className=\"squid-style-container--preflight tw-bg-grey-900 tw-text-grey-100 tw-flex tw-w-widget-card tw-h-widget-card tw-flex-col tw-items-center tw-shrink-0 tw-rounded-3xl tw-border tw-border-grey-900 dark:tw-shadow-widget-card-dark tw-shadow-widget-card-light tw-font-medium\">\n {children}\n </div>\n </ThemeProvider>\n );\n}\n\nfunction WidgetSkeleton(): React.ReactElement {\n return (\n <div className=\"tw-flex tw-flex-col tw-flex-1 tw-w-full tw-animate-pulse\">\n {/* Connect-wallet content: logo + heading + description */}\n <div className=\"tw-flex tw-pt-3 tw-pb-8 tw-px-4 tw-flex-col tw-justify-end tw-items-center tw-gap-4 tw-flex-1\">\n <div className=\"tw-w-32 tw-h-32 tw-rounded-full tw-bg-grey-800\" />\n\n <div className=\"tw-flex tw-pt-2 tw-pb-4 tw-flex-col tw-items-center tw-gap-4\">\n <div className=\"tw-h-6 tw-w-48 tw-rounded tw-bg-grey-800\" />\n <div className=\"tw-flex tw-flex-col tw-items-center tw-gap-2\">\n <div className=\"tw-h-4 tw-w-56 tw-rounded tw-bg-grey-800\" />\n <div className=\"tw-h-4 tw-w-40 tw-rounded tw-bg-grey-800\" />\n </div>\n <div className=\"tw-h-4 tw-w-20 tw-rounded tw-bg-grey-800\" />\n </div>\n </div>\n\n {/* CTA button */}\n <div className=\"tw-px-4 tw-pb-4\">\n <div className=\"tw-h-12 tw-w-full tw-rounded-full tw-bg-grey-800\" />\n </div>\n </div>\n );\n}\n"],"names":["_jsxs","_jsx","this","exports","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","ChainType","_Fragment","Button","shimModule","useSyncExternalStore$1","compiledCss"],"mappings":"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","x_google_ignoreList":[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76]}