@rango-dev/widget-embedded 0.19.0 → 0.19.1-next.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 +0 -4
  2. package/dist/QueueManager.d.ts +5 -2
  3. package/dist/QueueManager.d.ts.map +1 -1
  4. package/dist/components/AppRouter.d.ts +0 -2
  5. package/dist/components/AppRouter.d.ts.map +1 -1
  6. package/dist/components/AppRoutes.d.ts +1 -6
  7. package/dist/components/AppRoutes.d.ts.map +1 -1
  8. package/dist/components/BlockchainsSection/BlockchainsSection.d.ts.map +1 -1
  9. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts +1 -1
  10. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts.map +1 -1
  11. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts +1 -3
  12. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts.map +1 -1
  13. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +690 -61
  14. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -1
  15. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -1
  16. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +1 -3
  17. package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -1
  18. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  19. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +1 -4
  20. package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -1
  21. package/dist/components/HeaderButtons/HomeButtons.d.ts.map +1 -1
  22. package/dist/components/Layout/Layout.d.ts.map +1 -1
  23. package/dist/components/Layout/Layout.styles.d.ts.map +1 -1
  24. package/dist/components/Layout/Layout.types.d.ts +2 -2
  25. package/dist/components/Layout/Layout.types.d.ts.map +1 -1
  26. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts.map +1 -1
  27. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +1727 -0
  28. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -1
  29. package/dist/components/NoResult/NoResult.d.ts +4 -0
  30. package/dist/components/NoResult/NoResult.d.ts.map +1 -0
  31. package/dist/components/NoResult/NoResult.helpers.d.ts +4 -0
  32. package/dist/components/NoResult/NoResult.helpers.d.ts.map +1 -0
  33. package/dist/components/{NoRoutes/NoRoutes.styles.d.ts → NoResult/NoResult.styles.d.ts} +1 -1
  34. package/dist/components/{NoRoutes/NoRoutes.styles.d.ts.map → NoResult/NoResult.styles.d.ts.map} +1 -1
  35. package/dist/components/{NoRoutes/NoRoutes.types.d.ts → NoResult/NoResult.types.d.ts} +3 -3
  36. package/dist/components/NoResult/NoResult.types.d.ts.map +1 -0
  37. package/dist/components/NoResult/index.d.ts +2 -0
  38. package/dist/components/NoResult/index.d.ts.map +1 -0
  39. package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -1
  40. package/dist/components/Quote/Quote.d.ts +4 -0
  41. package/dist/components/Quote/Quote.d.ts.map +1 -0
  42. package/dist/components/Quote/Quote.styles.d.ts +2217 -0
  43. package/dist/components/Quote/Quote.styles.d.ts.map +1 -0
  44. package/dist/components/Quote/Quote.types.d.ts +21 -0
  45. package/dist/components/Quote/Quote.types.d.ts.map +1 -0
  46. package/dist/components/Quote/QuoteSummary.d.ts +11 -0
  47. package/dist/components/Quote/QuoteSummary.d.ts.map +1 -0
  48. package/dist/components/Quote/QuoteSummary.styles.d.ts +315 -0
  49. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -0
  50. package/dist/components/Quote/index.d.ts +3 -0
  51. package/dist/components/Quote/index.d.ts.map +1 -0
  52. package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts +4 -0
  53. package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts.map +1 -0
  54. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts +633 -0
  55. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts.map +1 -0
  56. package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts +6 -0
  57. package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts.map +1 -0
  58. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts +4 -0
  59. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts.map +1 -0
  60. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts +1571 -0
  61. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts.map +1 -0
  62. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts +6 -0
  63. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts.map +1 -0
  64. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts +4 -0
  65. package/dist/components/QuoteSkeleton/StepSkeleton.d.ts.map +1 -0
  66. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts +786 -0
  67. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts.map +1 -0
  68. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts +4 -0
  69. package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts.map +1 -0
  70. package/dist/components/QuoteSkeleton/index.d.ts +4 -0
  71. package/dist/components/QuoteSkeleton/index.d.ts.map +1 -0
  72. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts +11 -0
  73. package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts.map +1 -0
  74. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts +4 -0
  75. package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts.map +1 -0
  76. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts +4 -0
  77. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -0
  78. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts +9 -0
  79. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -0
  80. package/dist/components/{RouteErrors/RouteErrors.styles.d.ts → QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts} +1 -1
  81. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -0
  82. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +23 -0
  83. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -0
  84. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts +11 -0
  85. package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts.map +1 -0
  86. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts +11 -0
  87. package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts.map +1 -0
  88. package/dist/components/QuoteWarningsAndErrors/index.d.ts +2 -0
  89. package/dist/components/QuoteWarningsAndErrors/index.d.ts.map +1 -0
  90. package/dist/components/Slippage/Slippage.d.ts.map +1 -1
  91. package/dist/components/Slippage/Slippage.styles.d.ts +158 -0
  92. package/dist/components/Slippage/Slippage.styles.d.ts.map +1 -1
  93. package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -1
  94. package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -1
  95. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +1 -1
  96. package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -1
  97. package/dist/components/SwapDetails/SwapDetails.styles.d.ts +628 -0
  98. package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -1
  99. package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
  100. package/dist/components/SwapDetailsModal/SwapDetailsModal.WalletState.d.ts.map +1 -1
  101. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts +1 -1
  102. package/dist/components/SwapDetailsModal/SwapDetailsModal.helpers.d.ts.map +1 -1
  103. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +1 -1
  104. package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -1
  105. package/dist/components/SwapsGroup/SwapsGroup.d.ts.map +1 -1
  106. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts +157 -0
  107. package/dist/components/SwapsGroup/SwapsGroup.styles.d.ts.map +1 -1
  108. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  109. package/dist/components/TokenList/TokenList.helpers.d.ts +2 -2
  110. package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -1
  111. package/dist/components/TokenList/TokenList.styles.d.ts +1100 -1
  112. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  113. package/dist/components/TokenList/TokenList.types.d.ts +4 -9
  114. package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
  115. package/dist/components/TokenList/index.d.ts +0 -1
  116. package/dist/components/TokenList/index.d.ts.map +1 -1
  117. package/dist/components/UpdateUrl.d.ts +1 -6
  118. package/dist/components/UpdateUrl.d.ts.map +1 -1
  119. package/dist/components/WidgetEvents.d.ts.map +1 -1
  120. package/dist/constants/errors.d.ts +4 -4
  121. package/dist/constants/errors.d.ts.map +1 -1
  122. package/dist/constants/index.d.ts +1 -0
  123. package/dist/constants/index.d.ts.map +1 -1
  124. package/dist/constants/messages.d.ts +1 -1
  125. package/dist/constants/navigationRoutes.d.ts +1 -2
  126. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  127. package/dist/constants/searchParams.d.ts +2 -1
  128. package/dist/constants/searchParams.d.ts.map +1 -1
  129. package/dist/constants/warnings.d.ts +2 -2
  130. package/dist/constants/warnings.d.ts.map +1 -1
  131. package/dist/containers/App/App.d.ts +3 -0
  132. package/dist/containers/App/App.d.ts.map +1 -0
  133. package/dist/containers/App/App.styles.d.ts +158 -0
  134. package/dist/containers/App/App.styles.d.ts.map +1 -0
  135. package/dist/containers/App/index.d.ts +2 -0
  136. package/dist/containers/App/index.d.ts.map +1 -0
  137. package/dist/containers/QuoteInfo/QuoteInfo.d.ts +4 -0
  138. package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -0
  139. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +788 -0
  140. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -0
  141. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +20 -0
  142. package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -0
  143. package/dist/containers/QuoteInfo/index.d.ts +2 -0
  144. package/dist/containers/QuoteInfo/index.d.ts.map +1 -0
  145. package/dist/containers/Wallets/Wallets.d.ts +6 -0
  146. package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
  147. package/dist/containers/Wallets/Wallets.types.d.ts +11 -0
  148. package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
  149. package/dist/containers/Wallets/index.d.ts +2 -0
  150. package/dist/containers/Wallets/index.d.ts.map +1 -0
  151. package/dist/containers/Widget/Widget.d.ts +5 -0
  152. package/dist/containers/Widget/Widget.d.ts.map +1 -0
  153. package/dist/containers/Widget/Widget.types.d.ts +5 -0
  154. package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
  155. package/dist/containers/Widget/index.d.ts +3 -0
  156. package/dist/containers/Widget/index.d.ts.map +1 -0
  157. package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
  158. package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
  159. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +20 -0
  160. package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +1 -0
  161. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +21 -0
  162. package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
  163. package/dist/containers/WidgetInfo/index.d.ts +2 -0
  164. package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
  165. package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
  166. package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  167. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
  168. package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
  169. package/dist/containers/WidgetProvider/index.d.ts +2 -0
  170. package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
  171. package/dist/hooks/useConfirmSwap/index.d.ts +2 -0
  172. package/dist/hooks/useConfirmSwap/index.d.ts.map +1 -0
  173. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts +3 -0
  174. package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -0
  175. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +19 -0
  176. package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -0
  177. package/dist/hooks/{useConfirmSwap.d.ts → useConfirmSwap/useConfirmSwap.types.d.ts} +5 -7
  178. package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -0
  179. package/dist/hooks/{useFetchBestRoute.d.ts → useFetchQuote.d.ts} +3 -3
  180. package/dist/hooks/useFetchQuote.d.ts.map +1 -0
  181. package/dist/hooks/useForceAutoConnect.d.ts +2 -0
  182. package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
  183. package/dist/hooks/useLanguage.d.ts +1 -1
  184. package/dist/hooks/useLanguage.d.ts.map +1 -1
  185. package/dist/hooks/useNavigateBack.d.ts +1 -3
  186. package/dist/hooks/useNavigateBack.d.ts.map +1 -1
  187. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +1 -1
  188. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +2 -2
  189. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -1
  190. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +5 -7
  191. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -1
  192. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +1 -0
  193. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -1
  194. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +5 -1
  195. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -1
  196. package/dist/hooks/useSwapInput.d.ts +4 -2
  197. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  198. package/dist/hooks/useSyncStoresWithConfig.d.ts +1 -2
  199. package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -1
  200. package/dist/hooks/useTheme.d.ts +1 -1
  201. package/dist/hooks/useTheme.d.ts.map +1 -1
  202. package/dist/hooks/useWalletList.d.ts.map +1 -1
  203. package/dist/index.d.ts +20 -8
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +1 -1
  206. package/dist/index.js.map +4 -4
  207. package/dist/pages/ConfirmSwapPage.d.ts +1 -6
  208. package/dist/pages/ConfirmSwapPage.d.ts.map +1 -1
  209. package/dist/pages/HistoryPage.d.ts.map +1 -1
  210. package/dist/pages/Home.d.ts.map +1 -1
  211. package/dist/pages/LanguagePage.d.ts.map +1 -1
  212. package/dist/pages/LiquiditySourcePage.d.ts +1 -2
  213. package/dist/pages/LiquiditySourcePage.d.ts.map +1 -1
  214. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  215. package/dist/pages/SelectSwapItemsPage.d.ts.map +1 -1
  216. package/dist/pages/SettingsPage.d.ts +1 -6
  217. package/dist/pages/SettingsPage.d.ts.map +1 -1
  218. package/dist/pages/SwapDetailsPage.d.ts.map +1 -1
  219. package/dist/pages/ThemePage.d.ts.map +1 -1
  220. package/dist/pages/WalletsPage.d.ts +1 -8
  221. package/dist/pages/WalletsPage.d.ts.map +1 -1
  222. package/dist/store/AppStore.d.ts +47 -0
  223. package/dist/store/AppStore.d.ts.map +1 -0
  224. package/dist/store/app.d.ts +41 -22
  225. package/dist/store/app.d.ts.map +1 -1
  226. package/dist/store/notification.d.ts +4 -3
  227. package/dist/store/notification.d.ts.map +1 -1
  228. package/dist/store/quote.d.ts +89 -0
  229. package/dist/store/quote.d.ts.map +1 -0
  230. package/dist/store/slices/config.d.ts +3 -2
  231. package/dist/store/slices/config.d.ts.map +1 -1
  232. package/dist/store/slices/data.d.ts +5 -2
  233. package/dist/store/slices/data.d.ts.map +1 -1
  234. package/dist/store/slices/settings.d.ts +39 -0
  235. package/dist/store/slices/settings.d.ts.map +1 -0
  236. package/dist/store/ui.d.ts +2 -1
  237. package/dist/store/ui.d.ts.map +1 -1
  238. package/dist/store/wallets.d.ts +14 -9
  239. package/dist/store/wallets.d.ts.map +1 -1
  240. package/dist/types/config.d.ts +41 -8
  241. package/dist/types/config.d.ts.map +1 -1
  242. package/dist/types/index.d.ts +1 -1
  243. package/dist/types/index.d.ts.map +1 -1
  244. package/dist/types/quote.d.ts +82 -0
  245. package/dist/types/quote.d.ts.map +1 -0
  246. package/dist/types/swap.d.ts +4 -14
  247. package/dist/types/swap.d.ts.map +1 -1
  248. package/dist/types/wallets.d.ts +15 -1
  249. package/dist/types/wallets.d.ts.map +1 -1
  250. package/dist/utils/colors.d.ts.map +1 -1
  251. package/dist/utils/configs.d.ts +1 -0
  252. package/dist/utils/configs.d.ts.map +1 -1
  253. package/dist/utils/meta.d.ts +2 -1
  254. package/dist/utils/meta.d.ts.map +1 -1
  255. package/dist/utils/numbers.d.ts +1 -1
  256. package/dist/utils/numbers.d.ts.map +1 -1
  257. package/dist/utils/providers.d.ts +2 -2
  258. package/dist/utils/providers.d.ts.map +1 -1
  259. package/dist/utils/queue.d.ts +2 -2
  260. package/dist/utils/queue.d.ts.map +1 -1
  261. package/dist/utils/quote.d.ts +32 -0
  262. package/dist/utils/quote.d.ts.map +1 -0
  263. package/dist/utils/settings.d.ts +6 -2
  264. package/dist/utils/settings.d.ts.map +1 -1
  265. package/dist/utils/swap.d.ts +35 -24
  266. package/dist/utils/swap.d.ts.map +1 -1
  267. package/dist/utils/time.d.ts +1 -1
  268. package/dist/utils/time.d.ts.map +1 -1
  269. package/dist/utils/wallets.d.ts +9 -10
  270. package/dist/utils/wallets.d.ts.map +1 -1
  271. package/package.json +13 -11
  272. package/src/QueueManager.tsx +18 -17
  273. package/src/components/AppRouter.tsx +8 -32
  274. package/src/components/AppRoutes.tsx +57 -69
  275. package/src/components/BlockchainList/BlockchainList.styles.ts +2 -2
  276. package/src/components/BlockchainList/BlockchainList.tsx +4 -4
  277. package/src/components/BlockchainsSection/BlockchainsSection.styles.ts +1 -1
  278. package/src/components/BlockchainsSection/BlockchainsSection.tsx +26 -17
  279. package/src/components/ConfirmWalletsModal/ConfirmWallets.helpers.ts +2 -64
  280. package/src/components/ConfirmWalletsModal/ConfirmWallets.styles.ts +29 -10
  281. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +43 -47
  282. package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +1 -3
  283. package/src/components/ConfirmWalletsModal/WalletList.tsx +9 -8
  284. package/src/components/ConfirmWalletsModal/WalletList.type.ts +1 -4
  285. package/src/components/HeaderButtons/HomeButtons.tsx +28 -18
  286. package/src/components/Layout/Layout.styles.ts +2 -0
  287. package/src/components/Layout/Layout.tsx +20 -7
  288. package/src/components/Layout/Layout.types.ts +2 -2
  289. package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +65 -61
  290. package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +28 -34
  291. package/src/components/{NoRoutes/NoRoutes.helper.ts → NoResult/NoResult.helpers.ts} +23 -16
  292. package/src/components/{NoRoutes/NoRoutes.styles.ts → NoResult/NoResult.styles.ts} +2 -0
  293. package/src/components/{NoRoutes/NoRoutes.tsx → NoResult/NoResult.tsx} +12 -17
  294. package/src/components/{NoRoutes/NoRoutes.types.ts → NoResult/NoResult.types.ts} +3 -2
  295. package/src/components/NoResult/index.ts +1 -0
  296. package/src/components/NotificationContent/NotificationContent.tsx +5 -3
  297. package/src/components/Quote/Quote.styles.ts +249 -0
  298. package/src/components/Quote/Quote.tsx +414 -0
  299. package/src/components/Quote/Quote.types.ts +15 -0
  300. package/src/components/Quote/QuoteSummary.styles.ts +16 -0
  301. package/src/components/Quote/QuoteSummary.tsx +46 -0
  302. package/src/components/Quote/index.ts +2 -0
  303. package/src/components/QuoteSkeleton/QuoteSkeleton.styles.ts +42 -0
  304. package/src/components/QuoteSkeleton/QuoteSkeleton.tsx +30 -0
  305. package/src/components/QuoteSkeleton/QuoteSkeleton.types.ts +5 -0
  306. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.styles.ts +57 -0
  307. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.tsx +76 -0
  308. package/src/components/QuoteSkeleton/QuoteSummarySkeleton.types.ts +6 -0
  309. package/src/components/QuoteSkeleton/StepSkeleton.styles.ts +33 -0
  310. package/src/components/QuoteSkeleton/StepSkeleton.tsx +44 -0
  311. package/src/components/QuoteSkeleton/StepSkeleton.types.ts +1 -0
  312. package/src/components/QuoteSkeleton/index.ts +3 -0
  313. package/src/components/QuoteWarningsAndErrors/HighValueLossWarningModal.tsx +107 -0
  314. package/src/components/{RouteErrors/RouteErrorsModalItem.tsx → QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx} +4 -4
  315. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +74 -0
  316. package/src/components/{RouteErrors/RouteErrors.styles.ts → QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts} +8 -1
  317. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +103 -0
  318. package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +25 -0
  319. package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +77 -0
  320. package/src/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.tsx +38 -0
  321. package/src/components/QuoteWarningsAndErrors/index.ts +1 -0
  322. package/src/components/Slippage/Slippage.styles.ts +15 -5
  323. package/src/components/Slippage/Slippage.tsx +11 -10
  324. package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +5 -8
  325. package/src/components/SwapDetails/SwapDetails.helpers.tsx +1 -1
  326. package/src/components/SwapDetails/SwapDetails.styles.ts +36 -33
  327. package/src/components/SwapDetails/SwapDetails.tsx +41 -56
  328. package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +1 -1
  329. package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +4 -3
  330. package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +2 -2
  331. package/src/components/SwapDetailsModal/SwapDetailsModal.WalletState.tsx +14 -8
  332. package/src/components/SwapDetailsModal/SwapDetailsModal.helpers.tsx +1 -1
  333. package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +1 -1
  334. package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +1 -1
  335. package/src/components/SwapsGroup/SwapsGroup.styles.ts +10 -1
  336. package/src/components/SwapsGroup/SwapsGroup.tsx +3 -5
  337. package/src/components/SwitchFromAndTo.tsx +2 -2
  338. package/src/components/TokenList/TokenList.helpers.ts +2 -2
  339. package/src/components/TokenList/TokenList.styles.ts +74 -38
  340. package/src/components/TokenList/TokenList.tsx +35 -26
  341. package/src/components/TokenList/TokenList.types.ts +4 -10
  342. package/src/components/TokenList/index.ts +0 -1
  343. package/src/components/UpdateUrl.tsx +35 -30
  344. package/src/components/WidgetEvents.tsx +4 -2
  345. package/src/constants/errors.ts +17 -15
  346. package/src/constants/index.ts +1 -0
  347. package/src/constants/messages.ts +1 -1
  348. package/src/constants/navigationRoutes.ts +7 -8
  349. package/src/constants/searchParams.ts +1 -0
  350. package/src/constants/warnings.ts +7 -7
  351. package/src/containers/App/App.styles.ts +18 -0
  352. package/src/containers/App/App.tsx +52 -0
  353. package/src/containers/App/index.ts +1 -0
  354. package/src/containers/QuoteInfo/QuoteInfo.styles.ts +31 -0
  355. package/src/containers/QuoteInfo/QuoteInfo.tsx +99 -0
  356. package/src/containers/QuoteInfo/QuoteInfo.types.ts +20 -0
  357. package/src/containers/QuoteInfo/index.ts +1 -0
  358. package/src/{Wallets.tsx → containers/Wallets/Wallets.tsx} +48 -34
  359. package/src/containers/Wallets/Wallets.types.ts +12 -0
  360. package/src/containers/Wallets/index.ts +1 -0
  361. package/src/containers/Widget/Widget.tsx +19 -0
  362. package/src/containers/Widget/Widget.types.ts +5 -0
  363. package/src/containers/Widget/index.ts +2 -0
  364. package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +64 -0
  365. package/src/containers/WidgetInfo/WidgetInfo.tsx +62 -0
  366. package/src/containers/WidgetInfo/WidgetInfo.types.ts +21 -0
  367. package/src/containers/WidgetInfo/index.ts +1 -0
  368. package/src/containers/WidgetProvider/WidgetProvider.tsx +28 -0
  369. package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
  370. package/src/containers/WidgetProvider/index.ts +1 -0
  371. package/src/hooks/useConfirmSwap/index.ts +1 -0
  372. package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +172 -0
  373. package/src/hooks/useConfirmSwap/useConfirmSwap.ts +137 -0
  374. package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +19 -0
  375. package/src/hooks/{useFetchBestRoute.ts → useFetchQuote.ts} +3 -3
  376. package/src/hooks/useForceAutoConnect.ts +27 -0
  377. package/src/hooks/useLanguage.ts +4 -5
  378. package/src/hooks/useNavigateBack.ts +3 -52
  379. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -1
  380. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +37 -7
  381. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +60 -0
  382. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +78 -3
  383. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +15 -6
  384. package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +6 -1
  385. package/src/hooks/useSwapInput.ts +141 -48
  386. package/src/hooks/useSyncStoresWithConfig.ts +40 -24
  387. package/src/hooks/useTheme.ts +4 -5
  388. package/src/hooks/useWalletList.ts +3 -5
  389. package/src/index.ts +53 -5
  390. package/src/pages/ConfirmSwapPage.tsx +117 -266
  391. package/src/pages/HistoryPage.tsx +2 -7
  392. package/src/pages/Home.tsx +88 -303
  393. package/src/pages/LanguagePage.tsx +0 -5
  394. package/src/pages/LiquiditySourcePage.tsx +24 -37
  395. package/src/pages/SelectBlockchainPage.tsx +31 -24
  396. package/src/pages/SelectSwapItemsPage.tsx +18 -31
  397. package/src/pages/SettingsPage.tsx +32 -27
  398. package/src/pages/SwapDetailsPage.tsx +6 -7
  399. package/src/pages/ThemePage.tsx +2 -7
  400. package/src/pages/WalletsPage.tsx +9 -19
  401. package/src/services/httpService.ts +1 -1
  402. package/src/store/AppStore.tsx +41 -0
  403. package/src/store/app.ts +44 -6
  404. package/src/store/{bestRoute.ts → quote.ts} +71 -64
  405. package/src/store/slices/config.ts +26 -15
  406. package/src/store/slices/data.ts +74 -35
  407. package/src/store/slices/settings.ts +168 -0
  408. package/src/store/wallets.ts +68 -37
  409. package/src/types/config.ts +53 -8
  410. package/src/types/index.ts +1 -1
  411. package/src/types/quote.ts +107 -0
  412. package/src/types/swap.ts +4 -13
  413. package/src/types/wallets.ts +18 -1
  414. package/src/utils/colors.ts +2 -1
  415. package/src/utils/configs.ts +2 -1
  416. package/src/utils/date.ts +1 -1
  417. package/src/utils/meta.ts +8 -1
  418. package/src/utils/numbers.ts +1 -1
  419. package/src/utils/providers.ts +8 -5
  420. package/src/utils/queue.ts +2 -2
  421. package/src/utils/quote.ts +338 -0
  422. package/src/utils/settings.ts +17 -10
  423. package/src/utils/swap.ts +154 -120
  424. package/src/utils/time.ts +1 -1
  425. package/src/utils/wallets.ts +156 -161
  426. package/dist/Wallets.d.ts +0 -17
  427. package/dist/Wallets.d.ts.map +0 -1
  428. package/dist/Widget.d.ts +0 -9
  429. package/dist/Widget.d.ts.map +0 -1
  430. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts +0 -4
  431. package/dist/components/LoadingSwapDetails/LoadingSwapDetailStep.d.ts.map +0 -1
  432. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts +0 -4
  433. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.types.d.ts.map +0 -1
  434. package/dist/components/NoRoutes/NoRoutes.d.ts +0 -4
  435. package/dist/components/NoRoutes/NoRoutes.d.ts.map +0 -1
  436. package/dist/components/NoRoutes/NoRoutes.helper.d.ts +0 -3
  437. package/dist/components/NoRoutes/NoRoutes.helper.d.ts.map +0 -1
  438. package/dist/components/NoRoutes/NoRoutes.types.d.ts.map +0 -1
  439. package/dist/components/NoRoutes/index.d.ts +0 -2
  440. package/dist/components/NoRoutes/index.d.ts.map +0 -1
  441. package/dist/components/RouteErrors/RouteErrors.d.ts +0 -4
  442. package/dist/components/RouteErrors/RouteErrors.d.ts.map +0 -1
  443. package/dist/components/RouteErrors/RouteErrors.styles.d.ts.map +0 -1
  444. package/dist/components/RouteErrors/RouteErrors.types.d.ts +0 -24
  445. package/dist/components/RouteErrors/RouteErrors.types.d.ts.map +0 -1
  446. package/dist/components/RouteErrors/RouteErrorsModal.d.ts +0 -4
  447. package/dist/components/RouteErrors/RouteErrorsModal.d.ts.map +0 -1
  448. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts +0 -4
  449. package/dist/components/RouteErrors/RouteErrorsModalItem.d.ts.map +0 -1
  450. package/dist/components/RouteErrors/index.d.ts +0 -2
  451. package/dist/components/RouteErrors/index.d.ts.map +0 -1
  452. package/dist/hooks/useConfirmSwap.d.ts.map +0 -1
  453. package/dist/hooks/useFetchBestRoute.d.ts.map +0 -1
  454. package/dist/store/bestRoute.d.ts +0 -77
  455. package/dist/store/bestRoute.d.ts.map +0 -1
  456. package/dist/store/meta.d.ts +0 -23
  457. package/dist/store/meta.d.ts.map +0 -1
  458. package/dist/store/settings.d.ts +0 -81
  459. package/dist/store/settings.d.ts.map +0 -1
  460. package/dist/types/routing.d.ts +0 -65
  461. package/dist/types/routing.d.ts.map +0 -1
  462. package/dist/utils/routing.d.ts +0 -28
  463. package/dist/utils/routing.d.ts.map +0 -1
  464. package/src/Widget.tsx +0 -119
  465. package/src/components/LoadingSwapDetails/LoadingSwapDetailStep.tsx +0 -41
  466. package/src/components/LoadingSwapDetails/LoadingSwapDetails.types.ts +0 -3
  467. package/src/components/NoRoutes/index.ts +0 -1
  468. package/src/components/RouteErrors/RouteErrors.tsx +0 -79
  469. package/src/components/RouteErrors/RouteErrors.types.ts +0 -29
  470. package/src/components/RouteErrors/RouteErrorsModal.tsx +0 -129
  471. package/src/components/RouteErrors/index.ts +0 -1
  472. package/src/hooks/useConfirmSwap.ts +0 -303
  473. package/src/store/meta.ts +0 -39
  474. package/src/store/settings.ts +0 -158
  475. package/src/types/routing.ts +0 -77
  476. package/src/utils/routing.ts +0 -321
