@rango-dev/widget-embedded 0.17.1-next.3 → 0.17.1-next.30

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 (312) 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.styles.d.ts +56 -56
  8. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  9. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +0 -2
  10. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
  11. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  12. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +1 -4
  13. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
  14. package/dist/components/HeaderButtons/HomeButtons.d.ts.map +1 -1
  15. package/dist/components/Layout/Layout.d.ts.map +1 -1
  16. package/dist/components/Layout/Layout.types.d.ts +2 -2
  17. package/dist/components/Layout/Layout.types.d.ts.map +1 -1
  18. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  19. package/dist/components/Quote/Quote.d.ts.map +1 -1
  20. package/dist/components/Quote/Quote.styles.d.ts +159 -0
  21. package/dist/components/Quote/Quote.styles.d.ts.map +1 -1
  22. package/dist/components/Quote/Quote.types.d.ts +0 -1
  23. package/dist/components/Quote/Quote.types.d.ts.map +1 -1
  24. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -1
  25. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -1
  26. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -1
  27. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +1 -0
  28. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -1
  29. package/dist/components/Slippage/Slippage.d.ts.map +1 -1
  30. package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
  31. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  32. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +1 -1
  33. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -1
  34. package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
  35. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts +1 -1
  36. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts.map +1 -1
  37. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +1 -1
  38. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -1
  39. package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  40. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  41. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  42. package/dist/components/TokenList/TokenList.helpers.d.ts +2 -2
  43. package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -1
  44. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  45. package/dist/components/TokenList/TokenList.types.d.ts +3 -9
  46. package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
  47. package/dist/components/TokenList/index.d.ts +0 -1
  48. package/dist/components/TokenList/index.d.ts.map +1 -1
  49. package/dist/components/UpdateUrl.d.ts +1 -6
  50. package/dist/components/UpdateUrl.d.ts.map +1 -1
  51. package/dist/components/WidgetEvents.d.ts.map +1 -1
  52. package/dist/constants/errors.d.ts.map +1 -1
  53. package/dist/constants/index.d.ts +1 -0
  54. package/dist/constants/index.d.ts.map +1 -1
  55. package/dist/constants/navigationRoutes.d.ts +1 -2
  56. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  57. package/dist/constants/searchParams.d.ts +2 -1
  58. package/dist/constants/searchParams.d.ts.map +1 -1
  59. package/dist/containers/App/App.d.ts +3 -0
  60. package/dist/containers/App/App.d.ts.map +1 -0
  61. package/dist/containers/App/App.styles.d.ts +158 -0
  62. package/dist/containers/App/App.styles.d.ts.map +1 -0
  63. package/dist/containers/App/index.d.ts +2 -0
  64. package/dist/containers/App/index.d.ts.map +1 -0
  65. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -1
  66. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +316 -0
  67. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -1
  68. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +3 -0
  69. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -1
  70. package/dist/containers/Wallets/Wallets.d.ts +6 -0
  71. package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
  72. package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
  73. package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
  74. package/dist/containers/Wallets/index.d.ts +2 -0
  75. package/dist/containers/Wallets/index.d.ts.map +1 -0
  76. package/dist/containers/Widget/Widget.d.ts +5 -0
  77. package/dist/containers/Widget/Widget.d.ts.map +1 -0
  78. package/dist/containers/Widget/Widget.types.d.ts +5 -0
  79. package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
  80. package/dist/containers/Widget/index.d.ts +3 -0
  81. package/dist/containers/Widget/index.d.ts.map +1 -0
  82. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
  83. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
  84. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +20 -0
  85. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +1 -0
  86. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +21 -0
  87. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
  88. package/dist/containers/WidgetInfo/index.d.ts +2 -0
  89. package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
  90. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
  91. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  92. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
  93. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
  94. package/dist/containers/WidgetProvider/index.d.ts +2 -0
  95. package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
  96. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -1
  97. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +6 -3
  98. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -1
  99. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts +1 -1
  100. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -1
  101. package/dist/hooks/useForceAutoConnect.d.ts +2 -0
  102. package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
  103. package/dist/hooks/useLanguage.d.ts +1 -1
  104. package/dist/hooks/useLanguage.d.ts.map +1 -1
  105. package/dist/hooks/useNavigateBack.d.ts +1 -3
  106. package/dist/hooks/useNavigateBack.d.ts.map +1 -1
  107. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
  108. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
  109. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
  110. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +3 -5
  111. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
  112. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +1 -0
  113. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
  114. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +5 -1
  115. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
  116. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  117. package/dist/hooks/useSyncStoresWithConfig.d.ts +1 -2
  118. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  119. package/dist/hooks/useTheme.d.ts +1 -1
  120. package/dist/hooks/useTheme.d.ts.map +1 -1
  121. package/dist/hooks/useWalletList.d.ts.map +1 -1
  122. package/dist/index.d.ts +20 -8
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +1 -1
  125. package/dist/index.js.map +4 -4
  126. package/dist/pages/ConfirmSwapPage.d.ts +1 -6
  127. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  128. package/dist/pages/HistoryPage.d.ts.map +1 -1
  129. package/dist/pages/Home.d.ts.map +1 -1
  130. package/dist/pages/LanguagePage.d.ts.map +1 -1
  131. package/dist/pages/LiquiditySourcePage.d.ts +1 -2
  132. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  133. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  134. package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
  135. package/dist/pages/SettingsPage.d.ts +1 -6
  136. package/dist/pages/SettingsPage.d.ts.map +1 -1
  137. package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
  138. package/dist/pages/ThemePage.d.ts.map +1 -1
  139. package/dist/pages/WalletsPage.d.ts +1 -8
  140. package/dist/pages/WalletsPage.d.ts.map +1 -1
  141. package/dist/store/AppStore.d.ts +47 -0
  142. package/dist/store/AppStore.d.ts.map +1 -0
  143. package/dist/store/app.d.ts +41 -22
  144. package/dist/store/app.d.ts.map +1 -1
  145. package/dist/store/notification.d.ts +4 -3
  146. package/dist/store/notification.d.ts.map +1 -1
  147. package/dist/store/quote.d.ts +23 -16
  148. package/dist/store/quote.d.ts.map +1 -1
  149. package/dist/store/slices/config.d.ts +3 -2
  150. package/dist/store/slices/config.d.ts.map +1 -1
  151. package/dist/store/slices/data.d.ts +3 -0
  152. package/dist/store/slices/data.d.ts.map +1 -1
  153. package/dist/store/slices/settings.d.ts +39 -0
  154. package/dist/store/slices/settings.d.ts.map +1 -0
  155. package/dist/store/ui.d.ts +2 -1
  156. package/dist/store/ui.d.ts.map +1 -1
  157. package/dist/store/wallets.d.ts +14 -9
  158. package/dist/store/wallets.d.ts.map +1 -1
  159. package/dist/types/config.d.ts +38 -5
  160. package/dist/types/config.d.ts.map +1 -1
  161. package/dist/types/swap.d.ts +4 -14
  162. package/dist/types/swap.d.ts.map +1 -1
  163. package/dist/types/wallets.d.ts +15 -1
  164. package/dist/types/wallets.d.ts.map +1 -1
  165. package/dist/utils/colors.d.ts.map +1 -1
  166. package/dist/utils/configs.d.ts +1 -0
  167. package/dist/utils/configs.d.ts.map +1 -1
  168. package/dist/utils/meta.d.ts +2 -1
  169. package/dist/utils/meta.d.ts.map +1 -1
  170. package/dist/utils/providers.d.ts +2 -2
  171. package/dist/utils/providers.d.ts.map +1 -1
  172. package/dist/utils/queue.d.ts +2 -2
  173. package/dist/utils/queue.d.ts.map +1 -1
  174. package/dist/utils/quote.d.ts +1 -1
  175. package/dist/utils/quote.d.ts.map +1 -1
  176. package/dist/utils/settings.d.ts +6 -2
  177. package/dist/utils/settings.d.ts.map +1 -1
  178. package/dist/utils/swap.d.ts +16 -7
  179. package/dist/utils/swap.d.ts.map +1 -1
  180. package/dist/utils/time.d.ts +1 -1
  181. package/dist/utils/time.d.ts.map +1 -1
  182. package/dist/utils/wallets.d.ts +7 -9
  183. package/dist/utils/wallets.d.ts.map +1 -1
  184. package/package.json +12 -10
  185. package/src/QueueManager.tsx +18 -17
  186. package/src/components/AppRouter.tsx +8 -32
  187. package/src/components/AppRoutes.tsx +57 -69
  188. package/src/components/BlockchainList/BlockchainList.tsx +4 -4
  189. package/src/components/BlockchainsSection/BlockchainsSection.tsx +4 -4
  190. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +16 -19
  191. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +0 -2
  192. package/src/components/ConfirmWalletsModal/WalletList.tsx +6 -5
  193. package/src/components/ConfirmWalletsModal/WalletList.type.ts +1 -4
  194. package/src/components/HeaderButtons/HomeButtons.tsx +28 -18
  195. package/src/components/Layout/Layout.tsx +20 -7
  196. package/src/components/Layout/Layout.types.ts +2 -2
  197. package/src/components/NoResult/NoResult.helpers.ts +12 -12
  198. package/src/components/NoResult/NoResult.tsx +6 -6
  199. package/src/components/NotificationContent/NotificationContent.tsx +5 -3
  200. package/src/components/Quote/Quote.styles.ts +28 -1
  201. package/src/components/Quote/Quote.tsx +100 -34
  202. package/src/components/Quote/Quote.types.ts +0 -1
  203. package/src/components/Quote/QuoteSkeleton.tsx +1 -1
  204. package/src/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx +1 -1
  205. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +11 -4
  206. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts +8 -1
  207. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +13 -13
  208. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +1 -0
  209. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +3 -3
  210. package/src/components/Slippage/Slippage.tsx +3 -5
  211. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +0 -4
  212. package/src/components/SwapDetails/SwapDetails.helpers.tsx +1 -1
  213. package/src/components/SwapDetails/SwapDetails.tsx +19 -39
  214. package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +1 -1
  215. package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +4 -3
  216. package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
  217. package/src/components/SwapDetailsModal/SwapDetailsModal.helpers.tsx +1 -1
  218. package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +1 -1
  219. package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +1 -1
  220. package/src/components/SwapsGroup/SwapsGroup.styles.ts +8 -1
  221. package/src/components/SwapsGroup/SwapsGroup.tsx +0 -2
  222. package/src/components/TokenList/TokenList.helpers.ts +2 -2
  223. package/src/components/TokenList/TokenList.styles.ts +14 -2
  224. package/src/components/TokenList/TokenList.tsx +16 -19
  225. package/src/components/TokenList/TokenList.types.ts +3 -10
  226. package/src/components/TokenList/index.ts +0 -1
  227. package/src/components/UpdateUrl.tsx +23 -18
  228. package/src/components/WidgetEvents.tsx +4 -2
  229. package/src/constants/errors.ts +9 -5
  230. package/src/constants/index.ts +1 -0
  231. package/src/constants/navigationRoutes.ts +7 -8
  232. package/src/constants/searchParams.ts +1 -0
  233. package/src/containers/App/App.styles.ts +18 -0
  234. package/src/containers/App/App.tsx +52 -0
  235. package/src/containers/App/index.ts +1 -0
  236. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +17 -1
  237. package/src/containers/QuoteInfo/QuoteInfo.tsx +44 -43
  238. package/src/containers/QuoteInfo/QuoteInfo.types.ts +3 -0
  239. package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +48 -34
  240. package/src/containers/Wallets/Wallets.types.ts +12 -0
  241. package/src/containers/Wallets/index.ts +1 -0
  242. package/src/containers/Widget/Widget.tsx +19 -0
  243. package/src/containers/Widget/Widget.types.ts +5 -0
  244. package/src/containers/Widget/index.ts +2 -0
  245. package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +64 -0
  246. package/src/containers/WidgetInfo/WidgetInfo.tsx +62 -0
  247. package/src/containers/WidgetInfo/WidgetInfo.types.ts +21 -0
  248. package/src/containers/WidgetInfo/index.ts +1 -0
  249. package/src/containers/WidgetProvider/WidgetProvider.tsx +28 -0
  250. package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
  251. package/src/containers/WidgetProvider/index.ts +1 -0
  252. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +15 -11
  253. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +25 -24
  254. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +1 -1
  255. package/src/hooks/useForceAutoConnect.ts +27 -0
  256. package/src/hooks/useLanguage.ts +4 -5
  257. package/src/hooks/useNavigateBack.ts +3 -52
  258. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
  259. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +37 -7
  260. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +60 -0
  261. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +78 -3
  262. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +15 -6
  263. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +6 -1
  264. package/src/hooks/useSwapInput.ts +89 -30
  265. package/src/hooks/useSyncStoresWithConfig.ts +38 -22
  266. package/src/hooks/useTheme.ts +4 -5
  267. package/src/hooks/useWalletList.ts +3 -5
  268. package/src/index.ts +53 -5
  269. package/src/pages/ConfirmSwapPage.tsx +39 -24
  270. package/src/pages/HistoryPage.tsx +2 -7
  271. package/src/pages/Home.tsx +58 -88
  272. package/src/pages/LanguagePage.tsx +0 -5
  273. package/src/pages/LiquiditySourcePage.tsx +24 -37
  274. package/src/pages/SelectBlockchainPage.tsx +28 -21
  275. package/src/pages/SelectSwapItemsPage.tsx +10 -27
  276. package/src/pages/SettingsPage.tsx +28 -24
  277. package/src/pages/SwapDetailsPage.tsx +6 -7
  278. package/src/pages/ThemePage.tsx +2 -7
  279. package/src/pages/WalletsPage.tsx +4 -15
  280. package/src/services/httpService.ts +1 -1
  281. package/src/store/AppStore.tsx +41 -0
  282. package/src/store/app.ts +44 -6
  283. package/src/store/quote.ts +29 -26
  284. package/src/store/slices/config.ts +25 -15
  285. package/src/store/slices/data.ts +64 -29
  286. package/src/store/slices/settings.ts +168 -0
  287. package/src/store/wallets.ts +68 -37
  288. package/src/types/config.ts +50 -5
  289. package/src/types/swap.ts +4 -13
  290. package/src/types/wallets.ts +18 -1
  291. package/src/utils/colors.ts +2 -1
  292. package/src/utils/configs.ts +2 -1
  293. package/src/utils/date.ts +1 -1
  294. package/src/utils/meta.ts +8 -1
  295. package/src/utils/providers.ts +8 -5
  296. package/src/utils/queue.ts +2 -2
  297. package/src/utils/quote.ts +7 -7
  298. package/src/utils/settings.ts +17 -10
  299. package/src/utils/swap.ts +59 -55
  300. package/src/utils/time.ts +1 -1
  301. package/src/utils/wallets.ts +107 -149
  302. package/dist/Wallets.d.ts +0 -17
  303. package/dist/Wallets.d.ts.map +0 -1
  304. package/dist/Widget.d.ts +0 -9
  305. package/dist/Widget.d.ts.map +0 -1
  306. package/dist/store/meta.d.ts +0 -23
  307. package/dist/store/meta.d.ts.map +0 -1
  308. package/dist/store/settings.d.ts +0 -81
  309. package/dist/store/settings.d.ts.map +0 -1
  310. package/src/Widget.tsx +0 -119
  311. package/src/store/meta.ts +0 -39
  312. package/src/store/settings.ts +0 -158
