@velora-dex/widget 0.1.0-rc.1 → 0.1.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/widget/Details/DetailWithValueList.d.ts.map +1 -1
- package/dist/components/widget/Details/DetailWithValueList.js +38 -28
- package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
- package/dist/components/widget/Details/types.d.ts +1 -1
- package/dist/components/widget/Details/types.d.ts.map +1 -1
- package/dist/components/widget/DexesList/DexItem.d.ts +3 -0
- package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -0
- package/dist/components/widget/DexesList/DexItem.js +366 -0
- package/dist/components/widget/DexesList/DexItem.js.map +1 -0
- package/dist/components/widget/DexesList/DexesList.d.ts +10 -0
- package/dist/components/widget/DexesList/DexesList.d.ts.map +1 -0
- package/dist/components/widget/DexesList/DexesList.js +71 -0
- package/dist/components/widget/DexesList/DexesList.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/icons.json.d.ts +82 -0
- package/dist/components/widget/DexesList/assets/exchanges/icons.json.js +159 -0
- package/dist/components/widget/DexesList/assets/exchanges/icons.json.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/gas.svg.js +12 -0
- package/dist/components/widget/DexesList/assets/gas.svg.js.map +1 -0
- package/dist/components/widget/DexesList/assets/unknown-dex.svg.js +4 -0
- package/dist/components/widget/DexesList/assets/unknown-dex.svg.js.map +1 -0
- package/dist/components/widget/DexesList/constants.d.ts +2 -0
- package/dist/components/widget/DexesList/constants.d.ts.map +1 -0
- package/dist/components/widget/DexesList/constants.js +4 -0
- package/dist/components/widget/DexesList/constants.js.map +1 -0
- package/dist/components/widget/DexesList/getDexProps.d.ts +11 -0
- package/dist/components/widget/DexesList/getDexProps.d.ts.map +1 -0
- package/dist/components/widget/DexesList/getDexProps.js +94 -0
- package/dist/components/widget/DexesList/getDexProps.js.map +1 -0
- package/dist/components/widget/DexesList/types.d.ts +15 -0
- package/dist/components/widget/DexesList/types.d.ts.map +1 -0
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +44 -4
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/core/index.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 +2 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/lib/utils/index.d.ts +2 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +4 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/savedAmountUSD.d.ts +3 -0
- package/dist/lib/utils/savedAmountUSD.d.ts.map +1 -0
- package/dist/lib/utils/savedAmountUSD.js +57 -0
- package/dist/lib/utils/savedAmountUSD.js.map +1 -0
- package/dist/styles.css +18 -3
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwapModeSwitcherExpandable.js","sources":["../../../../src/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { DetailWithTooltip } from \"@/components/widget/Details/DetailWithTooltip\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport { MarketIcon } from \"@/components/widget/Icon/MarketIcon\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { swapModeAtom } from \"./state/swapModeAtom\";\nimport { setSwapModeAtom } from \"./state/swapModeActionsAtom\";\nimport type { SwapModeSwitcherExpandableProps } from \"./types\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\n\nexport const SwapModeSwitcherExpandable: React.FC<\n SwapModeSwitcherExpandableProps\n> = ({ classes }) => {\n const swapMode = useAtomValue(swapModeAtom);\n\n return (\n <Accordion type=\"single\" collapsible className={classes?.root}>\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>\n <div className=\"flex items-center justify-between flex-1 gap-2\">\n <div>Swap Mode</div>\n <div>\n {swapMode === \"delta\" ? (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ) : (\n \"Market\"\n )}\n </div>\n </div>\n </AccordionTrigger>\n <AccordionContent className=\"flex items-center justify-between gap-4\">\n <DeltaModeItem />\n <MarketModeItem />\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n\nconst SwapModeItem: React.FC<\n {\n icon: React.ReactNode;\n mode: \"delta\" | \"market\";\n fees: React.ReactNode;\n tooltip: string;\n onClick?: () => void;\n } & WithClasses<\"root\">\n> = ({ icon, mode, fees, tooltip, classes, onClick }) => {\n const swapMode = useAtomValue(swapModeAtom);\n\n return (\n <div\n className={cn(\n \"py-[14px] px-4 flex flex-1 gap-3 items-center bg-contrast-7 dark:bg-contrast-4 cursor-pointer rounded-[10px]\",\n {\n \"outline outline-primary-azul-1\": swapMode === mode,\n },\n classes?.root\n )}\n onClick={onClick}\n >\n <div>{icon}</div>\n <div className=\"flex flex-1 flex-col gap-1\">\n <div className=\"dark:text-contrast-9 text-sm\">\n {mode === \"delta\" ? \"Delta\" : \"Market\"}\n </div>\n <div className=\"flex items-center justify-between\">\n <DetailWithTooltip\n detail={\"Fees\"}\n tooltip={tooltip}\n classes={{\n icon: \"dark:fill-contrast-5 size-[12px]\",\n root: \"text-[10px]\",\n }}\n />\n <div className=\"text-[10px] font-geist-mono\">{fees}</div>\n </div>\n </div>\n </div>\n );\n};\n\nconst DeltaModeItem = () => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n\n const { enabledInConfig, enabledOnCurrentChain } = useGlobalDeltaEnabled();\n const isEnabled = enabledInConfig && enabledOnCurrentChain;\n\n return (\n <SwapModeItem\n icon={<DeltaIcon />}\n mode=\"delta\"\n fees={<div className=\"text-[#A5D712]\">Gasless</div>}\n tooltip=\"Estimated network fees\"\n onClick={!isEnabled ? undefined : () => setSwapMode(\"delta\")}\n classes={{\n root: cn({\n \"cursor-not-allowed\": !isEnabled,\n }),\n }}\n />\n );\n};\n\nconst MarketModeItem = () => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n\n const gasCostUSD = useSwapPrices({\n enabled: false,\n }).market.price?.gasCostUSD;\n\n const formattedGasCostUSD =\n gasCostUSD !== undefined ? formatFiatPrice(Number(gasCostUSD)) : undefined;\n const marketNetworkFees =\n formattedGasCostUSD !== undefined\n ? formattedGasCostUSD === \"$0.00\"\n ? \"<$0.01\"\n : formattedGasCostUSD\n : \"N/A\";\n\n const isCrossChain = useIsCrossChain();\n\n return (\n <SwapModeItem\n icon={<MarketIcon />}\n mode=\"market\"\n fees={marketNetworkFees}\n tooltip=\"Estimated network fees\"\n onClick={isCrossChain ? undefined : () => setSwapMode(\"market\")}\n classes={{\n root: cn({\n \"cursor-not-allowed\": isCrossChain,\n }),\n }}\n />\n );\n};\n"],"names":["SwapModeSwitcherExpandable","t0","$","_c","classes","swapMode","useAtomValue","swapModeAtom","t1","root","t2","Symbol","for","t3","t4","t5","t6","t7","SwapModeItem","icon","mode","fees","tooltip","onClick","cn","t8","t9","t10","t11","DeltaModeItem","setSwapMode","useSetAtom","setSwapModeAtom","enabledInConfig","enabledOnCurrentChain","useGlobalDeltaEnabled","isEnabled","undefined","MarketModeItem","gasCostUSD","useSwapPrices","enabled","market","price","formatFiatPrice","Number","formattedGasCostUSD","marketNetworkFees","isCrossChain","useIsCrossChain"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SwapModeSwitcherExpandable.js","sources":["../../../../src/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from \"@/components/ui/accordion\";\nimport { DetailWithTooltip } from \"@/components/widget/Details/DetailWithTooltip\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport { MarketIcon } from \"@/components/widget/Icon/MarketIcon\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { swapModeAtom } from \"./state/swapModeAtom\";\nimport { setSwapModeAtom } from \"./state/swapModeActionsAtom\";\nimport type { SwapModeSwitcherExpandableProps } from \"./types\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { DexesList } from \"../DexesList/DexesList\";\nimport { useWidgetTokens } from \"@/core/inputs/state/selectedTokenAtom\";\nimport { ErrorBoundary } from \"react-error-boundary\";\n\nexport const SwapModeSwitcherExpandable: React.FC<\n SwapModeSwitcherExpandableProps\n> = ({ classes }) => {\n const swapMode = useAtomValue(swapModeAtom);\n\n return (\n <Accordion type=\"single\" collapsible className={classes?.root}>\n <AccordionItem value=\"item-1\">\n <AccordionTrigger>\n <div className=\"flex items-center justify-between flex-1 gap-2\">\n <div>Swap Mode</div>\n <div>\n {swapMode === \"delta\" ? (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ) : (\n \"Market\"\n )}\n </div>\n </div>\n </AccordionTrigger>\n <AccordionContent>\n <div className=\"flex items-center justify-between gap-4\">\n <DeltaModeItem />\n <MarketModeItem />\n </div>\n <DexesListWithErrorBoundary />\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n};\n\nconst SwapModeItem: React.FC<\n {\n icon: React.ReactNode;\n mode: \"delta\" | \"market\";\n fees: React.ReactNode;\n tooltip: string;\n onClick?: () => void;\n } & WithClasses<\"root\">\n> = ({ icon, mode, fees, tooltip, classes, onClick }) => {\n const swapMode = useAtomValue(swapModeAtom);\n\n return (\n <div\n className={cn(\n \"py-[14px] px-4 flex flex-1 gap-3 items-center bg-contrast-7 dark:bg-contrast-3 cursor-pointer rounded-md\",\n {\n \"outline outline-primary-azul-1\": swapMode === mode,\n },\n classes?.root\n )}\n onClick={onClick}\n >\n <div>{icon}</div>\n <div className=\"flex flex-1 flex-col gap-1\">\n <div className=\"dark:text-contrast-9 text-sm\">\n {mode === \"delta\" ? \"Delta\" : \"Market\"}\n </div>\n <div className=\"flex items-center justify-between\">\n <DetailWithTooltip\n detail={\"Fees\"}\n tooltip={tooltip}\n classes={{\n icon: \"dark:fill-contrast-5 size-[12px]\",\n root: \"text-[10px]\",\n }}\n />\n <div className=\"text-[10px] font-geist-mono\">{fees}</div>\n </div>\n </div>\n </div>\n );\n};\n\nconst DeltaModeItem = () => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n\n const { enabledInConfig, enabledOnCurrentChain } = useGlobalDeltaEnabled();\n const isEnabled = enabledInConfig && enabledOnCurrentChain;\n\n return (\n <SwapModeItem\n icon={<DeltaIcon />}\n mode=\"delta\"\n fees={<div className=\"text-[#A5D712]\">Gasless</div>}\n tooltip=\"Estimated network fees\"\n onClick={!isEnabled ? undefined : () => setSwapMode(\"delta\")}\n classes={{\n root: cn({\n \"cursor-not-allowed\": !isEnabled,\n }),\n }}\n />\n );\n};\n\nconst MarketModeItem = () => {\n const setSwapMode = useSetAtom(setSwapModeAtom);\n\n const gasCostUSD = useSwapPrices({\n enabled: false,\n }).market.price?.gasCostUSD;\n\n const formattedGasCostUSD =\n gasCostUSD !== undefined ? formatFiatPrice(Number(gasCostUSD)) : undefined;\n const marketNetworkFees =\n formattedGasCostUSD !== undefined\n ? formattedGasCostUSD === \"$0.00\"\n ? \"<$0.01\"\n : formattedGasCostUSD\n : \"N/A\";\n\n const isCrossChain = useIsCrossChain();\n\n return (\n <SwapModeItem\n icon={<MarketIcon />}\n mode=\"market\"\n fees={marketNetworkFees}\n tooltip=\"Estimated network fees\"\n onClick={isCrossChain ? undefined : () => setSwapMode(\"market\")}\n classes={{\n root: cn({\n \"cursor-not-allowed\": isCrossChain,\n }),\n }}\n />\n );\n};\n\nconst DexesListWithErrorBoundary = () => {\n const { priceMode, market } = useSwapPrices({ enabled: false });\n const { tokenFrom, tokenTo } = useWidgetTokens();\n\n if (priceMode !== \"market\" || !market.price || !tokenTo) return null;\n\n return (\n <ErrorBoundary fallback={null}>\n <DexesList\n marketPrice={market.price}\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n />\n </ErrorBoundary>\n );\n};\n"],"names":["SwapModeSwitcherExpandable","t0","$","_c","classes","swapMode","useAtomValue","swapModeAtom","t1","root","t2","Symbol","for","t3","t4","t5","t6","t7","SwapModeItem","icon","mode","fees","tooltip","onClick","cn","t8","t9","t10","t11","DeltaModeItem","setSwapMode","useSetAtom","setSwapModeAtom","enabledInConfig","enabledOnCurrentChain","useGlobalDeltaEnabled","isEnabled","undefined","MarketModeItem","gasCostUSD","useSwapPrices","enabled","market","price","formatFiatPrice","Number","formattedGasCostUSD","marketNetworkFees","isCrossChain","useIsCrossChain","DexesListWithErrorBoundary","priceMode","tokenFrom","tokenTo","useWidgetTokens"],"mappings":"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"}
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport { JotaiProvider, Web3Providers } from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useTokenSwitcherProps } 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 DeltaOrderTradeOverviewProps } from \"@/components/widget/TradeOverview/DeltaOrderTradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport { defaultWidgetConfig, useWidgetConfig } from \"./state/configAtom\";\nimport { setWidgetConfigAtom } 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 { TradeFlowButton } from \"./TradeFlowButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\n\nrunSubscriptions();\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <TokenFromInput />\n <WidgetTokenSwitcher />\n <TokenToInput />\n <WidgetReceiverAddress />\n <WidgetButton />\n <SwapDetails />\n <SwapModeSwitcher />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nconst WidgetBase = ({ config, provider }: WidgetProps) => {\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\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 [externalProviderAtom, provider || null],\n ]);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config?.theme,\n enableDelta: config?.enableDelta,\n partner: config?.partner,\n privyAppId: config?.privyAppId,\n privyClientId: config?.privyClientId,\n debug: config?.debug,\n widgetMode: config?.widgetMode,\n });\n }, [\n config?.theme,\n config?.enableDelta,\n config?.partner,\n config?.privyAppId,\n config?.privyClientId,\n config?.debug,\n config?.widgetMode,\n setWidgetConfig,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider }: WidgetProps) => {\n return (\n <JotaiProvider>\n <WidgetBase config={config} provider={provider} />\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n const { containerRef, isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition();\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className=\"overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute\"\n ref={setContainerElement}\n />\n <div className=\"relative flex flex-col max-w-[460px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\">\n {children}\n </div>\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction TokenFromInput() {\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 TokenToInput() {\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 WidgetTokenSwitcher() {\n const tokenSwitcherProps = useTokenSwitcherProps();\n return <TokenSwitcher {...tokenSwitcherProps} />;\n}\n\nfunction WidgetButton() {\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?.toString() ?? \"0\",\n toAmount: tokenToInputProps.amount?.toString() ?? \"0\",\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 <ButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n {...extraProps}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction WidgetReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress classes={{ root: \"mt-2\" }} />\n ) : null;\n}\n\nfunction SwapModeSwitcher() {\n const { delta, market } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market OrderRouting if marketPrice is available\n // 2. Show nothing if only delta price is available\n if (delta.price && market.price) {\n return <SwapModeSwitcherExpandable classes={{ root: \"mt-4\" }} />;\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: DeltaOrderTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction ButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <TradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","App","$","_c","t0","Symbol","for","WidgetBase","config","provider","setWidgetConfig","useSetAtom","setWidgetConfigAtom","t1","defaultWidgetConfig","t2","t3","externalProviderAtom","t4","useHydrateAtoms","t5","debug","enableDelta","partner","privyAppId","privyClientId","theme","widgetMode","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","setExternalProvider","t14","t15","t16","import","Widget","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","containerRef","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","cn","dark","WIDGET_ELEMENT_ID","WidgetHeader","root","TokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","TokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","WidgetTokenSwitcher","tokenSwitcherProps","useTokenSwitcherProps","WidgetButton","amount","token","fromToken","toToken","fromAmount","toString","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","WidgetReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","ButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { DialogRoot } from \"@/components/widget/Dialog/DialogRoot\";\nimport { Button } from \"@/components/ui/button\";\nimport { JotaiProvider, Web3Providers } from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useTokenSwitcherProps } 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 DeltaOrderTradeOverviewProps } from \"@/components/widget/TradeOverview/DeltaOrderTradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { useSetAtom } from \"jotai\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect } from \"react\";\nimport { defaultWidgetConfig, useWidgetConfig } from \"./state/configAtom\";\nimport { setWidgetConfigAtom } 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 { TradeFlowButton } from \"./TradeFlowButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\n\nrunSubscriptions();\n\nconst App = () => {\n return (\n <Containers>\n <DialogRoot />\n <WidgetHeader />\n <TokenFromInput />\n <WidgetTokenSwitcher />\n <TokenToInput />\n <WidgetReceiverAddress />\n <WidgetButton />\n <SwapDetails />\n <SwapModeSwitcher />\n <PoweredBy />\n <Toaster />\n </Containers>\n );\n};\n\nconst WidgetBase = ({ config, provider }: WidgetProps) => {\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\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 [externalProviderAtom, provider || null],\n ]);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config?.theme,\n enableDelta: config?.enableDelta,\n partner: config?.partner,\n privyAppId: config?.privyAppId,\n privyClientId: config?.privyClientId,\n debug: config?.debug,\n widgetMode: config?.widgetMode,\n });\n }, [\n config?.theme,\n config?.enableDelta,\n config?.partner,\n config?.privyAppId,\n config?.privyClientId,\n config?.debug,\n config?.widgetMode,\n setWidgetConfig,\n ]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n return (\n <Web3Providers>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({ config, provider }: WidgetProps) => {\n return (\n <JotaiProvider>\n <WidgetBase config={config} provider={provider} />\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n const widgetConfig = useWidgetConfig();\n\n const { containerRef, isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition();\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className=\"overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute\"\n ref={setContainerElement}\n />\n <div className=\"relative flex flex-col max-w-[460px] w-full pt-[24px] px-[24px] pb-[18px] bg-contrast-9 dark:bg-contrast-3 border border-contrast-7 dark:border-contrast-4 rounded-xxl\">\n {children}\n </div>\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction TokenFromInput() {\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 TokenToInput() {\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 WidgetTokenSwitcher() {\n const tokenSwitcherProps = useTokenSwitcherProps();\n return <TokenSwitcher {...tokenSwitcherProps} />;\n}\n\nfunction WidgetButton() {\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?.toString() ?? \"0\",\n toAmount: tokenToInputProps.amount?.toString() ?? \"0\",\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 <ButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n wrapEthProps={wrapEthProps}\n {...extraProps}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction WidgetReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress classes={{ root: \"mt-2\" }} />\n ) : null;\n}\n\nfunction SwapModeSwitcher() {\n const { delta, market } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice is available\n // 2. Show nothing if only delta price is available\n if (delta.price && market.price) {\n return <SwapModeSwitcherExpandable classes={{ root: \"mt-4\" }} />;\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: DeltaOrderTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n wrapEthProps: WrapEthProps;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction ButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <TradeFlowButton\n orderProps={orderProps}\n drawerContainer={drawerContainer}\n marketPrice={marketPrice}\n deltaPrice={deltaPrice}\n priceMode={priceMode}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n"],"names":["runSubscriptions","App","$","_c","t0","Symbol","for","WidgetBase","config","provider","setWidgetConfig","useSetAtom","setWidgetConfigAtom","t1","defaultWidgetConfig","t2","t3","externalProviderAtom","t4","useHydrateAtoms","t5","debug","enableDelta","partner","privyAppId","privyClientId","theme","widgetMode","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","setExternalProvider","t14","t15","t16","import","Widget","Containers","children","setContainerElement","containerAtom","widgetConfig","useWidgetConfig","containerRef","isDrawerFullCover","isDrawerOpen","useDrawerContainerHeightTransition","partialDrawerOpen","cn","dark","WIDGET_ELEMENT_ID","WidgetHeader","root","TokenFromInput","overrides","useTokenInputsFromPrice","isLoading","price","priceMode","tokenFromAmount","override","activeSwapMode","isPriceLoading","tokenFromInputProps","useTokenFromInputProps","TokenToInput","error","tokenToAmount","priceError","tokenToInputProps","useTokenToInputProps","WidgetTokenSwitcher","tokenSwitcherProps","useTokenSwitcherProps","WidgetButton","amount","token","fromToken","toToken","fromAmount","toString","toAmount","undefined","orderProps","wrapEthProps","useWrapEthProps","tokenFrom","tokenTo","extraProps","useWidgetButtonExtraProps","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","WidgetReceiverAddress","isConnected","useAccount","shouldShowReceiverAddress","SwapModeSwitcher","enabled","delta","market","useSwapPrices","ButtonWithDrawer","buttonProps","deltaPrice","drawerContainer","labelOverride","marketPrice","shouldWrap"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RateParamsInput } from './market/queries/useMarketPriceQuery';
|
|
2
2
|
import { MarkOptional, MarkRequired } from 'ts-essentials';
|
|
3
3
|
import { SupportedChainId } from '../../../lib/web3/wagmi/types';
|
|
4
|
-
type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee">, "destToken">, "srcDecimals" | "side">;
|
|
4
|
+
type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee" | "otherExchangePrices">, "destToken">, "srcDecimals" | "side">;
|
|
5
5
|
export declare function usePricesParams(): {
|
|
6
6
|
priceParams: FetchPriceParams;
|
|
7
7
|
isCrossChain: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAW5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,KAAK,gBAAgB,GAAG,YAAY,CAClC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAW5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,KAAK,gBAAgB,GAAG,YAAY,CAClC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,CACxB,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAoDA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport {\n tokenFromAtom,\n tokenToAtom,\n} from \"@/core/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\n\ntype FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n\n const partner = widgetConfig.partner;\n\n const isCrossChain = useIsCrossChain();\n\n const side = useSwapSide();\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: false, // safer to ignore for all tokens to allow those without USD price\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","$","_c","fromToken","useAtomValue","tokenFromAtom","toToken","tokenToAtom","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","widgetConfig","useWidgetConfig","partner","isCrossChain","useIsCrossChain","side","useSwapSide","amount","t6","t7","decimals","t8","srcToken","destToken","srcDecimals","destDecimals","userAddress","ignoreBadUsdPrice","priceParams","t9","undefined","t10","destChainId"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport {\n tokenFromAtom,\n tokenToAtom,\n} from \"@/core/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\n\ntype FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n\n const partner = widgetConfig.partner;\n\n const isCrossChain = useIsCrossChain();\n\n const side = useSwapSide();\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: false, // safer to ignore for all tokens to allow those without USD price\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","$","_c","fromToken","useAtomValue","tokenFromAtom","toToken","tokenToAtom","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","widgetConfig","useWidgetConfig","partner","isCrossChain","useIsCrossChain","side","useSwapSide","amount","t6","t7","decimals","t8","srcToken","destToken","srcDecimals","destDecimals","userAddress","ignoreBadUsdPrice","otherExchangePrices","priceParams","t9","undefined","t10","destChainId"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Token } from '../../tokens/state/types';
|
|
2
2
|
import { ClassValue } from 'clsx';
|
|
3
|
+
import { NonEmptyArray } from 'ts-essentials';
|
|
3
4
|
export declare function cn(...inputs: ClassValue[]): string;
|
|
4
5
|
export declare function gatherObjectsByProp<T>(elements: T[], pickProp: (elem: T) => string): Record<string, T>;
|
|
5
6
|
export declare function gatherObjectsByProp<T, U>(elements: T[], pickProp: (elem: T) => string, transform: (elem: T, accumElem?: U) => U): Record<string, U>;
|
|
@@ -18,4 +19,5 @@ export declare const stringIncludes: (a: string, b: string) => boolean;
|
|
|
18
19
|
*/
|
|
19
20
|
export declare const shortenText: (str: string, start: number, end?: number) => string;
|
|
20
21
|
export declare function shortenAddress(address: string, slashIndex?: number, rightCutLength?: number): string;
|
|
22
|
+
export declare const isNonEmptyArray: <T>(array: T[]) => array is NonEmptyArray<T>;
|
|
21
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAwBrB,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,QAAQ,EAAE,CAAC,EAAE,EAEb,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GACvC,CAAC,EAAE,CAWL;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,CAAC,IAAI,CACvE,CAAC;AAEN,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,eAAO,MAAM,yBAAyB,GAAI,cAEvC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,YAAqC,CAAC;AAE/D,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAErD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,MAAM,EACX,OAAO,MAAM,EACb,MAAK,MAAU,KACd,MAGF,CAAC;AAEF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,EACd,cAAc,SAAI,GACjB,MAAM,CAGR;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAEvE,CAAC"}
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -43,6 +43,9 @@ const shortenText = (str, start, end = 0) => {
|
|
|
43
43
|
function shortenAddress(address, slashIndex = 6, rightCutLength = 4) {
|
|
44
44
|
return shortenText(address, slashIndex, rightCutLength);
|
|
45
45
|
}
|
|
46
|
+
const isNonEmptyArray = (array) => {
|
|
47
|
+
return array.length > 0;
|
|
48
|
+
};
|
|
46
49
|
|
|
47
|
-
export { cn, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isTruthy, shortenAddress, shortenText, stringIncludes };
|
|
50
|
+
export { cn, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isNonEmptyArray, isTruthy, shortenAddress, shortenText, stringIncludes };
|
|
48
51
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(x: T | false | 0 | \"\" | null | undefined): x is T =>\n !!x;\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport type { NonEmptyArray } from \"ts-essentials\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(x: T | false | 0 | \"\" | null | undefined): x is T =>\n !!x;\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n\nexport const isNonEmptyArray = <T>(array: T[]): array is NonEmptyArray<T> => {\n return array.length > 0;\n};\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength","isNonEmptyArray","array"],"mappings":";;;AAKO,SAASA,MAAMC,MAAAA,EAAsB;AAC1C,EAAA,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,MAAM,CAAC,CAAA;AAC7B;AAcO,SAASG,mBAAAA,CACdC,QAAAA,EACAC,QAAAA,EACAC,SAAAA,EACuC;AACvC,EAAA,OAAOF,QAAAA,CAASG,MAAAA,CACd,CAACC,KAAAA,EAAOC,OAAAA,KAAY;AAClB,IAAA,MAAMC,GAAAA,GAAML,SAASI,OAAO,CAAA;AAE5B,IAAA,MAAME,SAAAA,GAA+BH,MAAME,GAAG,CAAA;AAC9C,IAAA,MAAME,kBAAAA,GAAqBN,SAAAA;AAAAA;AAAAA,MAEvBA,SAAAA,CAAUG,SAASE,SAA0B;AAAA,QAC7CF,OAAAA;AAEJD,IAAAA,KAAAA,CAAME,GAAG,CAAA,GAAIE,kBAAAA;AAEb,IAAA,OAAOJ,KAAAA;AAAAA,EACT,CAAA,EACA,EACF,CAAA;AACF;AAEO,SAASK,YAAAA,CACdT,UAEAU,mBAAAA,EACK;AACL,EAAA,IAAIV,QAAAA,CAASW,MAAAA,IAAU,CAAA,EAAG,OAAOX,QAAAA;AACjC,EAAA,MAAMY,OAAAA,uBAAcC,GAAAA,EAAO;AAE3B,EAAA,OAAOb,QAAAA,CAASc,OAAQT,CAAAA,OAAAA,KAAY;AAClC,IAAA,MAAMU,IAAAA,GAAOL,oBAAoBL,OAAO,CAAA;AACxC,IAAA,IAAIU,IAAAA,CAAKC,KAAMV,CAAAA,GAAAA,KAAQM,OAAAA,CAAQK,IAAIX,GAAG,CAAC,GAAG,OAAO,KAAA;AAEjDS,IAAAA,IAAAA,CAAKG,OAAAA,CAASZ,CAAAA,GAAAA,KAAQM,OAAAA,CAAQO,GAAAA,CAAIb,GAAG,CAAC,CAAA;AACtC,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,MAAMc,QAAAA,GAAW,CAAIC,CAAAA,KAC1B,CAAC,CAACA;AAEG,SAASC,wBAAwBC,YAAAA,EAA+B;AACrE,EAAA,OAAOA,aAAaZ,MAAAA,KAAW,EAAA;AACjC;AAEO,MAAMa,4BAA4BA,CAAC;AAAA,EACxCC;AACsB,CAAA,KAAMH,wBAAwBG,OAAO;AAEtD,MAAMC,cAAAA,GAAiBA,CAACC,CAAAA,EAAWC,CAAAA,KAAuB;AAC/D,EAAA,OAAOD,EAAEE,WAAAA,EAAY,CAAEC,QAAAA,CAASF,CAAAA,CAAEC,aAAa,CAAA;AACjD;AAUO,MAAME,WAAAA,GAAcA,CACzBC,GAAAA,EACAC,KAAAA,EACAC,MAAc,CAAA,KACH;AACX,EAAA,MAAMC,SAAS,IAAIC,MAAAA,CAAO,MAAMH,KAAK,CAAA,UAAA,EAAaC,GAAG,CAAA,EAAA,CAAI,CAAA;AACzD,EAAA,OAAOF,GAAAA,CAAIK,OAAAA,CAAQF,MAAAA,EAAQ,SAAS,CAAA;AACtC;AAEO,SAASG,cAAAA,CACdb,OAAAA,EACAc,UAAAA,GAAa,CAAA,EACbC,iBAAiB,CAAA,EACT;AAER,EAAA,OAAOT,WAAAA,CAAYN,OAAAA,EAASc,UAAAA,EAAYC,cAAc,CAAA;AACxD;AAEO,MAAMC,eAAAA,GAAkB,CAAIC,KAAAA,KAA0C;AAC3E,EAAA,OAAOA,MAAM/B,MAAAA,GAAS,CAAA;AACxB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"savedAmountUSD.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/savedAmountUSD.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOnD,eAAO,MAAM,iBAAiB,GAC5B,YAAY,IAAI,CACd,WAAW,EACX,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAClE,KACA,MAAM,GAAG,SAkEX,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { isNonEmptyArray } from './index.js';
|
|
2
|
+
import { subtractFee } from './fee.js';
|
|
3
|
+
import Big from 'big.js';
|
|
4
|
+
|
|
5
|
+
const DEST_AMOUNT_THRESHOLD = 0.5;
|
|
6
|
+
const getSavedAmountUSD = (priceRoute) => {
|
|
7
|
+
const {
|
|
8
|
+
others,
|
|
9
|
+
destAmount,
|
|
10
|
+
destUSD,
|
|
11
|
+
gasCostUSD,
|
|
12
|
+
partnerFee
|
|
13
|
+
} = priceRoute;
|
|
14
|
+
if (!destUSD || !others || !isNonEmptyArray(others)) return;
|
|
15
|
+
const veloraDestAmount = new Big(destAmount);
|
|
16
|
+
if (veloraDestAmount.eq(0)) return;
|
|
17
|
+
const dollarsPerUnit = new Big(destUSD).div(veloraDestAmount);
|
|
18
|
+
const {
|
|
19
|
+
totalUSD: bestOthersDexTotalUsd,
|
|
20
|
+
destAmount: bestOthersDexDestAmount
|
|
21
|
+
} = others.reduce((maxTotal, exchange) => {
|
|
22
|
+
if (!exchange?.data?.gasUSD) return maxTotal;
|
|
23
|
+
const destAmount2 = subtractFee(exchange.destAmount, partnerFee);
|
|
24
|
+
const {
|
|
25
|
+
data: {
|
|
26
|
+
gasUSD
|
|
27
|
+
}
|
|
28
|
+
} = exchange;
|
|
29
|
+
const destAmountBN = new Big(destAmount2);
|
|
30
|
+
const destUSD2 = destAmountBN.mul(dollarsPerUnit);
|
|
31
|
+
const totalUSD = destUSD2.minus(gasUSD);
|
|
32
|
+
if (totalUSD.gt(maxTotal.totalUSD)) {
|
|
33
|
+
return {
|
|
34
|
+
totalUSD,
|
|
35
|
+
destAmount: destAmountBN
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return maxTotal;
|
|
39
|
+
}, {
|
|
40
|
+
totalUSD: new Big(0),
|
|
41
|
+
destAmount: new Big(0)
|
|
42
|
+
});
|
|
43
|
+
if (bestOthersDexTotalUsd.eq(0)) return;
|
|
44
|
+
if (
|
|
45
|
+
// destAmount of the best Other DEX is < DEST_AMOUNT_THRESHOLD of Velora destAmount
|
|
46
|
+
// means that that DEX alone can't cover the whole srcAmount
|
|
47
|
+
// so You Save would be a large number not representative of reality
|
|
48
|
+
bestOthersDexDestAmount.div(veloraDestAmount).lte(DEST_AMOUNT_THRESHOLD)
|
|
49
|
+
) return;
|
|
50
|
+
const veloraTotalUsd = new Big(subtractFee(destUSD, partnerFee)).minus(gasCostUSD);
|
|
51
|
+
const youSaveUsd = veloraTotalUsd.minus(bestOthersDexTotalUsd);
|
|
52
|
+
if (youSaveUsd.lte(0.01)) return;
|
|
53
|
+
return youSaveUsd.toNumber();
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export { getSavedAmountUSD };
|
|
57
|
+
//# sourceMappingURL=savedAmountUSD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"savedAmountUSD.js","sources":["../../../src/lib/utils/savedAmountUSD.ts"],"sourcesContent":["import { isNonEmptyArray } from \"@/lib/utils\";\nimport { subtractFee } from \"@/lib/utils/fee\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport Big from \"big.js\";\n\n// if other DEXs have less than destAmount\n// don't count in `You save`\nconst DEST_AMOUNT_THRESHOLD = 0.5; // 50%\n\nexport const getSavedAmountUSD = (\n priceRoute: Pick<\n OptimalRate,\n \"others\" | \"destUSD\" | \"gasCostUSD\" | \"destAmount\" | \"partnerFee\"\n >\n): number | undefined => {\n const { others, destAmount, destUSD, gasCostUSD, partnerFee } = priceRoute;\n\n // missing arguments required for calc - early return\n if (\n !destUSD ||\n !others ||\n !isNonEmptyArray(others) // others must have at least one dex to compare to\n )\n return;\n\n const veloraDestAmount = new Big(destAmount);\n\n if (veloraDestAmount.eq(0)) return;\n\n const dollarsPerUnit = new Big(destUSD).div(veloraDestAmount);\n\n const {\n totalUSD: bestOthersDexTotalUsd,\n destAmount: bestOthersDexDestAmount,\n } = others.reduce<Record<\"totalUSD\" | \"destAmount\", Big>>(\n (maxTotal, exchange) => {\n // don't have data for this exchange -> skip it from calculation of the best of others\n if (!exchange?.data?.gasUSD) return maxTotal;\n\n const destAmount = subtractFee(exchange.destAmount, partnerFee);\n const {\n data: { gasUSD },\n } = exchange;\n\n const destAmountBN = new Big(destAmount);\n const destUSD = destAmountBN.mul(dollarsPerUnit);\n const totalUSD = destUSD.minus(gasUSD);\n\n if (totalUSD.gt(maxTotal.totalUSD)) {\n return {\n totalUSD,\n destAmount: destAmountBN,\n };\n }\n\n return maxTotal;\n },\n { totalUSD: new Big(0), destAmount: new Big(0) }\n );\n\n // no exchange from priceRoute.others had `gasUSD`\n if (bestOthersDexTotalUsd.eq(0)) return;\n\n if (\n // destAmount of the best Other DEX is < DEST_AMOUNT_THRESHOLD of Velora destAmount\n // means that that DEX alone can't cover the whole srcAmount\n // so You Save would be a large number not representative of reality\n bestOthersDexDestAmount.div(veloraDestAmount).lte(DEST_AMOUNT_THRESHOLD)\n )\n return;\n\n const veloraTotalUsd = new Big(subtractFee(destUSD, partnerFee)).minus(\n gasCostUSD\n );\n\n const youSaveUsd = veloraTotalUsd.minus(bestOthersDexTotalUsd);\n // very small amount or negative\n if (youSaveUsd.lte(0.01)) return;\n\n return youSaveUsd.toNumber();\n};\n"],"names":["DEST_AMOUNT_THRESHOLD","getSavedAmountUSD","priceRoute","others","destAmount","destUSD","gasCostUSD","partnerFee","isNonEmptyArray","veloraDestAmount","Big","eq","dollarsPerUnit","div","totalUSD","bestOthersDexTotalUsd","bestOthersDexDestAmount","reduce","maxTotal","exchange","data","gasUSD","subtractFee","destAmountBN","mul","minus","gt","lte","veloraTotalUsd","youSaveUsd","toNumber"],"mappings":";;;;AAOA,MAAMA,qBAAAA,GAAwB,GAAA;AAEvB,MAAMC,iBAAAA,GAAoBA,CAC/BC,UAAAA,KAIuB;AACvB,EAAA,MAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAQC,UAAAA;AAAAA,IAAYC,OAAAA;AAAAA,IAASC,UAAAA;AAAAA,IAAYC;AAAAA,GAAW,GAAIL,UAAAA;AAGhE,EAAA,IACE,CAACG,OAAAA,IACD,CAACF,UACD,CAACK,eAAAA,CAAgBL,MAAM,CAAA,EAEvB;AAEF,EAAA,MAAMM,gBAAAA,GAAmB,IAAIC,GAAAA,CAAIN,UAAU,CAAA;AAE3C,EAAA,IAAIK,gBAAAA,CAAiBE,EAAAA,CAAG,CAAC,CAAA,EAAG;AAE5B,EAAA,MAAMC,iBAAiB,IAAIF,GAAAA,CAAIL,OAAO,CAAA,CAAEQ,IAAIJ,gBAAgB,CAAA;AAE5D,EAAA,MAAM;AAAA,IACJK,QAAAA,EAAUC,qBAAAA;AAAAA,IACVX,UAAAA,EAAYY;AAAAA,GACd,GAAIb,MAAAA,CAAOc,MAAAA,CACT,CAACC,UAAUC,QAAAA,KAAa;AAEtB,IAAA,IAAI,CAACA,QAAAA,EAAUC,IAAAA,EAAMC,MAAAA,EAAQ,OAAOH,QAAAA;AAEpC,IAAA,MAAMd,WAAAA,GAAakB,WAAAA,CAAYH,QAAAA,CAASf,UAAAA,EAAYG,UAAU,CAAA;AAC9D,IAAA,MAAM;AAAA,MACJa,IAAAA,EAAM;AAAA,QAAEC;AAAAA;AAAO,KACjB,GAAIF,QAAAA;AAEJ,IAAA,MAAMI,YAAAA,GAAe,IAAIb,GAAAA,CAAIN,WAAU,CAAA;AACvC,IAAA,MAAMC,QAAAA,GAAUkB,YAAAA,CAAaC,GAAAA,CAAIZ,cAAc,CAAA;AAC/C,IAAA,MAAME,QAAAA,GAAWT,QAAAA,CAAQoB,KAAAA,CAAMJ,MAAM,CAAA;AAErC,IAAA,IAAIP,QAAAA,CAASY,EAAAA,CAAGR,QAAAA,CAASJ,QAAQ,CAAA,EAAG;AAClC,MAAA,OAAO;AAAA,QACLA,QAAAA;AAAAA,QACAV,UAAAA,EAAYmB;AAAAA,OACd;AAAA,IACF;AAEA,IAAA,OAAOL,QAAAA;AAAAA,EACT,CAAA,EACA;AAAA,IAAEJ,QAAAA,EAAU,IAAIJ,GAAAA,CAAI,CAAC,CAAA;AAAA,IAAGN,UAAAA,EAAY,IAAIM,GAAAA,CAAI,CAAC;AAAA,GAC/C,CAAA;AAGA,EAAA,IAAIK,qBAAAA,CAAsBJ,EAAAA,CAAG,CAAC,CAAA,EAAG;AAEjC,EAAA;AAAA;AAAA;AAAA;AAAA,IAIEK,uBAAAA,CAAwBH,GAAAA,CAAIJ,gBAAgB,CAAA,CAAEkB,IAAI3B,qBAAqB;AAAA,IAEvE;AAEF,EAAA,MAAM4B,cAAAA,GAAiB,IAAIlB,GAAAA,CAAIY,WAAAA,CAAYjB,SAASE,UAAU,CAAC,CAAA,CAAEkB,KAAAA,CAC/DnB,UACF,CAAA;AAEA,EAAA,MAAMuB,UAAAA,GAAaD,cAAAA,CAAeH,KAAAA,CAAMV,qBAAqB,CAAA;AAE7D,EAAA,IAAIc,UAAAA,CAAWF,GAAAA,CAAI,IAAI,CAAA,EAAG;AAE1B,EAAA,OAAOE,WAAWC,QAAAA,EAAS;AAC7B;;;;"}
|
package/dist/styles.css
CHANGED
|
@@ -791,6 +791,9 @@
|
|
|
791
791
|
.velora-widget.velora-widget .min-w-\[160px\] {
|
|
792
792
|
min-width: 160px;
|
|
793
793
|
}
|
|
794
|
+
.velora-widget.velora-widget .min-w-\[200px\] {
|
|
795
|
+
min-width: 200px;
|
|
796
|
+
}
|
|
794
797
|
.velora-widget.velora-widget .min-w-\[220px\] {
|
|
795
798
|
min-width: 220px;
|
|
796
799
|
}
|
|
@@ -1009,9 +1012,6 @@
|
|
|
1009
1012
|
.velora-widget.velora-widget .rounded-\[4px\] {
|
|
1010
1013
|
border-radius: 4px;
|
|
1011
1014
|
}
|
|
1012
|
-
.velora-widget.velora-widget .rounded-\[10px\] {
|
|
1013
|
-
border-radius: 10px;
|
|
1014
|
-
}
|
|
1015
1015
|
.velora-widget.velora-widget .rounded-\[12px\] {
|
|
1016
1016
|
border-radius: 12px;
|
|
1017
1017
|
}
|
|
@@ -1344,6 +1344,9 @@
|
|
|
1344
1344
|
.velora-widget.velora-widget .pt-\[24px\] {
|
|
1345
1345
|
padding-top: 24px;
|
|
1346
1346
|
}
|
|
1347
|
+
.velora-widget.velora-widget .pr-0\.5 {
|
|
1348
|
+
padding-right: calc(var(--spacing) * .5);
|
|
1349
|
+
}
|
|
1347
1350
|
.velora-widget.velora-widget .pr-2 {
|
|
1348
1351
|
padding-right: calc(var(--spacing) * 2);
|
|
1349
1352
|
}
|
|
@@ -1410,6 +1413,9 @@
|
|
|
1410
1413
|
.velora-widget.velora-widget .text-center {
|
|
1411
1414
|
text-align: center;
|
|
1412
1415
|
}
|
|
1416
|
+
.velora-widget.velora-widget .text-end {
|
|
1417
|
+
text-align: end;
|
|
1418
|
+
}
|
|
1413
1419
|
.velora-widget.velora-widget .text-left {
|
|
1414
1420
|
text-align: left;
|
|
1415
1421
|
}
|
|
@@ -1448,6 +1454,9 @@
|
|
|
1448
1454
|
.velora-widget.velora-widget .text-\[10px\] {
|
|
1449
1455
|
font-size: 10px;
|
|
1450
1456
|
}
|
|
1457
|
+
.velora-widget.velora-widget .text-\[11px\] {
|
|
1458
|
+
font-size: 11px;
|
|
1459
|
+
}
|
|
1451
1460
|
.velora-widget.velora-widget .text-\[18px\] {
|
|
1452
1461
|
font-size: 18px;
|
|
1453
1462
|
}
|
|
@@ -1483,6 +1492,9 @@
|
|
|
1483
1492
|
.velora-widget.velora-widget .text-wrap {
|
|
1484
1493
|
text-wrap: wrap;
|
|
1485
1494
|
}
|
|
1495
|
+
.velora-widget.velora-widget .wrap-anywhere {
|
|
1496
|
+
overflow-wrap: anywhere;
|
|
1497
|
+
}
|
|
1486
1498
|
.velora-widget.velora-widget .text-ellipsis {
|
|
1487
1499
|
text-overflow: ellipsis;
|
|
1488
1500
|
}
|
|
@@ -2328,6 +2340,9 @@
|
|
|
2328
2340
|
.velora-widget.velora-widget .dark\:stroke-contrast-7:is(.velora-widget.dark *) {
|
|
2329
2341
|
stroke: var(--contrast-7);
|
|
2330
2342
|
}
|
|
2343
|
+
.velora-widget.velora-widget .dark\:text-contrast-3:is(.velora-widget.dark *) {
|
|
2344
|
+
color: var(--contrast-3);
|
|
2345
|
+
}
|
|
2331
2346
|
.velora-widget.velora-widget .dark\:text-contrast-4:is(.velora-widget.dark *) {
|
|
2332
2347
|
color: var(--contrast-4);
|
|
2333
2348
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velora-dex/widget",
|
|
3
|
-
"version": "0.1.0-rc.
|
|
3
|
+
"version": "0.1.0-rc.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
"jotai-immer": "^0.4.1",
|
|
87
87
|
"lucide-react": "^0.536.0",
|
|
88
88
|
"react-compiler-runtime": "19.1.0-rc.2",
|
|
89
|
+
"react-error-boundary": "^6.0.0",
|
|
89
90
|
"react-number-format": "^5.4.4",
|
|
90
91
|
"sonner": "^2.0.7",
|
|
91
92
|
"tailwind-merge": "^3.3.1",
|