@@ -1,17 +1,19 @@
1
- import type { Wallet } from '../types';
1
+ import type { Balance, TokensBalance, Wallet } from '../types';
2
2
  import type { WalletType } from '@rango-dev/wallets-shared';
3
+ import type { Token } from 'rango-sdk';
3
4
 
4
5
  import { create } from 'zustand';
5
6
  import { subscribeWithSelector } from 'zustand/middleware';
6
7
 
7
8
  import { httpService } from '../services/httpService';
8
9
  import {
10
+ createTokenHash,
9
11
  isAccountAndWalletMatched,
10
12
  makeBalanceFor,
13
+ makeTokensBalance,
11
14
  resetConnectedWalletState,
12
15
  } from '../utils/wallets';
13
16
 
14
- import { useMetaStore } from './meta';
15
17
  import createSelectors from './selectors';
16
18
 
17
19
  export type TokenBalance = {
@@ -33,25 +35,31 @@ export interface ConnectedWallet extends Wallet {
33
35
  loading: boolean;
34
36
  error: boolean;
35
37
  }
36
-
37
38
  interface WalletsStore {
38
39
  connectedWallets: ConnectedWallet[];
40
+ balances: TokensBalance;
39
41
  customDestination: string;
40
42
  loading: boolean;
41
- connectWallet: (accounts: Wallet[]) => void;
43
+ connectWallet: (accounts: Wallet[], tokens: Token[]) => void;
42
44
  disconnectWallet: (walletType: WalletType) => void;
43
45
  selectWallets: (wallets: { walletType: string; chain: string }[]) => void;
44
46
  clearConnectedWallet: () => void;
45
- getWalletsDetails: (accounts: Wallet[], shouldRetry?: boolean) => void;
47
+ getWalletsDetails: (
48
+ accounts: Wallet[],
49
+ tokens: Token[],
50
+ shouldRetry?: boolean
51
+ ) => void;
52
+ getBalanceFor: (token: Token) => Balance | null;
46
53
  }
47
54
 
48
55
  export const useWalletsStore = createSelectors(
49
56
  create<WalletsStore>()(
50
57
  subscribeWithSelector((set, get) => ({
51
58
  connectedWallets: [],
59
+ balances: {},
52
60
  customDestination: '',
53
61
  loading: false,
54
- connectWallet: (accounts) => {
62
+ connectWallet: (accounts, tokens) => {
55
63
  const getWalletsDetails = get().getWalletsDetails;
56
64
  set((state) => ({
57
65
  loading: true,
@@ -77,7 +85,7 @@ export const useWalletsStore = createSelectors(
77
85
  })
78
86
  ),
79
87
  }));
80
- getWalletsDetails(accounts);
88
+ getWalletsDetails(accounts, tokens);
81
89
  },
82
90
  disconnectWallet: (walletType) => {
83
91
  set((state) => {
@@ -88,21 +96,27 @@ export const useWalletsStore = createSelectors(
88
96
  connectedWallet.walletType !== walletType
89
97
  )
90
98
  .map((selectedWallet) => selectedWallet.chain);
99
+
100
+ const connectedWallets = state.connectedWallets
101
+ .filter(
102
+ (connectedWallet) => connectedWallet.walletType !== walletType
103
+ )
104
+ .map((connectedWallet) => {
105
+ const anyWalletSelectedForBlockchain = selectedWallets.includes(
106
+ connectedWallet.chain
107
+ );
108
+ if (anyWalletSelectedForBlockchain) {
109
+ return connectedWallet;
110
+ }
111
+ selectedWallets.push(connectedWallet.chain);
112
+ return { ...connectedWallet, selected: true };
113
+ });
114
+
115
+ const balances = makeTokensBalance(connectedWallets);
116
+
91
117
  return {
92
- connectedWallets: state.connectedWallets
93
- .filter(
94
- (connectedWallet) => connectedWallet.walletType !== walletType
95
- )
96
- .map((connectedWallet) => {
97
- const anyWalletSelectedForBlockchain = selectedWallets.includes(
98
- connectedWallet.chain
99
- );
100
- if (anyWalletSelectedForBlockchain) {
101
- return connectedWallet;
102
- }
103
- selectedWallets.push(connectedWallet.chain);
104
- return { ...connectedWallet, selected: true };
105
- }),
118
+ balances,
119
+ connectedWallets,
106
120
  };
107
121
  });
108
122
  },
@@ -135,9 +149,8 @@ export const useWalletsStore = createSelectors(
135
149
  connectedWallets: [],
136
150
  selectedWallets: [],
137
151
  })),
138
- getWalletsDetails: async (accounts, shouldRetry = true) => {
152
+ getWalletsDetails: async (accounts, tokens, shouldRetry = true) => {
139
153
  const getWalletsDetails = get().getWalletsDetails;
140
- const { tokens } = useMetaStore.getState().meta;
141
154
  set((state) => ({
142
155
  loading: true,
143
156
  connectedWallets: state.connectedWallets.map((wallet) => {
@@ -156,9 +169,8 @@ export const useWalletsStore = createSelectors(
156
169
  const response = await httpService().getWalletsDetails(data);
157
170
  const retrievedBalance = response.wallets;
158
171
  if (retrievedBalance) {
159
- set((state) => ({
160
- loading: false,
161
- connectedWallets: state.connectedWallets.map(
172
+ set((state) => {
173
+ const connectedWallets = state.connectedWallets.map(
162
174
  (connectedWallet) => {
163
175
  const matchedAccount = accounts.find((account) =>
164
176
  isAccountAndWalletMatched(account, connectedWallet)
@@ -173,7 +185,7 @@ export const useWalletsStore = createSelectors(
173
185
  matchedAccount &&
174
186
  shouldRetry
175
187
  ) {
176
- getWalletsDetails([matchedAccount], false);
188
+ getWalletsDetails([matchedAccount], tokens, false);
177
189
  }
178
190
  return matchedAccount && retrievedBalanceAccount
179
191
  ? {
@@ -183,30 +195,49 @@ export const useWalletsStore = createSelectors(
183
195
  retrievedBalanceAccount,
184
196
  tokens
185
197
  ),
198
+ loading: false,
186
199
  }
187
200
  : connectedWallet;
188
201
  }
189
- ),
190
- }));
202
+ );
203
+
204
+ const balances = makeTokensBalance(connectedWallets);
205
+
206
+ return {
207
+ loading: false,
208
+ balances,
209
+ connectedWallets,
210
+ };
211
+ });
191
212
  } else {
192
213
  throw new Error('Wallet not found');
193
214
  }
194
215
  } catch (error) {
195
- set((state) => ({
196
- loading: false,
197
- connectedWallets: state.connectedWallets.map((balance) => {
216
+ set((state) => {
217
+ const connectedWallets = state.connectedWallets.map((balance) => {
198
218
  return accounts.find((account) =>
199
219
  isAccountAndWalletMatched(account, balance)
200
220
  )
201
221
  ? resetConnectedWalletState(balance)
202
222
  : balance;
203
- }),
204
- }));
223
+ });
224
+
225
+ const balances = makeTokensBalance(connectedWallets);
226
+
227
+ return {
228
+ loading: false,
229
+ balances,
230
+ connectedWallets,
231
+ };
232
+ });
205
233
  }
206
234
  },
235
+ getBalanceFor: (token) => {
236
+ const { balances } = get();
237
+ const tokenHash = createTokenHash(token);
238
+ const balance = balances[tokenHash];
239
+ return balance ?? null;
240
+ },
207
241
  }))
208
242
  )
209
243
  );
210
-
211
- export const fetchingBalanceSelector = (state: WalletsStore) =>
212
- !!state.connectedWallets.find((wallet) => wallet.loading);
@@ -61,7 +61,7 @@ export type WidgetTheme = {
61
61
  * @property {{ [key: string]: string }} wallets - If you want to change the default affiliate wallet
62
62
  * addresses, you can provide new values here. (Map of route blockchains to affiliate address)
63
63
  */
64
- export type WidgeAffiliate = {
64
+ export type WidgetAffiliate = {
65
65
  ref?: string;
66
66
  percent?: number;
67
67
  wallets?: { [key: string]: string };
@@ -77,21 +77,58 @@ export type WidgeAffiliate = {
77
77
  * blockchains. e.g. ['BSC','ETHEREUM']
78
78
  * @property {Asset[]} tokens - The `tokens` property is an optional array of `Asset` objects that
79
79
  * you could use that to limit tokens to some limited ones.
80
+ * @property {Asset} pinnedTokens - The `pinnedTokens` property is an optional array of `Asset` objects that
81
+ * you could use to pin tokens of your choice to the top of the token list.
80
82
  */
81
83
  export type BlockchainAndTokenConfig = {
82
84
  blockchain?: string;
83
85
  token?: Asset;
84
86
  blockchains?: string[];
85
87
  tokens?: Asset[];
88
+ pinnedTokens?: Asset[];
86
89
  };
87
90
 
91
+ /**
92
+ * `Features`
93
+ *
94
+ * @property {'visible' | 'hidden'} [theme]
95
+ * - The visibility state for the theme feature. Optional property.
96
+ *
97
+ * @property {'visible' | 'hidden'} [language]
98
+ * - The visibility state for the language feature. Optional property.
99
+ *
100
+ * @property {'disabled' | 'enabled'} [experimentalRoute]
101
+ * - The enablement state for the experimental route feature. Optional property.
102
+ *
103
+ * @property {'visible' | 'hidden'} [connectWalletButton]
104
+ * - The visibility state for the connect wallet button feature. Optional property.
105
+ *
106
+ * @property {'visible' | 'hidden'} [notification]
107
+ * - The visibility state for the notification feature. Optional property.
108
+ *
109
+ * @property {'visible' | 'hidden'} [liquiditySource]
110
+ * - The visibility state for the liquiditySource feature. Optional property.
111
+ */
112
+ export type Features = Partial<
113
+ Record<
114
+ | 'theme'
115
+ | 'language'
116
+ | 'connectWalletButton'
117
+ | 'notification'
118
+ | 'liquiditySource',
119
+ 'visible' | 'hidden'
120
+ >
121
+ > &
122
+ Partial<Record<'experimentalRoute', 'disabled' | 'enabled'>>;
123
+
88
124
  /**
89
125
  * The type WidgetConfig defines the configuration options for a widget, including API key, affiliate
90
126
  * reference, amount, blockchain and token configurations, liquidity sources, wallet types, language,
91
127
  * and theme.
92
128
  *
93
129
  * @property {string} apiKey - The API key used to communicate with Rango API
94
- * @property {WidgeAffiliate} affiliate - If you want to charge users fee per transaction, you should
130
+ * @property {string} apiUrl - The API url used to set custom API url
131
+ * @property {WidgetAffiliate} affiliate - If you want to charge users fee per transaction, you should
95
132
  * pass `WidgetAffiliate` including affiliateRef, affiliatePercent, and affiliateWallets.
96
133
  * @property {number} amount - The default input amount.
97
134
  * @property {BlockchainAndTokenConfig} from - The `from` property is an optional property of type
@@ -119,15 +156,23 @@ export type BlockchainAndTokenConfig = {
119
156
  * that defines the various properties of the theme, such as colors, fonts, and others.
120
157
  * @property {boolean} externalWallets
121
158
  * If `externalWallets` is `true`, you should add `WidgetWallets` to your app.
122
- * @property {Asset} pinnedTokens - The `pinnedTokens` property is an optional array of `Asset` objects that
123
- * you could use to pin tokens of your choice to the top of the token list.
124
- * @property {boolean} includeNewLiquiditySources - The `includeNewLiquiditySources` property is a boolean value that when you
159
+ * @property {boolean} enableNewLiquiditySources - The `enableNewLiquiditySources` property is a boolean value that when you
125
160
  * set it to true, whenever a new liquidity source is added, it will be added to your list as well.
161
+ * @property {Features} features - An optional object for configuring the visibility or enablement of various features.
162
+ * Keys include:
163
+ * - 'notification': Visibility state for the notification icon.
164
+ * - 'theme': Visibility state for the theme.
165
+ * - 'liquiditySource': Visibility state for liquidity source.
166
+ * - 'connectWalletButton': Visibility state for the wallet connect icon.
167
+ * - 'language': Visibility state for the language.
168
+ * - 'experimentalRoute': Enablement state for the experimental route.
126
169
  */
170
+
127
171
  export type WidgetConfig = {
128
172
  apiKey: string;
173
+ apiUrl?: string;
129
174
  walletConnectProjectId?: string;
130
- affiliate?: WidgeAffiliate;
175
+ affiliate?: WidgetAffiliate;
131
176
  amount?: number;
132
177
  from?: BlockchainAndTokenConfig;
133
178
  to?: BlockchainAndTokenConfig;
@@ -138,6 +183,6 @@ export type WidgetConfig = {
138
183
  language?: Language;
139
184
  theme?: WidgetTheme;
140
185
  externalWallets?: boolean;
141
- pinnedTokens?: Asset[];
142
- includeNewLiquiditySources?: boolean;
186
+ enableNewLiquiditySources?: boolean;
187
+ features?: Features;
143
188
  };
@@ -1,4 +1,4 @@
1
1
  export * from './swap';
2
2
  export * from './config';
3
- export * from './routing';
3
+ export * from './quote';
4
4
  export * from './wallets';
@@ -0,0 +1,107 @@
1
+ /* eslint-disable @typescript-eslint/prefer-enum-initializers */
2
+
3
+ import type { PriceImpactWarningLevel } from '@rango-dev/ui';
4
+ import type BigNumber from 'bignumber.js';
5
+ import type { SwapResult } from 'rango-sdk';
6
+
7
+ export enum QuoteErrorType {
8
+ NO_RESULT,
9
+ REQUEST_FAILED,
10
+ REQUEST_CANCELED,
11
+ BRIDGE_LIMIT,
12
+ INSUFFICIENT_SLIPPAGE,
13
+ }
14
+
15
+ export type NoResultError = {
16
+ type: QuoteErrorType.NO_RESULT;
17
+ diagnosisMessage?: string;
18
+ };
19
+
20
+ export type BridgeLimitError = {
21
+ type: QuoteErrorType.BRIDGE_LIMIT;
22
+ swap: SwapResult;
23
+ recommendation: string;
24
+ fromAmountRangeError: string;
25
+ };
26
+
27
+ export type InsufficientSlippageError = {
28
+ type: QuoteErrorType.INSUFFICIENT_SLIPPAGE;
29
+ recommendedSlippages: RecommendedSlippages | null;
30
+ minRequiredSlippage: string | null;
31
+ };
32
+
33
+ export type QuoteRequestFailed = { type: QuoteErrorType.REQUEST_FAILED };
34
+ export type QuoteRequestCanceled = { type: QuoteErrorType.REQUEST_CANCELED };
35
+
36
+ export type QuoteError =
37
+ | NoResultError
38
+ | BridgeLimitError
39
+ | InsufficientSlippageError
40
+ | QuoteRequestFailed
41
+ | QuoteRequestCanceled;
42
+
43
+ export enum QuoteWarningType {
44
+ HIGH_VALUE_LOSS,
45
+ UNKNOWN_PRICE,
46
+ INSUFFICIENT_SLIPPAGE,
47
+ HIGH_SLIPPAGE,
48
+ }
49
+
50
+ export enum QuoteUpdateType {
51
+ QUOTE_UPDATED,
52
+ QUOTE_SWAPPERS_UPDATED,
53
+ QUOTE_COINS_UPDATED,
54
+ QUOTE_AND_OUTPUT_AMOUNT_UPDATED,
55
+ QUOTE_UPDATED_WITH_HIGH_VALUE_LOSS,
56
+ }
57
+
58
+ export type QuoteUpdateWarning =
59
+ | {
60
+ type: QuoteUpdateType.QUOTE_AND_OUTPUT_AMOUNT_UPDATED;
61
+ newOutputAmount: string;
62
+ percentageChange: string;
63
+ }
64
+ | {
65
+ type: Exclude<
66
+ QuoteUpdateType,
67
+ QuoteUpdateType.QUOTE_AND_OUTPUT_AMOUNT_UPDATED
68
+ >;
69
+ };
70
+
71
+ export type RecommendedSlippages = Map<number, string>;
72
+
73
+ export type InsufficientSlippageWarning = {
74
+ type: QuoteWarningType.INSUFFICIENT_SLIPPAGE;
75
+ recommendedSlippages: RecommendedSlippages | null;
76
+ minRequiredSlippage: string | null;
77
+ };
78
+
79
+ export type HighSlippageWarning = {
80
+ type: QuoteWarningType.HIGH_SLIPPAGE;
81
+ slippage: string | null;
82
+ };
83
+
84
+ export type HighValueLossWarning = {
85
+ type: QuoteWarningType.HIGH_VALUE_LOSS;
86
+ warningLevel: PriceImpactWarningLevel;
87
+ inputUsdValue: BigNumber;
88
+ outputUsdValue: BigNumber;
89
+ totalFee: BigNumber;
90
+ priceImpact: number;
91
+ };
92
+
93
+ export type UnknownPriceWarning = {
94
+ type: QuoteWarningType.UNKNOWN_PRICE;
95
+ };
96
+
97
+ export type QuoteWarning =
98
+ | HighValueLossWarning
99
+ | InsufficientSlippageWarning
100
+ | HighSlippageWarning
101
+ | UnknownPriceWarning;
102
+
103
+ export type ConfirmSwapWarnings = {
104
+ quote: QuoteWarning | null;
105
+ quoteUpdate: QuoteUpdateWarning | null;
106
+ balance: { messages: string[] } | null;
107
+ };
package/src/types/swap.ts CHANGED
@@ -1,23 +1,14 @@
1
- import type { SwapSavedSettings } from 'rango-types/lib';
1
+ import type { SwapSavedSettings } from 'rango-types';
2
2
 
3
3
  export type PendingSwapSettings = Omit<
4
4
  SwapSavedSettings,
5
5
  'disabledSwappersIds'
6
6
  >;
7
7
 
8
- export enum ButtonState {
9
- WAITFORCONNECTING = 'waitForConnecting',
10
- SWAP = 'swap',
11
- NEEDTOCONFIRM = 'needToConfirm',
12
- WARNING = 'warning',
13
- }
14
-
15
- export type SwapButtonState = (
16
- | { disabled: true }
17
- | { disabled: false; hasWarning?: boolean }
18
- ) & {
8
+ export type SwapButtonState = {
9
+ disabled: boolean;
19
10
  title: string;
20
- state: ButtonState;
11
+ action: 'connect-wallet' | 'confirm-warning' | 'confirm-swap';
21
12
  };
22
13
 
23
14
  export type ConvertedToken = {
@@ -1,7 +1,24 @@
1
- import { WalletType } from '@rango-dev/wallets-shared';
1
+ import type { WalletType } from '@rango-dev/wallets-shared';
2
2
 
3
3
  export interface Wallet {
4
4
  chain: string;
5
5
  address: string;
6
6
  walletType: WalletType;
7
7
  }
8
+
9
+ export type Balance = {
10
+ amount: string;
11
+ decimals: number;
12
+ usdValue: string;
13
+ };
14
+
15
+ type Blockchain = string;
16
+ type TokenSymbol = string;
17
+ type Address = string;
18
+
19
+ /** `blockchain-symbol-Address` */
20
+ export type TokenHash = `${Blockchain}-${TokenSymbol}-${Address}`;
21
+
22
+ export type TokensBalance = {
23
+ [key: TokenHash]: Balance;
24
+ };
@@ -31,7 +31,7 @@ export const generateRangeColors = (name: string, color: string) => {
31
31
  const NUMBER_OF_COLORS = 10;
32
32
  const HALF_NUMBER_OF_COLORS = 5;
33
33
  const COLOR_SUFFIX = 100;
34
- const AMT = 32;
34
+ const AMT = 25;
35
35
 
36
36
  let colors = { [name]: color };
37
37
  for (let i = 1; i < NUMBER_OF_COLORS; i++) {
@@ -60,6 +60,7 @@ export const generateRangeColors = (name: string, color: string) => {
60
60
  };
61
61
  }
62
62
  }
63
+
63
64
  return colors;
64
65
  };
65
66
  export const generateColors = (
@@ -2,6 +2,7 @@ import { RANGO_PUBLIC_API_KEY } from '../constants';
2
2
 
3
3
  export interface Configs {
4
4
  API_KEY: string;
5
+ BASE_URL?: string;
5
6
  }
6
7
 
7
8
  let configs: Configs = {
@@ -9,7 +10,7 @@ let configs: Configs = {
9
10
  };
10
11
 
11
12
  export function getConfig(name: keyof Configs) {
12
- return configs[name];
13
+ return configs[name] || '';
13
14
  }
14
15
 
15
16
  export function setConfig(name: keyof Configs, value: any) {
package/src/utils/date.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { GroupBy } from '../components/SwapsGroup/SwapsGroup.types';
2
- import type { PendingSwap } from '@rango-dev/queue-manager-rango-preset';
2
+ import type { PendingSwap } from 'rango-types';
3
3
 
4
4
  import dayjs from 'dayjs';
5
5
 
package/src/utils/meta.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Asset, BlockchainMeta, Token } from 'rango-sdk';
1
+ import type { Asset, BlockchainMeta, SwapperMeta, Token } from 'rango-sdk';
2
2
 
3
3
  import { tokensAreEqual } from './wallets';
4
4
 
@@ -17,6 +17,13 @@ export function getBlockchainShortNameFor(
17
17
  ?.shortName;
18
18
  }
19
19
 
20
+ export function getSwapperDisplayName(
21
+ swapperId: string,
22
+ swappers: SwapperMeta[]
23
+ ) {
24
+ return swappers.find((swapper) => swapper.id === swapperId)?.swapperGroup;
25
+ }
26
+
20
27
  export function findToken(t: Asset, tokens: Token[]) {
21
28
  return tokens.find((token) => tokensAreEqual(token, t)) ?? null;
22
29
  }
@@ -16,7 +16,7 @@ export const secondsToString = (s: number): string => {
16
16
  };
17
17
 
18
18
  export const numberToString = (
19
- number: BigNumber | string | null | undefined,
19
+ number: BigNumber | string | number | null | undefined,
20
20
  minDecimals: number | null = null,
21
21
  maxDecimals: number | null = null
22
22
  ): string => {
@@ -1,6 +1,7 @@
1
+ import type { WidgetConfig } from '../types';
2
+ import type { ProviderInterface } from '@rango-dev/wallets-react';
3
+
1
4
  import { allProviders } from '@rango-dev/provider-all';
2
- import { ProviderInterface } from '@rango-dev/wallets-react';
3
- import { WidgetConfig } from '../types';
4
5
 
5
6
  export interface ProvidersOptions {
6
7
  walletConnectProjectId?: WidgetConfig['walletConnectProjectId'];
@@ -26,9 +27,11 @@ export function matchAndGenerateProviders(
26
27
  const selectedProviders: ProviderInterface[] = [];
27
28
 
28
29
  providers.forEach((requestedProvider) => {
29
- // There are two types of provider we get, the first one is only passing the wallet name
30
- // then we will match the wallet name with our providers (@rango-dev/provider-*).
31
- // The second way is passing a custom provider which implemented ProviderInterface.
30
+ /*
31
+ * There are two types of provider we get, the first one is only passing the wallet name
32
+ * then we will match the wallet name with our providers (@rango-dev/provider-*).
33
+ * The second way is passing a custom provider which implemented ProviderInterface.
34
+ */
32
35
  if (typeof requestedProvider === 'string') {
33
36
  const result: ProviderInterface | undefined = all.find((provider) => {
34
37
  return provider.config.type === requestedProvider;
@@ -1,5 +1,5 @@
1
- import { Manager } from '@rango-dev/queue-manager-core';
2
- import {
1
+ import type { Manager } from '@rango-dev/queue-manager-core';
2
+ import type {
3
3
  PendingSwapWithQueueID,
4
4
  SwapStorage,
5
5
  } from '@rango-dev/queue-manager-rango-preset';