@rango-dev/widget-embedded 0.18.0 → 0.19.0

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 (476) hide show
  1. package/CHANGELOG.md +1 -113
  2. package/dist/QueueManager.d.ts +2 -5
  3. package/dist/QueueManager.d.ts.map +1 -1
  4. package/dist/Wallets.d.ts +17 -0
  5. package/dist/Wallets.d.ts.map +1 -0
  6. package/dist/Widget.d.ts +9 -0
  7. package/dist/Widget.d.ts.map +1 -0
  8. package/dist/components/AppRouter.d.ts +2 -0
  9. package/dist/components/AppRouter.d.ts.map +1 -1
  10. package/dist/components/AppRoutes.d.ts +6 -1
  11. package/dist/components/AppRoutes.d.ts.map +1 -1
  12. package/dist/components/BlockchainsSection/BlockchainsSection.d.ts.map +1 -1
  13. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts +1 -1
  14. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts.map +1 -1
  15. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts +3 -1
  16. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts.map +1 -1
  17. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +62 -691
  18. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -1
  19. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  20. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +3 -1
  21. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
  22. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  23. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +4 -1
  24. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
  25. package/dist/components/HeaderButtons/HomeButtons.d.ts.map +1 -1
  26. package/dist/components/Layout/Layout.d.ts.map +1 -1
  27. package/dist/components/Layout/Layout.styles.d.ts.map +1 -1
  28. package/dist/components/Layout/Layout.types.d.ts +2 -2
  29. package/dist/components/Layout/Layout.types.d.ts.map +1 -1
  30. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts +4 -0
  31. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts.map +1 -0
  32. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts.map +1 -1
  33. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +0 -1727
  34. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -1
  35. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts +4 -0
  36. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts.map +1 -0
  37. package/dist/components/NoRoutes/NoRoutes.d.ts +4 -0
  38. package/dist/components/NoRoutes/NoRoutes.d.ts.map +1 -0
  39. package/dist/components/NoRoutes/NoRoutes.helper.d.ts +3 -0
  40. package/dist/components/NoRoutes/NoRoutes.helper.d.ts.map +1 -0
  41. package/dist/components/{NoResult/NoResult.styles.d.ts → NoRoutes/NoRoutes.styles.d.ts} +1 -1
  42. package/dist/components/{NoResult/NoResult.styles.d.ts.map → NoRoutes/NoRoutes.styles.d.ts.map} +1 -1
  43. package/dist/components/{NoResult/NoResult.types.d.ts → NoRoutes/NoRoutes.types.d.ts} +3 -3
  44. package/dist/components/NoRoutes/NoRoutes.types.d.ts.map +1 -0
  45. package/dist/components/NoRoutes/index.d.ts +2 -0
  46. package/dist/components/NoRoutes/index.d.ts.map +1 -0
  47. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  48. package/dist/components/RouteErrors/RouteErrors.d.ts +4 -0
  49. package/dist/components/RouteErrors/RouteErrors.d.ts.map +1 -0
  50. package/dist/components/{QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts → RouteErrors/RouteErrors.styles.d.ts} +1 -1
  51. package/dist/components/RouteErrors/RouteErrors.styles.d.ts.map +1 -0
  52. package/dist/components/RouteErrors/RouteErrors.types.d.ts +24 -0
  53. package/dist/components/RouteErrors/RouteErrors.types.d.ts.map +1 -0
  54. package/dist/components/RouteErrors/RouteErrorsModal.d.ts +4 -0
  55. package/dist/components/RouteErrors/RouteErrorsModal.d.ts.map +1 -0
  56. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts +4 -0
  57. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts.map +1 -0
  58. package/dist/components/RouteErrors/index.d.ts +2 -0
  59. package/dist/components/RouteErrors/index.d.ts.map +1 -0
  60. package/dist/components/Slippage/Slippage.d.ts.map +1 -1
  61. package/dist/components/Slippage/Slippage.styles.d.ts +0 -158
  62. package/dist/components/Slippage/Slippage.styles.d.ts.map +1 -1
  63. package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
  64. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  65. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +1 -1
  66. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -1
  67. package/dist/components/SwapDetails/SwapDetails.styles.d.ts +0 -628
  68. package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -1
  69. package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
  70. package/dist/components/SwapDetailsModal/SwapDetailsModal.WalletState.d.ts.map +1 -1
  71. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts +1 -1
  72. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts.map +1 -1
  73. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +1 -1
  74. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -1
  75. package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  76. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts +0 -157
  77. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  78. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  79. package/dist/components/TokenList/TokenList.helpers.d.ts +2 -2
  80. package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -1
  81. package/dist/components/TokenList/TokenList.styles.d.ts +1 -1100
  82. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  83. package/dist/components/TokenList/TokenList.types.d.ts +9 -4
  84. package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
  85. package/dist/components/TokenList/index.d.ts +1 -0
  86. package/dist/components/TokenList/index.d.ts.map +1 -1
  87. package/dist/components/UpdateUrl.d.ts +6 -1
  88. package/dist/components/UpdateUrl.d.ts.map +1 -1
  89. package/dist/components/WidgetEvents.d.ts.map +1 -1
  90. package/dist/constants/errors.d.ts +4 -4
  91. package/dist/constants/errors.d.ts.map +1 -1
  92. package/dist/constants/index.d.ts +0 -1
  93. package/dist/constants/index.d.ts.map +1 -1
  94. package/dist/constants/messages.d.ts +1 -1
  95. package/dist/constants/navigationRoutes.d.ts +2 -1
  96. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  97. package/dist/constants/searchParams.d.ts +1 -2
  98. package/dist/constants/searchParams.d.ts.map +1 -1
  99. package/dist/constants/warnings.d.ts +2 -2
  100. package/dist/constants/warnings.d.ts.map +1 -1
  101. package/dist/hooks/{useConfirmSwap/useConfirmSwap.types.d.ts → useConfirmSwap.d.ts} +7 -5
  102. package/dist/hooks/useConfirmSwap.d.ts.map +1 -0
  103. package/dist/hooks/{useFetchQuote.d.ts → useFetchBestRoute.d.ts} +3 -3
  104. package/dist/hooks/useFetchBestRoute.d.ts.map +1 -0
  105. package/dist/hooks/useLanguage.d.ts +1 -1
  106. package/dist/hooks/useLanguage.d.ts.map +1 -1
  107. package/dist/hooks/useNavigateBack.d.ts +3 -1
  108. package/dist/hooks/useNavigateBack.d.ts.map +1 -1
  109. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
  110. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
  111. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
  112. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +7 -5
  113. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
  114. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +0 -1
  115. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
  116. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +1 -5
  117. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
  118. package/dist/hooks/useSwapInput.d.ts +2 -4
  119. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  120. package/dist/hooks/useSyncStoresWithConfig.d.ts +2 -1
  121. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  122. package/dist/hooks/useTheme.d.ts +1 -1
  123. package/dist/hooks/useTheme.d.ts.map +1 -1
  124. package/dist/hooks/useWalletList.d.ts.map +1 -1
  125. package/dist/index.d.ts +8 -20
  126. package/dist/index.d.ts.map +1 -1
  127. package/dist/index.js +1 -1
  128. package/dist/index.js.map +4 -4
  129. package/dist/pages/ConfirmSwapPage.d.ts +6 -1
  130. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  131. package/dist/pages/HistoryPage.d.ts.map +1 -1
  132. package/dist/pages/Home.d.ts.map +1 -1
  133. package/dist/pages/LanguagePage.d.ts.map +1 -1
  134. package/dist/pages/LiquiditySourcePage.d.ts +2 -1
  135. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  136. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  137. package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
  138. package/dist/pages/SettingsPage.d.ts +6 -1
  139. package/dist/pages/SettingsPage.d.ts.map +1 -1
  140. package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
  141. package/dist/pages/ThemePage.d.ts.map +1 -1
  142. package/dist/pages/WalletsPage.d.ts +8 -1
  143. package/dist/pages/WalletsPage.d.ts.map +1 -1
  144. package/dist/store/app.d.ts +22 -41
  145. package/dist/store/app.d.ts.map +1 -1
  146. package/dist/store/bestRoute.d.ts +77 -0
  147. package/dist/store/bestRoute.d.ts.map +1 -0
  148. package/dist/store/meta.d.ts +23 -0
  149. package/dist/store/meta.d.ts.map +1 -0
  150. package/dist/store/notification.d.ts +3 -4
  151. package/dist/store/notification.d.ts.map +1 -1
  152. package/dist/store/settings.d.ts +81 -0
  153. package/dist/store/settings.d.ts.map +1 -0
  154. package/dist/store/slices/config.d.ts +2 -3
  155. package/dist/store/slices/config.d.ts.map +1 -1
  156. package/dist/store/slices/data.d.ts +2 -5
  157. package/dist/store/slices/data.d.ts.map +1 -1
  158. package/dist/store/ui.d.ts +1 -2
  159. package/dist/store/ui.d.ts.map +1 -1
  160. package/dist/store/wallets.d.ts +9 -14
  161. package/dist/store/wallets.d.ts.map +1 -1
  162. package/dist/types/config.d.ts +8 -41
  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/routing.d.ts +65 -0
  167. package/dist/types/routing.d.ts.map +1 -0
  168. package/dist/types/swap.d.ts +14 -4
  169. package/dist/types/swap.d.ts.map +1 -1
  170. package/dist/types/wallets.d.ts +1 -15
  171. package/dist/types/wallets.d.ts.map +1 -1
  172. package/dist/utils/colors.d.ts.map +1 -1
  173. package/dist/utils/configs.d.ts +0 -1
  174. package/dist/utils/configs.d.ts.map +1 -1
  175. package/dist/utils/meta.d.ts +1 -2
  176. package/dist/utils/meta.d.ts.map +1 -1
  177. package/dist/utils/numbers.d.ts +1 -1
  178. package/dist/utils/numbers.d.ts.map +1 -1
  179. package/dist/utils/providers.d.ts +2 -2
  180. package/dist/utils/providers.d.ts.map +1 -1
  181. package/dist/utils/queue.d.ts +2 -2
  182. package/dist/utils/queue.d.ts.map +1 -1
  183. package/dist/utils/routing.d.ts +28 -0
  184. package/dist/utils/routing.d.ts.map +1 -0
  185. package/dist/utils/settings.d.ts +2 -6
  186. package/dist/utils/settings.d.ts.map +1 -1
  187. package/dist/utils/swap.d.ts +24 -35
  188. package/dist/utils/swap.d.ts.map +1 -1
  189. package/dist/utils/time.d.ts +1 -1
  190. package/dist/utils/time.d.ts.map +1 -1
  191. package/dist/utils/wallets.d.ts +10 -9
  192. package/dist/utils/wallets.d.ts.map +1 -1
  193. package/package.json +10 -12
  194. package/src/QueueManager.tsx +17 -18
  195. package/src/{containers/Wallets/Wallets.tsx → Wallets.tsx} +34 -48
  196. package/src/Widget.tsx +119 -0
  197. package/src/components/AppRouter.tsx +32 -8
  198. package/src/components/AppRoutes.tsx +69 -57
  199. package/src/components/BlockchainList/BlockchainList.styles.ts +2 -2
  200. package/src/components/BlockchainList/BlockchainList.tsx +4 -4
  201. package/src/components/BlockchainsSection/BlockchainsSection.styles.ts +1 -1
  202. package/src/components/BlockchainsSection/BlockchainsSection.tsx +17 -26
  203. package/src/components/ConfirmWalletsModal/ConfirmWallets.helpers.ts +64 -2
  204. package/src/components/ConfirmWalletsModal/ConfirmWallets.styles.ts +10 -29
  205. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +47 -43
  206. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +3 -1
  207. package/src/components/ConfirmWalletsModal/WalletList.tsx +8 -9
  208. package/src/components/ConfirmWalletsModal/WalletList.type.ts +4 -1
  209. package/src/components/HeaderButtons/HomeButtons.tsx +18 -28
  210. package/src/components/Layout/Layout.styles.ts +0 -2
  211. package/src/components/Layout/Layout.tsx +7 -20
  212. package/src/components/Layout/Layout.types.ts +2 -2
  213. package/src/components/LoadingSwapDetails/LoadingSwapDetailStep.tsx +41 -0
  214. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +61 -65
  215. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +34 -28
  216. package/src/components/LoadingSwapDetails/LoadingSwapDetails.types.ts +3 -0
  217. package/src/components/{NoResult/NoResult.helpers.ts → NoRoutes/NoRoutes.helper.ts} +16 -23
  218. package/src/components/{NoResult/NoResult.styles.ts → NoRoutes/NoRoutes.styles.ts} +0 -2
  219. package/src/components/{NoResult/NoResult.tsx → NoRoutes/NoRoutes.tsx} +17 -12
  220. package/src/components/{NoResult/NoResult.types.ts → NoRoutes/NoRoutes.types.ts} +2 -3
  221. package/src/components/NoRoutes/index.ts +1 -0
  222. package/src/components/NotificationContent/NotificationContent.tsx +3 -5
  223. package/src/components/{QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts → RouteErrors/RouteErrors.styles.ts} +1 -8
  224. package/src/components/RouteErrors/RouteErrors.tsx +79 -0
  225. package/src/components/RouteErrors/RouteErrors.types.ts +29 -0
  226. package/src/components/RouteErrors/RouteErrorsModal.tsx +129 -0
  227. package/src/components/{QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx → RouteErrors/RouteErrorsModalItem.tsx} +4 -4
  228. package/src/components/RouteErrors/index.ts +1 -0
  229. package/src/components/Slippage/Slippage.styles.ts +5 -15
  230. package/src/components/Slippage/Slippage.tsx +10 -11
  231. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +8 -5
  232. package/src/components/SwapDetails/SwapDetails.helpers.tsx +1 -1
  233. package/src/components/SwapDetails/SwapDetails.styles.ts +33 -36
  234. package/src/components/SwapDetails/SwapDetails.tsx +56 -41
  235. package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +1 -1
  236. package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +3 -4
  237. package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
  238. package/src/components/SwapDetailsModal/SwapDetailsModal.WalletState.tsx +8 -14
  239. package/src/components/SwapDetailsModal/SwapDetailsModal.helpers.tsx +1 -1
  240. package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +1 -1
  241. package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +1 -1
  242. package/src/components/SwapsGroup/SwapsGroup.styles.ts +1 -10
  243. package/src/components/SwapsGroup/SwapsGroup.tsx +5 -3
  244. package/src/components/SwitchFromAndTo.tsx +2 -2
  245. package/src/components/TokenList/TokenList.helpers.ts +2 -2
  246. package/src/components/TokenList/TokenList.styles.ts +38 -74
  247. package/src/components/TokenList/TokenList.tsx +26 -35
  248. package/src/components/TokenList/TokenList.types.ts +10 -4
  249. package/src/components/TokenList/index.ts +1 -0
  250. package/src/components/UpdateUrl.tsx +30 -35
  251. package/src/components/WidgetEvents.tsx +2 -4
  252. package/src/constants/errors.ts +15 -17
  253. package/src/constants/index.ts +0 -1
  254. package/src/constants/messages.ts +1 -1
  255. package/src/constants/navigationRoutes.ts +8 -7
  256. package/src/constants/searchParams.ts +0 -1
  257. package/src/constants/warnings.ts +7 -7
  258. package/src/hooks/useConfirmSwap.ts +303 -0
  259. package/src/hooks/{useFetchQuote.ts → useFetchBestRoute.ts} +3 -3
  260. package/src/hooks/useLanguage.ts +5 -4
  261. package/src/hooks/useNavigateBack.ts +52 -3
  262. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
  263. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +7 -37
  264. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +0 -60
  265. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +3 -78
  266. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +6 -15
  267. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +1 -6
  268. package/src/hooks/useSwapInput.ts +48 -141
  269. package/src/hooks/useSyncStoresWithConfig.ts +24 -40
  270. package/src/hooks/useTheme.ts +5 -4
  271. package/src/hooks/useWalletList.ts +5 -3
  272. package/src/index.ts +5 -53
  273. package/src/pages/ConfirmSwapPage.tsx +266 -117
  274. package/src/pages/HistoryPage.tsx +7 -2
  275. package/src/pages/Home.tsx +303 -88
  276. package/src/pages/LanguagePage.tsx +5 -0
  277. package/src/pages/LiquiditySourcePage.tsx +37 -24
  278. package/src/pages/SelectBlockchainPage.tsx +24 -31
  279. package/src/pages/SelectSwapItemsPage.tsx +31 -18
  280. package/src/pages/SettingsPage.tsx +27 -32
  281. package/src/pages/SwapDetailsPage.tsx +7 -6
  282. package/src/pages/ThemePage.tsx +7 -2
  283. package/src/pages/WalletsPage.tsx +19 -9
  284. package/src/services/httpService.ts +1 -1
  285. package/src/store/app.ts +6 -44
  286. package/src/store/{quote.ts → bestRoute.ts} +64 -71
  287. package/src/store/meta.ts +39 -0
  288. package/src/store/settings.ts +158 -0
  289. package/src/store/slices/config.ts +15 -26
  290. package/src/store/slices/data.ts +35 -74
  291. package/src/store/wallets.ts +37 -68
  292. package/src/types/config.ts +8 -53
  293. package/src/types/index.ts +1 -1
  294. package/src/types/routing.ts +77 -0
  295. package/src/types/swap.ts +13 -4
  296. package/src/types/wallets.ts +1 -18
  297. package/src/utils/colors.ts +1 -2
  298. package/src/utils/configs.ts +1 -2
  299. package/src/utils/date.ts +1 -1
  300. package/src/utils/meta.ts +1 -8
  301. package/src/utils/numbers.ts +1 -1
  302. package/src/utils/providers.ts +5 -8
  303. package/src/utils/queue.ts +2 -2
  304. package/src/utils/routing.ts +321 -0
  305. package/src/utils/settings.ts +10 -17
  306. package/src/utils/swap.ts +120 -154
  307. package/src/utils/time.ts +1 -1
  308. package/src/utils/wallets.ts +161 -156
  309. package/dist/components/NoResult/NoResult.d.ts +0 -4
  310. package/dist/components/NoResult/NoResult.d.ts.map +0 -1
  311. package/dist/components/NoResult/NoResult.helpers.d.ts +0 -4
  312. package/dist/components/NoResult/NoResult.helpers.d.ts.map +0 -1
  313. package/dist/components/NoResult/NoResult.types.d.ts.map +0 -1
  314. package/dist/components/NoResult/index.d.ts +0 -2
  315. package/dist/components/NoResult/index.d.ts.map +0 -1
  316. package/dist/components/Quote/Quote.d.ts +0 -4
  317. package/dist/components/Quote/Quote.d.ts.map +0 -1
  318. package/dist/components/Quote/Quote.styles.d.ts +0 -2217
  319. package/dist/components/Quote/Quote.styles.d.ts.map +0 -1
  320. package/dist/components/Quote/Quote.types.d.ts +0 -21
  321. package/dist/components/Quote/Quote.types.d.ts.map +0 -1
  322. package/dist/components/Quote/QuoteSummary.d.ts +0 -11
  323. package/dist/components/Quote/QuoteSummary.d.ts.map +0 -1
  324. package/dist/components/Quote/QuoteSummary.styles.d.ts +0 -315
  325. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +0 -1
  326. package/dist/components/Quote/index.d.ts +0 -3
  327. package/dist/components/Quote/index.d.ts.map +0 -1
  328. package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts +0 -4
  329. package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts.map +0 -1
  330. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts +0 -633
  331. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts.map +0 -1
  332. package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts +0 -6
  333. package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts.map +0 -1
  334. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts +0 -4
  335. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts.map +0 -1
  336. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts +0 -1571
  337. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts.map +0 -1
  338. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts +0 -6
  339. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts.map +0 -1
  340. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts +0 -4
  341. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts.map +0 -1
  342. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts +0 -786
  343. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts.map +0 -1
  344. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts +0 -4
  345. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts.map +0 -1
  346. package/dist/components/QuoteSkeleton/index.d.ts +0 -4
  347. package/dist/components/QuoteSkeleton/index.d.ts.map +0 -1
  348. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts +0 -11
  349. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts.map +0 -1
  350. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts +0 -4
  351. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts.map +0 -1
  352. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts +0 -4
  353. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +0 -1
  354. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts +0 -9
  355. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +0 -1
  356. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +0 -1
  357. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +0 -23
  358. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +0 -1
  359. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts +0 -11
  360. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts.map +0 -1
  361. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts +0 -11
  362. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts.map +0 -1
  363. package/dist/components/QuoteWarningsAndErrors/index.d.ts +0 -2
  364. package/dist/components/QuoteWarningsAndErrors/index.d.ts.map +0 -1
  365. package/dist/containers/App/App.d.ts +0 -3
  366. package/dist/containers/App/App.d.ts.map +0 -1
  367. package/dist/containers/App/App.styles.d.ts +0 -158
  368. package/dist/containers/App/App.styles.d.ts.map +0 -1
  369. package/dist/containers/App/index.d.ts +0 -2
  370. package/dist/containers/App/index.d.ts.map +0 -1
  371. package/dist/containers/QuoteInfo/QuoteInfo.d.ts +0 -4
  372. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +0 -1
  373. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +0 -788
  374. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +0 -1
  375. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +0 -20
  376. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +0 -1
  377. package/dist/containers/QuoteInfo/index.d.ts +0 -2
  378. package/dist/containers/QuoteInfo/index.d.ts.map +0 -1
  379. package/dist/containers/Wallets/Wallets.d.ts +0 -6
  380. package/dist/containers/Wallets/Wallets.d.ts.map +0 -1
  381. package/dist/containers/Wallets/Wallets.types.d.ts +0 -11
  382. package/dist/containers/Wallets/Wallets.types.d.ts.map +0 -1
  383. package/dist/containers/Wallets/index.d.ts +0 -2
  384. package/dist/containers/Wallets/index.d.ts.map +0 -1
  385. package/dist/containers/Widget/Widget.d.ts +0 -5
  386. package/dist/containers/Widget/Widget.d.ts.map +0 -1
  387. package/dist/containers/Widget/Widget.types.d.ts +0 -5
  388. package/dist/containers/Widget/Widget.types.d.ts.map +0 -1
  389. package/dist/containers/Widget/index.d.ts +0 -3
  390. package/dist/containers/Widget/index.d.ts.map +0 -1
  391. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +0 -6
  392. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +0 -1
  393. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +0 -20
  394. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +0 -1
  395. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +0 -21
  396. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +0 -1
  397. package/dist/containers/WidgetInfo/index.d.ts +0 -2
  398. package/dist/containers/WidgetInfo/index.d.ts.map +0 -1
  399. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +0 -5
  400. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +0 -1
  401. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +0 -7
  402. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +0 -1
  403. package/dist/containers/WidgetProvider/index.d.ts +0 -2
  404. package/dist/containers/WidgetProvider/index.d.ts.map +0 -1
  405. package/dist/hooks/useConfirmSwap/index.d.ts +0 -2
  406. package/dist/hooks/useConfirmSwap/index.d.ts.map +0 -1
  407. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts +0 -3
  408. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +0 -1
  409. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +0 -19
  410. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +0 -1
  411. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +0 -1
  412. package/dist/hooks/useFetchQuote.d.ts.map +0 -1
  413. package/dist/hooks/useForceAutoConnect.d.ts +0 -2
  414. package/dist/hooks/useForceAutoConnect.d.ts.map +0 -1
  415. package/dist/store/AppStore.d.ts +0 -47
  416. package/dist/store/AppStore.d.ts.map +0 -1
  417. package/dist/store/quote.d.ts +0 -89
  418. package/dist/store/quote.d.ts.map +0 -1
  419. package/dist/store/slices/settings.d.ts +0 -39
  420. package/dist/store/slices/settings.d.ts.map +0 -1
  421. package/dist/types/quote.d.ts +0 -82
  422. package/dist/types/quote.d.ts.map +0 -1
  423. package/dist/utils/quote.d.ts +0 -32
  424. package/dist/utils/quote.d.ts.map +0 -1
  425. package/src/components/NoResult/index.ts +0 -1
  426. package/src/components/Quote/Quote.styles.ts +0 -249
  427. package/src/components/Quote/Quote.tsx +0 -414
  428. package/src/components/Quote/Quote.types.ts +0 -15
  429. package/src/components/Quote/QuoteSummary.styles.ts +0 -16
  430. package/src/components/Quote/QuoteSummary.tsx +0 -46
  431. package/src/components/Quote/index.ts +0 -2
  432. package/src/components/QuoteSkeleton/QuoteSkeleton.styles.ts +0 -42
  433. package/src/components/QuoteSkeleton/QuoteSkeleton.tsx +0 -30
  434. package/src/components/QuoteSkeleton/QuoteSkeleton.types.ts +0 -5
  435. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.styles.ts +0 -57
  436. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.tsx +0 -76
  437. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.types.ts +0 -6
  438. package/src/components/QuoteSkeleton/StepSkeleton.styles.ts +0 -33
  439. package/src/components/QuoteSkeleton/StepSkeleton.tsx +0 -44
  440. package/src/components/QuoteSkeleton/StepSkeleton.types.ts +0 -1
  441. package/src/components/QuoteSkeleton/index.ts +0 -3
  442. package/src/components/QuoteWarningsAndErrors/HighValueLossWarningModal.tsx +0 -107
  443. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +0 -74
  444. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +0 -103
  445. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +0 -25
  446. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +0 -77
  447. package/src/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.tsx +0 -38
  448. package/src/components/QuoteWarningsAndErrors/index.ts +0 -1
  449. package/src/containers/App/App.styles.ts +0 -18
  450. package/src/containers/App/App.tsx +0 -52
  451. package/src/containers/App/index.ts +0 -1
  452. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +0 -31
  453. package/src/containers/QuoteInfo/QuoteInfo.tsx +0 -99
  454. package/src/containers/QuoteInfo/QuoteInfo.types.ts +0 -20
  455. package/src/containers/QuoteInfo/index.ts +0 -1
  456. package/src/containers/Wallets/Wallets.types.ts +0 -12
  457. package/src/containers/Wallets/index.ts +0 -1
  458. package/src/containers/Widget/Widget.tsx +0 -19
  459. package/src/containers/Widget/Widget.types.ts +0 -5
  460. package/src/containers/Widget/index.ts +0 -2
  461. package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +0 -64
  462. package/src/containers/WidgetInfo/WidgetInfo.tsx +0 -62
  463. package/src/containers/WidgetInfo/WidgetInfo.types.ts +0 -21
  464. package/src/containers/WidgetInfo/index.ts +0 -1
  465. package/src/containers/WidgetProvider/WidgetProvider.tsx +0 -28
  466. package/src/containers/WidgetProvider/WidgetProvider.types.ts +0 -7
  467. package/src/containers/WidgetProvider/index.ts +0 -1
  468. package/src/hooks/useConfirmSwap/index.ts +0 -1
  469. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +0 -172
  470. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +0 -137
  471. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +0 -19
  472. package/src/hooks/useForceAutoConnect.ts +0 -27
  473. package/src/store/AppStore.tsx +0 -41
  474. package/src/store/slices/settings.ts +0 -168
  475. package/src/types/quote.ts +0 -107
  476. package/src/utils/quote.ts +0 -338
