@velora-dex/widget 0.3.1 → 0.3.2-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/assets/bridges/canonical-uni.svg.js +12 -0
  2. package/dist/assets/bridges/canonical-uni.svg.js.map +1 -0
  3. package/dist/assets/bridges/cctp.svg.js +12 -0
  4. package/dist/assets/bridges/cctp.svg.js.map +1 -0
  5. package/dist/assets/bridges/celer.svg.js +16 -0
  6. package/dist/assets/bridges/celer.svg.js.map +1 -0
  7. package/dist/assets/bridges/relay.svg.js +12 -0
  8. package/dist/assets/bridges/relay.svg.js.map +1 -0
  9. package/dist/assets/refresh.svg.js +12 -0
  10. package/dist/assets/refresh.svg.js.map +1 -0
  11. package/dist/assets/speedometer.svg.js +12 -0
  12. package/dist/assets/speedometer.svg.js.map +1 -0
  13. package/dist/components/ui/accordion.d.ts +3 -2
  14. package/dist/components/ui/accordion.d.ts.map +1 -1
  15. package/dist/components/ui/accordion.js +64 -40
  16. package/dist/components/ui/accordion.js.map +1 -1
  17. package/dist/components/ui/skeleton.d.ts.map +1 -1
  18. package/dist/components/ui/skeleton.js.map +1 -1
  19. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  20. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  21. package/dist/components/widget/AppHeader/AppHeader.js +52 -70
  22. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  23. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  24. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  25. package/dist/components/widget/BridgeList/BridgeListItem.d.ts +7 -0
  26. package/dist/components/widget/BridgeList/BridgeListItem.d.ts.map +1 -0
  27. package/dist/components/widget/BridgeList/BridgeListItem.js +475 -0
  28. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -0
  29. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts +9 -0
  30. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts.map +1 -0
  31. package/dist/components/widget/BridgeList/BridgeProtocolsList.js +219 -0
  32. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -0
  33. package/dist/components/widget/BridgeList/BridgesList.d.ts +12 -0
  34. package/dist/components/widget/BridgeList/BridgesList.d.ts.map +1 -0
  35. package/dist/components/widget/BridgeList/BridgesList.js +76 -0
  36. package/dist/components/widget/BridgeList/BridgesList.js.map +1 -0
  37. package/dist/components/widget/BridgeList/hooks.d.ts +17 -0
  38. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -0
  39. package/dist/components/widget/BridgeList/hooks.js +254 -0
  40. package/dist/components/widget/BridgeList/hooks.js.map +1 -0
  41. package/dist/components/widget/BridgeList/types.d.ts +19 -0
  42. package/dist/components/widget/BridgeList/types.d.ts.map +1 -0
  43. package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts +3 -0
  44. package/dist/components/widget/BridgePreferences/BridgePreferences.d.ts.map +1 -0
  45. package/dist/components/widget/BridgePreferences/BridgePreferences.js +136 -0
  46. package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -0
  47. package/dist/components/widget/BridgePreferences/types.d.ts +11 -0
  48. package/dist/components/widget/BridgePreferences/types.d.ts.map +1 -0
  49. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +8 -0
  50. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -0
  51. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js +137 -0
  52. package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -0
  53. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts +2 -0
  54. package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -0
  55. package/dist/components/widget/CompareQuotes/CompareQuotes.js +208 -0
  56. package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -0
  57. package/dist/components/widget/Details/DetailWithValueListExpandable.d.ts.map +1 -1
  58. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  59. package/dist/components/widget/Duration/Duration.d.ts +6 -0
  60. package/dist/components/widget/Duration/Duration.d.ts.map +1 -0
  61. package/dist/components/widget/Duration/Duration.js +85 -0
  62. package/dist/components/widget/Duration/Duration.js.map +1 -0
  63. package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts +2 -0
  64. package/dist/components/widget/FetchingQuotes/FetchingQuotes.d.ts.map +1 -0
  65. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js +42 -0
  66. package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -0
  67. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +1 -1
  68. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  69. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +10 -64
  70. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  71. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  72. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
  73. package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
  74. package/dist/components/widget/SettingsButton/SettingsButton.d.ts +5 -0
  75. package/dist/components/widget/SettingsButton/SettingsButton.d.ts.map +1 -0
  76. package/dist/components/widget/SettingsButton/SettingsButton.js +61 -0
  77. package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -0
  78. package/dist/components/widget/TokenBadge/TokenBadge.d.ts.map +1 -1
  79. package/dist/components/widget/TokenBadge/TokenBadge.js +114 -65
  80. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  81. package/dist/components/widget/TokenBadge/types.d.ts +1 -0
  82. package/dist/components/widget/TokenBadge/types.d.ts.map +1 -1
  83. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  84. package/dist/components/widget/TokenInput/index.js +34 -18
  85. package/dist/components/widget/TokenInput/index.js.map +1 -1
  86. package/dist/components/widget/TokenInput/types.d.ts +1 -0
  87. package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
  88. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  89. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  90. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +1 -1
  91. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  92. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  93. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts +21 -0
  94. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.d.ts.map +1 -0
  95. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js +90 -0
  96. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -0
  97. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts +12 -0
  98. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.d.ts.map +1 -0
  99. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js +68 -0
  100. package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -0
  101. package/dist/components/widget/TradeParameters/TradeParameters.d.ts +3 -2
  102. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  103. package/dist/components/widget/TradeParameters/TradeParameters.js +64 -45
  104. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  105. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  106. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +3 -1
  107. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  108. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +9 -0
  109. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -0
  110. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +14 -0
  111. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -0
  112. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts +4 -0
  113. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.d.ts.map +1 -0
  114. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js +7 -0
  115. package/dist/components/widget/TradeParameters/state/bridgePreferences/constants.js.map +1 -0
  116. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +8 -0
  117. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -0
  118. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +15 -0
  119. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -0
  120. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts +2 -0
  121. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.d.ts.map +1 -0
  122. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js +11 -0
  123. package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -0
  124. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.d.ts +4 -0
  125. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.d.ts.map +1 -0
  126. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js +6 -0
  127. package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolSelectorAtom.js.map +1 -0
  128. package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts +3 -0
  129. package/dist/components/widget/TradeParameters/state/bridgePreferences/types.d.ts.map +1 -0
  130. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts +14 -0
  131. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.d.ts.map +1 -0
  132. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js +58 -0
  133. package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -0
  134. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +5 -0
  135. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  136. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +150 -67
  137. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  138. package/dist/core/Updaters.d.ts.map +1 -1
  139. package/dist/core/Updaters.js +2 -0
  140. package/dist/core/Updaters.js.map +1 -1
  141. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  142. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  143. package/dist/core/index.d.ts.map +1 -1
  144. package/dist/core/index.js +22 -14
  145. package/dist/core/index.js.map +1 -1
  146. package/dist/core/inputs/hooks/types.d.ts +1 -1
  147. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  148. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  149. package/dist/core/inputs/hooks/useTokenToInputProps.js +25 -12
  150. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  151. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  152. package/dist/core/limit/state/utils.js.map +1 -1
  153. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  154. package/dist/core/limit/useLimitRate.js.map +1 -1
  155. package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
  156. package/dist/core/screen/screenByType.d.ts +2 -0
  157. package/dist/core/screen/screenByType.d.ts.map +1 -1
  158. package/dist/core/screen/screenByType.js +5 -1
  159. package/dist/core/screen/screenByType.js.map +1 -1
  160. package/dist/core/screen/state/hooks/useSetScreen.d.ts +3 -0
  161. package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -1
  162. package/dist/core/screen/state/hooks/useSetScreen.js +43 -11
  163. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  164. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
  165. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  166. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  167. package/dist/core/swapDetails/priceImpact.js +7 -3
  168. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  169. package/dist/events/getters/settings.d.ts.map +1 -1
  170. package/dist/events/getters/settings.js +7 -1
  171. package/dist/events/getters/settings.js.map +1 -1
  172. package/dist/events/types/common.d.ts +6 -1
  173. package/dist/events/types/common.d.ts.map +1 -1
  174. package/dist/events/types/settings.d.ts +2 -1
  175. package/dist/events/types/settings.d.ts.map +1 -1
  176. package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
  177. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  178. package/dist/hooks/otc/mutations/useFillOrder.js +1 -14
  179. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  180. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +0 -12
  181. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  182. package/dist/hooks/swap/prices/constants.d.ts +3 -0
  183. package/dist/hooks/swap/prices/constants.d.ts.map +1 -0
  184. package/dist/hooks/swap/prices/constants.js +5 -0
  185. package/dist/hooks/swap/prices/constants.js.map +1 -0
  186. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +6 -0
  187. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -0
  188. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js +36 -0
  189. package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -0
  190. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +7 -0
  191. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  192. package/dist/hooks/swap/prices/delta/bridge/utils.js +34 -1
  193. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  194. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  195. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts +13 -0
  196. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/types.d.ts.map +1 -0
  197. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts +3 -0
  198. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.d.ts.map +1 -0
  199. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +75 -0
  200. package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -0
  201. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -2
  202. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  203. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +3 -1
  204. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  205. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  206. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  207. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  208. package/dist/hooks/swap/prices/types.d.ts +1 -0
  209. package/dist/hooks/swap/prices/types.d.ts.map +1 -1
  210. package/dist/hooks/swap/prices/useSwapPrices.d.ts +5 -0
  211. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  212. package/dist/hooks/swap/prices/useSwapPrices.js +119 -94
  213. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  214. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  215. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +15 -1
  216. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  217. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  218. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  219. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  220. package/dist/hooks/tokens/prices/queries.d.ts.map +1 -1
  221. package/dist/hooks/tokens/prices/queries.js.map +1 -1
  222. package/dist/hooks/useBridgeProtocols.d.ts +4 -0
  223. package/dist/hooks/useBridgeProtocols.d.ts.map +1 -0
  224. package/dist/hooks/useBridgeProtocols.js +52 -0
  225. package/dist/hooks/useBridgeProtocols.js.map +1 -0
  226. package/dist/hooks/useClickOutside.js.map +1 -1
  227. package/dist/lib/constants/weth.js.map +1 -1
  228. package/dist/lib/utils/priceImpact.d.ts +5 -2
  229. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  230. package/dist/lib/utils/priceImpact.js +8 -5
  231. package/dist/lib/utils/priceImpact.js.map +1 -1
  232. package/dist/lib/utils/tuple.d.ts +1 -0
  233. package/dist/lib/utils/tuple.d.ts.map +1 -1
  234. package/dist/lib/utils/tuple.js +5 -1
  235. package/dist/lib/utils/tuple.js.map +1 -1
  236. package/dist/lib/web3/privy/config.js +1 -1
  237. package/dist/lib/web3/wagmi/config.js +1 -1
  238. package/dist/styles.css +51 -1
  239. package/dist/tokens/queries.d.ts.map +1 -1
  240. package/dist/tokens/queries.js.map +1 -1
  241. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/prices/queries.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport {\n LONG_STALE_TIME_FOR_REACTIVENESS,\n ONE_MINUTE_MS,\n} from \"@/lib/constants/time\";\n\nimport axios from \"axios\";\nimport { isAddress } from \"viem\";\n\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport type {\n FiatPriceFromApi,\n FiatPriceMap,\n TokenPricesQueryKey,\n} from \"./types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst keysToSkip: (keyof FiatPriceFromApi)[] = [\n \"source\",\n \"address\",\n \"updatedAt\",\n];\n\nfunction shouldTryOverride(key: string): boolean {\n return !keysToSkip.includes(key as keyof FiatPriceFromApi);\n}\n\nexport async function fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n signal?: AbortSignal;\n}) {\n const {\n data: { prices },\n } = await axios.get<{ prices: FiatPriceMap }>(\n `${getApiURL()}/fiat/prices/${chainId}`,\n { signal }\n );\n\n if (!fallbackToCachedPrices) return prices;\n\n // fiat-fetcher gives the prices either from coingecko or chainlink,\n // and in case of chainlink there are some missing values in price object\n\n const lastPrices = queryClient.getQueryData<FiatPriceMap>(\n constructTokenPricesQueryKey(chainId)\n );\n\n if (!lastPrices) return prices;\n\n const combined = Object.entries(prices).reduce<FiatPriceMap>(\n (acc, [address, price]) => {\n // skip if address is not valid\n if (!isAddress(address)) return acc;\n\n const lastPrice = lastPrices[address];\n // no previous price, do nothing\n if (!lastPrice) return acc;\n\n // assume that coinGecko prices have more data\n // and we don't want to change them\n if (price.source === \"coinGecko\") return acc;\n\n // no need to override the price when from the same source\n if (price.source === lastPrice.source) return acc;\n\n // make sure we have all the keys\n // not just the ones that are in the new price object\n const mergedPrice = { ...lastPrice, ...price };\n\n let changed = false;\n\n for (const key of Object.keys(mergedPrice)) {\n if (shouldTryOverride(key)) {\n const val =\n price[key as keyof typeof price] ??\n ((changed = true), lastPrice[key as keyof typeof lastPrice]);\n\n (mergedPrice[\n key as keyof typeof mergedPrice\n ] as FiatPriceFromApi[keyof FiatPriceFromApi]) = val;\n }\n }\n\n // we updated the price\n if (changed) {\n // let's keep updatedAt, source from the last price\n mergedPrice.updatedAt = lastPrice.updatedAt;\n mergedPrice.source = lastPrice.source;\n }\n\n acc[address] = mergedPrice;\n return acc;\n },\n prices\n );\n\n return combined;\n}\n\nexport function constructTokenPricesQueryKey(\n chainId: number\n): TokenPricesQueryKey {\n return [\"token-prices\", chainId];\n}\n\nexport function constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices,\n enabled,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n enabled?: boolean;\n}): UseQueryOptions<FiatPriceMap, Error, FiatPriceMap, TokenPricesQueryKey> {\n {\n return {\n queryKey: constructTokenPricesQueryKey(chainId),\n queryFn: ({ signal }) =>\n fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n }),\n enabled,\n notifyOnChangeProps: [\"data\", \"isLoading\", \"isError\"],\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n refetchInterval: ONE_MINUTE_MS,\n };\n }\n}\n"],"names":["keysToSkip","shouldTryOverride","key","includes","fetchTokenPricesWithFallback","chainId","fallbackToCachedPrices","signal","data","prices","axios","get","getApiURL","lastPrices","queryClient","getQueryData","constructTokenPricesQueryKey","combined","Object","entries","reduce","acc","address","price","isAddress","lastPrice","source","mergedPrice","changed","keys","val","updatedAt","constructTokenPricesQueryOptions","enabled","queryKey","queryFn","notifyOnChangeProps","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","refetchInterval","ONE_MINUTE_MS"],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sources":["../../../../src/hooks/tokens/prices/queries.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport {\n LONG_STALE_TIME_FOR_REACTIVENESS,\n ONE_MINUTE_MS,\n} from \"@/lib/constants/time\";\n\nimport axios from \"axios\";\nimport { isAddress } from \"viem\";\n\nimport type { UseQueryOptions } from \"@tanstack/react-query\";\nimport type {\n FiatPriceFromApi,\n FiatPriceMap,\n TokenPricesQueryKey,\n} from \"./types\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { getApiURL } from \"@/lib/constants/urls\";\n\nconst keysToSkip: (keyof FiatPriceFromApi)[] = [\n \"source\",\n \"address\",\n \"updatedAt\",\n];\n\nfunction shouldTryOverride(key: string): boolean {\n return !keysToSkip.includes(key as keyof FiatPriceFromApi);\n}\n\nexport async function fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n signal?: AbortSignal;\n}) {\n const {\n data: { prices },\n } = await axios.get<{ prices: FiatPriceMap }>(\n `${getApiURL()}/fiat/prices/${chainId}`,\n {\n signal,\n }\n );\n\n if (!fallbackToCachedPrices) return prices;\n\n // fiat-fetcher gives the prices either from coingecko or chainlink,\n // and in case of chainlink there are some missing values in price object\n\n const lastPrices = queryClient.getQueryData<FiatPriceMap>(\n constructTokenPricesQueryKey(chainId)\n );\n\n if (!lastPrices) return prices;\n\n const combined = Object.entries(prices).reduce<FiatPriceMap>(\n (acc, [address, price]) => {\n // skip if address is not valid\n if (!isAddress(address)) return acc;\n\n const lastPrice = lastPrices[address];\n // no previous price, do nothing\n if (!lastPrice) return acc;\n\n // assume that coinGecko prices have more data\n // and we don't want to change them\n if (price.source === \"coinGecko\") return acc;\n\n // no need to override the price when from the same source\n if (price.source === lastPrice.source) return acc;\n\n // make sure we have all the keys\n // not just the ones that are in the new price object\n const mergedPrice = { ...lastPrice, ...price };\n\n let changed = false;\n\n for (const key of Object.keys(mergedPrice)) {\n if (shouldTryOverride(key)) {\n const val =\n price[key as keyof typeof price] ??\n ((changed = true), lastPrice[key as keyof typeof lastPrice]);\n\n (mergedPrice[\n key as keyof typeof mergedPrice\n ] as FiatPriceFromApi[keyof FiatPriceFromApi]) = val;\n }\n }\n\n // we updated the price\n if (changed) {\n // let's keep updatedAt, source from the last price\n mergedPrice.updatedAt = lastPrice.updatedAt;\n mergedPrice.source = lastPrice.source;\n }\n\n acc[address] = mergedPrice;\n return acc;\n },\n prices\n );\n\n return combined;\n}\n\nexport function constructTokenPricesQueryKey(\n chainId: number\n): TokenPricesQueryKey {\n return [\"token-prices\", chainId];\n}\n\nexport function constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices,\n enabled,\n}: {\n chainId: SupportedChainId;\n fallbackToCachedPrices?: boolean;\n enabled?: boolean;\n}): UseQueryOptions<FiatPriceMap, Error, FiatPriceMap, TokenPricesQueryKey> {\n {\n return {\n queryKey: constructTokenPricesQueryKey(chainId),\n queryFn: ({ signal }) =>\n fetchTokenPricesWithFallback({\n chainId,\n fallbackToCachedPrices,\n signal,\n }),\n enabled,\n notifyOnChangeProps: [\"data\", \"isLoading\", \"isError\"],\n staleTime: LONG_STALE_TIME_FOR_REACTIVENESS,\n refetchInterval: ONE_MINUTE_MS,\n };\n }\n}\n"],"names":["keysToSkip","shouldTryOverride","key","includes","fetchTokenPricesWithFallback","chainId","fallbackToCachedPrices","signal","data","prices","axios","get","getApiURL","lastPrices","queryClient","getQueryData","constructTokenPricesQueryKey","combined","Object","entries","reduce","acc","address","price","isAddress","lastPrice","source","mergedPrice","changed","keys","val","updatedAt","constructTokenPricesQueryOptions","enabled","queryKey","queryFn","notifyOnChangeProps","staleTime","LONG_STALE_TIME_FOR_REACTIVENESS","refetchInterval","ONE_MINUTE_MS"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { BridgeProtocolsMapping, BridgeProtocolsReturn } from './swap/prices/delta/queries/bridgeProtocols/types';
2
+ export declare function useGetBridgeProtocols(): import('./swap/prices/delta/queries/bridgeProtocols/types').BridgeProtocolsQueryResult<BridgeProtocolsReturn>;
3
+ export declare function useGetBridgeProtocolsMap(): import('./swap/prices/delta/queries/bridgeProtocols/types').BridgeProtocolsQueryResult<BridgeProtocolsMapping>;
4
+ //# sourceMappingURL=useBridgeProtocols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBridgeProtocols.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeProtocols.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,mDAAmD,CAAC;AAW3D,wBAAgB,qBAAqB,kHAMpC;AAED,wBAAgB,wBAAwB,mHAUvC"}
@@ -0,0 +1,52 @@
1
+ import { d as distExports } from '../_virtual/index.js';
2
+ import { useBridgeProtocolsQuery } from './swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js';
3
+
4
+ const createProtocolMapping = (data) => data.reduce((acc, {
5
+ protocol,
6
+ ...rest
7
+ }) => {
8
+ const lowercasedProtocol = protocol.toLowerCase();
9
+ acc[lowercasedProtocol] = {
10
+ protocol: lowercasedProtocol,
11
+ ...rest
12
+ };
13
+ return acc;
14
+ }, {});
15
+ function useGetBridgeProtocols() {
16
+ const $ = distExports.c(1);
17
+ let t0;
18
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
19
+ t0 = {
20
+ query: {
21
+ staleTime: Infinity,
22
+ gcTime: Infinity
23
+ }
24
+ };
25
+ $[0] = t0;
26
+ } else {
27
+ t0 = $[0];
28
+ }
29
+ const result = useBridgeProtocolsQuery(t0);
30
+ return result;
31
+ }
32
+ function useGetBridgeProtocolsMap() {
33
+ const $ = distExports.c(1);
34
+ let t0;
35
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
36
+ t0 = {
37
+ query: {
38
+ staleTime: Infinity,
39
+ gcTime: Infinity,
40
+ select: createProtocolMapping
41
+ }
42
+ };
43
+ $[0] = t0;
44
+ } else {
45
+ t0 = $[0];
46
+ }
47
+ const result = useBridgeProtocolsQuery(t0);
48
+ return result;
49
+ }
50
+
51
+ export { useGetBridgeProtocols, useGetBridgeProtocolsMap };
52
+ //# sourceMappingURL=useBridgeProtocols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBridgeProtocols.js","sources":["../../src/hooks/useBridgeProtocols.ts"],"sourcesContent":["import type {\n BridgeProtocolsMapping,\n BridgeProtocolsReturn,\n} from \"./swap/prices/delta/queries/bridgeProtocols/types\";\nimport { useBridgeProtocolsQuery } from \"./swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\n\n// mapping {[protocol.toLowerCase()]: bridgeProtocolResponse} for faster access\nconst createProtocolMapping = (data: BridgeProtocolsReturn) =>\n data.reduce<BridgeProtocolsMapping>((acc, { protocol, ...rest }) => {\n const lowercasedProtocol = protocol.toLowerCase();\n acc[lowercasedProtocol] = { protocol: lowercasedProtocol, ...rest };\n return acc;\n }, {});\n\nexport function useGetBridgeProtocols() {\n const result = useBridgeProtocolsQuery({\n query: { staleTime: Infinity, gcTime: Infinity },\n });\n\n return result;\n}\n\nexport function useGetBridgeProtocolsMap() {\n const result = useBridgeProtocolsQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n select: createProtocolMapping,\n },\n });\n\n return result;\n}\n"],"names":["createProtocolMapping","data","reduce","acc","protocol","rest","lowercasedProtocol","toLowerCase","useGetBridgeProtocols","$","_c","t0","Symbol","for","query","staleTime","Infinity","gcTime","result","useBridgeProtocolsQuery","useGetBridgeProtocolsMap","select"],"mappings":";;;AAOA,MAAMA,wBAAwBA,CAACC,IAAAA,KAC7BA,IAAAA,CAAKC,MAAAA,CAA+B,CAACC,GAAAA,EAAK;AAAA,EAAEC,QAAAA;AAAAA,EAAU,GAAGC;AAAK,CAAA,KAAM;AAClE,EAAA,MAAMC,kBAAAA,GAAqBF,SAASG,WAAAA,EAAY;AAChDJ,EAAAA,GAAAA,CAAIG,kBAAkB,CAAA,GAAI;AAAA,IAAEF,QAAAA,EAAUE,kBAAAA;AAAAA,IAAoB,GAAGD;AAAAA,GAAK;AAClE,EAAA,OAAOF,GAAAA;AACT,CAAA,EAAG,EAAE,CAAA;AAEA,SAAAK,qBAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACkCF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,KAAAA,EAC9B;AAAA,QAAAC,SAAAA,EAAaC,QAAAA;AAAAA,QAAQC,MAAAA,EAAUD;AAAAA;AAAS,KACjD;AAACP,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAFD,EAAA,MAAAS,MAAAA,GAAeC,wBAAwBR,EAEtC,CAAA;AAAE,EAAA,OAEIO,MAAAA;AAAM;AAGR,SAAAE,wBAAAA,GAAA;AAAA,EAAA,MAAAX,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAG,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACkCF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,KAAAA,EAC9B;AAAA,QAAAC,SAAAA,EACMC,QAAAA;AAAAA,QAAQC,MAAAA,EACXD,QAAAA;AAAAA,QAAQK,MAAAA,EACRrB;AAAAA;AACV,KACF;AAACS,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAND,EAAA,MAAAS,MAAAA,GAAeC,wBAAwBR,EAMtC,CAAA;AAAE,EAAA,OAEIO,MAAAA;AAAM;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useClickOutside.js","sources":["../../src/hooks/useClickOutside.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from \"react\";\n\nexport function useClickOutside<T extends HTMLElement>(\n ref: React.RefObject<T | null>,\n callback: (event: PointerEvent) => void,\n) {\n // keep track of the latest callback\n // and don't include it in the effect deps\n const callbackRef = useRef(callback);\n useLayoutEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const listener = (event: PointerEvent) => {\n const element = event.target as Node | null;\n // element belongs to Document tree\n if (!element || !element.isConnected) return;\n if (!ref.current) return;\n\n if (ref.current.contains(element)) {\n return;\n }\n /**\n * edge case when a Dropdown is opened and click is performed outside of dropdown,\n * but inside the Widget container, still registers as a click outside the Widget because:\n * 1. Dropdown onOpen assigns document.style.pointerEvents = \"none\"\n * and events don't reach below <html> (this prevents detecting document.elementsFromPoint)\n * 2. Dropdown onOpen adds pointerdown listener to document, which triggers after pointerdown listener here,\n * so we can't use DropdownMenuContent.onPointerDownOutside to intercept first\n *\n * Manual check against BoundingClientRect to determine if click is inside the Widget works\n */\n\n const clickPoint = {\n // in viewport coordinates\n x: event.clientX,\n y: event.clientY,\n };\n\n // in viewport coordinates\n const dimensions = ref.current.getBoundingClientRect();\n const isClickInside =\n clickPoint.x >= dimensions.left &&\n clickPoint.x <= dimensions.right &&\n clickPoint.y >= dimensions.top &&\n clickPoint.y <= dimensions.bottom;\n\n if (isClickInside) {\n return;\n }\n\n callbackRef.current(event);\n };\n\n // pointerdown = mousedown + touchstart\n document.addEventListener(\"pointerdown\", listener);\n\n return () => {\n document.removeEventListener(\"pointerdown\", listener);\n };\n }, [ref]);\n}\n"],"names":["useClickOutside","ref","callback","$","_c","callbackRef","useRef","t0","t1","current","useLayoutEffect","t2","t3","listener","event","element","target","isConnected","contains","clickPoint","x","clientX","y","clientY","dimensions","getBoundingClientRect","isClickInside","left","right","top","bottom","document","addEventListener","removeEventListener","useEffect"],"mappings":";;;AAEO,SAAAA,eAAAA,CAAAC,KAAAC,QAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAML,EAAA,MAAAC,WAAAA,GAAoBC,OAAOJ,QAAQ,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAD,QAAAA,EAAA;AACrBK,IAAAA,EAAAA,GAAAA,MAAA;AACdF,MAAAA,WAAAA,CAAWI,OAAAA,GAAWP,QAAAA;AAAAA,IAAH,CAAA;AAClBM,IAAAA,EAAAA,GAAA,CAACN,QAAQ,CAAA;AAACC,IAAAA,CAAAA,MAAAD,QAAAA;AAAAC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAAK,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAFbO,EAAAA,eAAAA,CAAgBH,IAEbC,EAAU,CAAA;AAAC,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAF,GAAAA,EAAA;AAEJU,IAAAA,EAAAA,GAAAA,MAAA;AACR,MAAA,MAAAE,WAAiBC,CAAAA,KAAAA,KAAA;AACf,QAAA,MAAAC,UAAgBD,KAAAA,CAAKE,MAAAA;AAErB,QAAA,IAAI,CAACD,OAAAA,IAAD,CAAaA,OAAAA,CAAOE,WAAAA,EAAY;AAAA,UAAA;AAAA,QAAA;AACpC,QAAA,IAAI,CAAChB,IAAGQ,OAAAA,EAAQ;AAAA,UAAA;AAAA,QAAA;AAEhB,QAAA,IAAIR,GAAAA,CAAGQ,OAAAA,CAAQS,QAAAA,CAAUH,OAAO,CAAA,EAAC;AAAA,UAAA;AAAA,QAAA;AAcjC,QAAA,MAAAI,UAAAA,GAAmB;AAAA,UAAAC,GAEdN,KAAAA,CAAKO,OAAAA;AAAAA,UAAQC,GACbR,KAAAA,CAAKS;AAAAA,SACV;AAGA,QAAA,MAAAC,UAAAA,GAAmBvB,GAAAA,CAAGQ,OAAAA,CAAQgB,qBAAAA,EAAuB;AACrD,QAAA,MAAAC,aAAAA,GACEP,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUG,QAC1BR,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUI,KAAAA,IAC1BT,WAAUG,CAAAA,IAAME,UAAAA,CAAUK,GAAAA,IAC1BV,UAAAA,CAAUG,KAAME,UAAAA,CAAUM,MAAAA;AAE5B,QAAA,IAAIJ,aAAAA,EAAa;AAAA,UAAA;AAAA,QAAA;AAIjBrB,QAAAA,WAAAA,CAAWI,QAASK,KAAK,CAAA;AAAA,MAAC,CAAA;AAI5BiB,MAAAA,QAAAA,CAAQC,gBAAAA,CAAkB,eAAenB,QAAQ,CAAA;AAAC,MAAA,OAE3C,MAAA;AACLkB,QAAAA,QAAAA,CAAQE,mBAAAA,CAAqB,eAAepB,QAAQ,CAAA;AAAA,MAAC,CAAA;AAAA,IACtD,CAAA;AACAD,IAAAA,EAAAA,GAAA,CAACX,GAAG,CAAA;AAACE,IAAAA,CAAAA,MAAAF,GAAAA;AAAAE,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAAS,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAhDR+B,EAAAA,SAAAA,CAAUvB,IAgDPC,EAAK,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"useClickOutside.js","sources":["../../src/hooks/useClickOutside.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from \"react\";\n\nexport function useClickOutside<T extends HTMLElement>(\n ref: React.RefObject<T | null>,\n callback: (event: PointerEvent) => void\n) {\n // keep track of the latest callback\n // and don't include it in the effect deps\n const callbackRef = useRef(callback);\n useLayoutEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const listener = (event: PointerEvent) => {\n const element = event.target as Node | null;\n // element belongs to Document tree\n if (!element || !element.isConnected) return;\n if (!ref.current) return;\n\n if (ref.current.contains(element)) {\n return;\n }\n /**\n * edge case when a Dropdown is opened and click is performed outside of dropdown,\n * but inside the Widget container, still registers as a click outside the Widget because:\n * 1. Dropdown onOpen assigns document.style.pointerEvents = \"none\"\n * and events don't reach below <html> (this prevents detecting document.elementsFromPoint)\n * 2. Dropdown onOpen adds pointerdown listener to document, which triggers after pointerdown listener here,\n * so we can't use DropdownMenuContent.onPointerDownOutside to intercept first\n *\n * Manual check against BoundingClientRect to determine if click is inside the Widget works\n */\n\n const clickPoint = {\n // in viewport coordinates\n x: event.clientX,\n y: event.clientY,\n };\n\n // in viewport coordinates\n const dimensions = ref.current.getBoundingClientRect();\n const isClickInside =\n clickPoint.x >= dimensions.left &&\n clickPoint.x <= dimensions.right &&\n clickPoint.y >= dimensions.top &&\n clickPoint.y <= dimensions.bottom;\n\n if (isClickInside) {\n return;\n }\n\n callbackRef.current(event);\n };\n\n // pointerdown = mousedown + touchstart\n document.addEventListener(\"pointerdown\", listener);\n\n return () => {\n document.removeEventListener(\"pointerdown\", listener);\n };\n }, [ref]);\n}\n"],"names":["useClickOutside","ref","callback","$","_c","callbackRef","useRef","t0","t1","current","useLayoutEffect","t2","t3","listener","event","element","target","isConnected","contains","clickPoint","x","clientX","y","clientY","dimensions","getBoundingClientRect","isClickInside","left","right","top","bottom","document","addEventListener","removeEventListener","useEffect"],"mappings":";;;AAEO,SAAAA,eAAAA,CAAAC,KAAAC,QAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAML,EAAA,MAAAC,WAAAA,GAAoBC,OAAOJ,QAAQ,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAL,CAAAA,QAAAD,QAAAA,EAAA;AACrBK,IAAAA,EAAAA,GAAAA,MAAA;AACdF,MAAAA,WAAAA,CAAWI,OAAAA,GAAWP,QAAAA;AAAAA,IAAH,CAAA;AAClBM,IAAAA,EAAAA,GAAA,CAACN,QAAQ,CAAA;AAACC,IAAAA,CAAAA,MAAAD,QAAAA;AAAAC,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAK,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAAK,IAAAA,EAAAA,GAAAL,EAAA,CAAA,CAAA;AAAA,EAAA;AAFbO,EAAAA,eAAAA,CAAgBH,IAEbC,EAAU,CAAA;AAAC,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAF,GAAAA,EAAA;AAEJU,IAAAA,EAAAA,GAAAA,MAAA;AACR,MAAA,MAAAE,WAAiBC,CAAAA,KAAAA,KAAA;AACf,QAAA,MAAAC,UAAgBD,KAAAA,CAAKE,MAAAA;AAErB,QAAA,IAAI,CAACD,OAAAA,IAAD,CAAaA,OAAAA,CAAOE,WAAAA,EAAY;AAAA,UAAA;AAAA,QAAA;AACpC,QAAA,IAAI,CAAChB,IAAGQ,OAAAA,EAAQ;AAAA,UAAA;AAAA,QAAA;AAEhB,QAAA,IAAIR,GAAAA,CAAGQ,OAAAA,CAAQS,QAAAA,CAAUH,OAAO,CAAA,EAAC;AAAA,UAAA;AAAA,QAAA;AAcjC,QAAA,MAAAI,UAAAA,GAAmB;AAAA,UAAAC,GAEdN,KAAAA,CAAKO,OAAAA;AAAAA,UAAQC,GACbR,KAAAA,CAAKS;AAAAA,SACV;AAGA,QAAA,MAAAC,UAAAA,GAAmBvB,GAAAA,CAAGQ,OAAAA,CAAQgB,qBAAAA,EAAuB;AACrD,QAAA,MAAAC,aAAAA,GACEP,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUG,QAC1BR,UAAAA,CAAUC,CAAAA,IAAMI,UAAAA,CAAUI,KAAAA,IAC1BT,WAAUG,CAAAA,IAAME,UAAAA,CAAUK,GAAAA,IAC1BV,UAAAA,CAAUG,KAAME,UAAAA,CAAUM,MAAAA;AAE5B,QAAA,IAAIJ,aAAAA,EAAa;AAAA,UAAA;AAAA,QAAA;AAIjBrB,QAAAA,WAAAA,CAAWI,QAASK,KAAK,CAAA;AAAA,MAAC,CAAA;AAI5BiB,MAAAA,QAAAA,CAAQC,gBAAAA,CAAkB,eAAenB,QAAQ,CAAA;AAAC,MAAA,OAE3C,MAAA;AACLkB,QAAAA,QAAAA,CAAQE,mBAAAA,CAAqB,eAAepB,QAAQ,CAAA;AAAA,MAAC,CAAA;AAAA,IACtD,CAAA;AACAD,IAAAA,EAAAA,GAAA,CAACX,GAAG,CAAA;AAACE,IAAAA,CAAAA,MAAAF,GAAAA;AAAAE,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAD,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAAS,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAhDR+B,EAAAA,SAAAA,CAAUvB,IAgDPC,EAAK,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"weth.js","sources":["../../../src/lib/constants/weth.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\n\nimport { ReactComponent as WethSvg } from \"@/assets/weth.svg\";\nimport WethSvgStr from \"@/assets/weth.svg?url\";\nimport { ReactComponent as WmaticSvg } from \"@/assets/wmatic.svg\";\nimport WmaticSvgStr from \"@/assets/wmatic.svg?url\";\nimport { ReactComponent as WavaxSvg } from \"@/assets/wavax.svg\";\nimport WavaxSvgStr from \"@/assets/wavax.svg?url\";\nimport { ReactComponent as WbnbSvg } from \"@/assets/wbnb.svg\";\nimport WbnbSvgStr from \"@/assets/wbnb.svg?url\";\nimport { ReactComponent as WxdaiSvg } from \"@/assets/wxdai.svg\";\nimport WxdaiSvgStr from \"@/assets/wxdai.svg?url\";\nimport { ReactComponent as wSSvg } from \"@/assets/wS.svg\";\nimport wSSvgStr from \"@/assets/wS.svg?url\";\n\nexport const wrappedNativeCurrency: Record<SupportedChainId, Address> = {\n [mainnet.id]: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n [optimism.id]: \"0x4200000000000000000000000000000000000006\",\n [polygon.id]: \"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270\",\n [base.id]: \"0x4200000000000000000000000000000000000006\",\n [arbitrum.id]: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n [avalanche.id]: \"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7\",\n [gnosis.id]: \"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d\",\n [bsc.id]: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n [sonic.id]: \"0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38\",\n [unichain.id]: \"0x4200000000000000000000000000000000000006\"\n};\n\nexport const wrappedNativeCurrencyLogo: Record<\n SupportedChainId,\n {\n component: typeof WethSvg;\n string: string;\n }\n> = {\n [mainnet.id]: { component: WethSvg, string: WethSvgStr },\n [optimism.id]: { component: WethSvg, string: WethSvgStr },\n [polygon.id]: { component: WmaticSvg, string: WmaticSvgStr },\n [base.id]: { component: WethSvg, string: WethSvgStr },\n [arbitrum.id]: { component: WethSvg, string: WethSvgStr },\n [avalanche.id]: { component: WavaxSvg, string: WavaxSvgStr },\n [gnosis.id]: { component: WxdaiSvg, string: WxdaiSvgStr },\n [bsc.id]: { component: WbnbSvg, string: WbnbSvgStr },\n [sonic.id]: { component: wSSvg, string: wSSvgStr },\n [unichain.id]: { component: WethSvg, string: WethSvgStr },\n};\n"],"names":["wrappedNativeCurrency","mainnet","id","optimism","polygon","base","arbitrum","avalanche","gnosis","bsc","sonic","unichain","wrappedNativeCurrencyLogo","component","WethSvg","string","WethSvgStr","WmaticSvg","WmaticSvgStr","WavaxSvg","WavaxSvgStr","WxdaiSvg","WxdaiSvgStr","WbnbSvg","WbnbSvgStr","wSSvg","wSSvgStr"],"mappings":";;;;;;;;;;;;;;AA4BO,MAAMA,qBAAAA,GAA2D;AAAA,EACtE,CAACC,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,4CAAA;AAAA,EACf,CAACE,OAAAA,CAAQF,EAAE,GAAG,4CAAA;AAAA,EACd,CAACG,IAAAA,CAAKH,EAAE,GAAG,4CAAA;AAAA,EACX,CAACI,QAAAA,CAASJ,EAAE,GAAG,4CAAA;AAAA,EACf,CAACK,SAAAA,CAAUL,EAAE,GAAG,4CAAA;AAAA,EAChB,CAACM,MAAAA,CAAON,EAAE,GAAG,4CAAA;AAAA,EACb,CAACO,GAAAA,CAAIP,EAAE,GAAG,4CAAA;AAAA,EACV,CAACQ,KAAAA,CAAMR,EAAE,GAAG,4CAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,yBAAAA,GAMT;AAAA,EACF,CAACX,OAAAA,CAAQC,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACvD,CAACb,QAAAA,CAASD,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACZ,OAAAA,CAAQF,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWI,YAAAA;AAAAA,IAAWF,MAAAA,EAAQG;AAAAA,GAAa;AAAA,EAC3D,CAACb,IAAAA,CAAKH,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACpD,CAACV,QAAAA,CAASJ,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACT,SAAAA,CAAUL,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWM,YAAAA;AAAAA,IAAUJ,MAAAA,EAAQK;AAAAA,GAAY;AAAA,EAC3D,CAACZ,MAAAA,CAAON,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWQ,YAAAA;AAAAA,IAAUN,MAAAA,EAAQO;AAAAA,GAAY;AAAA,EACxD,CAACb,GAAAA,CAAIP,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWU,YAAAA;AAAAA,IAASR,MAAAA,EAAQS;AAAAA,GAAW;AAAA,EACnD,CAACd,KAAAA,CAAMR,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWY,YAAAA;AAAAA,IAAOV,MAAAA,EAAQW;AAAAA,GAAS;AAAA,EACjD,CAACf,QAAAA,CAAST,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA;AAC/C;;;;"}
1
+ {"version":3,"file":"weth.js","sources":["../../../src/lib/constants/weth.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\n\nimport { ReactComponent as WethSvg } from \"@/assets/weth.svg\";\nimport WethSvgStr from \"@/assets/weth.svg?url\";\nimport { ReactComponent as WmaticSvg } from \"@/assets/wmatic.svg\";\nimport WmaticSvgStr from \"@/assets/wmatic.svg?url\";\nimport { ReactComponent as WavaxSvg } from \"@/assets/wavax.svg\";\nimport WavaxSvgStr from \"@/assets/wavax.svg?url\";\nimport { ReactComponent as WbnbSvg } from \"@/assets/wbnb.svg\";\nimport WbnbSvgStr from \"@/assets/wbnb.svg?url\";\nimport { ReactComponent as WxdaiSvg } from \"@/assets/wxdai.svg\";\nimport WxdaiSvgStr from \"@/assets/wxdai.svg?url\";\nimport { ReactComponent as wSSvg } from \"@/assets/wS.svg\";\nimport wSSvgStr from \"@/assets/wS.svg?url\";\n\nexport const wrappedNativeCurrency: Record<SupportedChainId, Address> = {\n [mainnet.id]: \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\",\n [optimism.id]: \"0x4200000000000000000000000000000000000006\",\n [polygon.id]: \"0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270\",\n [base.id]: \"0x4200000000000000000000000000000000000006\",\n [arbitrum.id]: \"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\n [avalanche.id]: \"0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7\",\n [gnosis.id]: \"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d\",\n [bsc.id]: \"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c\",\n [sonic.id]: \"0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38\",\n [unichain.id]: \"0x4200000000000000000000000000000000000006\",\n};\n\nexport const wrappedNativeCurrencyLogo: Record<\n SupportedChainId,\n {\n component: typeof WethSvg;\n string: string;\n }\n> = {\n [mainnet.id]: { component: WethSvg, string: WethSvgStr },\n [optimism.id]: { component: WethSvg, string: WethSvgStr },\n [polygon.id]: { component: WmaticSvg, string: WmaticSvgStr },\n [base.id]: { component: WethSvg, string: WethSvgStr },\n [arbitrum.id]: { component: WethSvg, string: WethSvgStr },\n [avalanche.id]: { component: WavaxSvg, string: WavaxSvgStr },\n [gnosis.id]: { component: WxdaiSvg, string: WxdaiSvgStr },\n [bsc.id]: { component: WbnbSvg, string: WbnbSvgStr },\n [sonic.id]: { component: wSSvg, string: wSSvgStr },\n [unichain.id]: { component: WethSvg, string: WethSvgStr },\n};\n"],"names":["wrappedNativeCurrency","mainnet","id","optimism","polygon","base","arbitrum","avalanche","gnosis","bsc","sonic","unichain","wrappedNativeCurrencyLogo","component","WethSvg","string","WethSvgStr","WmaticSvg","WmaticSvgStr","WavaxSvg","WavaxSvgStr","WxdaiSvg","WxdaiSvgStr","WbnbSvg","WbnbSvgStr","wSSvg","wSSvgStr"],"mappings":";;;;;;;;;;;;;;AA4BO,MAAMA,qBAAAA,GAA2D;AAAA,EACtE,CAACC,OAAAA,CAAQC,EAAE,GAAG,4CAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,4CAAA;AAAA,EACf,CAACE,OAAAA,CAAQF,EAAE,GAAG,4CAAA;AAAA,EACd,CAACG,IAAAA,CAAKH,EAAE,GAAG,4CAAA;AAAA,EACX,CAACI,QAAAA,CAASJ,EAAE,GAAG,4CAAA;AAAA,EACf,CAACK,SAAAA,CAAUL,EAAE,GAAG,4CAAA;AAAA,EAChB,CAACM,MAAAA,CAAON,EAAE,GAAG,4CAAA;AAAA,EACb,CAACO,GAAAA,CAAIP,EAAE,GAAG,4CAAA;AAAA,EACV,CAACQ,KAAAA,CAAMR,EAAE,GAAG,4CAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,yBAAAA,GAMT;AAAA,EACF,CAACX,OAAAA,CAAQC,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACvD,CAACb,QAAAA,CAASD,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACZ,OAAAA,CAAQF,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWI,YAAAA;AAAAA,IAAWF,MAAAA,EAAQG;AAAAA,GAAa;AAAA,EAC3D,CAACb,IAAAA,CAAKH,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACpD,CAACV,QAAAA,CAASJ,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA,GAAW;AAAA,EACxD,CAACT,SAAAA,CAAUL,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWM,YAAAA;AAAAA,IAAUJ,MAAAA,EAAQK;AAAAA,GAAY;AAAA,EAC3D,CAACZ,MAAAA,CAAON,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWQ,YAAAA;AAAAA,IAAUN,MAAAA,EAAQO;AAAAA,GAAY;AAAA,EACxD,CAACb,GAAAA,CAAIP,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWU,YAAAA;AAAAA,IAASR,MAAAA,EAAQS;AAAAA,GAAW;AAAA,EACnD,CAACd,KAAAA,CAAMR,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWY,YAAAA;AAAAA,IAAOV,MAAAA,EAAQW;AAAAA,GAAS;AAAA,EACjD,CAACf,QAAAA,CAAST,EAAE,GAAG;AAAA,IAAEW,SAAAA,EAAWC,UAAAA;AAAAA,IAASC,MAAAA,EAAQC;AAAAA;AAC/C;;;;"}
@@ -1,8 +1,11 @@
1
- import { DeltaOrMarketPrice } from '../../hooks/swap/prices/types';
2
1
  import { default as Big } from 'big.js';
