@rango-dev/widget-embedded 0.17.1-next.0 → 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
@@ -0,0 +1,107 @@
1
+ import type { HighValueLossWarning } from '../../types';
2
+
3
+ import { i18n } from '@lingui/core';
4
+ import {
5
+ Button,
6
+ Divider,
7
+ MessageBox,
8
+ Modal,
9
+ Typography,
10
+ WarningIcon,
11
+ } from '@rango-dev/ui';
12
+ import React from 'react';
13
+
14
+ import { errorMessages } from '../../constants/errors';
15
+ import {
16
+ GAS_FEE_MAX_DECIMALS,
17
+ GAS_FEE_MIN_DECIMALS,
18
+ PERCENTAGE_CHANGE_MAX_DECIMALS,
19
+ PERCENTAGE_CHANGE_MIN_DECIMALS,
20
+ USD_VALUE_MAX_DECIMALS,
21
+ USD_VALUE_MIN_DECIMALS,
22
+ } from '../../constants/routing';
23
+ import { getContainer } from '../../utils/common';
24
+ import { numberToString } from '../../utils/numbers';
25
+
26
+ import { QuoteErrorsModalItem } from './QuoteErrorsModalItem';
27
+ import { Flex } from './QuoteWarningsAndErrors.styles';
28
+
29
+ type Props = {
30
+ open: boolean;
31
+ onClose: () => void;
32
+ onConfirm: () => void;
33
+ warning: HighValueLossWarning;
34
+ };
35
+
36
+ export function HighValueLossWarningModal(props: Props) {
37
+ const { open, onClose, onConfirm, warning } = props;
38
+ const type = warning.warningLevel === 'high' ? 'error' : 'warning';
39
+ const highValueLossData = [
40
+ {
41
+ title: i18n.t('Swapping'),
42
+ value: numberToString(
43
+ warning.inputUsdValue,
44
+ USD_VALUE_MIN_DECIMALS,
45
+ USD_VALUE_MAX_DECIMALS
46
+ ),
47
+ },
48
+ {
49
+ title: i18n.t('Gas cost'),
50
+ value: numberToString(
51
+ warning.totalFee,
52
+ GAS_FEE_MIN_DECIMALS,
53
+ GAS_FEE_MAX_DECIMALS
54
+ ),
55
+ },
56
+ {
57
+ title: i18n.t('Receiving'),
58
+ value: numberToString(
59
+ warning.outputUsdValue,
60
+ USD_VALUE_MIN_DECIMALS,
61
+ USD_VALUE_MAX_DECIMALS
62
+ ),
63
+ },
64
+ {
65
+ title: i18n.t('Price impact'),
66
+ value: numberToString(
67
+ warning.priceImpact,
68
+ PERCENTAGE_CHANGE_MIN_DECIMALS,
69
+ PERCENTAGE_CHANGE_MAX_DECIMALS
70
+ ),
71
+ valueColor: `${type}500`,
72
+ },
73
+ ];
74
+
75
+ return (
76
+ <Modal open={open} onClose={onClose} container={getContainer()}>
77
+ <MessageBox
78
+ type={type}
79
+ title={errorMessages().highValueLossError.impactTitle}
80
+ description={errorMessages().highValueLossError.description}
81
+ />
82
+
83
+ <Flex>
84
+ <Divider size={20} />
85
+ <Typography size="small" variant="title">
86
+ {i18n.t('Details')}
87
+ </Typography>
88
+ <Flex>
89
+ {highValueLossData.map((item, index) => {
90
+ const key = index;
91
+ return <QuoteErrorsModalItem key={key} {...item} />;
92
+ })}
93
+ </Flex>
94
+ </Flex>
95
+
96
+ <Divider size={32} />
97
+ <Button
98
+ type="primary"
99
+ size="large"
100
+ prefix={<WarningIcon />}
101
+ fullWidth
102
+ onClick={onConfirm}>
103
+ {errorMessages().highValueLossError.confirmMessage}
104
+ </Button>
105
+ </Modal>
106
+ );
107
+ }
@@ -1,11 +1,11 @@
1
- import type { ModalContentData } from './RouteErrors.types';
1
+ import type { ModalContentData } from './QuoteWarningsAndErrors.types';
2
2
 