@@ -7,18 +7,16 @@ import {
7
7
  Divider,
8
8
  Image,
9
9
  Skeleton,
10
- Tooltip,
11
10
  Typography,
12
11
  } from '@rango-dev/ui';
13
12
  import React from 'react';
14
13
 
15
14
  import { BLOCKCHAIN_LIST_SIZE } from '../../constants/configs';
16
15
  import { usePrepareBlockchainList } from '../../hooks/usePrepareBlockchainList';
17
- import { useAppStore } from '../../store/AppStore';
18
- import { useQuoteStore } from '../../store/quote';
19
- import { getContainer } from '../../utils/common';
16
+ import { useBestRouteStore } from '../../store/bestRoute';
17
+ import { useMetaStore } from '../../store/meta';
20
18
 
21
- import { Blockchains } from './BlockchainsSection.styles';
19
+ import { Container } from './BlockchainsSection.styles';
22
20
 
23
21
  const NUMBER_OF_LOADING = 12;
24
22
 
@@ -29,9 +27,9 @@ export function BlockchainsSection(props: PropTypes) {
29
27
  selected: blockchain?.name,
30
28
  });
31
29
 
32
- const { fetchStatus } = useAppStore();
33
- const resetToBlockchain = useQuoteStore.use.resetToBlockchain();
34
- const resetFromBlockchain = useQuoteStore.use.resetFromBlockchain();
30
+ const loadingStatus = useMetaStore.use.loadingStatus();
31
+ const resetToBlockchain = useBestRouteStore.use.resetToBlockchain();
32
+ const resetFromBlockchain = useBestRouteStore.use.resetFromBlockchain();
35
33
  const hasMoreItemsInList = blockchainsList.more.length > 0;
