@velora-dex/widget 0.3.11-dev.4 → 0.3.11-dev.5
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/ui/tooltip.js +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +53 -29
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +6 -4
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +346 -139
- 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 +24 -19
- 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/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 +72 -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 +13 -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 +65 -0
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -0
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +2 -2
- 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 +4 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.d.ts.map +1 -0
- package/dist/components/widget/TokenInput/common/MaxButtons.js +49 -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 +115 -153
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenInput/types.d.ts +7 -1
- package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -1
- package/dist/configurator/components/PartnerInput.d.ts +5 -3
- package/dist/configurator/components/PartnerInput.d.ts.map +1 -1
- package/dist/configurator/components/common/Input.d.ts +9 -0
- package/dist/configurator/components/common/Input.d.ts.map +1 -1
- package/dist/core/constants.d.ts +3 -0
- 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 +121 -113
- 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 +39 -6
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +15 -2
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js +15 -2
- package/dist/core/otc/useOtcTokenFromInputProps.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/configActionsAtom.d.ts.map +1 -1
- package/dist/core/state/configActionsAtom.js +3 -3
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.d.ts +5 -6
- package/dist/core/state/configAtom.d.ts.map +1 -1
- package/dist/core/state/configAtom.js +7 -4
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/containerAtom.d.ts +4 -0
- package/dist/core/state/containerAtom.d.ts.map +1 -1
- package/dist/core/state/containerAtom.js +8 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.d.ts +3 -0
- package/dist/core/state/validatedPartnerConfigAtom.d.ts.map +1 -0
- package/dist/core/state/validatedPartnerConfigAtom.js +22 -0
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -0
- package/dist/core/types.d.ts +12 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js +12 -1
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/events/types/connectWallet.d.ts +2 -1
- package/dist/events/types/connectWallet.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.d.ts +1 -0
- package/dist/hooks/connectors/useIsConnectedSafe.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js +6 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +2 -2
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js +0 -12
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -13
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -0
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +31 -27
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +9 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +3 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +9 -6
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js +3 -4
- package/dist/hooks/txs/queries/useAwaitTx.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 +22 -0
- package/dist/hooks/useBreakpoints.js.map +1 -0
- package/dist/hooks/usePartner.d.ts +1 -1
- package/dist/hooks/usePartner.d.ts.map +1 -1
- package/dist/hooks/usePartner.js +3 -5
- package/dist/hooks/usePartner.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/storage.d.ts +1 -1
- package/dist/lib/constants/storage.d.ts.map +1 -1
- package/dist/lib/constants/storage.js +3 -1
- package/dist/lib/constants/storage.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.d.ts +1 -1
- package/dist/lib/utils/formatFiatPrice.d.ts.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js +4 -2
- package/dist/lib/utils/formatFiatPrice.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.map +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/constants.d.ts +1 -0
- package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +13 -1
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/isInIframe.d.ts +2 -0
- package/dist/lib/web3/wagmi/isInIframe.d.ts.map +1 -0
- package/dist/lib/web3/wagmi/isInIframe.js +4 -0
- package/dist/lib/web3/wagmi/isInIframe.js.map +1 -0
- package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts +0 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js +2 -2
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/styles.css +56 -17
- package/dist/transactions/state/transactionsActionAtom.d.ts.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js +11 -2
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/package.json +3 -2
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 { jotaiStore, 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 [\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 store: jotaiStore,\n }\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","t12","store","jotaiStore","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t13","t14","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","partner","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t15","t16","setExternalProvider","t17","t18","isDappMode","reconnectOnMountInit","useInitialValue","t19","t20","t21","t22","t23","import","t24","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 { jotaiStore, 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 partnerConfig,\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 [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\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 store: jotaiStore,\n }\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 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.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 partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\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","partnerConfig","srcChains","tokenLists","tradeModes","defaultWidgetConfig","defaultSubConfig","t4","t5","externalProviderAtom","t6","t7","widgetEventsAtom","t8","t9","formInputPropsAtom","t10","queryClientAtom","t11","t12","store","jotaiStore","useHydrateAtoms","useWidgetEventsSetter","useSetFormInputFromProps","t13","t14","debug","enableCrossChain","enableDelta","ignoreBadUsdPrice","privyAppId","privyClientId","theme","widgetMode","useLayoutEffect","t15","t16","setExternalProvider","t17","t18","isDappMode","reconnectOnMountInit","useInitialValue","t19","t20","t21","t22","t23","import","t24","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,EAEV,eAAe,EAChB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAgFlD,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;AA6DF,eAAO,MAAM,qBAAqB,GAAI,mCAInC,IAAI,CACL,4BAA4B,EAC5B,WAAW,GAAG,SAAS,GAAG,UAAU,CACrC,gEAkBA,CAAC"}
|
|
@@ -18,6 +18,38 @@ function deductGasFeeFromETH({
|
|
|
18
18
|
const withDeductedGas = ethAmountUnitBig.minus(gasFeeETH);
|
|
19
19
|
return withDeductedGas.toString();
|
|
20
20
|
}
|
|
21
|
+
const buttonVariants = ["25%", "50%", "75%", "MAX"];
|
|
22
|
+
const variant2Percentage = {
|
|
23
|
+
"25%": 0.25,
|
|
24
|
+
"50%": 0.5,
|
|
25
|
+
"75%": 0.75,
|
|
26
|
+
MAX: 1
|
|
27
|
+
};
|
|
28
|
+
function constructOnClickHandler({
|
|
29
|
+
onClick,
|
|
30
|
+
balanceUnit,
|
|
31
|
+
maxAvailableBalanceUnit,
|
|
32
|
+
variant
|
|
33
|
+
}) {
|
|
34
|
+
return () => {
|
|
35
|
+
let amountToSet = Big(balanceUnit).mul(variant2Percentage[variant]).toString();
|
|
36
|
+
if (maxAvailableBalanceUnit !== void 0 && Big(amountToSet).gt(maxAvailableBalanceUnit)) {
|
|
37
|
+
amountToSet = maxAvailableBalanceUnit;
|
|
38
|
+
}
|
|
39
|
+
onClick(amountToSet);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function constructButtonVariants(onClick, balanceUnit, maxAvailableBalanceUnit) {
|
|
43
|
+
return buttonVariants.map((variant) => ({
|
|
44
|
+
variant,
|
|
45
|
+
onClick: constructOnClickHandler({
|
|
46
|
+
onClick,
|
|
47
|
+
balanceUnit,
|
|
48
|
+
maxAvailableBalanceUnit,
|
|
49
|
+
variant
|
|
50
|
+
})
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
21
53
|
function constructMaxButtonProps({
|
|
22
54
|
tokenFrom,
|
|
23
55
|
balanceUnit,
|
|
@@ -32,9 +64,7 @@ function constructMaxButtonProps({
|
|
|
32
64
|
};
|
|
33
65
|
if (!isETH(tokenFrom) || isAccountSmartContract) return {
|
|
34
66
|
showMaxButton: hasBalance,
|
|
35
|
-
|
|
36
|
-
onClick(balanceUnit);
|
|
37
|
-
}
|
|
67
|
+
maxButtonOptions: constructButtonVariants(onClick, balanceUnit)
|
|
38
68
|
};
|
|
39
69
|
const gasPriceMultiplierGwei = gasPrices?.legacyPrices.instant;
|
|
40
70
|
if (!gasPriceMultiplierGwei) return {
|
|
@@ -50,9 +80,12 @@ function constructMaxButtonProps({
|
|
|
50
80
|
};
|
|
51
81
|
return {
|
|
52
82
|
showMaxButton: true,
|
|
53
|
-
|
|
54
|
-
onClick
|
|
55
|
-
|
|
83
|
+
maxButtonOptions: constructButtonVariants(
|
|
84
|
+
onClick,
|
|
85
|
+
balanceUnit,
|
|
86
|
+
maxAvailableBalance
|
|
87
|
+
// with gas fee deducted
|
|
88
|
+
)
|
|
56
89
|
};
|
|
57
90
|
}
|
|
58
91
|
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 {\n MaxButtonVariant,\n TokenInputProps,\n} 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\nconst buttonVariants: MaxButtonVariant[] = [\"25%\", \"50%\", \"75%\", \"MAX\"];\n\nconst variant2Percentage: Record<MaxButtonVariant, number> = {\n \"25%\": 0.25,\n \"50%\": 0.5,\n \"75%\": 0.75,\n MAX: 1,\n};\n\nfunction constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\n}: {\n onClick: (balanceUnit: string) => void;\n balanceUnit: string;\n maxAvailableBalanceUnit?: string;\n variant: MaxButtonVariant;\n}) {\n return () => {\n let amountToSet = Big(balanceUnit)\n .mul(variant2Percentage[variant])\n .toString();\n if (\n maxAvailableBalanceUnit !== undefined &&\n Big(amountToSet).gt(maxAvailableBalanceUnit)\n ) {\n amountToSet = maxAvailableBalanceUnit;\n }\n\n onClick(amountToSet);\n };\n}\n\nfunction constructButtonVariants(\n onClick: (balanceUnit: string) => void,\n balanceUnit: string,\n maxAvailableBalanceUnit?: string\n): TokenInputProps[\"maxButtonOptions\"] {\n return buttonVariants.map((variant) => ({\n variant,\n onClick: constructOnClickHandler({\n onClick,\n balanceUnit,\n maxAvailableBalanceUnit,\n variant,\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: constructButtonVariants(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: constructButtonVariants(\n onClick,\n balanceUnit,\n maxAvailableBalance // with gas fee deducted\n ),\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","buttonVariants","variant2Percentage","MAX","constructOnClickHandler","onClick","balanceUnit","maxAvailableBalanceUnit","variant","amountToSet","undefined","gt","constructButtonVariants","map","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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"useLimitTokenFromInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/limit/useLimitTokenFromInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA+K5E,eAAO,MAAM,oBAAoB,QAAO,eAAe,CAAC,SAAS,CAGhE,CAAC;AAEF,eAAO,MAAM,2BAA2B,QAAO,eAyB9C,CAAC"}
|
|
@@ -163,10 +163,11 @@ const useTokenConditionalProps = (t0) => {
|
|
|
163
163
|
return t8;
|
|
164
164
|
};
|
|
165
165
|
const useMaxButtonProps = (t0) => {
|
|
166
|
-
const $ = distExports.c(
|
|
166
|
+
const $ = distExports.c(9);
|
|
167
167
|
const {
|
|
168
168
|
tokenFrom
|
|
169
169
|
} = t0;
|
|
170
|
+
const unsupportedChain = useUnsupportedLimitChain();
|
|
170
171
|
const setCurrentLimitInput = useSetAtom(currentLimitInputAtom);
|
|
171
172
|
const setPayInputAmount = useSetAtom(limitPayInputAmountAtom);
|
|
172
173
|
let t1;
|
|
@@ -195,7 +196,19 @@ const useMaxButtonProps = (t0) => {
|
|
|
195
196
|
} else {
|
|
196
197
|
t2 = $[5];
|
|
197
198
|
}
|
|
198
|
-
|
|
199
|
+
const props = useMaxButtonPropsBase(t2);
|
|
200
|
+
let t3;
|
|
201
|
+
if ($[6] !== props || $[7] !== unsupportedChain) {
|
|
202
|
+
t3 = unsupportedChain ? {
|
|
203
|
+
showMaxButton: false
|
|
204
|
+
} : props;
|
|
205
|
+
$[6] = props;
|
|
206
|
+
$[7] = unsupportedChain;
|
|
207
|
+
$[8] = t3;
|
|
208
|
+
} else {
|
|
209
|
+
t3 = $[8];
|
|
210
|
+
}
|
|
211
|
+
return t3;
|
|
199
212
|
};
|
|
200
213
|
const useTokenFromBalanceUnit = () => {
|
|
201
214
|
const $ = distExports.c(5);
|