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

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 (325) 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/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  65. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  66. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  67. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  68. package/dist/components/UpdateUrl.d.ts +1 -6
  69. package/dist/components/UpdateUrl.d.ts.map +1 -1
  70. package/dist/components/WidgetEvents.d.ts.map +1 -1
  71. package/dist/constants/errors.d.ts +4 -4
  72. package/dist/constants/errors.d.ts.map +1 -1
  73. package/dist/constants/messages.d.ts +1 -1
  74. package/dist/constants/searchParams.d.ts +2 -1
  75. package/dist/constants/searchParams.d.ts.map +1 -1
  76. package/dist/constants/warnings.d.ts +2 -2
  77. package/dist/constants/warnings.d.ts.map +1 -1
  78. package/dist/containers/App/App.d.ts +3 -0
  79. package/dist/containers/App/App.d.ts.map +1 -0
  80. package/dist/containers/App/App.styles.d.ts +158 -0
  81. package/dist/containers/App/App.styles.d.ts.map +1 -0
  82. package/dist/containers/App/index.d.ts +2 -0
  83. package/dist/containers/App/index.d.ts.map +1 -0
  84. package/dist/containers/QuoteInfo/QuoteInfo.d.ts +4 -0
  85. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -0
  86. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +472 -0
  87. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -0
  88. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +17 -0
  89. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -0
  90. package/dist/containers/QuoteInfo/index.d.ts +2 -0
  91. package/dist/containers/QuoteInfo/index.d.ts.map +1 -0
  92. package/dist/containers/Wallets/Wallets.d.ts +6 -0
  93. package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
  94. package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
  95. package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
  96. package/dist/containers/Wallets/index.d.ts +2 -0
  97. package/dist/containers/Wallets/index.d.ts.map +1 -0
  98. package/dist/containers/Widget/Widget.d.ts +5 -0
  99. package/dist/containers/Widget/Widget.d.ts.map +1 -0
  100. package/dist/containers/Widget/Widget.types.d.ts +5 -0
  101. package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
  102. package/dist/containers/Widget/index.d.ts +3 -0
  103. package/dist/containers/Widget/index.d.ts.map +1 -0
  104. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
  105. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
  106. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +5 -0
  107. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
  108. package/dist/containers/WidgetInfo/index.d.ts +2 -0
  109. package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
  110. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
  111. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  112. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
  113. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
  114. package/dist/containers/WidgetProvider/index.d.ts +2 -0
  115. package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
  116. package/dist/hooks/useConfirmSwap/index.d.ts +2 -0
  117. package/dist/hooks/useConfirmSwap/index.d.ts.map +1 -0
  118. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts +3 -0
  119. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -0
  120. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +16 -0
  121. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -0
  122. package/dist/hooks/{useConfirmSwap.d.ts → useConfirmSwap/useConfirmSwap.types.d.ts} +5 -7
  123. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -0
  124. package/dist/hooks/{useFetchBestRoute.d.ts → useFetchQuote.d.ts} +3 -3
  125. package/dist/hooks/useFetchQuote.d.ts.map +1 -0
  126. package/dist/hooks/useForceAutoConnect.d.ts +2 -0
  127. package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
  128. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +2 -2
  129. package/dist/hooks/useSwapInput.d.ts +4 -2
  130. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  131. package/dist/hooks/useSyncStoresWithConfig.d.ts +1 -2
  132. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  133. package/dist/hooks/useWalletList.d.ts.map +1 -1
  134. package/dist/index.d.ts +11 -4
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.js +1 -1
  137. package/dist/index.js.map +4 -4
  138. package/dist/pages/ConfirmSwapPage.d.ts +1 -6
  139. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  140. package/dist/pages/Home.d.ts.map +1 -1
  141. package/dist/pages/LiquiditySourcePage.d.ts +1 -2
  142. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  143. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  144. package/dist/pages/SettingsPage.d.ts +1 -6
  145. package/dist/pages/SettingsPage.d.ts.map +1 -1
  146. package/dist/pages/WalletsPage.d.ts +1 -8
  147. package/dist/pages/WalletsPage.d.ts.map +1 -1
  148. package/dist/store/AppStore.d.ts +11 -0
  149. package/dist/store/AppStore.d.ts.map +1 -0
  150. package/dist/store/app.d.ts +5 -23
  151. package/dist/store/app.d.ts.map +1 -1
  152. package/dist/store/{bestRoute.d.ts → quote.d.ts} +39 -27
  153. package/dist/store/quote.d.ts.map +1 -0
  154. package/dist/store/settings.d.ts +3 -2
  155. package/dist/store/settings.d.ts.map +1 -1
  156. package/dist/store/slices/config.d.ts +3 -2
  157. package/dist/store/slices/config.d.ts.map +1 -1
  158. package/dist/store/slices/data.d.ts +3 -0
  159. package/dist/store/slices/data.d.ts.map +1 -1
  160. package/dist/store/wallets.d.ts +5 -4
  161. package/dist/store/wallets.d.ts.map +1 -1
  162. package/dist/types/config.d.ts +5 -5
  163. package/dist/types/config.d.ts.map +1 -1
  164. package/dist/types/index.d.ts +1 -1
  165. package/dist/types/index.d.ts.map +1 -1
  166. package/dist/types/quote.d.ts +82 -0
  167. package/dist/types/quote.d.ts.map +1 -0
  168. package/dist/utils/colors.d.ts.map +1 -1
  169. package/dist/utils/numbers.d.ts +1 -1
  170. package/dist/utils/numbers.d.ts.map +1 -1
  171. package/dist/utils/{routing.d.ts → quote.d.ts} +16 -12
  172. package/dist/utils/quote.d.ts.map +1 -0
  173. package/dist/utils/settings.d.ts +3 -2
  174. package/dist/utils/settings.d.ts.map +1 -1
  175. package/dist/utils/swap.d.ts +25 -22
  176. package/dist/utils/swap.d.ts.map +1 -1
  177. package/dist/utils/wallets.d.ts +2 -2
  178. package/dist/utils/wallets.d.ts.map +1 -1
  179. package/package.json +6 -6
  180. package/src/QueueManager.tsx +17 -17
  181. package/src/components/AppRouter.tsx +6 -5
  182. package/src/components/AppRoutes.tsx +6 -39
  183. package/src/components/BlockchainList/BlockchainList.tsx +4 -4
  184. package/src/components/BlockchainsSection/BlockchainsSection.tsx +7 -7
  185. package/src/components/ConfirmWalletsModal/ConfirmWallets.helpers.ts +2 -64
  186. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +28 -40
  187. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +1 -3
  188. package/src/components/ConfirmWalletsModal/WalletList.tsx +6 -5
  189. package/src/components/ConfirmWalletsModal/WalletList.type.ts +1 -4
  190. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +3 -3
  191. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +6 -6
  192. package/src/components/{NoRoutes/NoRoutes.helper.ts → NoResult/NoResult.helpers.ts} +16 -9
  193. package/src/components/{NoRoutes/NoRoutes.styles.ts → NoResult/NoResult.styles.ts} +2 -0
  194. package/src/components/{NoRoutes/NoRoutes.tsx → NoResult/NoResult.tsx} +10 -12
  195. package/src/components/{NoRoutes/NoRoutes.types.ts → NoResult/NoResult.types.ts} +3 -2
  196. package/src/components/NoResult/index.ts +1 -0
  197. package/src/components/NotificationContent/NotificationContent.tsx +3 -2
  198. package/src/components/Quote/Quote.styles.ts +219 -0
  199. package/src/components/Quote/Quote.tsx +345 -0
  200. package/src/components/Quote/Quote.types.ts +16 -0
  201. package/src/components/Quote/QuoteSkeleton.styles.ts +110 -0
  202. package/src/components/Quote/QuoteSkeleton.tsx +108 -0
  203. package/src/components/Quote/QuoteSkeleton.types.ts +5 -0
  204. package/src/components/Quote/QuoteSummary.styles.ts +15 -0
  205. package/src/components/Quote/QuoteSummary.tsx +46 -0
  206. package/src/components/Quote/index.ts +3 -0
  207. package/src/components/QuoteWarningsAndErrors/HighValueLossWarningModal.tsx +107 -0
  208. package/src/components/{RouteErrors/RouteErrorsModalItem.tsx → QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx} +4 -4
  209. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +67 -0
  210. package/src/components/{RouteErrors/RouteErrors.styles.ts → QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts} +8 -1
  211. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +103 -0
  212. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +24 -0
  213. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +77 -0
  214. package/src/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.tsx +38 -0
  215. package/src/components/QuoteWarningsAndErrors/index.ts +1 -0
  216. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +1 -1
  217. package/src/components/SwapDetails/SwapDetails.tsx +18 -22
  218. package/src/components/SwapsGroup/SwapsGroup.styles.ts +8 -1
  219. package/src/components/SwapsGroup/SwapsGroup.tsx +0 -2
  220. package/src/components/SwitchFromAndTo.tsx +2 -2
  221. package/src/components/TokenList/TokenList.styles.ts +14 -2
  222. package/src/components/TokenList/TokenList.tsx +6 -7
  223. package/src/components/UpdateUrl.tsx +36 -26
  224. package/src/components/WidgetEvents.tsx +4 -2
  225. package/src/constants/errors.ts +8 -10
  226. package/src/constants/messages.ts +1 -1
  227. package/src/constants/searchParams.ts +1 -0
  228. package/src/constants/warnings.ts +7 -7
  229. package/src/containers/App/App.styles.ts +18 -0
  230. package/src/containers/App/App.tsx +65 -0
  231. package/src/containers/App/index.ts +1 -0
  232. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +15 -0
  233. package/src/containers/QuoteInfo/QuoteInfo.tsx +97 -0
  234. package/src/containers/QuoteInfo/QuoteInfo.types.ts +17 -0
  235. package/src/containers/QuoteInfo/index.ts +1 -0
  236. package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +40 -32
  237. package/src/containers/Wallets/Wallets.types.ts +12 -0
  238. package/src/containers/Wallets/index.ts +1 -0
  239. package/src/containers/Widget/Widget.tsx +19 -0
  240. package/src/containers/Widget/Widget.types.ts +5 -0
  241. package/src/containers/Widget/index.ts +2 -0
  242. package/src/containers/WidgetInfo/WidgetInfo.tsx +36 -0
  243. package/src/containers/WidgetInfo/WidgetInfo.types.ts +5 -0
  244. package/src/containers/WidgetInfo/index.ts +1 -0
  245. package/src/containers/WidgetProvider/WidgetProvider.tsx +19 -0
  246. package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
  247. package/src/containers/WidgetProvider/index.ts +1 -0
  248. package/src/hooks/useConfirmSwap/index.ts +1 -0
  249. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +168 -0
  250. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +136 -0
  251. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +19 -0
  252. package/src/hooks/{useFetchBestRoute.ts → useFetchQuote.ts} +3 -3
  253. package/src/hooks/useForceAutoConnect.ts +27 -0
  254. package/src/hooks/useNavigateBack.ts +3 -3
  255. package/src/hooks/useSwapInput.ts +58 -23
  256. package/src/hooks/useSyncStoresWithConfig.ts +22 -19
  257. package/src/hooks/useWalletList.ts +3 -5
  258. package/src/index.ts +12 -3
  259. package/src/pages/ConfirmSwapPage.tsx +58 -235
  260. package/src/pages/HistoryPage.tsx +1 -1
  261. package/src/pages/Home.tsx +58 -247
  262. package/src/pages/LanguagePage.tsx +1 -1
  263. package/src/pages/LiquiditySourcePage.tsx +23 -32
  264. package/src/pages/SelectBlockchainPage.tsx +6 -7
  265. package/src/pages/SelectSwapItemsPage.tsx +5 -5
  266. package/src/pages/SettingsPage.tsx +9 -13
  267. package/src/pages/SwapDetailsPage.tsx +3 -3
  268. package/src/pages/ThemePage.tsx +1 -1
  269. package/src/pages/WalletsPage.tsx +5 -12
  270. package/src/store/AppStore.tsx +35 -0
  271. package/src/store/app.ts +18 -6
  272. package/src/store/{bestRoute.ts → quote.ts} +68 -60
  273. package/src/store/settings.ts +7 -4
  274. package/src/store/slices/config.ts +25 -15
  275. package/src/store/slices/data.ts +64 -29
  276. package/src/store/wallets.ts +11 -8
  277. package/src/types/config.ts +5 -5
  278. package/src/types/index.ts +1 -1
  279. package/src/types/quote.ts +107 -0
  280. package/src/utils/colors.ts +2 -1
  281. package/src/utils/numbers.ts +1 -1
  282. package/src/utils/quote.ts +338 -0
  283. package/src/utils/settings.ts +8 -7
  284. package/src/utils/swap.ts +113 -85
  285. package/src/utils/wallets.ts +29 -17
  286. package/dist/Wallets.d.ts +0 -17
  287. package/dist/Wallets.d.ts.map +0 -1
  288. package/dist/Widget.d.ts +0 -9
  289. package/dist/Widget.d.ts.map +0 -1
  290. package/dist/components/NoRoutes/NoRoutes.d.ts +0 -4
  291. package/dist/components/NoRoutes/NoRoutes.d.ts.map +0 -1
  292. package/dist/components/NoRoutes/NoRoutes.helper.d.ts +0 -3
  293. package/dist/components/NoRoutes/NoRoutes.helper.d.ts.map +0 -1
  294. package/dist/components/NoRoutes/NoRoutes.types.d.ts.map +0 -1
  295. package/dist/components/NoRoutes/index.d.ts +0 -2
  296. package/dist/components/NoRoutes/index.d.ts.map +0 -1
  297. package/dist/components/RouteErrors/RouteErrors.d.ts +0 -4
  298. package/dist/components/RouteErrors/RouteErrors.d.ts.map +0 -1
  299. package/dist/components/RouteErrors/RouteErrors.styles.d.ts.map +0 -1
  300. package/dist/components/RouteErrors/RouteErrors.types.d.ts +0 -24
  301. package/dist/components/RouteErrors/RouteErrors.types.d.ts.map +0 -1
  302. package/dist/components/RouteErrors/RouteErrorsModal.d.ts +0 -4
  303. package/dist/components/RouteErrors/RouteErrorsModal.d.ts.map +0 -1
  304. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts +0 -4
  305. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts.map +0 -1
  306. package/dist/components/RouteErrors/index.d.ts +0 -2
  307. package/dist/components/RouteErrors/index.d.ts.map +0 -1
  308. package/dist/hooks/useConfirmSwap.d.ts.map +0 -1
  309. package/dist/hooks/useFetchBestRoute.d.ts.map +0 -1
  310. package/dist/store/bestRoute.d.ts.map +0 -1
  311. package/dist/store/meta.d.ts +0 -23
  312. package/dist/store/meta.d.ts.map +0 -1
  313. package/dist/types/routing.d.ts +0 -65
  314. package/dist/types/routing.d.ts.map +0 -1
  315. package/dist/utils/routing.d.ts.map +0 -1
  316. package/src/Widget.tsx +0 -119
  317. package/src/components/NoRoutes/index.ts +0 -1
  318. package/src/components/RouteErrors/RouteErrors.tsx +0 -79
  319. package/src/components/RouteErrors/RouteErrors.types.ts +0 -29
  320. package/src/components/RouteErrors/RouteErrorsModal.tsx +0 -129
  321. package/src/components/RouteErrors/index.ts +0 -1
  322. package/src/hooks/useConfirmSwap.ts +0 -303
  323. package/src/store/meta.ts +0 -39
  324. package/src/types/routing.ts +0 -77
  325. package/src/utils/routing.ts +0 -321
