@velora-dex/widget 0.2.5-dev.13 → 0.2.5-dev.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/components/ui/badge.d.ts +1 -1
  2. package/dist/components/ui/button.d.ts +1 -1
  3. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  4. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  5. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +124 -69
  6. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  7. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  8. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +76 -54
  9. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  10. package/dist/components/widget/TradeOverview/Step/Step.d.ts.map +1 -1
  11. package/dist/components/widget/TradeOverview/Step/Step.js +122 -68
  12. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  13. package/dist/components/widget/TradeOverview/Stepper.d.ts.map +1 -1
  14. package/dist/components/widget/TradeOverview/Stepper.js +46 -26
  15. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  16. package/dist/components/widget/TradeOverview/TradeComplete/index.d.ts.map +1 -1
  17. package/dist/components/widget/TradeOverview/TradeComplete/index.js +15 -24
  18. package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
  19. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
  20. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +56 -47
  21. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  22. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  23. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +2 -2
  24. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  25. package/dist/components/widget/TradeOverview/TradeDetails.d.ts.map +1 -1
  26. package/dist/components/widget/TradeOverview/TradeDetails.js +143 -98
  27. package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
  28. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
  29. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +15 -11
  30. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  31. package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -1
  32. package/dist/components/widget/TradeOverview/TradeError/index.js +9 -20
  33. package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
  34. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  35. package/dist/components/widget/TradeOverview/TradeOverview.js +112 -57
  36. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  37. package/dist/components/widget/TradeOverview/motionProps.d.ts +20 -0
  38. package/dist/components/widget/TradeOverview/motionProps.d.ts.map +1 -0
  39. package/dist/components/widget/TradeOverview/motionProps.js +121 -0
  40. package/dist/components/widget/TradeOverview/motionProps.js.map +1 -0
  41. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +18 -0
  42. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -0
  43. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +74 -0
  44. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -0
  45. package/dist/core/across/{isCrosshcainPossible.d.ts → isCrosschainPossible.d.ts} +1 -1
  46. package/dist/core/across/{isCrosshcainPossible.d.ts.map → isCrosschainPossible.d.ts.map} +1 -1
  47. package/dist/core/across/{isCrosshcainPossible.js → isCrosschainPossible.js} +1 -1
  48. package/dist/core/across/{isCrosshcainPossible.js.map → isCrosschainPossible.js.map} +1 -1
  49. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -2
  50. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  51. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -61
  52. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  53. package/dist/core/constants.d.ts +1 -0
  54. package/dist/core/constants.d.ts.map +1 -1
  55. package/dist/core/constants.js +2 -1
  56. package/dist/core/constants.js.map +1 -1
  57. package/dist/core/index.js.map +1 -1
  58. package/dist/core/inputs/state/common.d.ts.map +1 -1
  59. package/dist/core/inputs/state/common.js +4 -6
  60. package/dist/core/inputs/state/common.js.map +1 -1
  61. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  62. package/dist/core/inputs/state/selectedTokenActionsAtom.js +18 -3
  63. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  64. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  65. package/dist/core/limit/state/selectedTokenActionsAtom.js +23 -6
  66. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  67. package/dist/core/limit/state/selectedTokenAtom.js +4 -4
  68. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  69. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  70. package/dist/core/limit/useLimitRate.js +25 -10
  71. package/dist/core/limit/useLimitRate.js.map +1 -1
  72. package/dist/core/limit/useLimitTokenSwitcherProps.d.ts.map +1 -1
  73. package/dist/core/limit/useLimitTokenSwitcherProps.js +26 -16
  74. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  75. package/dist/core/screen/state/screenAtom.d.ts.map +1 -1
  76. package/dist/core/screen/state/screenAtom.js +5 -0
  77. package/dist/core/screen/state/screenAtom.js.map +1 -1
  78. package/dist/hooks/otc/mutations/useFillOrder.js +2 -1
  79. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  80. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
  81. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +2 -2
  82. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
  83. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  84. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +3 -3
  85. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  86. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +2 -1
  87. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
  88. package/dist/hooks/swap/prices/delta/queries/utils.js +8 -1
  89. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -1
  90. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +3 -3
  91. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  92. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  93. package/dist/hooks/swap/tradeFlow/common/utils.js +4 -1
  94. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  95. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -1
  96. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  97. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +8 -3
  98. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  99. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +1 -0
  100. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  101. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +16 -14
  102. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  103. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +11 -1
  104. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  105. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +10 -5
  106. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  107. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +1 -0
  108. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
  109. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +12 -10
  110. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  111. package/dist/lib/web3/privy/config.js +1 -1
  112. package/dist/lib/web3/wagmi/config.js +1 -1
  113. package/dist/styles.css +29 -4
  114. package/package.json +3 -2
