@rango-dev/widget-embedded 0.17.1-next.2 → 0.17.1-next.21

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 (374) hide show
  1. package/dist/QueueManager.d.ts +5 -2
  2. package/dist/QueueManager.d.ts.map +1 -1
  3. package/dist/components/AppRouter.d.ts +0 -2
  4. package/dist/components/AppRouter.d.ts.map +1 -1
  5. package/dist/components/AppRoutes.d.ts +1 -6
  6. package/dist/components/AppRoutes.d.ts.map +1 -1
  7. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts +1 -3
  8. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts.map +1 -1
  9. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +1 -1
  10. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  11. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +1 -3
  12. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
  13. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  14. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +1 -4
  15. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
  16. package/dist/components/Layout/Layout.d.ts.map +1 -1
  17. package/dist/components/Layout/Layout.types.d.ts +2 -2
  18. package/dist/components/Layout/Layout.types.d.ts.map +1 -1
  19. package/dist/components/NoResult/NoResult.d.ts +4 -0
  20. package/dist/components/NoResult/NoResult.d.ts.map +1 -0
  21. package/dist/components/NoResult/NoResult.helpers.d.ts +4 -0
  22. package/dist/components/NoResult/NoResult.helpers.d.ts.map +1 -0
  23. package/dist/components/{NoRoutes/NoRoutes.styles.d.ts → NoResult/NoResult.styles.d.ts} +1 -1
  24. package/dist/components/{NoRoutes/NoRoutes.styles.d.ts.map → NoResult/NoResult.styles.d.ts.map} +1 -1
  25. package/dist/components/{NoRoutes/NoRoutes.types.d.ts → NoResult/NoResult.types.d.ts} +3 -3
  26. package/dist/components/NoResult/NoResult.types.d.ts.map +1 -0
  27. package/dist/components/NoResult/index.d.ts +2 -0
  28. package/dist/components/NoResult/index.d.ts.map +1 -0
  29. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  30. package/dist/components/Quote/Quote.d.ts +4 -0
  31. package/dist/components/Quote/Quote.d.ts.map +1 -0
  32. package/dist/components/Quote/Quote.styles.d.ts +1588 -0
  33. package/dist/components/Quote/Quote.styles.d.ts.map +1 -0
  34. package/dist/components/Quote/Quote.types.d.ts +21 -0
  35. package/dist/components/Quote/Quote.types.d.ts.map +1 -0
  36. package/dist/components/Quote/QuoteSkeleton.d.ts +4 -0
  37. package/dist/components/Quote/QuoteSkeleton.d.ts.map +1 -0
  38. package/dist/components/Quote/QuoteSkeleton.styles.d.ts +319 -0
  39. package/dist/components/Quote/QuoteSkeleton.styles.d.ts.map +1 -0
  40. package/dist/components/Quote/QuoteSkeleton.types.d.ts +6 -0
  41. package/dist/components/Quote/QuoteSkeleton.types.d.ts.map +1 -0
  42. package/dist/components/Quote/QuoteSummary.d.ts +11 -0
  43. package/dist/components/Quote/QuoteSummary.d.ts.map +1 -0
  44. package/dist/components/Quote/QuoteSummary.styles.d.ts +158 -0
  45. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -0
  46. package/dist/components/Quote/index.d.ts +4 -0
  47. package/dist/components/Quote/index.d.ts.map +1 -0
  48. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts +11 -0
  49. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts.map +1 -0
  50. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts +4 -0
  51. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts.map +1 -0
  52. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts +4 -0
  53. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -0
  54. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts +9 -0
  55. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -0
  56. package/dist/components/{RouteErrors/RouteErrors.styles.d.ts → QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts} +1 -1
  57. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -0
  58. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +23 -0
  59. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -0
  60. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts +11 -0
  61. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts.map +1 -0
  62. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts +11 -0
  63. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts.map +1 -0
  64. package/dist/components/QuoteWarningsAndErrors/index.d.ts +2 -0
  65. package/dist/components/QuoteWarningsAndErrors/index.d.ts.map +1 -0
  66. package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
  67. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  68. package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
  69. package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  70. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  71. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  72. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  73. package/dist/components/UpdateUrl.d.ts +1 -6
  74. package/dist/components/UpdateUrl.d.ts.map +1 -1
  75. package/dist/components/WidgetEvents.d.ts.map +1 -1
  76. package/dist/constants/errors.d.ts +4 -4
  77. package/dist/constants/errors.d.ts.map +1 -1
  78. package/dist/constants/index.d.ts +1 -0
  79. package/dist/constants/index.d.ts.map +1 -1
  80. package/dist/constants/messages.d.ts +1 -1
  81. package/dist/constants/navigationRoutes.d.ts +1 -2
  82. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  83. package/dist/constants/searchParams.d.ts +2 -1
  84. package/dist/constants/searchParams.d.ts.map +1 -1
  85. package/dist/constants/warnings.d.ts +2 -2
  86. package/dist/constants/warnings.d.ts.map +1 -1
  87. package/dist/containers/App/App.d.ts +3 -0
  88. package/dist/containers/App/App.d.ts.map +1 -0
  89. package/dist/containers/App/App.styles.d.ts +158 -0
  90. package/dist/containers/App/App.styles.d.ts.map +1 -0
  91. package/dist/containers/App/index.d.ts +2 -0
  92. package/dist/containers/App/index.d.ts.map +1 -0
  93. package/dist/containers/QuoteInfo/QuoteInfo.d.ts +4 -0
  94. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -0
  95. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +788 -0
  96. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -0
  97. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +20 -0
  98. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -0
  99. package/dist/containers/QuoteInfo/index.d.ts +2 -0
  100. package/dist/containers/QuoteInfo/index.d.ts.map +1 -0
  101. package/dist/containers/Wallets/Wallets.d.ts +6 -0
  102. package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
  103. package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
  104. package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
  105. package/dist/containers/Wallets/index.d.ts +2 -0
  106. package/dist/containers/Wallets/index.d.ts.map +1 -0
  107. package/dist/containers/Widget/Widget.d.ts +5 -0
  108. package/dist/containers/Widget/Widget.d.ts.map +1 -0
  109. package/dist/containers/Widget/Widget.types.d.ts +5 -0
  110. package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
  111. package/dist/containers/Widget/index.d.ts +3 -0
  112. package/dist/containers/Widget/index.d.ts.map +1 -0
  113. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
  114. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
  115. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +14 -0
  116. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
  117. package/dist/containers/WidgetInfo/index.d.ts +2 -0
  118. package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
  119. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
  120. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  121. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
  122. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
  123. package/dist/containers/WidgetProvider/index.d.ts +2 -0
  124. package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
  125. package/dist/hooks/useConfirmSwap/index.d.ts +2 -0
  126. package/dist/hooks/useConfirmSwap/index.d.ts.map +1 -0
  127. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts +3 -0
  128. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -0
  129. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +19 -0
  130. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -0
  131. package/dist/hooks/{useConfirmSwap.d.ts → useConfirmSwap/useConfirmSwap.types.d.ts} +5 -7
  132. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -0
  133. package/dist/hooks/{useFetchBestRoute.d.ts → useFetchQuote.d.ts} +3 -3
  134. package/dist/hooks/useFetchQuote.d.ts.map +1 -0
  135. package/dist/hooks/useForceAutoConnect.d.ts +2 -0
  136. package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
  137. package/dist/hooks/useLanguage.d.ts +1 -1
  138. package/dist/hooks/useLanguage.d.ts.map +1 -1
  139. package/dist/hooks/useNavigateBack.d.ts +1 -3
  140. package/dist/hooks/useNavigateBack.d.ts.map +1 -1
  141. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
  142. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
  143. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
  144. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +5 -7
  145. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
  146. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +1 -0
  147. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
  148. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +5 -1
  149. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
  150. package/dist/hooks/useSwapInput.d.ts +4 -2
  151. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  152. package/dist/hooks/useSyncStoresWithConfig.d.ts +1 -2
  153. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  154. package/dist/hooks/useWalletList.d.ts.map +1 -1
  155. package/dist/index.d.ts +13 -5
  156. package/dist/index.d.ts.map +1 -1
  157. package/dist/index.js +1 -1
  158. package/dist/index.js.map +4 -4
  159. package/dist/pages/ConfirmSwapPage.d.ts +1 -6
  160. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  161. package/dist/pages/HistoryPage.d.ts.map +1 -1
  162. package/dist/pages/Home.d.ts.map +1 -1
  163. package/dist/pages/LanguagePage.d.ts.map +1 -1
  164. package/dist/pages/LiquiditySourcePage.d.ts +1 -2
  165. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  166. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  167. package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
  168. package/dist/pages/SettingsPage.d.ts +1 -6
  169. package/dist/pages/SettingsPage.d.ts.map +1 -1
  170. package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
  171. package/dist/pages/ThemePage.d.ts.map +1 -1
  172. package/dist/pages/WalletsPage.d.ts +1 -8
  173. package/dist/pages/WalletsPage.d.ts.map +1 -1
  174. package/dist/store/AppStore.d.ts +11 -0
  175. package/dist/store/AppStore.d.ts.map +1 -0
  176. package/dist/store/app.d.ts +5 -23
  177. package/dist/store/app.d.ts.map +1 -1
  178. package/dist/store/{bestRoute.d.ts → quote.d.ts} +39 -27
  179. package/dist/store/quote.d.ts.map +1 -0
  180. package/dist/store/settings.d.ts +3 -2
  181. package/dist/store/settings.d.ts.map +1 -1
  182. package/dist/store/slices/config.d.ts +3 -2
  183. package/dist/store/slices/config.d.ts.map +1 -1
  184. package/dist/store/slices/data.d.ts +3 -0
  185. package/dist/store/slices/data.d.ts.map +1 -1
  186. package/dist/store/wallets.d.ts +5 -4
  187. package/dist/store/wallets.d.ts.map +1 -1
  188. package/dist/types/config.d.ts +19 -5
  189. package/dist/types/config.d.ts.map +1 -1
  190. package/dist/types/index.d.ts +1 -1
  191. package/dist/types/index.d.ts.map +1 -1
  192. package/dist/types/quote.d.ts +82 -0
  193. package/dist/types/quote.d.ts.map +1 -0
  194. package/dist/types/swap.d.ts +3 -13
  195. package/dist/types/swap.d.ts.map +1 -1
  196. package/dist/utils/colors.d.ts.map +1 -1
  197. package/dist/utils/configs.d.ts +1 -0
  198. package/dist/utils/configs.d.ts.map +1 -1
  199. package/dist/utils/meta.d.ts +2 -1
  200. package/dist/utils/meta.d.ts.map +1 -1
  201. package/dist/utils/numbers.d.ts +1 -1
  202. package/dist/utils/numbers.d.ts.map +1 -1
  203. package/dist/utils/{routing.d.ts → quote.d.ts} +16 -12
  204. package/dist/utils/quote.d.ts.map +1 -0
  205. package/dist/utils/settings.d.ts +3 -2
  206. package/dist/utils/settings.d.ts.map +1 -1
  207. package/dist/utils/swap.d.ts +34 -23
  208. package/dist/utils/swap.d.ts.map +1 -1
  209. package/dist/utils/wallets.d.ts +2 -2
  210. package/dist/utils/wallets.d.ts.map +1 -1
  211. package/package.json +6 -6
  212. package/src/QueueManager.tsx +18 -17
  213. package/src/components/AppRouter.tsx +8 -32
  214. package/src/components/AppRoutes.tsx +57 -69
  215. package/src/components/BlockchainList/BlockchainList.tsx +4 -4
  216. package/src/components/BlockchainsSection/BlockchainsSection.tsx +7 -7
  217. package/src/components/ConfirmWalletsModal/ConfirmWallets.helpers.ts +2 -64
  218. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +39 -45
  219. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +1 -3
  220. package/src/components/ConfirmWalletsModal/WalletList.tsx +6 -5
  221. package/src/components/ConfirmWalletsModal/WalletList.type.ts +1 -4
  222. package/src/components/Layout/Layout.tsx +10 -7
  223. package/src/components/Layout/Layout.types.ts +2 -2
  224. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +3 -3
  225. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +6 -6
  226. package/src/components/{NoRoutes/NoRoutes.helper.ts → NoResult/NoResult.helpers.ts} +23 -16
  227. package/src/components/{NoRoutes/NoRoutes.styles.ts → NoResult/NoResult.styles.ts} +2 -0
  228. package/src/components/{NoRoutes/NoRoutes.tsx → NoResult/NoResult.tsx} +10 -12
  229. package/src/components/{NoRoutes/NoRoutes.types.ts → NoResult/NoResult.types.ts} +3 -2
  230. package/src/components/NoResult/index.ts +1 -0
  231. package/src/components/NotificationContent/NotificationContent.tsx +5 -3
  232. package/src/components/Quote/Quote.styles.ts +239 -0
  233. package/src/components/Quote/Quote.tsx +413 -0
  234. package/src/components/Quote/Quote.types.ts +15 -0
  235. package/src/components/Quote/QuoteSkeleton.styles.ts +110 -0
  236. package/src/components/Quote/QuoteSkeleton.tsx +108 -0
  237. package/src/components/Quote/QuoteSkeleton.types.ts +5 -0
  238. package/src/components/Quote/QuoteSummary.styles.ts +15 -0
  239. package/src/components/Quote/QuoteSummary.tsx +46 -0
  240. package/src/components/Quote/index.ts +3 -0
  241. package/src/components/QuoteWarningsAndErrors/HighValueLossWarningModal.tsx +107 -0
  242. package/src/components/{RouteErrors/RouteErrorsModalItem.tsx → QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx} +4 -4
  243. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +74 -0
  244. package/src/components/{RouteErrors/RouteErrors.styles.ts → QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts} +8 -1
  245. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +103 -0
  246. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +25 -0
  247. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +77 -0
  248. package/src/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.tsx +38 -0
  249. package/src/components/QuoteWarningsAndErrors/index.ts +1 -0
  250. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +0 -4
  251. package/src/components/SwapDetails/SwapDetails.tsx +17 -24
  252. package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +4 -3
  253. package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
  254. package/src/components/SwapsGroup/SwapsGroup.styles.ts +8 -1
  255. package/src/components/SwapsGroup/SwapsGroup.tsx +0 -2
  256. package/src/components/SwitchFromAndTo.tsx +2 -2
  257. package/src/components/TokenList/TokenList.styles.ts +14 -2
  258. package/src/components/TokenList/TokenList.tsx +6 -7
  259. package/src/components/UpdateUrl.tsx +36 -29
  260. package/src/components/WidgetEvents.tsx +4 -2
  261. package/src/constants/errors.ts +17 -15
  262. package/src/constants/index.ts +1 -0
  263. package/src/constants/messages.ts +1 -1
  264. package/src/constants/navigationRoutes.ts +7 -8
  265. package/src/constants/searchParams.ts +1 -0
  266. package/src/constants/warnings.ts +7 -7
  267. package/src/containers/App/App.styles.ts +18 -0
  268. package/src/containers/App/App.tsx +55 -0
  269. package/src/containers/App/index.ts +1 -0
  270. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +31 -0
  271. package/src/containers/QuoteInfo/QuoteInfo.tsx +98 -0
  272. package/src/containers/QuoteInfo/QuoteInfo.types.ts +20 -0
  273. package/src/containers/QuoteInfo/index.ts +1 -0
  274. package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +40 -32
  275. package/src/containers/Wallets/Wallets.types.ts +12 -0
  276. package/src/containers/Wallets/index.ts +1 -0
  277. package/src/containers/Widget/Widget.tsx +19 -0
  278. package/src/containers/Widget/Widget.types.ts +5 -0
  279. package/src/containers/Widget/index.ts +2 -0
  280. package/src/containers/WidgetInfo/WidgetInfo.tsx +47 -0
  281. package/src/containers/WidgetInfo/WidgetInfo.types.ts +14 -0
  282. package/src/containers/WidgetInfo/index.ts +1 -0
  283. package/src/containers/WidgetProvider/WidgetProvider.tsx +28 -0
  284. package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
  285. package/src/containers/WidgetProvider/index.ts +1 -0
  286. package/src/hooks/useConfirmSwap/index.ts +1 -0
  287. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +172 -0
  288. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +137 -0
  289. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +19 -0
  290. package/src/hooks/{useFetchBestRoute.ts → useFetchQuote.ts} +3 -3
  291. package/src/hooks/useForceAutoConnect.ts +27 -0
  292. package/src/hooks/useLanguage.ts +2 -2
  293. package/src/hooks/useNavigateBack.ts +3 -52
  294. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
  295. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +37 -7
  296. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +60 -0
  297. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +78 -3
  298. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +13 -4
  299. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +6 -1
  300. package/src/hooks/useSwapInput.ts +139 -46
  301. package/src/hooks/useSyncStoresWithConfig.ts +22 -19
  302. package/src/hooks/useWalletList.ts +3 -5
  303. package/src/index.ts +14 -3
  304. package/src/pages/ConfirmSwapPage.tsx +95 -248
  305. package/src/pages/HistoryPage.tsx +1 -5
  306. package/src/pages/Home.tsx +75 -270
  307. package/src/pages/LanguagePage.tsx +0 -5
  308. package/src/pages/LiquiditySourcePage.tsx +22 -35
  309. package/src/pages/SelectBlockchainPage.tsx +31 -24
  310. package/src/pages/SelectSwapItemsPage.tsx +9 -23
  311. package/src/pages/SettingsPage.tsx +8 -15
  312. package/src/pages/SwapDetailsPage.tsx +6 -7
  313. package/src/pages/ThemePage.tsx +0 -4
  314. package/src/pages/WalletsPage.tsx +4 -15
  315. package/src/services/httpService.ts +1 -1
  316. package/src/store/AppStore.tsx +35 -0
  317. package/src/store/app.ts +18 -6
  318. package/src/store/{bestRoute.ts → quote.ts} +68 -60
  319. package/src/store/settings.ts +7 -4
  320. package/src/store/slices/config.ts +25 -15
  321. package/src/store/slices/data.ts +64 -29
  322. package/src/store/wallets.ts +12 -8
  323. package/src/types/config.ts +20 -5
  324. package/src/types/index.ts +1 -1
  325. package/src/types/quote.ts +107 -0
  326. package/src/types/swap.ts +3 -12
  327. package/src/utils/colors.ts +2 -1
  328. package/src/utils/configs.ts +2 -1
  329. package/src/utils/meta.ts +8 -1
  330. package/src/utils/numbers.ts +1 -1
  331. package/src/utils/quote.ts +338 -0
  332. package/src/utils/settings.ts +8 -7
  333. package/src/utils/swap.ts +153 -116
  334. package/src/utils/wallets.ts +29 -17
  335. package/dist/Wallets.d.ts +0 -17
  336. package/dist/Wallets.d.ts.map +0 -1
  337. package/dist/Widget.d.ts +0 -9
  338. package/dist/Widget.d.ts.map +0 -1
  339. package/dist/components/NoRoutes/NoRoutes.d.ts +0 -4
  340. package/dist/components/NoRoutes/NoRoutes.d.ts.map +0 -1
  341. package/dist/components/NoRoutes/NoRoutes.helper.d.ts +0 -3
  342. package/dist/components/NoRoutes/NoRoutes.helper.d.ts.map +0 -1
  343. package/dist/components/NoRoutes/NoRoutes.types.d.ts.map +0 -1
  344. package/dist/components/NoRoutes/index.d.ts +0 -2
  345. package/dist/components/NoRoutes/index.d.ts.map +0 -1
  346. package/dist/components/RouteErrors/RouteErrors.d.ts +0 -4
  347. package/dist/components/RouteErrors/RouteErrors.d.ts.map +0 -1
  348. package/dist/components/RouteErrors/RouteErrors.styles.d.ts.map +0 -1
  349. package/dist/components/RouteErrors/RouteErrors.types.d.ts +0 -24
  350. package/dist/components/RouteErrors/RouteErrors.types.d.ts.map +0 -1
  351. package/dist/components/RouteErrors/RouteErrorsModal.d.ts +0 -4
  352. package/dist/components/RouteErrors/RouteErrorsModal.d.ts.map +0 -1
  353. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts +0 -4
  354. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts.map +0 -1
  355. package/dist/components/RouteErrors/index.d.ts +0 -2
  356. package/dist/components/RouteErrors/index.d.ts.map +0 -1
  357. package/dist/hooks/useConfirmSwap.d.ts.map +0 -1
  358. package/dist/hooks/useFetchBestRoute.d.ts.map +0 -1
  359. package/dist/store/bestRoute.d.ts.map +0 -1
  360. package/dist/store/meta.d.ts +0 -23
  361. package/dist/store/meta.d.ts.map +0 -1
  362. package/dist/types/routing.d.ts +0 -65
  363. package/dist/types/routing.d.ts.map +0 -1
  364. package/dist/utils/routing.d.ts.map +0 -1
  365. package/src/Widget.tsx +0 -119
  366. package/src/components/NoRoutes/index.ts +0 -1
  367. package/src/components/RouteErrors/RouteErrors.tsx +0 -79
  368. package/src/components/RouteErrors/RouteErrors.types.ts +0 -29
  369. package/src/components/RouteErrors/RouteErrorsModal.tsx +0 -129
  370. package/src/components/RouteErrors/index.ts +0 -1
  371. package/src/hooks/useConfirmSwap.ts +0 -303
  372. package/src/store/meta.ts +0 -39
  373. package/src/types/routing.ts +0 -77
  374. package/src/utils/routing.ts +0 -321
