@rango-dev/widget-embedded 0.17.1-next.3 → 0.17.1-next.31

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 (331) 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.styles.d.ts +370 -56
  8. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -1
  9. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  10. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +0 -2
  11. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
  12. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  13. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +1 -4
  14. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
  15. package/dist/components/HeaderButtons/HomeButtons.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/LoadingSwapDetails/LoadingSwapDetailStep.d.ts.map +1 -1
  20. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts.map +1 -1
  21. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +1727 -0
  22. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -1
  23. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  24. package/dist/components/Quote/Quote.d.ts.map +1 -1
  25. package/dist/components/Quote/Quote.styles.d.ts +633 -3
  26. package/dist/components/Quote/Quote.styles.d.ts.map +1 -1
  27. package/dist/components/Quote/Quote.types.d.ts +0 -1
  28. package/dist/components/Quote/Quote.types.d.ts.map +1 -1
  29. package/dist/components/Quote/QuoteSummary.styles.d.ts +157 -0
  30. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -1
  31. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -1
  32. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -1
  33. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -1
  34. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +1 -0
  35. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -1
  36. package/dist/components/Slippage/Slippage.d.ts.map +1 -1
  37. package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
  38. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  39. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +1 -1
  40. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -1
  41. package/dist/components/SwapDetails/SwapDetails.styles.d.ts +628 -0
  42. package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -1
  43. package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
  44. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts +1 -1
  45. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts.map +1 -1
  46. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +1 -1
  47. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -1
  48. package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  49. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts +157 -0
  50. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  51. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  52. package/dist/components/TokenList/TokenList.helpers.d.ts +2 -2
  53. package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -1
  54. package/dist/components/TokenList/TokenList.styles.d.ts +942 -0
  55. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  56. package/dist/components/TokenList/TokenList.types.d.ts +3 -9
  57. package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
  58. package/dist/components/TokenList/index.d.ts +0 -1
  59. package/dist/components/TokenList/index.d.ts.map +1 -1
  60. package/dist/components/UpdateUrl.d.ts +1 -6
  61. package/dist/components/UpdateUrl.d.ts.map +1 -1
  62. package/dist/components/WidgetEvents.d.ts.map +1 -1
  63. package/dist/constants/errors.d.ts.map +1 -1
  64. package/dist/constants/index.d.ts +1 -0
  65. package/dist/constants/index.d.ts.map +1 -1
  66. package/dist/constants/navigationRoutes.d.ts +1 -2
  67. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  68. package/dist/constants/searchParams.d.ts +2 -1
  69. package/dist/constants/searchParams.d.ts.map +1 -1
  70. package/dist/containers/App/App.d.ts +3 -0
  71. package/dist/containers/App/App.d.ts.map +1 -0
  72. package/dist/containers/App/App.styles.d.ts +158 -0
  73. package/dist/containers/App/App.styles.d.ts.map +1 -0
  74. package/dist/containers/App/index.d.ts +2 -0
  75. package/dist/containers/App/index.d.ts.map +1 -0
  76. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -1
  77. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +316 -0
  78. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -1
  79. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +3 -0
  80. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -1
  81. package/dist/containers/Wallets/Wallets.d.ts +6 -0
  82. package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
  83. package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
  84. package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
  85. package/dist/containers/Wallets/index.d.ts +2 -0
  86. package/dist/containers/Wallets/index.d.ts.map +1 -0
  87. package/dist/containers/Widget/Widget.d.ts +5 -0
  88. package/dist/containers/Widget/Widget.d.ts.map +1 -0
  89. package/dist/containers/Widget/Widget.types.d.ts +5 -0
  90. package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
  91. package/dist/containers/Widget/index.d.ts +3 -0
  92. package/dist/containers/Widget/index.d.ts.map +1 -0
  93. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
  94. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
  95. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +20 -0
  96. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +1 -0
  97. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +21 -0
  98. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
  99. package/dist/containers/WidgetInfo/index.d.ts +2 -0
  100. package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
  101. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
  102. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  103. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
  104. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
  105. package/dist/containers/WidgetProvider/index.d.ts +2 -0
  106. package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
  107. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -1
  108. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +6 -3
  109. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -1
  110. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts +1 -1
  111. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -1
  112. package/dist/hooks/useForceAutoConnect.d.ts +2 -0
  113. package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
  114. package/dist/hooks/useLanguage.d.ts +1 -1
  115. package/dist/hooks/useLanguage.d.ts.map +1 -1
  116. package/dist/hooks/useNavigateBack.d.ts +1 -3
  117. package/dist/hooks/useNavigateBack.d.ts.map +1 -1
  118. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
  119. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
  120. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
  121. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +3 -5
  122. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
  123. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +1 -0
  124. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
  125. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +5 -1
  126. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
  127. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  128. package/dist/hooks/useSyncStoresWithConfig.d.ts +1 -2
  129. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  130. package/dist/hooks/useTheme.d.ts +1 -1
  131. package/dist/hooks/useTheme.d.ts.map +1 -1
  132. package/dist/hooks/useWalletList.d.ts.map +1 -1
  133. package/dist/index.d.ts +20 -8
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +1 -1
  136. package/dist/index.js.map +4 -4
  137. package/dist/pages/ConfirmSwapPage.d.ts +1 -6
  138. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  139. package/dist/pages/HistoryPage.d.ts.map +1 -1
  140. package/dist/pages/Home.d.ts.map +1 -1
  141. package/dist/pages/LanguagePage.d.ts.map +1 -1
  142. package/dist/pages/LiquiditySourcePage.d.ts +1 -2
  143. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  144. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  145. package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
  146. package/dist/pages/SettingsPage.d.ts +1 -6
  147. package/dist/pages/SettingsPage.d.ts.map +1 -1
  148. package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
  149. package/dist/pages/ThemePage.d.ts.map +1 -1
  150. package/dist/pages/WalletsPage.d.ts +1 -8
  151. package/dist/pages/WalletsPage.d.ts.map +1 -1
  152. package/dist/store/AppStore.d.ts +47 -0
  153. package/dist/store/AppStore.d.ts.map +1 -0
  154. package/dist/store/app.d.ts +41 -22
  155. package/dist/store/app.d.ts.map +1 -1
  156. package/dist/store/notification.d.ts +4 -3
  157. package/dist/store/notification.d.ts.map +1 -1
  158. package/dist/store/quote.d.ts +23 -16
  159. package/dist/store/quote.d.ts.map +1 -1
  160. package/dist/store/slices/config.d.ts +3 -2
  161. package/dist/store/slices/config.d.ts.map +1 -1
  162. package/dist/store/slices/data.d.ts +3 -0
  163. package/dist/store/slices/data.d.ts.map +1 -1
  164. package/dist/store/slices/settings.d.ts +39 -0
  165. package/dist/store/slices/settings.d.ts.map +1 -0
  166. package/dist/store/ui.d.ts +2 -1
  167. package/dist/store/ui.d.ts.map +1 -1
  168. package/dist/store/wallets.d.ts +14 -9
  169. package/dist/store/wallets.d.ts.map +1 -1
  170. package/dist/types/config.d.ts +38 -5
  171. package/dist/types/config.d.ts.map +1 -1
  172. package/dist/types/swap.d.ts +4 -14
  173. package/dist/types/swap.d.ts.map +1 -1
  174. package/dist/types/wallets.d.ts +15 -1
  175. package/dist/types/wallets.d.ts.map +1 -1
  176. package/dist/utils/colors.d.ts.map +1 -1
  177. package/dist/utils/configs.d.ts +1 -0
  178. package/dist/utils/configs.d.ts.map +1 -1
  179. package/dist/utils/meta.d.ts +2 -1
  180. package/dist/utils/meta.d.ts.map +1 -1
  181. package/dist/utils/providers.d.ts +2 -2
  182. package/dist/utils/providers.d.ts.map +1 -1
  183. package/dist/utils/queue.d.ts +2 -2
  184. package/dist/utils/queue.d.ts.map +1 -1
  185. package/dist/utils/quote.d.ts +1 -1
  186. package/dist/utils/quote.d.ts.map +1 -1
  187. package/dist/utils/settings.d.ts +6 -2
  188. package/dist/utils/settings.d.ts.map +1 -1
  189. package/dist/utils/swap.d.ts +16 -7
  190. package/dist/utils/swap.d.ts.map +1 -1
  191. package/dist/utils/time.d.ts +1 -1
  192. package/dist/utils/time.d.ts.map +1 -1
  193. package/dist/utils/wallets.d.ts +7 -9
  194. package/dist/utils/wallets.d.ts.map +1 -1
  195. package/package.json +12 -10
  196. package/src/QueueManager.tsx +18 -17
  197. package/src/components/AppRouter.tsx +8 -32
  198. package/src/components/AppRoutes.tsx +57 -69
  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.tsx +4 -4
  202. package/src/components/ConfirmWalletsModal/ConfirmWallets.styles.ts +12 -6
  203. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +20 -21
  204. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +0 -2
  205. package/src/components/ConfirmWalletsModal/WalletList.tsx +6 -5
  206. package/src/components/ConfirmWalletsModal/WalletList.type.ts +1 -4
  207. package/src/components/HeaderButtons/HomeButtons.tsx +28 -18
  208. package/src/components/Layout/Layout.tsx +20 -7
  209. package/src/components/Layout/Layout.types.ts +2 -2
  210. package/src/components/LoadingSwapDetails/LoadingSwapDetailStep.tsx +14 -7
  211. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +63 -60
  212. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +17 -8
  213. package/src/components/NoResult/NoResult.helpers.ts +12 -12
  214. package/src/components/NoResult/NoResult.tsx +6 -6
  215. package/src/components/NotificationContent/NotificationContent.tsx +5 -3
  216. package/src/components/Quote/Quote.styles.ts +42 -12
  217. package/src/components/Quote/Quote.tsx +106 -37
  218. package/src/components/Quote/Quote.types.ts +0 -1
  219. package/src/components/Quote/QuoteSkeleton.tsx +1 -1
  220. package/src/components/Quote/QuoteSummary.styles.ts +9 -8
  221. package/src/components/Quote/QuoteSummary.tsx +2 -2
  222. package/src/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx +1 -1
  223. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +11 -4
  224. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts +8 -1
  225. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +13 -13
  226. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +1 -0
  227. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +3 -3
  228. package/src/components/Slippage/Slippage.tsx +3 -5
  229. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +5 -7
  230. package/src/components/SwapDetails/SwapDetails.helpers.tsx +1 -1
  231. package/src/components/SwapDetails/SwapDetails.styles.ts +37 -33
  232. package/src/components/SwapDetails/SwapDetails.tsx +33 -45
  233. package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +1 -1
  234. package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +4 -3
  235. package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
  236. package/src/components/SwapDetailsModal/SwapDetailsModal.helpers.tsx +1 -1
  237. package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +1 -1
  238. package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +1 -1
  239. package/src/components/SwapsGroup/SwapsGroup.styles.ts +10 -1
  240. package/src/components/SwapsGroup/SwapsGroup.tsx +3 -5
  241. package/src/components/TokenList/TokenList.helpers.ts +2 -2
  242. package/src/components/TokenList/TokenList.styles.ts +58 -37
  243. package/src/components/TokenList/TokenList.tsx +28 -23
  244. package/src/components/TokenList/TokenList.types.ts +3 -10
  245. package/src/components/TokenList/index.ts +0 -1
  246. package/src/components/UpdateUrl.tsx +23 -18
  247. package/src/components/WidgetEvents.tsx +4 -2
  248. package/src/constants/errors.ts +9 -5
  249. package/src/constants/index.ts +1 -0
  250. package/src/constants/navigationRoutes.ts +7 -8
  251. package/src/constants/searchParams.ts +1 -0
  252. package/src/containers/App/App.styles.ts +18 -0
  253. package/src/containers/App/App.tsx +52 -0
  254. package/src/containers/App/index.ts +1 -0
  255. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +17 -1
  256. package/src/containers/QuoteInfo/QuoteInfo.tsx +44 -43
  257. package/src/containers/QuoteInfo/QuoteInfo.types.ts +3 -0
  258. package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +48 -34
  259. package/src/containers/Wallets/Wallets.types.ts +12 -0
  260. package/src/containers/Wallets/index.ts +1 -0
  261. package/src/containers/Widget/Widget.tsx +19 -0
  262. package/src/containers/Widget/Widget.types.ts +5 -0
  263. package/src/containers/Widget/index.ts +2 -0
  264. package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +64 -0
  265. package/src/containers/WidgetInfo/WidgetInfo.tsx +62 -0
  266. package/src/containers/WidgetInfo/WidgetInfo.types.ts +21 -0
  267. package/src/containers/WidgetInfo/index.ts +1 -0
  268. package/src/containers/WidgetProvider/WidgetProvider.tsx +28 -0
  269. package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
  270. package/src/containers/WidgetProvider/index.ts +1 -0
  271. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +15 -11
  272. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +25 -24
  273. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +1 -1
  274. package/src/hooks/useForceAutoConnect.ts +27 -0
  275. package/src/hooks/useLanguage.ts +4 -5
  276. package/src/hooks/useNavigateBack.ts +3 -52
  277. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
  278. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +37 -7
  279. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +60 -0
  280. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +78 -3
  281. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +15 -6
  282. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +6 -1
  283. package/src/hooks/useSwapInput.ts +89 -30
  284. package/src/hooks/useSyncStoresWithConfig.ts +38 -22
  285. package/src/hooks/useTheme.ts +4 -5
  286. package/src/hooks/useWalletList.ts +3 -5
  287. package/src/index.ts +53 -5
  288. package/src/pages/ConfirmSwapPage.tsx +61 -41
  289. package/src/pages/HistoryPage.tsx +2 -7
  290. package/src/pages/Home.tsx +58 -88
  291. package/src/pages/LanguagePage.tsx +0 -5
  292. package/src/pages/LiquiditySourcePage.tsx +24 -37
  293. package/src/pages/SelectBlockchainPage.tsx +28 -21
  294. package/src/pages/SelectSwapItemsPage.tsx +10 -27
  295. package/src/pages/SettingsPage.tsx +28 -24
  296. package/src/pages/SwapDetailsPage.tsx +6 -7
  297. package/src/pages/ThemePage.tsx +2 -7
  298. package/src/pages/WalletsPage.tsx +4 -15
  299. package/src/services/httpService.ts +1 -1
  300. package/src/store/AppStore.tsx +41 -0
  301. package/src/store/app.ts +44 -6
  302. package/src/store/quote.ts +29 -26
  303. package/src/store/slices/config.ts +25 -15
  304. package/src/store/slices/data.ts +64 -29
  305. package/src/store/slices/settings.ts +168 -0
  306. package/src/store/wallets.ts +68 -37
  307. package/src/types/config.ts +50 -5
  308. package/src/types/swap.ts +4 -13
  309. package/src/types/wallets.ts +18 -1
  310. package/src/utils/colors.ts +2 -1
  311. package/src/utils/configs.ts +2 -1
  312. package/src/utils/date.ts +1 -1
  313. package/src/utils/meta.ts +8 -1
  314. package/src/utils/providers.ts +8 -5
  315. package/src/utils/queue.ts +2 -2
  316. package/src/utils/quote.ts +7 -7
  317. package/src/utils/settings.ts +17 -10
  318. package/src/utils/swap.ts +59 -55
  319. package/src/utils/time.ts +1 -1
  320. package/src/utils/wallets.ts +107 -149
  321. package/dist/Wallets.d.ts +0 -17
  322. package/dist/Wallets.d.ts.map +0 -1
  323. package/dist/Widget.d.ts +0 -9
  324. package/dist/Widget.d.ts.map +0 -1
  325. package/dist/store/meta.d.ts +0 -23
  326. package/dist/store/meta.d.ts.map +0 -1
  327. package/dist/store/settings.d.ts +0 -81
  328. package/dist/store/settings.d.ts.map +0 -1
  329. package/src/Widget.tsx +0 -119
  330. package/src/store/meta.ts +0 -39
  331. package/src/store/settings.ts +0 -158
