@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
@@ -1,11 +1,7 @@
1
+ import type { TokenWithBalance } from '../components/TokenList';
1
2
  import type { Wallet } from '../types';
2
- import type {
3
- BestRouteResponse,
4
- BlockchainMeta,
5
- MetaResponse,
6
- Token,
7
- } from 'rango-sdk';
8
- import type { PendingSwap } from 'rango-types';
3
+ import type { PendingSwap } from '@rango-dev/queue-manager-rango-preset/dist/shared';
4
+ import type { BestRouteResponse, BlockchainMeta, Token } from 'rango-sdk';
9
5
 
10
6
  import BigNumber from 'bignumber.js';
11
7
  import { create } from 'zustand';
@@ -13,58 +9,53 @@ import { subscribeWithSelector } from 'zustand/middleware';
13
9
 
14
10
  import { ZERO } from '../constants/numbers';
15
11
  import { isPositiveNumber } from '../utils/numbers';
16
- import { createRetryQuote, getQuoteToTokenUsdPrice } from '../utils/quote';
12
+ import {
13
+ createRetryRoute,
14
+ getBestRouteToTokenUsdPrice,
15
+ } from '../utils/routing';
17
16
  import { calcOutputUsdValue } from '../utils/swap';
18
17
 
18
+ import { useMetaStore } from './meta';
19
19
  import createSelectors from './selectors';
20
20
 
21
- export const getUsdValue = (
22
- token: Token | null,
23
- amount: string
24
- ): BigNumber | null =>
21
+ const getUsdValue = (token: Token | null, amount: string): BigNumber | null =>
25
22
  token?.usdPrice
26
23
  ? new BigNumber(amount || ZERO).multipliedBy(token?.usdPrice || 0)
27
24
  : null;
28
25
 