@@ -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 { 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 { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\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 { SwapTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\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\";\nimport { useScreen } from \"./screen/state/screenAtom\";\nimport { screenByType } from \"./screen/screenByType\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\nimport { useOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\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 <LimitReceiverAddress />\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 const excludeUI = useAtomValue(excludeUIAtom);\n const { screen } = useScreen();\n\n const SpecificScreen = screen?.screenType\n ? screenByType[screen.screenType]\n : null;\n\n const screenProps =\n screen?.screenType && screen?.screenProps\n ? screen.screenProps[screen.screenType]\n : {};\n\n return (\n <Containers>\n {SpecificScreen ? (\n <SecondaryScreenContainer>\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\n <SpecificScreen {...(screenProps as any)} />\n </SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\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 devURLs,\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 devURLs,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n ]);\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\n const containerRef = useRef<HTMLDivElement | null>(null);\n useOnClickOutside(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\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 {children}\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 swapSide: overrides.side,\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 LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\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 const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\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","excludeUI","useAtomValue","excludeUIAtom","screen","useScreen","SpecificScreen","screenType","screenByType","screenProps","includes","WidgetBase","config","_config","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","destChains","devURLs","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","containerRef","useRef","useOnClickOutside","widgetConfig","useWidgetConfig","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","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap","priceProps"],"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 { 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 { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\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 { SwapTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\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\";\nimport { useScreen } from \"./screen/state/screenAtom\";\nimport { screenByType } from \"./screen/screenByType\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\nimport { useOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\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 <LimitReceiverAddress />\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 const excludeUI = useAtomValue(excludeUIAtom);\n const { screen } = useScreen();\n\n const SpecificScreen = screen?.screenType\n ? screenByType[screen.screenType]\n : null;\n\n const screenProps =\n screen?.screenType && screen?.screenProps\n ? screen.screenProps[screen.screenType]\n : {};\n\n return (\n <Containers>\n {SpecificScreen ? (\n <SecondaryScreenContainer>\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\n <SpecificScreen {...(screenProps as any)} />\n </SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\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 devURLs,\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 devURLs,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n ]);\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\n const containerRef = useRef<HTMLDivElement | null>(null);\n useOnClickOutside(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\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 {children}\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 swapSide: overrides.side,\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 LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\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 const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\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","excludeUI","useAtomValue","excludeUIAtom","screen","useScreen","SpecificScreen","screenType","screenByType","screenProps","includes","WidgetBase","config","_config","provider","events","input","formInputProps","queryClient","useQueryClient","setWidgetConfig","useSetAtom","setWidgetConfigAtom","setSubConfig","setSubConfigAtom","destChains","devURLs","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","containerRef","useRef","useOnClickOutside","widgetConfig","useWidgetConfig","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","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap","priceProps"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAOjD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAU3C,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAInE;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,8BAA8B,EAAE,OAAO,CAAC,GACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAQF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,GAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAWF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,OAAO,GAAG,KAAK,EACf,OAAO,aAAa,CAAC,YAAY,CAIlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,qBAAqB,CAK7B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,SAAS,EACT,OAAO,8BAA8B,CAKtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,SAAS,EACT;IACE,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,gBAAgB,EAAE,OAAO,oBAAoB,CAAC;CAC/C,CAqBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,SAAS,EACT;IACE,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,WAAW,EAAE,OAAO,qBAAqB,CAAC;CAC3C,CAcF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAGhE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/common.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAWzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,8BAA8B,EAC/B,MAAM,yCAAyC,CAAC;AAOjD,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAUjD,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAKlD,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGzF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,gBAAgB,QAInE;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAC/C,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,8BAA8B,EAAE,OAAO,CAAC,GACzD,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAQF,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CACnD,SAAS,EACT;IACE,IAAI,EAAE,IAAI,CAAC,OAAO,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAClD,KAAK,EAAE,IAAI,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,GAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;CAC9C,CAWF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAC1C,OAAO,GAAG,KAAK,EACf,OAAO,aAAa,CAAC,YAAY,CAIlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,SAAS,EACT,OAAO,qBAAqB,CAK7B,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAClD,SAAS,EACT,OAAO,8BAA8B,CAKtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,SAAS,EACT;IACE,aAAa,EAAE,OAAO,iBAAiB,CAAC;IACxC,WAAW,EAAE,OAAO,eAAe,CAAC;IACpC,gBAAgB,EAAE,OAAO,oBAAoB,CAAC;CAC/C,CAkBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAC3C,SAAS,EACT;IACE,aAAa,EAAE,OAAO,uBAAuB,CAAC;IAC9C,WAAW,EAAE,OAAO,qBAAqB,CAAC;CAC3C,CAcF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAGhE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS;;;CAKnD,CAAC"}
@@ -7,7 +7,7 @@ import { syncOtcTokensAfterChainSwitch, otcTokenToAtom, otcTokenFromAtom } from
7
7
  import { payInputAmountAtom, receiveInputAmountAtom, payInputAmountWeiAtom, receiveInputAmountWeiAtom } from './inputAmountAtom.js';
8
8
  import { limitPayInputAmountAtom, limitReceiveInputAmountAtom, limitPayInputAmountWeiAtom, limitReceiveInputAmountWeiAtom } from '../../limit/state/limitInputAmountAtom.js';
9
9
  import { otcPayInputAmountAtom, otcReceiveInputAmountAtom, otcPayInputAmountWeiAtom, otcReceiveInputAmountWeiAtom } from '../../otc/state/otcInputAmountAtom.js';
10
- import 'jotai';
10
+ import { atom } from 'jotai';
11
11
  import { useAtomValue } from '../../store.js';
12
12
  import { selectLimitTokenToAtom, selectLimitTokenFromAtom } from '../../limit/state/selectedTokenActionsAtom.js';
13
13
  import { selectOtcTokenToAtom, selectOtcTokenFromAtom } from '../../otc/state/selectedTokenActionsAtom.js';
@@ -79,11 +79,9 @@ const tradeModeToTokenAtoms = {
79
79
  otc: {
80
80
  tokenFromAtom: otcTokenFromAtom,
81
81
  tokenToAtom: otcTokenToAtom,
82
- // mock Atom to appease TS
83
- isCrossChainAtom: {
84
- read: () => false,
85
- toString: () => "false"
86
- }
82
+ // unused const atom to appease TS
83
+ isCrossChainAtom: atom(() => false)
84
+ // always false
87
85
  }
88
86
  };
89
87
  const tradeModeToSetTokenAtoms = {
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n}\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n // mock Atom to appease TS\n isCrossChainAtom: {\n read: () => false,\n toString: () => \"false\",\n },\n },\n};\n\nexport const tradeModeToSetTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof selectSwapTokenFromAtom;\n tokenToAtom: typeof selectSwapTokenToAtom;\n }\n> = {\n swap: {\n tokenFromAtom: selectSwapTokenFromAtom,\n tokenToAtom: selectSwapTokenToAtom,\n },\n limit: {\n tokenFromAtom: selectLimitTokenFromAtom,\n tokenToAtom: selectLimitTokenToAtom,\n },\n otc: {\n tokenFromAtom: selectOtcTokenFromAtom,\n tokenToAtom: selectOtcTokenToAtom,\n },\n};\n\nexport const sideToInputType: Record<SwapSideUnion, \"from\" | \"to\"> = {\n SELL: \"from\",\n BUY: \"to\",\n};\n\nexport const useWidgetTokens = (tradeMode: TradeMode) => {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const tokenFrom = useAtomValue(tokenFromAtom);\n const tokenTo = useAtomValue(tokenToAtom);\n return { tokenFrom, tokenTo };\n};\n"],"names":["syncTokensAfterChainSwitch","chainId","syncSwapTokensAfterChainSwitch","syncLimitTokensAfterChainSwitch","syncOtcTokensAfterChainSwitch","tradeModeToPayAmountUnitAtom","swap","read","payInputAmountAtom","write","limit","limitPayInputAmountAtom","setLimitPayAmountAtomFromProps","otc","otcPayInputAmountAtom","setOtcPayAmountAtomFromProps","tradeModeToReceiveAmountUnitAtom","receiveInputAmountAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtomFromProps","otcReceiveInputAmountAtom","setOtcReceiveAmountAtomFromProps","tradeModeToTimeUnitAtom","limitDeadline","timeUnitAtom","otcDeadline","tradeModeToPayAmountWeiAtom","payInputAmountWeiAtom","limitPayInputAmountWeiAtom","otcPayInputAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","receiveInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","tradeModeToTokenAtoms","tokenFromAtom","swapTokenFromAtom","tokenToAtom","swapTokenToAtom","isCrossChainAtom","isSwapCrossChainAtom","limitTokenFromAtom","limitTokenToAtom","isLimitCrossChainAtom","otcTokenFromAtom","otcTokenToAtom","toString","tradeModeToSetTokenAtoms","selectSwapTokenFromAtom","selectSwapTokenToAtom","selectLimitTokenFromAtom","selectLimitTokenToAtom","selectOtcTokenFromAtom","selectOtcTokenToAtom","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sources":["../../../../src/core/inputs/state/common.ts"],"sourcesContent":["import {\n selectSwapTokenFromAtom,\n selectSwapTokenToAtom,\n syncSwapTokensAfterChainSwitch,\n} from \"./selectedTokenActionsAtom\";\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { syncLimitTokensAfterChainSwitch } from \"@/core/limit/state/selectedTokenAtom\";\nimport {\n limitTokenFromAtom,\n limitTokenToAtom,\n} from \"@/core/limit/state/limitTokenAtoms\";\nimport {\n otcTokenFromAtom,\n otcTokenToAtom,\n syncOtcTokensAfterChainSwitch,\n} from \"@/core/otc/state/selectedTokenAtom\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n payInputAmountAtom,\n payInputAmountWeiAtom,\n receiveInputAmountAtom,\n receiveInputAmountWeiAtom,\n} from \"./inputAmountAtom\";\nimport {\n limitPayInputAmountAtom,\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"@/core/limit/state/limitInputAmountAtom\";\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { atom, type PrimitiveAtom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"@/core/limit/state/selectedTokenActionsAtom\";\nimport {\n selectOtcTokenFromAtom,\n selectOtcTokenToAtom,\n} from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport {\n setLimitPayAmountAtomFromProps,\n setLimitReceiveAmountAtomFromProps,\n} from \"@/core/limit/state/limitInputActionsAtom\";\nimport {\n setOtcPayAmountAtomFromProps,\n setOtcReceiveAmountAtomFromProps,\n} from \"@/core/otc/state/otcInputActionsAtom\";\nimport * as limitDeadline from \"@/core/limit/state/deadlineAtom\";\nimport * as otcDeadline from \"@/core/otc/state/deadlineAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { isCrossChainAtom as isSwapCrossChainAtom } from \"@/core/state/isCrosschainAtom\";\nimport { isLimitCrossChainAtom } from \"@/core/limit/state/isCrosschainAtom\";\n\nexport function syncTokensAfterChainSwitch(chainId: SupportedChainId) {\n syncSwapTokensAfterChainSwitch(chainId);\n syncLimitTokensAfterChainSwitch(chainId);\n syncOtcTokensAfterChainSwitch(chainId);\n}\n\nexport const tradeModeToPayAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof payInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitPayAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: payInputAmountAtom, write: payInputAmountAtom },\n limit: {\n read: limitPayInputAmountAtom,\n write: setLimitPayAmountAtomFromProps,\n },\n otc: { read: otcPayInputAmountAtom, write: setOtcPayAmountAtomFromProps },\n};\n\nexport const tradeModeToReceiveAmountUnitAtom: Record<\n TradeMode,\n {\n read: Pick<typeof receiveInputAmountAtom, \"read\">;\n write: Pick<typeof setLimitReceiveAmountAtomFromProps, \"write\"> &\n Pick<PrimitiveAtom<string | null>, \"read\">;\n }\n> = {\n swap: { read: receiveInputAmountAtom, write: receiveInputAmountAtom },\n limit: {\n read: limitReceiveInputAmountAtom,\n write: setLimitReceiveAmountAtomFromProps,\n },\n otc: {\n read: otcReceiveInputAmountAtom,\n write: setOtcReceiveAmountAtomFromProps,\n },\n};\n\nexport const tradeModeToTimeUnitAtom: Record<\n \"limit\" | \"otc\",\n typeof limitDeadline.timeUnitAtom\n> = {\n limit: limitDeadline.timeUnitAtom,\n otc: otcDeadline.timeUnitAtom,\n};\n\nexport const tradeModeToPayAmountWeiAtom: Record<\n TradeMode,\n typeof payInputAmountWeiAtom\n> = {\n swap: payInputAmountWeiAtom,\n limit: limitPayInputAmountWeiAtom,\n otc: otcPayInputAmountWeiAtom,\n};\n\nexport const tradeModeToReceiveAmountWeiAtom: Record<\n TradeMode,\n typeof limitReceiveInputAmountWeiAtom\n> = {\n swap: receiveInputAmountWeiAtom,\n limit: limitReceiveInputAmountWeiAtom,\n otc: otcReceiveInputAmountWeiAtom,\n};\n\nexport const tradeModeToTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof swapTokenFromAtom;\n tokenToAtom: typeof swapTokenToAtom;\n isCrossChainAtom: typeof isSwapCrossChainAtom;\n }\n> = {\n swap: {\n tokenFromAtom: swapTokenFromAtom,\n tokenToAtom: swapTokenToAtom,\n isCrossChainAtom: isSwapCrossChainAtom,\n },\n limit: {\n tokenFromAtom: limitTokenFromAtom,\n tokenToAtom: limitTokenToAtom,\n isCrossChainAtom: isLimitCrossChainAtom,\n },\n otc: {\n tokenFromAtom: otcTokenFromAtom,\n tokenToAtom: otcTokenToAtom,\n // unused const atom to appease TS\n isCrossChainAtom: atom(() => false), // always false\n },\n};\n\nexport const tradeModeToSetTokenAtoms: Record<\n TradeMode,\n {\n tokenFromAtom: typeof selectSwapTokenFromAtom;\n tokenToAtom: typeof selectSwapTokenToAtom;\n }\n> = {\n swap: {\n tokenFromAtom: selectSwapTokenFromAtom,\n tokenToAtom: selectSwapTokenToAtom,\n },\n limit: {\n tokenFromAtom: selectLimitTokenFromAtom,\n tokenToAtom: selectLimitTokenToAtom,\n },\n otc: {\n tokenFromAtom: selectOtcTokenFromAtom,\n tokenToAtom: selectOtcTokenToAtom,\n },\n};\n\nexport const sideToInputType: Record<SwapSideUnion, \"from\" | \"to\"> = {\n SELL: \"from\",\n BUY: \"to\",\n};\n\nexport const useWidgetTokens = (tradeMode: TradeMode) => {\n const { tokenFromAtom, tokenToAtom } = tradeModeToTokenAtoms[tradeMode];\n const tokenFrom = useAtomValue(tokenFromAtom);\n const tokenTo = useAtomValue(tokenToAtom);\n return { tokenFrom, tokenTo };\n};\n"],"names":["syncTokensAfterChainSwitch","chainId","syncSwapTokensAfterChainSwitch","syncLimitTokensAfterChainSwitch","syncOtcTokensAfterChainSwitch","tradeModeToPayAmountUnitAtom","swap","read","payInputAmountAtom","write","limit","limitPayInputAmountAtom","setLimitPayAmountAtomFromProps","otc","otcPayInputAmountAtom","setOtcPayAmountAtomFromProps","tradeModeToReceiveAmountUnitAtom","receiveInputAmountAtom","limitReceiveInputAmountAtom","setLimitReceiveAmountAtomFromProps","otcReceiveInputAmountAtom","setOtcReceiveAmountAtomFromProps","tradeModeToTimeUnitAtom","limitDeadline","timeUnitAtom","otcDeadline","tradeModeToPayAmountWeiAtom","payInputAmountWeiAtom","limitPayInputAmountWeiAtom","otcPayInputAmountWeiAtom","tradeModeToReceiveAmountWeiAtom","receiveInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","tradeModeToTokenAtoms","tokenFromAtom","swapTokenFromAtom","tokenToAtom","swapTokenToAtom","isCrossChainAtom","isSwapCrossChainAtom","limitTokenFromAtom","limitTokenToAtom","isLimitCrossChainAtom","otcTokenFromAtom","otcTokenToAtom","atom","tradeModeToSetTokenAtoms","selectSwapTokenFromAtom","selectSwapTokenToAtom","selectLimitTokenFromAtom","selectLimitTokenToAtom","selectOtcTokenFromAtom","selectOtcTokenToAtom","sideToInputType","SELL","BUY","useWidgetTokens","tradeMode","$","_c","tokenFrom","useAtomValue","tokenTo","t0"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,eAAO,MAAM,oBAAoB;;CAyF/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAuEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CAyGjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SAoEvE,CAAC"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAOlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAS/D,eAAO,MAAM,oBAAoB;;CAyF/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;CAuEnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;CA0HjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,gBAAgB,SAoEvE,CAAC"}
@@ -10,7 +10,7 @@ import { allTokensByChainAtom } from '../../../tokens/state/allTokensByChainAtom
10
10
  import { enabledSrcChainsAtom } from '../../state/enabledChainsAtom.js';
11
11
  import { switchChain } from '../../../lib/web3/wagmi/switchChain.js';
12
12
  import { getSelectableDestChains } from '../../state/getSelectableDestChains.js';
13
- import { isCrosschainPossible } from '../../across/isCrosshcainPossible.js';
13
+ import { isCrosschainPossible } from '../../across/isCrosschainPossible.js';
14
14
 
15
15
  const switchSwapTokensAtom = atom(null, (get, set) => {
16
16
  const tokenFrom = get(swapTokenFromAtom);
@@ -170,8 +170,23 @@ const selectSwapTokenToAtom = atom(null, async (get, set, newTokenTo) => {
170
170
  needResetTokenFrom = true;
171
171
  }
172
172
  const enabledSrcChains = get(enabledSrcChainsAtom);
173
- if (needResetTokenFrom && enabledSrcChains.includes(tokenTo.network)) {
174
- const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(tokenTo.network, "swap");
173
+ if (needResetTokenFrom) {
174
+ let firstPossibleSrcChain = tokenTo.network;
175
+ if (!enabledSrcChains.includes(tokenTo.network)) {
176
+ for (const srcChain of enabledSrcChains) {
177
+ const crosschainPossible2 = isCrosschainPossible({
178
+ get,
179
+ chainIdFrom: srcChain,
180
+ chainIdTo: tokenTo.network,
181
+ mode: "swap"
182
+ });
183
+ if (crosschainPossible2) {
184
+ firstPossibleSrcChain = srcChain;
185
+ break;
186
+ }
187
+ }
188
+ }
189
+ const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(firstPossibleSrcChain, "swap");
175
190
  const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom) ? defaultTokenTo : defaultTokenFrom;
176
191
  set(swapTokenFromAtom, newTokenFrom);
177
192
  tokenFrom = newTokenFrom;
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\n\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { setSwapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeActionsAtom\";\nimport { jotaiStore } from \"../../store\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosshcainPossible\";\n\nexport const switchSwapTokensAtom = atom(null, (get, set) => {\n const tokenFrom = get(swapTokenFromAtom);\n const tokenTo = get(swapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n // switch a token from a different chain?\n if (tokenFrom.network !== tokenTo.network) {\n // switch chain first\n switchChain({\n chainId: tokenTo.network,\n });\n }\n\n const newTokenFrom = tokenTo; // tokenTo will go into from position\n let newTokenTo: Token | undefined = tokenFrom; // tentatively consider that tokenFrom is now in to position\n\n // now we need to figure out what token should be in to position in the end\n\n const crosschainPossible = isCrosschainPossible({\n get,\n // tokenTo is now is from position\n chainIdFrom: newTokenFrom.network,\n // considering tokenFrom in to position, is crosschain possible?\n chainIdTo: newTokenTo.network,\n mode: \"swap\",\n });\n\n // in principle, crosschain is possible for token networks\n if (crosschainPossible) {\n const newTokenToIsFromAcross = isTokenFromAcross({\n // is the new tokenTo an Across token?\n token: newTokenTo,\n // chain of the new tokenFrom\n fromChainId: newTokenFrom.network,\n // chain of the new tokenTo\n toChainId: newTokenTo.network,\n mode: \"swap\",\n });\n\n // newTokenTo is crossable and different from newTokenFrom\n if (newTokenToIsFromAcross && !areTokensSame(newTokenTo, newTokenFrom)) {\n // can use newTokenTo in to position because it's an Across token\n // no changes needed\n } else {\n // otherwise, we either set tokenTo to the first Across token,\n // or reset tokenTo (set(undefined))\n const maybeAcrossToken = findFirstTokenFromAcross({\n // chain of the new tokenFrom\n fromChainId: newTokenFrom.network,\n // chain of the new tokenTo\n toChainId: newTokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"swap\",\n });\n newTokenTo = maybeAcrossToken;\n }\n } else {\n // crosschain is not possible or we had single-chain from the start\n\n // find default tokens for the new tokenFrom network\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenFrom.network, // chain of the new tokenFrom\n \"swap\"\n );\n\n // crosschain is not possible for the chain pair,\n // but tokens are from different chains from the start\n if (newTokenFrom.network !== newTokenTo.network) {\n // if cross-chain, then we can't use newTokenTo, so pick from defaults\n newTokenTo = areTokensSame(newTokenFrom, defaultTokenTo)\n ? // taking care that we don't get newTokenTo==newTokenFrom\n defaultTokenFrom\n : defaultTokenTo;\n } else {\n // tokens already from same chain, we set either newTokenTo or defaultTokenFrom as tokenTo\n newTokenTo = areTokensSame(newTokenFrom, newTokenTo)\n ? // taking care that we don't get newTokenTo==newTokenFrom\n defaultTokenTo\n : newTokenTo;\n }\n }\n\n // finally set the tokens\n set(swapTokenFromAtom, newTokenFrom);\n set(swapTokenToAtom, newTokenTo);\n});\n\nexport const selectSwapTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(newTokenFrom.network)) return;\n\n const tokenFrom = get(swapTokenFromAtom);\n const tokenTo = get(swapTokenToAtom);\n\n // selecting a token from a different chain?\n if (newTokenFrom.network !== wagmiConfig.state.chainId) {\n // switch chain first\n switchChain({\n chainId: newTokenFrom.network,\n });\n }\n\n // then set the tokenFrom\n set(swapTokenFromAtom, newTokenFrom);\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: newTokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"swap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"swap\",\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"swap\",\n });\n\n set(swapTokenToAtom, maybeAcrossToken);\n }\n } else {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenFrom.network,\n \"swap\"\n );\n\n // cross-chain not possible between new chainFrom and chainTo,\n // so need to reset tokenTo to default\n if (newTokenFrom.network !== tokenTo.network) {\n const newTokenTo = areTokensSame(newTokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(swapTokenToAtom, newTokenTo);\n } else {\n // or simply flip the tokens if they are from the same chain\n if (areTokensSame(newTokenFrom, tokenTo)) {\n set(swapTokenToAtom, tokenFrom);\n }\n // otherwise do nothing, tokenTo is already on the same chain and different from newTokenFrom\n }\n }\n }\n);\n\nexport const selectSwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(swapTokenFromAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"swap\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n const newTokenToNetwork = newTokenTo.network;\n\n let tokenTo = get(swapTokenToAtom);\n\n if (areTokensSame(newTokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenToNetwork,\n \"swap\"\n );\n\n const fromDefaults = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n // Will be true if crosschain tokens were selected\n const wasCrosschain = tokenTo && tokenFrom.network !== tokenTo?.network;\n\n const newTokenFrom = wasCrosschain\n ? // We cannot flip the tokens if switching from the crosschain, because if we do, we will end up with tokenFrom network different from app chainId.\n // Switching app chainId when selecting tokenTo is not what we want, because we cannot dictate the main network when selecting tokenTo.\n // Maybe user wants to trade singlechain but we are forcing crosschain.\n fromDefaults\n : // Otherwise, we can flip the tokens, or pick from defaults\n (tokenTo ?? fromDefaults);\n\n set(swapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n set(swapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n // after switching we may have ended up with a crosschain pair,\n // but tokenTo may not be crossable depending on srcChainId;\n // this can easily happen if tokenTo was set from WidgetProps\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"swap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"swap\",\n });\n\n if (!isTokenToFromAcross) {\n // tokenFrom -> tokenTo is crosschain, but tokenTo can't be destToken for that chain\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n // tokenFrom -> tokenTo is crosschain, but delta is explicitly disabled,\n needResetTokenFrom = true;\n }\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom && enabledSrcChains.includes(tokenTo.network)) {\n // set the tokenFrom to default token from tokenTo.network\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"swap\"\n );\n // make sure it's not the same as tokenTo\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(swapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // crosschain? set SwapMode to Delta\n if (tokenFrom.network !== tokenTo.network) {\n // if delta is explicitly disabled, it won't be set\n set(setSwapModeAtom, \"delta\");\n }\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n // request wallet chain switch (non-blocking)\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncSwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n const tokenFrom = jotaiStore.get(swapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"swap\"\n );\n\n // reassignment for clarity\n const newTokenFrom = defaultTokenFrom;\n\n // update tokenFrom\n jotaiStore.set(swapTokenFromAtom, newTokenFrom);\n\n const tokenTo = jotaiStore.get(swapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"swap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"swap\",\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"swap\",\n });\n\n jotaiStore.set(swapTokenToAtom, maybeAcrossToken);\n }\n\n jotaiStore.set(setSwapModeAtom, \"delta\");\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: newTokenFrom.network,\n mode: \"swap\",\n });\n if (selectableDestChains.includes(chainId)) {\n // can do single-chain on the new chain, set defaults\n jotaiStore.set(swapTokenToAtom, defaultTokenTo);\n } else {\n // avoid complexity and reset tokenTo\n jotaiStore.set(swapTokenToAtom, undefined);\n }\n }\n};\n"],"names":["switchSwapTokensAtom","atom","get","set","tokenFrom","swapTokenFromAtom","tokenTo","swapTokenToAtom","enabledSrcChains","enabledSrcChainsAtom","includes","network","switchChain","chainId","newTokenFrom","newTokenTo","crosschainPossible","isCrosschainPossible","chainIdFrom","chainIdTo","mode","newTokenToIsFromAcross","isTokenFromAcross","token","fromChainId","toChainId","areTokensSame","maybeAcrossToken","findFirstTokenFromAcross","listByChainId","allTokensByChainAtom","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","selectSwapTokenFromAtom","wagmiConfig","state","isTokenToFromAcross","selectSwapTokenToAtom","selectableDestChains","getSelectableDestChains","newTokenToNetwork","fromDefaults","wasCrosschain","needResetTokenFrom","setSwapModeAtom","syncSwapTokensAfterChainSwitch","jotaiStore","undefined"],"mappings":"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"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.js","sources":["../../../../src/core/inputs/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\n\nimport { swapTokenFromAtom, swapTokenToAtom } from \"./selectedTokenAtom\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { setSwapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeActionsAtom\";\nimport { jotaiStore } from \"../../store\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\n\nexport const switchSwapTokensAtom = atom(null, (get, set) => {\n const tokenFrom = get(swapTokenFromAtom);\n const tokenTo = get(swapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n // switch a token from a different chain?\n if (tokenFrom.network !== tokenTo.network) {\n // switch chain first\n switchChain({\n chainId: tokenTo.network,\n });\n }\n\n const newTokenFrom = tokenTo; // tokenTo will go into from position\n let newTokenTo: Token | undefined = tokenFrom; // tentatively consider that tokenFrom is now in to position\n\n // now we need to figure out what token should be in to position in the end\n\n const crosschainPossible = isCrosschainPossible({\n get,\n // tokenTo is now is from position\n chainIdFrom: newTokenFrom.network,\n // considering tokenFrom in to position, is crosschain possible?\n chainIdTo: newTokenTo.network,\n mode: \"swap\",\n });\n\n // in principle, crosschain is possible for token networks\n if (crosschainPossible) {\n const newTokenToIsFromAcross = isTokenFromAcross({\n // is the new tokenTo an Across token?\n token: newTokenTo,\n // chain of the new tokenFrom\n fromChainId: newTokenFrom.network,\n // chain of the new tokenTo\n toChainId: newTokenTo.network,\n mode: \"swap\",\n });\n\n // newTokenTo is crossable and different from newTokenFrom\n if (newTokenToIsFromAcross && !areTokensSame(newTokenTo, newTokenFrom)) {\n // can use newTokenTo in to position because it's an Across token\n // no changes needed\n } else {\n // otherwise, we either set tokenTo to the first Across token,\n // or reset tokenTo (set(undefined))\n const maybeAcrossToken = findFirstTokenFromAcross({\n // chain of the new tokenFrom\n fromChainId: newTokenFrom.network,\n // chain of the new tokenTo\n toChainId: newTokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"swap\",\n });\n newTokenTo = maybeAcrossToken;\n }\n } else {\n // crosschain is not possible or we had single-chain from the start\n\n // find default tokens for the new tokenFrom network\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenFrom.network, // chain of the new tokenFrom\n \"swap\"\n );\n\n // crosschain is not possible for the chain pair,\n // but tokens are from different chains from the start\n if (newTokenFrom.network !== newTokenTo.network) {\n // if cross-chain, then we can't use newTokenTo, so pick from defaults\n newTokenTo = areTokensSame(newTokenFrom, defaultTokenTo)\n ? // taking care that we don't get newTokenTo==newTokenFrom\n defaultTokenFrom\n : defaultTokenTo;\n } else {\n // tokens already from same chain, we set either newTokenTo or defaultTokenFrom as tokenTo\n newTokenTo = areTokensSame(newTokenFrom, newTokenTo)\n ? // taking care that we don't get newTokenTo==newTokenFrom\n defaultTokenTo\n : newTokenTo;\n }\n }\n\n // finally set the tokens\n set(swapTokenFromAtom, newTokenFrom);\n set(swapTokenToAtom, newTokenTo);\n});\n\nexport const selectSwapTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(newTokenFrom.network)) return;\n\n const tokenFrom = get(swapTokenFromAtom);\n const tokenTo = get(swapTokenToAtom);\n\n // selecting a token from a different chain?\n if (newTokenFrom.network !== wagmiConfig.state.chainId) {\n // switch chain first\n switchChain({\n chainId: newTokenFrom.network,\n });\n }\n\n // then set the tokenFrom\n set(swapTokenFromAtom, newTokenFrom);\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: newTokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"swap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"swap\",\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: newTokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"swap\",\n });\n\n set(swapTokenToAtom, maybeAcrossToken);\n }\n } else {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenFrom.network,\n \"swap\"\n );\n\n // cross-chain not possible between new chainFrom and chainTo,\n // so need to reset tokenTo to default\n if (newTokenFrom.network !== tokenTo.network) {\n const newTokenTo = areTokensSame(newTokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(swapTokenToAtom, newTokenTo);\n } else {\n // or simply flip the tokens if they are from the same chain\n if (areTokensSame(newTokenFrom, tokenTo)) {\n set(swapTokenToAtom, tokenFrom);\n }\n // otherwise do nothing, tokenTo is already on the same chain and different from newTokenFrom\n }\n }\n }\n);\n\nexport const selectSwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(swapTokenFromAtom);\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"swap\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n const newTokenToNetwork = newTokenTo.network;\n\n let tokenTo = get(swapTokenToAtom);\n\n if (areTokensSame(newTokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n newTokenToNetwork,\n \"swap\"\n );\n\n const fromDefaults = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n // Will be true if crosschain tokens were selected\n const wasCrosschain = tokenTo && tokenFrom.network !== tokenTo?.network;\n\n const newTokenFrom = wasCrosschain\n ? // We cannot flip the tokens if switching from the crosschain, because if we do, we will end up with tokenFrom network different from app chainId.\n // Switching app chainId when selecting tokenTo is not what we want, because we cannot dictate the main network when selecting tokenTo.\n // Maybe user wants to trade singlechain but we are forcing crosschain.\n fromDefaults\n : // Otherwise, we can flip the tokens, or pick from defaults\n (tokenTo ?? fromDefaults);\n\n set(swapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n set(swapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n // after switching we may have ended up with a crosschain pair,\n // but tokenTo may not be crossable depending on srcChainId;\n // this can easily happen if tokenTo was set from WidgetProps\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"swap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"swap\",\n });\n\n if (!isTokenToFromAcross) {\n // tokenFrom -> tokenTo is crosschain, but tokenTo can't be destToken for that chain\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n // tokenFrom -> tokenTo is crosschain, but delta is explicitly disabled,\n needResetTokenFrom = true;\n }\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n // if tokenTo.network can't be srcChain, find the first possible srcChain\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"swap\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n\n // set the tokenFrom to default token from tokenTo.network\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"swap\"\n );\n // make sure it's not the same as tokenTo\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(swapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // crosschain? set SwapMode to Delta\n if (tokenFrom.network !== tokenTo.network) {\n // if delta is explicitly disabled, it won't be set\n set(setSwapModeAtom, \"delta\");\n }\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n // request wallet chain switch (non-blocking)\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncSwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n const tokenFrom = jotaiStore.get(swapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"swap\"\n );\n\n // reassignment for clarity\n const newTokenFrom = defaultTokenFrom;\n\n // update tokenFrom\n jotaiStore.set(swapTokenFromAtom, newTokenFrom);\n\n const tokenTo = jotaiStore.get(swapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"swap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"swap\",\n });\n\n if (!isTokenToFromAcross) {\n // set the token from across as tokenTo,\n // or reset tokenTo if token not found\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"swap\",\n });\n\n jotaiStore.set(swapTokenToAtom, maybeAcrossToken);\n }\n\n jotaiStore.set(setSwapModeAtom, \"delta\");\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: newTokenFrom.network,\n mode: \"swap\",\n });\n if (selectableDestChains.includes(chainId)) {\n // can do single-chain on the new chain, set defaults\n jotaiStore.set(swapTokenToAtom, defaultTokenTo);\n } else {\n // avoid complexity and reset tokenTo\n jotaiStore.set(swapTokenToAtom, undefined);\n }\n }\n};\n"],"names":["switchSwapTokensAtom","atom","get","set","tokenFrom","swapTokenFromAtom","tokenTo","swapTokenToAtom","enabledSrcChains","enabledSrcChainsAtom","includes","network","switchChain","chainId","newTokenFrom","newTokenTo","crosschainPossible","isCrosschainPossible","chainIdFrom","chainIdTo","mode","newTokenToIsFromAcross","isTokenFromAcross","token","fromChainId","toChainId","areTokensSame","maybeAcrossToken","findFirstTokenFromAcross","listByChainId","allTokensByChainAtom","defaultTokenFrom","defaultTokenTo","pickDefaultTokenPair","selectSwapTokenFromAtom","wagmiConfig","state","isTokenToFromAcross","selectSwapTokenToAtom","selectableDestChains","getSelectableDestChains","newTokenToNetwork","fromDefaults","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","setSwapModeAtom","syncSwapTokensAfterChainSwitch","jotaiStore","undefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAYlD,eAAO,MAAM,qBAAqB;;CAwBhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;CA2EpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAuGlC,CAAC"}
1
+ {"version":3,"file":"selectedTokenActionsAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/limit/state/selectedTokenActionsAtom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAYlD,eAAO,MAAM,qBAAqB;;CA2BhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;CA2EpC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;CAuHlC,CAAC"}