@velora-dex/widget 0.3.10 → 0.3.11-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +7 -4
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +361 -136
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +2 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +48 -36
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts +3 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/types.d.ts.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +2 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +57 -108
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts +3 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js +71 -0
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts +5 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js +48 -0
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts +7 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js +46 -0
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -0
- package/dist/components/widget/NetworkSwitcher/types.d.ts +12 -2
- package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.d.ts +3 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.d.ts.map +1 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.js +63 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -0
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +2 -1
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.d.ts +6 -2
- package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js +112 -33
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +100 -73
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SelectToken/types.d.ts +3 -0
- package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/InputContainer.d.ts +3 -0
- package/dist/components/widget/TokenInput/InputContainer.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputContainer.js +54 -0
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -0
- package/dist/components/widget/TokenInput/InputField.d.ts +6 -0
- package/dist/components/widget/TokenInput/InputField.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputField.js +84 -0
- package/dist/components/widget/TokenInput/InputField.js.map +1 -0
- package/dist/components/widget/TokenInput/InputFooter.d.ts +5 -0
- package/dist/components/widget/TokenInput/InputFooter.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputFooter.js +206 -0
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -0
- package/dist/components/widget/TokenInput/InputHeader.d.ts +5 -0
- package/dist/components/widget/TokenInput/InputHeader.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/InputHeader.js +58 -0
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -0
- package/dist/components/widget/TokenInput/common/Balance.d.ts +3 -0
- package/dist/components/widget/TokenInput/common/Balance.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/common/Balance.js +23 -0
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.d.ts +3 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.js +37 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -0
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +125 -147
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenInput/types.d.ts +6 -1
- package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
- package/dist/core/constants.d.ts +4 -1
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +4 -1
- package/dist/core/constants.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts +2 -7
- package/dist/core/inputs/hooks/useMaxButtonProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js +17 -6
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.d.ts +2 -0
- package/dist/core/screen/hooks/useResizeObserver.d.ts.map +1 -0
- package/dist/core/screen/hooks/useResizeObserver.js +36 -0
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -0
- package/dist/core/state/chainToAtom.d.ts +4 -4
- package/dist/core/state/configAtom.d.ts +2 -2
- package/dist/core/state/containerAtom.d.ts +3 -0
- package/dist/core/state/containerAtom.d.ts.map +1 -1
- package/dist/core/state/containerAtom.js +2 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.d.ts +9 -9
- package/dist/hooks/gas/config.js +2 -1
- package/dist/hooks/gas/config.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +2 -2
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -2
- package/dist/hooks/swap/prices/usePricesParams.js +0 -5
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/useBreakpoints.d.ts +4 -0
- package/dist/hooks/useBreakpoints.d.ts.map +1 -0
- package/dist/hooks/useBreakpoints.js +24 -0
- package/dist/hooks/useBreakpoints.js.map +1 -0
- package/dist/hooks/useSelectableDestChains.d.ts +1 -1
- package/dist/lib/constants/delta.d.ts +1 -1
- package/dist/lib/constants/delta.js +2 -1
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/mobile.d.ts +2 -0
- package/dist/lib/constants/mobile.d.ts.map +1 -0
- package/dist/lib/constants/mobile.js +6 -0
- package/dist/lib/constants/mobile.js.map +1 -0
- package/dist/lib/constants/otc.js +2 -1
- package/dist/lib/constants/otc.js.map +1 -1
- package/dist/lib/constants/weth.js +2 -1
- package/dist/lib/constants/weth.js.map +1 -1
- package/dist/lib/utils/mobile.d.ts +6 -0
- package/dist/lib/utils/mobile.d.ts.map +1 -0
- package/dist/lib/utils/mobile.js +10 -0
- package/dist/lib/utils/mobile.js.map +1 -0
- package/dist/lib/web3/wagmi/config.d.ts +46 -46
- package/dist/lib/web3/wagmi/constants.d.ts +45 -45
- package/dist/lib/web3/wagmi/constants.js +2 -1
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/supportedChains.d.ts +379 -1
- package/dist/lib/web3/wagmi/supportedChains.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/supportedChains.js +18 -0
- package/dist/lib/web3/wagmi/supportedChains.js.map +1 -0
- package/dist/lib/web3/wagmi/switchChain.d.ts +177 -177
- package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/transports.js +2 -1
- package/dist/lib/web3/wagmi/transports.js.map +1 -1
- package/dist/styles.css +45 -14
- package/dist/tokens/constants.js +2 -1
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/defaultTokens.js +2 -1
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +4 -4
- package/package.json +2 -1
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { 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, type TradeMode } 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 { SwapWidgetWarning, 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 { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\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 tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</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 const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\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 <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(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 disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\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\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\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={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\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","tradeModeToScreen","swap","limit","otc","MainScreen","tradeMode","useTradeMode","TradeModeScreen","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","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","isDappMode","reconnectOnMountInit","useInitialValue","t18","t19","t20","t21","t22","import","t23","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","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","className","disabled","labelOverride","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","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, type TradeMode } 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 { SwapWidgetWarning, 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 { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\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 tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</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 const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\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 <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(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 disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\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\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\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={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\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","tradeModeToScreen","swap","limit","otc","MainScreen","tradeMode","useTradeMode","TradeModeScreen","App","excludeUI","useAtomValue","excludeUIAtom","screenElement","useScreenValue","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","isDappMode","reconnectOnMountInit","useInitialValue","t18","t19","t20","t21","t22","import","t23","Widget","Containers","children","setContainerElement","containerAtom","containerRef","useRef","useCloseScreenOnClickOutside","useResizeObserver","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","className","disabled","labelOverride","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","swapReceiverAddressProps","useSwapReceiverAddress","OtcReceiverAddress","otcReceiverAddressProps","useOtcReceiverAddress","LimitReceiverAddress","limitReceiverAddressProps","useLimitReceiverAddress","swapModeSwitcherClasses","SwapModeSwitcher","enabled","delta","market","useSwapPrices","canBeUsed","isBridgePrice","SwapButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","marketPrice","shouldWrap","priceProps"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TokenInputProps } from '../../../components/widget/TokenInput/types';
|
|
1
2
|
import { ConsolidatedGasPrices } from '../../../hooks/gas/types';
|
|
2
3
|
import { Token } from '../../../tokens/state/types';
|
|
3
4
|
type ConstructMaxButtonPropsInput = {
|
|
@@ -8,12 +9,6 @@ type ConstructMaxButtonPropsInput = {
|
|
|
8
9
|
onClick: (balanceUnit: string) => void;
|
|
9
10
|
isAccountSmartContract: boolean;
|
|
10
11
|
};
|
|
11
|
-
export declare const useMaxButtonPropsBase: ({ tokenFrom, onClick, gasLimit, }: Pick<ConstructMaxButtonPropsInput, "tokenFrom" | "onClick" | "gasLimit">) =>
|
|
12
|
-
showMaxButton: boolean;
|
|
13
|
-
onMaxClick?: undefined;
|
|
14
|
-
} | {
|
|
15
|
-
showMaxButton: boolean;
|
|
16
|
-
onMaxClick: () => void;
|
|
17
|
-
};
|
|
12
|
+
export declare const useMaxButtonPropsBase: ({ tokenFrom, onClick, gasLimit, }: Pick<ConstructMaxButtonPropsInput, "tokenFrom" | "onClick" | "gasLimit">) => Pick<TokenInputProps, "showMaxButton" | "maxButtonOptions">;
|
|
18
13
|
export {};
|
|
19
14
|
//# sourceMappingURL=useMaxButtonProps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMaxButtonProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMaxButtonProps.d.ts","sourceRoot":"","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAqDlD,KAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sBAAsB,EAAE,OAAO,CAAC;CACjC,CAAC;AAyDF,eAAO,MAAM,qBAAqB,GAAI,mCAInC,IAAI,CACL,4BAA4B,EAC5B,WAAW,GAAG,SAAS,GAAG,UAAU,CACrC,gEAkBA,CAAC"}
|
|
@@ -18,6 +18,21 @@ function deductGasFeeFromETH({
|
|
|
18
18
|
const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);
|
|
19
19
|
return withDeductedGas.toString();
|
|
20
20
|
}
|
|
21
|
+
function produceButtonVariants(onClick, balanceUnit) {
|
|
22
|
+
return [{
|
|
23
|
+
variant: "25%",
|
|
24
|
+
onClick: () => onClick(Big(balanceUnit).mul(0.25).toString())
|
|
25
|
+
}, {
|
|
26
|
+
variant: "50%",
|
|
27
|
+
onClick: () => onClick(Big(balanceUnit).mul(0.5).toString())
|
|
28
|
+
}, {
|
|
29
|
+
variant: "75%",
|
|
30
|
+
onClick: () => onClick(Big(balanceUnit).mul(0.75).toString())
|
|
31
|
+
}, {
|
|
32
|
+
variant: "MAX",
|
|
33
|
+
onClick: () => onClick(balanceUnit)
|
|
34
|
+
}];
|
|
35
|
+
}
|
|
21
36
|
function constructMaxButtonProps({
|
|
22
37
|
tokenFrom,
|
|
23
38
|
balanceUnit,
|
|
@@ -32,9 +47,7 @@ function constructMaxButtonProps({
|
|
|
32
47
|
};
|
|
33
48
|
if (!isETH(tokenFrom) || isAccountSmartContract) return {
|
|
34
49
|
showMaxButton: hasBalance,
|
|
35
|
-
|
|
36
|
-
onClick(balanceUnit);
|
|
37
|
-
}
|
|
50
|
+
maxButtonOptions: produceButtonVariants(onClick, balanceUnit)
|
|
38
51
|
};
|
|
39
52
|
const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;
|
|
40
53
|
if (!gasPriceMultiplierGwei) return {
|
|
@@ -50,9 +63,7 @@ function constructMaxButtonProps({
|
|
|
50
63
|
};
|
|
51
64
|
return {
|
|
52
65
|
showMaxButton: true,
|
|
53
|
-
|
|
54
|
-
onClick(maxAvailableBalance);
|
|
55
|
-
}
|
|
66
|
+
maxButtonOptions: produceButtonVariants(onClick, maxAvailableBalance)
|
|
56
67
|
};
|
|
57
68
|
}
|
|
58
69
|
const useMaxButtonPropsBase = (t0) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMaxButtonProps.js","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplierGwei: number; // gas price in Gwei\n gasLimit: number; // number of gas units\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;\n // Calculate gas cost in ETH:\n // gasLimit * gasPriceInGwei = gas cost in Gwei\n // gas cost in Gwei / 1e9 = gas cost in ETH (since 1 Gwei = 10^-9 ETH)\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toString();\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n isAccountSmartContract: boolean;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract,\n}: ConstructMaxButtonPropsInput) {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token, or in case of native ETH SmartContract isn't the one paying gas fees\n if (!isETH(tokenFrom) || isAccountSmartContract)\n return {\n showMaxButton: hasBalance,\n
|
|
1
|
+
{"version":3,"file":"useMaxButtonProps.js","sources":["../../../../src/core/inputs/hooks/useMaxButtonProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport type { ConsolidatedGasPrices } from \"@/hooks/gas/types\";\nimport { useGasPrices } from \"@/hooks/gas/useGasPrices\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport Big from \"big.js\";\n\nfunction deductGasFeeFromETH({\n ethAmountUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n}: {\n ethAmountUnit: string;\n gasPriceMultiplierGwei: number; // gas price in Gwei\n gasLimit: number; // number of gas units\n}) {\n // guard against missing or invalid data\n if (!gasPriceMultiplierGwei || !gasLimit) return ethAmountUnit;\n // Calculate gas cost in ETH:\n // gasLimit * gasPriceInGwei = gas cost in Gwei\n // gas cost in Gwei / 1e9 = gas cost in ETH (since 1 Gwei = 10^-9 ETH)\n const gasFeeETH = Big(gasLimit).mul(gasPriceMultiplierGwei).div(1e9);\n\n const ethAmountUnitBig = Big(ethAmountUnit);\n // guard against negative amount\n if (ethAmountUnitBig.lte(gasFeeETH)) return \"0\";\n\n const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);\n return withDeductedGas.toString();\n}\n\nfunction produceButtonVariants(\n onClick: (balanceUnit: string) => void,\n balanceUnit: string\n): TokenInputProps[\"maxButtonOptions\"] {\n return [\n {\n variant: \"25%\",\n onClick: () => onClick(Big(balanceUnit).mul(0.25).toString()),\n },\n {\n variant: \"50%\",\n onClick: () => onClick(Big(balanceUnit).mul(0.5).toString()),\n },\n {\n variant: \"75%\",\n onClick: () => onClick(Big(balanceUnit).mul(0.75).toString()),\n },\n {\n variant: \"MAX\",\n onClick: () => onClick(balanceUnit),\n },\n ];\n}\n\ntype ConstructMaxButtonPropsInput = {\n tokenFrom: Token;\n balanceUnit?: string;\n gasPrices?: ConsolidatedGasPrices;\n gasLimit: number;\n onClick: (balanceUnit: string) => void;\n isAccountSmartContract: boolean;\n};\n\nfunction constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract,\n}: ConstructMaxButtonPropsInput): Pick<\n TokenInputProps,\n \"showMaxButton\" | \"maxButtonOptions\"\n> {\n const hasBalance = !!balanceUnit && balanceUnit !== \"0\";\n\n // No balance - nothing to set\n if (!hasBalance)\n return {\n showMaxButton: false,\n };\n\n // ERC20 token, or in case of native ETH SmartContract isn't the one paying gas fees\n if (!isETH(tokenFrom) || isAccountSmartContract)\n return {\n showMaxButton: hasBalance,\n maxButtonOptions: produceButtonVariants(onClick, balanceUnit),\n };\n\n const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;\n\n // Cannot calculate gas fee\n if (!gasPriceMultiplierGwei)\n return {\n showMaxButton: false,\n };\n\n const maxAvailableBalance = deductGasFeeFromETH({\n ethAmountUnit: balanceUnit,\n gasPriceMultiplierGwei,\n gasLimit,\n });\n\n // ETH balance too low to cover potential gas fees\n if (maxAvailableBalance === \"0\")\n return {\n showMaxButton: false,\n };\n\n return {\n showMaxButton: true,\n maxButtonOptions: produceButtonVariants(onClick, maxAvailableBalance),\n };\n}\n\n// Returns props for Max button functionality including whether to show the button and the onClick handler.\n// It considers the token type (ETH or ERC20) and deducts gas fees for ETH\n// to ensure the user doesn't set max to an amount that would leave them unable to pay for gas.\nexport const useMaxButtonPropsBase = ({\n tokenFrom,\n onClick,\n gasLimit,\n}: Pick<\n ConstructMaxButtonPropsInput,\n \"tokenFrom\" | \"onClick\" | \"gasLimit\"\n>) => {\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n const { data: gasPrices } = useGasPrices();\n\n const { data: smartContractCheck } = useIsAccountContract();\n\n return constructMaxButtonProps({\n tokenFrom,\n balanceUnit,\n gasPrices,\n gasLimit,\n onClick,\n isAccountSmartContract: smartContractCheck?.isContract ?? false,\n });\n};\n"],"names":["deductGasFeeFromETH","ethAmountUnit","gasPriceMultiplierGwei","gasLimit","gasFeeETH","Big","mul","div","ethAmountUnitBig","lte","withDeductedGas","minus","toString","produceButtonVariants","onClick","balanceUnit","variant","constructMaxButtonProps","tokenFrom","gasPrices","isAccountSmartContract","hasBalance","showMaxButton","isETH","maxButtonOptions","legacyPrices","instant","maxAvailableBalance","useMaxButtonPropsBase","t0","$","_c","t1","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t2","token","queryOptions","useTokenBalance","data","useGasPrices","smartContractCheck","useIsAccountContract","t3","isContract","t4"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useResizeObserver.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,QAerD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
|
+
import { offsetWidthAtom } from '../../state/containerAtom.js';
|
|
3
|
+
import { useSetAtom } from '../../store.js';
|
|
4
|
+
import { useLayoutEffect } from 'react';
|
|
5
|
+
|
|
6
|
+
function useResizeObserver(containerRef) {
|
|
7
|
+
const $ = distExports.c(4);
|
|
8
|
+
const setOffsetWidth = useSetAtom(offsetWidthAtom);
|
|
9
|
+
let t0;
|
|
10
|
+
let t1;
|
|
11
|
+
if ($[0] !== containerRef || $[1] !== setOffsetWidth) {
|
|
12
|
+
t0 = () => {
|
|
13
|
+
const container = containerRef.current;
|
|
14
|
+
if (!container) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const updateWidth = () => setOffsetWidth(container.offsetWidth);
|
|
18
|
+
updateWidth();
|
|
19
|
+
const observer = new ResizeObserver(updateWidth);
|
|
20
|
+
observer.observe(container);
|
|
21
|
+
return () => observer.disconnect();
|
|
22
|
+
};
|
|
23
|
+
t1 = [containerRef, setOffsetWidth];
|
|
24
|
+
$[0] = containerRef;
|
|
25
|
+
$[1] = setOffsetWidth;
|
|
26
|
+
$[2] = t0;
|
|
27
|
+
$[3] = t1;
|
|
28
|
+
} else {
|
|
29
|
+
t0 = $[2];
|
|
30
|
+
t1 = $[3];
|
|
31
|
+
}
|
|
32
|
+
useLayoutEffect(t0, t1);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { useResizeObserver };
|
|
36
|
+
//# sourceMappingURL=useResizeObserver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizeObserver.js","sources":["../../../../src/core/screen/hooks/useResizeObserver.ts"],"sourcesContent":["import { offsetWidthAtom } from \"@/core/state/containerAtom\";\nimport { useSetAtom } from \"@/core/store\";\nimport { useLayoutEffect } from \"react\";\n\nexport function useResizeObserver(\n containerRef: React.RefObject<HTMLDivElement | null>\n) {\n const setOffsetWidth = useSetAtom(offsetWidthAtom);\n useLayoutEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const updateWidth = () => setOffsetWidth(container.offsetWidth);\n updateWidth();\n\n const observer = new ResizeObserver(updateWidth);\n observer.observe(container);\n\n return () => observer.disconnect();\n }, [containerRef, setOffsetWidth]);\n}\n"],"names":["useResizeObserver","containerRef","$","_c","setOffsetWidth","useSetAtom","offsetWidthAtom","t0","t1","container","current","updateWidth","offsetWidth","observer","ResizeObserver","observe","disconnect","useLayoutEffect"],"mappings":";;;;;AAIO,SAAAA,kBAAAC,YAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAGL,EAAA,MAAAC,cAAAA,GAAuBC,WAAWC,eAAe,CAAA;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAN,EAAA,CAAA,CAAA,KAAAD,gBAAAC,CAAAA,QAAAE,cAAAA,EAAA;AACnCG,IAAAA,EAAAA,GAAAA,MAAA;AACd,MAAA,MAAAE,YAAkBR,YAAAA,CAAYS,OAAAA;AAC9B,MAAA,IAAI,CAACD,SAAAA,EAAS;AAAA,QAAA;AAAA,MAAA;AAEd,MAAA,MAAAE,WAAAA,GAAoBA,MAAMP,cAAAA,CAAeK,SAAAA,CAASG,WAAY,CAAA;AAC9DD,MAAAA,WAAAA,EAAY;AAEZ,MAAA,MAAAE,QAAAA,GAAiB,IAAIC,cAAAA,CAAeH,WAAW,CAAA;AAC/CE,MAAAA,QAAAA,CAAQE,QAASN,SAAS,CAAA;AAAC,MAAA,OAEpB,MAAMI,SAAQG,UAAAA,EAAY;AAAA,IAAC,CAAA;AACjCR,IAAAA,EAAAA,GAAA,CAACP,cAAcG,cAAc,CAAA;AAACF,IAAAA,CAAAA,MAAAD,YAAAA;AAAAC,IAAAA,CAAAA,MAAAE,cAAAA;AAAAF,IAAAA,CAAAA,MAAAK,EAAAA;AAAAL,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAAM,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAXjCe,EAAAA,eAAAA,CAAgBV,IAWbC,EAA8B,CAAA;AAAC;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const swapChainToAtom: import('jotai').WritableAtom<1 | 10 |
|
|
2
|
-
export declare const useSwapChainTo: () => 1 | 10 |
|
|
3
|
-
export declare const limitChainToAtom: import('jotai').WritableAtom<1 | 10 |
|
|
4
|
-
export declare const useLimitChainTo: () => 1 | 10 |
|
|
1
|
+
export declare const swapChainToAtom: import('jotai').WritableAtom<1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130 | undefined, [newChainTo: 1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130], void>;
|
|
2
|
+
export declare const useSwapChainTo: () => 1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130 | undefined;
|
|
3
|
+
export declare const limitChainToAtom: import('jotai').WritableAtom<1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130 | undefined, [newChainTo: 1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130], void>;
|
|
4
|
+
export declare const useLimitChainTo: () => 1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130 | undefined;
|
|
5
5
|
//# sourceMappingURL=chainToAtom.d.ts.map
|
|
@@ -55,8 +55,8 @@ export declare const defaultSubConfig: {
|
|
|
55
55
|
readonly devURLs: Record<string, never>;
|
|
56
56
|
};
|
|
57
57
|
export declare const tokenListsAtom: import('jotai').WritableAtom<string[], [string[]], void>;
|
|
58
|
-
export declare const srcChainsAtom: import('jotai').WritableAtom<(1 | 10 |
|
|
59
|
-
export declare const destChainsAtom: import('jotai').WritableAtom<(1 | 10 |
|
|
58
|
+
export declare const srcChainsAtom: import('jotai').WritableAtom<(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]], void>;
|
|
59
|
+
export declare const destChainsAtom: import('jotai').WritableAtom<(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]], void>;
|
|
60
60
|
export declare const tradeModesAtom: import('jotai').WritableAtom<TradeMode[], [TradeMode[]], void>;
|
|
61
61
|
export declare const excludeUIAtom: import('jotai').WritableAtom<WidgetElements[], [WidgetElements[]], void>;
|
|
62
62
|
export declare const devURLsAtom: import('jotai').WritableAtom<DevURLs, [DevURLs], void>;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export declare const containerAtom: import('jotai').PrimitiveAtom<HTMLDivElement | null> & {
|
|
2
2
|
init: HTMLDivElement | null;
|
|
3
3
|
};
|
|
4
|
+
export declare const offsetWidthAtom: import('jotai').PrimitiveAtom<number | null> & {
|
|
5
|
+
init: number | null;
|
|
6
|
+
};
|
|
4
7
|
export declare const useContainerAtom: () => HTMLDivElement | null;
|
|
5
8
|
//# sourceMappingURL=containerAtom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/containerAtom.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;CAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"containerAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/containerAtom.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa;;CAAoC,CAAC;AAC/D,eAAO,MAAM,eAAe;;CAA4B,CAAC;AAEzD,eAAO,MAAM,gBAAgB,6BAE5B,CAAC"}
|
|
@@ -2,9 +2,10 @@ import { atom } from 'jotai';
|
|
|
2
2
|
import { useAtomValue } from '../store.js';
|
|
3
3
|
|
|
4
4
|
const containerAtom = atom(null);
|
|
5
|
+
const offsetWidthAtom = atom(null);
|
|
5
6
|
const useContainerAtom = () => {
|
|
6
7
|
return useAtomValue(containerAtom);
|
|
7
8
|
};
|
|
8
9
|
|
|
9
|
-
export { containerAtom, useContainerAtom };
|
|
10
|
+
export { containerAtom, offsetWidthAtom, useContainerAtom };
|
|
10
11
|
//# sourceMappingURL=containerAtom.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerAtom.js","sources":["../../../src/core/state/containerAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const containerAtom = atom<HTMLDivElement | null>(null);\n\nexport const useContainerAtom = () => {\n return useAtomValue(containerAtom);\n};\n"],"names":["containerAtom","atom","useContainerAtom","useAtomValue"],"mappings":";;;AAGO,MAAMA,aAAAA,GAAgBC,KAA4B,IAAI;
|
|
1
|
+
{"version":3,"file":"containerAtom.js","sources":["../../../src/core/state/containerAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\n\nexport const containerAtom = atom<HTMLDivElement | null>(null);\nexport const offsetWidthAtom = atom<number | null>(null);\n\nexport const useContainerAtom = () => {\n return useAtomValue(containerAtom);\n};\n"],"names":["containerAtom","atom","offsetWidthAtom","useContainerAtom","useAtomValue"],"mappings":";;;AAGO,MAAMA,aAAAA,GAAgBC,KAA4B,IAAI;AACtD,MAAMC,eAAAA,GAAkBD,KAAoB,IAAI;AAEhD,MAAME,mBAAmBA,MAAA;AAAA,EAAA,OACvBC,aAAaJ,aAAa,CAAA;AAAC;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { SupportedChainId } from '../../lib/web3/wagmi/types';
|
|
2
2
|
import { NonEmptyArray, Prettify } from 'ts-essentials';
|
|
3
3
|
export type EnabledChains = Prettify<NonEmptyArray<SupportedChainId>>;
|
|
4
|
-
export declare const enabledSrcChainsAtom: import('jotai').Atom<[1 | 10 |
|
|
5
|
-
export declare const enabledDestChainsAtom: import('jotai').Atom<[1 | 10 |
|
|
6
|
-
export declare const allEnabledChainsAtom: import('jotai').Atom<[1 | 10 |
|
|
7
|
-
export declare const useEnabledSrcChains: () => [1 | 10 |
|
|
8
|
-
export declare const useEnabledDestChains: () => [1 | 10 |
|
|
9
|
-
export declare const useAllEnabledChains: () => [1 | 10 |
|
|
10
|
-
export declare const useAllEnabledChainsWithDelta: () => (1 | 10 |
|
|
11
|
-
export declare const useEnabledSrcChainsWithDelta: () => (1 | 10 |
|
|
12
|
-
export declare const useEnabledSrcChainsWithOTC: () => (1 | 10 |
|
|
4
|
+
export declare const enabledSrcChainsAtom: import('jotai').Atom<[1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130, ...(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]]>;
|
|
5
|
+
export declare const enabledDestChainsAtom: import('jotai').Atom<[1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130, ...(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]]>;
|
|
6
|
+
export declare const allEnabledChainsAtom: import('jotai').Atom<[1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130, ...(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]]>;
|
|
7
|
+
export declare const useEnabledSrcChains: () => [1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130, ...(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]];
|
|
8
|
+
export declare const useEnabledDestChains: () => [1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130, ...(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]];
|
|
9
|
+
export declare const useAllEnabledChains: () => [1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130, ...(1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[]];
|
|
10
|
+
export declare const useAllEnabledChainsWithDelta: () => (1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[];
|
|
11
|
+
export declare const useEnabledSrcChainsWithDelta: () => (1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[];
|
|
12
|
+
export declare const useEnabledSrcChainsWithOTC: () => (1 | 10 | 56 | 42161 | 137 | 43114 | 8453 | 100 | 146 | 130)[];
|
|
13
13
|
//# sourceMappingURL=enabledChainsAtom.d.ts.map
|
package/dist/hooks/gas/config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { optimism, arbitrum, bsc } from '../../lib/web3/wagmi/supportedChains.js';
|
|
2
|
+
import { unichain, sonic, gnosis, base, avalanche, polygon, mainnet } from 'wagmi/chains';
|
|
2
3
|
|
|
3
4
|
const gasPricesConfig = {
|
|
4
5
|
[mainnet.id]: {
|