29
- export type Meta = Pick<MetaResponse, 'blockchains' | 'tokens'>;
30
-
31
- export type SetTokenParams = { token: Token; meta: Meta } | { token: null };
32
-
33
- export interface QuoteState {
26
+ export interface RouteState {
34
27
  fromBlockchain: BlockchainMeta | null;
35
28
  toBlockchain: BlockchainMeta | null;
36
29
  inputAmount: string;
37
30
  inputUsdValue: BigNumber | null;
38
31
  outputAmount: BigNumber | null;
39
32
  outputUsdValue: BigNumber | null;
40
- fromToken: Token | null;
41
- toToken: Token | null;
42
- quoteWalletsConfirmed: boolean;
33
+ fromToken: TokenWithBalance | null;
34
+ toToken: TokenWithBalance | null;
35
+ routeWalletsConfirmed: boolean;
43
36
  selectedWallets: Wallet[];
44
- quoteWarningsConfirmed: boolean;
45
- resetQuote: () => void;
37
+ resetRoute: () => void;
46
38
  resetToBlockchain: () => void;
47
39
  resetFromBlockchain: () => void;
48
40
  setFromBlockchain: (chain: BlockchainMeta | null) => void;
49
41
  setToBlockchain: (chian: BlockchainMeta | null) => void;
50
42
 
51
- setFromToken: (params: SetTokenParams) => void;
52
- setToToken: (params: SetTokenParams) => void;
43
+ setFromToken: (token: Token | null) => void;
44
+ setToToken: (token: Token | null) => void;
53
45
  setInputAmount: (amount: string) => void;
54
- quote: BestRouteResponse | null;
55
- setQuote: (quote: BestRouteResponse | null) => void;
56
- retry: (pendingSwap: PendingSwap, meta: Meta) => void;
46
+ bestRoute: BestRouteResponse | null;
47
+ setRoute: (bestRoute: BestRouteResponse | null) => void;
48
+ retry: (pendingSwap: PendingSwap) => void;
57
49
  switchFromAndTo: () => void;
58
- setQuoteWalletConfirmed: (flag: boolean) => void;
50
+ setRouteWalletConfirmed: (flag: boolean) => void;
59
51
  setSelectedWallets: (wallets: Wallet[]) => void;
60
52
  customDestination: string;
61
53
  setCustomDestination: (address: string) => void;
62
- resetQuoteWallets: () => void;
63
- setQuoteWarningsConfirmed: (flag: boolean) => void;
54
+ resetRouteWallets: () => void;
64
55
  }
65
56
 
66
- export const useQuoteStore = createSelectors(
67
- create<QuoteState>()(
57
+ export const useBestRouteStore = createSelectors(
58
+ create<RouteState>()(
68
59
  subscribeWithSelector((set) => ({
69
60
  fromBlockchain: null,
70
61
  fromToken: null,
@@ -74,38 +65,37 @@ export const useQuoteStore = createSelectors(
74
65
  outputUsdValue: new BigNumber(0),
75
66
  toBlockchain: null,
76
67
  toToken: null,
77
- quote: null,
78
- quoteWalletsConfirmed: false,
68
+ bestRoute: null,
69
+ routeWalletsConfirmed: false,
79
70
  selectedWallets: [],
80
71
  customDestination: '',
81
- quoteWarningsConfirmed: false,
82
- setQuote: (quote) =>
72
+ setRoute: (bestRoute) =>
83
73
  set((state) => {
84
74
  let outputAmount: BigNumber | null = null;
85
75
  let outputUsdValue: BigNumber = ZERO;
86
76
  if (!isPositiveNumber(state.inputAmount)) {
87
77
  return {};
88
78
  }
89
- if (!!quote) {
90
- outputAmount = !!quote.result?.outputAmount
91
- ? new BigNumber(quote.result?.outputAmount)
79
+ if (!!bestRoute) {
80
+ outputAmount = !!bestRoute.result?.outputAmount
81
+ ? new BigNumber(bestRoute.result?.outputAmount)
92
82
  : null;
93
83
  outputUsdValue = calcOutputUsdValue(
94
- quote.result?.outputAmount,
95
- getQuoteToTokenUsdPrice(quote) || state.toToken?.usdPrice
84
+ bestRoute.result?.outputAmount,
85
+ getBestRouteToTokenUsdPrice(bestRoute) || state.toToken?.usdPrice
96
86
  );
97
87
  }
98
88
  return {
99
- quote: quote,
100
- ...(!!quote && {
89
+ bestRoute,
90
+ ...(!!bestRoute && {
101
91
  outputAmount,
102
92
  outputUsdValue,
103
93
  }),
104
94
  };
105
95
  }),
106
- resetQuote: () =>
96
+ resetRoute: () =>
107
97
  set(() => ({
108
- quote: null,
98
+ bestRoute: null,
109
99
  outputAmount: null,
110
100
  outputUsdValue: new BigNumber(0),
111
101
  })),
@@ -118,7 +108,7 @@ export const useQuoteStore = createSelectors(
118
108
  return {
119
109
  fromBlockchain: chain,
120
110
  ...(state.fromToken && {
121
- quote: null,
111
+ bestRoute: null,
122
112
  fromToken: null,
123
113
  outputAmount: null,
124
114
  outputUsdValue: null,
@@ -126,17 +116,18 @@ export const useQuoteStore = createSelectors(
126
116
  };
127
117
  });
128
118
  },
129
- setFromToken: (params) => {
119
+ setFromToken: (token) => {
120
+ const { blockchains } = useMetaStore.getState().meta;
130
121
  return set((state) => ({
131
- fromToken: params.token,
132
- ...(params.token && {
122
+ fromToken: token,
123
+ ...(token && {
133
124
  fromBlockchain:
134
- params.meta.blockchains.find(
135
- (blockchain) => blockchain.name === params.token.blockchain
125
+ blockchains.find(
126
+ (blockchain) => blockchain.name === token.blockchain
136
127
  ) ?? null,
137
128
  }),
138
129
  ...(!!state.inputAmount && {
139
- inputUsdValue: getUsdValue(params.token, state.inputAmount),
130
+ inputUsdValue: getUsdValue(token, state.inputAmount),
140
131
  }),
141
132
  }));
142
133
  },
@@ -149,7 +140,7 @@ export const useQuoteStore = createSelectors(
149
140
  return {
150
141
  toBlockchain: chain,
151
142
  ...(state.toToken && {
152
- quote: null,
143
+ bestRoute: null,
153
144
  toToken: null,
154
145
  outputAmount: null,
155
146
  outputUsdValue: null,
@@ -157,13 +148,14 @@ export const useQuoteStore = createSelectors(
157
148
  };
158
149
  });
159
150
  },
160
- setToToken: (params) => {
151
+ setToToken: (token) => {
152
+ const { blockchains } = useMetaStore.getState().meta;
161
153
  return set(() => ({
162
- toToken: params.token,
163
- ...(params.token && {
154
+ toToken: token,
155
+ ...(token && {
164
156
  toBlockchain:
165
- params.meta.blockchains.find(
166
- (blockchain) => blockchain.name === params.token.blockchain
157
+ blockchains.find(
158
+ (blockchain) => blockchain.name === token.blockchain
167
159
  ) ?? null,
168
160
  }),
169
161
  }));
@@ -174,22 +166,24 @@ export const useQuoteStore = createSelectors(
174
166
  ...(!amount && {
175
167
  outputAmount: new BigNumber(0),
176
168
  outputUsdValue: new BigNumber(0),
177
- quote: null,
169
+ bestRoute: null,
178
170
  }),
179
171
  ...(!!state.fromToken && {
180
172
  inputUsdValue: getUsdValue(state.fromToken, amount),
181
173
  }),
182
174
  }));
183
175
  },
184
- retry: (pendingSwap, meta) => {
185
- const { tokens, blockchains } = meta;
176
+ retry: (pendingSwap) => {
177
+ const { tokens, blockchains } = useMetaStore.getState().meta;
178
+
186
179
  const {
187
180
  fromBlockchain,
188
181
  fromToken,
189
182
  toBlockchain,
190
183
  toToken,
191
184
  inputAmount,
192
- } = createRetryQuote(pendingSwap, blockchains, tokens);
185
+ } = createRetryRoute(pendingSwap, blockchains, tokens);
186
+
193
187
  set({
194
188
  fromBlockchain,
195
189
  fromToken,
@@ -199,7 +193,7 @@ export const useQuoteStore = createSelectors(
199
193
  outputUsdValue: new BigNumber(0),
200
194
  toBlockchain,
201
195
  toToken,
202
- quote: null,
196
+ bestRoute: null,
203
197
  });
204
198
  },
205
199
  switchFromAndTo: () =>
@@ -214,13 +208,14 @@ export const useQuoteStore = createSelectors(
214
208
  state.outputAmount?.toString() || ''
215
209
  ),
216
210
  })),
211
+
217
212
  resetFromBlockchain: () =>
218
213
  set(() => ({
219
214
  fromToken: null,
220
215
  fromBlockchain: null,
221
216
  outputAmount: null,
222
217
  outputUsdValue: null,
223
- quote: null,
218
+ bestRoute: null,
224
219
  })),
225
220
  resetToBlockchain: () =>
226
221
  set(() => ({
@@ -228,22 +223,20 @@ export const useQuoteStore = createSelectors(
228
223
  toBlockchain: null,
229
224
  outputAmount: null,
230
225
  outputUsdValue: null,
231
- quote: null,
226
+ bestRoute: null,
232
227
  })),
233
- setQuoteWalletConfirmed: (flag) =>
228
+ setRouteWalletConfirmed: (flag) =>
234
229
  set({
235
- quoteWalletsConfirmed: flag,
230
+ routeWalletsConfirmed: flag,
236
231
  }),
237
232
  setSelectedWallets: (wallets) => set({ selectedWallets: wallets }),
238
233
  setCustomDestination: (address) => set({ customDestination: address }),
239
- resetQuoteWallets: () =>
234
+ resetRouteWallets: () =>
240
235
  set({
241
- quoteWalletsConfirmed: false,
236
+ routeWalletsConfirmed: false,
242
237
  selectedWallets: [],
243
238
  customDestination: '',
244
239
  }),
245
- setQuoteWarningsConfirmed: (flag) =>
246
- set({ quoteWarningsConfirmed: flag }),
247
240
  }))
248
241
  )
249
242
  );
@@ -0,0 +1,39 @@
1
+ import type { TokenWithBalance } from '../components/TokenList';
2
+ import type { MetaResponse } from 'rango-sdk';
3
+
4
+ import { create } from 'zustand';
5
+
6
+ import { useAppStore } from './app';
7
+ import createSelectors from './selectors';
8
+
9
+ export type LoadingStatus = 'loading' | 'success' | 'failed';
10
+
11
+ export interface MetaState {
12
+ meta: MetaResponse & { tokens: TokenWithBalance[] };
13
+ loadingStatus: LoadingStatus;
14
+ fetchMeta: () => Promise<void>;
15
+ }
16
+
17
+ export const useMetaStore = createSelectors(
18
+ create<MetaState>()((set) => ({
19
+ meta: { blockchains: [], popularTokens: [], swappers: [], tokens: [] },
20
+ loadingStatus: 'loading',
21
+ fetchMeta: async () => {
22
+ try {
23
+ await useAppStore.getState().fetch();
24
+
25
+ const state = useAppStore.getState();
26
+ const response: MetaResponse = {
27
+ blockchains: state.blockchains(),
28
+ tokens: state.tokens(),
29
+ popularTokens: state._popularTokens,
30
+ swappers: state._swappers,
31
+ };
32
+
33
+ set({ meta: response, loadingStatus: 'success' });
34
+ } catch (error) {
35
+ set({ loadingStatus: 'failed' });
36
+ }
37
+ },
38
+ }))
39
+ );
@@ -0,0 +1,158 @@
1
+ import { type Language } from '@rango-dev/ui';
2
+ import { create } from 'zustand';
3
+ import { persist, subscribeWithSelector } from 'zustand/middleware';
4
+
5
+ import { BLOCKCHAIN_LIST_SIZE } from '../constants/configs';
6
+ import { DEFAULT_LANGUAGE } from '../constants/languages';
7
+ import { DEFAULT_SLIPPAGE } from '../constants/swapSettings';
8
+ import { removeDuplicateFrom } from '../utils/common';
9
+
10
+ import { useMetaStore } from './meta';
11
+ import createSelectors from './selectors';
12
+
13
+ export type ThemeMode = 'auto' | 'dark' | 'light';
14
+
15
+ export interface SettingsState {
16
+ /** Keeping a history of blockchains that user has selected (in Swap process) */
17
+ preferredBlockchains: string[];
18
+ slippage: number;
19
+ customSlippage: number | null;
20
+ infiniteApprove: boolean;
21
+ disabledLiquiditySources: string[];
22
+ theme: ThemeMode;
23
+ language: Language;
24
+ affiliateRef: string | null;
25
+ affiliatePercent: number | null;
26
+ affiliateWallets: { [key: string]: string } | null;
27
+
28
+ setSlippage: (slippage: number) => void;
29
+ setCustomSlippage: (customSlippage: number | null) => void;
30
+ toggleInfiniteApprove: () => void;
31
+ toggleLiquiditySource: (name: string) => void;
32
+ setTheme: (theme: ThemeMode) => void;
33
+ setLanguage: (language: Language) => void;
34
+ toggleAllLiquiditySources: (shouldReset?: boolean) => void;
35
+ setAffiliateRef: (affiliateRef: string | null) => void;
36
+ setAffiliatePercent: (affiliatePercent: number | null) => void;
37
+ setAffiliateWallets: (
38
+ affiliateWallets: { [key: string]: string } | null
39
+ ) => void;
40
+ addPreferredBlockchain: (blockchain: string) => void;
41
+ }
42
+
43
+ export const useSettingsStore = createSelectors(
44
+ create<SettingsState>()(
45
+ persist(
46
+ subscribeWithSelector((set, get) => ({
47
+ preferredBlockchains: [],
48
+ slippage: DEFAULT_SLIPPAGE,
49
+ customSlippage: null,
50
+ infiniteApprove: false,
51
+ affiliateRef: null,
52
+ affiliatePercent: null,
53
+ affiliateWallets: null,
54
+ disabledLiquiditySources: [],
55
+ theme: 'auto',
56
+ language: DEFAULT_LANGUAGE,
57
+ addPreferredBlockchain: (blockchain) => {
58
+ const currentPreferredBlockchains = get().preferredBlockchains;
59
+
60
+ const noNeedToDoAnything = currentPreferredBlockchains.find(
61
+ (preferredBlockchain, index) => {
62
+ const isSameBlockchain = preferredBlockchain === blockchain;
63
+ const isInVisibleList = index <= BLOCKCHAIN_LIST_SIZE - 1;
64
+
65
+ return isSameBlockchain && isInVisibleList;
66
+ }
67
+ );
68
+
69
+ if (noNeedToDoAnything) {
70
+ return;
71
+ }
72
+
73
+ const nextPreferredBlockchains: string[] =
74
+ currentPreferredBlockchains.filter((preferredBlockchain) => {
75
+ const isSameBlockchain = preferredBlockchain === blockchain;
76
+
77
+ return !isSameBlockchain;
78
+ });
79
+
80
+ set(() => ({
81
+ preferredBlockchains: [blockchain, ...nextPreferredBlockchains],
82
+ }));
83
+ },
84
+ setSlippage: (slippage) =>
85
+ set(() => ({
86
+ slippage: slippage,
87
+ })),
88
+ setCustomSlippage: (customSlippage) =>
89
+ set(() => ({
90
+ customSlippage: customSlippage,
91
+ })),
92
+ setAffiliateRef: (affiliateRef) =>
93
+ set(() => ({
94
+ affiliateRef,
95
+ })),
96
+ setAffiliatePercent: (affiliatePercent) =>
97
+ set(() => ({
98
+ affiliatePercent,
99
+ })),
100
+
101
+ setAffiliateWallets: (affiliateWallets) =>
102
+ set(() => ({
103
+ affiliateWallets,
104
+ })),
105
+ toggleAllLiquiditySources: (shouldReset?: boolean) =>
106
+ set((state) => {
107
+ if (shouldReset) {
108
+ return { disabledLiquiditySources: [] };
109
+ }
110
+ const { swappers } = useMetaStore.getState().meta;
111
+ const swappersGroup = removeDuplicateFrom(
112
+ swappers.map((swapper) => swapper.swapperGroup)
113
+ );
114
+
115
+ if (
116
+ swappersGroup.length === state.disabledLiquiditySources.length
117
+ ) {
118
+ return { disabledLiquiditySources: [] };
119
+ }
120
+
121
+ return {
122
+ disabledLiquiditySources: swappersGroup,
123
+ };
124
+ }),
125
+ toggleInfiniteApprove: () =>
126
+ set((state) => ({
127
+ infiniteApprove: !state.infiniteApprove,
128
+ })),
129
+ toggleLiquiditySource: (name) =>
130
+ set((state) => {
131
+ if (state.disabledLiquiditySources.includes(name)) {
132
+ return {
133
+ disabledLiquiditySources: state.disabledLiquiditySources.filter(
134
+ (liquiditySource) => liquiditySource != name
135
+ ),
136
+ };
137
+ }
138
+ return {
139
+ disabledLiquiditySources:
140
+ state.disabledLiquiditySources.concat(name),
141
+ };
142
+ }),
143
+ setTheme: (theme) =>
144
+ set(() => ({
145
+ theme,
146
+ })),
147
+ setLanguage: (language) =>
148
+ set(() => ({
149
+ language,
150
+ })),
151
+ })),
152
+ {
153
+ name: 'user-settings',
154
+ skipHydration: true,
155
+ }
156
+ )
157
+ )
158
+ );
@@ -1,12 +1,7 @@
1
1
  import type { WidgetConfig } from '../../types';
2
- import type { StateCreatorWithInitialData } from '../app';
2
+ import type { StateCreator } from 'zustand';
3
3
 
4
- export const DEFAULT_CONFIG: WidgetConfig = {
5
- apiKey: '',
6
- multiWallets: true,
7
- enableNewLiquiditySources: true,
8
- customDestination: true,
9
- };
4
+ const initConfig: WidgetConfig = { apiKey: '' };
10
5
 
11
6
  export type ConfigSlice = {
12
7
  config: WidgetConfig;
@@ -14,24 +9,18 @@ export type ConfigSlice = {
14
9
  updateConfig: (config: WidgetConfig) => void;
15
10
  };
16
11
 
17
- export const createConfigSlice: StateCreatorWithInitialData<
18
- WidgetConfig,
19
- ConfigSlice,
20
- ConfigSlice
21
- > = (initialData, set, get) => {
22
- return {
23
- config: { ...DEFAULT_CONFIG, ...initialData },
12
+ export const createConfigSlice: StateCreator<ConfigSlice> = (set, get) => ({
13
+ config: initConfig,
24
14
 
25
- // Actions
26
- updateConfig: (nextConfig: WidgetConfig) => {
27
- const currentConfig = get().config;
15
+ // Actions
16
+ updateConfig: (nextConfig: WidgetConfig) => {
17
+ const currentConfig = get().config;
28
18
 
29
- set({
30
- config: {
31
- ...currentConfig,
32
- ...nextConfig,
33
- },
34
- });
35
- },
36
- };
37
- };
19
+ set({
20
+ config: {
21
+ ...currentConfig,
22
+ ...nextConfig,
23
+ },
24
+ });
25
+ },
26
+ });