@@ -1,15 +1,17 @@
1
1
  import { i18n } from '@lingui/core';
2
- import { Divider, SelectableCategoryList } from '@rango-dev/ui';
2
+ import {
3
+ Divider,
4
+ getCountCategories,
5
+ SelectableCategoryList
6
+ } from '@rango-dev/ui';
3
7
  import React, { useState } from 'react';
4
8
 
5
9
  import { BlockchainList } from '../components/BlockchainList';
6
10
  import { Layout } from '../components/Layout';
7
11
  import { SearchInput } from '../components/SearchInput';
8
- import { navigationRoutes } from '../constants/navigationRoutes';
9
12
  import { useNavigateBack } from '../hooks/useNavigateBack';
10
- import { useAppStore } from '../store/app';
11
- import { useBestRouteStore } from '../store/bestRoute';
12
- import { useMetaStore } from '../store/meta';
13
+ import { useAppStore } from '../store/AppStore';
14
+ import { useQuoteStore } from '../store/quote';
13
15
 
14
16
  interface PropTypes {
15
17
  type: 'source' | 'destination';
@@ -17,34 +19,40 @@ interface PropTypes {
17
19
 
18
20
  export function SelectBlockchainPage(props: PropTypes) {
19
21
  const { type } = props;
20
- const { navigateBackFrom } = useNavigateBack();
22
+ const navigateBack = useNavigateBack();
21
23
  const [searchedFor, setSearchedFor] = useState<string>('');
22
24
  const [blockchainCategory, setBlockchainCategory] = useState<string>('ALL');
23
- const setToBlockchain = useBestRouteStore.use.setToBlockchain();
24
- const setFromBlockchain = useBestRouteStore.use.setFromBlockchain();
25
- const { loadingStatus } = useMetaStore();
25
+ const setToBlockchain = useQuoteStore.use.setToBlockchain();
26
+ const setFromBlockchain = useQuoteStore.use.setFromBlockchain();
27
+ const fetchStatus = useAppStore().fetchStatus;
26
28
 
27
29
  const blockchains = useAppStore().blockchains({
28
- type: type,
30
+ type: type
29
31
  });
30
- const routeKey = type === 'source' ? 'fromBlockchain' : 'toBlockchain';
32
+
33
+ const countActiveCategories = getCountCategories(blockchains);
34
+
35
+ const showCategory = countActiveCategories !== 1;
31
36
 
32
37
  return (
33
38
  <Layout
34
39
  header={{
35
- onBack: () => {
36
- navigateBackFrom(navigationRoutes[routeKey]);
37
- },
38
- title: i18n.t(`Select Blockchain`),
40
+ title: i18n.t(`Select Blockchain`)
39
41
  }}>
40
42
  <Divider size={12} />
41
- <SelectableCategoryList
42
- setCategory={setBlockchainCategory}
43
- category={blockchainCategory}
44
- blockchains={blockchains}
45
- isLoading={loadingStatus === 'loading'}
46
- />
47
- <Divider size={24} />
43
+
44
+ {showCategory && (
45
+ <>
46
+ <SelectableCategoryList
47
+ setCategory={setBlockchainCategory}
48
+ category={blockchainCategory}
49
+ blockchains={blockchains}
50
+ isLoading={fetchStatus === 'loading'}
51
+ />
52
+ <Divider size={24} />
53
+ </>
54
+ )}
55
+
48
56
  <SearchInput
49
57
  value={searchedFor}
50
58
  autoFocus
@@ -67,8 +75,7 @@ export function SelectBlockchainPage(props: PropTypes) {
67
75
  } else {
68
76
  setToBlockchain(blockchain);
69
77
  }
70
-
71
- navigateBackFrom(navigationRoutes[routeKey]);
78
+ navigateBack();
72
79
  }}
73
80
  />
74
81
  </Layout>
@@ -11,8 +11,8 @@ import { SearchInput } from '../components/SearchInput';
11
11
  import { TokenList } from '../components/TokenList/TokenList';
12
12
  import { navigationRoutes } from '../constants/navigationRoutes';
13
13
  import { useNavigateBack } from '../hooks/useNavigateBack';
14
- import { useAppStore } from '../store/app';
15
- import { useBestRouteStore } from '../store/bestRoute';
14
+ import { useAppStore } from '../store/AppStore';
15
+ import { useQuoteStore } from '../store/quote';
16
16
  import { useWalletsStore } from '../store/wallets';
17
17
  import { getTokensBalanceFromWalletAndSort } from '../utils/wallets';
18
18
 
@@ -23,7 +23,7 @@ interface PropTypes {
23
23
  export function SelectSwapItemsPage(props: PropTypes) {
24
24
  const { type } = props;
25
25
  const navigate = useNavigate();
26
- const { navigateBackFrom } = useNavigateBack();
26
+ const navigateBack = useNavigateBack();
27
27
  const {
28
28
  fromBlockchain,
29
29
  toBlockchain,
@@ -31,7 +31,7 @@ export function SelectSwapItemsPage(props: PropTypes) {
31
31
  setToToken,
32
32
  setFromBlockchain,
33
33
  setToBlockchain,
34
- } = useBestRouteStore();
34
+ } = useQuoteStore();
35
35
  const { connectedWallets } = useWalletsStore();
36
36
  const [searchedFor, setSearchedFor] = useState<string>('');
37
37
 
@@ -63,36 +63,22 @@ export function SelectSwapItemsPage(props: PropTypes) {
63
63
 
64
64
  const updateToken = (token: Token) => {
65
65
  if (type === 'source') {
66
- setFromToken(token);
66
+ setFromToken({ token, meta: { blockchains, tokens } });
67
67
  } else {
68
- setToToken(token);
68
+ setToToken({ token, meta: { blockchains, tokens } });
69
69
  }
70
70
  };
71
71
 
72
72
  return (
73
73
  <Layout
74
74
  header={{
75
- onBack: () =>
76
- navigateBackFrom(
77
- type === 'source'
78
- ? navigationRoutes.fromSwap
79
- : navigationRoutes.toSwap
80
- ),
81
- title: i18n.t('Swap {type}', {
82
- type: type === 'source' ? 'from' : 'to',
83
- }),
75
+ title: i18n.t('Swap {type}', { type }),
84
76
  }}>
85
77
  <BlockchainsSection
86
78
  blockchains={blockchains}
87
79
  type={type == 'source' ? 'from' : 'to'}
88
80
  blockchain={type === 'source' ? fromBlockchain : toBlockchain}
89
- onMoreClick={() =>
90
- navigate(
91
- type === 'source'
92
- ? navigationRoutes.fromBlockchain
93
- : navigationRoutes.toBlockchain
94
- )
95
- }
81
+ onMoreClick={() => navigate(navigationRoutes.blockchains)}
96
82
  onChange={(blockchain) => {
97
83
  updateBlockchain(blockchain);
98
84
  }}
@@ -123,7 +109,7 @@ export function SelectSwapItemsPage(props: PropTypes) {
123
109
  updateBlockchain(tokenBlockchain);
124
110
  }
125
111
 
126
- navigateBackFrom(navigationRoutes.fromSwap);
112
+ navigateBack();
127
113
  }}
128
114
  />
129
115
  </Layout>
@@ -18,27 +18,21 @@ import { SettingsContainer } from '../components/SettingsContainer';
18
18
  import { Slippage } from '../components/Slippage';
19
19
  import { SlippageTooltipContainer as TooltipContainer } from '../components/Slippage/Slippage.styles';
20
20
  import { navigationRoutes } from '../constants/navigationRoutes';
21
- import { useNavigateBack } from '../hooks/useNavigateBack';
22
- import { useMetaStore } from '../store/meta';
21
+ import { useAppStore } from '../store/AppStore';
23
22
  import { useSettingsStore } from '../store/settings';
24
23
  import { getContainer } from '../utils/common';
25
24
  import { getUniqueSwappersGroups } from '../utils/settings';
26
25
 
27
- interface PropTypes {
28
- supportedSwappers?: string[];
29
- singleTheme?: boolean;
30
- }
31
-
32
- export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
26
+ export function SettingsPage() {
33
27
  const navigate = useNavigate();
34
- const { navigateBackFrom } = useNavigateBack();
28
+ const { theme } = useAppStore().config;
29
+ const fetchStatus = useAppStore().fetchStatus;
30
+ const swappers = useAppStore().swappers();
35
31
 
36
32
  const infiniteApprove = useSettingsStore.use.infiniteApprove();
37
33
  const toggleInfiniteApprove = useSettingsStore.use.toggleInfiniteApprove();
38
- const loadingMetaStatus = useMetaStore.use.loadingStatus();
39
34
 
40
- const supportedUniqueSwappersGroups =
41
- getUniqueSwappersGroups(supportedSwappers);
35
+ const supportedUniqueSwappersGroups = getUniqueSwappersGroups(swappers);
42
36
 
43
37
  const bridgeSources = supportedUniqueSwappersGroups.filter(
44
38
  (uniqueItem) =>
@@ -58,7 +52,7 @@ export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
58
52
  ).length;
59
53
 
60
54
  const handleEndItem = (totalSelected: number, total: number) => {
61
- switch (loadingMetaStatus) {
55
+ switch (fetchStatus) {
62
56
  case 'loading':
63
57
  return <Skeleton variant="text" size="medium" width={50} />;
64
58
  case 'failed':
@@ -167,7 +161,7 @@ export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
167
161
  exchangeItem,
168
162
  // languageItem
169
163
  ];
170
- if (!singleTheme) {
164
+ if (!theme?.singleTheme) {
171
165
  settingItems.push(themeItem);
172
166
  }
173
167
  settingItems.push(infiniteApprovalItem);
@@ -175,7 +169,6 @@ export function SettingsPage({ supportedSwappers, singleTheme }: PropTypes) {
175
169
  return (
176
170
  <Layout
177
171
  header={{
178
- onBack: navigateBackFrom.bind(null, navigationRoutes.settings),
179
172
  title: i18n.t('Setting'),
180
173
  }}>
181
174
  <SettingsContainer>
@@ -4,9 +4,8 @@ import React from 'react';
4
4
 
5
5
  import { SwapDetails } from '../components/SwapDetails';
6
6
  import { SwapDetailsPlaceholder } from '../components/SwapDetails/SwapDetails.Placeholder';
7
- import { navigationRoutes } from '../constants/navigationRoutes';
8
7
  import { useNavigateBack } from '../hooks/useNavigateBack';
9
- import { useMetaStore } from '../store/meta';
8
+ import { useAppStore } from '../store/AppStore';
10
9
  import { useUiStore } from '../store/ui';
11
10
  import { getPendingSwaps } from '../utils/queue';
12
11
 
@@ -15,10 +14,10 @@ export function SwapDetailsPage() {
15
14
  const loading = !state.loadedFromPersistor;
16
15
  const pendingSwaps = getPendingSwaps(manager);
17
16
  const requestId = useUiStore.use.selectedSwapRequestId();
18
- const { navigateBackFrom } = useNavigateBack();
19
- const { loadingStatus } = useMetaStore();
17
+ const navigateBack = useNavigateBack();
18
+ const { fetchStatus: fetchMetaStatus } = useAppStore();
20
19
 
21
- const showSkeleton = loading || loadingStatus === 'loading';
20
+ const showSkeleton = loading || fetchMetaStatus === 'loading';
22
21
 
23
22
  const selectedSwap = pendingSwaps.find(
24
23
  ({ swap }) => swap.requestId === requestId
@@ -36,8 +35,8 @@ export function SwapDetailsPage() {
36
35
  const onDelete = async () => {
37
36
  if (selectedSwap?.id) {
38
37
  try {
39
- await manager?.deleteQueue(selectedSwap.id);
40
- navigateBackFrom(navigationRoutes.swapDetails);
38
+ manager?.deleteQueue(selectedSwap.id);
39
+ navigateBack();
41
40
  } catch (e) {
42
41
  console.log(e);
43
42
  }
@@ -13,8 +13,6 @@ import React from 'react';
13
13
 
14
14
  import { Layout } from '../components/Layout';
15
15
  import { SettingsContainer } from '../components/SettingsContainer';
16
- import { navigationRoutes } from '../constants/navigationRoutes';
17
- import { useNavigateBack } from '../hooks/useNavigateBack';
18
16
  import { useSettingsStore } from '../store/settings';
19
17
 
20
18
  type Theme = 'dark' | 'light' | 'auto';
@@ -26,7 +24,6 @@ enum Mode {
26
24
  }
27
25
 
28
26
  export function ThemePage() {
29
- const { navigateBackFrom } = useNavigateBack();
30
27
  const theme = useSettingsStore.use.theme();
31
28
  const setTheme = useSettingsStore.use.setTheme();
32
29
 
@@ -72,7 +69,6 @@ export function ThemePage() {
72
69
  return (
73
70
  <Layout
74
71
  header={{
75
- onBack: navigateBackFrom.bind(null, navigationRoutes.settings),
76
72
  title: i18n.t('Theme'),
77
73
  }}>
78
74
  <SettingsContainer>
@@ -1,4 +1,3 @@
1
- import type { WidgetConfig } from '../types';
2
1
  import type { WalletType } from '@rango-dev/wallets-shared';
3
2
 
4
3
  import { i18n } from '@lingui/core';
@@ -7,18 +6,10 @@ import React, { Fragment, useState } from 'react';
7
6
 
8
7
  import { Layout } from '../components/Layout';
9
8
  import { WalletModal } from '../components/WalletModal';
10
- import { navigationRoutes } from '../constants/navigationRoutes';
11
- import { useNavigateBack } from '../hooks/useNavigateBack';
12
9
  import { useWalletList } from '../hooks/useWalletList';
13
- import { useMetaStore } from '../store/meta';
10
+ import { useAppStore } from '../store/AppStore';
14
11
  import { getContainer } from '../utils/common';
15
12
 
16
- interface PropTypes {
17
- supportedWallets: WidgetConfig['wallets'];
18
- multiWallets: boolean;
19
- config?: WidgetConfig;
20
- }
21
-
22
13
  const ListContainer = styled('div', {
23
14
  display: 'grid',
24
15
  gap: '$10',
@@ -35,8 +26,8 @@ const Container = styled('div', {
35
26
  export const TIME_TO_CLOSE_MODAL = 3_000;
36
27
  export const TIME_TO_IGNORE_MODAL = 300;
37
28
 
38
- export function WalletsPage({ config }: PropTypes) {
39
- const { navigateBackFrom } = useNavigateBack();
29
+ export function WalletsPage() {
30
+ const { config, fetchStatus: fetchMetaStatus } = useAppStore();
40
31
  const [openModal, setOpenModal] = useState(false);
41
32
  const [selectedWalletType, setSelectedWalletType] = useState<WalletType>('');
42
33
  let modalTimerId: ReturnType<typeof setTimeout> | null = null;
@@ -59,7 +50,6 @@ export function WalletsPage({ config }: PropTypes) {
59
50
  },
60
51
  });
61
52
 
62
- const loadingMetaStatus = useMetaStore.use.loadingStatus();
63
53
  const selectedWallet = list.find(
64
54
  (wallet) => wallet.type === selectedWalletType
65
55
  );
@@ -71,7 +61,6 @@ export function WalletsPage({ config }: PropTypes) {
71
61
  <Layout
72
62
  header={{
73
63
  title: i18n.t('Connect Wallets'),
74
- onBack: navigateBackFrom.bind(null, navigationRoutes.wallets),
75
64
  }}>
76
65
  <Container>
77
66
  <Typography variant="title" size="xmedium" align="center">
@@ -88,7 +77,7 @@ export function WalletsPage({ config }: PropTypes) {
88
77
  onClick={(type) => {
89
78
  void handleClick(type);
90
79
  }}
91
- isLoading={loadingMetaStatus === 'loading'}
80
+ isLoading={fetchMetaStatus === 'loading'}
92
81
  />
93
82
  </Fragment>
94
83
  );
@@ -8,6 +8,6 @@ export const httpService = () => {
8
8
  if (rango) {
9
9
  return rango;
10
10
  }
11
- rango = new RangoClient(getConfig('API_KEY'));
11
+ rango = new RangoClient(getConfig('API_KEY'), getConfig('BASE_URL'));
12
12
  return rango;
13
13
  };
@@ -0,0 +1,35 @@
1
+ import type { WidgetConfig } from '../types';
2
+ import type { PropsWithChildren } from 'react';
3
+
4
+ import React, { createContext, useContext, useRef } from 'react';
5
+
6
+ import { createAppStore } from './app';
7
+
8
+ type AppStore = ReturnType<typeof createAppStore>;
9
+ type AppStoreProviderProps = PropsWithChildren<{ config?: WidgetConfig }>;
10
+
11
+ export const AppStoreContext = createContext<AppStore | null>(null);
12
+
13
+ export function useAppStore() {
14
+ const store = useContext(AppStoreContext);
15
+
16
+ if (!store) {
17
+ throw new Error('Missing AppStoreContext.Provider in the tree');
18
+ }
19
+
20
+ return store();
21
+ }
22
+
23
+ export function AppStoreProvider(props: AppStoreProviderProps) {
24
+ const appStoreRef = useRef<AppStore>();
25
+
26
+ if (!appStoreRef.current) {
27
+ appStoreRef.current = createAppStore(props.config);
28
+ }
29
+
30
+ return (
31
+ <AppStoreContext.Provider value={appStoreRef.current}>
32
+ {props.children}
33
+ </AppStoreContext.Provider>
34
+ );
35
+ }
package/src/store/app.ts CHANGED
@@ -1,15 +1,27 @@
1
1
  import type { ConfigSlice } from './slices/config';
2
2
  import type { DataSlice } from './slices/data';
3
+ import type { WidgetConfig } from '../types';
4
+ import type { StateCreator } from 'zustand';
3
5
 
4
6
  import { create } from 'zustand';
5
7
 
6
- import createSelectors from './selectors';
7
8
  import { createConfigSlice } from './slices/config';
8
9
  import { createDataSlice } from './slices/data';
9
10
 
10
- const store = create<DataSlice & ConfigSlice>()((...a) => ({
11
- ...createDataSlice(...a),
12
- ...createConfigSlice(...a),
13
- }));
11
+ export type StateCreatorWithInitialData<
12
+ T extends Partial<WidgetConfig>,
13
+ R extends Record<string, unknown>,
14
+ V extends Record<string, unknown>
15
+ > = (
16
+ initialData: T | undefined,
17
+ ...rest: Parameters<StateCreator<R, [], [], V>>
18
+ ) => ReturnType<StateCreator<R, [], [], V>>;
14
19
 
15
- export const useAppStore = createSelectors(store);
20
+ export type AppStoreState = DataSlice & ConfigSlice;
21
+
22
+ export function createAppStore(initialData?: WidgetConfig) {
23
+ return create<AppStoreState>()((...a) => ({
24
+ ...createDataSlice(...a),
25
+ ...createConfigSlice(initialData, ...a),
26
+ }));
27
+ }