@velora-dex/widget 0.2.0 → 0.2.1
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/dist/components/web3/AccountButton.d.ts.map +1 -1
- package/dist/components/web3/AccountButton.js +24 -27
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +103 -133
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +39 -33
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/Drawer/index.d.ts.map +1 -1
- package/dist/components/widget/Drawer/index.js +119 -54
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +51 -51
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SelectToken/types.d.ts +1 -1
- 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 +107 -148
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.d.ts.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.js +48 -26
- package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +85 -49
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +98 -90
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +2 -2
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -14
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/types.d.ts +15 -0
- package/dist/core/inputs/state/types.d.ts.map +1 -0
- package/dist/core/state/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +3 -1
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +4 -2
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +4 -2
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +55 -41
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/types.d.ts +4 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/getters/limit.d.ts.map +1 -1
- package/dist/events/getters/limit.js +3 -2
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.d.ts.map +1 -1
- package/dist/events/getters/otc.js +3 -2
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/swap.d.ts.map +1 -1
- package/dist/events/getters/swap.js +3 -2
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +2 -0
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/common.d.ts +3 -2
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/connectWallet.d.ts +2 -0
- package/dist/events/types/connectWallet.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +5 -2
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/utils/tradeFlow.d.ts +3 -0
- package/dist/lib/utils/tradeFlow.d.ts.map +1 -0
- package/dist/lib/utils/tradeFlow.js +12 -0
- package/dist/lib/utils/tradeFlow.js.map +1 -0
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/styles.css +17 -13
- package/package.json +1 -1
- package/dist/components/widget/TokenInput/EmptyInput.js +0 -58
- package/dist/components/widget/TokenInput/EmptyInput.js.map +0 -1
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 { srcChains, destChains, tokenLists, tradeModes, ...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 { ...defaultSubConfig, srcChains, destChains, tokenLists, tradeModes },\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 });\n }, [srcChains, destChains, tokenLists, setSubConfig, tradeModes]);\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\",\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","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 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;AACnC,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;;;;"}
|
|
@@ -20,7 +20,7 @@ export declare const tradeModeToSetTokenAtoms: Record<TradeMode, {
|
|
|
20
20
|
tokenToAtom: typeof selectSwapTokenToAtom;
|
|
21
21
|
}>;
|
|
22
22
|
export declare const useWidgetTokens: (tradeMode: TradeMode) => {
|
|
23
|
-
tokenFrom: import('
|
|
24
|
-
tokenTo: import('
|
|
23
|
+
tokenFrom: import('../../..').Token;
|
|
24
|
+
tokenTo: import('../../..').Token | undefined;
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
3
|
-
import { TradeMode } from '../../state/tradeModeAtom';
|
|
1
|
+
import { FormInputProps } from './types';
|
|
4
2
|
export declare const formInputPropsAtom: import('jotai').PrimitiveAtom<FormInputProps> & {
|
|
5
3
|
init: FormInputProps;
|
|
6
4
|
};
|
|
7
5
|
export declare function useActivateFormInputEffects(): void;
|
|
8
|
-
export type FormInputProps = {
|
|
9
|
-
/** @description The form to activate, defaults to "swap" */
|
|
10
|
-
selectedForm?: TradeMode;
|
|
11
|
-
tokenFromAddress?: Address;
|
|
12
|
-
/** @description The chainId of the tokenFrom, for selectedForm!=swap some chains are disabled */
|
|
13
|
-
srcChainId?: SupportedChainId;
|
|
14
|
-
tokenToAddress?: Address;
|
|
15
|
-
/** @description The chainId of the tokenTo, only functional together with selectedForm = "swap"*/
|
|
16
|
-
destChainId?: SupportedChainId;
|
|
17
|
-
sendAmount?: string;
|
|
18
|
-
};
|
|
19
6
|
export declare function useSetFormInputFromProps({ selectedForm, tokenFromAddress, srcChainId, tokenToAddress, destChainId, sendAmount, }?: FormInputProps): void;
|
|
20
7
|
//# sourceMappingURL=setTokenByAddressAtom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setTokenByAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setTokenByAddressAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,kBAAkB;;CAA2B,CAAC;AAoQ3D,wBAAgB,2BAA2B,SAE1C;AAED,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,UAAU,GACX,GAAE,cAAmB,QAuBrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setTokenByAddressAtom.js","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"sourcesContent":["import { atom, useAtom, useSetAtom, type Setter } from \"jotai\";\nimport { atomEffect, type Effect } from \"jotai-effect\";\nimport { isAddress, type Address } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { nativeTokensByChainId } from \"@/tokens/constructor\";\nimport { fromListsAtom } from \"@/tokens/state/fromListsAtom\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"@/tokens/state/importedTokensAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useLayoutEffect } from \"react\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport {\n tradeModeAtom,\n userTradeModeAtom,\n type TradeMode,\n} from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountUnitAtom,\n tradeModeToSetTokenAtoms,\n tradeModeToTokenAtoms,\n} from \"./common\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { autoAddImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { getLogger } from \"@/core/logger\";\nimport { assert } from \"ts-essentials\";\nimport { bridgeInfoAtom } from \"@/hooks/swap/prices/delta/queries/useBridgeInfo\";\nimport { isTradeMode } from \"@/lib/tradeMode\";\nimport { enabledTradeModesAtom } from \"@/core/state/enabledTradeModesAtom\";\n\nexport const formInputPropsAtom = atom<FormInputProps>({});\n\n// in case formInputPros passed to Widget are not exactly expected types\ntype RelaxedFormInputProps = {\n [K in keyof FormInputProps]?: NonNullable<FormInputProps[K]> extends string\n ? string\n : NonNullable<FormInputProps[K]> extends number\n ? number\n : FormInputProps[K];\n};\n\nconst logger = getLogger(\"FormInputProps\");\n\ntype GetterWithPeek = Parameters<Effect>[0];\n\ntype FindTokenAtomsInput = {\n tokenToFind: { address: Address; network: SupportedChainId };\n get: GetterWithPeek;\n set: Setter;\n};\n\nfunction findTokenInAtoms({\n get,\n set,\n tokenToFind,\n}: FindTokenAtomsInput): Token | undefined {\n const tokenFromAddress = tokenToFind.address;\n const chainId = tokenToFind.network;\n\n if (isETHaddress(tokenFromAddress)) {\n // if tokenFrom is ETH, set the native token for tokenFrom Input\n const nativeToken = nativeTokensByChainId[chainId];\n return nativeToken;\n }\n\n const tokenFromLowercase = tokenFromAddress.toLowerCase();\n\n // find the token from the token Lists for the srcChainId,\n // and retry to find the token when allTokens are updated (token lists loaded)\n const tokensMap = get(fromListsAtom).listByChainId[chainId]?.addressMap;\n const tokenFromLists = tokensMap?.[tokenFromLowercase];\n if (tokenFromLists) {\n return tokenFromLists;\n }\n\n // find the token from the imported tokens,\n // don't retry if user imports more tokens during the session\n const importedTokens = get.peek(importedTokensAtom);\n const importedToken = importedTokens[chainId]?.find(\n (token) => token.address.toLowerCase() === tokenFromLowercase\n );\n if (importedToken) {\n return importedToken;\n }\n\n // subscribe to auto-imported tokens, which will be added to only when tokenAddress prop is supplied from outside the widget\n const autoImportedTokens = get(autoImportedTokensAtom);\n // looking through auto-imported tokens isn't strictly necessary because importedTokens atom is updated together with autoImportedTokens atom,\n // except for consistency, and so that we don't have to subscribe to importedTokens atom that would retrigger formProps matching on manual token import\n const autoImportedToken = autoImportedTokens.find(\n (token) =>\n token.address.toLowerCase() === tokenFromLowercase &&\n token.network === chainId\n );\n if (autoImportedToken) {\n return autoImportedToken;\n }\n\n logger.info(\n \"token not available in widget. Will attempt to import from chain\",\n {\n address: tokenFromAddress,\n chainId,\n }\n );\n\n // trigger Token fetch and eventual import when tokenFromAddress is not found in available token lists and atoms\n set(autoAddImportedTokenAtom, { address: tokenFromAddress, chainId });\n}\n\nconst formInputPropsEffectAtom = atomEffect((get, set) => {\n // subscribe to bridgeInfoAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfoAtom);\n\n const enabledTradeModes = get(enabledTradeModesAtom);\n const formInputProps: RelaxedFormInputProps = get(formInputPropsAtom);\n const { tokenFromAddress, srcChainId, sendAmount } = formInputProps;\n\n logger.log(\"using external props to set Widget form input\", formInputProps);\n\n let destChainId = formInputProps.destChainId;\n let tokenToAddress = formInputProps.tokenToAddress;\n let selectedForm = formInputProps.selectedForm || \"swap\";\n if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid or disabled selectedForm provided\", { selectedForm });\n // fallback to first enabled trade mode from the config\n selectedForm = enabledTradeModes[0];\n }\n\n // necessary for type safety\n assert(isTradeMode(selectedForm), \"selectedForm must be a valid trade mode\");\n\n const formAtoms = tradeModeToTokenAtoms[selectedForm];\n const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);\n const currentTokenTo = get.peek(formAtoms.tokenToAtom);\n\n const currentTradeMode = get.peek(tradeModeAtom);\n\n if (currentTradeMode !== selectedForm) {\n set(userTradeModeAtom, selectedForm);\n }\n\n let newTokenFrom: Token | undefined;\n let newTokenTo: Token | undefined;\n\n // if chain isn't given in props, match current srcChainId\n const defaultChainId = currentTokenFrom.network;\n\n if (selectedForm !== \"swap\") {\n // non-swap forms are single-chain only,\n // force destChainId = srcChainId\n destChainId = srcChainId;\n }\n\n if (\n selectedForm === \"otc\" &&\n tokenToAddress &&\n isETHaddress(tokenToAddress)\n ) {\n const wethMapping: Record<number, Address> = wrappedNativeCurrency;\n // OTC Orders don't support ETH as tokenTo=takerAsset,\n // more logical to use WETH instead of no token at all\n tokenToAddress = wethMapping[destChainId || defaultChainId];\n }\n\n {\n // match tokenFromAddress and srcChainId to a new tokenFrom to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenFromAddress, network: srcChainId },\n currentToken: currentTokenFrom,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenFrom = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n {\n // match tokenToAddress and destChainId to a new tokenTo to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenToAddress, network: destChainId },\n currentToken: currentTokenTo,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenTo = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n if (newTokenFrom && newTokenTo && areTokensSame(newTokenFrom, newTokenTo)) {\n // if tokens are the same, skip tokenTo\n newTokenTo = undefined;\n }\n\n if (\n !newTokenFrom &&\n !tokenFromAddress &&\n srcChainId &&\n isSupportedChainId(srcChainId) &&\n srcChainId !== currentTokenFrom.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [defaultTokenFrom] = pickDefaultTokenPair(srcChainId, selectedForm);\n // set default token for the chain\n newTokenFrom = defaultTokenFrom;\n }\n\n if (\n !newTokenTo &&\n !tokenToAddress &&\n destChainId &&\n isSupportedChainId(destChainId) &&\n destChainId !== currentTokenTo?.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [, defaultTokenTo] = pickDefaultTokenPair(destChainId, selectedForm);\n // set default token for the chain\n newTokenTo = defaultTokenTo;\n }\n\n if (newTokenFrom) {\n const selectTokenFromAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenFromAtom;\n set(selectTokenFromAtom, newTokenFrom);\n }\n if (newTokenTo) {\n const selectTokenToAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenToAtom;\n set(selectTokenToAtom, newTokenTo);\n }\n\n if (sendAmount && Number(sendAmount) >= 0) {\n const formPayAmountAtom = tradeModeToPayAmountUnitAtom[selectedForm];\n const currentSendAmount = get.peek(formPayAmountAtom.read);\n if (currentSendAmount !== sendAmount) {\n set(formPayAmountAtom.write, sendAmount);\n }\n }\n});\n\nfunction getTokenToFind({\n tokenFromProps,\n currentToken,\n defaultChainId,\n}: {\n tokenFromProps: { address?: string; network?: number };\n currentToken?: Token;\n defaultChainId: SupportedChainId;\n}): { address: Address; network: SupportedChainId } | undefined {\n if (!tokenFromProps.address) return;\n // guard against malformed addresses passed through props\n if (!isAddress(tokenFromProps.address)) {\n logger.warn(\"malformed token address provided\", {\n address: tokenFromProps.address,\n });\n return;\n }\n\n const network = tokenFromProps.network || defaultChainId;\n\n // unsupported chainId provided, can't select this Token\n if (!isSupportedChainId(network)) {\n logger.warn(\"unsupported chainId provided\", { network });\n return;\n }\n\n if (\n currentToken &&\n areTokensSame(currentToken, {\n address: tokenFromProps.address,\n network,\n })\n ) {\n // same token already there\n return;\n }\n\n return { address: tokenFromProps.address, network };\n}\n\nexport function useActivateFormInputEffects() {\n useAtom(formInputPropsEffectAtom);\n}\n\nexport type FormInputProps = {\n /** @description The form to activate, defaults to \"swap\" */\n selectedForm?: TradeMode;\n tokenFromAddress?: Address;\n /** @description The chainId of the tokenFrom, for selectedForm!=swap some chains are disabled */\n srcChainId?: SupportedChainId;\n tokenToAddress?: Address;\n /** @description The chainId of the tokenTo, only functional together with selectedForm = \"swap\"*/\n destChainId?: SupportedChainId;\n sendAmount?: string; // in Token units\n // @TODO add receiveAmount only when BUY is implemented for Delta to avoid mode switching complications\n};\n\nexport function useSetFormInputFromProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n}: FormInputProps = {}) {\n const setFormInputProps = useSetAtom(formInputPropsAtom);\n\n // match props together as they are supplied together from outside the Widget,\n // on any one prop change, the whole form input props are updated as long as they are passed together to the Widget\n useLayoutEffect(() => {\n setFormInputProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n });\n }, [\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n setFormInputProps,\n ]);\n}\n"],"names":["formInputPropsAtom","atom","logger","getLogger","findTokenInAtoms","get","set","tokenToFind","tokenFromAddress","address","chainId","network","isETHaddress","nativeToken","nativeTokensByChainId","tokenFromLowercase","toLowerCase","tokensMap","fromListsAtom","listByChainId","addressMap","tokenFromLists","importedTokens","peek","importedTokensAtom","importedToken","find","token","autoImportedTokens","autoImportedTokensAtom","autoImportedToken","info","autoAddImportedTokenAtom","formInputPropsEffectAtom","atomEffect","bridgeInfoAtom","enabledTradeModes","enabledTradeModesAtom","formInputProps","srcChainId","sendAmount","log","destChainId","tokenToAddress","selectedForm","isTradeMode","includes","warn","assert","formAtoms","tradeModeToTokenAtoms","currentTokenFrom","tokenFromAtom","currentTokenTo","tokenToAtom","currentTradeMode","tradeModeAtom","userTradeModeAtom","newTokenFrom","newTokenTo","defaultChainId","wethMapping","wrappedNativeCurrency","getTokenToFind","tokenFromProps","currentToken","areTokensSame","undefined","isSupportedChainId","defaultTokenFrom","pickDefaultTokenPair","defaultTokenTo","selectTokenFromAtom","tradeModeToSetTokenAtoms","selectTokenToAtom","Number","formPayAmountAtom","tradeModeToPayAmountUnitAtom","currentSendAmount","read","write","isAddress","useActivateFormInputEffects","useAtom","useSetFormInputFromProps","t0","$","_c","t1","setFormInputProps","useSetAtom","t2","t3","useLayoutEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setTokenByAddressAtom.js","sources":["../../../../src/core/inputs/state/setTokenByAddressAtom.ts"],"sourcesContent":["import { atom, useAtom, useSetAtom, type Setter } from \"jotai\";\nimport { atomEffect, type Effect } from \"jotai-effect\";\nimport { isAddress, type Address } from \"viem\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { nativeTokensByChainId } from \"@/tokens/constructor\";\nimport { fromListsAtom } from \"@/tokens/state/fromListsAtom\";\nimport {\n autoImportedTokensAtom,\n importedTokensAtom,\n} from \"@/tokens/state/importedTokensAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useLayoutEffect } from \"react\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { tradeModeAtom, userTradeModeAtom } from \"@/core/state/tradeModeAtom\";\nimport {\n tradeModeToPayAmountUnitAtom,\n tradeModeToSetTokenAtoms,\n tradeModeToTokenAtoms,\n} from \"./common\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { autoAddImportedTokenAtom } from \"@/tokens/state/addImportedTokenAtom\";\nimport { getLogger } from \"@/core/logger\";\nimport { assert } from \"ts-essentials\";\nimport { bridgeInfoAtom } from \"@/hooks/swap/prices/delta/queries/useBridgeInfo\";\nimport { isTradeMode } from \"@/lib/tradeMode\";\nimport { enabledTradeModesAtom } from \"@/core/state/enabledTradeModesAtom\";\nimport type { FormInputProps } from \"./types\";\n\nexport const formInputPropsAtom = atom<FormInputProps>({});\n\n// in case formInputPros passed to Widget are not exactly expected types\ntype RelaxedFormInputProps = {\n [K in keyof FormInputProps]?: NonNullable<FormInputProps[K]> extends string\n ? string\n : NonNullable<FormInputProps[K]> extends number\n ? number\n : FormInputProps[K];\n};\n\nconst logger = getLogger(\"FormInputProps\");\n\ntype GetterWithPeek = Parameters<Effect>[0];\n\ntype FindTokenAtomsInput = {\n tokenToFind: { address: Address; network: SupportedChainId };\n get: GetterWithPeek;\n set: Setter;\n};\n\nfunction findTokenInAtoms({\n get,\n set,\n tokenToFind,\n}: FindTokenAtomsInput): Token | undefined {\n const tokenFromAddress = tokenToFind.address;\n const chainId = tokenToFind.network;\n\n if (isETHaddress(tokenFromAddress)) {\n // if tokenFrom is ETH, set the native token for tokenFrom Input\n const nativeToken = nativeTokensByChainId[chainId];\n return nativeToken;\n }\n\n const tokenFromLowercase = tokenFromAddress.toLowerCase();\n\n // find the token from the token Lists for the srcChainId,\n // and retry to find the token when allTokens are updated (token lists loaded)\n const tokensMap = get(fromListsAtom).listByChainId[chainId]?.addressMap;\n const tokenFromLists = tokensMap?.[tokenFromLowercase];\n if (tokenFromLists) {\n return tokenFromLists;\n }\n\n // find the token from the imported tokens,\n // don't retry if user imports more tokens during the session\n const importedTokens = get.peek(importedTokensAtom);\n const importedToken = importedTokens[chainId]?.find(\n (token) => token.address.toLowerCase() === tokenFromLowercase\n );\n if (importedToken) {\n return importedToken;\n }\n\n // subscribe to auto-imported tokens, which will be added to only when tokenAddress prop is supplied from outside the widget\n const autoImportedTokens = get(autoImportedTokensAtom);\n // looking through auto-imported tokens isn't strictly necessary because importedTokens atom is updated together with autoImportedTokens atom,\n // except for consistency, and so that we don't have to subscribe to importedTokens atom that would retrigger formProps matching on manual token import\n const autoImportedToken = autoImportedTokens.find(\n (token) =>\n token.address.toLowerCase() === tokenFromLowercase &&\n token.network === chainId\n );\n if (autoImportedToken) {\n return autoImportedToken;\n }\n\n logger.info(\n \"token not available in widget. Will attempt to import from chain\",\n {\n address: tokenFromAddress,\n chainId,\n }\n );\n\n // trigger Token fetch and eventual import when tokenFromAddress is not found in available token lists and atoms\n set(autoAddImportedTokenAtom, { address: tokenFromAddress, chainId });\n}\n\nconst formInputPropsEffectAtom = atomEffect((get, set) => {\n // subscribe to bridgeInfoAtom to have up-to-date available crosses\n // and retry token finding each time when bridgeInfo changes\n get(bridgeInfoAtom);\n\n const enabledTradeModes = get(enabledTradeModesAtom);\n const formInputProps: RelaxedFormInputProps = get(formInputPropsAtom);\n const { tokenFromAddress, srcChainId, sendAmount } = formInputProps;\n\n logger.log(\"using external props to set Widget form input\", formInputProps);\n\n let destChainId = formInputProps.destChainId;\n let tokenToAddress = formInputProps.tokenToAddress;\n let selectedForm = formInputProps.selectedForm || \"swap\";\n if (!isTradeMode(selectedForm) || !enabledTradeModes.includes(selectedForm)) {\n // guard against invalid props passed through from outside the Widget\n logger.warn(\"invalid or disabled selectedForm provided\", { selectedForm });\n // fallback to first enabled trade mode from the config\n selectedForm = enabledTradeModes[0];\n }\n\n // necessary for type safety\n assert(isTradeMode(selectedForm), \"selectedForm must be a valid trade mode\");\n\n const formAtoms = tradeModeToTokenAtoms[selectedForm];\n const currentTokenFrom = get.peek(formAtoms.tokenFromAtom);\n const currentTokenTo = get.peek(formAtoms.tokenToAtom);\n\n const currentTradeMode = get.peek(tradeModeAtom);\n\n if (currentTradeMode !== selectedForm) {\n set(userTradeModeAtom, selectedForm);\n }\n\n let newTokenFrom: Token | undefined;\n let newTokenTo: Token | undefined;\n\n // if chain isn't given in props, match current srcChainId\n const defaultChainId = currentTokenFrom.network;\n\n if (selectedForm !== \"swap\") {\n // non-swap forms are single-chain only,\n // force destChainId = srcChainId\n destChainId = srcChainId;\n }\n\n if (\n selectedForm === \"otc\" &&\n tokenToAddress &&\n isETHaddress(tokenToAddress)\n ) {\n const wethMapping: Record<number, Address> = wrappedNativeCurrency;\n // OTC Orders don't support ETH as tokenTo=takerAsset,\n // more logical to use WETH instead of no token at all\n tokenToAddress = wethMapping[destChainId || defaultChainId];\n }\n\n {\n // match tokenFromAddress and srcChainId to a new tokenFrom to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenFromAddress, network: srcChainId },\n currentToken: currentTokenFrom,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenFrom = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n {\n // match tokenToAddress and destChainId to a new tokenTo to select\n const tokenToFind = getTokenToFind({\n tokenFromProps: { address: tokenToAddress, network: destChainId },\n currentToken: currentTokenTo,\n defaultChainId,\n });\n if (tokenToFind) {\n newTokenTo = findTokenInAtoms({\n get,\n tokenToFind,\n set,\n });\n }\n }\n\n if (newTokenFrom && newTokenTo && areTokensSame(newTokenFrom, newTokenTo)) {\n // if tokens are the same, skip tokenTo\n newTokenTo = undefined;\n }\n\n if (\n !newTokenFrom &&\n !tokenFromAddress &&\n srcChainId &&\n isSupportedChainId(srcChainId) &&\n srcChainId !== currentTokenFrom.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [defaultTokenFrom] = pickDefaultTokenPair(srcChainId, selectedForm);\n // set default token for the chain\n newTokenFrom = defaultTokenFrom;\n }\n\n if (\n !newTokenTo &&\n !tokenToAddress &&\n destChainId &&\n isSupportedChainId(destChainId) &&\n destChainId !== currentTokenTo?.network\n ) {\n // no tokenAddress given, but chainId is provided and different from current\n const [, defaultTokenTo] = pickDefaultTokenPair(destChainId, selectedForm);\n // set default token for the chain\n newTokenTo = defaultTokenTo;\n }\n\n if (newTokenFrom) {\n const selectTokenFromAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenFromAtom;\n set(selectTokenFromAtom, newTokenFrom);\n }\n if (newTokenTo) {\n const selectTokenToAtom =\n tradeModeToSetTokenAtoms[selectedForm].tokenToAtom;\n set(selectTokenToAtom, newTokenTo);\n }\n\n if (sendAmount && Number(sendAmount) >= 0) {\n const formPayAmountAtom = tradeModeToPayAmountUnitAtom[selectedForm];\n const currentSendAmount = get.peek(formPayAmountAtom.read);\n if (currentSendAmount !== sendAmount) {\n set(formPayAmountAtom.write, sendAmount);\n }\n }\n});\n\nfunction getTokenToFind({\n tokenFromProps,\n currentToken,\n defaultChainId,\n}: {\n tokenFromProps: { address?: string; network?: number };\n currentToken?: Token;\n defaultChainId: SupportedChainId;\n}): { address: Address; network: SupportedChainId } | undefined {\n if (!tokenFromProps.address) return;\n // guard against malformed addresses passed through props\n if (!isAddress(tokenFromProps.address)) {\n logger.warn(\"malformed token address provided\", {\n address: tokenFromProps.address,\n });\n return;\n }\n\n const network = tokenFromProps.network || defaultChainId;\n\n // unsupported chainId provided, can't select this Token\n if (!isSupportedChainId(network)) {\n logger.warn(\"unsupported chainId provided\", { network });\n return;\n }\n\n if (\n currentToken &&\n areTokensSame(currentToken, {\n address: tokenFromProps.address,\n network,\n })\n ) {\n // same token already there\n return;\n }\n\n return { address: tokenFromProps.address, network };\n}\n\nexport function useActivateFormInputEffects() {\n useAtom(formInputPropsEffectAtom);\n}\n\nexport function useSetFormInputFromProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n}: FormInputProps = {}) {\n const setFormInputProps = useSetAtom(formInputPropsAtom);\n\n // match props together as they are supplied together from outside the Widget,\n // on any one prop change, the whole form input props are updated as long as they are passed together to the Widget\n useLayoutEffect(() => {\n setFormInputProps({\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n });\n }, [\n selectedForm,\n tokenFromAddress,\n srcChainId,\n tokenToAddress,\n destChainId,\n sendAmount,\n setFormInputProps,\n ]);\n}\n"],"names":["formInputPropsAtom","atom","logger","getLogger","findTokenInAtoms","get","set","tokenToFind","tokenFromAddress","address","chainId","network","isETHaddress","nativeToken","nativeTokensByChainId","tokenFromLowercase","toLowerCase","tokensMap","fromListsAtom","listByChainId","addressMap","tokenFromLists","importedTokens","peek","importedTokensAtom","importedToken","find","token","autoImportedTokens","autoImportedTokensAtom","autoImportedToken","info","autoAddImportedTokenAtom","formInputPropsEffectAtom","atomEffect","bridgeInfoAtom","enabledTradeModes","enabledTradeModesAtom","formInputProps","srcChainId","sendAmount","log","destChainId","tokenToAddress","selectedForm","isTradeMode","includes","warn","assert","formAtoms","tradeModeToTokenAtoms","currentTokenFrom","tokenFromAtom","currentTokenTo","tokenToAtom","currentTradeMode","tradeModeAtom","userTradeModeAtom","newTokenFrom","newTokenTo","defaultChainId","wethMapping","wrappedNativeCurrency","getTokenToFind","tokenFromProps","currentToken","areTokensSame","undefined","isSupportedChainId","defaultTokenFrom","pickDefaultTokenPair","defaultTokenTo","selectTokenFromAtom","tradeModeToSetTokenAtoms","selectTokenToAtom","Number","formPayAmountAtom","tradeModeToPayAmountUnitAtom","currentSendAmount","read","write","isAddress","useActivateFormInputEffects","useAtom","useSetFormInputFromProps","t0","$","_c","t1","setFormInputProps","useSetAtom","t2","t3","useLayoutEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA+BO,MAAMA,kBAAAA,GAAqBC,IAAAA,CAAqB,EAAE;AAWzD,MAAMC,MAAAA,GAASC,UAAU,gBAAgB,CAAA;AAUzC,SAASC,gBAAAA,CAAiB;AAAA,EACxBC,GAAAA;AAAAA,EACAC,GAAAA;AAAAA,EACAC;AACmB,CAAA,EAAsB;AACzC,EAAA,MAAMC,mBAAmBD,WAAAA,CAAYE,OAAAA;AACrC,EAAA,MAAMC,UAAUH,WAAAA,CAAYI,OAAAA;AAE5B,EAAA,IAAIC,YAAAA,CAAaJ,gBAAgB,CAAA,EAAG;AAElC,IAAA,MAAMK,WAAAA,GAAcC,sBAAsBJ,OAAO,CAAA;AACjD,IAAA,OAAOG,WAAAA;AAAAA,EACT;AAEA,EAAA,MAAME,kBAAAA,GAAqBP,iBAAiBQ,WAAAA,EAAY;AAIxD,EAAA,MAAMC,YAAYZ,GAAAA,CAAIa,aAAa,CAAA,CAAEC,aAAAA,CAAcT,OAAO,CAAA,EAAGU,UAAAA;AAC7D,EAAA,MAAMC,cAAAA,GAAiBJ,YAAYF,kBAAkB,CAAA;AACrD,EAAA,IAAIM,cAAAA,EAAgB;AAClB,IAAA,OAAOA,cAAAA;AAAAA,EACT;AAIA,EAAA,MAAMC,cAAAA,GAAiBjB,GAAAA,CAAIkB,IAAAA,CAAKC,kBAAkB,CAAA;AAClD,EAAA,MAAMC,aAAAA,GAAgBH,cAAAA,CAAeZ,OAAO,CAAA,EAAGgB,IAAAA,CAC5CC,WAAUA,KAAAA,CAAMlB,OAAAA,CAAQO,WAAAA,EAAY,KAAMD,kBAC7C,CAAA;AACA,EAAA,IAAIU,aAAAA,EAAe;AACjB,IAAA,OAAOA,aAAAA;AAAAA,EACT;AAGA,EAAA,MAAMG,kBAAAA,GAAqBvB,IAAIwB,sBAAsB,CAAA;AAGrD,EAAA,MAAMC,iBAAAA,GAAoBF,kBAAAA,CAAmBF,IAAAA,CAC1CC,CAAAA,KAAAA,KACCA,KAAAA,CAAMlB,OAAAA,CAAQO,WAAAA,EAAY,KAAMD,kBAAAA,IAChCY,KAAAA,CAAMhB,OAAAA,KAAYD,OACtB,CAAA;AACA,EAAA,IAAIoB,iBAAAA,EAAmB;AACrB,IAAA,OAAOA,iBAAAA;AAAAA,EACT;AAEA5B,EAAAA,MAAAA,CAAO6B,KACL,kEAAA,EACA;AAAA,IACEtB,OAAAA,EAASD,gBAAAA;AAAAA,IACTE;AAAAA,GAEJ,CAAA;AAGAJ,EAAAA,GAAAA,CAAI0B,wBAAAA,EAA0B;AAAA,IAAEvB,OAAAA,EAASD,gBAAAA;AAAAA,IAAkBE;AAAAA,GAAS,CAAA;AACtE;AAEA,MAAMuB,wBAAAA,GAA2BC,UAAAA,CAAW,CAAC7B,GAAAA,EAAKC,GAAAA,KAAQ;AAGxDD,EAAAA,GAAAA,CAAI8B,cAAc,CAAA;AAElB,EAAA,MAAMC,iBAAAA,GAAoB/B,IAAIgC,qBAAqB,CAAA;AACnD,EAAA,MAAMC,cAAAA,GAAwCjC,IAAIL,kBAAkB,CAAA;AACpE,EAAA,MAAM;AAAA,IAAEQ,gBAAAA;AAAAA,IAAkB+B,UAAAA;AAAAA,IAAYC;AAAAA,GAAW,GAAIF,cAAAA;AAErDpC,EAAAA,MAAAA,CAAOuC,GAAAA,CAAI,iDAAiDH,cAAc,CAAA;AAE1E,EAAA,IAAII,cAAcJ,cAAAA,CAAeI,WAAAA;AACjC,EAAA,IAAIC,iBAAiBL,cAAAA,CAAeK,cAAAA;AACpC,EAAA,IAAIC,YAAAA,GAAeN,eAAeM,YAAAA,IAAgB,MAAA;AAClD,EAAA,IAAI,CAACC,YAAYD,YAAY,CAAA,IAAK,CAACR,iBAAAA,CAAkBU,QAAAA,CAASF,YAAY,CAAA,EAAG;AAE3E1C,IAAAA,MAAAA,CAAO6C,KAAK,2CAAA,EAA6C;AAAA,MAAEH;AAAAA,KAAc,CAAA;AAEzEA,IAAAA,YAAAA,GAAeR,kBAAkB,CAAC,CAAA;AAAA,EACpC;AAGAY,EAAAA,MAAAA,CAAOH,WAAAA,CAAYD,YAAY,CAAA,EAAG,yCAAyC,CAAA;AAE3E,EAAA,MAAMK,SAAAA,GAAYC,sBAAsBN,YAAY,CAAA;AACpD,EAAA,MAAMO,gBAAAA,GAAmB9C,GAAAA,CAAIkB,IAAAA,CAAK0B,SAAAA,CAAUG,aAAa,CAAA;AACzD,EAAA,MAAMC,cAAAA,GAAiBhD,GAAAA,CAAIkB,IAAAA,CAAK0B,SAAAA,CAAUK,WAAW,CAAA;AAErD,EAAA,MAAMC,gBAAAA,GAAmBlD,GAAAA,CAAIkB,IAAAA,CAAKiC,aAAa,CAAA;AAE/C,EAAA,IAAID,qBAAqBX,YAAAA,EAAc;AACrCtC,IAAAA,GAAAA,CAAImD,mBAAmBb,YAAY,CAAA;AAAA,EACrC;AAEA,EAAA,IAAIc,YAAAA;AACJ,EAAA,IAAIC,UAAAA;AAGJ,EAAA,MAAMC,iBAAiBT,gBAAAA,CAAiBxC,OAAAA;AAExC,EAAA,IAAIiC,iBAAiB,MAAA,EAAQ;AAG3BF,IAAAA,WAAAA,GAAcH,UAAAA;AAAAA,EAChB;AAEA,EAAA,IACEK,YAAAA,KAAiB,KAAA,IACjBD,cAAAA,IACA/B,YAAAA,CAAa+B,cAAc,CAAA,EAC3B;AACA,IAAA,MAAMkB,WAAAA,GAAuCC,qBAAAA;AAG7CnB,IAAAA,cAAAA,GAAiBkB,WAAAA,CAAYnB,eAAekB,cAAc,CAAA;AAAA,EAC5D;AAEA,EAAA;AAEE,IAAA,MAAMrD,cAAcwD,cAAAA,CAAe;AAAA,MACjCC,cAAAA,EAAgB;AAAA,QAAEvD,OAAAA,EAASD,gBAAAA;AAAAA,QAAkBG,OAAAA,EAAS4B;AAAAA,OAAW;AAAA,MACjE0B,YAAAA,EAAcd,gBAAAA;AAAAA,MACdS;AAAAA,KACD,CAAA;AACD,IAAA,IAAIrD,WAAAA,EAAa;AACfmD,MAAAA,YAAAA,GAAetD,gBAAAA,CAAiB;AAAA,QAC9BC,GAAAA;AAAAA,QACAE,WAAAA;AAAAA,QACAD;AAAAA,OACD,CAAA;AAAA,IACH;AAAA,EACF;AAEA,EAAA;AAEE,IAAA,MAAMC,cAAcwD,cAAAA,CAAe;AAAA,MACjCC,cAAAA,EAAgB;AAAA,QAAEvD,OAAAA,EAASkC,cAAAA;AAAAA,QAAgBhC,OAAAA,EAAS+B;AAAAA,OAAY;AAAA,MAChEuB,YAAAA,EAAcZ,cAAAA;AAAAA,MACdO;AAAAA,KACD,CAAA;AACD,IAAA,IAAIrD,WAAAA,EAAa;AACfoD,MAAAA,UAAAA,GAAavD,gBAAAA,CAAiB;AAAA,QAC5BC,GAAAA;AAAAA,QACAE,WAAAA;AAAAA,QACAD;AAAAA,OACD,CAAA;AAAA,IACH;AAAA,EACF;AAEA,EAAA,IAAIoD,YAAAA,IAAgBC,UAAAA,IAAcO,aAAAA,CAAcR,YAAAA,EAAcC,UAAU,CAAA,EAAG;AAEzEA,IAAAA,UAAAA,GAAaQ,MAAAA;AAAAA,EACf;AAEA,EAAA,IACE,CAACT,YAAAA,IACD,CAAClD,gBAAAA,IACD+B,UAAAA,IACA6B,mBAAmB7B,UAAU,CAAA,IAC7BA,UAAAA,KAAeY,gBAAAA,CAAiBxC,OAAAA,EAChC;AAEA,IAAA,MAAM,CAAC0D,gBAAgB,CAAA,GAAIC,oBAAAA,CAAqB/B,YAAYK,YAAY,CAAA;AAExEc,IAAAA,YAAAA,GAAeW,gBAAAA;AAAAA,EACjB;AAEA,EAAA,IACE,CAACV,UAAAA,IACD,CAAChB,cAAAA,IACDD,WAAAA,IACA0B,mBAAmB1B,WAAW,CAAA,IAC9BA,WAAAA,KAAgBW,cAAAA,EAAgB1C,OAAAA,EAChC;AAEA,IAAA,MAAM,GAAG4D,cAAc,CAAA,GAAID,oBAAAA,CAAqB5B,aAAaE,YAAY,CAAA;AAEzEe,IAAAA,UAAAA,GAAaY,cAAAA;AAAAA,EACf;AAEA,EAAA,IAAIb,YAAAA,EAAc;AAChB,IAAA,MAAMc,mBAAAA,GACJC,wBAAAA,CAAyB7B,YAAY,CAAA,CAAEQ,aAAAA;AACzC9C,IAAAA,GAAAA,CAAIkE,qBAAqBd,YAAY,CAAA;AAAA,EACvC;AACA,EAAA,IAAIC,UAAAA,EAAY;AACd,IAAA,MAAMe,iBAAAA,GACJD,wBAAAA,CAAyB7B,YAAY,CAAA,CAAEU,WAAAA;AACzChD,IAAAA,GAAAA,CAAIoE,mBAAmBf,UAAU,CAAA;AAAA,EACnC;AAEA,EAAA,IAAInB,UAAAA,IAAcmC,MAAAA,CAAOnC,UAAU,CAAA,IAAK,CAAA,EAAG;AACzC,IAAA,MAAMoC,iBAAAA,GAAoBC,6BAA6BjC,YAAY,CAAA;AACnE,IAAA,MAAMkC,iBAAAA,GAAoBzE,GAAAA,CAAIkB,IAAAA,CAAKqD,iBAAAA,CAAkBG,IAAI,CAAA;AACzD,IAAA,IAAID,sBAAsBtC,UAAAA,EAAY;AACpClC,MAAAA,GAAAA,CAAIsE,iBAAAA,CAAkBI,OAAOxC,UAAU,CAAA;AAAA,IACzC;AAAA,EACF;AACF,CAAC,CAAA;AAED,SAASuB,cAAAA,CAAe;AAAA,EACtBC,cAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAL;AAKF,CAAA,EAAgE;AAC9D,EAAA,IAAI,CAACI,eAAevD,OAAAA,EAAS;AAE7B,EAAA,IAAI,CAACwE,SAAAA,CAAUjB,cAAAA,CAAevD,OAAO,CAAA,EAAG;AACtCP,IAAAA,MAAAA,CAAO6C,KAAK,kCAAA,EAAoC;AAAA,MAC9CtC,SAASuD,cAAAA,CAAevD;AAAAA,KACzB,CAAA;AACD,IAAA;AAAA,EACF;AAEA,EAAA,MAAME,OAAAA,GAAUqD,eAAerD,OAAAA,IAAWiD,cAAAA;AAG1C,EAAA,IAAI,CAACQ,kBAAAA,CAAmBzD,OAAO,CAAA,EAAG;AAChCT,IAAAA,MAAAA,CAAO6C,KAAK,8BAAA,EAAgC;AAAA,MAAEpC;AAAAA,KAAS,CAAA;AACvD,IAAA;AAAA,EACF;AAEA,EAAA,IACEsD,YAAAA,IACAC,cAAcD,YAAAA,EAAc;AAAA,IAC1BxD,SAASuD,cAAAA,CAAevD,OAAAA;AAAAA,IACxBE;AAAAA,GACD,CAAA,EACD;AAEA,IAAA;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IAAEF,SAASuD,cAAAA,CAAevD,OAAAA;AAAAA,IAASE;AAAAA,GAAQ;AACpD;AAEO,SAAAuE,2BAAAA,GAAA;AACLC,EAAAA,OAAAA,CAAQlD,wBAAwB,CAAA;AAAC;AAG5B,SAAAmD,yBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAAkCG,IAAAA,EAAAA,GAAAH,EAAAA,KAAAlB,MAAAA,GAAA,EAOpB,GAPoBkB,EAAAA;AAOnBC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAPmB,EAAA,MAAA;AAAA,IAAA1C,YAAAA;AAAAA,IAAApC,gBAAAA;AAAAA,IAAA+B,UAAAA;AAAAA,IAAAI,cAAAA;AAAAA,IAAAD,WAAAA;AAAAA,IAAAF;AAAAA,GAAA,GAAAgD,EAAAA;AAQvC,EAAA,MAAAC,iBAAAA,GAA0BC,WAAW1F,kBAAkB,CAAA;AAAE,EAAA,IAAA2F,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,CAAAA,CAAA,CAAA,CAAA,KAAA5C,WAAAA,IAAA4C,CAAAA,CAAA,CAAA,CAAA,KAAA1C,YAAAA,IAAA0C,CAAAA,CAAA,CAAA,CAAA,KAAA9C,UAAAA,IAAA8C,CAAAA,QAAAG,iBAAAA,IAAAH,CAAAA,CAAA,CAAA,CAAA,KAAA/C,UAAAA,IAAA+C,CAAAA,CAAA,CAAA,CAAA,KAAA9E,gBAAAA,IAAA8E,CAAAA,CAAA,CAAA,CAAA,KAAA3C,cAAAA,EAAA;AAIzCgD,IAAAA,EAAAA,GAAAA,MAAA;AACdF,MAAAA,iBAAAA,CAAkB;AAAA,QAAA7C,YAAAA;AAAAA,QAAApC,gBAAAA;AAAAA,QAAA+B,UAAAA;AAAAA,QAAAI,cAAAA;AAAAA,QAAAD,WAAAA;AAAAA,QAAAF;AAAAA,OAOjB,CAAA;AAAA,IAAC,CAAA;AACDoD,IAAAA,EAAAA,GAAA,CACDhD,YAAAA,EACApC,gBAAAA,EACA+B,YACAI,cAAAA,EACAD,WAAAA,EACAF,YACAiD,iBAAiB,CAAA;AAClBH,IAAAA,CAAAA,MAAA5C,WAAAA;AAAA4C,IAAAA,CAAAA,MAAA1C,YAAAA;AAAA0C,IAAAA,CAAAA,MAAA9C,UAAAA;AAAA8C,IAAAA,CAAAA,MAAAG,iBAAAA;AAAAH,IAAAA,CAAAA,MAAA/C,UAAAA;AAAA+C,IAAAA,CAAAA,MAAA9E,gBAAAA;AAAA8E,IAAAA,CAAAA,MAAA3C,cAAAA;AAAA2C,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,OAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAAM,IAAAA,EAAAA,GAAAN,EAAA,EAAA,CAAA;AAAA,EAAA;AAjBDO,EAAAA,eAAAA,CAAgBF,IASbC,EAQF,CAAA;AAAC;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TradeMode } from '../../state/tradeModeAtom';
|
|
2
|
+
import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
3
|
+
import { Address } from 'viem';
|
|
4
|
+
export type FormInputProps = {
|
|
5
|
+
/** @description The form to activate, defaults to "swap" */
|
|
6
|
+
selectedForm?: TradeMode;
|
|
7
|
+
tokenFromAddress?: Address;
|
|
8
|
+
/** @description The chainId of the tokenFrom, for selectedForm!=swap some chains are disabled */
|
|
9
|
+
srcChainId?: SupportedChainId;
|
|
10
|
+
tokenToAddress?: Address;
|
|
11
|
+
/** @description The chainId of the tokenTo, only functional together with selectedForm = "swap"*/
|
|
12
|
+
destChainId?: SupportedChainId;
|
|
13
|
+
sendAmount?: string;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iGAAiG;IACjG,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kGAAkG;IAClG,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CAErB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,mBAAmB;;CAgD/B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;CAsB3B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { atom } from 'jotai';
|
|
2
|
-
import { defaultWidgetConfig, widgetConfigAtom, defaultSubConfig, srcChainsAtom, destChainsAtom, tokenListsAtom, tradeModesAtom } from './configAtom.js';
|
|
2
|
+
import { defaultWidgetConfig, widgetConfigAtom, defaultSubConfig, srcChainsAtom, destChainsAtom, tokenListsAtom, tradeModesAtom, excludeUIAtom } from './configAtom.js';
|
|
3
3
|
|
|
4
4
|
const setWidgetConfigAtom = atom(null, (_, set, config) => {
|
|
5
5
|
const enableDelta = typeof config.enableDelta !== "boolean" ? defaultWidgetConfig.enableDelta : config.enableDelta;
|
|
@@ -28,10 +28,12 @@ const setSubConfigAtom = atom(null, (_, set, config) => {
|
|
|
28
28
|
const destChains = !Array.isArray(config.destChains) ? defaultSubConfig.destChains : config.destChains;
|
|
29
29
|
const tokenLists = !Array.isArray(config.tokenLists) ? defaultSubConfig.tokenLists : config.tokenLists;
|
|
30
30
|
const tradeModes = !Array.isArray(config.tradeModes) ? defaultSubConfig.tradeModes : config.tradeModes;
|
|
31
|
+
const excludeUI = !Array.isArray(config.excludeUI) ? defaultSubConfig.excludeUI : config.excludeUI;
|
|
31
32
|
set(srcChainsAtom, srcChains);
|
|
32
33
|
set(destChainsAtom, destChains);
|
|
33
34
|
set(tokenListsAtom, tokenLists);
|
|
34
35
|
set(tradeModesAtom, tradeModes);
|
|
36
|
+
set(excludeUIAtom, excludeUI);
|
|
35
37
|
});
|
|
36
38
|
|
|
37
39
|
export { setSubConfigAtom, setWidgetConfigAtom };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configActionsAtom.js","sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const ignoreBadUsdPrice =\n typeof config.ignoreBadUsdPrice !== \"boolean\"\n ? defaultWidgetConfig.ignoreBadUsdPrice\n : config.ignoreBadUsdPrice;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n partner: config.partner, // except for 'partner' which can be set to undefined\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n ignoreBadUsdPrice,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n});\n"],"names":["setWidgetConfigAtom","atom","_","set","config","enableDelta","defaultWidgetConfig","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","partner","setSubConfigAtom","srcChains","Array","isArray","defaultSubConfig","destChains","tokenLists","tradeModes","srcChainsAtom","destChainsAtom","tokenListsAtom","tradeModesAtom"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"configActionsAtom.js","sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n excludeUIAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const ignoreBadUsdPrice =\n typeof config.ignoreBadUsdPrice !== \"boolean\"\n ? defaultWidgetConfig.ignoreBadUsdPrice\n : config.ignoreBadUsdPrice;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n partner: config.partner, // except for 'partner' which can be set to undefined\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n ignoreBadUsdPrice,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n const excludeUI = !Array.isArray(config.excludeUI)\n ? defaultSubConfig.excludeUI\n : config.excludeUI;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n set(excludeUIAtom, excludeUI);\n});\n"],"names":["setWidgetConfigAtom","atom","_","set","config","enableDelta","defaultWidgetConfig","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","partner","setSubConfigAtom","srcChains","Array","isArray","defaultSubConfig","destChains","tokenLists","tradeModes","excludeUI","srcChainsAtom","destChainsAtom","tokenListsAtom","tradeModesAtom","excludeUIAtom"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { WidgetConfig } from '../types';
|
|
1
|
+
import { WidgetElements, WidgetConfig } from '../types';
|
|
2
2
|
import { TradeMode } from './tradeModeAtom';
|
|
3
3
|
export type PrimitiveConfig = Pick<WidgetConfig, "theme" | "enableDelta" | "enableCrossChain" | "partner" | "privyAppId" | "privyClientId" | "debug" | "widgetMode" | "ignoreBadUsdPrice">;
|
|
4
|
-
export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes">;
|
|
4
|
+
export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes" | "excludeUI">;
|
|
5
5
|
export declare const defaultWidgetConfig: {
|
|
6
6
|
readonly theme: "light" | "dark";
|
|
7
7
|
readonly enableDelta: true;
|
|
@@ -51,9 +51,11 @@ export declare const defaultSubConfig: {
|
|
|
51
51
|
readonly srcChains: never[];
|
|
52
52
|
readonly destChains: never[];
|
|
53
53
|
readonly tradeModes: never[];
|
|
54
|
+
readonly excludeUI: never[];
|
|
54
55
|
};
|
|
55
56
|
export declare const tokenListsAtom: import('jotai').WritableAtom<string[], [string[]], void>;
|
|
56
57
|
export declare const srcChainsAtom: import('jotai').WritableAtom<(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]], void>;
|
|
57
58
|
export declare const destChainsAtom: import('jotai').WritableAtom<(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]], void>;
|
|
58
59
|
export declare const tradeModesAtom: import('jotai').WritableAtom<TradeMode[], [TradeMode[]], void>;
|
|
60
|
+
export declare const excludeUIAtom: import('jotai').WritableAtom<WidgetElements[], [WidgetElements[]], void>;
|
|
59
61
|
//# sourceMappingURL=configAtom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAM7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,mBAAmB,CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACZ,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CACvE,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAMM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,sKAGzB,CAAC;AACF,eAAO,MAAM,cAAc,sKAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,0EAGzB,CAAC"}
|
|
@@ -22,12 +22,14 @@ const defaultSubConfig = {
|
|
|
22
22
|
tokenLists: emptyArray,
|
|
23
23
|
srcChains: emptyArray,
|
|
24
24
|
destChains: emptyArray,
|
|
25
|
-
tradeModes: emptyArray
|
|
25
|
+
tradeModes: emptyArray,
|
|
26
|
+
excludeUI: emptyArray
|
|
26
27
|
};
|
|
27
28
|
const tokenListsAtom = atomWithCompare(defaultSubConfig.tokenLists, unorderedShallowEqual);
|
|
28
29
|
const srcChainsAtom = atomWithCompare(defaultSubConfig.srcChains, unorderedShallowEqual);
|
|
29
30
|
const destChainsAtom = atomWithCompare(defaultSubConfig.destChains, unorderedShallowEqual);
|
|
30
31
|
const tradeModesAtom = atomWithCompare(defaultSubConfig.tradeModes, unorderedShallowEqual);
|
|
32
|
+
const excludeUIAtom = atomWithCompare(defaultSubConfig.excludeUI, unorderedShallowEqual);
|
|
31
33
|
|
|
32
|
-
export { defaultSubConfig, defaultWidgetConfig, destChainsAtom, srcChainsAtom, tokenListsAtom, tradeModesAtom, useWidgetConfig, widgetConfigAtom };
|
|
34
|
+
export { defaultSubConfig, defaultWidgetConfig, destChainsAtom, excludeUIAtom, srcChainsAtom, tokenListsAtom, tradeModesAtom, useWidgetConfig, widgetConfigAtom };
|
|
33
35
|
//# sourceMappingURL=configAtom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom, useAtomValue } from \"jotai\";\nimport type { WidgetConfig } from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"partner\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n \"srcChains\" | \"destChains\" | \"tokenLists\" | \"tradeModes\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom"],"mappings":";;;;;;AAwCO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH;
|
|
1
|
+
{"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom, useAtomValue } from \"jotai\";\nimport type { WidgetElements, WidgetConfig } from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"partner\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n \"srcChains\" | \"destChains\" | \"tokenLists\" | \"tradeModes\" | \"excludeUI\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","excludeUI","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom"],"mappings":";;;;;;AAwCO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH,UAAAA;AAAAA,EACZI,SAAAA,EAAWJ;AACb;AAIO,MAAMK,cAAAA,GAAiBC,eAAAA,CAC5BR,gBAAAA,CAAiBC,UAAAA,EACjBQ,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BR,gBAAAA,CAAiBG,SAAAA,EACjBM,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BR,gBAAAA,CAAiBI,UAAAA,EACjBK,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BR,gBAAAA,CAAiBK,UAAAA,EACjBI,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BR,gBAAAA,CAAiBM,SAAAA,EACjBG,qBACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,gBAAgB;;CAqM3B,CAAC;AAEH,eAAO,MAAM,eAAe,QAAO,uBAElC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,oBAAoB,SAiCrE,CAAC"}
|