36
34
  /**
37
35
  * When only one item is left on list, we will not show the `More` button and will show the item itself instead.
@@ -40,18 +38,18 @@ export function BlockchainsSection(props: PropTypes) {
40
38
  const showMoreButton = !onlyOneItemInList && hasMoreItemsInList;
41
39
 
42
40
  return (
43
- <>
41
+ <div>
44
42
  <Divider size={12} />
45
43
  <Typography variant="label" size="large">
46
44
  {i18n.t('Select Blockchain')}
47
45
  </Typography>
48
46
  <Divider size={12} />
49
- <Blockchains>
50
- {fetchStatus === 'loading' &&
47
+ <Container>
48
+ {loadingStatus === 'loading' &&
51
49
  Array.from(Array(NUMBER_OF_LOADING), (e) => (
52
50
  <Skeleton key={e} variant="rounded" height={50} />
53
51
  ))}
54
- {fetchStatus === 'success' && (
52
+ {loadingStatus === 'success' && (
55
53
  <>
56
54
  <BlockchainsChip
57
55
  selected={!blockchain}
@@ -67,19 +65,12 @@ export function BlockchainsSection(props: PropTypes) {
67
65
  </Typography>
68
66
  </BlockchainsChip>
69
67
  {blockchainsList.list.map((item) => (
70
- <Tooltip
68
+ <BlockchainsChip
71
69
  key={item.name}
72
- content={item.shortName}
73
- side="bottom"
74
- sideOffset={2}
75
- container={getContainer()}>
76
- <BlockchainsChip
77
- key={item.name}
78
- selected={!!blockchain && blockchain.name === item.name}
79
- onClick={() => onChange(item)}>
80
- <Image src={item.logo} size={30} />
81
- </BlockchainsChip>
82
- </Tooltip>
70
+ selected={!!blockchain && blockchain.name === item.name}
71
+ onClick={() => onChange(item)}>
72
+ <Image src={item.logo} size={30} />
73
+ </BlockchainsChip>
83
74
  ))}
84
75
 
85
76
  {onlyOneItemInList ? (
@@ -105,7 +96,7 @@ export function BlockchainsSection(props: PropTypes) {
105
96
  ) : null}
106
97
  </>
107
98
  )}
108
- </Blockchains>
109
- </>
99
+ </Container>
100
+ </div>
110
101
  );
111
102
  }
@@ -1,9 +1,71 @@
1
+ /* eslint-disable @typescript-eslint/no-magic-numbers */
2
+ import type { Step } from '@rango-dev/ui/dist/widget/ui/src/components/BestRoute/BestRoute.types';
1
3
  import type { BestRouteResponse, BlockchainMeta } from 'rango-sdk';
