@rango-dev/widget-embedded 0.17.1-next.1 → 0.17.1-next.10

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 (317) hide show
  1. package/dist/QueueManager.d.ts +5 -2
  2. package/dist/QueueManager.d.ts.map +1 -1
  3. package/dist/components/AppRouter.d.ts +0 -2
  4. package/dist/components/AppRouter.d.ts.map +1 -1
  5. package/dist/components/AppRoutes.d.ts +1 -6
  6. package/dist/components/AppRoutes.d.ts.map +1 -1
  7. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts +1 -3
  8. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts.map +1 -1
  9. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +1 -1
  10. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  11. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +1 -3
  12. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
  13. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  14. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +1 -4
  15. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
  16. package/dist/components/NoResult/NoResult.d.ts +4 -0
  17. package/dist/components/NoResult/NoResult.d.ts.map +1 -0
  18. package/dist/components/NoResult/NoResult.helpers.d.ts +4 -0
  19. package/dist/components/NoResult/NoResult.helpers.d.ts.map +1 -0
  20. package/dist/components/{NoRoutes/NoRoutes.styles.d.ts → NoResult/NoResult.styles.d.ts} +1 -1
  21. package/dist/components/{NoRoutes/NoRoutes.styles.d.ts.map → NoResult/NoResult.styles.d.ts.map} +1 -1
  22. package/dist/components/{NoRoutes/NoRoutes.types.d.ts → NoResult/NoResult.types.d.ts} +3 -3
  23. package/dist/components/NoResult/NoResult.types.d.ts.map +1 -0
  24. package/dist/components/NoResult/index.d.ts +2 -0
  25. package/dist/components/NoResult/index.d.ts.map +1 -0
  26. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  27. package/dist/components/Quote/Quote.d.ts +4 -0
  28. package/dist/components/Quote/Quote.d.ts.map +1 -0
  29. package/dist/components/Quote/Quote.styles.d.ts +1429 -0
  30. package/dist/components/Quote/Quote.styles.d.ts.map +1 -0
  31. package/dist/components/Quote/Quote.types.d.ts +22 -0
  32. package/dist/components/Quote/Quote.types.d.ts.map +1 -0
  33. package/dist/components/Quote/QuoteSkeleton.d.ts +4 -0
  34. package/dist/components/Quote/QuoteSkeleton.d.ts.map +1 -0
  35. package/dist/components/Quote/QuoteSkeleton.styles.d.ts +319 -0
  36. package/dist/components/Quote/QuoteSkeleton.styles.d.ts.map +1 -0
  37. package/dist/components/Quote/QuoteSkeleton.types.d.ts +6 -0
  38. package/dist/components/Quote/QuoteSkeleton.types.d.ts.map +1 -0
  39. package/dist/components/Quote/QuoteSummary.d.ts +11 -0
  40. package/dist/components/Quote/QuoteSummary.d.ts.map +1 -0
  41. package/dist/components/Quote/QuoteSummary.styles.d.ts +158 -0
  42. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -0
  43. package/dist/components/Quote/index.d.ts +4 -0
  44. package/dist/components/Quote/index.d.ts.map +1 -0
  45. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts +11 -0
  46. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts.map +1 -0
  47. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts +4 -0
  48. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts.map +1 -0
  49. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts +4 -0
  50. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -0
  51. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts +9 -0
  52. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -0
  53. package/dist/components/{RouteErrors/RouteErrors.styles.d.ts → QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts} +1 -1
  54. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -0
  55. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +22 -0
  56. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -0
  57. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts +11 -0
  58. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts.map +1 -0
  59. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts +11 -0
  60. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts.map +1 -0
  61. package/dist/components/QuoteWarningsAndErrors/index.d.ts +2 -0
  62. package/dist/components/QuoteWarningsAndErrors/index.d.ts.map +1 -0
  63. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  64. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  65. package/dist/components/UpdateUrl.d.ts +1 -6
  66. package/dist/components/UpdateUrl.d.ts.map +1 -1
  67. package/dist/components/WidgetEvents.d.ts.map +1 -1
  68. package/dist/constants/errors.d.ts +4 -4
  69. package/dist/constants/errors.d.ts.map +1 -1
  70. package/dist/constants/messages.d.ts +1 -1
  71. package/dist/constants/searchParams.d.ts +2 -1
  72. package/dist/constants/searchParams.d.ts.map +1 -1
  73. package/dist/constants/warnings.d.ts +2 -2
  74. package/dist/constants/warnings.d.ts.map +1 -1
  75. package/dist/containers/App/App.d.ts +3 -0
  76. package/dist/containers/App/App.d.ts.map +1 -0
  77. package/dist/containers/App/App.styles.d.ts +158 -0
  78. package/dist/containers/App/App.styles.d.ts.map +1 -0
  79. package/dist/containers/App/index.d.ts +2 -0
  80. package/dist/containers/App/index.d.ts.map +1 -0
  81. package/dist/containers/QuoteInfo/QuoteInfo.d.ts +4 -0
  82. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -0
  83. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +472 -0
  84. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -0
  85. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +17 -0
  86. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -0
  87. package/dist/containers/QuoteInfo/index.d.ts +2 -0
  88. package/dist/containers/QuoteInfo/index.d.ts.map +1 -0
  89. package/dist/containers/Wallets/Wallets.d.ts +6 -0
  90. package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
  91. package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
  92. package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
  93. package/dist/containers/Wallets/index.d.ts +2 -0
  94. package/dist/containers/Wallets/index.d.ts.map +1 -0
  95. package/dist/containers/Widget/Widget.d.ts +5 -0
  96. package/dist/containers/Widget/Widget.d.ts.map +1 -0
  97. package/dist/containers/Widget/Widget.types.d.ts +5 -0
  98. package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
  99. package/dist/containers/Widget/index.d.ts +3 -0
  100. package/dist/containers/Widget/index.d.ts.map +1 -0
  101. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
  102. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
  103. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +5 -0
  104. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
  105. package/dist/containers/WidgetInfo/index.d.ts +2 -0
  106. package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
  107. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
  108. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  109. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
  110. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
  111. package/dist/containers/WidgetProvider/index.d.ts +2 -0
  112. package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
  113. package/dist/hooks/useConfirmSwap/index.d.ts +2 -0
  114. package/dist/hooks/useConfirmSwap/index.d.ts.map +1 -0
  115. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts +3 -0
  116. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -0
  117. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +16 -0
  118. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -0
  119. package/dist/hooks/{useConfirmSwap.d.ts → useConfirmSwap/useConfirmSwap.types.d.ts} +5 -7
  120. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -0
  121. package/dist/hooks/{useFetchBestRoute.d.ts → useFetchQuote.d.ts} +3 -3
  122. package/dist/hooks/useFetchQuote.d.ts.map +1 -0
  123. package/dist/hooks/useForceAutoConnect.d.ts +2 -0
  124. package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
  125. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +2 -2
  126. package/dist/hooks/useSwapInput.d.ts +4 -2
  127. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  128. package/dist/hooks/useSyncStoresWithConfig.d.ts +1 -2
  129. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  130. package/dist/hooks/useWalletList.d.ts.map +1 -1
  131. package/dist/index.d.ts +10 -4
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +1 -1
  134. package/dist/index.js.map +4 -4
  135. package/dist/pages/ConfirmSwapPage.d.ts +1 -6
  136. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  137. package/dist/pages/Home.d.ts.map +1 -1
  138. package/dist/pages/LiquiditySourcePage.d.ts +1 -2
  139. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  140. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  141. package/dist/pages/SettingsPage.d.ts +1 -6
  142. package/dist/pages/SettingsPage.d.ts.map +1 -1
  143. package/dist/pages/WalletsPage.d.ts +1 -8
  144. package/dist/pages/WalletsPage.d.ts.map +1 -1
  145. package/dist/store/AppStore.d.ts +11 -0
  146. package/dist/store/AppStore.d.ts.map +1 -0
  147. package/dist/store/app.d.ts +5 -23
  148. package/dist/store/app.d.ts.map +1 -1
  149. package/dist/store/{bestRoute.d.ts → quote.d.ts} +39 -27
  150. package/dist/store/quote.d.ts.map +1 -0
  151. package/dist/store/settings.d.ts +3 -2
  152. package/dist/store/settings.d.ts.map +1 -1
  153. package/dist/store/slices/config.d.ts +3 -2
  154. package/dist/store/slices/config.d.ts.map +1 -1
  155. package/dist/store/slices/data.d.ts +3 -0
  156. package/dist/store/slices/data.d.ts.map +1 -1
  157. package/dist/store/wallets.d.ts +5 -4
  158. package/dist/store/wallets.d.ts.map +1 -1
  159. package/dist/types/config.d.ts +5 -5
  160. package/dist/types/config.d.ts.map +1 -1
  161. package/dist/types/index.d.ts +1 -1
  162. package/dist/types/index.d.ts.map +1 -1
  163. package/dist/types/quote.d.ts +82 -0
  164. package/dist/types/quote.d.ts.map +1 -0
  165. package/dist/utils/numbers.d.ts +1 -1
  166. package/dist/utils/numbers.d.ts.map +1 -1
  167. package/dist/utils/{routing.d.ts → quote.d.ts} +16 -12
  168. package/dist/utils/quote.d.ts.map +1 -0
  169. package/dist/utils/settings.d.ts +3 -2
  170. package/dist/utils/settings.d.ts.map +1 -1
  171. package/dist/utils/swap.d.ts +25 -22
  172. package/dist/utils/swap.d.ts.map +1 -1
  173. package/dist/utils/wallets.d.ts +2 -2
  174. package/dist/utils/wallets.d.ts.map +1 -1
  175. package/package.json +6 -6
  176. package/src/QueueManager.tsx +17 -17
  177. package/src/components/AppRouter.tsx +6 -5
  178. package/src/components/AppRoutes.tsx +6 -39
  179. package/src/components/BlockchainList/BlockchainList.tsx +4 -4
  180. package/src/components/BlockchainsSection/BlockchainsSection.tsx +7 -7
  181. package/src/components/ConfirmWalletsModal/ConfirmWallets.helpers.ts +2 -64
  182. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +28 -40
  183. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +1 -3
  184. package/src/components/ConfirmWalletsModal/WalletList.tsx +6 -5
  185. package/src/components/ConfirmWalletsModal/WalletList.type.ts +1 -4
  186. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +3 -3
  187. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +6 -6
  188. package/src/components/{NoRoutes/NoRoutes.helper.ts → NoResult/NoResult.helpers.ts} +16 -9
  189. package/src/components/{NoRoutes/NoRoutes.styles.ts → NoResult/NoResult.styles.ts} +2 -0
  190. package/src/components/{NoRoutes/NoRoutes.tsx → NoResult/NoResult.tsx} +10 -12
  191. package/src/components/{NoRoutes/NoRoutes.types.ts → NoResult/NoResult.types.ts} +3 -2
  192. package/src/components/NoResult/index.ts +1 -0
  193. package/src/components/NotificationContent/NotificationContent.tsx +3 -2
  194. package/src/components/Quote/Quote.styles.ts +212 -0
  195. package/src/components/Quote/Quote.tsx +345 -0
  196. package/src/components/Quote/Quote.types.ts +16 -0
  197. package/src/components/Quote/QuoteSkeleton.styles.ts +110 -0
  198. package/src/components/Quote/QuoteSkeleton.tsx +108 -0
  199. package/src/components/Quote/QuoteSkeleton.types.ts +5 -0
  200. package/src/components/Quote/QuoteSummary.styles.ts +15 -0
  201. package/src/components/Quote/QuoteSummary.tsx +46 -0
  202. package/src/components/Quote/index.ts +3 -0
  203. package/src/components/QuoteWarningsAndErrors/HighValueLossWarningModal.tsx +107 -0
  204. package/src/components/{RouteErrors/RouteErrorsModalItem.tsx → QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx} +3 -3
  205. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +67 -0
  206. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +103 -0
  207. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +24 -0
  208. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +77 -0
  209. package/src/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.tsx +38 -0
  210. package/src/components/QuoteWarningsAndErrors/index.ts +1 -0
  211. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +1 -1
  212. package/src/components/SwapDetails/SwapDetails.tsx +18 -22
  213. package/src/components/SwitchFromAndTo.tsx +2 -2
  214. package/src/components/TokenList/TokenList.tsx +5 -6
  215. package/src/components/UpdateUrl.tsx +36 -26
  216. package/src/components/WidgetEvents.tsx +4 -2
  217. package/src/constants/errors.ts +8 -10
  218. package/src/constants/messages.ts +1 -1
  219. package/src/constants/searchParams.ts +1 -0
  220. package/src/constants/warnings.ts +7 -7
  221. package/src/containers/App/App.styles.ts +18 -0
  222. package/src/containers/App/App.tsx +65 -0
  223. package/src/containers/App/index.ts +1 -0
  224. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +15 -0
  225. package/src/containers/QuoteInfo/QuoteInfo.tsx +97 -0
  226. package/src/containers/QuoteInfo/QuoteInfo.types.ts +17 -0
  227. package/src/containers/QuoteInfo/index.ts +1 -0
  228. package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +40 -32
  229. package/src/containers/Wallets/Wallets.types.ts +12 -0
  230. package/src/containers/Wallets/index.ts +1 -0
  231. package/src/containers/Widget/Widget.tsx +19 -0
  232. package/src/containers/Widget/Widget.types.ts +5 -0
  233. package/src/containers/Widget/index.ts +2 -0
  234. package/src/containers/WidgetInfo/WidgetInfo.tsx +36 -0
  235. package/src/containers/WidgetInfo/WidgetInfo.types.ts +5 -0
  236. package/src/containers/WidgetInfo/index.ts +1 -0
  237. package/src/containers/WidgetProvider/WidgetProvider.tsx +19 -0
  238. package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
  239. package/src/containers/WidgetProvider/index.ts +1 -0
  240. package/src/hooks/useConfirmSwap/index.ts +1 -0
  241. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +168 -0
  242. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +136 -0
  243. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +19 -0
  244. package/src/hooks/{useFetchBestRoute.ts → useFetchQuote.ts} +3 -3
  245. package/src/hooks/useForceAutoConnect.ts +27 -0
  246. package/src/hooks/useNavigateBack.ts +3 -3
  247. package/src/hooks/useSwapInput.ts +58 -23
  248. package/src/hooks/useSyncStoresWithConfig.ts +22 -19
  249. package/src/hooks/useWalletList.ts +3 -5
  250. package/src/index.ts +10 -3
  251. package/src/pages/ConfirmSwapPage.tsx +58 -235
  252. package/src/pages/HistoryPage.tsx +1 -1
  253. package/src/pages/Home.tsx +58 -247
  254. package/src/pages/LanguagePage.tsx +1 -1
  255. package/src/pages/LiquiditySourcePage.tsx +23 -32
  256. package/src/pages/SelectBlockchainPage.tsx +6 -7
  257. package/src/pages/SelectSwapItemsPage.tsx +5 -5
  258. package/src/pages/SettingsPage.tsx +9 -13
  259. package/src/pages/SwapDetailsPage.tsx +3 -3
  260. package/src/pages/ThemePage.tsx +1 -1
  261. package/src/pages/WalletsPage.tsx +5 -12
  262. package/src/store/AppStore.tsx +35 -0
  263. package/src/store/app.ts +18 -6
  264. package/src/store/{bestRoute.ts → quote.ts} +68 -60
  265. package/src/store/settings.ts +7 -4
  266. package/src/store/slices/config.ts +25 -15
  267. package/src/store/slices/data.ts +64 -29
  268. package/src/store/wallets.ts +11 -8
  269. package/src/types/config.ts +5 -5
  270. package/src/types/index.ts +1 -1
  271. package/src/types/quote.ts +107 -0
  272. package/src/utils/numbers.ts +1 -1
  273. package/src/utils/quote.ts +338 -0
  274. package/src/utils/settings.ts +8 -7
  275. package/src/utils/swap.ts +113 -85
  276. package/src/utils/wallets.ts +29 -17
  277. package/dist/Wallets.d.ts +0 -17
  278. package/dist/Wallets.d.ts.map +0 -1
  279. package/dist/Widget.d.ts +0 -9
  280. package/dist/Widget.d.ts.map +0 -1
  281. package/dist/components/NoRoutes/NoRoutes.d.ts +0 -4
  282. package/dist/components/NoRoutes/NoRoutes.d.ts.map +0 -1
  283. package/dist/components/NoRoutes/NoRoutes.helper.d.ts +0 -3
  284. package/dist/components/NoRoutes/NoRoutes.helper.d.ts.map +0 -1
  285. package/dist/components/NoRoutes/NoRoutes.types.d.ts.map +0 -1
  286. package/dist/components/NoRoutes/index.d.ts +0 -2
  287. package/dist/components/NoRoutes/index.d.ts.map +0 -1
  288. package/dist/components/RouteErrors/RouteErrors.d.ts +0 -4
  289. package/dist/components/RouteErrors/RouteErrors.d.ts.map +0 -1
  290. package/dist/components/RouteErrors/RouteErrors.styles.d.ts.map +0 -1
  291. package/dist/components/RouteErrors/RouteErrors.types.d.ts +0 -24
  292. package/dist/components/RouteErrors/RouteErrors.types.d.ts.map +0 -1
  293. package/dist/components/RouteErrors/RouteErrorsModal.d.ts +0 -4
  294. package/dist/components/RouteErrors/RouteErrorsModal.d.ts.map +0 -1
  295. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts +0 -4
  296. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts.map +0 -1
  297. package/dist/components/RouteErrors/index.d.ts +0 -2
  298. package/dist/components/RouteErrors/index.d.ts.map +0 -1
  299. package/dist/hooks/useConfirmSwap.d.ts.map +0 -1
  300. package/dist/hooks/useFetchBestRoute.d.ts.map +0 -1
  301. package/dist/store/bestRoute.d.ts.map +0 -1
  302. package/dist/store/meta.d.ts +0 -23
  303. package/dist/store/meta.d.ts.map +0 -1
  304. package/dist/types/routing.d.ts +0 -65
  305. package/dist/types/routing.d.ts.map +0 -1
  306. package/dist/utils/routing.d.ts.map +0 -1
  307. package/src/Widget.tsx +0 -119
  308. package/src/components/NoRoutes/index.ts +0 -1
  309. package/src/components/RouteErrors/RouteErrors.tsx +0 -79
  310. package/src/components/RouteErrors/RouteErrors.types.ts +0 -29
  311. package/src/components/RouteErrors/RouteErrorsModal.tsx +0 -129
  312. package/src/components/RouteErrors/index.ts +0 -1
  313. package/src/hooks/useConfirmSwap.ts +0 -303
  314. package/src/store/meta.ts +0 -39
  315. package/src/types/routing.ts +0 -77
  316. package/src/utils/routing.ts +0 -321
  317. /package/src/components/{RouteErrors/RouteErrors.styles.ts → QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts} +0 -0
