@velora-dex/widget 0.1.0-rc.0 → 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.
Files changed (153) hide show
  1. package/dist/components/ui/drawer.js +1 -1
  2. package/dist/components/ui/drawer.js.map +1 -1
  3. package/dist/components/web3/providers.d.ts +3 -0
  4. package/dist/components/web3/providers.d.ts.map +1 -1
  5. package/dist/components/web3/providers.js +18 -1
  6. package/dist/components/web3/providers.js.map +1 -1
  7. package/dist/components/widget/Details/DetailWithValueList.d.ts.map +1 -1
  8. package/dist/components/widget/Details/DetailWithValueList.js +38 -28
  9. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  10. package/dist/components/widget/Details/types.d.ts +1 -1
  11. package/dist/components/widget/Details/types.d.ts.map +1 -1
  12. package/dist/components/widget/DexesList/DexItem.d.ts +3 -0
  13. package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -0
  14. package/dist/components/widget/DexesList/DexItem.js +366 -0
  15. package/dist/components/widget/DexesList/DexItem.js.map +1 -0
  16. package/dist/components/widget/DexesList/DexesList.d.ts +10 -0
  17. package/dist/components/widget/DexesList/DexesList.d.ts.map +1 -0
  18. package/dist/components/widget/DexesList/DexesList.js +71 -0
  19. package/dist/components/widget/DexesList/DexesList.js.map +1 -0
  20. package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js +4 -0
  21. package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js.map +1 -0
  22. package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js +4 -0
  23. package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js.map +1 -0
  24. package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js +4 -0
  25. package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js.map +1 -0
  26. package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js +4 -0
  27. package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js.map +1 -0
  28. package/dist/components/widget/DexesList/assets/exchanges/icons.json.d.ts +82 -0
  29. package/dist/components/widget/DexesList/assets/exchanges/icons.json.js +159 -0
  30. package/dist/components/widget/DexesList/assets/exchanges/icons.json.js.map +1 -0
  31. package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js +4 -0
  32. package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js.map +1 -0
  33. package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js +4 -0
  34. package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js.map +1 -0
  35. package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js +4 -0
  36. package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js.map +1 -0
  37. package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js +4 -0
  38. package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js.map +1 -0
  39. package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js +4 -0
  40. package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js.map +1 -0
  41. package/dist/components/widget/DexesList/assets/gas.svg.js +12 -0
  42. package/dist/components/widget/DexesList/assets/gas.svg.js.map +1 -0
  43. package/dist/components/widget/DexesList/assets/unknown-dex.svg.js +4 -0
  44. package/dist/components/widget/DexesList/assets/unknown-dex.svg.js.map +1 -0
  45. package/dist/components/widget/DexesList/constants.d.ts +2 -0
  46. package/dist/components/widget/DexesList/constants.d.ts.map +1 -0
  47. package/dist/components/widget/DexesList/constants.js +4 -0
  48. package/dist/components/widget/DexesList/constants.js.map +1 -0
  49. package/dist/components/widget/DexesList/getDexProps.d.ts +11 -0
  50. package/dist/components/widget/DexesList/getDexProps.d.ts.map +1 -0
  51. package/dist/components/widget/DexesList/getDexProps.js +94 -0
  52. package/dist/components/widget/DexesList/getDexProps.js.map +1 -0
  53. package/dist/components/widget/DexesList/types.d.ts +15 -0
  54. package/dist/components/widget/DexesList/types.d.ts.map +1 -0
  55. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +1 -1
  56. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  57. package/dist/components/widget/Drawer/Overlay.d.ts +9 -0
  58. package/dist/components/widget/Drawer/Overlay.d.ts.map +1 -0
  59. package/dist/components/widget/Drawer/Overlay.js +62 -0
  60. package/dist/components/widget/Drawer/Overlay.js.map +1 -0
  61. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  62. package/dist/components/widget/Drawer/index.js +2 -1
  63. package/dist/components/widget/Drawer/index.js.map +1 -1
  64. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +3 -0
  65. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  66. package/dist/components/widget/Drawer/state/useDrawerControls.js +1 -1
  67. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  68. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  69. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +1 -2
  70. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  71. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.d.ts.map +1 -1
  72. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +44 -4
  73. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  74. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +1 -1
  75. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  76. package/dist/core/across/utils.d.ts.map +1 -1
  77. package/dist/core/across/utils.js +1 -2
  78. package/dist/core/across/utils.js.map +1 -1
  79. package/dist/core/index.d.ts.map +1 -1
  80. package/dist/core/index.js +93 -85
  81. package/dist/core/index.js.map +1 -1
  82. package/dist/core/inputs/hooks/useTokenToInputProps.js +1 -4
  83. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  84. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  85. package/dist/core/inputs/state/selectedTokenActionsAtom.js +2 -2
  86. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  87. package/dist/core/inputs/state/store.d.ts +6 -0
  88. package/dist/core/inputs/state/store.d.ts.map +1 -0
  89. package/dist/core/inputs/state/store.js +6 -0
  90. package/dist/core/inputs/state/store.js.map +1 -0
  91. package/dist/core/logger.d.ts.map +1 -1
  92. package/dist/core/logger.js +4 -5
  93. package/dist/core/logger.js.map +1 -1
  94. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  95. package/dist/core/swapDetails/useSwapDetailsListProps.js +0 -1
  96. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  97. package/dist/core/swapDetails/youGet.d.ts +1 -3
  98. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  99. package/dist/core/swapDetails/youGet.js +1 -3
  100. package/dist/core/swapDetails/youGet.js.map +1 -1
  101. package/dist/crosschain_token_list.json +3230 -0
  102. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  103. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  104. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  105. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +6 -6
  106. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  107. package/dist/hooks/swap/prices/delta/orders/utils.js +3 -3
  108. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  109. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +2 -1
  110. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  111. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -1
  112. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +5 -2
  114. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  115. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
  116. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  117. package/dist/hooks/swap/prices/usePricesParams.js +2 -1
  118. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  119. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +4 -4
  120. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  121. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  122. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  123. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +1 -1
  124. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  125. package/dist/lib/constants/index.d.ts +1 -1
  126. package/dist/lib/constants/index.d.ts.map +1 -1
  127. package/dist/lib/constants/index.js +1 -1
  128. package/dist/lib/constants/index.js.map +1 -1
  129. package/dist/lib/utils/index.d.ts +2 -0
  130. package/dist/lib/utils/index.d.ts.map +1 -1
  131. package/dist/lib/utils/index.js +4 -1
  132. package/dist/lib/utils/index.js.map +1 -1
  133. package/dist/lib/utils/price.d.ts +2 -6
  134. package/dist/lib/utils/price.d.ts.map +1 -1
  135. package/dist/lib/utils/price.js +6 -13
  136. package/dist/lib/utils/price.js.map +1 -1
  137. package/dist/lib/utils/savedAmountUSD.d.ts +3 -0
  138. package/dist/lib/utils/savedAmountUSD.d.ts.map +1 -0
  139. package/dist/lib/utils/savedAmountUSD.js +57 -0
  140. package/dist/lib/utils/savedAmountUSD.js.map +1 -0
  141. package/dist/lib/utils/toasts.d.ts +2 -2
  142. package/dist/lib/utils/toasts.d.ts.map +1 -1
  143. package/dist/lib/utils/toasts.js.map +1 -1
  144. package/dist/lib/web3/privy/config.js +1 -1
  145. package/dist/lib/web3/wagmi/config.js +1 -1
  146. package/dist/styles.css +23 -8
  147. package/dist/tokens/lists/lists.json.d.ts +84 -2
  148. package/dist/tokens/lists/lists.json.js +104 -2
  149. package/dist/tokens/lists/lists.json.js.map +1 -1
  150. package/dist/tokens/lists/state/observer.js +2 -2
  151. package/dist/tokens/lists/state/observer.js.map +1 -1
  152. package/dist/tokens/lists/utils.js +1 -1
  153. package/package.json +3 -2