3
2
  export declare function calculatePriceImpactPercent(fromUSD: string, toUSD: string): Big;
4
- export declare function getPriceImpact(price: DeltaOrMarketPrice): {
3
+ export declare function getPriceImpact({ srcUSD, destUSD, }: {
4
+ srcUSD: string | null;
5
+ destUSD: string | null;
6
+ }): {
5
7
  priceImpact: number;
6
8
  isHighImpact: boolean;
7
9
  };
10
+ export declare function formatPriceImpactPercent(priceImpact: number): `${string}%`;
8
11
  //# sourceMappingURL=priceImpact.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/priceImpact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,GAAG,MAAM,QAAQ,CAAC;AAEzB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,GAAG,CAUL;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB,CAsBA"}
1
+ {"version":3,"file":"priceImpact.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/priceImpact.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AAEzB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,GAAG,CAUL;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,GAAG;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB,CAkBA;AAED,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAE1E"}
@@ -1,4 +1,3 @@
1
- import { isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
2
1
  import Big from 'big.js';
3
2
 
4
3
  function calculatePriceImpactPercent(fromUSD, toUSD) {
@@ -10,9 +9,10 @@ function calculatePriceImpactPercent(fromUSD, toUSD) {
10
9
  const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);
11
10
  return Big(Math.min(calculatedImpact.toNumber(), 100));
12
11
  }
13
- function getPriceImpact(price) {
14
- const srcUSD = price.srcUSD;
15
- const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;
12
+ function getPriceImpact({
13
+ srcUSD,
14
+ destUSD
15
+ }) {
16
16
  const impact = (
17
17
  // can't calc priceImpact without knowing USD prices of tokens
18
18
  srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null
@@ -29,6 +29,9 @@ function getPriceImpact(price) {
29
29
  isHighImpact: impactAbsoluteValue.gt(5)
30
30
  };
31
31
  }
32
+ function formatPriceImpactPercent(priceImpact) {
33
+ return `${priceImpact.toFixed(2)}%`;
34
+ }
32
35
 
33
- export { calculatePriceImpactPercent, getPriceImpact };
36
+ export { calculatePriceImpactPercent, formatPriceImpactPercent, getPriceImpact };
34
37
  //# sourceMappingURL=priceImpact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"priceImpact.js","sources":["../../../src/lib/utils/priceImpact.ts"],"sourcesContent":["import { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\n\nexport function calculatePriceImpactPercent(\n fromUSD: string,\n toUSD: string\n): Big {\n if (fromUSD === \"0\" || toUSD === \"0\") {\n return new Big(0);\n }\n\n const toBN = Big(toUSD);\n if (toBN.gte(fromUSD)) return Big(0);\n const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);\n\n return Big(Math.min(calculatedImpact.toNumber(), 100));\n}\n\nexport function getPriceImpact(price: DeltaOrMarketPrice): {\n priceImpact: number;\n isHighImpact: boolean;\n} {\n const srcUSD = price.srcUSD;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n\n const impact =\n // can't calc priceImpact without knowing USD prices of tokens\n srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null;\n\n if (impact === null) {\n return {\n priceImpact: 0,\n isHighImpact: false,\n };\n }\n\n const impactAbsoluteValue = impact.abs();\n\n return {\n priceImpact: impactAbsoluteValue.toNumber(),\n isHighImpact: impactAbsoluteValue.gt(5),\n };\n}\n"],"names":["calculatePriceImpactPercent","fromUSD","toUSD","Big","toBN","gte","calculatedImpact","minus","div","times","Math","min","toNumber","getPriceImpact","price","srcUSD","destUSD","isDeltaPrice","receivedDestUSD","impact","priceImpact","isHighImpact","impactAbsoluteValue","abs","gt"],"mappings":";;;AAIO,SAASA,2BAAAA,CACdC,SACAC,KAAAA,EACK;AACL,EAAA,IAAID,OAAAA,KAAY,GAAA,IAAOC,KAAAA,KAAU,GAAA,EAAK;AACpC,IAAA,OAAO,IAAIC,IAAI,CAAC,CAAA;AAAA,EAClB;AAEA,EAAA,MAAMC,IAAAA,GAAOD,IAAID,KAAK,CAAA;AACtB,EAAA,IAAIE,KAAKC,GAAAA,CAAIJ,OAAO,CAAA,EAAG,OAAOE,IAAI,CAAC,CAAA;AACnC,EAAA,MAAMG,gBAAAA,GAAmBH,GAAAA,CAAI,CAAC,CAAA,CAAEI,KAAAA,CAAMH,IAAAA,CAAKI,GAAAA,CAAIP,OAAO,CAAC,CAAA,CAAEQ,KAAAA,CAAM,GAAG,CAAA;AAElE,EAAA,OAAON,IAAIO,IAAAA,CAAKC,GAAAA,CAAIL,iBAAiBM,QAAAA,EAAS,EAAG,GAAG,CAAC,CAAA;AACvD;AAEO,SAASC,eAAeC,KAAAA,EAG7B;AACA,EAAA,MAAMC,SAASD,KAAAA,CAAMC,MAAAA;AAErB,EAAA,MAAMC,UAAUC,YAAAA,CAAaH,KAAK,CAAA,GAAIA,KAAAA,CAAMI,kBAAkBJ,KAAAA,CAAME,OAAAA;AAEpE,EAAA,MAAMG,MAAAA;AAAAA;AAAAA,IAEJJ,MAAAA,IAAUC,OAAAA,GAAUhB,2BAAAA,CAA4Be,MAAAA,EAAQC,OAAO,CAAA,GAAI;AAAA,GAAA;AAErE,EAAA,IAAIG,WAAW,IAAA,EAAM;AACnB,IAAA,OAAO;AAAA,MACLC,WAAAA,EAAa,CAAA;AAAA,MACbC,YAAAA,EAAc;AAAA,KAChB;AAAA,EACF;AAEA,EAAA,MAAMC,mBAAAA,GAAsBH,OAAOI,GAAAA,EAAI;AAEvC,EAAA,OAAO;AAAA,IACLH,WAAAA,EAAaE,oBAAoBV,QAAAA,EAAS;AAAA,IAC1CS,YAAAA,EAAcC,mBAAAA,CAAoBE,EAAAA,CAAG,CAAC;AAAA,GACxC;AACF;;;;"}
1
+ {"version":3,"file":"priceImpact.js","sources":["../../../src/lib/utils/priceImpact.ts"],"sourcesContent":["import Big from \"big.js\";\n\nexport function calculatePriceImpactPercent(\n fromUSD: string,\n toUSD: string\n): Big {\n if (fromUSD === \"0\" || toUSD === \"0\") {\n return new Big(0);\n }\n\n const toBN = Big(toUSD);\n if (toBN.gte(fromUSD)) return Big(0);\n const calculatedImpact = Big(1).minus(toBN.div(fromUSD)).times(100);\n\n return Big(Math.min(calculatedImpact.toNumber(), 100));\n}\n\nexport function getPriceImpact({\n srcUSD,\n destUSD,\n}: {\n srcUSD: string | null;\n destUSD: string | null;\n}): {\n priceImpact: number;\n isHighImpact: boolean;\n} {\n const impact =\n // can't calc priceImpact without knowing USD prices of tokens\n srcUSD && destUSD ? calculatePriceImpactPercent(srcUSD, destUSD) : null;\n\n if (impact === null) {\n return {\n priceImpact: 0,\n isHighImpact: false,\n };\n }\n\n const impactAbsoluteValue = impact.abs();\n\n return {\n priceImpact: impactAbsoluteValue.toNumber(),\n isHighImpact: impactAbsoluteValue.gt(5),\n };\n}\n\nexport function formatPriceImpactPercent(priceImpact: number): `${string}%` {\n return `${priceImpact.toFixed(2)}%`;\n}\n"],"names":["calculatePriceImpactPercent","fromUSD","toUSD","Big","toBN","gte","calculatedImpact","minus","div","times","Math","min","toNumber","getPriceImpact","srcUSD","destUSD","impact","priceImpact","isHighImpact","impactAbsoluteValue","abs","gt","formatPriceImpactPercent","toFixed"],"mappings":";;AAEO,SAASA,2BAAAA,CACdC,SACAC,KAAAA,EACK;AACL,EAAA,IAAID,OAAAA,KAAY,GAAA,IAAOC,KAAAA,KAAU,GAAA,EAAK;AACpC,IAAA,OAAO,IAAIC,IAAI,CAAC,CAAA;AAAA,EAClB;AAEA,EAAA,MAAMC,IAAAA,GAAOD,IAAID,KAAK,CAAA;AACtB,EAAA,IAAIE,KAAKC,GAAAA,CAAIJ,OAAO,CAAA,EAAG,OAAOE,IAAI,CAAC,CAAA;AACnC,EAAA,MAAMG,gBAAAA,GAAmBH,GAAAA,CAAI,CAAC,CAAA,CAAEI,KAAAA,CAAMH,IAAAA,CAAKI,GAAAA,CAAIP,OAAO,CAAC,CAAA,CAAEQ,KAAAA,CAAM,GAAG,CAAA;AAElE,EAAA,OAAON,IAAIO,IAAAA,CAAKC,GAAAA,CAAIL,iBAAiBM,QAAAA,EAAS,EAAG,GAAG,CAAC,CAAA;AACvD;AAEO,SAASC,cAAAA,CAAe;AAAA,EAC7BC,MAAAA;AAAAA,EACAC;AAIF,CAAA,EAGE;AACA,EAAA,MAAMC,MAAAA;AAAAA;AAAAA,IAEJF,MAAAA,IAAUC,OAAAA,GAAUf,2BAAAA,CAA4Bc,MAAAA,EAAQC,OAAO,CAAA,GAAI;AAAA,GAAA;AAErE,EAAA,IAAIC,WAAW,IAAA,EAAM;AACnB,IAAA,OAAO;AAAA,MACLC,WAAAA,EAAa,CAAA;AAAA,MACbC,YAAAA,EAAc;AAAA,KAChB;AAAA,EACF;AAEA,EAAA,MAAMC,mBAAAA,GAAsBH,OAAOI,GAAAA,EAAI;AAEvC,EAAA,OAAO;AAAA,IACLH,WAAAA,EAAaE,oBAAoBP,QAAAA,EAAS;AAAA,IAC1CM,YAAAA,EAAcC,mBAAAA,CAAoBE,EAAAA,CAAG,CAAC;AAAA,GACxC;AACF;AAEO,SAASC,yBAAyBL,WAAAA,EAAmC;AAC1E,EAAA,OAAO,CAAA,EAAGA,WAAAA,CAAYM,OAAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA;AAClC;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { NonEmptyArray } from 'ts-essentials';
2
2
  export declare const isFilledArray: <T>(array: T[]) => array is NonEmptyArray<T>;
3
3
  export declare function assertFilledArray<T>(array: T[]): asserts array is NonEmptyArray<T>;
4
+ export declare function nonEmptyArrayOrUndefined<T>(arr?: T[]): NonEmptyArray<T> | undefined;
4
5
  export declare function isTupleOfLength<T, N extends number>(array: T[], len: N): array is TupleOfLength<T, N>;
5
6
  export declare function isTupleAtLeastLength<T, N extends number>(array: T[], len: N): array is TupleOfLengthAtLeast<T, N>;
6
7
  export type TupleOfLength<T, N extends number> = number extends N ? never : _TupleOf<T, N, []>;
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAErE,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,GACT,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAEnC;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACjD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAErC;AAGD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GAC7D,KAAK,GACL,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC3E,CAAC,GACD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GACpE,KAAK,GACL,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9B,KAAK,eAAe,CAClB,CAAC,EACD,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EAAE,IACjB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG3D,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAErE,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,GACT,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAEnC;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,GAAG,CAAC,EAAE,CAAC,EAAE,GACR,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAG9B;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACjD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAE9B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,GAAG,EAAE,CAAC,GACL,KAAK,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAErC;AAGD,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GAC7D,KAAK,GACL,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACvB,KAAK,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAC3E,CAAC,GACD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE9B,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GACpE,KAAK,GACL,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9B,KAAK,eAAe,CAClB,CAAC,EACD,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EAAE,IACjB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC"}
@@ -3,9 +3,13 @@ import 'ts-essentials';
3
3
  const isFilledArray = (array) => {
4
4
  return array.length > 0;
5
5
  };
6
+ function nonEmptyArrayOrUndefined(arr) {
7
+ if (!arr) return;
8
+ return isFilledArray(arr) ? arr : void 0;
9
+ }
6
10
  function isTupleAtLeastLength(array, len) {
7
11
  return array.length >= len;
8
12
  }
9
13
 
10
- export { isFilledArray, isTupleAtLeastLength };
14
+ export { isFilledArray, isTupleAtLeastLength, nonEmptyArrayOrUndefined };
11
15
  //# sourceMappingURL=tuple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tuple.js","sources":["../../../src/lib/utils/tuple.ts"],"sourcesContent":["import { assert, type NonEmptyArray } from \"ts-essentials\";\n\n// checks that array has at least one element\nexport const isFilledArray = <T>(array: T[]): array is NonEmptyArray<T> => {\n return array.length > 0;\n};\n\nexport function assertFilledArray<T>(\n array: T[]\n): asserts array is NonEmptyArray<T> {\n assert(isFilledArray(array), \"array must not be empty\");\n}\n\nexport function isTupleOfLength<T, N extends number>(\n array: T[],\n len: N\n): array is TupleOfLength<T, N> {\n return array.length === len;\n}\n\nexport function isTupleAtLeastLength<T, N extends number>(\n array: T[],\n len: N\n): array is TupleOfLengthAtLeast<T, N> {\n return array.length >= len;\n}\n\n// based on https://stackoverflow.com/a/52490977/7316062\nexport type TupleOfLength<T, N extends number> = number extends N\n ? never\n : _TupleOf<T, N, []>;\ntype _TupleOf<T, N extends number, R extends unknown[]> = R[\"length\"] extends N\n ? R\n : _TupleOf<T, N, [T, ...R]>;\n\nexport type TupleOfLengthAtLeast<T, N extends number> = number extends N\n ? never\n : _TupleOfAtLeast<T, N, []>;\ntype _TupleOfAtLeast<\n T,\n N extends number,\n R extends unknown[],\n> = R[\"length\"] extends N ? [...R, ...T[]] : _TupleOfAtLeast<T, N, [T, ...R]>;\n"],"names":["isFilledArray","array","length","isTupleAtLeastLength","len"],"mappings":";;AAGO,MAAMA,aAAAA,GAAgB,CAAIC,KAAAA,KAA0C;AACzE,EAAA,OAAOA,MAAMC,MAAAA,GAAS,CAAA;AACxB;AAeO,SAASC,oBAAAA,CACdF,OACAG,GAAAA,EACqC;AACrC,EAAA,OAAOH,MAAMC,MAAAA,IAAUE,GAAAA;AACzB;;;;"}
1
+ {"version":3,"file":"tuple.js","sources":["../../../src/lib/utils/tuple.ts"],"sourcesContent":["import { assert, type NonEmptyArray } from \"ts-essentials\";\n\n// checks that array has at least one element\nexport const isFilledArray = <T>(array: T[]): array is NonEmptyArray<T> => {\n return array.length > 0;\n};\n\nexport function assertFilledArray<T>(\n array: T[],\n): asserts array is NonEmptyArray<T> {\n assert(isFilledArray(array), \"array must not be empty\");\n}\n\nexport function nonEmptyArrayOrUndefined<T>(\n arr?: T[],\n): NonEmptyArray<T> | undefined {\n if (!arr) return;\n return isFilledArray(arr) ? arr : undefined;\n}\n\nexport function isTupleOfLength<T, N extends number>(\n array: T[],\n len: N,\n): array is TupleOfLength<T, N> {\n return array.length === len;\n}\n\nexport function isTupleAtLeastLength<T, N extends number>(\n array: T[],\n len: N,\n): array is TupleOfLengthAtLeast<T, N> {\n return array.length >= len;\n}\n\n// based on https://stackoverflow.com/a/52490977/7316062\nexport type TupleOfLength<T, N extends number> = number extends N\n ? never\n : _TupleOf<T, N, []>;\ntype _TupleOf<T, N extends number, R extends unknown[]> = R[\"length\"] extends N\n ? R\n : _TupleOf<T, N, [T, ...R]>;\n\nexport type TupleOfLengthAtLeast<T, N extends number> = number extends N\n ? never\n : _TupleOfAtLeast<T, N, []>;\ntype _TupleOfAtLeast<\n T,\n N extends number,\n R extends unknown[],\n> = R[\"length\"] extends N ? [...R, ...T[]] : _TupleOfAtLeast<T, N, [T, ...R]>;\n"],"names":["isFilledArray","array","length","nonEmptyArrayOrUndefined","arr","undefined","isTupleAtLeastLength","len"],"mappings":";;AAGO,MAAMA,aAAAA,GAAgB,CAAIC,KAAAA,KAA0C;AACzE,EAAA,OAAOA,MAAMC,MAAAA,GAAS,CAAA;AACxB;AAQO,SAASC,yBACdC,GAAAA,EAC8B;AAC9B,EAAA,IAAI,CAACA,GAAAA,EAAK;AACV,EAAA,OAAOJ,aAAAA,CAAcI,GAAG,CAAA,GAAIA,GAAAA,GAAMC,MAAAA;AACpC;AASO,SAASC,oBAAAA,CACdL,OACAM,GAAAA,EACqC;AACrC,EAAA,OAAON,MAAMC,MAAAA,IAAUK,GAAAA;AACzB;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
31
+ walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -6,7 +6,7 @@ import { isInIframe } from './isInsideSafeIframe.js';
6
6
 
7
7
  const connectors = [
8
8
  walletConnect({
9
- projectId: "7535ce67d223b89670980f2442899904"
9
+ projectId: "9796e40630a6bea7605ac281b0deb939"
10
10
  }),
11
11
  injected(),
12
12
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
package/dist/styles.css CHANGED
@@ -70,7 +70,7 @@
70
70
  }
71
71
  }
72
72
  }
73
- .velora-widget {
73
+ :root, :host {
74
74
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
75
75
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
76
76
  --color-red-800: oklch(44.4% .177 26.899);
@@ -611,6 +611,10 @@
611
611
  width: calc(var(--spacing) * 5);
612
612
  height: calc(var(--spacing) * 5);
613
613
  }
614
+ .velora-widget.velora-widget .size-5\.5 {
615
+ width: calc(var(--spacing) * 5.5);
616
+ height: calc(var(--spacing) * 5.5);
617
+ }
614
618
  .velora-widget.velora-widget .size-6 {
615
619
  width: calc(var(--spacing) * 6);
616
620
  height: calc(var(--spacing) * 6);
@@ -738,12 +742,18 @@
738
742
  .velora-widget.velora-widget .h-\[72px\] {
739
743
  height: 72px;
740
744
  }
745
+ .velora-widget.velora-widget .h-\[100px\] {
746
+ height: 100px;
747
+ }
741
748
  .velora-widget.velora-widget .h-\[116px\] {
742
749
  height: 116px;
743
750
  }
744
751
  .velora-widget.velora-widget .h-\[168px\] {
745
752
  height: 168px;
746
753
  }
754
+ .velora-widget.velora-widget .h-\[406px\] {
755
+ height: 406px;
756
+ }
747
757
  .velora-widget.velora-widget .h-\[420px\] {
748
758
  height: 420px;
749
759
  }
@@ -765,6 +775,9 @@
765
775
  .velora-widget.velora-widget .h-full {
766
776
  height: 100%;
767
777
  }
778
+ .velora-widget.velora-widget .h-min {
779
+ height: min-content;
780
+ }
768
781
  .velora-widget.velora-widget .h-px {
769
782
  height: 1px;
770
783
  }
@@ -792,6 +805,9 @@
792
805
  .velora-widget.velora-widget .min-h-\[400px\] {
793
806
  min-height: 400px;
794
807
  }
808
+ .velora-widget.velora-widget .min-h-\[571px\] {
809
+ min-height: 571px;
810
+ }
795
811
  .velora-widget.velora-widget .min-h-\[620px\] {
796
812
  min-height: 620px;
797
813
  }
@@ -900,6 +916,9 @@
900
916
  .velora-widget.velora-widget .min-w-0 {
901
917
  min-width: calc(var(--spacing) * 0);
902
918
  }
919
+ .velora-widget.velora-widget .min-w-6 {
920
+ min-width: calc(var(--spacing) * 6);
921
+ }
903
922
  .velora-widget.velora-widget .min-w-\[8rem\] {
904
923
  min-width: 8rem;
905
924
  }
@@ -1020,6 +1039,9 @@
1020
1039
  .velora-widget.velora-widget .flex-wrap {
1021
1040
  flex-wrap: wrap;
1022
1041
  }
1042
+ .velora-widget.velora-widget .items-baseline-last {
1043
+ align-items: last baseline;
1044
+ }
1023
1045
  .velora-widget.velora-widget .items-center {
1024
1046
  align-items: center;
1025
1047
  }
@@ -1062,6 +1084,9 @@
1062
1084
  .velora-widget.velora-widget .gap-3 {
1063
1085
  gap: calc(var(--spacing) * 3);
1064
1086
  }
1087
+ .velora-widget.velora-widget .gap-3\.5 {
1088
+ gap: calc(var(--spacing) * 3.5);
1089
+ }
1065
1090
  .velora-widget.velora-widget .gap-4 {
1066
1091
  gap: calc(var(--spacing) * 4);
1067
1092
  }
@@ -1086,6 +1111,9 @@
1086
1111
  .velora-widget.velora-widget .gap-\[6px\] {
1087
1112
  gap: 6px;
1088
1113
  }
1114
+ .velora-widget.velora-widget .gap-\[7px\] {
1115
+ gap: 7px;
1116
+ }
1089
1117
  .velora-widget.velora-widget .gap-\[8px\] {
1090
1118
  gap: 8px;
1091
1119
  }
@@ -1162,6 +1190,9 @@
1162
1190
  .velora-widget.velora-widget .rounded-\[17px\] {
1163
1191
  border-radius: 17px;
1164
1192
  }
1193
+ .velora-widget.velora-widget .rounded-\[40px\] {
1194
+ border-radius: 40px;
1195
+ }
1165
1196
  .velora-widget.velora-widget .rounded-\[43px\] {
1166
1197
  border-radius: 43px;
1167
1198
  }
@@ -1269,12 +1300,18 @@
1269
1300
  .velora-widget.velora-widget .bg-\[\#0000000D\] {
1270
1301
  background-color: #0000000d;
1271
1302
  }
1303
+ .velora-widget.velora-widget .bg-\[\#34CA9A1A\] {
1304
+ background-color: #34ca9a1a;
1305
+ }
1272
1306
  .velora-widget.velora-widget .bg-\[\#00976733\] {
1273
1307
  background-color: #00976733;
1274
1308
  }
1275
1309
  .velora-widget.velora-widget .bg-\[\#B7BECB\] {
1276
1310
  background-color: #b7becb;
1277
1311
  }
1312
+ .velora-widget.velora-widget .bg-\[\#F75C2A26\] {
1313
+ background-color: #f75c2a26;
1314
+ }
1278
1315
  .velora-widget.velora-widget .bg-\[\#FF3B301A\] {
1279
1316
  background-color: #ff3b301a;
1280
1317
  }
@@ -1666,6 +1703,10 @@
1666
1703
  .velora-widget.velora-widget .text-\[24px\] {
1667
1704
  font-size: 24px;
1668
1705
  }
1706
+ .velora-widget.velora-widget .leading-5 {
1707
+ --tw-leading: calc(var(--spacing) * 5);
1708
+ line-height: calc(var(--spacing) * 5);
1709
+ }
1669
1710
  .velora-widget.velora-widget .leading-none {
1670
1711
  --tw-leading: 1;
1671
1712
  line-height: 1;
@@ -1766,12 +1807,18 @@
1766
1807
  .velora-widget.velora-widget .text-primary-foreground {
1767
1808
  color: var(--primary-foreground);
1768
1809
  }
1810
+ .velora-widget.velora-widget .text-primary-papaya-1 {
1811
+ color: var(--primary-papaya-1);
1812
+ }
1769
1813
  .velora-widget.velora-widget .text-secondary-foreground {
1770
1814
  color: var(--secondary-foreground);
1771
1815
  }
1772
1816
  .velora-widget.velora-widget .text-secondary-iris-blue-1 {
1773
1817
  color: var(--secondary-iris_blue-1);
1774
1818
  }
1819
+ .velora-widget.velora-widget .text-secondary-light-slate-3 {
1820
+ color: var(--secondary-light_slate-3);
1821
+ }
1775
1822
  .velora-widget.velora-widget .text-secondary-orange-peel-1 {
1776
1823
  color: var(--secondary-orange_peel-1);
1777
1824
  }
@@ -1892,6 +1939,9 @@
1892
1939
  outline-style: var(--tw-outline-style);
1893
1940
  outline-width: 1px;
1894
1941
  }
1942
+ .velora-widget.velora-widget .outline-contrast-6 {
1943
+ outline-color: var(--contrast-6);
1944
+ }
1895
1945
  .velora-widget.velora-widget .outline-contrast-7 {
1896
1946
  outline-color: var(--contrast-7);
1897
1947
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/tokens/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAShD,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;CACzD,CAAC;AAiBF,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EACpE,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,CAAC,EAAE,CAAC,6GAaR;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1E,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,CAAC,GACN,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CA6BlD;AAGD,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EACvE,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,CAAC,GACN,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAOlD;AAED,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EAC3E,UAAU,MAAM,EAAE,EAClB,MAAM,CAAC,KACN,mBAAmB,CAAC,CAAC,CAAC,EAgBxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EAC5D,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,CAAC,EAAE,CAAC,GACN,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAOvB;AAED,wBAAgB,kBAAkB,IAAI,gBAAgB,EAAE,CASvD"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/tokens/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAShD,KAAK,mBAAmB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;CACzD,CAAC;AAiBF,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EACpE,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,CAAC,EAAE,CAAC,6GAaR;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EAC1E,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,CAAC,GACN,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CA6BlD;AAGD,wBAAgB,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EACvE,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,CAAC,GACN,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAOlD;AAED,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EAC3E,UAAU,MAAM,EAAE,EAClB,MAAM,CAAC,KACN,mBAAmB,CAAC,CAAC,CAAC,EAkBxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,GAAG,KAAK,EAC5D,QAAQ,EAAE,MAAM,EAAE,EAClB,GAAG,CAAC,EAAE,CAAC,GACN,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAOvB;AAED,wBAAgB,kBAAkB,IAAI,gBAAgB,EAAE,CASvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sources":["../../src/tokens/queries.ts"],"sourcesContent":["import {\n replaceEqualDeep,\n useQueries,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { versionComparator } from \"@uniswap/token-lists\";\nimport type { AxiosError } from \"axios\";\nimport { /* useRef, useLayoutEffect, */ useMemo } from \"react\";\nimport { downloadTokenListDataWithFallback } from \"./lists/download\";\nimport type { TokenListFetched } from \"./types\";\nimport { QUERY_KEY_FETCH_TOKEN_LISTS } from \"./constants\";\nimport { constructPlaceholderData } from \"./lists/utils\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { overrideTokenList } from \"./overrides\";\nimport { stableCoinsTokenLists } from \"./stabeCoins\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tokenListUrlsAtom } from \"./lists/state/tokenListsStateAtom\";\n\ntype UseFetchListsResult<T extends string> = {\n dataOrPlaceholder: TokenListFetched<T>;\n result: UseQueryResult<TokenListFetched<T>, AxiosError>;\n};\n\nfunction isDataEqual<T extends string | never = never>(\n currentData: TokenListFetched<T> | undefined,\n incomingData: TokenListFetched<T>\n): currentData is typeof incomingData {\n // there was no oldData --> data not equal\n if (!currentData) return false;\n // data was a placeholder (available = false) and data.available changed --> data not equal\n if (!currentData.available || !incomingData.available)\n return currentData.available !== incomingData.available;\n // incoming list.version <= current list.version --> consider data equal (don't replace with incoming older version)\n const isOlderOrEqual =\n versionComparator(incomingData.data.version, currentData.data.version) <= 0;\n return isOlderOrEqual;\n}\n\nexport function produceQueriesOptions<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n) {\n // there are duplicate listURLs because in lists.json same list can be present for multiple chains\n const uniqueListURLs = Array.from(new Set(listURLs));\n\n return (\n uniqueListURLs\n // to prevent occasional `token_list_download_error:\"\"` event tag\n .filter(isTruthy)\n .map<UseQueryOptions<TokenListFetched<T>, AxiosError>>((listURL) =>\n produceSingleQueryOption<T>(listURL, tag)\n )\n );\n}\n\nexport function produceSingleQueryOptionMin<T extends string | never = never>(\n listURL: string,\n tag?: T\n): UseQueryOptions<TokenListFetched<T>, AxiosError> {\n return {\n queryKey: [QUERY_KEY_FETCH_TOKEN_LISTS, listURL],\n queryFn: async ({ signal }) => {\n const _data = await downloadTokenListDataWithFallback(listURL, signal);\n\n const data = overrideTokenList(_data, listURL);\n\n return {\n url: listURL,\n name: data.name,\n data,\n tag,\n // possibly mitigates https://sentry.io/organizations/paraswap/discover/ui:3fa26b87e3594d1998ff9fb4770a26d9\n available: Array.isArray(data.tokens),\n };\n },\n staleTime: Infinity,\n gcTime: Infinity,\n\n // custom comparison to optimize big token list comparison\n structuralSharing: (oldData, newData) =>\n isDataEqual(\n oldData as TokenListFetched<T> | undefined,\n newData as TokenListFetched<T>\n )\n ? oldData\n : replaceEqualDeep(oldData, newData),\n };\n}\n\n// adds useQuery options\nexport function produceSingleQueryOption<T extends string | never = never>(\n listURL: string,\n tag?: T\n): UseQueryOptions<TokenListFetched<T>, AxiosError> {\n return {\n ...produceSingleQueryOptionMin<T>(listURL, tag),\n notifyOnChangeProps: [\"data\"],\n placeholderData: constructPlaceholderData(listURL), // start with unavailable but still with url\n refetchOnMount: false,\n };\n}\n\nexport const useFetchListsWithQueryResult = <T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): UseFetchListsResult<T>[] => {\n const queryResults = useQueries<\n UseQueryOptions<TokenListFetched<T>, AxiosError>[]\n >({ queries: produceQueriesOptions(listURLs, tag) });\n\n return useMemo<UseFetchListsResult<T>[]>(\n () =>\n queryResults.map((result) => ({\n // provide {url, name} even on error\n dataOrPlaceholder:\n result.data ||\n constructPlaceholderData(result.error?.config?.url || \"\"),\n result,\n })),\n [queryResults]\n );\n};\n\nexport function useFetchLists<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): TokenListFetched<T>[] {\n const queryResults = useFetchListsWithQueryResult(listURLs, tag);\n\n return useMemo(\n () => queryResults.map(({ dataOrPlaceholder }) => dataOrPlaceholder),\n [queryResults]\n );\n}\n\nexport function useFetchTokenLists(): TokenListFetched[] {\n const currentlyEnabledLists = useAtomValue(tokenListUrlsAtom);\n\n // stablecoins list is auxiliary list, always in use\n const includingStablecoins = stableCoinsTokenLists.concat(\n currentlyEnabledLists\n );\n\n return useFetchLists(includingStablecoins);\n}\n"],"names":["isDataEqual","currentData","incomingData","available","isOlderOrEqual","versionComparator","data","version","produceQueriesOptions","listURLs","tag","uniqueListURLs","Array","from","Set","filter","isTruthy","map","listURL","produceSingleQueryOption","produceSingleQueryOptionMin","queryKey","QUERY_KEY_FETCH_TOKEN_LISTS","queryFn","signal","_data","downloadTokenListDataWithFallback","overrideTokenList","url","name","isArray","tokens","staleTime","Infinity","gcTime","structuralSharing","oldData","newData","replaceEqualDeep","notifyOnChangeProps","placeholderData","constructPlaceholderData","refetchOnMount","useFetchListsWithQueryResult","$","_c","t0","t1","queries","queryResults","useQueries","t2","_temp","useFetchLists","_temp2","dataOrPlaceholder","useFetchTokenLists","currentlyEnabledLists","useAtomValue","tokenListUrlsAtom","stableCoinsTokenLists","concat","includingStablecoins","result","error","config"],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sources":["../../src/tokens/queries.ts"],"sourcesContent":["import {\n replaceEqualDeep,\n useQueries,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { versionComparator } from \"@uniswap/token-lists\";\nimport type { AxiosError } from \"axios\";\nimport { /* useRef, useLayoutEffect, */ useMemo } from \"react\";\nimport { downloadTokenListDataWithFallback } from \"./lists/download\";\nimport type { TokenListFetched } from \"./types\";\nimport { QUERY_KEY_FETCH_TOKEN_LISTS } from \"./constants\";\nimport { constructPlaceholderData } from \"./lists/utils\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { overrideTokenList } from \"./overrides\";\nimport { stableCoinsTokenLists } from \"./stabeCoins\";\nimport { useAtomValue } from \"@/core/store\";\nimport { tokenListUrlsAtom } from \"./lists/state/tokenListsStateAtom\";\n\ntype UseFetchListsResult<T extends string> = {\n dataOrPlaceholder: TokenListFetched<T>;\n result: UseQueryResult<TokenListFetched<T>, AxiosError>;\n};\n\nfunction isDataEqual<T extends string | never = never>(\n currentData: TokenListFetched<T> | undefined,\n incomingData: TokenListFetched<T>\n): currentData is typeof incomingData {\n // there was no oldData --> data not equal\n if (!currentData) return false;\n // data was a placeholder (available = false) and data.available changed --> data not equal\n if (!currentData.available || !incomingData.available)\n return currentData.available !== incomingData.available;\n // incoming list.version <= current list.version --> consider data equal (don't replace with incoming older version)\n const isOlderOrEqual =\n versionComparator(incomingData.data.version, currentData.data.version) <= 0;\n return isOlderOrEqual;\n}\n\nexport function produceQueriesOptions<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n) {\n // there are duplicate listURLs because in lists.json same list can be present for multiple chains\n const uniqueListURLs = Array.from(new Set(listURLs));\n\n return (\n uniqueListURLs\n // to prevent occasional `token_list_download_error:\"\"` event tag\n .filter(isTruthy)\n .map<UseQueryOptions<TokenListFetched<T>, AxiosError>>((listURL) =>\n produceSingleQueryOption<T>(listURL, tag)\n )\n );\n}\n\nexport function produceSingleQueryOptionMin<T extends string | never = never>(\n listURL: string,\n tag?: T\n): UseQueryOptions<TokenListFetched<T>, AxiosError> {\n return {\n queryKey: [QUERY_KEY_FETCH_TOKEN_LISTS, listURL],\n queryFn: async ({ signal }) => {\n const _data = await downloadTokenListDataWithFallback(listURL, signal);\n\n const data = overrideTokenList(_data, listURL);\n\n return {\n url: listURL,\n name: data.name,\n data,\n tag,\n // possibly mitigates https://sentry.io/organizations/paraswap/discover/ui:3fa26b87e3594d1998ff9fb4770a26d9\n available: Array.isArray(data.tokens),\n };\n },\n staleTime: Infinity,\n gcTime: Infinity,\n\n // custom comparison to optimize big token list comparison\n structuralSharing: (oldData, newData) =>\n isDataEqual(\n oldData as TokenListFetched<T> | undefined,\n newData as TokenListFetched<T>\n )\n ? oldData\n : replaceEqualDeep(oldData, newData),\n };\n}\n\n// adds useQuery options\nexport function produceSingleQueryOption<T extends string | never = never>(\n listURL: string,\n tag?: T\n): UseQueryOptions<TokenListFetched<T>, AxiosError> {\n return {\n ...produceSingleQueryOptionMin<T>(listURL, tag),\n notifyOnChangeProps: [\"data\"],\n placeholderData: constructPlaceholderData(listURL), // start with unavailable but still with url\n refetchOnMount: false,\n };\n}\n\nexport const useFetchListsWithQueryResult = <T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): UseFetchListsResult<T>[] => {\n const queryResults = useQueries<\n UseQueryOptions<TokenListFetched<T>, AxiosError>[]\n >({\n queries: produceQueriesOptions(listURLs, tag),\n });\n\n return useMemo<UseFetchListsResult<T>[]>(\n () =>\n queryResults.map((result) => ({\n // provide {url, name} even on error\n dataOrPlaceholder:\n result.data ||\n constructPlaceholderData(result.error?.config?.url || \"\"),\n result,\n })),\n [queryResults]\n );\n};\n\nexport function useFetchLists<T extends string | never = never>(\n listURLs: string[],\n tag?: T\n): TokenListFetched<T>[] {\n const queryResults = useFetchListsWithQueryResult(listURLs, tag);\n\n return useMemo(\n () => queryResults.map(({ dataOrPlaceholder }) => dataOrPlaceholder),\n [queryResults]\n );\n}\n\nexport function useFetchTokenLists(): TokenListFetched[] {\n const currentlyEnabledLists = useAtomValue(tokenListUrlsAtom);\n\n // stablecoins list is auxiliary list, always in use\n const includingStablecoins = stableCoinsTokenLists.concat(\n currentlyEnabledLists\n );\n\n return useFetchLists(includingStablecoins);\n}\n"],"names":["isDataEqual","currentData","incomingData","available","isOlderOrEqual","versionComparator","data","version","produceQueriesOptions","listURLs","tag","uniqueListURLs","Array","from","Set","filter","isTruthy","map","listURL","produceSingleQueryOption","produceSingleQueryOptionMin","queryKey","QUERY_KEY_FETCH_TOKEN_LISTS","queryFn","signal","_data","downloadTokenListDataWithFallback","overrideTokenList","url","name","isArray","tokens","staleTime","Infinity","gcTime","structuralSharing","oldData","newData","replaceEqualDeep","notifyOnChangeProps","placeholderData","constructPlaceholderData","refetchOnMount","useFetchListsWithQueryResult","$","_c","t0","t1","queries","queryResults","useQueries","t2","_temp","useFetchLists","_temp2","dataOrPlaceholder","useFetchTokenLists","currentlyEnabledLists","useAtomValue","tokenListUrlsAtom","stableCoinsTokenLists","concat","includingStablecoins","result","error","config"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.3.1",
3
+ "version": "0.3.2-dev.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [
@@ -74,7 +74,7 @@
74
74
  "@tanstack/react-pacer": "^0.14.0",
75
75
  "@tanstack/react-virtual": "^3.13.12",
76
76
  "@uniswap/token-lists": "1.0.0-beta.34",
77
- "@velora-dex/sdk": "9.3.0",
77
+ "@velora-dex/sdk": "9.3.1",
78
78
  "@wagmi/core": "^2.18.1",
79
79
  "axios": "^1.11.0",
80
80
  "big.js": "^7.0.1",