@velora-dex/widget 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/assets/price-impact.svg.js +12 -0
- package/dist/assets/price-impact.svg.js.map +1 -0
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +3 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +70 -64
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +3 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +39 -21
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -0
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js +4 -4
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +21 -18
- package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/types.d.ts +1 -0
- package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
- package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js +33 -39
- package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +6 -2
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +84 -76
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SelectToken/types.d.ts +2 -0
- package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +43 -41
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/core/Toaster.js +1 -1
- package/dist/core/Toaster.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +5 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +5 -1
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.d.ts +7 -0
- package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +167 -23
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js +3 -1
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js +42 -16
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/swapDetails/fees.d.ts.map +1 -1
- package/dist/core/swapDetails/fees.js +4 -2
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/orderRouting.d.ts.map +1 -1
- package/dist/core/swapDetails/orderRouting.js +7 -3
- package/dist/core/swapDetails/orderRouting.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts +3 -1
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +6 -2
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +155 -42
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.d.ts.map +1 -1
- package/dist/core/swapDetails/youGet.js +5 -2
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +4 -4
- package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js +2 -2
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts +2 -2
- package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js +2 -2
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.d.ts +5 -5
- package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +2 -2
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +15 -1
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts +7 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +81 -67
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/lib/utils/useDateNow.d.ts +2 -0
- package/dist/lib/utils/useDateNow.d.ts.map +1 -0
- package/dist/lib/utils/useDateNow.js +7 -0
- package/dist/lib/utils/useDateNow.js.map +1 -0
- package/dist/styles.css +3 -4
- package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js +6 -23
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/package.json +8 -7
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { SwapTradeFlowButton } from \"./TradeFlowButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n return tradeMode === \"swap\" ? (\n <SwapScreen />\n ) : tradeMode === \"limit\" ? (\n <LimitOrderScreen />\n ) : (\n <OtcOrderScreen />\n );\n};\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n },\n ],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ]);\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n partner: config.partner,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n ignoreBadUsdPrice: config.ignoreBadUsdPrice,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.partner,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n });\n }, [srcChains, destChains, tokenLists, setSubConfig, tradeModes, excludeUI]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider, events, input }: WidgetProps) => {\n return (\n <QueryClientProvider>\n <JotaiProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </JotaiProvider>\n </QueryClientProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n const { containerRef, isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition();\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n <div className=\"relative flex flex-col max-w-[460px] min-w-[375px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\">\n {children}\n </div>\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n {...extraProps}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={{ root: \"mt-4\" }}\n currentEffectiveMode={priceMode}\n />\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <SwapTradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","MainScreen","tradeMode","useTradeMode","App","WidgetBase","config","_config","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","destChains","excludeUI","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","externalProviderAtom","t6","t7","widgetEventsAtom","t8","t9","formInputPropsAtom","t10","queryClientAtom","t11","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t12","t13","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","partner","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t14","t15","setExternalProvider","t16","t17","t18","import","Widget","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","containerRef","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","amount","token","fromToken","toToken","fromAmount","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth/WrapEthDrawerButton\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport { SwapTradeFlowButton } from \"./TradeFlowButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n return tradeMode === \"swap\" ? (\n <SwapScreen />\n ) : tradeMode === \"limit\" ? (\n <LimitOrderScreen />\n ) : (\n <OtcOrderScreen />\n );\n};\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms([\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n },\n ],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ]);\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n partner: config.partner,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n ignoreBadUsdPrice: config.ignoreBadUsdPrice,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.partner,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.ignoreBadUsdPrice,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n });\n }, [srcChains, destChains, tokenLists, setSubConfig, tradeModes, excludeUI]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider, events, input }: WidgetProps) => {\n return (\n <QueryClientProvider>\n <JotaiProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </JotaiProvider>\n </QueryClientProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n const { containerRef, isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition();\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n <div className=\"relative flex flex-col max-w-[460px] min-w-[375px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\">\n {children}\n </div>\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n }\n : undefined;\n\n const wrapEthProps = useWrapEthProps();\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n {...extraProps}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={{ root: \"mt-4\" }}\n currentEffectiveMode={priceMode}\n />\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <SwapTradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","useLimitPriceInputProps","unsupportedChain","useUnsupportedLimitChain","cn","t1","t2","t3","OtcOrderExtraInputs","useOtcPriceInputProps","useUnsupportedOtcChain","LimitOrderScreen","OtcOrderScreen","MainScreen","tradeMode","useTradeMode","App","WidgetBase","config","_config","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","destChains","excludeUI","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","externalProviderAtom","t6","t7","widgetEventsAtom","t8","t9","formInputPropsAtom","t10","queryClientAtom","t11","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t12","t13","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","partner","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t14","t15","setExternalProvider","t16","t17","t18","import","Widget","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","containerRef","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","dark","WIDGET_HEIGHT_CLASSNAME","WIDGET_ELEMENT_ID","WidgetHeader","root","SwapTokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","LimitTokenFromInput","useLimitTokenFromInputProps","OtcTokenFromInput","useOtcTokenFromInputProps","SwapTokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","LimitTokenToInput","useLimitTokenToInputProps","OtcTokenToInput","useOtcTokenToInputProps","SwapTokenSwitcher","tokenSwitcherProps","useSwapTokenSwitcherProps","TokenSwitcherComp","LimitTokenSwitcher","useLimitTokenSwitcherProps","OtcTokenSwitcher","useOtcTokenSwitcherProps","SwapButton","amount","token","fromToken","toToken","fromAmount","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4FAA,gBAAAA,EAAiB;AAEjB,MAAMC,aAAaA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEfF,IAAAA,EAAAA,mBAAA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,kBAAA,EAAA,EAAkB,CAAA;AAAA,0BAClB,iBAAA,EAAA,EAAiB,CAAA;AAAA,0BACjB,gBAAA,EAAA,EAAgB,CAAA;AAAA,0BAChB,mBAAA,EAAA;0BACA,aAAA,EAAA,EAAa,CAAA;AAAA,0BACb,UAAA,EAAA,EAAU,CAAA;AAAA,0BACV,WAAA,EAAA,EAAW,CAAA;AAAA,0BACX,gBAAA,EAAA,EAAgB;AAAA,OAAG,CAAA;AACnBF,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OATHE,EAAAA;AASG,CAAA;AAIP,MAAMG,wBAAwBA,MAAA;AAAA,EAAA,MAAAL,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC5B,EAAA,MAAAK,kBAAwBC,uBAAAA,EAAwB;AAChD,EAAA,MAAAC,mBAAyBC,wBAAAA,EAAyB;AAAE,EAAA,IAAAP,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAQ,gBAAAA,EAAA;AAIrCN,IAAAA,EAAAA,GAAAQ,GAAG,+BAAA,EAAiC;AAAA,MAAA,qBAAA,EACtBF;AAAAA,KACxB,CAAA;AAACR,IAAAA,CAAAA,MAAAQ,gBAAAA;AAAAR,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAM,eAAAA,EAAA;AAEFK,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,IAAe,SAAA,EAAA,QAAA,EACb,QAAA,sBAAC,UAAA,EAAA,EAAU,GAAKL,eAAAA,EAAe,GACjC,CAAA;AAAMN,IAAAA,CAAAA,MAAAM,eAAAA;AAAAN,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACNQ,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,IAAe,SAAA,EAAA,QAAA,EACb,QAAA,sBAAC,gBAAA,EAAA,EAAsB,IAAA,EAAA,OAAA,EAAO,GAChC,CAAA;AAAMZ,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,MAAAF,CAAAA,QAAAW,EAAAA,EAAA;AAVRE,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EACa,SAAA,EAAAX,IAIXS,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAGAC;AAAAA,OAGF,CAAA;AAAMZ,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXNa,EAAAA;AAWM,CAAA;AAIV,MAAMC,sBAAsBA,MAAA;AAAA,EAAA,MAAAd,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC1B,EAAA,MAAAK,kBAAwBS,qBAAAA,EAAsB;AAC9C,EAAA,MAAAP,mBAAyBQ,sBAAAA,EAAuB;AAAE,EAAA,IAAAd,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAQ,gBAAAA,EAAA;AAInCN,IAAAA,EAAAA,GAAAQ,GAAG,+BAAA,EAAiC;AAAA,MAAA,qBAAA,EACtBF;AAAAA,KACxB,CAAA;AAACR,IAAAA,CAAAA,MAAAQ,gBAAAA;AAAAR,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAM,eAAAA,EAAA;AAEFK,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,IAAe,SAAA,EAAA,QAAA,EACb,QAAA,sBAAC,UAAA,EAAA,EAAU,GAAKL,eAAAA,EAAe,GACjC,CAAA;AAAMN,IAAAA,CAAAA,MAAAM,eAAAA;AAAAN,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACNQ,IAAAA,EAAAA,mBAAA,GAAA,CAAA,KAAA,IAAe,SAAA,EAAA,QAAA,EACb,QAAA,sBAAC,gBAAA,EAAA,EAAsB,IAAA,EAAA,KAAA,EAAK,GAC9B,CAAA;AAAMZ,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAE,MAAAF,CAAAA,QAAAW,EAAAA,EAAA;AAVRE,IAAAA,EAAAA,mBAAA,IAAA,CAAA,KAAA,EAAA,EACa,SAAA,EAAAX,IAIXS,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAGAC;AAAAA,OAGF,CAAA;AAAMZ,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXNa,EAAAA;AAWM,CAAA;AAIV,MAAMI,mBAAmBA,MAAA;AAAA,EAAA,MAAAjB,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAErBF,IAAAA,EAAAA,mBAAA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,mBAAA,EAAA,EAAmB,CAAA;AAAA,0BACnB,kBAAA,EAAA,EAAkB,CAAA;AAAA,0BAClB,iBAAA,EAAA,EAAiB,CAAA;AAAA,0BACjB,qBAAA,EAAA,EAAqB,CAAA;AAAA,0BACrB,aAAA,EAAA,EAAa,CAAA;AAAA,0BACb,gBAAA,EAAA,EAAgB,CAAA;AAAA,0BAChB,iBAAA,EAAA,EAAiB;AAAA,OAAG,CAAA;AACpBF,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OARHE,EAAAA;AAQG,CAAA;AAIP,MAAMgB,iBAAiBA,MAAA;AAAA,EAAA,MAAAlB,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEnBF,IAAAA,EAAAA,mBAAA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,iBAAA,EAAA,EAAiB,CAAA;AAAA,0BACjB,gBAAA,EAAA,EAAgB,CAAA;AAAA,0BAChB,eAAA,EAAA,EAAe,CAAA;AAAA,0BACf,mBAAA,EAAA;0BACA,kBAAA,EAAA,EAAkB,CAAA;AAAA,0BAClB,aAAA,EAAA,EAAa,CAAA;AAAA,0BACb,cAAA,EAAA,EAAc,CAAA;AAAA,0BACd,eAAA,EAAA,EAAe;AAAA,OAAG,CAAA;AAClBF,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OATHE,EAAAA;AASG,CAAA;AAIP,MAAMiB,aAAaA,MAAA;AAAA,EAAA,MAAAnB,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACjB,EAAA,MAAAmB,YAAkBC,YAAAA,EAAa;AAAE,EAAA,IAAAnB,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAoB,SAAAA,EAAA;AAC1BlB,IAAAA,EAAAA,GAAAkB,cAAc,MAAA,mBACnB,GAAA,CAAC,UAAA,EAAA,EAAU,CAAA,GACTA,SAAAA,KAAc,OAAA,mBAChB,GAAA,CAAC,kBAAA,sBAED,GAAA,CAAC,cAAA,EAAA,EAAc,CAAA;AAChBpB,IAAAA,CAAAA,MAAAoB,SAAAA;AAAApB,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANME,EAAAA;AAMN,CAAA;AAGH,MAAMoB,MAAMA,MAAA;AAAA,EAAA,MAAAtB,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAERF,IAAAA,EAAAA,wBAAC,UAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,CAAA;AAAA,0BACV,YAAA,EAAA,EAAY,CAAA;AAAA,0BACZ,UAAA,EAAA,EAAU,CAAA;AAAA,0BACV,SAAA,EAAA,EAAS,CAAA;AAAA,0BACT,OAAA,EAAA,EAAO;AAAA,OACV,CAAA;AAAaF,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANbE,EAAAA;AAMa,CAAA;AAIjB,MAAMqB,UAAAA,GAAarB,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAF,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAuB,MAAAA,EAAAC,OAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC,KAAAA,EAAAC;AAAAA,GAAA,GAAA3B,EAAAA;AAMlB,EAAA,MAAA4B,cAAoBC,cAAAA,EAAe;AAEnC,EAAA,MAAAC,eAAAA,GAAwBC,WAAWC,mBAAmB,CAAA;AACtD,EAAA,MAAAC,YAAAA,GAAqBF,WAAWG,gBAAgB,CAAA;AAAE,EAAA,IAAAzB,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAyB,OAAAA,EAAA;AAQ9Cd,IAAAA,EAAAA,GAAAc,WAAA,EAAY;AAACzB,IAAAA,CAAAA,MAAAyB,OAAAA;AAAAzB,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,MAAAA;AAAA,EAAA,IAAAa,UAAAA;AAAA,EAAA,IAAAC,SAAAA;AAAA,EAAA,IAAAC,SAAAA;AAAA,EAAA,IAAAC,UAAAA;AAAA,EAAA,IAAAC,UAAAA;AAAA,EAAA,IAAAzC,CAAAA,QAAAW,EAAAA,EAAA;AAPjB,IAAA,CAAA;AAAA,MAAA4B,SAAAA;AAAAA,MAAAF,UAAAA;AAAAA,MAAAG,UAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAH,SAAAA;AAAAA,MAAA,GAAAd;AAAAA,KAAA,GAOIb,EAAAA;AAAcX,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAwB,MAAAA;AAAAxB,IAAAA,CAAAA,MAAAqC,UAAAA;AAAArC,IAAAA,CAAAA,MAAAsC,SAAAA;AAAAtC,IAAAA,CAAAA,MAAAuC,SAAAA;AAAAvC,IAAAA,CAAAA,MAAAwC,UAAAA;AAAAxC,IAAAA,CAAAA,MAAAyC,UAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAjB,IAAAA,MAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAAqC,IAAAA,UAAAA,GAAArC,EAAA,CAAA,CAAA;AAAAsC,IAAAA,SAAAA,GAAAtC,EAAA,CAAA,CAAA;AAAAuC,IAAAA,SAAAA,GAAAvC,EAAA,CAAA,CAAA;AAAAwC,IAAAA,UAAAA,GAAAxC,EAAA,CAAA,CAAA;AAAAyC,IAAAA,UAAAA,GAAAzC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAwB,MAAAA,EAAA;AAKhBZ,IAAAA,EAAAA,GAAA,CAACsB,mBAAAA,EAAqB;AAAA,MAAA,GAAKQ,mBAAAA;AAAAA,MAAmB,GAAKlB;AAAAA,KAAQ,CAAA;AAACxB,IAAAA,CAAAA,MAAAwB,MAAAA;AAAAxB,IAAAA,CAAAA,OAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,EAAA,EAAA,CAAA,KAAAqC,cAAArC,CAAAA,CAAA,EAAA,MAAAsC,SAAAA,IAAAtC,CAAAA,CAAA,EAAA,CAAA,KAAAuC,SAAAA,IAAAvC,EAAA,EAAA,CAAA,KAAAwC,cAAAxC,CAAAA,SAAAyC,UAAAA,EAAA;AAC5D5B,IAAAA,EAAAA,GAAA,CACEuB,gBAAAA,EACA;AAAA,MAAA,GACKO,gBAAAA;AAAAA,MAAgBJ,SAAAA;AAAAA,MAAAF,UAAAA;AAAAA,MAAAG,UAAAA;AAAAA,MAAAC,UAAAA;AAAAA,MAAAH;AAAAA,KAMpB,CAAA;AACFtC,IAAAA,CAAAA,OAAAqC,UAAAA;AAAArC,IAAAA,CAAAA,OAAAsC,SAAAA;AAAAtC,IAAAA,CAAAA,OAAAuC,SAAAA;AAAAvC,IAAAA,CAAAA,OAAAwC,UAAAA;AAAAxC,IAAAA,CAAAA,OAAAyC,UAAAA;AAAAzC,IAAAA,CAAAA,OAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,EAAA,CAAA;AAAA,EAAA;AACsB,EAAA,MAAA4C,KAAAlB,QAAAA,IAAA,IAAA;AAAgB,EAAA,IAAAmB,EAAAA;AAAA,EAAA,IAAA7C,CAAAA,SAAA4C,EAAAA,EAAA;AAAvCC,IAAAA,EAAAA,GAAA,CAACC,sBAAsBF,EAAgB,CAAA;AAAC5C,IAAAA,CAAAA,OAAA4C,EAAAA;AAAA5C,IAAAA,CAAAA,OAAA6C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA7C,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA+C,EAAAA;AAAA,EAAA,IAAA/C,CAAAA,SAAA2B,MAAAA,EAAA;AACrBoB,IAAAA,EAAAA,GAAApB,UAAA,EAAW;AAAC3B,IAAAA,CAAAA,OAAA2B,MAAAA;AAAA3B,IAAAA,CAAAA,OAAA+C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAgD,EAAAA;AAAA,EAAA,IAAAhD,CAAAA,SAAA+C,EAAAA,EAAA;AAA/BC,IAAAA,EAAAA,GAAA,CAACC,kBAAkBF,EAAY,CAAA;AAAC/C,IAAAA,CAAAA,OAAA+C,EAAAA;AAAA/C,IAAAA,CAAAA,OAAAgD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkD,EAAAA;AAAA,EAAA,IAAAlD,CAAAA,SAAA6B,cAAAA,EAAA;AACXqB,IAAAA,EAAAA,GAAArB,kBAAA,EAAmB;AAAC7B,IAAAA,CAAAA,OAAA6B,cAAAA;AAAA7B,IAAAA,CAAAA,OAAAkD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAmD,EAAAA;AAAA,EAAA,IAAAnD,CAAAA,SAAAkD,EAAAA,EAAA;AAAzCC,IAAAA,EAAAA,GAAA,CAACC,oBAAoBF,EAAoB,CAAA;AAAClD,IAAAA,CAAAA,OAAAkD,EAAAA;AAAAlD,IAAAA,CAAAA,OAAAmD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAqD,GAAAA;AAAA,EAAA,IAAArD,CAAAA,SAAA8B,WAAAA,EAAA;AAI1CuB,IAAAA,GAAAA,GAAA,CAACC,iBAAiBxB,WAAW,CAAA;AAAC9B,IAAAA,CAAAA,OAAA8B,WAAAA;AAAA9B,IAAAA,CAAAA,OAAAqD,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAArD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAuD,GAAAA;AAAA,EAAA,IAAAvD,CAAAA,SAAAqD,GAAAA,IAAArD,EAAA,EAAA,CAAA,KAAAY,EAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAa,MAAAb,CAAAA,CAAA,EAAA,CAAA,KAAA6C,EAAAA,IAAA7C,CAAAA,SAAAgD,EAAAA,IAAAhD,CAAAA,CAAA,EAAA,CAAA,KAAAmD,EAAAA,EAAA;AAnBhBI,IAAAA,GAAAA,GAAA,CACd3C,EAAAA,EACAC,EAAAA,EAWAgC,EAAAA,EACAG,EAAAA,EACAG,IAIAE,GAA8B,CAAA;AAC/BrD,IAAAA,CAAAA,OAAAqD,GAAAA;AAAArD,IAAAA,CAAAA,OAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,OAAAa,EAAAA;AAAAb,IAAAA,CAAAA,OAAA6C,EAAAA;AAAA7C,IAAAA,CAAAA,OAAAgD,EAAAA;AAAAhD,IAAAA,CAAAA,OAAAmD,EAAAA;AAAAnD,IAAAA,CAAAA,OAAAuD,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAvD,EAAA,EAAA,CAAA;AAAA,EAAA;AApBDwD,EAAAA,eAAAA,CAAgBD,GAoBf,CAAA;AAEDE,EAAAA,qBAAAA,CAAsB9B,MAAM,CAAA;AAC5B+B,EAAAA,wBAAAA,CAAyB7B,cAAc,CAAA;AAAC,EAAA,IAAA8B,GAAAA;AAAA,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAA5D,CAAAA,CAAA,EAAA,CAAA,KAAAwB,MAAAA,CAAAqC,SAAA7D,CAAAA,CAAA,EAAA,CAAA,KAAAwB,MAAAA,CAAAsC,gBAAAA,IAAA9D,CAAAA,SAAAwB,MAAAA,CAAAuC,eAAA/D,CAAAA,CAAA,EAAA,MAAAwB,MAAAA,CAAAwC,iBAAAA,IAAAhE,CAAAA,CAAA,EAAA,CAAA,KAAAwB,MAAAA,CAAAyC,WAAAjE,CAAAA,CAAA,EAAA,MAAAwB,MAAAA,CAAA0C,UAAAA,IAAAlE,EAAA,EAAA,CAAA,KAAAwB,MAAAA,CAAA2C,aAAAA,IAAAnE,CAAAA,SAAAwB,MAAAA,CAAA4C,KAAAA,IAAApE,EAAA,EAAA,CAAA,KAAAwB,OAAA6C,UAAAA,IAAArE,CAAAA,CAAA,EAAA,CAAA,KAAAgC,eAAAA,EAAA;AAExB2B,IAAAA,GAAAA,GAAAA,MAAA;AACd3B,MAAAA,eAAAA,CAAgB;AAAA,QAAAoC,OACP5C,MAAAA,CAAM4C,KAAAA;AAAAA,QAAML,aACNvC,MAAAA,CAAMuC,WAAAA;AAAAA,QAAYD,kBACbtC,MAAAA,CAAMsC,gBAAAA;AAAAA,QAAiBG,SAChCzC,MAAAA,CAAMyC,OAAAA;AAAAA,QAAQC,YACX1C,MAAAA,CAAM0C,UAAAA;AAAAA,QAAWC,eACd3C,MAAAA,CAAM2C,aAAAA;AAAAA,QAAcN,OAC5BrC,MAAAA,CAAMqC,KAAAA;AAAAA,QAAMQ,YACP7C,MAAAA,CAAM6C,UAAAA;AAAAA,QAAWL,mBACVxC,MAAAA,CAAMwC;AAAAA,OAC1B,CAAA;AAAA,IAAC,CAAA;AACDJ,IAAAA,GAAAA,IACDpC,MAAAA,CAAM4C,KAAAA,EACN5C,OAAMuC,WAAAA,EACNvC,MAAAA,CAAMsC,kBACNtC,MAAAA,CAAMyC,OAAAA,EACNzC,OAAM0C,UAAAA,EACN1C,MAAAA,CAAM2C,eACN3C,MAAAA,CAAMqC,KAAAA,EACNrC,OAAM6C,UAAAA,EACN7C,MAAAA,CAAMwC,mBACNhC,eAAe,CAAA;AAChBhC,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAAqC,KAAAA;AAAA7D,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAAsC,gBAAAA;AAAA9D,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAAuC,WAAAA;AAAA/D,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAAwC,iBAAAA;AAAAhE,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAAyC,OAAAA;AAAAjE,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAA0C,UAAAA;AAAAlE,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAA2C,aAAAA;AAAAnE,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAA4C,KAAAA;AAAApE,IAAAA,CAAAA,CAAA,EAAA,IAAAwB,MAAAA,CAAA6C,UAAAA;AAAArE,IAAAA,CAAAA,OAAAgC,eAAAA;AAAAhC,IAAAA,CAAAA,OAAA2D,GAAAA;AAAA3D,IAAAA,CAAAA,OAAA4D,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,GAAAA,GAAA3D,EAAA,EAAA,CAAA;AAAA4D,IAAAA,GAAAA,GAAA5D,EAAA,EAAA,CAAA;AAAA,EAAA;AAvBDsE,EAAAA,eAAAA,CAAgBX,KAYbC,GAWF,CAAA;AAAC,EAAA,IAAAW,GAAAA;AAAA,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAAxE,CAAAA,SAAAqC,UAAAA,IAAArC,EAAA,EAAA,CAAA,KAAAsC,SAAAA,IAAAtC,CAAAA,CAAA,EAAA,CAAA,KAAAmC,gBAAAnC,CAAAA,CAAA,EAAA,CAAA,KAAAuC,SAAAA,IAAAvC,CAAAA,SAAAwC,UAAAA,IAAAxC,CAAAA,CAAA,EAAA,CAAA,KAAAyC,UAAAA,EAAA;AAEc8B,IAAAA,GAAAA,GAAAA,MAAA;AACdpC,MAAAA,YAAAA,CAAa;AAAA,QAAAI,SAAAA;AAAAA,QAAAF,UAAAA;AAAAA,QAAAG,UAAAA;AAAAA,QAAAC,UAAAA;AAAAA,QAAAH;AAAAA,OAMZ,CAAA;AAAA,IAAC,CAAA;AACDkC,IAAAA,GAAAA,GAAA,CAACjC,SAAAA,EAAWF,UAAAA,EAAYG,UAAAA,EAAYL,YAAAA,EAAcM,YAAYH,SAAS,CAAA;AAACtC,IAAAA,CAAAA,OAAAqC,UAAAA;AAAArC,IAAAA,CAAAA,OAAAsC,SAAAA;AAAAtC,IAAAA,CAAAA,OAAAmC,YAAAA;AAAAnC,IAAAA,CAAAA,OAAAuC,SAAAA;AAAAvC,IAAAA,CAAAA,OAAAwC,UAAAA;AAAAxC,IAAAA,CAAAA,OAAAyC,UAAAA;AAAAzC,IAAAA,CAAAA,OAAAuE,GAAAA;AAAAvE,IAAAA,CAAAA,OAAAwE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,GAAAA,GAAAvE,EAAA,EAAA,CAAA;AAAAwE,IAAAA,GAAAA,GAAAxE,EAAA,EAAA,CAAA;AAAA,EAAA;AAR3EsE,EAAAA,eAAAA,CAAgBC,KAQbC,GAAwE,CAAA;AAE3E,EAAA,MAAAC,mBAAAA,GAA4BxC,WAAWa,oBAAoB,CAAA;AAAE,EAAA,IAAA4B,GAAAA;AAAA,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAA3E,EAAA,EAAA,CAAA,KAAA0B,YAAA1B,CAAAA,SAAAyE,mBAAAA,EAAA;AAE7CC,IAAAA,GAAAA,GAAAA,MAAA;AAEdD,MAAAA,mBAAAA,CAAoB/C,YAAA,IAAgB,CAAA;AAAA,IAAC,CAAA;AACpCiD,IAAAA,GAAAA,GAAA,CAACjD,UAAU+C,mBAAmB,CAAA;AAACzE,IAAAA,CAAAA,OAAA0B,QAAAA;AAAA1B,IAAAA,CAAAA,OAAAyE,mBAAAA;AAAAzE,IAAAA,CAAAA,OAAA0E,GAAAA;AAAA1E,IAAAA,CAAAA,OAAA2E,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,GAAAA,GAAA1E,EAAA,EAAA,CAAA;AAAA2E,IAAAA,GAAAA,GAAA3E,EAAA,EAAA,CAAA;AAAA,EAAA;AAHlCsE,EAAAA,eAAAA,CAAgBI,KAGbC,GAA+B,CAAA;AAAC,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAA5E,EAAA,EAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGjCwE,IAAAA,GAAAA,wBAAC,aAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,2BAAA,EAAA,EAA2B,CAAA;AAAA,0BAC3B,qBAAA,EAAA,EAAqB,CAAA;AAAA,0BACrB,QAAA,EAAA,EAAQ,CAAA;AAAA,0BACR,GAAA,EAAA,EAAG,CAAA;AAAA,MACHC;AAAAA,OACH,CAAA;AAAgB7E,IAAAA,CAAAA,OAAA4E,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA5E,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANhB4E,GAAAA;AAMgB,CAAA;AAIb,MAAME,MAAAA,GAAS5E,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAF,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAuB,MAAAA;AAAAA,IAAAE,QAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAA1B,EAAAA;AAAgD,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAwB,MAAAA,IAAAxB,EAAA,CAAA,CAAA,KAAA2B,MAAAA,IAAA3B,CAAAA,CAAA,CAAA,CAAA,KAAA4B,KAAAA,IAAA5B,CAAAA,QAAA0B,QAAAA,EAAA;AAEnEf,IAAAA,EAAAA,uBAAC,mBAAA,EAAA,EACC,0BAAA,GAAA,CAAC,aAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,YAAA,EACSa,MAAAA,EACEE,UACFC,MAAAA,EACDC,KAAAA,KAEX,GACF,CAAA;AAAsB5B,IAAAA,CAAAA,MAAAwB,MAAAA;AAAAxB,IAAAA,CAAAA,MAAA2B,MAAAA;AAAA3B,IAAAA,CAAAA,MAAA4B,KAAAA;AAAA5B,IAAAA,CAAAA,MAAA0B,QAAAA;AAAA1B,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OATtBW,EAAAA;AASsB;AAI1B,SAAAoE,WAAA7E,EAAAA,EAAA;AAAA,EAAA,MAAAF,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAoB,EAAA,MAAA;AAAA,IAAA+E;AAAAA,GAAA,GAAA9E,EAAAA;AAClB,EAAA,MAAA+E,mBAAAA,GAA4BhD,WAAWiD,aAAa,CAAA;AACpD,EAAA,MAAAC,eAAqBC,eAAAA,EAAgB;AAErC,EAAA,MAAA;AAAA,IAAAC,YAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC;AAAAA,MACEC,kCAAAA,EAAmC;AAErC,EAAA,MAAAC,iBAAAA,GAA0BF,gBAAA,CAAiBD,iBAAAA;AAO/B,EAAA,MAAA3E,EAAAA,GAAAwE,aAAYf,KAAAA,KAAW,MAAA;AAAM,EAAA,IAAAxD,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,QAAAW,EAAAA,EAAA;AAD1BC,IAAAA,EAAAA,GAAAF,GAAG,eAAA,EAAiB;AAAA,MAAAgF,IAAAA,EACvB/E;AAAAA,KACP,CAAA;AAACX,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAa,EAAAA;AAAA,EAAA,IAAAb,CAAAA,QAAAyF,iBAAAA,EAAA;AAGF5E,IAAAA,EAAAA,uBAAC,qBAAA,EAAA,EAA4B4E,IAAAA,EAAAA,mBAAiB,CAAA;AAAIzF,IAAAA,CAAAA,MAAAyF,iBAAAA;AAAAzF,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA4C,EAAAA;AAAA,EAAA,IAAA5C,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAKrCwC,IAAAA,EAAAA,GAAAlC,EAAAA,CACT,yIACAiF,uBACF,CAAA;AAAC3F,IAAAA,CAAAA,MAAA4C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5C,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA6C,EAAAA;AAAA,EAAA,IAAA7C,CAAAA,QAAAiF,mBAAAA,EAAA;AANHpC,IAAAA,EAAAA,uBAAA,KAAA,EAAA,EAGa,WAAAD,EAAAA,EAINqC,GAAAA,EAAAA,qBAAmB,CAAA;AACxBjF,IAAAA,CAAAA,MAAAiF,mBAAAA;AAAAjF,IAAAA,CAAAA,MAAA6C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA7C,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA+C,EAAAA;AAAA,EAAA,IAAA/C,CAAAA,QAAAgF,QAAAA,EAAA;AACFjC,IAAAA,EAAAA,uBAAA,KAAA,EAAA,EAAe,SAAA,EAAA,sLAAA,EACZiC,UACH,CAAA;AAAMhF,IAAAA,CAAAA,MAAAgF,QAAAA;AAAAhF,IAAAA,CAAAA,MAAA+C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAgD,EAAAA;AAAA,EAAA,IAAAhD,EAAA,CAAA,CAAA,KAAAqF,gBAAArF,CAAAA,CAAA,EAAA,MAAAY,EAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAa,EAAAA,IAAAb,EAAA,EAAA,CAAA,KAAA6C,MAAA7C,CAAAA,SAAA+C,EAAAA,EAAA;AArBRC,IAAAA,EAAAA,wBAAA,OAAA,EACOqC,GAAAA,EAAAA,cAEM,SAAA,EAAAzE,EAAAA,EAGPgF,EAAAA,EAAAA,iBAAAA,EAEJ/E,QAAAA,EAAAA;AAAAA,MAAAA,EAAAA;AAAAA,MAEAgC,EAAAA;AAAAA,MASAE;AAAAA,OAGF,CAAA;AAAM/C,IAAAA,CAAAA,MAAAqF,YAAAA;AAAArF,IAAAA,CAAAA,OAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,OAAAa,EAAAA;AAAAb,IAAAA,CAAAA,OAAA6C,EAAAA;AAAA7C,IAAAA,CAAAA,OAAA+C,EAAAA;AAAA/C,IAAAA,CAAAA,OAAAgD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAtBNgD,EAAAA;AAsBM;AAIV,SAAA6C,YAAAA,GAAA;AAAA,EAAA,MAAA7F,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACSF,IAAAA,EAAAA,mBAAA,GAAA,CAAC,SAAA,IAAmB,OAAA,EAAA;AAAA,MAAA4F,IAAAA,EAAQ;AAAA,OAAQ,CAAA;AAAI9F,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAxCE,EAAAA;AAAwC;AAGjD,SAAA6F,kBAAAA,GAAA;AAAA,EAAA,MAAA/F,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAEE,EAAA,MAAA+F,YAAkBC,uBAAAA,EAAwB;AAAE,EAAA,IAAA/F,EAAAA;AAAA,EAAA,IAAAF,SAAAgG,UAAAE,SAAAA,IAAAlG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAG,SAAAnG,CAAAA,CAAA,CAAA,MAAAgG,SAAAA,CAAAI,SAAAA,IAAApG,EAAA,CAAA,CAAA,KAAAgG,UAAAK,eAAAA,EAAA;AAEOnG,IAAAA,EAAAA,GAAA;AAAA,MAAAoG,UACvCN,SAAAA,CAASK,eAAAA;AAAAA,MAAgBE,gBACnBP,SAAAA,CAASI,SAAAA;AAAAA,MAAUI,gBACnBR,SAAAA,CAASE,SAAAA;AAAAA,MAAUC,OAC5BH,SAAAA,CAASG;AAAAA,KAClB;AAACnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAE,SAAAA;AAAAlG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAG,KAAAA;AAAAnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAI,SAAAA;AAAApG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAK,eAAAA;AAAArG,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAyG,mBAAAA,GAA4BC,uBAAuBxG,EAKlD,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAyG,mBAAAA,EAAA;AAEI9F,IAAAA,EAAAA,mBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,GAAK8F,qBAAmB,CAAA;AAAIzG,IAAAA,CAAAA,MAAAyG,mBAAAA;AAAAzG,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAvCW,EAAAA;AAAuC;AAGhD,SAAAgG,mBAAAA,GAAA;AAAA,EAAA,MAAA3G,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAwG,sBAA4BG,2BAAAA,EAA4B;AAAE,EAAA,IAAA1G,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAyG,mBAAAA,EAAA;AACnDvG,IAAAA,EAAAA,mBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,GAAKuG,qBAAmB,CAAA;AAAIzG,IAAAA,CAAAA,MAAAyG,mBAAAA;AAAAzG,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAvCE,EAAAA;AAAuC;AAGhD,SAAA2G,iBAAAA,GAAA;AAAA,EAAA,MAAA7G,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAwG,sBAA4BK,yBAAAA,EAA0B;AAAE,EAAA,IAAA5G,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAyG,mBAAAA,EAAA;AACjDvG,IAAAA,EAAAA,mBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,GAAKuG,qBAAmB,CAAA;AAAIzG,IAAAA,CAAAA,MAAAyG,mBAAAA;AAAAzG,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAAvCE,EAAAA;AAAuC;AAGhD,SAAA6G,gBAAAA,GAAA;AAAA,EAAA,MAAA/G,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAEE,EAAA,MAAA+F,YAAkBC,uBAAAA,EAAwB;AAAE,EAAA,IAAA/F,EAAAA;AAAA,EAAA,IAAAF,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAgB,KAAAA,IAAAhH,EAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAE,SAAAA,IAAAlG,CAAAA,CAAA,CAAA,MAAAgG,SAAAA,CAAAG,KAAAA,IAAAnG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAI,aAAApG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAiB,aAAAA,EAAA;AAEG/G,IAAAA,EAAAA,GAAA;AAAA,MAAAoG,UACnCN,SAAAA,CAASiB,aAAAA;AAAAA,MAAcT,gBACjBR,SAAAA,CAASE,SAAAA;AAAAA,MAAUE,WACxBJ,SAAAA,CAASI,SAAAA;AAAAA,MAAUD,OACvBH,SAAAA,CAASG,KAAAA;AAAAA,MAAMe,YACVlB,SAAAA,CAASgB;AAAAA,KACvB;AAAChH,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAgB,KAAAA;AAAAhH,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAE,SAAAA;AAAAlG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAG,KAAAA;AAAAnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAI,SAAAA;AAAApG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAiB,aAAAA;AAAAjH,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAAmH,iBAAAA,GAA0BC,qBAAqBlH,EAM9C,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAmH,iBAAAA,EAAA;AAEIxG,IAAAA,EAAAA,mBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,GAAKwG,mBAAiB,CAAA;AAAInH,IAAAA,CAAAA,MAAAmH,iBAAAA;AAAAnH,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAArCW,EAAAA;AAAqC;AAG9C,SAAA0G,iBAAAA,GAAA;AAAA,EAAA,MAAArH,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAkH,oBAA0BG,yBAAAA,EAA0B;AAAE,EAAA,IAAApH,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAmH,iBAAAA,EAAA;AAC/CjH,IAAAA,EAAAA,mBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,GAAKiH,mBAAiB,CAAA;AAAInH,IAAAA,CAAAA,MAAAmH,iBAAAA;AAAAnH,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAArCE,EAAAA;AAAqC;AAG9C,SAAAqH,eAAAA,GAAA;AAAA,EAAA,MAAAvH,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAkH,oBAA0BK,uBAAAA,EAAwB;AAAE,EAAA,IAAAtH,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAmH,iBAAAA,EAAA;AAC7CjH,IAAAA,EAAAA,mBAAA,GAAA,CAAC,UAAA,EAAA,EAAU,GAAKiH,mBAAiB,CAAA;AAAInH,IAAAA,CAAAA,MAAAmH,iBAAAA;AAAAnH,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAArCE,EAAAA;AAAqC;AAG9C,SAAAuH,iBAAAA,GAAA;AAAA,EAAA,MAAAzH,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAyH,qBAA2BC,yBAAAA,EAA0B;AAAE,EAAA,IAAAzH,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAA0H,kBAAAA,EAAA;AAChDxH,IAAAA,EAAAA,mBAAA,GAAA,CAAC0H,aAAA,EAAA,EAAiB,GAAKF,oBAAkB,CAAA;AAAI1H,IAAAA,CAAAA,MAAA0H,kBAAAA;AAAA1H,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA7CE,EAAAA;AAA6C;AAGtD,SAAA2H,kBAAAA,GAAA;AAAA,EAAA,MAAA7H,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAyH,qBAA2BI,0BAAAA,EAA2B;AAAE,EAAA,IAAA5H,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAA0H,kBAAAA,EAAA;AACjDxH,IAAAA,EAAAA,mBAAA,GAAA,CAAC0H,aAAA,EAAA,EAAiB,GAAKF,oBAAkB,CAAA;AAAI1H,IAAAA,CAAAA,MAAA0H,kBAAAA;AAAA1H,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA7CE,EAAAA;AAA6C;AAGtD,SAAA6H,gBAAAA,GAAA;AAAA,EAAA,MAAA/H,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAyH,qBAA2BM,wBAAAA,EAAyB;AAAE,EAAA,IAAA9H,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAA0H,kBAAAA,EAAA;AAC/CxH,IAAAA,EAAAA,mBAAA,GAAA,CAAC0H,aAAA,EAAA,EAAiB,GAAKF,oBAAkB,CAAA;AAAI1H,IAAAA,CAAAA,MAAA0H,kBAAAA;AAAA1H,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA7CE,EAAAA;AAA6C;AAGtD,SAAA+H,UAAAA,GAAA;AAAA,EAAA,MAAAjI,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAEE,EAAA,MAAA+F,YAAkBC,uBAAAA,EAAwB;AAAE,EAAA,IAAA/F,EAAAA;AAAA,EAAA,IAAAF,SAAAgG,UAAAE,SAAAA,IAAAlG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAG,SAAAnG,CAAAA,CAAA,CAAA,MAAAgG,SAAAA,CAAAI,SAAAA,IAAApG,EAAA,CAAA,CAAA,KAAAgG,UAAAK,eAAAA,EAAA;AAEOnG,IAAAA,EAAAA,GAAA;AAAA,MAAAoG,UACvCN,SAAAA,CAASK,eAAAA;AAAAA,MAAgBE,gBACnBP,SAAAA,CAASI,SAAAA;AAAAA,MAAUI,gBACnBR,SAAAA,CAASE,SAAAA;AAAAA,MAAUC,OAC5BH,SAAAA,CAASG;AAAAA,KAClB;AAACnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAE,SAAAA;AAAAlG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAG,KAAAA;AAAAnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAI,SAAAA;AAAApG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAK,eAAAA;AAAArG,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAyG,mBAAAA,GAA4BC,uBAAuBxG,EAKlD,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAgB,KAAAA,IAAAhH,EAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAE,SAAAA,IAAAlG,CAAAA,CAAA,CAAA,MAAAgG,SAAAA,CAAAG,KAAAA,IAAAnG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAI,aAAApG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAiB,aAAAA,EAAA;AAC4CtG,IAAAA,EAAAA,GAAA;AAAA,MAAA2F,UACnCN,SAAAA,CAASiB,aAAAA;AAAAA,MAAcT,gBACjBR,SAAAA,CAASE,SAAAA;AAAAA,MAAUE,WACxBJ,SAAAA,CAASI,SAAAA;AAAAA,MAAUD,OACvBH,SAAAA,CAASG,KAAAA;AAAAA,MAAMe,YACVlB,SAAAA,CAASgB;AAAAA,KACvB;AAAChH,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAgB,KAAAA;AAAAhH,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAE,SAAAA;AAAAlG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAG,KAAAA;AAAAnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAI,SAAAA;AAAApG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAiB,aAAAA;AAAAjH,IAAAA,CAAAA,OAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,EAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAAmH,iBAAAA,GAA0BC,qBAAqBzG,EAM9C,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAZ,UAAAyG,oBAAAyB,MAAAA,IAAAlI,CAAAA,CAAA,EAAA,CAAA,KAAAyG,mBAAAA,CAAA0B,SAAAnI,CAAAA,CAAA,EAAA,MAAAmH,iBAAAA,CAAAe,MAAAA,IAAAlI,EAAA,EAAA,CAAA,KAAAmH,kBAAAgB,KAAAA,EAAA;AAGDvH,IAAAA,EAAAA,GAAA6F,mBAAAA,CAAmB0B,KAAAA,IAAUhB,iBAAAA,CAAiBgB,KAAAA,GAA9C;AAAA,MAAAC,WAEiB3B,mBAAAA,CAAmB0B,KAAAA;AAAAA,MAAME,SAC3BlB,iBAAAA,CAAiBgB,KAAAA;AAAAA,MAAMG,YACpB7B,mBAAAA,CAAmByB,MAAAA;AAAAA,MAAOK,UAC5BpB,iBAAAA,CAAiBe;AAAAA,KAErB,GAPZM,MAAAA;AAOaxI,IAAAA,CAAAA,CAAA,EAAA,IAAAyG,mBAAAA,CAAAyB,MAAAA;AAAAlI,IAAAA,CAAAA,CAAA,EAAA,IAAAyG,mBAAAA,CAAA0B,KAAAA;AAAAnI,IAAAA,CAAAA,CAAA,EAAA,IAAAmH,iBAAAA,CAAAe,MAAAA;AAAAlI,IAAAA,CAAAA,CAAA,EAAA,IAAAmH,iBAAAA,CAAAgB,KAAAA;AAAAnI,IAAAA,CAAAA,OAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,EAAA,CAAA;AAAA,EAAA;AARf,EAAA,MAAAyI,UAAAA,GACE7H,EAAAA;AASF,EAAA,MAAA8H,eAAqBC,eAAAA,EAAgB;AAAE,EAAA,IAAA9H,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,EAAA,CAAA,KAAAyG,mBAAAA,CAAA0B,SAAAnI,CAAAA,CAAA,EAAA,CAAA,KAAAmH,iBAAAA,CAAAgB,KAAAA,EAAA;AAEMtH,IAAAA,EAAAA,GAAA;AAAA,MAAA+H,WAChCnC,mBAAAA,CAAmB0B,KAAAA;AAAAA,MAAMU,SAC3B1B,iBAAAA,CAAiBgB;AAAAA,KAC5B;AAACnI,IAAAA,CAAAA,CAAA,EAAA,IAAAyG,mBAAAA,CAAA0B,KAAAA;AAAAnI,IAAAA,CAAAA,CAAA,EAAA,IAAAmH,iBAAAA,CAAAgB,KAAAA;AAAAnI,IAAAA,CAAAA,OAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,EAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA8I,UAAAA,GAAmBC,0BAA0BlI,EAG5C,CAAA;AAMK,EAAA,MAAA+B,EAAAA,GAAAoD,SAAAA,CAASI,SAAAA,KAAe,QAAA,GAAWJ,UAASG,KAAAA,GAA5CqC,MAAAA;AAEU,EAAA,MAAA3F,EAAAA,GAAAmD,SAAAA,CAASI,SAAAA,KAAe,OAAA,GAAUJ,UAASG,KAAAA,GAA3CqC,MAAAA;AAA6D,EAAA,IAAAzF,EAAAA;AAAA,EAAA,IAAA/C,CAAAA,CAAA,EAAA,CAAA,KAAA8I,UAAAA,IAAA9I,CAAAA,SAAAyI,UAAAA,IAAAzI,CAAAA,CAAA,EAAA,CAAA,KAAAgG,SAAAA,CAAAI,aAAApG,CAAAA,CAAA,EAAA,CAAA,KAAA4C,EAAAA,IAAA5C,CAAAA,SAAA6C,EAAAA,IAAA7C,CAAAA,CAAA,EAAA,CAAA,KAAA0I,YAAAA,EAAA;AAL3E3F,IAAAA,EAAAA,mBAAA,GAAA,CAAC,oBAAA,EAAA,EACa0F,UAAAA,EAEV,aAAA7F,EAAAA,EAEU,UAAA,EAAAC,EAAAA,EACD,SAAA,EAAAmD,SAAAA,CAASI,SAAAA,EACNsC,YAAAA,EAAY,GACtBI,YAAU,CAAA;AACd9I,IAAAA,CAAAA,OAAA8I,UAAAA;AAAA9I,IAAAA,CAAAA,OAAAyI,UAAAA;AAAAzI,IAAAA,CAAAA,CAAA,EAAA,IAAAgG,SAAAA,CAAAI,SAAAA;AAAApG,IAAAA,CAAAA,OAAA4C,EAAAA;AAAA5C,IAAAA,CAAAA,OAAA6C,EAAAA;AAAA7C,IAAAA,CAAAA,OAAA0I,YAAAA;AAAA1I,IAAAA,CAAAA,OAAA+C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/C,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OATF+C,EAAAA;AASE;AAIN,SAAAiG,WAAAA,GAAA;AAAA,EAAA,MAAAhJ,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACE,EAAA,MAAA+F,YAAkBC,uBAAAA,EAAwB;AAAE,EAAA,IAAA/F,EAAAA;AAAA,EAAA,IAAAF,SAAAgG,UAAAE,SAAAA,IAAAlG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAG,SAAAnG,CAAAA,CAAA,CAAA,MAAAgG,SAAAA,CAAAI,SAAAA,IAAApG,EAAA,CAAA,CAAA,KAAAgG,UAAAK,eAAAA,EAAA;AAEOnG,IAAAA,EAAAA,GAAA;AAAA,MAAAoG,UACvCN,SAAAA,CAASK,eAAAA;AAAAA,MAAgBE,gBACnBP,SAAAA,CAASI,SAAAA;AAAAA,MAAUI,gBACnBR,SAAAA,CAASE,SAAAA;AAAAA,MAAUC,OAC5BH,SAAAA,CAASG;AAAAA,KAClB;AAACnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAE,SAAAA;AAAAlG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAG,KAAAA;AAAAnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAI,SAAAA;AAAApG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAK,eAAAA;AAAArG,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAyG,mBAAAA,GAA4BC,uBAAuBxG,EAKlD,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAgB,KAAAA,IAAAhH,EAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAE,SAAAA,IAAAlG,CAAAA,CAAA,CAAA,MAAAgG,SAAAA,CAAAG,KAAAA,IAAAnG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAI,aAAApG,CAAAA,CAAA,CAAA,CAAA,KAAAgG,SAAAA,CAAAiB,aAAAA,EAAA;AAC4CtG,IAAAA,EAAAA,GAAA;AAAA,MAAA2F,UACnCN,SAAAA,CAASiB,aAAAA;AAAAA,MAAcT,gBACjBR,SAAAA,CAASE,SAAAA;AAAAA,MAAUE,WACxBJ,SAAAA,CAASI,SAAAA;AAAAA,MAAUD,OACvBH,SAAAA,CAASG,KAAAA;AAAAA,MAAMe,YACVlB,SAAAA,CAASgB;AAAAA,KACvB;AAAChH,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAgB,KAAAA;AAAAhH,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAE,SAAAA;AAAAlG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAG,KAAAA;AAAAnG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAI,SAAAA;AAAApG,IAAAA,CAAAA,CAAA,CAAA,IAAAgG,SAAAA,CAAAiB,aAAAA;AAAAjH,IAAAA,CAAAA,OAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,EAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAAmH,iBAAAA,GAA0BC,qBAAqBzG,EAM9C,CAAA;AAED,EAAA,MAAAsI,gBAAAA,GAAyBC,MAAAA,CAAOzC,mBAAAA,CAAmByB,MAAO,CAAA,GAAI,CAAA;AAC9D,EAAA,MAAAiB,iBAAAA,GAA0BF,oBAAoB9B,iBAAAA,CAAiBgB,KAAAA;AAAO,EAAA,IAAAvH,EAAAA;AAAA,EAAA,IAAAZ,CAAAA,SAAAmJ,iBAAAA,EAAA;AAE/DvI,IAAAA,EAAAA,GAAAuI,iBAAAA,mBAAoB,GAAA,CAAC,qBAAA,EAAA,EAAqB,CAAA,GAA1C,IAAA;AAAoDnJ,IAAAA,CAAAA,OAAAmJ,iBAAAA;AAAAnJ,IAAAA,CAAAA,OAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAApDY,EAAAA;AAAoD;AAG7D,SAAAwI,mBAAAA,GAAA;AAAA,EAAA,MAAApJ,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAA;AAAA,IAAAoJ;AAAAA,MAAwBC,UAAAA,EAAW;AACnC,EAAA,MAAAC,yBAAAA,GAAkCF,WAAAA;AAClC,EAAA,MAAAG,2BAAiCC,sBAAAA,EAAuB;AAAE,EAAA,IAAAvJ,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAuJ,6BAAAvJ,CAAAA,QAAAwJ,wBAAAA,EAAA;AAEnDtJ,IAAAA,EAAAA,GAAAqJ,yBAAAA,mBACL,GAAA,CAAC,eAAA,EAAA,EACU,OAAA,EAAA;AAAA,MAAAzD,IAAAA,EAAQ;AAAA,OACZ,IAAA,EAAA,MAAA,KACD0D,wBAAAA,EAAwB,CAAA,GAJzB,IAAA;AAMCxJ,IAAAA,CAAAA,MAAAuJ,yBAAAA;AAAAvJ,IAAAA,CAAAA,MAAAwJ,wBAAAA;AAAAxJ,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANDE,EAAAA;AAMC;AAGV,SAAAwJ,kBAAAA,GAAA;AAAA,EAAA,MAAA1J,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACE,EAAA,MAAAO,mBAAyBQ,sBAAAA,EAAuB;AAChD,EAAA,MAAA2I,0BAAgCC,qBAAAA,EAAsB;AAAE,EAAA,IAAA1J,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAQ,gBAAAA,EAAA;AAK5CN,IAAAA,EAAAA,GAAAQ,GAAG,MAAA,EAAQ;AAAA,MAAA,qBAAA,EACQF;AAAAA,KACxB,CAAA;AAACR,IAAAA,CAAAA,MAAAQ,gBAAAA;AAAAR,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAAX,CAAAA,QAAAE,EAAAA,EAAA;AAHKS,IAAAA,EAAAA,GAAA;AAAA,MAAAmF,IAAAA,EACD5F;AAAAA,KAGR;AAACF,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAY,EAAAA;AAAA,EAAA,IAAAZ,EAAA,CAAA,CAAA,KAAA2J,2BAAA3J,CAAAA,QAAAW,EAAAA,EAAA;AALHC,IAAAA,EAAAA,uBAAC,iBAAA,EACU,OAAA,EAAAD,IAKJ,IAAA,EAAA,KAAA,EAAK,GACNgJ,uBAAAA,EAAuB,CAAA;AAC3B3J,IAAAA,CAAAA,MAAA2J,uBAAAA;AAAA3J,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAY,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OARFY,EAAAA;AAQE;AAIN,SAAAiJ,gBAAAA,GAAA;AAAA,EAAA,MAAA7J,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACqDF,IAAAA,EAAAA,GAAA;AAAA,MAAA4J,OAAAA,EAAW;AAAA,KAAM;AAAC9J,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAArE,EAAA,MAAA;AAAA,IAAA+J,KAAAA;AAAAA,IAAAC,MAAAA;AAAAA,IAAA5D;AAAAA,GAAA,GAAqC6D,cAAc/J,EAAkB,CAAA;AAIrE,EAAA,IAAI6J,KAAAA,CAAKG,SAAAA,IAAcF,MAAAA,CAAME,SAAAA,EAAU;AAAA,IAAA,IAAAvJ,EAAAA;AAAA,IAAA,IAAAX,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAGxBO,MAAAA,EAAAA,GAAA;AAAA,QAAAmF,IAAAA,EAAQ;AAAA,OAAO;AAAC9F,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,IAAAY,EAAAA;AAAA,IAAA,IAAAZ,CAAAA,QAAAoG,SAAAA,EAAA;AAD3BxF,MAAAA,EAAAA,uBAAC,0BAAA,EAAA,EACU,SAAAD,EAAAA,EACayF,oBAAAA,EAAAA,WAAS,CAAA;AAC/BpG,MAAAA,CAAAA,MAAAoG,SAAAA;AAAApG,MAAAA,CAAAA,MAAAY,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAZ,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFY,EAAAA;AAAAA,EAGE;AAEL;AAaH,SAAAuJ,qBAAAjK,EAAAA,EAAA;AAAA,EAAA,MAAAF,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAmK,WAAAA;AAAA,EAAA,IAAAC,UAAAA;AAAA,EAAA,IAAAC,eAAAA;AAAA,EAAA,IAAAC,aAAAA;AAAA,EAAA,IAAAC,WAAAA;AAAA,EAAA,IAAA/B,UAAAA;AAAA,EAAA,IAAArC,SAAAA;AAAA,EAAA,IAAAsC,YAAAA;AAAA,EAAA,IAAA1I,CAAAA,QAAAE,EAAAA,EAAA;AAA8B,IAAA,CAAA;AAAA,MAAAuI,UAAAA;AAAAA,MAAA6B,eAAAA;AAAAA,MAAAE,WAAAA;AAAAA,MAAAH,UAAAA;AAAAA,MAAAjE,SAAAA;AAAAA,MAAAsC,YAAAA;AAAAA,MAAA6B,aAAAA;AAAAA,MAAA,GAAAH;AAAAA,KAAA,GAAAlK,EAAAA;AASNF,IAAAA,CAAAA,MAAAE,EAAAA;AAAAF,IAAAA,CAAAA,MAAAoK,WAAAA;AAAApK,IAAAA,CAAAA,MAAAqK,UAAAA;AAAArK,IAAAA,CAAAA,MAAAsK,eAAAA;AAAAtK,IAAAA,CAAAA,MAAAuK,aAAAA;AAAAvK,IAAAA,CAAAA,MAAAwK,WAAAA;AAAAxK,IAAAA,CAAAA,MAAAyI,UAAAA;AAAAzI,IAAAA,CAAAA,MAAAoG,SAAAA;AAAApG,IAAAA,CAAAA,MAAA0I,YAAAA;AAAAA,EAAA,CAAA,MAAA;AAAA0B,IAAAA,WAAAA,GAAApK,EAAA,CAAA,CAAA;AAAAqK,IAAAA,UAAAA,GAAArK,EAAA,CAAA,CAAA;AAAAsK,IAAAA,eAAAA,GAAAtK,EAAA,CAAA,CAAA;AAAAuK,IAAAA,aAAAA,GAAAvK,EAAA,CAAA,CAAA;AAAAwK,IAAAA,WAAAA,GAAAxK,EAAA,CAAA,CAAA;AAAAyI,IAAAA,UAAAA,GAAAzI,EAAA,CAAA,CAAA;AAAAoG,IAAAA,SAAAA,GAAApG,EAAA,CAAA,CAAA;AAAA0I,IAAAA,YAAAA,GAAA1I,EAAA,CAAA,CAAA;AAAA,EAAA;AACtB,EAAA,MAAA;AAAA,IAAAqJ;AAAAA,MAAwBC,UAAAA,EAAW;AAEnC,EAAA,IAAI,CAACD,WAAAA,EAAW;AAAA,IAAA,IAAA1I,GAAAA;AAAA,IAAA,IAAAX,EAAA,CAAA,CAAA,KAAAoK,eAAApK,CAAAA,SAAAsK,eAAAA,EAAA;AAEZ3J,MAAAA,GAAAA,uBAAC,yBAAA,EAAA,EACkB2J,eAAAA,EAAe,GAC5BF,aAAW,CAAA;AACfpK,MAAAA,CAAAA,MAAAoK,WAAAA;AAAApK,MAAAA,CAAAA,OAAAsK,eAAAA;AAAAtK,MAAAA,CAAAA,OAAAW,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,EAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFW,GAAAA;AAAAA,EAGE;AAGN,EAAA,IAAI+H,aAAY+B,UAAAA,EAAW;AAAA,IAAA,IAAA9J,GAAAA;AAAA,IAAA,IAAAX,CAAAA,CAAA,EAAA,CAAA,KAAAoK,WAAAA,IAAApK,EAAA,EAAA,CAAA,KAAAsK,eAAAA,IAAAtK,CAAAA,CAAA,EAAA,CAAA,KAAAuK,aAAAA,IAAAvK,CAAAA,SAAA0I,YAAAA,EAAA;AAEvB/H,MAAAA,GAAAA,uBAAC,qBAAA,EACkB2J,eAAAA,EACH5B,cACC6B,aAAAA,EAAa,GACxBH,aAAW,CAAA;AACfpK,MAAAA,CAAAA,OAAAoK,WAAAA;AAAApK,MAAAA,CAAAA,OAAAsK,eAAAA;AAAAtK,MAAAA,CAAAA,OAAAuK,aAAAA;AAAAvK,MAAAA,CAAAA,OAAA0I,YAAAA;AAAA1I,MAAAA,CAAAA,OAAAW,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAX,EAAA,EAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OALFW,GAAAA;AAAAA,EAKE;AACF,EAAA,IAAAA,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,EAAA,CAAA,KAAAoK,WAAAA,IAAApK,CAAAA,CAAA,EAAA,CAAA,KAAAqK,UAAAA,IAAArK,CAAAA,CAAA,EAAA,CAAA,KAAAsK,eAAAA,IAAAtK,CAAAA,SAAAuK,aAAAA,IAAAvK,CAAAA,CAAA,EAAA,CAAA,KAAAwK,WAAAA,IAAAxK,CAAAA,CAAA,EAAA,CAAA,KAAAyI,UAAAA,IAAAzI,CAAAA,CAAA,EAAA,CAAA,KAAAoG,SAAAA,EAAA;AAGFzF,IAAAA,EAAAA,mBAAA,GAAA,CAAC,mBAAA,IACa8H,UAAAA,EACK6B,eAAAA,EACJE,WAAAA,EACDH,UAAAA,EACDjE,SAAAA,EACImE,aAAAA,EAAa,GACxBH,WAAAA,EAAW,CAAA;AACfpK,IAAAA,CAAAA,OAAAoK,WAAAA;AAAApK,IAAAA,CAAAA,OAAAqK,UAAAA;AAAArK,IAAAA,CAAAA,OAAAsK,eAAAA;AAAAtK,IAAAA,CAAAA,OAAAuK,aAAAA;AAAAvK,IAAAA,CAAAA,OAAAwK,WAAAA;AAAAxK,IAAAA,CAAAA,OAAAyI,UAAAA;AAAAzI,IAAAA,CAAAA,OAAAoG,SAAAA;AAAApG,IAAAA,CAAAA,OAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OARFW,EAAAA;AAQE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,eAAO,MAAM,qBAAqB;;CAahC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,eAAO,MAAM,qBAAqB;;CAahC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;CA6CpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CA2ClC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/limit/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { unlockLimitPriceAtom } from \"./limitInputActionsAtom\";\nimport { limitTokenFromAtom, limitTokenToAtom } from \"./selectedTokenAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nexport const switchLimitTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(limitTokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(limitTokenFromAtom);\n\n // set tokenFrom\n set(limitTokenFromAtom, tokenTo);\n\n set(limitTokenToAtom, tokenFrom);\n\n set(unlockLimitPriceAtom);\n});\n\nexport const selectLimitTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(limitTokenFromAtom);\n let tokenTo = get(limitTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // then set the tokenFrom\n set(limitTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n if (tokenTo && areTokensSame(tokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(limitTokenToAtom, initTokenFrom);\n // set tokenTo to previous tokenFrom\n tokenTo = initTokenFrom;\n }\n\n if (tokenTo && tokenTo.network !== tokenFrom.network) {\n // LOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"limit\"\n );\n // so set tokenTo to one of the default tokens for tokenFrom.network chain\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(limitTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n }\n\n // do not unlock limit price if token has not actually changed\n if (!areTokensSame(tokenFrom, initTokenFrom)) {\n set(unlockLimitPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const selectLimitTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(limitTokenFromAtom);\n let tokenTo = get(limitTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(limitTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (initTokenTo && areTokensSame(tokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(limitTokenFromAtom, initTokenTo);\n // set tokenFrom to previous tokenTo\n tokenFrom = initTokenTo;\n }\n\n if (tokenTo.network !== tokenFrom.network) {\n // LOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"limit\"\n );\n // so set tokenFrom to one of the default tokens for tokenTo.network chain\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(limitTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // do not unlock limit price if token has not actually changed\n if (tokenTo && initTokenTo && !areTokensSame(tokenTo, initTokenTo)) {\n set(unlockLimitPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenTo.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenTo.network,\n });\n }\n }\n);\n"],"names":["switchLimitTokensAtom","atom","get","set","tokenTo","limitTokenToAtom","tokenFrom","limitTokenFromAtom","unlockLimitPriceAtom","selectLimitTokenFromAtom","newTokenFrom","initTokenFrom","areTokensSame","network","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","newTokenTo","wagmiConfig","state","chainId","switchChain","selectLimitTokenToAtom","initTokenTo"],"mappings":";;;;;;;;AASO,MAAMA,qBAAAA,GAAwBC,IAAAA,CAAK,IAAA,EAAM,OAAOC,KAAKC,GAAAA,KAAQ;AAClE,EAAA,MAAMC,OAAAA,GAAUF,IAAIG,gBAAgB,CAAA;AAEpC,EAAA,IAAI,CAACD,OAAAA,EAAS;AAEd,EAAA,MAAME,SAAAA,GAAYJ,IAAIK,kBAAkB,CAAA;AAGxCJ,EAAAA,GAAAA,CAAII,oBAAoBH,OAAO,CAAA;AAE/BD,EAAAA,GAAAA,CAAIE,kBAAkBC,SAAS,CAAA;AAE/BH,EAAAA,GAAAA,CAAIK,oBAAoB,CAAA;AAC1B,CAAC;AAEM,MAAMC,2BAA2BR,IAAAA,CACtC,IAAA,EACA,OAAOC,GAAAA,EAAKC,KAAKO,YAAAA,KAAwB;AACvC,EAAA,IAAIJ,SAAAA,GAAYJ,IAAIK,kBAAkB,CAAA;AACtC,EAAA,IAAIH,OAAAA,GAAUF,IAAIG,gBAAgB,CAAA;AAClC,EAAA,MAAMM,aAAAA,GAAgBL,SAAAA;AAGtBH,EAAAA,GAAAA,CAAII,oBAAoBG,YAAY,CAAA;AACpCJ,EAAAA,SAAAA,GAAYI,YAAAA;AAEZ,EAAA,IAAIN,OAAAA,IAAWQ,aAAAA,CAAcN,SAAAA,EAAWF,OAAO,CAAA,EAAG;AAEhDD,IAAAA,GAAAA,CAAIE,kBAAkBM,aAAa,CAAA;AAEnCP,IAAAA,OAAAA,GAAUO,aAAAA;AAAAA,EACZ;AAEA,EAAA,IAAIP,OAAAA,IAAWA,OAAAA,CAAQS,OAAAA,KAAYP,SAAAA,CAAUO,OAAAA,EAAS;
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/limit/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { unlockLimitPriceAtom } from \"./limitInputActionsAtom\";\nimport { limitTokenFromAtom, limitTokenToAtom } from \"./selectedTokenAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\n\nexport const switchLimitTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(limitTokenToAtom);\n\n if (!tokenTo) return;\n\n const tokenFrom = get(limitTokenFromAtom);\n\n // set tokenFrom\n set(limitTokenFromAtom, tokenTo);\n\n set(limitTokenToAtom, tokenFrom);\n\n set(unlockLimitPriceAtom);\n});\n\nexport const selectLimitTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(limitTokenFromAtom);\n let tokenTo = get(limitTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // then set the tokenFrom\n set(limitTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n if (tokenTo && areTokensSame(tokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(limitTokenToAtom, initTokenFrom);\n // set tokenTo to previous tokenFrom\n tokenTo = initTokenFrom;\n }\n\n if (tokenTo && tokenTo.network !== tokenFrom.network) {\n // LOrders are single-chain only\n // @TODO change when implementing Crosschain Delta Limit Orders,\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"limit\"\n );\n // so set tokenTo to one of the default tokens for tokenFrom.network chain\n const newTokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(limitTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n }\n\n // do not unlock limit price if token has not actually changed\n if (!areTokensSame(tokenFrom, initTokenFrom)) {\n set(unlockLimitPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const selectLimitTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(limitTokenFromAtom);\n let tokenTo = get(limitTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(limitTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (initTokenTo && areTokensSame(tokenFrom, tokenTo)) {\n // ended up with the same tokens?\n set(limitTokenFromAtom, initTokenTo);\n // set tokenFrom to previous tokenTo\n tokenFrom = initTokenTo;\n }\n\n if (tokenTo.network !== tokenFrom.network) {\n // LOrders are single-chain only\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"limit\"\n );\n // so set tokenFrom to one of the default tokens for tokenTo.network chain\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(limitTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // do not unlock limit price if token has not actually changed\n if (tokenTo && initTokenTo && !areTokensSame(tokenTo, initTokenTo)) {\n set(unlockLimitPriceAtom);\n }\n\n // selecting a token from a different chain?\n if (tokenTo.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenTo.network,\n });\n }\n }\n);\n"],"names":["switchLimitTokensAtom","atom","get","set","tokenTo","limitTokenToAtom","tokenFrom","limitTokenFromAtom","unlockLimitPriceAtom","selectLimitTokenFromAtom","newTokenFrom","initTokenFrom","areTokensSame","network","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","newTokenTo","wagmiConfig","state","chainId","switchChain","selectLimitTokenToAtom","initTokenTo"],"mappings":";;;;;;;;AASO,MAAMA,qBAAAA,GAAwBC,IAAAA,CAAK,IAAA,EAAM,OAAOC,KAAKC,GAAAA,KAAQ;AAClE,EAAA,MAAMC,OAAAA,GAAUF,IAAIG,gBAAgB,CAAA;AAEpC,EAAA,IAAI,CAACD,OAAAA,EAAS;AAEd,EAAA,MAAME,SAAAA,GAAYJ,IAAIK,kBAAkB,CAAA;AAGxCJ,EAAAA,GAAAA,CAAII,oBAAoBH,OAAO,CAAA;AAE/BD,EAAAA,GAAAA,CAAIE,kBAAkBC,SAAS,CAAA;AAE/BH,EAAAA,GAAAA,CAAIK,oBAAoB,CAAA;AAC1B,CAAC;AAEM,MAAMC,2BAA2BR,IAAAA,CACtC,IAAA,EACA,OAAOC,GAAAA,EAAKC,KAAKO,YAAAA,KAAwB;AACvC,EAAA,IAAIJ,SAAAA,GAAYJ,IAAIK,kBAAkB,CAAA;AACtC,EAAA,IAAIH,OAAAA,GAAUF,IAAIG,gBAAgB,CAAA;AAClC,EAAA,MAAMM,aAAAA,GAAgBL,SAAAA;AAGtBH,EAAAA,GAAAA,CAAII,oBAAoBG,YAAY,CAAA;AACpCJ,EAAAA,SAAAA,GAAYI,YAAAA;AAEZ,EAAA,IAAIN,OAAAA,IAAWQ,aAAAA,CAAcN,SAAAA,EAAWF,OAAO,CAAA,EAAG;AAEhDD,IAAAA,GAAAA,CAAIE,kBAAkBM,aAAa,CAAA;AAEnCP,IAAAA,OAAAA,GAAUO,aAAAA;AAAAA,EACZ;AAEA,EAAA,IAAIP,OAAAA,IAAWA,OAAAA,CAAQS,OAAAA,KAAYP,SAAAA,CAAUO,OAAAA,EAAS;AAGpD,IAAA,MAAM,CAACC,gBAAAA,EAAkBC,cAAc,IAAIC,oBAAAA,CACzCV,SAAAA,CAAUO,SACV,OACF,CAAA;AAEA,IAAA,MAAMI,UAAAA,GAAaL,aAAAA,CAAcN,SAAAA,EAAWS,cAAc,IACtDD,gBAAAA,GACAC,cAAAA;AACJZ,IAAAA,GAAAA,CAAIE,kBAAkBY,UAAU,CAAA;AAChCb,IAAAA,OAAAA,GAAUa,UAAAA;AAAAA,EACZ;AAGA,EAAA,IAAI,CAACL,aAAAA,CAAcN,SAAAA,EAAWK,aAAa,CAAA,EAAG;AAC5CR,IAAAA,GAAAA,CAAIK,oBAAoB,CAAA;AAAA,EAC1B;AAGA,EAAA,IAAIF,SAAAA,CAAUO,OAAAA,KAAYK,WAAAA,CAAYC,KAAAA,CAAMC,OAAAA,EAAS;AACnDC,IAAAA,WAAAA,CAAY;AAAA,MACVD,SAASd,SAAAA,CAAUO;AAAAA,KACpB,CAAA;AAAA,EACH;AACF,CACF;AAEO,MAAMS,yBAAyBrB,IAAAA,CACpC,IAAA,EACA,OAAOC,GAAAA,EAAKC,KAAKc,UAAAA,KAAsB;AACrC,EAAA,IAAIX,SAAAA,GAAYJ,IAAIK,kBAAkB,CAAA;AACtC,EAAA,IAAIH,OAAAA,GAAUF,IAAIG,gBAAgB,CAAA;AAClC,EAAA,MAAMkB,WAAAA,GAAcnB,OAAAA;AAEpBD,EAAAA,GAAAA,CAAIE,kBAAkBY,UAAU,CAAA;AAChCb,EAAAA,OAAAA,GAAUa,UAAAA;AAEV,EAAA,IAAIM,WAAAA,IAAeX,aAAAA,CAAcN,SAAAA,EAAWF,OAAO,CAAA,EAAG;AAEpDD,IAAAA,GAAAA,CAAII,oBAAoBgB,WAAW,CAAA;AAEnCjB,IAAAA,SAAAA,GAAYiB,WAAAA;AAAAA,EACd;AAEA,EAAA,IAAInB,OAAAA,CAAQS,OAAAA,KAAYP,SAAAA,CAAUO,OAAAA,EAAS;AAEzC,IAAA,MAAM,CAACC,gBAAAA,EAAkBC,cAAc,IAAIC,oBAAAA,CACzCZ,OAAAA,CAAQS,SACR,OACF,CAAA;AAEA,IAAA,MAAMH,YAAAA,GAAeE,aAAAA,CAAcR,OAAAA,EAASW,cAAc,IACtDD,gBAAAA,GACAC,cAAAA;AACJZ,IAAAA,GAAAA,CAAII,oBAAoBG,YAAY,CAAA;AACpCJ,IAAAA,SAAAA,GAAYI,YAAAA;AAAAA,EACd;AAGA,EAAA,IAAIN,WAAWmB,WAAAA,IAAe,CAACX,aAAAA,CAAcR,OAAAA,EAASmB,WAAW,CAAA,EAAG;AAClEpB,IAAAA,GAAAA,CAAIK,oBAAoB,CAAA;AAAA,EAC1B;AAGA,EAAA,IAAIJ,OAAAA,CAAQS,OAAAA,KAAYK,WAAAA,CAAYC,KAAAA,CAAMC,OAAAA,EAAS;AACjDC,IAAAA,WAAAA,CAAY;AAAA,MACVD,SAAShB,OAAAA,CAAQS;AAAAA,KAClB,CAAA;AAAA,EACH;AACF,CACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,eAAO,MAAM,kBAAkB;;CAAyB,CAAC;AACzD,eAAO,MAAM,gBAAgB;;CAAgB,CAAC;AAE9C,eAAO,MAAM,iBAAiB,aAAyC,CAAC;AACxE,eAAO,MAAM,eAAe,yBAAuC,CAAC;AAEpE,eAAO,MAAM,+BAA+B,GAAI,SAAS,gBAAgB,
|
|
1
|
+
{"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,eAAO,MAAM,kBAAkB;;CAAyB,CAAC;AACzD,eAAO,MAAM,gBAAgB;;CAAgB,CAAC;AAE9C,eAAO,MAAM,iBAAiB,aAAyC,CAAC;AACxE,eAAO,MAAM,eAAe,yBAAuC,CAAC;AAEpE,eAAO,MAAM,+BAA+B,GAAI,SAAS,gBAAgB,SAsBxE,CAAC"}
|
|
@@ -13,9 +13,13 @@ const useLimitTokenTo = () => {
|
|
|
13
13
|
return useAtomValue(limitTokenToAtom);
|
|
14
14
|
};
|
|
15
15
|
const syncLimitTokensAfterChainSwitch = (chainId) => {
|
|
16
|
+
const tokenFrom = jotaiStore.get(limitTokenFromAtom);
|
|
17
|
+
const tokenTo = jotaiStore.get(limitTokenToAtom);
|
|
18
|
+
if (tokenFrom.network === chainId && // @TODO change to allowed cross chain check when implementing Crosschain Delta Limit Orders,
|
|
19
|
+
// look at syncSwapTokensAfterChainSwitch for implementation
|
|
20
|
+
(!tokenTo || tokenTo.network === chainId)) return;
|
|
16
21
|
const [defaultTokenFrom2, defaultTokenTo] = pickDefaultTokenPair(chainId, "limit");
|
|
17
22
|
jotaiStore.set(limitTokenFromAtom, defaultTokenFrom2);
|
|
18
|
-
const tokenTo = jotaiStore.get(limitTokenToAtom);
|
|
19
23
|
if (tokenTo) jotaiStore.set(limitTokenToAtom, defaultTokenTo);
|
|
20
24
|
};
|
|
21
25
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/inputs/state/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom, useAtomValue } from \"jotai\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"limit\"\n);\n\nexport const limitTokenFromAtom = atom(defaultTokenFrom);\nexport const limitTokenToAtom = atom<Token>();\n\nexport const useLimitTokenFrom = () => useAtomValue(limitTokenFromAtom);\nexport const useLimitTokenTo = () => useAtomValue(limitTokenToAtom);\n\nexport const syncLimitTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"limit\"\n );\n\n jotaiStore.set(limitTokenFromAtom, defaultTokenFrom);\n\n
|
|
1
|
+
{"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/limit/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/inputs/state/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom, useAtomValue } from \"jotai\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"limit\"\n);\n\nexport const limitTokenFromAtom = atom(defaultTokenFrom);\nexport const limitTokenToAtom = atom<Token>();\n\nexport const useLimitTokenFrom = () => useAtomValue(limitTokenFromAtom);\nexport const useLimitTokenTo = () => useAtomValue(limitTokenToAtom);\n\nexport const syncLimitTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const tokenFrom = jotaiStore.get(limitTokenFromAtom);\n const tokenTo = jotaiStore.get(limitTokenToAtom);\n // token will already be set on new chain, the new token may have been the reason for switchChain\n\n // chains are the same? do nothing\n if (\n tokenFrom.network === chainId &&\n // @TODO change to allowed cross chain check when implementing Crosschain Delta Limit Orders,\n // look at syncSwapTokensAfterChainSwitch for implementation\n (!tokenTo || tokenTo.network === chainId)\n )\n return;\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"limit\"\n );\n\n jotaiStore.set(limitTokenFromAtom, defaultTokenFrom);\n\n if (tokenTo) jotaiStore.set(limitTokenToAtom, defaultTokenTo);\n};\n"],"names":["defaultTokenFrom","pickDefaultTokenPair","wagmiConfig","state","chainId","limitTokenFromAtom","atom","limitTokenToAtom","useLimitTokenFrom","useAtomValue","useLimitTokenTo","syncLimitTokensAfterChainSwitch","tokenFrom","jotaiStore","get","tokenTo","network","defaultTokenTo","set"],"mappings":";;;;;AAOA,MAAM,CAACA,gBAAgB,CAAA,GAAIC,qBACzBC,WAAAA,CAAYC,KAAAA,CAAMC,SAClB,OACF,CAAA;AAEO,MAAMC,kBAAAA,GAAqBC,KAAKN,gBAAgB;AAChD,MAAMO,mBAAmBD,IAAAA;AAEzB,MAAME,oBAAoBA,MAAA;AAAA,EAAA,OAAMC,aAAaJ,kBAAkB,CAAA;AAAC;AAChE,MAAMK,kBAAkBA,MAAA;AAAA,EAAA,OAAMD,aAAaF,gBAAgB,CAAA;AAAC;AAE5D,MAAMI,+BAAAA,GAAkCA,CAACP,OAAAA,KAA8B;AAC5E,EAAA,MAAMQ,SAAAA,GAAYC,UAAAA,CAAWC,GAAAA,CAAIT,kBAAkB,CAAA;AACnD,EAAA,MAAMU,OAAAA,GAAUF,UAAAA,CAAWC,GAAAA,CAAIP,gBAAgB,CAAA;AAI/C,EAAA,IACEK,UAAUI,OAAAA,KAAYZ,OAAAA;AAAAA;AAAAA,GAGrB,CAACW,OAAAA,IAAWA,OAAAA,CAAQC,OAAAA,KAAYZ,OAAAA,CAAAA,EAEjC;AAEF,EAAA,MAAM,CAACJ,iBAAAA,EAAkBiB,cAAc,CAAA,GAAIhB,oBAAAA,CACzCG,SACA,OACF,CAAA;AAEAS,EAAAA,UAAAA,CAAWK,GAAAA,CAAIb,oBAAoBL,iBAAgB,CAAA;AAEnD,EAAA,IAAIe,OAAAA,EAASF,UAAAA,CAAWK,GAAAA,CAAIX,gBAAAA,EAAkBU,cAAc,CAAA;AAC9D;;;;"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import { TokenInputProps } from '../../components/widget/TokenInput/types';
|
|
2
|
+
import { Token } from '../../tokens/state/types';
|
|
3
|
+
type UnsupportedLimitTokensResult = {
|
|
4
|
+
unsupportedTokens?: [Token, Token] | [Token];
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult;
|
|
2
8
|
export declare const useLimitTokenToInputProps: () => TokenInputProps;
|
|
9
|
+
export {};
|
|
3
10
|
//# sourceMappingURL=useLimitTokenToInputProps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"useLimitTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAgB5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA+DlD,KAAK,4BAA4B,GAAG;IAClC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,yBAAyB,IAAI,4BAA4B,CA8BxE;AAeD,eAAO,MAAM,yBAAyB,QAAO,eAc5C,CAAC"}
|
|
@@ -11,7 +11,10 @@ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../lib/constants/time.js'
|
|
|
11
11
|
import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
|
|
12
12
|
import { useLimitInputClasses } from './useLimitTokenFromInputProps.js';
|
|
13
13
|
import { selectLimitTokenToAtom } from './state/selectedTokenActionsAtom.js';
|
|
14
|
-
import { useLimitTokenTo } from './state/selectedTokenAtom.js';
|
|
14
|
+
import { useLimitTokenTo, useLimitTokenFrom } from './state/selectedTokenAtom.js';
|
|
15
|
+
import { useIsTokenSupportedInDeltaQuery } from '../../hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js';
|
|
16
|
+
import { isFilledArray } from '../../lib/utils/tuple.js';
|
|
17
|
+
import { useChainId } from 'wagmi';
|
|
15
18
|
|
|
16
19
|
const useTokenToBalanceUnit = () => {
|
|
17
20
|
const $ = distExports.c(5);
|
|
@@ -50,36 +53,61 @@ const useTokenToBalanceUnit = () => {
|
|
|
50
53
|
return t2;
|
|
51
54
|
};
|
|
52
55
|
const useExtraProps = () => {
|
|
53
|
-
const $ = distExports.c(
|
|
56
|
+
const $ = distExports.c(11);
|
|
57
|
+
const appChainId = useChainId();
|
|
54
58
|
const setCurrentInput = useSetAtom(currentLimitInputAtom);
|
|
55
59
|
let t0;
|
|
56
|
-
if ($[0] !==
|
|
57
|
-
t0 =
|
|
58
|
-
$[0] =
|
|
60
|
+
if ($[0] !== appChainId) {
|
|
61
|
+
t0 = [appChainId];
|
|
62
|
+
$[0] = appChainId;
|
|
59
63
|
$[1] = t0;
|
|
60
64
|
} else {
|
|
61
65
|
t0 = $[1];
|
|
62
66
|
}
|
|
63
67
|
let t1;
|
|
64
|
-
if ($[2]
|
|
65
|
-
t1 =
|
|
66
|
-
|
|
68
|
+
if ($[2] !== appChainId || $[3] !== t0) {
|
|
69
|
+
t1 = {
|
|
70
|
+
networks: t0,
|
|
71
|
+
selectedNetwork: appChainId,
|
|
72
|
+
disabled: true,
|
|
73
|
+
hidden: true
|
|
74
|
+
};
|
|
75
|
+
$[2] = appChainId;
|
|
76
|
+
$[3] = t0;
|
|
77
|
+
$[4] = t1;
|
|
67
78
|
} else {
|
|
68
|
-
t1 = $[
|
|
79
|
+
t1 = $[4];
|
|
69
80
|
}
|
|
70
81
|
let t2;
|
|
71
|
-
if ($[
|
|
72
|
-
t2 =
|
|
82
|
+
if ($[5] !== setCurrentInput) {
|
|
83
|
+
t2 = () => setCurrentInput("to");
|
|
84
|
+
$[5] = setCurrentInput;
|
|
85
|
+
$[6] = t2;
|
|
86
|
+
} else {
|
|
87
|
+
t2 = $[6];
|
|
88
|
+
}
|
|
89
|
+
let t3;
|
|
90
|
+
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
91
|
+
t3 = /* @__PURE__ */ jsx("span", { children: "Receive" });
|
|
92
|
+
$[7] = t3;
|
|
93
|
+
} else {
|
|
94
|
+
t3 = $[7];
|
|
95
|
+
}
|
|
96
|
+
let t4;
|
|
97
|
+
if ($[8] !== t1 || $[9] !== t2) {
|
|
98
|
+
t4 = {
|
|
99
|
+
networkSwitcherProps: t1,
|
|
73
100
|
tokenType: "to",
|
|
74
|
-
onFocus:
|
|
75
|
-
label:
|
|
101
|
+
onFocus: t2,
|
|
102
|
+
label: t3
|
|
76
103
|
};
|
|
77
|
-
$[
|
|
78
|
-
$[
|
|
104
|
+
$[8] = t1;
|
|
105
|
+
$[9] = t2;
|
|
106
|
+
$[10] = t4;
|
|
79
107
|
} else {
|
|
80
|
-
|
|
108
|
+
t4 = $[10];
|
|
81
109
|
}
|
|
82
|
-
return
|
|
110
|
+
return t4;
|
|
83
111
|
};
|
|
84
112
|
const useTokenToAmountProps = () => {
|
|
85
113
|
const $ = distExports.c(9);
|
|
@@ -124,30 +152,146 @@ const useTokenToAmountProps = () => {
|
|
|
124
152
|
}
|
|
125
153
|
return t1;
|
|
126
154
|
};
|
|
155
|
+
function useUnsupportedLimitTokens() {
|
|
156
|
+
const $ = distExports.c(14);
|
|
157
|
+
const tokenTo = useLimitTokenTo();
|
|
158
|
+
const tokenFrom = useLimitTokenFrom();
|
|
159
|
+
const t0 = tokenTo?.address;
|
|
160
|
+
const t1 = tokenTo?.network || tokenFrom.network;
|
|
161
|
+
let t2;
|
|
162
|
+
if ($[0] !== t0 || $[1] !== t1) {
|
|
163
|
+
t2 = {
|
|
164
|
+
token: t0,
|
|
165
|
+
chainId: t1
|
|
166
|
+
};
|
|
167
|
+
$[0] = t0;
|
|
168
|
+
$[1] = t1;
|
|
169
|
+
$[2] = t2;
|
|
170
|
+
} else {
|
|
171
|
+
t2 = $[2];
|
|
172
|
+
}
|
|
173
|
+
const {
|
|
174
|
+
data: isDestTokenSupported,
|
|
175
|
+
isLoading: isDestTokenSupportedLoading
|
|
176
|
+
} = useIsTokenSupportedInDeltaQuery(t2);
|
|
177
|
+
let t3;
|
|
178
|
+
if ($[3] !== tokenFrom.address || $[4] !== tokenFrom.network) {
|
|
179
|
+
t3 = {
|
|
180
|
+
token: tokenFrom.address,
|
|
181
|
+
chainId: tokenFrom.network
|
|
182
|
+
};
|
|
183
|
+
$[3] = tokenFrom.address;
|
|
184
|
+
$[4] = tokenFrom.network;
|
|
185
|
+
$[5] = t3;
|
|
186
|
+
} else {
|
|
187
|
+
t3 = $[5];
|
|
188
|
+
}
|
|
189
|
+
const {
|
|
190
|
+
data: isSrcTokenSupported,
|
|
191
|
+
isLoading: isSrcTokenSupportedLoading
|
|
192
|
+
} = useIsTokenSupportedInDeltaQuery(t3);
|
|
193
|
+
let t4;
|
|
194
|
+
if ($[6] !== isDestTokenSupported || $[7] !== isSrcTokenSupported || $[8] !== tokenFrom || $[9] !== tokenTo) {
|
|
195
|
+
const unsupportedTokens = [];
|
|
196
|
+
if (isSrcTokenSupported === false) {
|
|
197
|
+
unsupportedTokens.push(tokenFrom);
|
|
198
|
+
}
|
|
199
|
+
if (isDestTokenSupported === false && tokenTo) {
|
|
200
|
+
unsupportedTokens.push(tokenTo);
|
|
201
|
+
}
|
|
202
|
+
t4 = isFilledArray(unsupportedTokens) ? unsupportedTokens : void 0;
|
|
203
|
+
$[6] = isDestTokenSupported;
|
|
204
|
+
$[7] = isSrcTokenSupported;
|
|
205
|
+
$[8] = tokenFrom;
|
|
206
|
+
$[9] = tokenTo;
|
|
207
|
+
$[10] = t4;
|
|
208
|
+
} else {
|
|
209
|
+
t4 = $[10];
|
|
210
|
+
}
|
|
211
|
+
const t5 = isDestTokenSupportedLoading || isSrcTokenSupportedLoading;
|
|
212
|
+
let t6;
|
|
213
|
+
if ($[11] !== t4 || $[12] !== t5) {
|
|
214
|
+
t6 = {
|
|
215
|
+
unsupportedTokens: t4,
|
|
216
|
+
isLoading: t5
|
|
217
|
+
};
|
|
218
|
+
$[11] = t4;
|
|
219
|
+
$[12] = t5;
|
|
220
|
+
$[13] = t6;
|
|
221
|
+
} else {
|
|
222
|
+
t6 = $[13];
|
|
223
|
+
}
|
|
224
|
+
return t6;
|
|
225
|
+
}
|
|
226
|
+
function useWarningMessage() {
|
|
227
|
+
const $ = distExports.c(6);
|
|
228
|
+
const {
|
|
229
|
+
unsupportedTokens,
|
|
230
|
+
isLoading
|
|
231
|
+
} = useUnsupportedLimitTokens();
|
|
232
|
+
let t0;
|
|
233
|
+
if ($[0] !== unsupportedTokens) {
|
|
234
|
+
t0 = unsupportedTokens ? customUnsupportedTokenMessage(unsupportedTokens) : void 0;
|
|
235
|
+
$[0] = unsupportedTokens;
|
|
236
|
+
$[1] = t0;
|
|
237
|
+
} else {
|
|
238
|
+
t0 = $[1];
|
|
239
|
+
}
|
|
240
|
+
let t1;
|
|
241
|
+
if ($[2] !== isLoading || $[3] !== t0 || $[4] !== unsupportedTokens) {
|
|
242
|
+
t1 = {
|
|
243
|
+
warningMessage: t0,
|
|
244
|
+
unsupportedTokens,
|
|
245
|
+
isLoading
|
|
246
|
+
};
|
|
247
|
+
$[2] = isLoading;
|
|
248
|
+
$[3] = t0;
|
|
249
|
+
$[4] = unsupportedTokens;
|
|
250
|
+
$[5] = t1;
|
|
251
|
+
} else {
|
|
252
|
+
t1 = $[5];
|
|
253
|
+
}
|
|
254
|
+
return t1;
|
|
255
|
+
}
|
|
127
256
|
const useLimitTokenToInputProps = () => {
|
|
128
|
-
const $ = distExports.c(
|
|
257
|
+
const $ = distExports.c(6);
|
|
129
258
|
const extraAmountProps = useTokenToAmountProps();
|
|
130
259
|
const extraProps = useExtraProps();
|
|
131
260
|
const tokenBalanceUnit = useTokenToBalanceUnit();
|
|
132
261
|
const classes = useLimitInputClasses();
|
|
262
|
+
const {
|
|
263
|
+
warningMessage
|
|
264
|
+
} = useWarningMessage();
|
|
133
265
|
let t0;
|
|
134
|
-
if ($[0] !== classes || $[1] !== extraAmountProps || $[2] !== extraProps || $[3] !== tokenBalanceUnit) {
|
|
266
|
+
if ($[0] !== classes || $[1] !== extraAmountProps || $[2] !== extraProps || $[3] !== tokenBalanceUnit || $[4] !== warningMessage) {
|
|
135
267
|
t0 = {
|
|
136
268
|
...extraProps,
|
|
137
269
|
...extraAmountProps,
|
|
138
270
|
tokenBalanceUnit,
|
|
139
|
-
classes
|
|
271
|
+
classes,
|
|
272
|
+
warningMessage
|
|
140
273
|
};
|
|
141
274
|
$[0] = classes;
|
|
142
275
|
$[1] = extraAmountProps;
|
|
143
276
|
$[2] = extraProps;
|
|
144
277
|
$[3] = tokenBalanceUnit;
|
|
145
|
-
$[4] =
|
|
278
|
+
$[4] = warningMessage;
|
|
279
|
+
$[5] = t0;
|
|
146
280
|
} else {
|
|
147
|
-
t0 = $[
|
|
281
|
+
t0 = $[5];
|
|
148
282
|
}
|
|
149
283
|
return t0;
|
|
150
284
|
};
|
|
285
|
+
function customUnsupportedTokenMessage(tokens) {
|
|
286
|
+
if (!isFilledArray(tokens)) {
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
if (tokens.length === 1) {
|
|
290
|
+
return `Token ${tokens[0].symbol} is not supported for this order`;
|
|
291
|
+
}
|
|
292
|
+
const tokenSymbols = tokens.map((token) => token.symbol).join(", ");
|
|
293
|
+
return `Tokens ${tokenSymbols} are not supported for this order`;
|
|
294
|
+
}
|
|
151
295
|
|
|
152
|
-
export { useLimitTokenToInputProps };
|
|
296
|
+
export { useLimitTokenToInputProps, useUnsupportedLimitTokens };
|
|
153
297
|
//# sourceMappingURL=useLimitTokenToInputProps.js.map
|