@@ -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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"}
@@ -120,7 +120,7 @@ function getSurplusAmounts({
120
120
  if (!txs || txs.length === 0) {
121
121
  return null;
122
122
  }
123
- const expectedAmount = BigInt(result.deltaOrder.lastOrderState?.order.expectedDestAmount || result.deltaOrder.sentOrder.order.expectedDestAmount);
123
+ const expectedAmount = BigInt(result.deltaOrder.lastOrderState?.order.expectedAmount || result.deltaOrder.sentOrder.order.expectedAmount);
124
124
  const actualReceived = txs.reduce((acc, tx) => {
125
125
  return acc + BigInt(tx.receivedAmount);
126
126
  }, 0n);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const { srcToken, destToken } = result.deltaOrder.sentOrder.order;\n\n const fromAmountWei =\n result.deltaOrder.lastOrderState?.order.srcAmount ||\n result.deltaOrder.sentOrder.order.srcAmount;\n const toAmountWei =\n result.deltaOrder.lastOrderState?.order.destAmount ||\n result.deltaOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n // @TODO add BUY support for Delta when available\n isBuy: false,\n };\n }\n\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount show at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedDestAmount ||\n result.deltaOrder.sentOrder.order.expectedDestAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"names":["getExpectedTransferAmounts","result","tradeFlowType","srcToken","destToken","deltaOrder","sentOrder","order","fromAmountWei","lastOrderState","srcAmount","toAmountWei","destAmount","tokensMap","token","sentAmount","BigInt","receivedAmount","isBuy","marketPrice","side","getResultAmounts","fromToken","toToken","undefined","fromAmountUnit","toAmountUnit","rateStr","formatTokenBalanceClean","decimals","rates","calcRate","symbol","address","rateFormatted","toString","getSurplusAmounts","txs","transactions","length","expectedAmount","expectedDestAmount","actualReceived","reduce","acc","tx","diffWei","diffUnit","surplusStr","Number"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const { srcToken, destToken } = result.deltaOrder.sentOrder.order;\n\n const fromAmountWei =\n result.deltaOrder.lastOrderState?.order.srcAmount ||\n result.deltaOrder.sentOrder.order.srcAmount;\n const toAmountWei =\n result.deltaOrder.lastOrderState?.order.destAmount ||\n result.deltaOrder.sentOrder.order.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n // @TODO add BUY support for Delta when available\n isBuy: false,\n };\n }\n\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount show at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"names":["getExpectedTransferAmounts","result","tradeFlowType","srcToken","destToken","deltaOrder","sentOrder","order","fromAmountWei","lastOrderState","srcAmount","toAmountWei","destAmount","tokensMap","token","sentAmount","BigInt","receivedAmount","isBuy","marketPrice","side","getResultAmounts","fromToken","toToken","undefined","fromAmountUnit","toAmountUnit","rateStr","formatTokenBalanceClean","decimals","rates","calcRate","symbol","address","rateFormatted","toString","getSurplusAmounts","txs","transactions","length","expectedAmount","actualReceived","reduce","acc","tx","diffWei","diffUnit","surplusStr","Number"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/across/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,OAAO,CAUV;AAED,wBAAgB,wBAAwB,CAAC,EACvC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,aAAa,GAAG,SAAS,CAkB5B;AAED,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAa9C"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/across/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,OAAO,CAUV;AAED,wBAAgB,wBAAwB,CAAC,EACvC,WAAW,EACX,SAAS,GACV,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,GAAG,aAAa,GAAG,SAAS,CAiB5B;AAED,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAa9C"}
@@ -1,6 +1,6 @@
1
1
  import { queryClient } from '../../lib/queryClient.js';
2
2
  import { fromListsAtom } from '../../tokens/state/tokensAtom.js';
3
- import { getDefaultStore } from 'jotai';
3
+ import { jotaiStore } from '../inputs/state/store.js';
4
4
 
5
5
  function isAcrossAvailable({
6
6
  chainIdFrom,
@@ -17,7 +17,6 @@ function findFirstTokenFromAcross({
17
17
  }) {
18
18
  const cachedBridgeInfo = queryClient.getQueryData(["swap/delta/bridge-info"]);
19
19
  if (!cachedBridgeInfo) return;
20
- const jotaiStore = getDefaultStore();
21
20
  const tokenMap = jotaiStore.get(fromListsAtom).listByChainId[toChainId]?.addressMap;
22
21
  const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];
23
22
  const tokenToAddress = acrossTokens?.find((address) => tokenMap?.[address.toLowerCase()]);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { fromListsAtom } from \"@/tokens/state/tokensAtom\";\nimport type { Token, TokenFromList } from \"@/tokens/state/types\";\n\nimport { getDefaultStore } from \"jotai\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n}): boolean {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n}): TokenFromList | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return;\n\n const jotaiStore = getDefaultStore();\n const tokenMap =\n jotaiStore.get(fromListsAtom).listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"names":["isAcrossAvailable","chainIdFrom","chainIdTo","cachedBridgeInfo","queryClient","getQueryData","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","jotaiStore","getDefaultStore","tokenMap","get","fromListsAtom","listByChainId","addressMap","tokenToAddress","find","address","toLowerCase","undefined","isTokenFromAcross","token","tokenAddresses","isIncluded"],"mappings":";;;;AAQO,SAASA,iBAAAA,CAAkB;AAAA,EAChCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAAY;AACV,EAAA,MAAMC,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,kBAAkB,OAAO,KAAA;AAE9B,EAAA,MAAMG,YAAAA,GAAeH,gBAAAA,CAAiBF,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,OAAO,CAAC,CAACI,YAAAA,EAAcC,MAAAA;AACzB;AAEO,SAASC,wBAAAA,CAAyB;AAAA,EACvCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAA8B;AAC5B,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AAEvB,EAAA,MAAMQ,aAAaC,eAAAA,EAAgB;AACnC,EAAA,MAAMC,WACJF,UAAAA,CAAWG,GAAAA,CAAIC,aAAa,CAAA,CAAEC,aAAAA,CAAcN,SAAS,CAAA,EAAGO,UAAAA;AAE1D,EAAA,MAAMX,YAAAA,GAAeH,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,MAAMQ,cAAAA,GAAiBZ,cAAca,IAAAA,CAClCC,CAAAA,OAAAA,KAAYP,WAAWO,OAAAA,CAAQC,WAAAA,EAAa,CAC/C,CAAA;AAEA,EAAA,OAAOH,cAAAA,GAAiBL,QAAAA,GAAWK,cAAAA,CAAeG,WAAAA,EAAa,CAAA,GAAIC,MAAAA;AACrE;AAQO,SAASC,iBAAAA,CAAkB;AAAA,EAChCC,KAAAA;AAAAA,EACAf,WAAAA;AAAAA,EACAC;AACsB,CAAA,EAAwB;AAC9C,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AACD,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AACvB,EAAA,MAAMsB,cAAAA,GAAiBtB,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAEhE,EAAA,IAAI,CAACe,gBAAgB,OAAO,KAAA;AAC5B,EAAA,MAAMC,UAAAA,GAAaD,cAAAA,CAAeN,IAAAA,CAC/BC,CAAAA,OAAAA,KAAYA,OAAAA,CAAQC,aAAY,KAAMG,KAAAA,CAAMJ,OAAAA,CAAQC,WAAAA,EACvD,CAAA;AAEA,EAAA,OAAO,CAAC,CAACK,UAAAA;AACX;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { fromListsAtom } from \"@/tokens/state/tokensAtom\";\nimport type { Token, TokenFromList } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { jotaiStore } from \"../inputs/state/store\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n}): boolean {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n}): TokenFromList | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n\n if (!cachedBridgeInfo) return;\n\n const tokenMap =\n jotaiStore.get(fromListsAtom).listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = queryClient.getQueryData<BridgeInfo>([\n \"swap/delta/bridge-info\",\n ]);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"names":["isAcrossAvailable","chainIdFrom","chainIdTo","cachedBridgeInfo","queryClient","getQueryData","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","tokenMap","jotaiStore","get","fromListsAtom","listByChainId","addressMap","tokenToAddress","find","address","toLowerCase","undefined","isTokenFromAcross","token","tokenAddresses","isIncluded"],"mappings":";;;;AAQO,SAASA,iBAAAA,CAAkB;AAAA,EAChCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAAY;AACV,EAAA,MAAMC,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,kBAAkB,OAAO,KAAA;AAE9B,EAAA,MAAMG,YAAAA,GAAeH,gBAAAA,CAAiBF,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,OAAO,CAAC,CAACI,YAAAA,EAAcC,MAAAA;AACzB;AAEO,SAASC,wBAAAA,CAAyB;AAAA,EACvCC,WAAAA;AAAAA,EACAC;AAIF,CAAA,EAA8B;AAC5B,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AAED,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AAEvB,EAAA,MAAMQ,WACJC,UAAAA,CAAWC,GAAAA,CAAIC,aAAa,CAAA,CAAEC,aAAAA,CAAcL,SAAS,CAAA,EAAGM,UAAAA;AAE1D,EAAA,MAAMV,YAAAA,GAAeH,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAE9D,EAAA,MAAMO,cAAAA,GAAiBX,cAAcY,IAAAA,CAClCC,CAAAA,OAAAA,KAAYR,WAAWQ,OAAAA,CAAQC,WAAAA,EAAa,CAC/C,CAAA;AAEA,EAAA,OAAOH,cAAAA,GAAiBN,QAAAA,GAAWM,cAAAA,CAAeG,WAAAA,EAAa,CAAA,GAAIC,MAAAA;AACrE;AAQO,SAASC,iBAAAA,CAAkB;AAAA,EAChCC,KAAAA;AAAAA,EACAd,WAAAA;AAAAA,EACAC;AACsB,CAAA,EAAwB;AAC9C,EAAA,MAAMP,gBAAAA,GAAmBC,WAAAA,CAAYC,YAAAA,CAAyB,CAC5D,wBAAwB,CACzB,CAAA;AACD,EAAA,IAAI,CAACF,gBAAAA,EAAkB;AACvB,EAAA,MAAMqB,cAAAA,GAAiBrB,gBAAAA,CAAiBM,WAAW,CAAA,GAAIC,SAAS,CAAA;AAEhE,EAAA,IAAI,CAACc,gBAAgB,OAAO,KAAA;AAC5B,EAAA,MAAMC,UAAAA,GAAaD,cAAAA,CAAeN,IAAAA,CAC/BC,CAAAA,OAAAA,KAAYA,OAAAA,CAAQC,aAAY,KAAMG,KAAAA,CAAMJ,OAAAA,CAAQC,WAAAA,EACvD,CAAA;AAEA,EAAA,OAAO,CAAC,CAACK,UAAAA;AACX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwD3C,eAAO,MAAM,MAAM,GAAI,sBAAsB,WAAW,4CAiDvD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.tsx"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAc7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA0G3C,eAAO,MAAM,MAAM,GAAI,sBAAsB,WAAW,4CAMvD,CAAC"}
@@ -1,11 +1,11 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../_virtual/index.js';
3
3
  import '../styles.css';/* empty css */
4
4
  import { TokenInput } from '../components/widget/TokenInput/index.js';
5
5
  import { useTokenFromInputProps } from './inputs/hooks/useTokenFromInputProps.js';
6
6
  import { DialogRoot } from '../components/widget/Dialog/DialogRoot.js';
7
7
  import '../components/ui/button.js';
8
- import { Web3Providers } from '../components/web3/providers.js';
8
+ import { JotaiProvider, Web3Providers } from '../components/web3/providers.js';
9
9
  import { useAccount } from 'wagmi';
10
10
  import { WIDGET_ELEMENT_ID } from './constants.js';
11
11
  import { Updaters } from './Updaters.js';
@@ -37,6 +37,7 @@ import { AutoconnectExternalProvider } from '../components/web3/ConnectExternalP
37
37
  import { TradeFlowButton } from './TradeFlowButton.js';
38
38
  import { ConnectWalletDrawerButton } from './ConnectWalletDrawerButton.js';
39
39
  import { useDrawerContainerHeightTransition } from '../components/widget/Drawer/state/useDrawerControls.js';
40
+ import { InWidgetDrawerOverlay } from '../components/widget/Drawer/Overlay.js';
40
41
 
41
42
  runSubscriptions();
42
43
  const App = () => {
@@ -62,7 +63,7 @@ const App = () => {
62
63
  }
63
64
  return t0;
64
65
  };
65
- const Widget = (t0) => {
66
+ const WidgetBase = (t0) => {
66
67
  const $ = distExports.c(30);
67
68
  const {
68
69
  config,
@@ -179,8 +180,25 @@ const Widget = (t0) => {
179
180
  }
180
181
  return t16;
181
182
  };
183
+ const Widget = (t0) => {
184
+ const $ = distExports.c(3);
185
+ const {
186
+ config,
187
+ provider
188
+ } = t0;
189
+ let t1;
190
+ if ($[0] !== config || $[1] !== provider) {
191
+ t1 = /* @__PURE__ */ jsx(JotaiProvider, { children: /* @__PURE__ */ jsx(WidgetBase, { config, provider }) });
192
+ $[0] = config;
193
+ $[1] = provider;
194
+ $[2] = t1;
195
+ } else {
196
+ t1 = $[2];
197
+ }
198
+ return t1;
199
+ };
182
200
  function Containers(t0) {
183
- const $ = distExports.c(18);
201
+ const $ = distExports.c(14);
184
202
  const {
185
203
  children
186
204
  } = t0;
@@ -203,63 +221,47 @@ function Containers(t0) {
203
221
  } else {
204
222
  t2 = $[1];
205
223
  }
206
- const t3 = !partialDrawerOpen;
207
- const t4 = !partialDrawerOpen;
208
- let t5;
209
- if ($[2] !== partialDrawerOpen || $[3] !== t3 || $[4] !== t4) {
210
- t5 = cn("absolute inset-0 bg-gray-900 z-10 transition-opacity duration-300 rounded-xxl", {
211
- "opacity-0": t3,
212
- "opacity-75": partialDrawerOpen,
213
- "pointer-events-none": t4
214
- });
224
+ let t3;
225
+ if ($[2] !== partialDrawerOpen) {
226
+ t3 = /* @__PURE__ */ jsx(InWidgetDrawerOverlay, { open: partialDrawerOpen });
215
227
  $[2] = partialDrawerOpen;
216
228
  $[3] = t3;
217
- $[4] = t4;
218
- $[5] = t5;
219
229
  } else {
220
- t5 = $[5];
230
+ t3 = $[3];
231
+ }
232
+ let t4;
233
+ if ($[4] !== setContainerElement) {
234
+ t4 = /* @__PURE__ */ jsx("div", { className: "overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute", ref: setContainerElement });
235
+ $[4] = setContainerElement;
236
+ $[5] = t4;
237
+ } else {
238
+ t4 = $[5];
239
+ }
240
+ let t5;
241
+ if ($[6] !== children) {
242
+ t5 = /* @__PURE__ */ jsx("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", children });
243
+ $[6] = children;
244
+ $[7] = t5;
245
+ } else {
246
+ t5 = $[7];
221
247
  }
222
248
  let t6;
223
- if ($[6] !== t5) {
224
- t6 = /* @__PURE__ */ jsx("div", { className: t5 });
225
- $[6] = t5;
226
- $[7] = t6;
227
- } else {
228
- t6 = $[7];
229
- }
230
- let t7;
231
- if ($[8] !== setContainerElement) {
232
- t7 = /* @__PURE__ */ jsx("div", { className: "overflow-hidden bottom-0 left-0 right-0 h-[590px] absolute", ref: setContainerElement });
233
- $[8] = setContainerElement;
234
- $[9] = t7;
235
- } else {
236
- t7 = $[9];
237
- }
238
- let t8;
239
- if ($[10] !== children) {
240
- t8 = /* @__PURE__ */ jsx("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", children });
241
- $[10] = children;
242
- $[11] = t8;
243
- } else {
244
- t8 = $[11];
245
- }
246
- let t9;
247
- if ($[12] !== containerRef || $[13] !== t2 || $[14] !== t6 || $[15] !== t7 || $[16] !== t8) {
248
- t9 = /* @__PURE__ */ jsxs("div", { ref: containerRef, className: t2, id: WIDGET_ELEMENT_ID, children: [
249
- t6,
250
- t7,
251
- t8
249
+ if ($[8] !== containerRef || $[9] !== t2 || $[10] !== t3 || $[11] !== t4 || $[12] !== t5) {
250
+ t6 = /* @__PURE__ */ jsxs("div", { ref: containerRef, className: t2, id: WIDGET_ELEMENT_ID, children: [
251
+ t3,
252
+ t4,
253
+ t5
252
254
  ] });
253
- $[12] = containerRef;
254
- $[13] = t2;
255
- $[14] = t6;
256
- $[15] = t7;
257
- $[16] = t8;
258
- $[17] = t9;
255
+ $[8] = containerRef;
256
+ $[9] = t2;
257
+ $[10] = t3;
258
+ $[11] = t4;
259
+ $[12] = t5;
260
+ $[13] = t6;
259
261
  } else {
260
- t9 = $[17];
262
+ t6 = $[13];
261
263
  }
262
- return t9;
264
+ return t6;
263
265
  }
264
266
  function WidgetHeader() {
265
267
  const $ = distExports.c(1);
@@ -534,10 +536,11 @@ function SwapModeSwitcher() {
534
536
  }
535
537
  }
536
538
  function ButtonWithDrawer(t0) {
537
- const $ = distExports.c(22);
539
+ const $ = distExports.c(25);
538
540
  let buttonProps;
539
541
  let deltaPrice;
540
542
  let drawerContainer;
543
+ let labelOverride;
541
544
  let marketPrice;
542
545
  let orderProps;
543
546
  let priceMode;
@@ -550,65 +553,70 @@ function ButtonWithDrawer(t0) {
550
553
  deltaPrice,
551
554
  priceMode,
552
555
  wrapEthProps,
556
+ labelOverride,
553
557
  ...buttonProps
554
558
  } = t0);
555
559
  $[0] = t0;
556
560
  $[1] = buttonProps;
557
561
  $[2] = deltaPrice;
558
562
  $[3] = drawerContainer;
559
- $[4] = marketPrice;
560
- $[5] = orderProps;
561
- $[6] = priceMode;
562
- $[7] = wrapEthProps;
563
+ $[4] = labelOverride;
564
+ $[5] = marketPrice;
565
+ $[6] = orderProps;
566
+ $[7] = priceMode;
567
+ $[8] = wrapEthProps;
563
568
  } else {
564
569
  buttonProps = $[1];
565
570
  deltaPrice = $[2];
566
571
  drawerContainer = $[3];
567
- marketPrice = $[4];
568
- orderProps = $[5];
569
- priceMode = $[6];
570
- wrapEthProps = $[7];
572
+ labelOverride = $[4];
573
+ marketPrice = $[5];
574
+ orderProps = $[6];
575
+ priceMode = $[7];
576
+ wrapEthProps = $[8];
571
577
  }
572
578
  const {
573
579
  isConnected
574
580
  } = useAccount();
575
581
  if (!isConnected) {
576
582
  let t12;
577
- if ($[8] !== buttonProps || $[9] !== drawerContainer) {
583
+ if ($[9] !== buttonProps || $[10] !== drawerContainer) {
578
584
  t12 = /* @__PURE__ */ jsx(ConnectWalletDrawerButton, { drawerContainer, ...buttonProps });
579
- $[8] = buttonProps;
580
- $[9] = drawerContainer;
581
- $[10] = t12;
585
+ $[9] = buttonProps;
586
+ $[10] = drawerContainer;
587
+ $[11] = t12;
582
588
  } else {
583
- t12 = $[10];
589
+ t12 = $[11];
584
590
  }
585
591
  return t12;
586
592
  }
587
593
  if (wrapEthProps.shouldWrap) {
588
594
  let t12;
589
- if ($[11] !== buttonProps || $[12] !== drawerContainer || $[13] !== wrapEthProps) {
590
- t12 = /* @__PURE__ */ jsx(WrapEthDrawerButton, { drawerContainer, wrapEthProps, ...buttonProps });
591
- $[11] = buttonProps;
592
- $[12] = drawerContainer;
593
- $[13] = wrapEthProps;
594
- $[14] = t12;
595
+ if ($[12] !== buttonProps || $[13] !== drawerContainer || $[14] !== labelOverride || $[15] !== wrapEthProps) {
596
+ t12 = /* @__PURE__ */ jsx(WrapEthDrawerButton, { drawerContainer, wrapEthProps, labelOverride, ...buttonProps });
597
+ $[12] = buttonProps;
598
+ $[13] = drawerContainer;
599
+ $[14] = labelOverride;
600
+ $[15] = wrapEthProps;
601
+ $[16] = t12;
595
602
  } else {
596
- t12 = $[14];
603
+ t12 = $[16];
597
604
  }
598
605
  return t12;
599
606
  }
600
607
  let t1;
601
- if ($[15] !== buttonProps || $[16] !== deltaPrice || $[17] !== drawerContainer || $[18] !== marketPrice || $[19] !== orderProps || $[20] !== priceMode) {
602
- t1 = /* @__PURE__ */ jsx(TradeFlowButton, { orderProps, drawerContainer, marketPrice, deltaPrice, priceMode, ...buttonProps });
603
- $[15] = buttonProps;
604
- $[16] = deltaPrice;
605
- $[17] = drawerContainer;
606
- $[18] = marketPrice;
607
- $[19] = orderProps;
608
- $[20] = priceMode;
609
- $[21] = t1;
610
- } else {
611
- t1 = $[21];
608
+ if ($[17] !== buttonProps || $[18] !== deltaPrice || $[19] !== drawerContainer || $[20] !== labelOverride || $[21] !== marketPrice || $[22] !== orderProps || $[23] !== priceMode) {
609
+ t1 = /* @__PURE__ */ jsx(TradeFlowButton, { orderProps, drawerContainer, marketPrice, deltaPrice, priceMode, labelOverride, ...buttonProps });
610
+ $[17] = buttonProps;
611
+ $[18] = deltaPrice;
612
+ $[19] = drawerContainer;
613
+ $[20] = labelOverride;
614
+ $[21] = marketPrice;
615
+ $[22] = orderProps;
616
+ $[23] = priceMode;
617
+ $[24] = t1;
618
+ } else {
619
+ t1 = $[24];
612
620
  }
613
621
  return t1;
614
622
  }