@@ -1,5 +1,6 @@
1
1
  import type { Wallet } from '../types';
2
2
  import type { WalletType } from '@rango-dev/wallets-shared';
3
+ import type { Token } from 'rango-sdk';
3
4
 
4
5
  import { create } from 'zustand';
5
6
  import { subscribeWithSelector } from 'zustand/middleware';
@@ -11,7 +12,6 @@ import {
11
12
  resetConnectedWalletState,
12
13
  } from '../utils/wallets';
13
14
 
14
- import { useMetaStore } from './meta';
15
15
  import createSelectors from './selectors';
16
16
 
17
17
  export type TokenBalance = {
@@ -38,11 +38,15 @@ interface WalletsStore {
38
38
  connectedWallets: ConnectedWallet[];
39
39
  customDestination: string;
40
40
  loading: boolean;
41
- connectWallet: (accounts: Wallet[]) => void;
41
+ connectWallet: (accounts: Wallet[], tokens: Token[]) => void;
42
42
  disconnectWallet: (walletType: WalletType) => void;
43
43
  selectWallets: (wallets: { walletType: string; chain: string }[]) => void;
44
44
  clearConnectedWallet: () => void;
45
- getWalletsDetails: (accounts: Wallet[], shouldRetry?: boolean) => void;
45
+ getWalletsDetails: (
46
+ accounts: Wallet[],
47
+ tokens: Token[],
48
+ shouldRetry?: boolean
49
+ ) => void;
46
50
  }
47
51
 
48
52
  export const useWalletsStore = createSelectors(
@@ -51,7 +55,7 @@ export const useWalletsStore = createSelectors(
51
55
  connectedWallets: [],
52
56
  customDestination: '',
53
57
  loading: false,
54
- connectWallet: (accounts) => {
58
+ connectWallet: (accounts, tokens) => {
55
59
  const getWalletsDetails = get().getWalletsDetails;
56
60
  set((state) => ({
57
61
  loading: true,
@@ -77,7 +81,7 @@ export const useWalletsStore = createSelectors(
77
81
  })
78
82
  ),
79
83
  }));
80
- getWalletsDetails(accounts);
84
+ getWalletsDetails(accounts, tokens);
81
85
  },
82
86
  disconnectWallet: (walletType) => {
83
87
  set((state) => {
@@ -135,9 +139,8 @@ export const useWalletsStore = createSelectors(
135
139
  connectedWallets: [],
136
140
  selectedWallets: [],
137
141
  })),
138
- getWalletsDetails: async (accounts, shouldRetry = true) => {
142
+ getWalletsDetails: async (accounts, tokens, shouldRetry = true) => {
139
143
  const getWalletsDetails = get().getWalletsDetails;
140
- const { tokens } = useMetaStore.getState().meta;
141
144
  set((state) => ({
142
145
  loading: true,
143
146
  connectedWallets: state.connectedWallets.map((wallet) => {
@@ -173,7 +176,7 @@ export const useWalletsStore = createSelectors(
173
176
  matchedAccount &&
174
177
  shouldRetry
175
178
  ) {
176
- getWalletsDetails([matchedAccount], false);
179
+ getWalletsDetails([matchedAccount], tokens, false);
177
180
  }
178
181
  return matchedAccount && retrievedBalanceAccount
179
182
  ? {
@@ -61,7 +61,7 @@ export type WidgetTheme = {
61
61
  * @property {{ [key: string]: string }} wallets - If you want to change the default affiliate wallet
62
62
  * addresses, you can provide new values here. (Map of route blockchains to affiliate address)
63
63
  */
64
- export type WidgeAffiliate = {
64
+ export type WidgetAffiliate = {
65
65
  ref?: string;
66
66
  percent?: number;
67
67
  wallets?: { [key: string]: string };
@@ -91,7 +91,7 @@ export type BlockchainAndTokenConfig = {
91
91
  * and theme.
92
92
  *
93
93
  * @property {string} apiKey - The API key used to communicate with Rango API
94
- * @property {WidgeAffiliate} affiliate - If you want to charge users fee per transaction, you should
94
+ * @property {WidgetAffiliate} affiliate - If you want to charge users fee per transaction, you should
95
95
  * pass `WidgetAffiliate` including affiliateRef, affiliatePercent, and affiliateWallets.
96
96
  * @property {number} amount - The default input amount.
97
97
  * @property {BlockchainAndTokenConfig} from - The `from` property is an optional property of type
@@ -121,13 +121,13 @@ export type BlockchainAndTokenConfig = {
121
121
  * If `externalWallets` is `true`, you should add `WidgetWallets` to your app.
122
122
  * @property {Asset} pinnedTokens - The `pinnedTokens` property is an optional array of `Asset` objects that
123
123
  * you could use to pin tokens of your choice to the top of the token list.
124
- * @property {boolean} includeNewLiquiditySources - The `includeNewLiquiditySources` property is a boolean value that when you
124
+ * @property {boolean} enableNewLiquiditySources - The `enableNewLiquiditySources` property is a boolean value that when you
125
125
  * set it to true, whenever a new liquidity source is added, it will be added to your list as well.
126
126
  */
127
127
  export type WidgetConfig = {
128
128
  apiKey: string;
129
129
  walletConnectProjectId?: string;
130
- affiliate?: WidgeAffiliate;
130
+ affiliate?: WidgetAffiliate;
131
131
  amount?: number;
132
132
  from?: BlockchainAndTokenConfig;
133
133
  to?: BlockchainAndTokenConfig;
@@ -139,5 +139,5 @@ export type WidgetConfig = {
139
139
  theme?: WidgetTheme;
140
140
  externalWallets?: boolean;
141
141
  pinnedTokens?: Asset[];
142
- includeNewLiquiditySources?: boolean;
142
+ enableNewLiquiditySources?: boolean;
143
143
  };
@@ -1,4 +1,4 @@
1
1
  export * from './swap';
2
2
  export * from './config';
3
- export * from './routing';
3
+ export * from './quote';
4
4
  export * from './wallets';
@@ -0,0 +1,107 @@
1
+ /* eslint-disable @typescript-eslint/prefer-enum-initializers */
2
+
3
+ import type { PriceImpactWarningLevel } from '@rango-dev/ui';
4
+ import type BigNumber from 'bignumber.js';
5
+ import type { SwapResult } from 'rango-sdk';
6
+
7
+ export enum QuoteErrorType {
8
+ NO_RESULT,
9
+ REQUEST_FAILED,
10
+ REQUEST_CANCELED,
11
+ BRIDGE_LIMIT,
12
+ INSUFFICIENT_SLIPPAGE,
13
+ }
14
+
15
+ export type NoResultError = {
16
+ type: QuoteErrorType.NO_RESULT;
17
+ diagnosisMessage?: string;
18
+ };
19
+
20
+ export type BridgeLimitError = {
21
+ type: QuoteErrorType.BRIDGE_LIMIT;
22
+ swap: SwapResult;
23
+ recommendation: string;
24
+ fromAmountRangeError: string;
25
+ };
26
+
27
+ export type InsufficientSlippageError = {
28
+ type: QuoteErrorType.INSUFFICIENT_SLIPPAGE;
29
+ recommendedSlippages: RecommendedSlippages | null;
30
+ minRequiredSlippage: string | null;
31
+ };
32
+
33
+ export type QuoteRequestFailed = { type: QuoteErrorType.REQUEST_FAILED };
34
+ export type QuoteRequestCanceled = { type: QuoteErrorType.REQUEST_CANCELED };
35
+
36
+ export type QuoteError =
37
+ | NoResultError
38
+ | BridgeLimitError
39
+ | InsufficientSlippageError
40
+ | QuoteRequestFailed
41
+ | QuoteRequestCanceled;
42
+
43
+ export enum QuoteWarningType {
44
+ HIGH_VALUE_LOSS,
45
+ UNKNOWN_PRICE,
46
+ INSUFFICIENT_SLIPPAGE,
47
+ HIGH_SLIPPAGE,
48
+ }
49
+
50
+ export enum QuoteUpdateType {
51
+ QUOTE_UPDATED,
52
+ QUOTE_SWAPPERS_UPDATED,
53
+ QUOTE_COINS_UPDATED,
54
+ QUOTE_AND_OUTPUT_AMOUNT_UPDATED,
55
+ QUOTE_UPDATED_WITH_HIGH_VALUE_LOSS,
56
+ }
57
+
58
+ export type QuoteUpdateWarning =
59
+ | {
60
+ type: QuoteUpdateType.QUOTE_AND_OUTPUT_AMOUNT_UPDATED;
61
+ newOutputAmount: string;
62
+ percentageChange: string;
63
+ }
64
+ | {
65
+ type: Exclude<
66
+ QuoteUpdateType,
67
+ QuoteUpdateType.QUOTE_AND_OUTPUT_AMOUNT_UPDATED
68
+ >;
69
+ };
70
+
71
+ export type RecommendedSlippages = Map<number, string>;
72
+
73
+ export type InsufficientSlippageWarning = {
74
+ type: QuoteWarningType.INSUFFICIENT_SLIPPAGE;
75
+ recommendedSlippages: RecommendedSlippages | null;
76
+ minRequiredSlippage: string | null;
77
+ };
78
+
79
+ export type HighSlippageWarning = {
80
+ type: QuoteWarningType.HIGH_SLIPPAGE;
81
+ slippage: string | null;
82
+ };
83
+
84
+ export type HighValueLossWarning = {
85
+ type: QuoteWarningType.HIGH_VALUE_LOSS;
86
+ warningLevel: PriceImpactWarningLevel;
87
+ inputUsdValue: BigNumber;
88
+ outputUsdValue: BigNumber;
89
+ totalFee: BigNumber;
90
+ priceImpact: number;
91
+ };
92
+
93
+ export type UnknownPriceWarning = {
94
+ type: QuoteWarningType.UNKNOWN_PRICE;
95
+ };
96
+
97
+ export type QuoteWarning =
98
+ | HighValueLossWarning
99
+ | InsufficientSlippageWarning
100
+ | HighSlippageWarning
101
+ | UnknownPriceWarning;
102
+
103
+ export type ConfirmSwapWarnings = {
104
+ quote: QuoteWarning | null;
105
+ quoteUpdate: QuoteUpdateWarning | null;
106
+ balance: { messages: string[] } | null;
107
+ };
@@ -16,7 +16,7 @@ export const secondsToString = (s: number): string => {
16
16
  };
17
17
 
18
18
  export const numberToString = (
19
- number: BigNumber | string | null | undefined,
19
+ number: BigNumber | string | number | null | undefined,
20
20
  minDecimals: number | null = null,
21
21
  maxDecimals: number | null = null
22
22
  ): string => {
@@ -0,0 +1,338 @@
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ import type { QuoteError, QuoteWarning, Wallet } from '../types';
3
+ import type { PendingSwap } from '@rango-dev/queue-manager-rango-preset';
4
+ import type { PriceImpactWarningLevel } from '@rango-dev/ui';
5
+ import type {
6
+ SimulationAssetAndAmount,
7
+ SimulationValidationStatus,
8
+ } from '@rango-dev/ui/dist/widget/ui/src/types/swaps';
9
+ import type {
10
+ Asset,
11
+ BestRouteResponse,
12
+ BlockchainMeta,
13
+ Token,
14
+ } from 'rango-sdk';
15
+
16
+ import { getLastSuccessfulStep } from '@rango-dev/queue-manager-rango-preset';
17
+ import BigNumber from 'bignumber.js';
18
+
19
+ import { HIGHT_PRICE_IMPACT, LOW_PRICE_IMPACT } from '../constants/routing';
20
+ import { HIGH_SLIPPAGE } from '../constants/swapSettings';
21
+ import { getUsdValue } from '../store/quote';
22
+ import { QuoteErrorType, QuoteWarningType } from '../types';
23
+
24
+ import { areEqual } from './common';
25
+ import { findBlockchain, findToken } from './meta';
26
+ import {
27
+ checkSlippageErrors,
28
+ checkSlippageWarnings,
29
+ getLimitErrorMessage,
30
+ getMinRequiredSlippage,
31
+ getPercentageChange,
32
+ getTotalFeeInUsd,
33
+ hasHighValueLoss,
34
+ hasLimitError,
35
+ hasProperSlippage,
36
+ } from './swap';
37
+
38
+ export function searchParamsToToken(
39
+ tokens: Token[],
40
+ searchParams: string | null,
41
+ chain: BlockchainMeta | null
42
+ ): Token | null {
43
+ if (!chain) {
44
+ return null;
45
+ }
46
+ return (
47
+ tokens.find((token) => {
48
+ const symbolAndAddress = searchParams?.split('--');
49
+ if (symbolAndAddress?.length === 1) {
50
+ return (
51
+ token.symbol === symbolAndAddress[0] &&
52
+ token.address === null &&
53
+ token.blockchain === chain.name
54
+ );
55
+ }
56
+ return (
57
+ token.symbol === symbolAndAddress?.[0] &&
58
+ token.address === symbolAndAddress?.[1] &&
59
+ token.blockchain === chain.name
60
+ );
61
+ }) || null
62
+ );
63
+ }
64
+
65
+ export function getQuoteToTokenUsdPrice(
66
+ quote: BestRouteResponse | null
67
+ ): number | null | undefined {
68
+ return quote?.result?.swaps[quote?.result?.swaps.length - 1].to.usdPrice;
69
+ }
70
+
71
+ export function isNumberOfSwapsChanged(
72
+ quoteA: BestRouteResponse,
73
+ quoteB: BestRouteResponse
74
+ ) {
75
+ const quoteASwaps = quoteA.result?.swaps || [];
76
+ const quoteBSwaps = quoteB.result?.swaps || [];
77
+ return quoteASwaps.length !== quoteBSwaps.length;
78
+ }
79
+
80
+ export function isQuoteSwappersUpdated(
81
+ quoteA: BestRouteResponse,
82
+ quoteB: BestRouteResponse
83
+ ) {
84
+ const quoteASwappers =
85
+ quoteA.result?.swaps.map((swap) => swap.swapperId) || [];
86
+ const quoteBSwappers =
87
+ quoteB.result?.swaps.map((swap) => swap.swapperId) || [];
88
+ return !areEqual(quoteASwappers, quoteBSwappers);
89
+ }
90
+
91
+ export function isQuoteInternalCoinsUpdated(
92
+ quoteA: BestRouteResponse,
93
+ quoteB: BestRouteResponse
94
+ ) {
95
+ const quoteAInternalCoins =
96
+ quoteA.result?.swaps.map((swap) => swap.to.symbol) || [];
97
+ const quoteBInternalCoins =
98
+ quoteB.result?.swaps.map((swap) => swap.to.symbol) || [];
99
+ return !areEqual(quoteAInternalCoins, quoteBInternalCoins);
100
+ }
101
+
102
+ export function isQuoteChanged(
103
+ quoteA: BestRouteResponse,
104
+ quoteB: BestRouteResponse
105
+ ): boolean {
106
+ return (
107
+ isNumberOfSwapsChanged(quoteA, quoteB) ||
108
+ isQuoteSwappersUpdated(quoteA, quoteB) ||
109
+ isQuoteInternalCoinsUpdated(quoteA, quoteB)
110
+ );
111
+ }
112
+
113
+ export function outToRatioHasWarning(
114
+ fromUsdValue: BigNumber | null,
115
+ outToInRatio: BigNumber | 0
116
+ ) {
117
+ return (
118
+ (parseInt(outToInRatio?.toFixed(2) || '0') <= -10 &&
119
+ (fromUsdValue === null || fromUsdValue.gte(new BigNumber(200)))) ||
120
+ (parseInt(outToInRatio?.toFixed(2) || '0') <= -5 &&
121
+ (fromUsdValue === null || fromUsdValue.gte(new BigNumber(1000))))
122
+ );
123
+ }
124
+
125
+ export function getRequiredBalanceOfWallet(
126
+ selectedWallet: Wallet,
127
+ fee: SimulationValidationStatus[] | null
128
+ ): SimulationAssetAndAmount[] | null {
129
+ if (fee === null) {
130
+ return null;
131
+ }
132
+ const relatedFeeStatus = fee
133
+ ?.find((item) => item.blockchain === selectedWallet.chain)
134
+ ?.wallets.find(
135
+ (wallet) =>
136
+ wallet.address?.toLowerCase() === selectedWallet.address.toLowerCase()
137
+ );
138
+ if (!relatedFeeStatus) {
139
+ return null;
140
+ }
141
+ return relatedFeeStatus.requiredAssets;
142
+ }
143
+
144
+ export function getPriceImpactLevel(
145
+ priceImpact: number
146
+ ): PriceImpactWarningLevel {
147
+ let warningLevel: PriceImpactWarningLevel = undefined;
148
+ if (priceImpact <= LOW_PRICE_IMPACT && priceImpact > HIGHT_PRICE_IMPACT) {
149
+ warningLevel = 'low';
150
+ } else if (priceImpact <= HIGHT_PRICE_IMPACT) {
151
+ warningLevel = 'high';
152
+ }
153
+
154
+ return warningLevel;
155
+ }
156
+
157
+ export function findCommonTokens<T extends Asset[], R extends Asset[]>(
158
+ listA: T,
159
+ listB: R
160
+ ) {
161
+ const tokenToString = (token: Asset): string =>
162
+ `${token.symbol}-${token.blockchain}-${token.address ?? ''}`;
163
+
164
+ const set = new Set();
165
+
166
+ listA.forEach((token) => set.add(tokenToString(token)));
167
+
168
+ return listB.filter((token) => set.has(tokenToString(token))) as R;
169
+ }
170
+
171
+ export function createRetryQuote(
172
+ pendingSwap: PendingSwap,
173
+ blockchains: BlockchainMeta[],
174
+ tokens: Token[]
175
+ ): {
176
+ fromBlockchain: BlockchainMeta | null;
177
+ fromToken: Token | null;
178
+ toBlockchain: BlockchainMeta | null;
179
+ toToken: Token | null;
180
+ inputAmount: string;
181
+ } {
182
+ const firstStep = pendingSwap.steps[0];
183
+ const lastStep = pendingSwap.steps[pendingSwap.steps.length - 1];
184
+ const lastSuccessfulStep = getLastSuccessfulStep(pendingSwap.steps);
185
+
186
+ const toToken = {
187
+ blockchain: lastStep.toBlockchain,
188
+ symbol: lastStep.toSymbol,
189
+ address: lastStep.toSymbolAddress,
190
+ };
191
+
192
+ const fromBlockchainMeta = findBlockchain(
193
+ lastSuccessfulStep
194
+ ? lastSuccessfulStep.toBlockchain
195
+ : firstStep.fromBlockchain,
196
+ blockchains
197
+ );
198
+ const toBlockchainMeta = findBlockchain(lastStep.toBlockchain, blockchains);
199
+ const fromTokenMeta = findToken(
200
+ lastSuccessfulStep
201
+ ? {
202
+ blockchain: fromBlockchainMeta?.name ?? '',
203
+ symbol: lastSuccessfulStep.toSymbol,
204
+ address: lastSuccessfulStep.toSymbolAddress,
205
+ }
206
+ : {
207
+ blockchain: fromBlockchainMeta?.name ?? '',
208
+ symbol: firstStep.fromSymbol,
209
+ address: firstStep.fromSymbolAddress,
210
+ },
211
+ tokens
212
+ );
213
+ const toTokenMeta = findToken(toToken, tokens);
214
+ const inputAmount = lastSuccessfulStep
215
+ ? lastSuccessfulStep.outputAmount ?? ''
216
+ : pendingSwap.inputAmount;
217
+
218
+ return {
219
+ fromBlockchain: fromBlockchainMeta,
220
+ fromToken: fromTokenMeta,
221
+ toBlockchain: toBlockchainMeta,
222
+ toToken: toTokenMeta,
223
+ inputAmount,
224
+ };
225
+ }
226
+
227
+ export function generateQuoteWarnings(
228
+ quote: BestRouteResponse,
229
+ params: {
230
+ fromToken: Token;
231
+ toToken: Token;
232
+ tokens: Token[];
233
+ userSlippage: number;
234
+ }
235
+ ): QuoteWarning | null {
236
+ const { fromToken, toToken, tokens, userSlippage } = params;
237
+ const inputUsdValue = getUsdValue(fromToken, quote.requestAmount);
238
+ const outputUsdValue = getUsdValue(toToken, quote.result?.outputAmount ?? '');
239
+
240
+ if (quote.result && inputUsdValue && outputUsdValue) {
241
+ const priceImpact = getPercentageChange(
242
+ inputUsdValue.toString(),
243
+ outputUsdValue.toString()
244
+ );
245
+ const highValueLoss = hasHighValueLoss(inputUsdValue, priceImpact);
246
+
247
+ if (highValueLoss) {
248
+ const totalFee = getTotalFeeInUsd(quote.result.swaps, tokens);
249
+ const warningLevel = getPriceImpactLevel(priceImpact);
250
+ return {
251
+ type: QuoteWarningType.HIGH_VALUE_LOSS,
252
+ inputUsdValue,
253
+ outputUsdValue,
254
+ priceImpact,
255
+ totalFee,
256
+ warningLevel,
257
+ };
258
+ }
259
+ } else if (quote.result && (!inputUsdValue || !outputUsdValue)) {
260
+ return { type: QuoteWarningType.UNKNOWN_PRICE };
261
+ }
262
+
263
+ const minRequiredSlippage = getMinRequiredSlippage(quote);
264
+ const highSlippage = userSlippage > HIGH_SLIPPAGE;
265
+
266
+ if (!hasProperSlippage(params.userSlippage.toString(), minRequiredSlippage)) {
267
+ return {
268
+ type: QuoteWarningType.INSUFFICIENT_SLIPPAGE,
269
+ recommendedSlippages: checkSlippageWarnings(quote, userSlippage),
270
+ minRequiredSlippage: minRequiredSlippage,
271
+ };
272
+ } else if (
273
+ highSlippage &&
274
+ parseFloat(minRequiredSlippage ?? '0') < userSlippage
275
+ ) {
276
+ return {
277
+ type: QuoteWarningType.HIGH_SLIPPAGE,
278
+ slippage: userSlippage.toString(),
279
+ };
280
+ }
281
+
282
+ return null;
283
+ }
284
+
285
+ export function generateQuoteErrors(
286
+ quote: BestRouteResponse
287
+ ): QuoteError | null {
288
+ if (!quote.result) {
289
+ return {
290
+ type: QuoteErrorType.NO_RESULT,
291
+ diagnosisMessage: quote.diagnosisMessages?.[0],
292
+ };
293
+ }
294
+ const limitError = hasLimitError(quote);
295
+ if (limitError) {
296
+ const { swap, recommendation, fromAmountRangeError } =
297
+ getLimitErrorMessage(quote);
298
+ return {
299
+ type: QuoteErrorType.BRIDGE_LIMIT,
300
+ swap: swap,
301
+ recommendation,
302
+ fromAmountRangeError,
303
+ };
304
+ }
305
+
306
+ const recommendedSlippages = checkSlippageErrors(quote);
307
+
308
+ if (recommendedSlippages) {
309
+ const minRequiredSlippage = getMinRequiredSlippage(quote);
310
+ return {
311
+ type: QuoteErrorType.INSUFFICIENT_SLIPPAGE,
312
+ recommendedSlippages,
313
+ minRequiredSlippage,
314
+ };
315
+ }
316
+
317
+ return null;
318
+ }
319
+
320
+ export function getPriceImpact(
321
+ inputUsdValue: BigNumber | string | null,
322
+ outputUsdValue: BigNumber | string | null
323
+ ) {
324
+ const outputUsdValueIsInvalid =
325
+ typeof outputUsdValue === 'string'
326
+ ? parseFloat(outputUsdValue) <= 0
327
+ : !outputUsdValue?.gt(0);
328
+
329
+ const priceImpact =
330
+ !inputUsdValue || !outputUsdValue || outputUsdValueIsInvalid
331
+ ? null
332
+ : getPercentageChange(
333
+ inputUsdValue.toString(),
334
+ outputUsdValue.toString()
335
+ );
336
+
337
+ return priceImpact;
338
+ }
@@ -1,4 +1,5 @@
1
- import { useMetaStore } from '../store/meta';
1
+ import type { SwapperMeta } from 'rango-sdk';
2
+
2
3
  import { useSettingsStore } from '../store/settings';
3
4
 
4
5
  import { removeDuplicateFrom } from './common';
@@ -14,11 +15,11 @@ export type UniqueSwappersGroupType = {
14
15
  };
15
16
 
16
17
  export function getUniqueSwappersGroups(
17
- supportedSwappers?: string[]
18
+ swappers: SwapperMeta[]
18
19
  ): UniqueSwappersGroupType[] {
19
- const swappers = useMetaStore.use.meta().swappers;
20
20
  const disabledLiquiditySources =
21
21
  useSettingsStore.use.disabledLiquiditySources();
22
+ const supportedSwappers = swappers.map((swapper) => swapper.swapperGroup);
22
23
 
23
24
  const uniqueSupportedSwappersGroups: Array<UniqueSwappersGroupType> = [];
24
25
 
@@ -57,14 +58,14 @@ export function getUniqueSwappersGroups(
57
58
  }
58
59
 
59
60
  export function sortLiquiditySourcesByGroupTitle(
60
- a: UniqueSwappersGroupType,
61
- b: UniqueSwappersGroupType
61
+ a: SwapperMeta,
62
+ b: SwapperMeta
62
63
  ) {
63
- if (a.groupTitle < b.groupTitle) {
64
+ if (a.swapperGroup < b.swapperGroup) {
64
65
  return -1;
65
66
  }
66
67
 
67
- if (a.groupTitle > b.groupTitle) {
68
+ if (a.swapperGroup > b.swapperGroup) {
68
69
  return 1;
69
70
  }
70
71