2
4
 
3
- export function getRequiredWallets(quote: BestRouteResponse | null): string[] {
5
+ import {
6
+ TOKEN_AMOUNT_MAX_DECIMALS,
7
+ TOKEN_AMOUNT_MIN_DECIMALS,
8
+ USD_VALUE_MAX_DECIMALS,
9
+ USD_VALUE_MIN_DECIMALS,
10
+ } from '../../constants/routing';
11
+ import { getBlockchainShortNameFor } from '../../utils/meta';
12
+ import { numberToString } from '../../utils/numbers';
13
+
14
+ export function formatBestRoute(
15
+ bestRoute: BestRouteResponse,
16
+ blockchains: BlockchainMeta[]
17
+ ): Step[] | undefined {
18
+ return bestRoute.result?.swaps.map((swap) => {
19
+ return {
20
+ swapper: { displayName: swap.swapperId, image: swap.swapperLogo },
21
+ from: {
22
+ token: { displayName: swap.from.symbol, image: swap.from.logo },
23
+ chain: {
24
+ displayName:
25
+ getBlockchainShortNameFor(swap.from.blockchain, blockchains) ?? '',
26
+ image: swap.from.blockchainLogo,
27
+ },
28
+ price: {
29
+ value: numberToString(
30
+ swap.fromAmount,
31
+ TOKEN_AMOUNT_MIN_DECIMALS,
32
+ TOKEN_AMOUNT_MAX_DECIMALS
33
+ ),
34
+ usdValue: numberToString(
35
+ swap.from.usdPrice?.toString(),
36
+ USD_VALUE_MIN_DECIMALS,
37
+ USD_VALUE_MAX_DECIMALS
38
+ ),
39
+ },
40
+ },
41
+ to: {
42
+ token: { displayName: swap.to.symbol, image: swap.to.logo },
43
+ chain: {
44
+ displayName:
45
+ getBlockchainShortNameFor(swap.to.blockchain, blockchains) ?? '',
46
+ image: swap.to.blockchainLogo,
47
+ },
48
+ price: {
49
+ value: numberToString(
50
+ swap.toAmount,
51
+ TOKEN_AMOUNT_MIN_DECIMALS,
52
+ TOKEN_AMOUNT_MAX_DECIMALS
53
+ ),
54
+ usdValue: numberToString(
55
+ swap.to.usdPrice?.toString(),
56
+ USD_VALUE_MIN_DECIMALS,
57
+ USD_VALUE_MAX_DECIMALS
58
+ ),
59
+ },
60
+ },
61
+ };
62
+ });
63
+ }
64
+
65
+ export function getRequiredWallets(route: BestRouteResponse | null): string[] {
4
66
  const wallets: string[] = [];
5
67
 
6
- quote?.result?.swaps.forEach((swap) => {
68
+ route?.result?.swaps.forEach((swap) => {
7
69
  const currentStepFromBlockchain = swap.from.blockchain;
8
70
  const currentStepToBlockchain = swap.to.blockchain;
9
71
  let lastAddedWallet = wallets[wallets.length - 1];
@@ -1,7 +1,6 @@
1
1
  import * as Collapsible from '@radix-ui/react-collapsible';
2
2
  import {
3
3
  Button,
4
- css,
5
4
  darkTheme,
6
5
  IconButton,
7
6
  keyframes,
@@ -37,13 +36,10 @@ export const Title = styled('div', {
37
36
  });
38
37
 
39
38
  export const ListContainer = styled('div', {
40
- display: 'flex',
41
- justifyContent: 'space-evenly',
42
- alignItems: 'center',
39
+ display: 'grid',
43
40
  gap: '$10',
44
- flexWrap: 'wrap',
45
- paddingTop: '$5',
46
- height: '100%',
41
+ gridTemplateColumns: ' repeat(3, minmax(0, 1fr))',
42
+ alignContent: 'baseline',
47
43
  });
48
44
 
49
45
  export const WalletButton = styled('button', {
@@ -88,12 +84,6 @@ export const WalletButton = styled('button', {
88
84
  },
89
85
  },
90
86
  });
91
-
92
- export const ShowMoreWallets = styled(WalletButton, {
93
- alignSelf: 'stretch',
94
- minHeight: '93px',
95
- });
96
-
97
87
  export const Trigger = styled(Collapsible.Trigger, {
98
88
  padding: '$0',
99
89
  border: 'none',
@@ -120,16 +110,12 @@ export const NavigateBack = styled(IconButton, {
120
110
 
121
111
  export const WalletsContainer = styled('div', {
122
112
  paddingTop: '$20',
123
- });
124
-
125
- export const walletsListStyles = css({
126
- display: 'flex',
127
- justifyContent: 'space-evenly',
128
- alignItems: 'center',
129
- gap: '$10',
130
- flexWrap: 'wrap',
131
- paddingTop: '$5',
132
- height: '100%',
113
+ '& .wallets-list': {
114
+ display: 'grid',
115
+ gap: '$10',
116
+ gridTemplateColumns: ' repeat(3, minmax(0, 1fr))',
117
+ alignContent: 'baseline',
118
+ },
133
119
  });
134
120
 
135
121
  export const CollapsibleRoot = styled(Collapsible.Root, {
@@ -179,15 +165,12 @@ export const CustomDestination = styled('div', {
179
165
  padding: '$10 $0',
180
166
  '& .button__content': {
181
167
  display: 'flex',
168
+ justifyContent: 'center',
182
169
  alignItems: 'center',
183
170
  },
184
171
  '& .alarms': { paddingTop: '5px' },
185
172
  });
186
173
 
187
- export const alarmsStyles = css({
188
- paddingTop: '5px',
189
- });
190
-
191
174
  export const ExpandedIcon = styled('div', {
192
175
  transition: `all ${EXPANDABLE_TRANSITION_DURATION}ms ease`,
193
176
  variants: {
@@ -207,12 +190,10 @@ export const ConfirmButton = styled('div', {
207
190
  });
208
191
 
209
192
  export const StyledTextField = styled(TextField, {
210
- backgroundColor: '$neutral100',
211
193
  padding: '$0 $15 $15 $15',
212
194
  });
213
195
 
214
196
  export const CollapsibleContent = styled(Collapsible.Content, {
215
- backgroundColor: '$neutral100',
216
197
  overflow: 'hidden',
217
198
  variants: {
218
199
  open: {
@@ -18,17 +18,16 @@ import {
18
18
  import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';
19
19
  import { useNavigate } from 'react-router-dom';
20
20
 
21
- import { getQuoteErrorMessage } from '../../constants/errors';
22
- import { getQuoteUpdateWarningMessage } from '../../constants/warnings';
23
- import { useAppStore } from '../../store/AppStore';
24
- import { useQuoteStore } from '../../store/quote';
21
+ import { getConfirmSwapErrorMessage } from '../../constants/errors';
22
+ import { navigationRoutes } from '../../constants/navigationRoutes';
23
+ import { getRouteWarningMessage } from '../../constants/warnings';
24
+ import { useBestRouteStore } from '../../store/bestRoute';
25
+ import { useMetaStore } from '../../store/meta';
25
26
  import { useWalletsStore } from '../../store/wallets';
26
- import { getBlockchainShortNameFor } from '../../utils/meta';
27
27
  import { confirmSwapDisabled } from '../../utils/swap';
28
28
 
29
29
  import { getRequiredWallets, isValidAddress } from './ConfirmWallets.helpers';
30
30
  import {
31
- alarmsStyles,
32
31
  CollapsibleContent,
33
32
  CollapsibleRoot,
34
33
  ConfirmButton,
@@ -44,7 +43,6 @@ import {
44
43
  Trigger,
45
44
  Wallets,
46
45
  WalletsContainer,
47
- walletsListStyles,
48
46
  } from './ConfirmWallets.styles';
49
47
  import { WalletList } from './WalletList';
50
48
 
@@ -52,24 +50,23 @@ const NUMBER_OF_WALLETS_TO_DISPLAY = 2;
52
50
 
53
51
  export function ConfirmWalletsModal(props: PropTypes) {
54
52
  //TODO: move component's logics to a custom hook
55
- const { open, onClose, onCancel, onCheckBalance, loading } = props;
56
- const config = useAppStore().config;
57
- const blockchains = useAppStore().blockchains();
53
+ const { open, onClose, onCancel, onCheckBalance, config, loading } = props;
54
+ const { blockchains } = useMetaStore.use.meta();
58
55
  const {
59
- quote,
60
- setSelectedWallets: selectQuoteWallets,
61
- quoteWalletsConfirmed: quoteWalletsConfirmed,
62
- setQuoteWalletConfirmed: setQuoteWalletConfirmed,
56
+ bestRoute,
57
+ setSelectedWallets: selectRouteWallets,
58
+ routeWalletsConfirmed,
59
+ setRouteWalletConfirmed,
63
60
  customDestination,
64
61
  setCustomDestination,
65
- } = useQuoteStore();
62
+ } = useBestRouteStore();
66
63
  const { connectedWallets, selectWallets } = useWalletsStore();
67
64
 
68
65
  const [showMoreWalletFor, setShowMoreWalletFor] = useState('');
69
66
  const [balanceWarnings, setBalanceWarnings] = useState<string[]>([]);
70
67
  const [error, setError] = useState('');
71
- const [quoteWarning, setQuoteWarning] = useState<
72
- ConfirmSwapWarnings['quoteUpdate'] | null
68
+ const [routeWarning, setRouteWarning] = useState<
69
+ ConfirmSwapWarnings['route'] | null
73
70
  >(null);
74
71
  const [destination, setDestination] = useState(customDestination);
75
72
  const [showCustomDestination, setShowCustomDestination] = useState(
@@ -77,15 +74,22 @@ export function ConfirmWalletsModal(props: PropTypes) {
77
74
  );
78
75
  const customDestinationRef = useRef<HTMLDivElement | null>(null);
79
76
 
80
- const requiredWallets = getRequiredWallets(quote);
77
+ const requiredWallets = getRequiredWallets(bestRoute);
78
+ const customDestinationEnabled =
79
+ typeof config?.customDestination === 'undefined'
80
+ ? true
81
+ : config.customDestination;
81
82
 
82
83
  const lastStepToBlockchain = blockchains.find(
83
84
  (blockchain) =>
84
85
  blockchain.name ===
85
- quote?.result?.swaps[quote?.result?.swaps.length - 1].to.blockchain
86
+ bestRoute?.result?.swaps[bestRoute?.result?.swaps.length - 1].to
87
+ .blockchain
86
88
  );
87
89
  const isWalletRequiredFor = (blockchain: string) =>
88
- !!quote?.result?.swaps.find((swap) => swap.from.blockchain === blockchain);
90
+ !!bestRoute?.result?.swaps.find(
91
+ (swap) => swap.from.blockchain === blockchain
92
+ );
89
93
 
90
94
  const [selectableWallets, setSelectableWallets] = useState<ConnectedWallet[]>(
91
95
  connectedWallets.filter((connectedWallet) => {
@@ -171,16 +175,16 @@ export function ConfirmWalletsModal(props: PropTypes) {
171
175
  (wallet) => wallet.selected
172
176
  );
173
177
  selectWallets(lastSelectedWallets);
174
- selectQuoteWallets(lastSelectedWallets);
178
+ selectRouteWallets(lastSelectedWallets);
175
179
  setCustomDestination(destination);
176
- setQuoteWalletConfirmed(true);
180
+ setRouteWalletConfirmed(true);
177
181
  onClose();
178
182
  };
179
183
 
180
184
  const onConfirmWallets = async () => {
181
185
  setBalanceWarnings([]);
182
186
  setError('');
183
- setQuoteWarning(null);
187
+ setRouteWarning(null);
184
188
  const selectedWallets = connectedWallets.filter((connectedWallet) =>
185
189
  selectableWallets.find(
186
190
  (selectableWallet) =>
@@ -197,11 +201,11 @@ export function ConfirmWalletsModal(props: PropTypes) {
197
201
  if (warnings?.balance?.messages) {
198
202
  setBalanceWarnings(warnings.balance.messages);
199
203
  }
200
- if (warnings?.quoteUpdate) {
201
- setQuoteWarning(warnings.quoteUpdate);
204
+ if (warnings?.route) {
205
+ setRouteWarning(warnings.route);
202
206
  }
203
207
  if (result.error) {
204
- setError(getQuoteErrorMessage(result.error));
208
+ setError(getConfirmSwapErrorMessage(result.error));
205
209
  }
206
210
 
207
211
  if (!result.error && (!warnings?.balance?.messages.length || 0 > 0)) {
@@ -245,9 +249,8 @@ export function ConfirmWalletsModal(props: PropTypes) {
245
249
  <Modal
246
250
  open={open}
247
251
  onClose={() => {
248
- if (!quoteWalletsConfirmed) {
249
- const home = '../';
250
- navigate(home, { replace: true });
252
+ if (!routeWalletsConfirmed) {
253
+ navigate(navigationRoutes.home, { replace: true });
251
254
  }
252
255
  onClose();
253
256
  }}
@@ -262,7 +265,7 @@ export function ConfirmWalletsModal(props: PropTypes) {
262
265
  loading,
263
266
  showCustomDestination,
264
267
  destination,
265
- quote,
268
+ bestRoute,
266
269
  selectableWallets,
267
270
  lastStepToBlockchain
268
271
  )}
@@ -288,12 +291,7 @@ export function ConfirmWalletsModal(props: PropTypes) {
288
291
  <Typography variant="headline" size="small">
289
292
  {i18n.t({
290
293
  id: 'Your {blockchainName} wallets',
291
- values: {
292
- blockchainName: getBlockchainShortNameFor(
293
- showMoreWalletFor,
294
- blockchains
295
- ),
296
- },
294
+ values: { blockchainName: showMoreWalletFor },
297
295
  })}
298
296
  </Typography>
299
297
  </ShowMoreHeader>
@@ -320,11 +318,14 @@ export function ConfirmWalletsModal(props: PropTypes) {
320
318
  </Modal>
321
319
  {showMoreWalletFor && (
322
320
  <WalletsContainer>
323
- <div className={walletsListStyles()}>
321
+ <div className="wallets-list">
324
322
  <WalletList
325
323
  chain={showMoreWalletFor}
326
324
  isSelected={isSelected}
327
325
  selectWallet={onChange}
326
+ multiWallets={config?.multiWallets ?? true}
327
+ supportedWallets={config?.wallets ?? []}
328
+ config={config}
328
329
  onShowMore={setShowMoreWalletFor.bind(null, showMoreWalletFor)}
329
330
  />
330
331
  </div>
@@ -338,12 +339,12 @@ export function ConfirmWalletsModal(props: PropTypes) {
338
339
  <Divider size={12} />
339
340
  </>
340
341
  )}
341
- {quoteWarning && (
342
+ {routeWarning && (
342
343
  <>
343
344
  <Alert
344
345
  variant="alarm"
345
346
  type="warning"
346
- title={getQuoteUpdateWarningMessage(quoteWarning)}
347
+ title={getRouteWarningMessage(routeWarning)}
347
348
  />
348
349
  <Divider size={12} />
349
350
  </>
@@ -363,7 +364,7 @@ export function ConfirmWalletsModal(props: PropTypes) {
363
364
  <Typography variant="title" size="xmedium">
364
365
  {i18n.t({
365
366
  id: 'Your {blockchainName} wallets',
366
- values: { blockchainName: blockchain?.shortName },
367
+ values: { blockchainName: blockchain?.displayName },
367
368
  })}
368
369
  </Typography>
369
370
  <Typography
@@ -372,7 +373,7 @@ export function ConfirmWalletsModal(props: PropTypes) {
372
373
  size="medium">
373
374
  {i18n.t({
374
375
  id: 'You need to connect a {blockchainName} wallet.',
375
- values: { blockchainName: blockchain?.shortName },
376
+ values: { blockchainName: blockchain?.displayName },
376
377
  })}
377
378
  </Typography>
378
379
  </Title>
@@ -382,6 +383,9 @@ export function ConfirmWalletsModal(props: PropTypes) {
382
383
  chain={requiredWallet}
383
384
  isSelected={isSelected}
384
385
  selectWallet={onChange}
386
+ multiWallets={config?.multiWallets ?? true}
387
+ supportedWallets={config?.wallets ?? []}
388
+ config={config}
385
389
  limit={NUMBER_OF_WALLETS_TO_DISPLAY}
386
390
  onShowMore={() =>
387
391
  setShowMoreWalletFor(blockchain?.name ?? '')
@@ -389,7 +393,7 @@ export function ConfirmWalletsModal(props: PropTypes) {
389
393
  />
390
394
  </ListContainer>
391
395
  {!isLastWallet && <Divider size={32} />}
392
- {isLastWallet && config?.customDestination && (
396
+ {isLastWallet && customDestinationEnabled && (
393
397
  <CustomDestination>
394
398
  <CollapsibleRoot
395
399
  ref={customDestinationRef}
@@ -460,7 +464,7 @@ export function ConfirmWalletsModal(props: PropTypes) {
460
464
  </CollapsibleContent>
461
465
  </CollapsibleRoot>
462
466
  {isAddressMatched && (
463
- <div className={alarmsStyles()}>
467
+ <div className="alarms">
464
468
  <Alert
465
469
  variant="alarm"
466
470
  type="error"
@@ -1,9 +1,11 @@
1
- import type { ConfirmSwap } from '../../hooks/useConfirmSwap/useConfirmSwap.types';
1
+ import type { WidgetConfig } from '../..';
2
+ import type { ConfirmSwap } from '../../hooks/useConfirmSwap';
2
3
 
3
4
  export type PropTypes = {
4
5
  open: boolean;
5
6
  onClose: () => void;
6
7
  onCancel: () => void;
7
8
  onCheckBalance: ConfirmSwap['fetch'];
9
+ config?: WidgetConfig;
8
10
  loading: boolean;
9
11
  };
@@ -23,7 +23,7 @@ import {
23
23
  TIME_TO_CLOSE_MODAL,
24
24
  TIME_TO_IGNORE_MODAL,
25
25
  } from '../../pages/WalletsPage';
26
- import { useAppStore } from '../../store/AppStore';
26
+ import { useMetaStore } from '../../store/meta';
27
27
  import { useWalletsStore } from '../../store/wallets';
28
28
  import { getBlockchainDisplayNameFor } from '../../utils/meta';
29
29
  import {
@@ -33,7 +33,7 @@ import {
33
33
  } from '../../utils/wallets';
34
34
  import { WalletModal } from '../WalletModal';
35
35
 
36
- import { ShowMoreWallets } from './ConfirmWallets.styles';
36
+ import { WalletButton } from './ConfirmWallets.styles';
37
37
  import {
38
38
  LogoContainer,
39
39
  Spinner,
@@ -41,11 +41,10 @@ import {
41
41
  } from './WalletList.styles';
42
42
 
43
43
  export function WalletList(props: PropTypes) {
44
- const { chain, isSelected, selectWallet, limit, onShowMore } = props;
45
- const { config } = useAppStore();
44
+ const { config, chain, isSelected, selectWallet, limit, onShowMore } = props;
46
45
 
47
46
  const connectedWallets = useWalletsStore.use.connectedWallets();
48
- const { blockchains } = useAppStore();
47
+ const { blockchains } = useMetaStore.use.meta();
49
48
  const [openWalletStateModal, setOpenWalletStateModal] =
50
49
  useState<WalletType>('');
51
50
  const [experimentalChainWallet, setExperimentalChainWallet] =
@@ -138,7 +137,7 @@ export function WalletList(props: PropTypes) {
138
137
  });
139
138
  const conciseAddress = address ? getConciseAddress(address) : '';
140
139
 
141
- const experimentalChain = isExperimentalChain(blockchains(), chain);
140
+ const experimentalChain = isExperimentalChain(blockchains, chain);
142
141
 
143
142
  const experimentalChainNotAdded = !connectedWallets.find(
144
143
  (connectedWallet) =>
@@ -181,7 +180,7 @@ export function WalletList(props: PropTypes) {
181
180
  experimentalChainWallet?.chain
182
181
  ? getBlockchainDisplayNameFor(
183
182
  experimentalChainWallet.chain,
184
- blockchains()
183
+ blockchains
185
184
  )
186
185
  : undefined;
187
186
  return (
@@ -292,14 +291,14 @@ export function WalletList(props: PropTypes) {
292
291
  );
293
292
  })}
294
293
  {shouldShowMoreWallets && (
295
- <ShowMoreWallets selected={false} onClick={onShowMore}>
294
+ <WalletButton selected={false} onClick={onShowMore.bind(null)}>
296
295
  <Typography variant="label" size="medium">
297
296
  {i18n.t('Show more wallets')}
298
297
  <Typography variant="label" size="medium" color="$primary">
299
298
  &nbsp;+{numberOfSupportedWallets - (limit ?? 0)}
300
299
  </Typography>
301
300
  </Typography>
302
- </ShowMoreWallets>
301
+ </WalletButton>
303
302
  )}
304
303
  </>
305
304
  );
@@ -1,9 +1,12 @@
1
- import type { Wallet } from '../../types';
1
+ import type { Wallet, WidgetConfig } from '../../types';
2
2
 
3
3
  export type PropTypes = {
4
4
  chain: string;
5
+ supportedWallets: WidgetConfig['wallets'];
5
6
  isSelected: (walletType: string, chain: string) => boolean;
6
7
  selectWallet: (wallet: Wallet) => void;
8
+ multiWallets: boolean;
9
+ config?: WidgetConfig;
7
10
  limit?: number;
8
11
  onShowMore: () => void;
9
12
  };
@@ -11,9 +11,7 @@ import {
11
11
  } from '@rango-dev/ui';
12
12
  import React from 'react';
13
13
 
14
- import { useAppStore } from '../../store/AppStore';
15
14
  import { getContainer } from '../../utils/common';
16
- import { isFeatureHidden } from '../../utils/settings';
17
15
  import { NotificationContent } from '../NotificationContent';
18
16
 
19
17
  import { HeaderButton } from './HeaderButtons.styles';
@@ -28,12 +26,6 @@ export function HomeButtons(props: HomeButtonsPropTypes) {
28
26
  onClickNotifications,
29
27
  } = props;
30
28
 
31
- const {
32
- config: { features },
33
- } = useAppStore();
34
-
35
- const isNotificationsHidden = isFeatureHidden('notification', features);
36
-
37
29
  return (
38
30
  <>
39
31
  <Tooltip
@@ -49,27 +41,25 @@ export function HomeButtons(props: HomeButtonsPropTypes) {
49
41
  </HeaderButton>
50
42
  </Tooltip>
51
43
 
52
- {!isNotificationsHidden && (
53
- <Tooltip
44
+ <Tooltip
45
+ container={getContainer()}
46
+ side="top"
47
+ content={i18n.t('Notifications')}>
48
+ <Popover
49
+ align="center"
50
+ collisionBoundary={layoutRef}
51
+ collisionPadding={{ right: 20, left: 20 }}
54
52
  container={getContainer()}
55
- side="top"
56
- content={i18n.t('Notifications')}>
57
- <Popover
58
- align="center"
59
- collisionBoundary={layoutRef}
60
- collisionPadding={{ right: 20, left: 20 }}
61
- container={getContainer()}
62
- content={<NotificationContent />}>
63
- <HeaderButton
64
- size="small"
65
- variant="ghost"
66
- onClick={onClickNotifications}>
67
- <NotificationsIcon size={18} color="black" />
68
- <UnreadNotificationsBadge />
69
- </HeaderButton>
70
- </Popover>
71
- </Tooltip>
72
- )}
53
+ content={<NotificationContent />}>
54
+ <HeaderButton
55
+ size="small"
56
+ variant="ghost"
57
+ onClick={onClickNotifications}>
58
+ <NotificationsIcon size={18} color="black" />
59
+ <UnreadNotificationsBadge />
60
+ </HeaderButton>
61
+ </Popover>
62
+ </Tooltip>
73
63
  <Tooltip
74
64
  container={getContainer()}
75
65
  side="top"
@@ -8,10 +8,8 @@ export const Container = styled('div', {
8
8
  overflow: 'hidden !important',
9
9
  boxShadow: '15px 15px 15px 0px rgba(0, 0, 0, 0.05)',
10
10
  width: '95vw',
11
- minWidth: '300px',
12
11
  maxWidth: '390px',
13
12
  maxHeight: '700px',
14
- textAlign: 'left',
15
13
  $$color: '$colors$neutral100',
16
14
  [`.${darkTheme} &`]: {
17
15
  $$color: '$colors$neutral300',