@@ -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,16 +1,16 @@
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 (
12
12
  <Item>
13
- <Typography size="medium" variant="label" color="neutral600">
13
+ <Typography size="medium" variant="label" className="_title">
14
14
  {title}
15
15
  </Typography>
16
16
  <Typography
@@ -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
+ }
@@ -1,4 +1,4 @@
1
- import { styled } from '@rango-dev/ui';
1
+ import { darkTheme, styled } from '@rango-dev/ui';
2
2
 
3
3
  export const Alerts = styled('div', {
4
4
  width: '100%',
@@ -19,6 +19,13 @@ export const Item = styled('div', {
19
19
  justifyContent: 'space-between',
20
20
  alignItems: 'center',
21
21
  width: '100%',
22
+ '._title': {
23
+ $$color: '$colors$neutral600',
24
+ [`.${darkTheme} &`]: {
25
+ $$color: '$colors$neutral700',
26
+ },
27
+ color: '$$color',
28
+ },
22
29
  });
23
30
 
24
31
  export const Action = styled('div', {
@@ -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,9 +1,16 @@
1
- import { styled } from '@rango-dev/ui';
1
+ import { darkTheme, styled } from '@rango-dev/ui';
2
2
 
3
3
  export const Group = styled('div', {
4
4
  width: '100%',
5
5
  display: 'flex',
6
6
  flexDirection: 'column',
7
+ '.group-title': {
8
+ $$color: '$colors$neutral600',
9
+ [`.${darkTheme} &`]: {
10
+ $$color: '$colors$neutral700',
11
+ },
12
+ color: '$$color',
13
+ },
7
14
  });
8
15
 
9
16
  export const Time = styled('div', {
@@ -34,7 +34,6 @@ export function SwapsGroup(props: PropTypes) {
34
34
  <Typography
35
35
  variant="label"
36
36
  size="medium"
37
- color="neutral600"
38
37
  className="group-title">
39
38
  {i18n.t(group.title)}
40
39
  </Typography>
@@ -68,7 +67,6 @@ export function SwapsGroup(props: PropTypes) {
68
67
  <Typography
69
68
  variant="label"
70
69
  size="medium"
71
- color="neutral600"
72
70
  className="group-title">
73
71
  {i18n.t(group.title)}
74
72
  </Typography>
@@ -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>