@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,32 +1,16 @@
1
- import type { SwapResult } from 'rango-sdk';
2
-
3
1
  import { i18n } from '@lingui/core';
4
- import {
5
- Alert,
6
- BestRoute,
7
- BestRouteSkeleton,
8
- Button,
9
- Divider,
10
- styled,
11
- SwapInput,
12
- Typography,
13
- WarningIcon,
14
- } from '@rango-dev/ui';
2
+ import { Button, styled, SwapInput, WarningIcon } from '@rango-dev/ui';
15
3
  import React, { useEffect, useRef, useState } from 'react';
16
4
  import { useNavigate } from 'react-router-dom';
17
5
 
18
6
  import { HomeButtons } from '../components/HeaderButtons';
19
7
  import { Layout } from '../components/Layout';
20
- import { NoRoutes } from '../components/NoRoutes';
21
- import { RouteErrors } from '../components/RouteErrors';
22
8
  import { SwitchFromAndToButton } from '../components/SwitchFromAndTo';
23
9
  import { errorMessages } from '../constants/errors';
24
10
  import { navigationRoutes } from '../constants/navigationRoutes';
25
11
  import {
26
12
  BALANCE_MAX_DECIMALS,
27
13
  BALANCE_MIN_DECIMALS,
28
- GAS_FEE_MAX_DECIMALS,
29
- GAS_FEE_MIN_DECIMALS,
30
14
  PERCENTAGE_CHANGE_MAX_DECIMALS,
31
15
  PERCENTAGE_CHANGE_MIN_DECIMALS,
32
16
  TOKEN_AMOUNT_MAX_DECIMALS,
@@ -34,29 +18,22 @@ import {
34
18
  USD_VALUE_MAX_DECIMALS,
35
19
  USD_VALUE_MIN_DECIMALS,
36
20
  } from '../constants/routing';
21
+ import { QuoteInfo } from '../containers/QuoteInfo';
37
22
  import { useSwapInput } from '../hooks/useSwapInput';
38
- import { useBestRouteStore } from '../store/bestRoute';
39
- import { useMetaStore } from '../store/meta';
23
+ import { useAppStore } from '../store/AppStore';
24
+ import { useQuoteStore } from '../store/quote';
40
25
  import { useUiStore } from '../store/ui';
41
26
  import { useWalletsStore } from '../store/wallets';
42
27
  import { ButtonState } from '../types';
43
- import { getContainer } from '../utils/common';
44
- import { getBlockchainShortNameFor } from '../utils/meta';
45
- import {
46
- numberToString,
47
- secondsToString,
48
- totalArrivalTime,
49
- } from '../utils/numbers';
50
- import { getFormattedBestRoute, getPriceImpactLevel } from '../utils/routing';
28
+ import { numberToString } from '../utils/numbers';
29
+ import { getPriceImpact, getPriceImpactLevel } from '../utils/quote';
51
30
  import {
52
31
  canComputePriceImpact,
53
32
  getOutputRatio,
54
33
  getPercentageChange,
55
34
  getSwapButtonState,
56
- getTotalFeeInUsd,
35
+ hasHighValueLoss,
57
36
  hasLimitError,
58
- LimitErrorMessage,
59
- outputRatioHasWarning,
60
37
  } from '../utils/swap';
61
38
  import { getBalanceFromWallet } from '../utils/wallets';
62
39
 
@@ -76,27 +53,13 @@ const InputsContainer = styled('div', {
76
53
  gap: 5,
77
54
  alignSelf: 'stretch',
78
55
  });
79
-
80
- const BestRouteContainer = styled('div', {
81
- width: '100%',
82
- paddingTop: '$2',
83
- });
84
-
85
- const FooterStepAlarm = styled('div', {
86
- paddingBottom: '$15',
87
- });
88
-
89
- const FooterAlert = styled('div', {
90
- width: '100%',
91
- display: 'flex',
92
- });
93
-
94
56
  export function Home() {
95
57
  const navigate = useNavigate();
96
58
  const {
97
- fetch: refetchBestRoute,
98
- loading: fetchingBestRoute,
99
- error: bestRouteError,
59
+ fetch: fetchQuote,
60
+ loading: fetchingQuote,
61
+ error: quoteError,
62
+ warning: quoteWarning,
100
63
  } = useSwapInput();
101
64
  const {
102
65
  fromToken,
@@ -108,51 +71,40 @@ export function Home() {
108
71
  inputUsdValue,
109
72
  outputAmount,
110
73
  outputUsdValue,
111
- bestRoute,
112
- resetRouteWallets,
113
- } = useBestRouteStore();
74
+ quote,
75
+ resetQuoteWallets,
76
+ setQuoteWarningsConfirmed,
77
+ } = useQuoteStore();
114
78
 
115
- const {
116
- meta: { tokens, blockchains },
117
- loadingStatus: loadingMetaStatus,
118
- } = useMetaStore();
79
+ const fetchMetaStatus = useAppStore().fetchStatus;
119
80
 
120
81
  const connectedWallets = useWalletsStore.use.connectedWallets();
121
82
  const setCurrentPage = useUiStore.use.setCurrentPage();
122
- const [openWarningModal, setOpenWarningModal] = useState(false);
123
- const {
124
- fromAmountRangeError,
125
- swap: swapHasError,
126
- recommendation,
127
- } = LimitErrorMessage(bestRoute);
83
+ const [showQuoteWarningModal, setShowQuoteWarningModal] = useState(false);
128
84
  const layoutRef = useRef<HTMLDivElement>(null);
129
85
 
130
- const showBestRoute =
131
- !!Number(inputAmount) &&
132
- (!!bestRoute || fetchingBestRoute || !!bestRouteError);
133
-
134
86
  const needsToWarnEthOnPath = false;
135
87
 
136
88
  const outToInRatio = getOutputRatio(inputUsdValue, outputUsdValue);
137
- const highValueLoss = outputRatioHasWarning(inputUsdValue, outToInRatio);
89
+ const highValueLoss = hasHighValueLoss(inputUsdValue, outToInRatio);
138
90
 
139
91
  const priceImpactInputCanNotBeComputed = !canComputePriceImpact(
140
- bestRoute,
92
+ quote,
141
93
  inputAmount,
142
94
  inputUsdValue
143
95
  );
144
96
 
145
97
  const priceImpactOutputCanNotBeComputed = !canComputePriceImpact(
146
- bestRoute,
98
+ quote,
147
99
  inputAmount,
148
100
  outputUsdValue
149
101
  );
150
102
  const swapButtonState = getSwapButtonState(
151
- loadingMetaStatus,
103
+ fetchMetaStatus,
152
104
  connectedWallets,
153
- fetchingBestRoute,
154
- bestRoute,
155
- hasLimitError(bestRoute),
105
+ fetchingQuote,
106
+ quote,
107
+ hasLimitError(quote),
156
108
  highValueLoss,
157
109
  priceImpactInputCanNotBeComputed || priceImpactOutputCanNotBeComputed,
158
110
  needsToWarnEthOnPath,
@@ -193,7 +145,7 @@ export function Home() {
193
145
 
194
146
  useEffect(() => {
195
147
  setCurrentPage(navigationRoutes.home);
196
- resetRouteWallets();
148
+ resetQuoteWallets();
197
149
  return setCurrentPage.bind(null, '');
198
150
  }, []);
199
151
 
@@ -201,83 +153,9 @@ export function Home() {
201
153
  !inputUsdValue || !outputUsdValue || !outputUsdValue.gt(0)
202
154
  ? null
203
155
  : getPercentageChange(
204
- inputUsdValue.toNumber(),
205
- outputUsdValue.toNumber()
156
+ inputUsdValue.toString(),
157
+ outputUsdValue.toString()
206
158
  );
207
-
208
- const getBestRouteSteps = (swaps: SwapResult[]) => {
209
- return swaps.map((swap, index) => ({
210
- swapper: { displayName: swap.swapperId, image: swap.swapperLogo },
211
- from: {
212
- token: { displayName: swap.from.symbol, image: swap.from.logo },
213
- chain: {
214
- displayName:
215
- getBlockchainShortNameFor(swap.from.blockchain, blockchains) ?? '',
216
- image: swap.from.blockchainLogo,
217
- },
218
- price: {
219
- value:
220
- index === 0
221
- ? numberToString(
222
- inputAmount,
223
- TOKEN_AMOUNT_MIN_DECIMALS,
224
- TOKEN_AMOUNT_MAX_DECIMALS
225
- )
226
- : swap.fromAmount,
227
- },
228
- },
229
- to: {
230
- token: { displayName: swap.to.symbol, image: swap.to.logo },
231
- chain: {
232
- displayName:
233
- getBlockchainShortNameFor(swap.to.blockchain, blockchains) ?? '',
234
- image: swap.to.blockchainLogo,
235
- },
236
- price: {
237
- value: swap.toAmount,
238
- },
239
- },
240
- alerts:
241
- swap.swapperId === swapHasError?.swapperId ? (
242
- <FooterStepAlarm>
243
- <Alert
244
- type="error"
245
- title={recommendation}
246
- footer={
247
- <FooterAlert>
248
- <Typography size="xsmall" variant="body" color="neutral700">
249
- {fromAmountRangeError}
250
- </Typography>
251
- <Divider direction="horizontal" size={8} />
252
- <Typography size="xsmall" variant="body" color="neutral700">
253
- |
254
- </Typography>
255
- <Divider direction="horizontal" size={8} />
256
- <Typography size="xsmall" variant="body" color="neutral700">
257
- {i18n.t({
258
- id: 'Yours: {amount} {symbol}',
259
- values: {
260
- amount: numberToString(
261
- swapHasError?.fromAmount || null,
262
- TOKEN_AMOUNT_MIN_DECIMALS,
263
- TOKEN_AMOUNT_MAX_DECIMALS
264
- ),
265
- symbol: swap?.from.symbol,
266
- },
267
- })}
268
- </Typography>
269
- </FooterAlert>
270
- }
271
- />
272
- </FooterStepAlarm>
273
- ) : undefined,
274
- }));
275
- };
276
-
277
- const totalFeeInUsd = getTotalFeeInUsd(bestRoute, tokens);
278
-
279
- const bestRouteData = getFormattedBestRoute(bestRoute);
280
-
281
159
  return (
282
160
  <Layout
283
161
  ref={layoutRef}
@@ -296,8 +174,8 @@ export function Home() {
296
174
  onClick={() => {
297
175
  if (swapButtonState.state === ButtonState.WAITFORCONNECTING) {
298
176
  navigate(navigationRoutes.wallets);
299
- } else if (swapButtonState.state === ButtonState.NEEDTOCONFIRM) {
300
- setOpenWarningModal(true);
177
+ } else if (quoteWarning) {
178
+ setShowQuoteWarningModal(true);
301
179
  } else {
302
180
  navigate(navigationRoutes.confirmSwap);
303
181
  }
@@ -311,9 +189,7 @@ export function Home() {
311
189
  suffix: (
312
190
  <HomeButtons
313
191
  layoutRef={layoutRef.current}
314
- onClickRefresh={
315
- !!bestRoute || bestRouteError ? refetchBestRoute : undefined
316
- }
192
+ onClickRefresh={!!quote || quoteError ? fetchQuote : undefined}
317
193
  onClickHistory={() => navigate(navigationRoutes.swaps)}
318
194
  onClickSettings={() => navigate(navigationRoutes.settings)}
319
195
  />
@@ -324,6 +200,8 @@ export function Home() {
324
200
  <FromContainer>
325
201
  <SwapInput
326
202
  label={i18n.t('From')}
203
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
204
+ //@ts-ignore
327
205
  mode="From"
328
206
  onInputChange={setInputAmount}
329
207
  balance={tokenBalance}
@@ -349,8 +227,8 @@ export function Home() {
349
227
  ? errorMessages().unknownPriceError.impactTitle
350
228
  : undefined,
351
229
  }}
352
- disabled={loadingMetaStatus === 'failed'}
353
- loading={loadingMetaStatus === 'loading'}
230
+ disabled={fetchMetaStatus === 'failed'}
231
+ loading={fetchMetaStatus === 'loading'}
354
232
  onSelectMaxBalance={() => {
355
233
  if (tokenBalance !== '0') {
356
234
  setInputAmount(tokenBalanceReal.split(',').join(''));
@@ -360,7 +238,7 @@ export function Home() {
360
238
  <SwitchFromAndToButton />
361
239
  </FromContainer>
362
240
  <SwapInput
363
- sharpBottomStyle={!!bestRoute?.result || fetchingBestRoute}
241
+ sharpBottomStyle={!!quote?.result || fetchingQuote}
364
242
  label={i18n.t('To')}
365
243
  mode="To"
366
244
  chain={{
@@ -371,18 +249,12 @@ export function Home() {
371
249
  displayName: toToken?.symbol || '',
372
250
  image: toToken?.image || '',
373
251
  }}
374
- percentageChange={
375
- !!percentageChange?.lt(0)
376
- ? numberToString(
377
- percentageChange,
378
- PERCENTAGE_CHANGE_MIN_DECIMALS,
379
- PERCENTAGE_CHANGE_MAX_DECIMALS
380
- )
381
- : null
382
- }
383
- warningLevel={getPriceImpactLevel(
384
- percentageChange?.toNumber() ?? 0
252
+ percentageChange={numberToString(
253
+ getPriceImpact(inputUsdValue, outputUsdValue),
254
+ PERCENTAGE_CHANGE_MIN_DECIMALS,
255
+ PERCENTAGE_CHANGE_MAX_DECIMALS
385
256
  )}
257
+ warningLevel={getPriceImpactLevel(percentageChange ?? 0)}
386
258
  price={{
387
259
  value: numberToString(
388
260
  outputAmount,
@@ -401,88 +273,27 @@ export function Home() {
401
273
  : undefined,
402
274
  }}
403
275
  onClickToken={() => navigate('to-swap')}
404
- disabled={loadingMetaStatus === 'failed'}
405
- loading={loadingMetaStatus === 'loading'}
276
+ disabled={fetchMetaStatus === 'failed'}
277
+ loading={fetchMetaStatus === 'loading'}
406
278
  />
407
279
  </InputsContainer>
408
- {fetchingBestRoute && (
409
- <BestRouteContainer>
410
- <BestRouteSkeleton type="basic" />
411
- </BestRouteContainer>
412
- )}
413
- {showBestRoute &&
414
- !fetchingBestRoute &&
415
- bestRouteData?.result?.swaps?.length ? (
416
- <BestRouteContainer>
417
- <BestRoute
418
- type="basic"
419
- recommended={true}
420
- tooltipContainer={getContainer()}
421
- input={{
422
- value: numberToString(
423
- inputAmount,
424
- TOKEN_AMOUNT_MIN_DECIMALS,
425
- TOKEN_AMOUNT_MAX_DECIMALS
426
- ),
427
- usdValue: numberToString(
428
- inputUsdValue,
429
- USD_VALUE_MIN_DECIMALS,
430
- USD_VALUE_MAX_DECIMALS
431
- ),
432
- }}
433
- output={{
434
- value: numberToString(
435
- outputAmount,
436
- TOKEN_AMOUNT_MIN_DECIMALS,
437
- TOKEN_AMOUNT_MAX_DECIMALS
438
- ),
439
- usdValue: numberToString(
440
- outputUsdValue,
441
- USD_VALUE_MIN_DECIMALS,
442
- USD_VALUE_MAX_DECIMALS
443
- ),
444
- }}
445
- steps={getBestRouteSteps(bestRouteData.result.swaps)}
446
- percentageChange={numberToString(
447
- percentageChange,
448
- PERCENTAGE_CHANGE_MIN_DECIMALS,
449
- PERCENTAGE_CHANGE_MAX_DECIMALS
450
- )}
451
- totalFee={numberToString(
452
- totalFeeInUsd,
453
- GAS_FEE_MIN_DECIMALS,
454
- GAS_FEE_MAX_DECIMALS
455
- )}
456
- totalTime={secondsToString(
457
- totalArrivalTime(bestRoute?.result?.swaps)
458
- )}
459
- />
460
- </BestRouteContainer>
461
- ) : showBestRoute && !fetchingBestRoute ? (
462
- <>
463
- <Divider size={20} />
464
- <NoRoutes
465
- diagnosisMessage={bestRouteData?.diagnosisMessages?.[0]}
466
- fetch={refetchBestRoute}
467
- error={!!bestRouteError}
468
- />
469
- </>
470
- ) : null}
280
+ <QuoteInfo
281
+ quote={quote}
282
+ loading={fetchingQuote}
283
+ error={quoteError}
284
+ warning={quoteWarning}
285
+ type="basic"
286
+ refetchQuote={fetchQuote}
287
+ showWarningModal={showQuoteWarningModal}
288
+ onOpenWarningModal={() => setShowQuoteWarningModal(true)}
289
+ onCloseWarningModal={() => setShowQuoteWarningModal(false)}
290
+ onConfirmWarningModal={() => {
291
+ setShowQuoteWarningModal(false);
292
+ setQuoteWarningsConfirmed(true);
293
+ navigate(navigationRoutes.confirmSwap);
294
+ }}
295
+ />
471
296
  </Container>
472
- <RouteErrors
473
- openModal={openWarningModal}
474
- onToggle={setOpenWarningModal}
475
- totalFeeInUsd={totalFeeInUsd}
476
- outputUsdValue={outputUsdValue}
477
- inputUsdValue={inputUsdValue}
478
- percentageChange={percentageChange}
479
- highValueLoss={highValueLoss}
480
- priceImpactCanNotBeComputed={
481
- priceImpactInputCanNotBeComputed || priceImpactOutputCanNotBeComputed
482
- }
483
- loading={fetchingBestRoute || loadingMetaStatus === 'loading'}
484
- extraSpace={!!bestRoute?.result || !bestRoute}
485
- />
486
297
  </Layout>
487
298
  );
488
299
  }
@@ -38,7 +38,7 @@ export function LanguagePage() {
38
38
  return (
39
39
  <Layout
40
40
  header={{
41
- onBack: navigateBackFrom.bind(null, navigationRoutes.settings),
41
+ onBack: () => navigateBackFrom(navigationRoutes.settings),
42
42
  title: i18n.t('Language'),
43
43
  }}>
44
44
  <SettingsContainer>
@@ -25,30 +25,23 @@ import {
25
25
  } from '../components/SettingsContainer';
26
26
  import { navigationRoutes } from '../constants/navigationRoutes';
27
27
  import { useNavigateBack } from '../hooks/useNavigateBack';
28
- import { useMetaStore } from '../store/meta';
28
+ import { useAppStore } from '../store/AppStore';
29
29
  import { useSettingsStore } from '../store/settings';
30
30
  import { containsText } from '../utils/numbers';
31
- import {
32
- getUniqueSwappersGroups,
33
- sortLiquiditySourcesByGroupTitle,
34
- } from '../utils/settings';
31
+ import { getUniqueSwappersGroups } from '../utils/settings';
35
32
 
36
33
  interface PropTypes {
37
- supportedSwappers?: string[];
38
34
  sourceType: 'Exchanges' | 'Bridges';
39
35
  }
40
36
 
41
- export function LiquiditySourcePage({
42
- supportedSwappers,
43
- sourceType,
44
- }: PropTypes) {
37
+ export function LiquiditySourcePage({ sourceType }: PropTypes) {
38
+ const fetchStatus = useAppStore().fetchStatus;
39
+ const swappers = useAppStore().swappers();
45
40
  const [searchedFor, setSearchedFor] = useState<string>('');
46
41
  const toggleLiquiditySource = useSettingsStore.use.toggleLiquiditySource();
47
42
  const { navigateBackFrom } = useNavigateBack();
48
- const loadingMetaStatus = useMetaStore.use.loadingStatus();
49
-
50
43
  const supportedUniqueSwappersGroups: Array<UniqueSwappersGroupType> =
51
- getUniqueSwappersGroups(supportedSwappers);
44
+ getUniqueSwappersGroups(swappers);
52
45
 
53
46
  const validTypes: Array<LiquiditySourceType> = [];
54
47
  if (sourceType === 'Exchanges') {
@@ -79,22 +72,20 @@ export function LiquiditySourcePage({
79
72
  });
80
73
  };
81
74
 
82
- const list = liquiditySources
83
- .sort(sortLiquiditySourcesByGroupTitle)
84
- .map((sourceItem) => {
85
- const { selected, groupTitle, logo } = sourceItem;
86
- return {
87
- start: <Image src={logo} size={22} type="circular" />,
88
- onClick: () => toggleLiquiditySource(groupTitle),
89
- end: <Checkbox checked={selected} />,
90
- title: (
91
- <Typography variant="title" size="xmedium">
92
- {i18n.t(groupTitle)}
93
- </Typography>
94
- ),
95
- ...sourceItem,
96
- };
97
- });
75
+ const list = liquiditySources.map((sourceItem) => {
76
+ const { selected, groupTitle, logo } = sourceItem;
77
+ return {
78
+ start: <Image src={logo} size={22} type="circular" />,
79
+ onClick: () => toggleLiquiditySource(groupTitle),
80
+ end: <Checkbox checked={selected} />,
81
+ title: (
82
+ <Typography variant="title" size="xmedium">
83
+ {i18n.t(groupTitle)}
84
+ </Typography>
85
+ ),
86
+ ...sourceItem,
87
+ };
88
+ });
98
89
 
99
90
  const searchHandler = (event: React.ChangeEvent<HTMLInputElement>) => {
100
91
  const value = event.target.value;
@@ -111,7 +102,7 @@ export function LiquiditySourcePage({
111
102
  return (
112
103
  <Layout
113
104
  header={{
114
- onBack: navigateBackFrom.bind(null, navigationRoutes.settings),
105
+ onBack: () => navigateBackFrom(navigationRoutes.settings),
115
106
  title: i18n.t(sourceType),
116
107
  suffix: (
117
108
  <LiquiditySourceSuffix>
@@ -131,7 +122,7 @@ export function LiquiditySourcePage({
131
122
  placeholder={i18n.t('Search {sourceType}', { sourceType })}
132
123
  onChange={searchHandler}
133
124
  />
134
- {loadingMetaStatus === 'loading' && <LoadingLiquiditySourceList />}
125
+ {fetchStatus === 'loading' && <LoadingLiquiditySourceList />}
135
126
 
136
127
  {!filteredList.length && !!searchedFor ? (
137
128
  <NotFoundContainer>
@@ -141,7 +132,7 @@ export function LiquiditySourcePage({
141
132
  />
142
133
  </NotFoundContainer>
143
134
  ) : (
144
- loadingMetaStatus === 'success' && (
135
+ fetchStatus === 'success' && (
145
136
  <LiquiditySourceList>
146
137
  {filteredList.map((sourceItem) => {
147
138
  return (
@@ -7,9 +7,8 @@ import { Layout } from '../components/Layout';
7
7
  import { SearchInput } from '../components/SearchInput';
8
8
  import { navigationRoutes } from '../constants/navigationRoutes';
9
9
  import { useNavigateBack } from '../hooks/useNavigateBack';
10
- import { useAppStore } from '../store/app';
11
- import { useBestRouteStore } from '../store/bestRoute';
12
- import { useMetaStore } from '../store/meta';
10
+ import { useAppStore } from '../store/AppStore';
11
+ import { useQuoteStore } from '../store/quote';
13
12
 
14
13
  interface PropTypes {
15
14
  type: 'source' | 'destination';
@@ -20,9 +19,9 @@ export function SelectBlockchainPage(props: PropTypes) {
20
19
  const { navigateBackFrom } = useNavigateBack();
21
20
  const [searchedFor, setSearchedFor] = useState<string>('');
22
21
  const [blockchainCategory, setBlockchainCategory] = useState<string>('ALL');
23
- const setToBlockchain = useBestRouteStore.use.setToBlockchain();
24
- const setFromBlockchain = useBestRouteStore.use.setFromBlockchain();
25
- const { loadingStatus } = useMetaStore();
22
+ const setToBlockchain = useQuoteStore.use.setToBlockchain();
23
+ const setFromBlockchain = useQuoteStore.use.setFromBlockchain();
24
+ const fetchStatus = useAppStore().fetchStatus;
26
25
 
27
26
  const blockchains = useAppStore().blockchains({
28
27
  type: type,
@@ -42,7 +41,7 @@ export function SelectBlockchainPage(props: PropTypes) {
42
41
  setCategory={setBlockchainCategory}
43
42
  category={blockchainCategory}
44
43
  blockchains={blockchains}
45
- isLoading={loadingStatus === 'loading'}
44
+ isLoading={fetchStatus === 'loading'}
46
45
  />
47
46
  <Divider size={24} />
48
47
  <SearchInput
@@ -11,8 +11,8 @@ import { SearchInput } from '../components/SearchInput';
11
11
  import { TokenList } from '../components/TokenList/TokenList';
12
12
  import { navigationRoutes } from '../constants/navigationRoutes';
13
13
  import { useNavigateBack } from '../hooks/useNavigateBack';
14
- import { useAppStore } from '../store/app';
15
- import { useBestRouteStore } from '../store/bestRoute';
14
+ import { useAppStore } from '../store/AppStore';
15
+ import { useQuoteStore } from '../store/quote';
16
16
  import { useWalletsStore } from '../store/wallets';
17
17
  import { getTokensBalanceFromWalletAndSort } from '../utils/wallets';
18
18
 
@@ -31,7 +31,7 @@ export function SelectSwapItemsPage(props: PropTypes) {
31
31
  setToToken,
32
32
  setFromBlockchain,
33
33
  setToBlockchain,
34
- } = useBestRouteStore();
34
+ } = useQuoteStore();
35
35
  const { connectedWallets } = useWalletsStore();
36
36
  const [searchedFor, setSearchedFor] = useState<string>('');
37
37
 
@@ -63,9 +63,9 @@ export function SelectSwapItemsPage(props: PropTypes) {
63
63
 
64
64
  const updateToken = (token: Token) => {
65
65
  if (type === 'source') {
66
- setFromToken(token);
66
+ setFromToken({ token, meta: { blockchains, tokens } });
67
67
  } else {
68
- setToToken(token);
68
+ setToToken({ token, meta: { blockchains, tokens } });
69
69
  }
70
70
  };
71
71
 
@@ -19,26 +19,22 @@ import { Slippage } from '../components/Slippage';
19
19
  import { SlippageTooltipContainer as TooltipContainer } from '../components/Slippage/Slippage.styles';
20
20
  import { navigationRoutes } from '../constants/navigationRoutes';
21
21
  import { useNavigateBack } from '../hooks/useNavigateBack';
22
- import { useMetaStore } from '../store/meta';
22
+ import { useAppStore } from '../store/AppStore';
23
23
  import { useSettingsStore } from '../store/settings';
24
24
  import { getContainer } from '../utils/common';
25
25
  import { getUniqueSwappersGroups } from '../utils/settings';
26
26
 
27
- interface PropTypes {
28
- supportedSwappers?: string[];
29
- singleTheme?: boolean;
30
- }
31
-
32
- export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
27
+ export function SettingsPage() {
33
28
  const navigate = useNavigate();
29
+ const { theme } = useAppStore().config;
30
+ const fetchStatus = useAppStore().fetchStatus;
31
+ const swappers = useAppStore().swappers();
34
32
  const { navigateBackFrom } = useNavigateBack();
35
33
 
36
34
  const infiniteApprove = useSettingsStore.use.infiniteApprove();
37
35
  const toggleInfiniteApprove = useSettingsStore.use.toggleInfiniteApprove();
38
- const loadingMetaStatus = useMetaStore.use.loadingStatus();
39
36
 
40
- const supportedUniqueSwappersGroups =
41
- getUniqueSwappersGroups(supportedSwappers);
37
+ const supportedUniqueSwappersGroups = getUniqueSwappersGroups(swappers);
42
38
 
43
39
  const bridgeSources = supportedUniqueSwappersGroups.filter(
44
40
  (uniqueItem) =>
@@ -58,7 +54,7 @@ export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
58
54
  ).length;
59
55
 
60
56
  const handleEndItem = (totalSelected: number, total: number) => {
61
- switch (loadingMetaStatus) {
57
+ switch (fetchStatus) {
62
58
  case 'loading':
63
59
  return <Skeleton variant="text" size="medium" width={50} />;
64
60
  case 'failed':
@@ -167,7 +163,7 @@ export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
167
163
  exchangeItem,
168
164
  // languageItem
169
165
  ];
170
- if (!singleTheme) {
166
+ if (!theme?.singleTheme) {
171
167
  settingItems.push(themeItem);
172
168
  }
173
169
  settingItems.push(infiniteApprovalItem);
@@ -175,7 +171,7 @@ export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
175
171
  return (
176
172
  <Layout
177
173
  header={{
178
- onBack: navigateBackFrom.bind(null, navigationRoutes.settings),
174
+ onBack: () => navigateBackFrom(navigationRoutes.settings),
179
175
  title: i18n.t('Setting'),
180
176
  }}>
181
177
  <SettingsContainer>