@@ -1,12 +1,13 @@
1
1
  import type { ConfirmSwapFetchResult } from './useConfirmSwap.types';
2
2
  import type { ConfirmSwapWarnings, Wallet } from '../../types';
3
- import type { BestRouteResponse, Token } from 'rango-sdk';
3
+ import type { BestRouteResponse, BlockchainMeta, Token } from 'rango-sdk';
4
4
 
5
5
  import { errorMessages } from '../../constants/errors';
6
6
  import { QuoteErrorType, QuoteUpdateType } from '../../types';
7
7
  import { numberToString } from '../../utils/numbers';
8
8
  import {
9
9
  generateQuoteWarnings,
10
+ getPriceImpact,
10
11
  isNumberOfSwapsChanged,
11
12
  isQuoteChanged,
12
13
  isQuoteInternalCoinsUpdated,
@@ -14,10 +15,9 @@ import {
14
15
  } from '../../utils/quote';
15
16
  import {
16
17
  checkSlippageErrors,
17
- getBalanceWarnings,
18
+ generateBalanceWarnings,
18
19
  getLimitErrorMessage,
19
20
  getMinRequiredSlippage,
20
- getPercentageChange,
21
21
  getQuoteOutputAmount,
22
22
  hasLimitError,
23
23
  isOutputAmountChangedALot,
@@ -67,17 +67,20 @@ export function throwErrorIfResponseIsNotValid(response: BestRouteResponse) {
67
67
  }
68
68
 
69
69
  export function generateWarnings(
70
- previousQuote: BestRouteResponse,
70
+ previousQuote: BestRouteResponse | undefined,
71
71
  currentQuote: BestRouteResponse,
72
72
  params: {
73
73
  fromToken: Token;
74
74
  toToken: Token;
75
- tokens: Token[];
75
+ meta: { blockchains: BlockchainMeta[]; tokens: Token[] };
76
76
  selectedWallets: Wallet[];
77
77
  userSlippage: number;
78
78
  }
79
79
  ): ConfirmSwapWarnings {
80
- const quoteChanged = isQuoteChanged(previousQuote, currentQuote);
80
+ let quoteChanged = false;
81
+ if (previousQuote) {
82
+ quoteChanged = isQuoteChanged(previousQuote, currentQuote);
83
+ }
81
84
  const output: ConfirmSwapWarnings = {
82
85
  quote: null,
83
86
  quoteUpdate: null,
@@ -87,7 +90,7 @@ export function generateWarnings(
87
90
  const quoteWarning = generateQuoteWarnings(currentQuote, {
88
91
  fromToken: params.fromToken,
89
92
  toToken: params.toToken,
90
- tokens: params.tokens,
93
+ tokens: params.meta.tokens,
91
94
  userSlippage: params.userSlippage,
92
95
  });
93
96
 
@@ -95,13 +98,13 @@ export function generateWarnings(
95
98
  output.quote = quoteWarning;
96
99
  }
97
100
 
98
- if (quoteChanged) {
101
+ if (previousQuote && quoteChanged) {
99
102
  if (isOutputAmountChangedALot(previousQuote, currentQuote)) {
100
103
  output.quoteUpdate = {
101
104
  type: QuoteUpdateType.QUOTE_AND_OUTPUT_AMOUNT_UPDATED,
102
105
  newOutputAmount: numberToString(getQuoteOutputAmount(currentQuote)),
103
106
  percentageChange: numberToString(
104
- getPercentageChange(
107
+ getPriceImpact(
105
108
  getQuoteOutputAmount(previousQuote) ?? '',
106
109
  getQuoteOutputAmount(currentQuote) ?? ''
107
110
  ),
@@ -124,9 +127,10 @@ export function generateWarnings(
124
127
  }
125
128
  }
126
129
 
127
- const balanceWarnings = getBalanceWarnings(
130
+ const balanceWarnings = generateBalanceWarnings(
128
131
  currentQuote,
129
- params.selectedWallets
132
+ params.selectedWallets,
133
+ params.meta.blockchains
130
134
  );
131
135
  const enoughBalance = balanceWarnings.length === 0;
132
136
 
@@ -5,11 +5,10 @@ import type { BestRouteResponse } from 'rango-sdk';
5
5
  import { calculatePendingSwap } from '@rango-dev/queue-manager-rango-preset';
6
6
  import { useEffect } from 'react';
7
7
 
8
- import { useMetaStore } from '../../store/meta';
8
+ import { useAppStore } from '../../store/AppStore';
9
9
  import { useQuoteStore } from '../../store/quote';
10
- import { useSettingsStore } from '../../store/settings';
11
10
  import { useWalletsStore } from '../../store/wallets';
12
- import { QuoteErrorType } from '../../types';
11
+ import { isFeatureEnabled } from '../../utils/settings';
13
12
  import { createQuoteRequestBody, getWalletsForNewSwap } from '../../utils/swap';
14
13
  import { useFetchQuote } from '../useFetchQuote';
15
14
 
@@ -25,7 +24,6 @@ export function useConfirmSwap(): ConfirmSwap {
25
24
  toToken,
26
25
  inputAmount,
27
26
  setQuote,
28
- resetQuote,
29
27
  quote: initialQuote,
30
28
  customDestination: customDestinationFromStore,
31
29
  setQuoteWarningsConfirmed,
@@ -38,10 +36,12 @@ export function useConfirmSwap(): ConfirmSwap {
38
36
  affiliateRef,
39
37
  affiliateWallets,
40
38
  disabledLiquiditySources,
41
- } = useSettingsStore();
39
+ } = useAppStore();
42
40
  const { connectedWallets } = useWalletsStore();
43
-
44
- const { meta } = useMetaStore();
41
+ const blockchains = useAppStore().blockchains();
42
+ const tokens = useAppStore().tokens();
43
+ const { features } = useAppStore().config;
44
+ const { enableNewLiquiditySources } = useAppStore().config;
45
45
 
46
46
  const userSlippage = customSlippage || slippage;
47
47
 
@@ -54,7 +54,7 @@ export function useConfirmSwap(): ConfirmSwap {
54
54
  const customDestination =
55
55
  params?.customDestination ?? customDestinationFromStore;
56
56
 
57
- if (!fromToken || !toToken || !inputAmount || !initialQuote) {
57
+ if (!fromToken || !toToken || !inputAmount) {
58
58
  return {
59
59
  quote: null,
60
60
  swap: null,
@@ -69,15 +69,18 @@ export function useConfirmSwap(): ConfirmSwap {
69
69
  inputAmount,
70
70
  wallets: connectedWallets,
71
71
  selectedWallets,
72
+ excludeLiquiditySources: enableNewLiquiditySources,
72
73
  disabledLiquiditySources,
73
74
  slippage: userSlippage,
74
75
  affiliateRef,
75
76
  affiliatePercent,
76
77
  affiliateWallets,
77
- initialQuote: initialQuote,
78
+ initialQuote: initialQuote ?? undefined,
78
79
  destination: customDestination,
79
80
  });
80
-
81
+ if (isFeatureEnabled('experimentalRoute', features)) {
82
+ requestBody.experimental = true;
83
+ }
81
84
  let currentQuote: BestRouteResponse;
82
85
  try {
83
86
  currentQuote = await fetchQuote(requestBody).then((response) =>
@@ -86,12 +89,6 @@ export function useConfirmSwap(): ConfirmSwap {
86
89
  setQuote(currentQuote);
87
90
  } catch (error: any) {
88
91
  const confirmSwapResult = handleQuoteErrors(error);
89
- if (
90
- confirmSwapResult.error?.type === QuoteErrorType.NO_RESULT ||
91
- confirmSwapResult.error?.type === QuoteErrorType.REQUEST_FAILED
92
- ) {
93
- resetQuote();
94
- }
95
92
  return confirmSwapResult;
96
93
  }
97
94
 
@@ -105,16 +102,20 @@ export function useConfirmSwap(): ConfirmSwap {
105
102
  getWalletsForNewSwap(selectedWallets),
106
103
  swapSettings,
107
104
  false,
108
- meta
105
+ { blockchains, tokens }
109
106
  );
110
107
 
111
- const confirmSwapWarnings = generateWarnings(initialQuote, currentQuote, {
112
- fromToken,
113
- toToken,
114
- tokens: meta.tokens,
115
- selectedWallets,
116
- userSlippage,
117
- });
108
+ const confirmSwapWarnings = generateWarnings(
109
+ initialQuote ?? undefined,
110
+ currentQuote,
111
+ {
112
+ fromToken,
113
+ toToken,
114
+ meta: { blockchains, tokens },
115
+ selectedWallets,
116
+ userSlippage,
117
+ }
118
+ );
118
119
 
119
120
  if (confirmSwapWarnings.quoteUpdate) {
120
121
  setQuoteWarningsConfirmed(false);
@@ -1,5 +1,5 @@
1
1
  import type { ConfirmSwapWarnings, QuoteError, Wallet } from '../../types';
2
- import type { PendingSwap } from 'rango-types/lib';
2
+ import type { PendingSwap } from 'rango-types';
3
3
 
4
4
  export type ConfirmSwapFetchResult = {
5
5
  swap: PendingSwap | null;
@@ -0,0 +1,27 @@
1
+ import { useWallets } from '@rango-dev/wallets-react';
2
+ import { useEffect, useRef } from 'react';
3
+
4
+ import { SearchParams } from '../constants/searchParams';
5
+ import { useAppStore } from '../store/AppStore';
6
+
7
+ export function useForceAutoConnect(): void {
8
+ const { connect, state } = useWallets();
9
+ const initiated = useRef<{ [key: string]: boolean }>({});
10
+ const { fetchStatus } = useAppStore();
11
+ const walletType =
12
+ new URLSearchParams(location.search).get(SearchParams.AUTO_CONNECT) || '';
13
+ const walletState = state(walletType);
14
+
15
+ useEffect(() => {
16
+ const shouldTryConnect =
17
+ fetchStatus === 'success' &&
18
+ walletType &&
19
+ walletState.installed &&
20
+ !walletState.connecting &&
21
+ !walletState.connected;
22
+ if (shouldTryConnect && !initiated.current[walletType]) {
23
+ initiated.current[walletType] = true;
24
+ void connect(walletType);
25
+ }
26
+ }, [walletState, fetchStatus]);
27
+ }
@@ -3,18 +3,17 @@ import type { LanguageItem } from '../constants/languages';
3
3
  import { type Language } from '@rango-dev/ui';
4
4
 
5
5
  import { DEFAULT_LANGUAGE, LANGUAGES } from '../constants/languages';
6
- import { useSettingsStore } from '../store/settings';
6
+ import { useAppStore } from '../store/AppStore';
7
7
 
8
8
  interface UseLanguage {
9
9
  languages: LanguageItem[];
10
10
  defaultLanguage: Language;
11
11
  activeLanguage: Language;
12
- changeLanguage: (language: Language) => void;
12
+ changeLanguage: (language?: Language) => void;
13
13
  }
14
14
 
15
15
  export function useLanguage(): UseLanguage {
16
- const language = useSettingsStore.use.language();
17
- const setLanguage = useSettingsStore.use.setLanguage();
16
+ const { setLanguage, language } = useAppStore();
18
17
  const languages = LANGUAGES;
19
18
  const defaultLanguage = DEFAULT_LANGUAGE;
20
19
 
@@ -22,6 +21,6 @@ export function useLanguage(): UseLanguage {
22
21
  activeLanguage: language,
23
22
  languages,
24
23
  defaultLanguage,
25
- changeLanguage: setLanguage,
24
+ changeLanguage: (language) => setLanguage(language || DEFAULT_LANGUAGE),
26
25
  };
27
26
  }
@@ -1,55 +1,6 @@
1
- import { useInRouterContext, useNavigate } from 'react-router-dom';
1
+ import { useNavigate } from 'react-router-dom';
2
2
 
3
- import { navigationRoutes } from '../constants/navigationRoutes';
4
- import { useQuoteStore } from '../store/quote';
5
-
6
- export function useNavigateBack() {
7
- const isRouterInContext = useInRouterContext();
3
+ export function useNavigateBack(): () => void {
8
4
  const navigate = useNavigate();
9
- const quoteWalletsConfirmed = useQuoteStore.use.quoteWalletsConfirmed();
10
-
11
- navigationRoutes;
12
-
13
- const navigateBackFrom = (currentRoute: string) => {
14
- if (currentRoute === navigationRoutes.swapDetails) {
15
- return navigate('/' + navigationRoutes.swaps, { replace: true });
16
- }
17
-
18
- if (
19
- !isRouterInContext ||
20
- (window.history.state && window.history.state.idx > 0)
21
- ) {
22
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
23
- navigate(-1);
24
- } else {
25
- if (
26
- [navigationRoutes.settings, navigationRoutes.wallets].includes(
27
- currentRoute
28
- ) &&
29
- quoteWalletsConfirmed
30
- ) {
31
- return navigate('/' + navigationRoutes.confirmSwap, { replace: true });
32
- }
33
- if (
34
- [
35
- navigationRoutes.fromSwap,
36
- navigationRoutes.toSwap,
37
- navigationRoutes.settings,
38
- navigationRoutes.wallets,
39
- navigationRoutes.swaps,
40
- navigationRoutes.confirmSwap,
41
- ].includes(currentRoute)
42
- ) {
43
- navigate(navigationRoutes.home, { replace: true });
44
- } else if (currentRoute === navigationRoutes.fromBlockchain) {
45
- navigate('/' + navigationRoutes.fromSwap, { replace: true });
46
- } else if (currentRoute === navigationRoutes.toBlockchain) {
47
- navigate('/' + navigationRoutes.fromSwap, { replace: true });
48
- } else if (currentRoute === navigationRoutes.liquiditySources) {
49
- navigate('/' + navigationRoutes.settings, { replace: true });
50
- }
51
- }
52
- };
53
-
54
- return { navigateBackFrom };
5
+ return () => navigate(-1);
55
6
  }
@@ -1 +1 @@
1
- export const MOST_USED_BLOCKChAINS = ['ETH', 'COSMOS', 'OSMOSIS'];
1
+ export const MOST_USED_BLOCKCHAINS = ['ETH', 'COSMOS', 'OSMOSIS'];
@@ -1,13 +1,16 @@
1
- import type { PrepareListOptions } from './usePrepareBlockchainList.types';
1
+ import type {
2
+ PrepareListOptions,
3
+ PrepareOutput,
4
+ } from './usePrepareBlockchainList.types';
2
5
  import type { BlockchainMeta } from 'rango-sdk';
3
6
 
4
- import { MOST_USED_BLOCKChAINS } from './usePrepareBlockchainList.constants';
7
+ import { MOST_USED_BLOCKCHAINS } from './usePrepareBlockchainList.constants';
5
8
 
6
9
  export function prepare(
7
10
  blockchains: BlockchainMeta[],
8
11
  preferredBlockchains: string[],
9
12
  options?: PrepareListOptions
10
- ) {
13
+ ): PrepareOutput {
11
14
  /*
12
15
  * TODO:
13
16
  * We copying the `blockchains` which can causes performance penalties but we should because we are mutating the original object.
@@ -25,17 +28,37 @@ export function prepare(
25
28
  let preferredBlockchainsWithoutMainList = preferredBlockchains;
26
29
 
27
30
  if (preferredBlockchains.length <= options.limit) {
28
- /*
29
- * For first X (limit) numbers, we need to remove them from preferred if exists.
31
+ /**
32
+ *
33
+ * if we want to show 10 items (aka `options.limit`)
34
+ * and have these items as our preferred list: [x,y,z]
35
+ * and these as our main list: [A, B, C, D, E, F, G, H, I, J]
36
+ * the final list will be like this: [...preferred, ...mainList].
37
+ *
38
+ * Since we have a limit (e.g. 10) on our list (preferred + mainList),
39
+ * we only should check those items from main list that will be in final list.
40
+ *
41
+ * finalListWithoutLimit = [x,y,z, A, B, C, D, E, F, G, H, I, J]
42
+ * finalListWithLimit = [x,y,z, A, B, C, D, E, F, G]
43
+ *
44
+ * As you can see, [H, I, J] will not be in our list.
45
+ *
46
+ * The following code only check preffred blockchain
47
+ * shouldn't be in first 7 of 10 items in main list. (Since, the last 3 items will not be in the final list and we should check those.)
30
48
  */
31
- for (let i = 0; i < options.limit; i++) {
49
+ const howManyItemsShouldBeCheckedFromMainList =
50
+ options.limit - preferredBlockchains.length;
51
+
52
+ for (let i = 0; i <= howManyItemsShouldBeCheckedFromMainList; i++) {
32
53
  const blockchain = list[i];
54
+
33
55
  preferredBlockchainsWithoutMainList =
34
56
  preferredBlockchainsWithoutMainList.filter((preferredBlockchain) => {
35
57
  return blockchain.name !== preferredBlockchain;
36
58
  });
37
59
  }
38
60
  }
61
+
39
62
  list.sort(
40
63
  generateSortByPreferredBlockchainsFor(preferredBlockchainsWithoutMainList)
41
64
  );
@@ -57,7 +80,7 @@ export function sortByMostUsedBlockchains(
57
80
  a: BlockchainMeta,
58
81
  b: BlockchainMeta
59
82
  ) {
60
- const mostUsed = MOST_USED_BLOCKChAINS;
83
+ const mostUsed = MOST_USED_BLOCKCHAINS;
61
84
  const aIndexInMostUsed = mostUsed.findIndex((token) => token === a.name);
62
85
  const bIndexInMostUsed = mostUsed.findIndex((token) => token === b.name);
63
86
  const aIsMostUsed = aIndexInMostUsed > -1;
@@ -106,3 +129,10 @@ export function generateSortByPreferredBlockchainsFor(
106
129
  return 0;
107
130
  };
108
131
  }
132
+
133
+ export function isInVisibleList(
134
+ blockchain: string,
135
+ prepareOutput: PrepareOutput
136
+ ): boolean {
137
+ return !!prepareOutput.list.find((item) => item.name === blockchain);
138
+ }
@@ -2,6 +2,66 @@ import type { BlockchainMeta } from 'rango-sdk';
2
2
 
3
3
  import { TransactionType } from 'rango-sdk';
4
4
 
5
+ export const sampleDefaultBlockchainNames = [
6
+ 'ETH',
7
+ 'COSMOS',
8
+ 'OSMOSIS',
9
+ 'BSC',
10
+ 'ARBITRUM',
11
+ 'POLYGON',
12
+ 'ZKSYNC',
13
+ 'STARKNET',
14
+ 'OPTIMISM',
15
+ 'AVAX_CCHAIN',
16
+ 'POLYGONZK',
17
+ 'LINEA',
18
+ 'TRON',
19
+ 'BTC',
20
+ 'NEUTRON',
21
+ 'NOBLE',
22
+ 'SOLANA',
23
+ 'CRONOS',
24
+ 'BNB',
25
+ 'AURORA',
26
+ 'MAYA',
27
+ 'THOR',
28
+ 'BOBA',
29
+ 'MOONBEAM',
30
+ 'MOONRIVER',
31
+ 'OKC',
32
+ 'BOBA_AVALANCHE',
33
+ 'LTC',
34
+ 'BCH',
35
+ 'HECO',
36
+ 'STARGAZE',
37
+ 'CRYPTO_ORG',
38
+ 'CHIHUAHUA',
39
+ 'BANDCHAIN',
40
+ 'COMDEX',
41
+ 'REGEN',
42
+ 'IRIS',
43
+ 'EMONEY',
44
+ 'JUNO',
45
+ 'STRIDE',
46
+ 'MARS',
47
+ 'TERRA',
48
+ 'BITSONG',
49
+ 'AKASH',
50
+ 'KI',
51
+ 'PERSISTENCE',
52
+ 'MEDIBLOC',
53
+ 'KUJIRA',
54
+ 'SENTINEL',
55
+ 'INJECTIVE',
56
+ 'SECRET',
57
+ 'KONSTELLATION',
58
+ 'STARNAME',
59
+ 'BITCANNA',
60
+ 'UMEE',
61
+ 'DESMOS',
62
+ 'LUMNETWORK',
63
+ ];
64
+
5
65
  export const sampleBlockchains: BlockchainMeta[] = [
6
66
  {
7
67
  name: 'ETH',
@@ -2,7 +2,7 @@ import type { BlockchainMeta } from 'rango-sdk';
2
2
 
3
3
  import { beforeEach, describe, expect, it } from 'vitest';
4
4
 
5
- import { MOST_USED_BLOCKChAINS } from './usePrepareBlockchainList.constants';
5
+ import { MOST_USED_BLOCKCHAINS } from './usePrepareBlockchainList.constants';
6
6
  import {
7
7
  generateSortByPreferredBlockchainsFor,
8
8
  prepare,
@@ -20,8 +20,8 @@ describe('usePrepareBlockchainList', () => {
20
20
  it('should sort blockchains by most used ones.', () => {
21
21
  const sortedBlockchainsList = sample.sort(sortByMostUsedBlockchains);
22
22
 
23
- const mostUsedCount = MOST_USED_BLOCKChAINS.length;
24
- const expected = MOST_USED_BLOCKChAINS;
23
+ const mostUsedCount = MOST_USED_BLOCKCHAINS.length;
24
+ const expected = MOST_USED_BLOCKCHAINS;
25
25
  const received = sortedBlockchainsList
26
26
  .map((blockchain) => blockchain.name)
27
27
  .slice(0, mostUsedCount);
@@ -270,4 +270,79 @@ describe('usePrepareBlockchainList', () => {
270
270
  ...received.more.map((blockchain) => blockchain.name),
271
271
  ]);
272
272
  });
273
+
274
+ it.only('Last item of the main list should be moved to front if it selected again.', () => {
275
+ const listLimit = 10;
276
+ const preferredBlockchains = ['AVAX_CCHAIN', 'BTC'];
277
+ const expected = [
278
+ 'AVAX_CCHAIN',
279
+ 'BTC',
280
+ 'ETH',
281
+ 'COSMOS',
282
+ 'OSMOSIS',
283
+ 'BSC',
284
+ 'ARBITRUM',
285
+ 'POLYGON',
286
+ 'ZKSYNC',
287
+ 'STARKNET',
288
+ 'OPTIMISM',
289
+ 'POLYGONZK',
290
+ 'LINEA',
291
+ 'TRON',
292
+ 'NEUTRON',
293
+ 'NOBLE',
294
+ 'SOLANA',
295
+ 'CRONOS',
296
+ 'BNB',
297
+ 'AURORA',
298
+ 'MAYA',
299
+ 'THOR',
300
+ 'BOBA',
301
+ 'MOONBEAM',
302
+ 'MOONRIVER',
303
+ 'OKC',
304
+ 'BOBA_AVALANCHE',
305
+ 'LTC',
306
+ 'BCH',
307
+ 'HECO',
308
+ 'STARGAZE',
309
+ 'CRYPTO_ORG',
310
+ 'CHIHUAHUA',
311
+ 'BANDCHAIN',
312
+ 'COMDEX',
313
+ 'REGEN',
314
+ 'IRIS',
315
+ 'EMONEY',
316
+ 'JUNO',
317
+ 'STRIDE',
318
+ 'MARS',
319
+ 'TERRA',
320
+ 'BITSONG',
321
+ 'AKASH',
322
+ 'KI',
323
+ 'PERSISTENCE',
324
+ 'MEDIBLOC',
325
+ 'KUJIRA',
326
+ 'SENTINEL',
327
+ 'INJECTIVE',
328
+ 'SECRET',
329
+ 'KONSTELLATION',
330
+ 'STARNAME',
331
+ 'BITCANNA',
332
+ 'UMEE',
333
+ 'DESMOS',
334
+ 'LUMNETWORK',
335
+ ];
336
+
337
+ const output = prepare(sample, preferredBlockchains, {
338
+ limit: listLimit,
339
+ });
340
+
341
+ const received = [
342
+ ...output.list.map((blockchain) => blockchain.name),
343
+ ...output.more.map((blockchain) => blockchain.name),
344
+ ];
345
+
346
+ expect(expected).toEqual(received);
347
+ });
273
348
  });
@@ -1,14 +1,14 @@
1
1
  import type {
2
2
  PrepareListOptions,
3
- PrepareListOutput,
3
+ UsePrepareList,
4
4
  } from './usePrepareBlockchainList.types';
5
5
  import type { BlockchainMeta } from 'rango-sdk';
6
6
 
7
7
  import { useEffect } from 'react';
8
8
 
9
- import { useSettingsStore } from '../../store/settings';
9
+ import { useAppStore } from '../../store/AppStore';
10
10
 
11
- import { prepare } from './usePrepareBlockchainList.helpers';
11
+ import { isInVisibleList, prepare } from './usePrepareBlockchainList.helpers';
12
12
 
13
13
  /**
14
14
  *
@@ -19,12 +19,21 @@ import { prepare } from './usePrepareBlockchainList.helpers';
19
19
  export function usePrepareBlockchainList(
20
20
  blockchains: BlockchainMeta[],
21
21
  options?: PrepareListOptions
22
- ): PrepareListOutput {
23
- const { preferredBlockchains, addPreferredBlockchain } = useSettingsStore();
22
+ ): UsePrepareList {
23
+ const { preferredBlockchains, addPreferredBlockchain } = useAppStore();
24
24
 
25
25
  useEffect(() => {
26
26
  if (options?.selected) {
27
- addPreferredBlockchain(options?.selected);
27
+ const output = prepare(blockchains, preferredBlockchains, options);
28
+
29
+ /**
30
+ * We only add a new blockchain to preferred when it's not in the main list
31
+ * In this way we can guarantee we will be able to regenerate the same list always.
32
+ * And also it helps us to avoid jumping for the last item of the main list (e.g. tenth item of our list).
33
+ */
34
+ if (!isInVisibleList(options.selected, output)) {
35
+ addPreferredBlockchain(options?.selected);
36
+ }
28
37
  }
29
38
  }, [options?.selected]);
30
39
 
@@ -5,8 +5,13 @@ export interface PrepareListOptions {
5
5
  selected?: string;
6
6
  }
7
7
 
8
- export interface PrepareListOutput {
8
+ export interface PrepareOutput {
9
9
  list: BlockchainMeta[];
10
10
  more: BlockchainMeta[];
11
+ }
12
+
13
+ export interface UsePrepareList {
14
+ list: PrepareOutput['list'];
15
+ more: PrepareOutput['more'];
11
16
  history: string[];
12
17
  }