@@ -1,14 +1,15 @@
1
1
  import type { QuoteError, QuoteWarning } from '../types';
2
+ import type { Token } from 'rango-sdk';
2
3
 
3
- import { useEffect, useRef, useState } from 'react';
4
+ import { useCallback, useEffect, useState } from 'react';
4
5
 
5
- import { useMetaStore } from '../store/meta';
6
+ import { useAppStore } from '../store/AppStore';
6
7
  import { useQuoteStore } from '../store/quote';
7
- import { useSettingsStore } from '../store/settings';
8
8
  import { QuoteErrorType } from '../types';
9
9
  import { debounce } from '../utils/common';
10
10
  import { isPositiveNumber } from '../utils/numbers';
11
11
  import { generateQuoteWarnings } from '../utils/quote';
12
+ import { isFeatureEnabled } from '../utils/settings';
12
13
  import { createQuoteRequestBody } from '../utils/swap';
13
14
  import { tokensAreEqual } from '../utils/wallets';
14
15
 
@@ -19,6 +20,12 @@ import {
19
20
  import { useFetchQuote } from './useFetchQuote';
20
21
 
21
22
  const DEBOUNCE_DELAY = 600;
23
+ const FIRST_INDEX = 0;
24
+
25
+ type FetchQuoteParams = Omit<
26
+ Parameters<typeof createQuoteRequestBody>[typeof FIRST_INDEX],
27
+ 'fromToken' | 'toToken'
28
+ > & { fromToken: Token | null; toToken: Token | null };
22
29
 
23
30
  type UseSwapInput = {
24
31
  fetch: () => void;
@@ -33,6 +40,9 @@ type UseSwapInput = {
33
40
  */
34
41
  export function useSwapInput(): UseSwapInput {
35
42
  const { fetch: fetchQuote, cancelFetch } = useFetchQuote();
43
+ const { liquiditySources, enableNewLiquiditySources, features } =
44
+ useAppStore().config;
45
+ const tokens = useAppStore().tokens();
36
46
  const {
37
47
  fromToken,
38
48
  toToken,
@@ -41,9 +51,6 @@ export function useSwapInput(): UseSwapInput {
41
51
  resetQuote,
42
52
  setQuote,
43
53
  } = useQuoteStore();
44
- const {
45
- meta: { tokens },
46
- } = useMetaStore();
47
54
  const {
48
55
  slippage,
49
56
  customSlippage,
@@ -51,11 +58,10 @@ export function useSwapInput(): UseSwapInput {
51
58
  affiliateRef,
52
59
  affiliateWallets,
53
60
  disabledLiquiditySources,
54
- } = useSettingsStore();
61
+ } = useAppStore();
55
62
  const [loading, setLoading] = useState(false);
56
63
  const [error, setError] = useState<QuoteError | null>(null);
57
64
  const [warning, setWarning] = useState<QuoteWarning | null>(null);
58
- const prevDisabledLiquiditySources = useRef(disabledLiquiditySources);
59
65
  const userSlippage = customSlippage ?? slippage;
60
66
  const hasTokensValue = !fromToken || !toToken;
61
67
  const shouldSkipRequest =
@@ -69,22 +75,39 @@ export function useSwapInput(): UseSwapInput {
69
75
  setWarning(null);
70
76
  };
71
77
 
72
- const fetch: UseSwapInput['fetch'] = () => {
78
+ const fetch = (params: FetchQuoteParams) => {
79
+ const {
80
+ fromToken,
81
+ toToken,
82
+ inputAmount,
83
+ liquiditySources,
84
+ excludeLiquiditySources,
85
+ disabledLiquiditySources,
86
+ slippage,
87
+ affiliateRef,
88
+ affiliatePercent,
89
+ affiliateWallets,
90
+ } = params;
73
91
  if (!loading) {
74
92
  resetState(true);
75
93
  }
76
- if (!shouldSkipRequest) {
94
+ if (!shouldSkipRequest && fromToken && toToken) {
77
95
  resetQuote();
78
96
  const requestBody = createQuoteRequestBody({
79
97
  fromToken,
80
98
  toToken,
81
99
  inputAmount,
100
+ liquiditySources,
101
+ excludeLiquiditySources,
82
102
  disabledLiquiditySources,
83
- slippage: userSlippage,
103
+ slippage,
84
104
  affiliateRef,
85
105
  affiliatePercent,
86
106
  affiliateWallets,
87
107
  });
108
+ if (isFeatureEnabled('experimentalRoute', features)) {
109
+ requestBody.experimental = true;
110
+ }
88
111
  fetchQuote(requestBody)
89
112
  .then((res) => {
90
113
  setLoading(false);
@@ -114,11 +137,14 @@ export function useSwapInput(): UseSwapInput {
114
137
  }
115
138
  };
116
139
 
117
- const debouncedFetch = debounce(() => {
118
- if (!shouldSkipRequest) {
119
- fetch();
120
- }
121
- }, DEBOUNCE_DELAY);
140
+ const debouncedFetch = useCallback(
141
+ debounce((params: FetchQuoteParams) => {
142
+ if (!shouldSkipRequest) {
143
+ fetch(params);
144
+ }
145
+ }, DEBOUNCE_DELAY),
146
+ [shouldSkipRequest]
147
+ );
122
148
 
123
149
  useEffect(() => {
124
150
  if (!isPositiveNumber(inputAmount) || inputUsdValue?.eq(0)) {
@@ -131,20 +157,53 @@ export function useSwapInput(): UseSwapInput {
131
157
  }
132
158
  resetQuote();
133
159
  resetState(true);
134
- debouncedFetch();
135
- return cancelFetch;
136
- }, [inputAmount, shouldSkipRequest]);
137
-
138
- useEffect(() => {
139
- const disabledLiquiditySourceReset =
140
- !!prevDisabledLiquiditySources.current.length &&
141
- !disabledLiquiditySources.length;
142
- if (!shouldSkipRequest && disabledLiquiditySourceReset) {
143
- fetch();
144
- }
145
- prevDisabledLiquiditySources.current = disabledLiquiditySources;
160
+ debouncedFetch({
161
+ inputAmount,
162
+ fromToken,
163
+ toToken,
164
+ liquiditySources,
165
+ excludeLiquiditySources: enableNewLiquiditySources,
166
+ disabledLiquiditySources,
167
+ slippage: userSlippage,
168
+ affiliateRef,
169
+ affiliatePercent,
170
+ affiliateWallets,
171
+ });
146
172
  return cancelFetch;
147
- }, [disabledLiquiditySources.length]);
173
+ }, [
174
+ inputAmount,
175
+ fromToken?.symbol,
176
+ fromToken?.address,
177
+ fromToken?.blockchain,
178
+ toToken?.symbol,
179
+ toToken?.address,
180
+ toToken?.blockchain,
181
+ shouldSkipRequest,
182
+ liquiditySources?.length,
183
+ enableNewLiquiditySources,
184
+ disabledLiquiditySources.length,
185
+ userSlippage,
186
+ affiliateRef,
187
+ affiliatePercent,
188
+ JSON.stringify(affiliateWallets),
189
+ ]);
148
190
 
149
- return { fetch, loading, error, warning };
191
+ return {
192
+ fetch: () =>
193
+ fetch({
194
+ inputAmount,
195
+ fromToken,
196
+ toToken,
197
+ liquiditySources,
198
+ excludeLiquiditySources: enableNewLiquiditySources,
199
+ disabledLiquiditySources,
200
+ slippage: userSlippage,
201
+ affiliateRef,
202
+ affiliatePercent,
203
+ affiliateWallets,
204
+ }),
205
+ loading,
206
+ error,
207
+ warning,
208
+ };
150
209
  }
@@ -1,14 +1,12 @@
1
- import type { WidgetConfig } from '../types';
2
1
  import type { Asset } from 'rango-sdk';
3
2
 
4
- import { useEffect, useMemo, useRef } from 'react';
3
+ import { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
5
4
 
6
- import { useMetaStore } from '../store/meta';
5
+ import { useAppStore } from '../store/AppStore';
7
6
  import { useQuoteStore } from '../store/quote';
8
- import { useSettingsStore } from '../store/settings';
9
7
  import { tokensAreEqual } from '../utils/wallets';
10
8
 
11
- export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
9
+ export function useSyncStoresWithConfig() {
12
10
  const {
13
11
  setInputAmount,
14
12
  setToToken,
@@ -21,13 +19,13 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
21
19
  toBlockchain,
22
20
  } = useQuoteStore();
23
21
 
24
- const {
25
- meta: { tokens, blockchains },
26
- loadingStatus: loadingMetaStatus,
27
- } = useMetaStore();
22
+ const config = useAppStore().config;
23
+ const fetchMetaStatus = useAppStore().fetchStatus;
24
+ const blockchains = useAppStore().blockchains();
25
+ const tokens = useAppStore().tokens();
28
26
 
29
27
  const { setAffiliateRef, setAffiliatePercent, setAffiliateWallets } =
30
- useSettingsStore();
28
+ useAppStore();
31
29
 
32
30
  const fromTokensConfig = useMemo(
33
31
  () => config?.from?.tokens,
@@ -54,8 +52,15 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
54
52
  setInputAmount(config?.amount?.toString() || '');
55
53
  }, [config?.amount]);
56
54
 
57
- useEffect(() => {
58
- if (loadingMetaStatus === 'success') {
55
+ /*
56
+ * We update quote tokens in two scenarios.
57
+ * If default values exist in widget config or search parameters exist in URL.
58
+ * The logic for updating quote store exists in two useEffect in two locations, and they run in order.If default tokens for quote exist in widget config and also exist in URL, widget config values take precedence over URL values, and URL search parameters don’t affect the widget.
59
+ * Using useLayoutEffect causes widget config values to apply first.
60
+ * We may consider replacing this with a better solution in the future.
61
+ */
62
+ useLayoutEffect(() => {
63
+ if (fetchMetaStatus === 'success') {
59
64
  const chain = blockchains.find(
60
65
  (chain) => chain.name === config?.from?.blockchain
61
66
  );
@@ -67,8 +72,10 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
67
72
  setFromBlockchain(chain ?? null);
68
73
  }
69
74
 
70
- if (token || (!token && prevConfigFromToken.current)) {
71
- setFromToken(token ?? null);
75
+ if (token) {
76
+ setFromToken({ token, meta: { blockchains, tokens } });
77
+ } else if (!token && prevConfigFromToken.current) {
78
+ setFromToken({ token: null });
72
79
  }
73
80
 
74
81
  prevConfigFromBlockchain.current = config?.from?.blockchain;
@@ -79,13 +86,13 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
79
86
  config?.from?.token?.address,
80
87
  config?.from?.token?.blockchain,
81
88
  config?.from?.blockchain,
82
- loadingMetaStatus,
89
+ fetchMetaStatus,
83
90
  ]);
84
91
 
85
92
  useEffect(() => {
86
93
  if (fromToken && fromTokensConfig) {
87
94
  if (!fromTokensConfig.some((token) => tokensAreEqual(token, fromToken))) {
88
- setFromToken(null);
95
+ setFromToken({ token: null });
89
96
  }
90
97
  }
91
98
 
@@ -99,7 +106,7 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
99
106
  useEffect(() => {
100
107
  if (toToken && toTokensConfig) {
101
108
  if (!toTokensConfig.some((token) => tokensAreEqual(token, toToken))) {
102
- setToToken(null);
109
+ setToToken({ token: null });
103
110
  }
104
111
  }
105
112
 
@@ -110,8 +117,15 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
110
117
  }
111
118
  }, [toTokensConfig, toBlockchainsConfig]);
112
119
 
113
- useEffect(() => {
114
- if (loadingMetaStatus === 'success') {
120
+ /*
121
+ * We update quote tokens in two scenarios.
122
+ * If default values exist in widget config or search parameters exist in URL.
123
+ * The logic for updating quote store exists in two useEffect in two locations, and they run in order.If default tokens for quote exist in widget config and also exist in URL, widget config values take precedence over URL values, and URL search parameters don’t affect the widget.
124
+ * Using useLayoutEffect causes widget config values to apply first.
125
+ * We may consider replacing this with a better solution in the future.
126
+ */
127
+ useLayoutEffect(() => {
128
+ if (fetchMetaStatus === 'success') {
115
129
  const chain = blockchains.find(
116
130
  (chain) => chain.name === config?.to?.blockchain
117
131
  );
@@ -123,8 +137,10 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
123
137
  setToBlockchain(chain ?? null);
124
138
  }
125
139
 
126
- if (token || (!token && prevConfigToToken.current)) {
127
- setToToken(token ?? null);
140
+ if (token) {
141
+ setToToken({ token, meta: { blockchains, tokens } });
142
+ } else if (!token && prevConfigToToken.current) {
143
+ setToToken({ token: null });
128
144
  }
129
145
 
130
146
  prevConfigToBlockchain.current = config?.to?.blockchain;
@@ -135,7 +151,7 @@ export function useSyncStoresWithConfig(config: WidgetConfig | undefined) {
135
151
  config?.to?.token?.address,
136
152
  config?.to?.token?.blockchain,
137
153
  config?.to?.blockchain,
138
- loadingMetaStatus,
154
+ fetchMetaStatus,
139
155
  ]);
140
156
 
141
157
  useEffect(() => {
@@ -1,6 +1,4 @@
1
1
  /* eslint-disable @typescript-eslint/no-magic-numbers */
2
- import type { WidgetTheme } from '../types';
3
-
4
2
  import {
5
3
  createTheme,
6
4
  darkTheme as defaultDarkTheme,
@@ -8,7 +6,8 @@ import {
8
6
  } from '@rango-dev/ui';
9
7
  import { useEffect, useState } from 'react';
10
8
 
11
- import { useSettingsStore } from '../store/settings';
9
+ import { useAppStore } from '../store/AppStore';
10
+ import { type WidgetTheme } from '../types';
12
11
  import {
13
12
  DEFAULT_FONT_FAMILY,
14
13
  DEFAULT_PRIMARY_RADIUS,
@@ -26,8 +25,8 @@ export function useTheme(props: WidgetTheme) {
26
25
  } = props;
27
26
 
28
27
  const [OSTheme, setOSTheme] = useState('light');
29
- const theme = useSettingsStore.use.theme();
30
- const setTheme = useSettingsStore.use.setTheme();
28
+
29
+ const { setTheme, theme } = useAppStore();
31
30
 
32
31
  const { dark, light } = customizedThemeTokens(colors);
33
32
 
@@ -10,7 +10,7 @@ import {
10
10
  } from '@rango-dev/wallets-shared';
11
11
  import { useEffect, useState } from 'react';
12
12
 
13
- import { useMetaStore } from '../store/meta';
13
+ import { useAppStore } from '../store/AppStore';
14
14
  import { useWalletsStore } from '../store/wallets';
15
15
  import { configWalletsToWalletName } from '../utils/providers';
16
16
  import {
@@ -37,9 +37,7 @@ export function useWalletList(params: Params) {
37
37
  const { config, chain, onBeforeConnect, onConnect } = params;
38
38
  const { state, disconnect, getWalletInfo, connect } = useWallets();
39
39
  const { connectedWallets } = useWalletsStore();
40
- const { blockchains } = useMetaStore().meta;
41
- const multiWallets =
42
- typeof config?.multiWallets === 'undefined' ? true : config.multiWallets;
40
+ const blockchains = useAppStore().blockchains();
43
41
 
44
42
  /** It can be what has been set by widget config or as a fallback we use all the supported wallets by our library */
45
43
  const listAvailableWalletTypes =
@@ -76,7 +74,7 @@ export function useWalletList(params: Params) {
76
74
  const atLeastOneWalletIsConnected = !!wallets.find(
77
75
  (w) => w.state === WalletState.CONNECTED
78
76
  );
79
- if (!multiWallets && atLeastOneWalletIsConnected) {
77
+ if (!config?.multiWallets && atLeastOneWalletIsConnected) {
80
78
  return;
81
79
  }
82
80
  onBeforeConnect?.(type);
package/src/index.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { WidgetProps } from './containers/Widget';
2
+ import type { ConnectedWallet } from './store/wallets';
1
3
  import type {
2
4
  BlockchainAndTokenConfig,
3
5
  WidgetColors,
@@ -5,10 +7,12 @@ import type {
5
7
  WidgetConfig,
6
8
  WidgetTheme,
7
9
  } from './types';
8
- import type { WidgetProps } from './Widget';
9
10
  import type {
11
+ EventSeverity,
12
+ PendingSwapWithQueueID,
10
13
  Route,
11
14
  RouteEvent,
15
+ RouteExecutionEvents,
12
16
  RouteFailedEvent,
13
17
  RouteStartedEvent,
14
18
  RouteSucceededEvent,
@@ -27,7 +31,16 @@ import type {
27
31
  EventHandler as HandleWalletsUpdate,
28
32
  ProviderInterface,
29
33
  } from '@rango-dev/wallets-react';
30
- import type { WalletType } from '@rango-dev/wallets-shared';
34
+ import type {
35
+ WalletInfo,
36
+ WalletState,
37
+ WalletType,
38
+ } from '@rango-dev/wallets-shared';
39
+ import type {
40
+ PendingSwap,
41
+ PendingSwapNetworkStatus,
42
+ PendingSwapStep,
43
+ } from 'rango-types';
31
44
 
32
45
  import {
33
46
  MainEvents,
@@ -37,10 +50,18 @@ import {
37
50
  StepExecutionEventStatus,
38
51
  useEvents as useWidgetEvents,
39
52
  } from '@rango-dev/queue-manager-rango-preset';
40
- import { useWallets } from '@rango-dev/wallets-react';
53
+ import {
54
+ readAccountAddress,
55
+ useWallets,
56
+ Events as WalletEvents,
57
+ } from '@rango-dev/wallets-react';
58
+ import { Networks, WalletTypes } from '@rango-dev/wallets-shared';
41
59
 
42
- import { WidgetWallets } from './Wallets';
43
- import { Widget } from './Widget';
60
+ import { WidgetWallets } from './containers/Wallets';
61
+ import { Widget } from './containers/Widget';
62
+ import { useWidget } from './containers/WidgetInfo';
63
+ import { WidgetProvider } from './containers/WidgetProvider';
64
+ import { customizedThemeTokens } from './utils/ui';
44
65
 
45
66
  export type {
46
67
  WidgetConfig,
@@ -67,15 +88,42 @@ export type {
67
88
  StepApprovalTxSucceededEvent,
68
89
  StepOutputRevealedEvent,
69
90
  HandleWalletsUpdate,
91
+ ConnectedWallet,
70
92
  };
71
93
  export {
72
94
  Widget,
95
+ /**
96
+ * @deprecated Use `WidgetProvider` instead. This component will be removed in future versions.
97
+ */
73
98
  WidgetWallets,
99
+ WidgetProvider,
100
+ useWidget,
74
101
  useWallets,
75
102
  useWidgetEvents,
103
+ customizedThemeTokens,
76
104
  MainEvents,
77
105
  RouteEventType,
78
106
  StepEventType,
79
107
  StepExecutionEventStatus,
80
108
  StepExecutionBlockedEventStatus,
81
109
  };
110
+
111
+ // Internal type exports for Rango
112
+ export type {
113
+ WalletState,
114
+ WalletInfo,
115
+ PendingSwap,
116
+ PendingSwapWithQueueID,
117
+ PendingSwapStep,
118
+ RouteExecutionEvents,
119
+ EventSeverity,
120
+ };
121
+
122
+ // Internal function and enum exports for Rango
123
+ export {
124
+ readAccountAddress,
125
+ Networks,
126
+ WalletEvents,
127
+ WalletTypes,
128
+ PendingSwapNetworkStatus,
129
+ };