3
3
  import { Typography } from '@rango-dev/ui';
4
4
  import React from 'react';
5
5
 
6
- import { Item } from './RouteErrors.styles';
6
+ import { Item } from './QuoteWarningsAndErrors.styles';
7
7
 
8
- export function RouteErrorsModalItem(props: ModalContentData) {
8
+ export function QuoteErrorsModalItem(props: ModalContentData) {
9
9
  const { title, value, valueColor } = props;
10
10
 
11
11
  return (
@@ -0,0 +1,67 @@
1
+ import type {
2
+ BridgeLimitError,
3
+ InsufficientSlippageError,
4
+ QuoteWarning,
5
+ } from '../../types';
6
+
7
+ import { i18n } from '@lingui/core';
8
+
9
+ import { errorMessages } from '../../constants/errors';
10
+ import { QuoteErrorType, QuoteWarningType } from '../../types';
11
+ import { getPriceImpactLevel } from '../../utils/quote';
12
+
13
+ type AlertInfo = {
14
+ alertType: 'error' | 'warning';
15
+ title: string;
16
+ action: 'show-info' | 'change-settings' | null;
17
+ };
18
+
19
+ export function makeAlerts(
20
+ warning: QuoteWarning | null,
21
+ error: BridgeLimitError | InsufficientSlippageError | null
22
+ ): AlertInfo | null {
23
+ const alertInfo: AlertInfo = {
24
+ alertType: 'warning',
25
+ title: '',
26
+ action: 'show-info',
27
+ };
28
+ if (warning) {
29
+ if (warning.type === QuoteWarningType.HIGH_VALUE_LOSS) {
30
+ const warningLevel = getPriceImpactLevel(warning.priceImpact);
31
+ if (warningLevel === 'high') {
32
+ alertInfo.alertType = 'error';
33
+ }
34
+ alertInfo.title = errorMessages().highValueLossError.title;
35
+ }
36
+ if (warning.type === QuoteWarningType.UNKNOWN_PRICE) {
37
+ alertInfo.title = errorMessages().unknownPriceError.title;
38
+ }
39
+ if (warning.type === QuoteWarningType.INSUFFICIENT_SLIPPAGE) {
40
+ alertInfo.title = i18n.t({
41
+ id: 'minimum required slippage for this route: {minRequiredSlippage}',
42
+ values: {
43
+ minRequiredSlippage: warning.minRequiredSlippage,
44
+ },
45
+ });
46
+ }
47
+ if (warning.type === QuoteWarningType.HIGH_SLIPPAGE) {
48
+ alertInfo.title = i18n.t('Caution, your slippage is high');
49
+ }
50
+ return alertInfo;
51
+ }
52
+ if (error) {
53
+ alertInfo.alertType = 'error';
54
+ if (error.type === QuoteErrorType.BRIDGE_LIMIT) {
55
+ alertInfo.title = error.recommendation;
56
+ alertInfo.action = null;
57
+ }
58
+
59
+ if (error.type === QuoteErrorType.INSUFFICIENT_SLIPPAGE) {
60
+ alertInfo.title = '';
61
+ alertInfo.action = 'change-settings';
62
+ }
63
+
64
+ return alertInfo;
65
+ }
66
+ return null;
67
+ }
@@ -0,0 +1,103 @@
1
+ import type { PropTypes } from './QuoteWarningsAndErrors.types';
2
+
3
+ import { i18n } from '@lingui/core';
4
+ import { Alert, Button, InfoIcon } from '@rango-dev/ui';
5
+ import React from 'react';
6
+ import { useNavigate } from 'react-router-dom';
7
+
8
+ import { navigationRoutes } from '../../constants/navigationRoutes';
9
+ import { QuoteErrorType, QuoteWarningType } from '../../types';
10
+ import { NoResult } from '../NoResult';
11
+
12
+ import { HighValueLossWarningModal } from './HighValueLossWarningModal';
13
+ import { makeAlerts } from './QuoteWarningsAndErrors.helpers';
14
+ import { Action, Alerts } from './QuoteWarningsAndErrors.styles';
15
+ import { SlippageWarningModal } from './SlippageWariningModal';
16
+ import { UnknownPriceWarningModal } from './UnknownPriceWarningModal';
17
+
18
+ export function QuoteWarningsAndErrors(props: PropTypes) {
19
+ const {
20
+ warning,
21
+ error,
22
+ refetchQuote,
23
+ showWarningModal,
24
+ onOpenWarningModal,
25
+ onCloseWarningModal,
26
+ onConfirmWarningModal,
27
+ } = props;
28
+
29
+ const navigate = useNavigate();
30
+
31
+ const warningModalHandlers = {
32
+ open: showWarningModal,
33
+ onClose: onCloseWarningModal,
34
+ onConfirm: onConfirmWarningModal,
35
+ };
36
+
37
+ const showNoResultMessage =
38
+ error?.type === QuoteErrorType.NO_RESULT ||
39
+ error?.type === QuoteErrorType.REQUEST_FAILED;
40
+
41
+ const alertInfo = makeAlerts(
42
+ warning,
43
+ error?.type === QuoteErrorType.BRIDGE_LIMIT ||
44
+ error?.type === QuoteErrorType.INSUFFICIENT_SLIPPAGE
45
+ ? error
46
+ : null
47
+ );
48
+
49
+ const showAlerts = !!alertInfo;
50
+
51
+ return (
52
+ <>
53
+ {showNoResultMessage && <NoResult error={error} fetch={refetchQuote} />}
54
+
55
+ {showAlerts && (
56
+ <Alerts>
57
+ <Alert
58
+ title={alertInfo.title}
59
+ type={alertInfo.alertType}
60
+ variant="alarm"
61
+ action={
62
+ alertInfo.action === 'show-info' ? (
63
+ <Action onClick={onOpenWarningModal}>
64
+ <InfoIcon size={12} color="gray" />
65
+ </Action>
66
+ ) : (
67
+ <Button
68
+ size="xsmall"
69
+ type={'error'}
70
+ onClick={() => navigate(navigationRoutes.settings)}>
71
+ {i18n.t('Change Settings')}
72
+ </Button>
73
+ )
74
+ }
75
+ />
76
+ </Alerts>
77
+ )}
78
+
79
+ {warning && (
80
+ <>
81
+ {warning.type === QuoteWarningType.HIGH_VALUE_LOSS && (
82
+ <HighValueLossWarningModal
83
+ {...warningModalHandlers}
84
+ warning={warning}
85
+ />
86
+ )}
87
+
88
+ {(warning.type === QuoteWarningType.HIGH_SLIPPAGE ||
89
+ warning.type === QuoteWarningType.INSUFFICIENT_SLIPPAGE) && (
90
+ <SlippageWarningModal {...warningModalHandlers} warning={warning} />
91
+ )}
92
+
93
+ {warning.type === QuoteWarningType.UNKNOWN_PRICE && (
94
+ <UnknownPriceWarningModal
95
+ {...warningModalHandlers}
96
+ warning={warning}
97
+ />
98
+ )}
99
+ </>
100
+ )}
101
+ </>
102
+ );
103
+ }
@@ -0,0 +1,24 @@
1
+ import type { QuoteError, QuoteWarning } from '../../types';
2
+
3
+ export interface PropTypes {
4
+ loading: boolean;
5
+ error: QuoteError | null;
6
+ warning: QuoteWarning | null;
7
+ showWarningModal: boolean;
8
+ refetchQuote: () => void;
9
+ onOpenWarningModal: () => void;
10
+ onCloseWarningModal: () => void;
11
+ onConfirmWarningModal: () => void;
12
+ }
13
+
14
+ type ModalPropTypesKeys = keyof Omit<PropTypes, 'extraSpace' | 'loading'>;
15
+
16
+ export type ModalPropTypes = Pick<PropTypes, ModalPropTypesKeys> & {
17
+ open: boolean;
18
+ };
19
+
20
+ export interface ModalContentData {
21
+ title: string;
22
+ value: string;
23
+ valueColor?: string;
24
+ }
@@ -0,0 +1,77 @@
1
+ import type {
2
+ HighSlippageWarning,
3
+ InsufficientSlippageWarning,
4
+ } from '../../types';
5
+
6
+ import { i18n } from '@lingui/core';
7
+ import { Button, Divider, MessageBox, Modal, Typography } from '@rango-dev/ui';
8
+ import React from 'react';
9
+ import { useNavigate } from 'react-router-dom';
10
+
11
+ import { navigationRoutes } from '../../constants/navigationRoutes';
12
+ import { useSettingsStore } from '../../store/settings';
13
+ import { QuoteWarningType } from '../../types';
14
+ import { getContainer } from '../../utils/common';
15
+
16
+ type PropsTypes = {
17
+ open: boolean;
18
+ onClose: () => void;
19
+ onConfirm: () => void;
20
+ warning: InsufficientSlippageWarning | HighSlippageWarning;
21
+ };
22
+
23
+ export function SlippageWarningModal(props: PropsTypes) {
24
+ const { customSlippage, slippage } = useSettingsStore();
25
+ const { open, onClose, onConfirm, warning } = props;
26
+ const navigate = useNavigate();
27
+ const userSlippage = customSlippage ?? slippage;
28
+ return (
29
+ <Modal
30
+ anchor="bottom"
31
+ open={open}
32
+ prefix={
33
+ <Button
34
+ size="small"
35
+ variant="ghost"
36
+ onClick={() => navigate('/' + navigationRoutes.settings)}>
37
+ <Typography variant="label" size="medium" color="$neutral900">
38
+ {i18n.t('Change settings')}
39
+ </Typography>
40
+ </Button>
41
+ }
42
+ container={getContainer()}
43
+ onClose={onClose}>
44
+ <MessageBox
45
+ type="warning"
46
+ title={
47
+ warning.type === QuoteWarningType.HIGH_SLIPPAGE
48
+ ? i18n.t('High slippage')
49
+ : i18n.t('Low slippage')
50
+ }
51
+ description={
52
+ warning.type === QuoteWarningType.HIGH_SLIPPAGE
53
+ ? i18n.t({
54
+ id: ' Caution, your slippage is high (={userSlippage}). Your trade may be front run.',
55
+ values: { userSlippage },
56
+ })
57
+ : i18n.t({
58
+ id: 'We recommend you to increase slippage to at least {minRequiredSlippage} for this route.',
59
+ values: {
60
+ minRequiredSlippage: warning.minRequiredSlippage,
61
+ },
62
+ })
63
+ }>
64
+ <Divider size={18} />
65
+ <Divider size={32} />
66
+ <Button
67
+ size="large"
68
+ type="primary"
69
+ variant="contained"
70
+ fullWidth
71
+ onClick={onConfirm}>
72
+ {i18n.t('Confirm anyway')}
73
+ </Button>
74
+ </MessageBox>
75
+ </Modal>
76
+ );
77
+ }
@@ -0,0 +1,38 @@
1
+ import type { UnknownPriceWarning } from '../../types';
2
+
3
+ import { Button, Divider, MessageBox, Modal, WarningIcon } from '@rango-dev/ui';
4
+ import React from 'react';
5
+
6
+ import { errorMessages } from '../../constants/errors';
7
+ import { getContainer } from '../../utils/common';
8
+
9
+ type Props = {
10
+ open: boolean;
11
+ onClose: () => void;
12
+ onConfirm: () => void;
13
+ warning: UnknownPriceWarning;
14
+ };
15
+
16
+ export function UnknownPriceWarningModal(props: Props) {
17
+ const { open, onClose, onConfirm } = props;
18
+
19
+ return (
20
+ <Modal open={open} onClose={onClose} container={getContainer()}>
21
+ <MessageBox
22
+ type="warning"
23
+ title={errorMessages().unknownPriceError.impactTitle}
24
+ description={errorMessages().unknownPriceError.description}
25
+ />
26
+
27
+ <Divider size={32} />
28
+ <Button
29
+ type="primary"
30
+ size="large"
31
+ prefix={<WarningIcon />}
32
+ fullWidth
33
+ onClick={onConfirm}>
34
+ {errorMessages().unknownPriceError.confirmMessage}
35
+ </Button>
36
+ </Modal>
37
+ );
38
+ }
@@ -0,0 +1 @@
1
+ export { QuoteWarningsAndErrors } from './QuoteWarningsAndErrors';
@@ -31,7 +31,7 @@ export function SwapDetailsPlaceholder(props: SwapDetailsPlaceholderPropTypes) {
31
31
  noPadding
32
32
  header={{
33
33
  title: i18n.t('Swap and Bridge'),
34
- onBack: navigateBackFrom.bind(null, navigationRoutes.swapDetails),
34
+ onBack: () => navigateBackFrom(navigationRoutes.swapDetails),
35
35
  suffix: <SuffixContainer />,
36
36
  }}>
37
37
  {showSkeleton && (
@@ -13,8 +13,7 @@ import {
13
13
  CopyIcon,
14
14
  Divider,
15
15
  IconButton,
16
- RouteCost,
17
- RouteSummary,
16
+ QuoteCost,
18
17
  StepDetails,
19
18
  Typography,
20
19
  useCopyToClipboard,
@@ -35,18 +34,17 @@ import {
35
34
  USD_VALUE_MIN_DECIMALS,
36
35
  } from '../../constants/routing';
37
36
  import { useNavigateBack } from '../../hooks/useNavigateBack';
38
- import { useBestRouteStore } from '../../store/bestRoute';
39
- import { useMetaStore } from '../../store/meta';
37
+ import { useAppStore } from '../../store/AppStore';
40
38
  import { useNotificationStore } from '../../store/notification';
39
+ import { useQuoteStore } from '../../store/quote';
41
40
  import {
42
41
  numberToString,
43
42
  secondsToString,
44
43
  totalArrivalTime,
45
44
  } from '../../utils/numbers';
46
- import { getPriceImpactLevel } from '../../utils/routing';
45
+ import { getPriceImpact, getPriceImpactLevel } from '../../utils/quote';
47
46
  import {
48
47
  getLastConvertedTokenInFailedSwap,
49
- getPercentageChange,
50
48
  getSwapMessages,
51
49
  shouldRetrySwap,
52
50
  } from '../../utils/swap';
@@ -54,6 +52,7 @@ import { getSwapDate } from '../../utils/time';
54
52
  import { getConciseAddress, getUsdPrice } from '../../utils/wallets';
55
53
  import { SuffixContainer } from '../HeaderButtons/HeaderButtons.styles';
56
54
  import { Layout } from '../Layout';
55
+ import { QuoteSummary } from '../Quote';
57
56
  import {
58
57
  SwapDetailsCompleteModal,
59
58
  SwapDetailsModal,
@@ -65,7 +64,9 @@ import { Container, HeaderDetails, StepsList } from './SwapDetails.styles';
65
64
  export function SwapDetails(props: SwapDetailsProps) {
66
65
  const { swap, requestId, onDelete, onCancel: onCancelProps } = props;
67
66
  const { canSwitchNetworkTo, connect, getWalletInfo } = useWallets();
68
- const retry = useBestRouteStore.use.retry();
67
+ const blockchains = useAppStore().blockchains();
68
+ const tokens = useAppStore().tokens();
69
+ const retry = useQuoteStore.use.retry();
69
70
  const navigate = useNavigate();
70
71
  const { navigateBackFrom } = useNavigateBack();
71
72
  const [_, handleCopy] = useCopyToClipboard(RESET_INTERVAL);
@@ -74,9 +75,6 @@ export function SwapDetails(props: SwapDetailsProps) {
74
75
  const [showCompletedModal, setShowCompletedModal] = useState<
75
76
  'success' | 'failed' | null
76
77
  >(null);
77
- const {
78
- meta: { tokens, blockchains },
79
- } = useMetaStore();
80
78
 
81
79
  const onCancel = () => {
82
80
  onCancelProps();
@@ -151,7 +149,7 @@ export function SwapDetails(props: SwapDetailsProps) {
151
149
  showNetworkModal: currentStepNetworkStatus,
152
150
  setNetworkModal: setModalState,
153
151
  message: stepMessage,
154
- blockchains,
152
+ blockchains: blockchains,
155
153
  });
156
154
  const numberOfSteps = steps.length;
157
155
  const [firstStep, lastStep] = [swap.steps[0], swap.steps[numberOfSteps - 1]];
@@ -201,7 +199,7 @@ export function SwapDetails(props: SwapDetailsProps) {
201
199
  USD_VALUE_MAX_DECIMALS
202
200
  );
203
201
 
204
- const percentageChange = getPercentageChange(inputUsdValue, outputUsdValue);
202
+ const percentageChange = getPriceImpact(inputUsdValue, outputUsdValue);
205
203
 
206
204
  const completeModalDesc =
207
205
  swap.status === 'success'
@@ -239,7 +237,7 @@ export function SwapDetails(props: SwapDetailsProps) {
239
237
  noPadding
240
238
  header={{
241
239
  title: i18n.t('Swap and Bridge'),
242
- onBack: navigateBackFrom.bind(null, navigationRoutes.swapDetails),
240
+ onBack: () => navigateBackFrom(navigationRoutes.swapDetails),
243
241
  onCancel:
244
242
  swap.status === 'running' ? () => setModalState('cancel') : undefined,
245
243
  suffix: swap.status !== 'running' && (
@@ -265,7 +263,7 @@ export function SwapDetails(props: SwapDetailsProps) {
265
263
  type="primary"
266
264
  size="large"
267
265
  onClick={() => {
268
- retry(swap);
266
+ retry(swap, { blockchains: blockchains, tokens: tokens });
269
267
  setTimeout(() => {
270
268
  navigate(navigationRoutes.home);
271
269
  }, 0);
@@ -302,7 +300,7 @@ export function SwapDetails(props: SwapDetailsProps) {
302
300
  </HeaderDetails>
303
301
 
304
302
  <div className="output">
305
- <RouteCost
303
+ <QuoteCost
306
304
  fee={numberToString(
307
305
  String(totalFee),
308
306
  GAS_FEE_MIN_DECIMALS,
@@ -311,7 +309,7 @@ export function SwapDetails(props: SwapDetailsProps) {
311
309
  time={secondsToString(totalArrivalTime(swap.steps))}
312
310
  steps={numberOfSteps}
313
311
  />
314
- <RouteSummary
312
+ <QuoteSummary
315
313
  from={{
316
314
  price: {
317
315
  value: numberToString(
@@ -349,13 +347,11 @@ export function SwapDetails(props: SwapDetailsProps) {
349
347
  },
350
348
  }}
351
349
  percentageChange={numberToString(
352
- percentageChange,
350
+ String(percentageChange),
353
351
  PERCENTAGE_CHANGE_MIN_DECIMALS,
354
352
  PERCENTAGE_CHANGE_MAX_DECIMALS
355
353
  )}
356
- warningLevel={getPriceImpactLevel(
357
- percentageChange?.toNumber() ?? 0
358
- )}
354
+ warningLevel={getPriceImpactLevel(percentageChange ?? 0)}
359
355
  />
360
356
  </div>
361
357
  <div className="title-steps">
@@ -377,7 +373,7 @@ export function SwapDetails(props: SwapDetailsProps) {
377
373
  <StepDetails
378
374
  key={key}
379
375
  step={step}
380
- type="route-progress"
376
+ type="swap-progress"
381
377
  ref={listRef}
382
378
  state={state}
383
379
  hasSeparator={index !== 0}
@@ -409,7 +405,7 @@ export function SwapDetails(props: SwapDetailsProps) {
409
405
  )}
410
406
  usdValue={outputUsdValue}
411
407
  percentageChange={numberToString(
412
- percentageChange,
408
+ String(percentageChange),
413
409
  PERCENTAGE_CHANGE_MIN_DECIMALS,
414
410
  PERCENTAGE_CHANGE_MAX_DECIMALS
415
411
  )}
@@ -1,7 +1,7 @@
1
1
  import { ReverseIcon, styled } from '@rango-dev/ui';
2
2
  import React from 'react';
3
3
 
4
- import { useBestRouteStore } from '../store/bestRoute';
4
+ import { useQuoteStore } from '../store/quote';
5
5
 
6
6
  const SwitchButtonContainer = styled('div', {
7
7
  position: 'absolute',
@@ -27,7 +27,7 @@ const StyledButton = styled('div', {
27
27
  });
28
28
 
29
29
  export function SwitchFromAndToButton() {
30
- const switchFromAndTo = useBestRouteStore.use.switchFromAndTo();
30
+ const switchFromAndTo = useQuoteStore.use.switchFromAndTo();
31
31
 
32
32
  return (
33
33
  <SwitchButtonContainer>
@@ -21,8 +21,7 @@ import {
21
21
  } from '@rango-dev/ui';
22
22
  import React, { forwardRef, useEffect, useState } from 'react';
23
23
 
24
- import { useAppStore } from '../../store/app';
25
- import { useMetaStore } from '../../store/meta';
24
+ import { useAppStore } from '../../store/AppStore';
26
25
  import { useWalletsStore } from '../../store/wallets';
27
26
  import { generateRangeColors } from '../../utils/colors';
28
27
 
@@ -87,10 +86,10 @@ export function TokenList(props: PropTypes) {
87
86
  const { list, searchedFor = '', onChange, selectedBlockchain } = props;
88
87
 
89
88
  const [tokens, setTokens] = useState<TokenWithBalance[]>(list);
90
- const loadingStatus = useMetaStore.use.loadingStatus();
89
+ const fetchStatus = useAppStore().fetchStatus;
90
+ const blockchains = useAppStore().blockchains();
91
91
  const [hasNextPage, setHasNextPage] = useState<boolean>(true);
92
92
  const loadingWallet = useWalletsStore.use.loading();
93
- const { blockchains } = useMetaStore.use.meta();
94
93
  const { isTokenPinned } = useAppStore();
95
94
 
96
95
  // eslint-disable-next-line react/display-name
@@ -268,8 +267,8 @@ export function TokenList(props: PropTypes) {
268
267
  {i18n.t('Select Token')}
269
268
  </Typography>
270
269
  <Divider size={4} />
271
- {loadingStatus === 'loading' && <LoadingTokenList size={PAGE_SIZE} />}
272
- {loadingStatus === 'success' && <List>{renderList()}</List>}
270
+ {fetchStatus === 'loading' && <LoadingTokenList size={PAGE_SIZE} />}
271
+ {fetchStatus === 'success' && <List>{renderList()}</List>}
273
272
  </Container>
274
273
  );
275
274
  }