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

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 +8 -15
  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,7 +1,11 @@
1
1
  import type { WidgetConfig } from '../../types';
2
- import type { StateCreator } from 'zustand';
2
+ import type { StateCreatorWithInitialData } from '../app';
3
3
 
4
- const initConfig: WidgetConfig = { apiKey: '' };
4
+ export const DEFAULT_CONFIG: WidgetConfig = {
5
+ apiKey: '',
6
+ multiWallets: true,
7
+ enableNewLiquiditySources: true,
8
+ };
5
9
 
6
10
  export type ConfigSlice = {
7
11
  config: WidgetConfig;
@@ -9,18 +13,24 @@ export type ConfigSlice = {
9
13
  updateConfig: (config: WidgetConfig) => void;
10
14
  };
11
15
 
12
- export const createConfigSlice: StateCreator<ConfigSlice> = (set, get) => ({
13
- config: initConfig,
16
+ export const createConfigSlice: StateCreatorWithInitialData<
17
+ WidgetConfig,
18
+ ConfigSlice,
19
+ ConfigSlice
20
+ > = (initialData, set, get) => {
21
+ return {
22
+ config: { ...DEFAULT_CONFIG, ...initialData },
14
23
 
15
- // Actions
16
- updateConfig: (nextConfig: WidgetConfig) => {
17
- const currentConfig = get().config;
24
+ // Actions
25
+ updateConfig: (nextConfig: WidgetConfig) => {
26
+ const currentConfig = get().config;
18
27
 
19
- set({
20
- config: {
21
- ...currentConfig,
22
- ...nextConfig,
23
- },
24
- });
25
- },
26
- });
28
+ set({
29
+ config: {
30
+ ...currentConfig,
31
+ ...nextConfig,
32
+ },
33
+ });
34
+ },
35
+ };
36
+ };
@@ -6,6 +6,7 @@ import type { StateCreator } from 'zustand';
6
6
 
7
7
  import { httpService as sdk } from '../../services/httpService';
8
8
  import { containsText } from '../../utils/common';
9
+ import { sortLiquiditySourcesByGroupTitle } from '../../utils/settings';
9
10
  import { tokensAreEqual } from '../../utils/wallets';
10
11
 
11
12
  type BlockchainOptions = {
@@ -18,15 +19,16 @@ type TokenOptions = {
18
19
  blockchain?: string;
19
20
  searchFor?: string;
20
21
  };
21
-
22
+ export type FetchStatus = 'loading' | 'success' | 'failed';
22
23
  export interface DataSlice {
23
24
  _blockchains: BlockchainMeta[];
24
25
  _tokens: Token[];
25
26
  _popularTokens: Token[];
26
27
  _swappers: SwapperMeta[];
27
-
28
+ fetchStatus: FetchStatus;
28
29
  blockchains: (options?: BlockchainOptions) => BlockchainMeta[];
29
30
  tokens: (options?: TokenOptions) => Token[];
31
+ swappers: () => SwapperMeta[];
30
32
  isTokenPinned: (token: Token) => boolean;
31
33
 
32
34
  fetch: () => Promise<void>;
@@ -43,7 +45,7 @@ export const createDataSlice: StateCreator<
43
45
  _tokens: [],
44
46
  _popularTokens: [],
45
47
  _swappers: [],
46
-
48
+ fetchStatus: 'loading',
47
49
  // Selectors
48
50
  blockchains: (options) => {
49
51
  const blockchainsFromState = get()._blockchains;
@@ -163,41 +165,74 @@ export const createDataSlice: StateCreator<
163
165
  );
164
166
  return pinned;
165
167
  },
168
+ swappers: () => {
169
+ const {
170
+ config: { enableNewLiquiditySources, liquiditySources },
171
+ } = get();
172
+
173
+ /*
174
+ * If the enableNewLiquiditySources flag is set to true, we return all swappers that are not included in the config.
175
+ * Otherwise, we return all swappers that are included in the config.
176
+ */
177
+ const swappers = get()._swappers.filter((swapper) => {
178
+ const swapperGroupIncludedInLiquiditySources = liquiditySources?.includes(
179
+ swapper.swapperGroup
180
+ );
181
+
182
+ const shouldExcludeLiquiditySources =
183
+ enableNewLiquiditySources ||
184
+ !liquiditySources ||
185
+ liquiditySources.length === 0;
186
+
187
+ return shouldExcludeLiquiditySources
188
+ ? !swapperGroupIncludedInLiquiditySources
189
+ : swapperGroupIncludedInLiquiditySources;
190
+ });
191
+
192
+ const sortedSwappers = swappers.sort(sortLiquiditySourcesByGroupTitle);
166
193
 
194
+ return sortedSwappers;
195
+ },
167
196
  // Actions
168
197
  fetch: async () => {
169
- const response = await sdk().getAllMetadata();
198
+ try {
199
+ const response = await sdk().getAllMetadata();
170
200
 
171
- const blockchains: BlockchainMeta[] = [];
172
- const tokens: Token[] = [];
173
- const popularTokens: Token[] = response.popularTokens;
174
- const swappers: SwapperMeta[] = response.swappers;
201
+ set({ fetchStatus: 'success' });
202
+ const blockchains: BlockchainMeta[] = [];
203
+ const tokens: Token[] = [];
204
+ const popularTokens: Token[] = response.popularTokens;
205
+ const swappers: SwapperMeta[] = response.swappers;
175
206
 
176
- const blockchainsWithAtLeastOneToken = new Set();
207
+ const blockchainsWithAtLeastOneToken = new Set();
177
208
 
178
- response.tokens.forEach((token) => {
179
- blockchainsWithAtLeastOneToken.add(token.blockchain);
209
+ response.tokens.forEach((token) => {
210
+ blockchainsWithAtLeastOneToken.add(token.blockchain);
180
211
 
181
- tokens.push(token);
182
- });
212
+ tokens.push(token);
213
+ });
183
214
 
184
- response.blockchains.forEach((blockchain) => {
185
- if (
186
- blockchain.enabled &&
187
- blockchainsWithAtLeastOneToken.has(blockchain.name)
188
- ) {
189
- blockchains.push(blockchain);
190
- }
191
- });
215
+ response.blockchains.forEach((blockchain) => {
216
+ if (
217
+ blockchain.enabled &&
218
+ blockchainsWithAtLeastOneToken.has(blockchain.name)
219
+ ) {
220
+ blockchains.push(blockchain);
221
+ }
222
+ });
192
223
 
193
- // Sort
194
- blockchains.sort((a, b) => a.sort - b.sort);
224
+ // Sort
225
+ blockchains.sort((a, b) => a.sort - b.sort);
195
226
 
196
- set({
197
- _blockchains: blockchains,
198
- _tokens: tokens,
199
- _popularTokens: popularTokens,
200
- _swappers: swappers,
201
- });
227
+ set({
228
+ _blockchains: blockchains,
229
+ _tokens: tokens,
230
+ _popularTokens: popularTokens,
231
+ _swappers: swappers,
232
+ });
233
+ } catch (error) {
234
+ set({ fetchStatus: 'failed' });
235
+ throw error;
236
+ }
202
237
  },
203
238
  });
@@ -1,5 +1,6 @@
1
1
  import type { 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';
@@ -11,7 +12,6 @@ import {
11
12
  resetConnectedWalletState,
12
13
  } from '../utils/wallets';
13
14
 
14
- import { useMetaStore } from './meta';
15
15
  import createSelectors from './selectors';
16
16
 
17
17
  export type TokenBalance = {
@@ -38,11 +38,15 @@ interface WalletsStore {
38
38
  connectedWallets: ConnectedWallet[];
39
39
  customDestination: string;
40
40
  loading: boolean;
41
- connectWallet: (accounts: Wallet[]) => void;
41
+ connectWallet: (accounts: Wallet[], tokens: Token[]) => void;
42
42
  disconnectWallet: (walletType: WalletType) => void;
43
43
  selectWallets: (wallets: { walletType: string; chain: string }[]) => void;
44
44
  clearConnectedWallet: () => void;
45
- getWalletsDetails: (accounts: Wallet[], shouldRetry?: boolean) => void;
45
+ getWalletsDetails: (
46
+ accounts: Wallet[],
47
+ tokens: Token[],
48
+ shouldRetry?: boolean
49
+ ) => void;
46
50
  }
47
51
 
48
52
  export const useWalletsStore = createSelectors(
@@ -51,7 +55,7 @@ export const useWalletsStore = createSelectors(
51
55
  connectedWallets: [],
52
56
  customDestination: '',
53
57
  loading: false,
54
- connectWallet: (accounts) => {
58
+ connectWallet: (accounts, tokens) => {
55
59
  const getWalletsDetails = get().getWalletsDetails;
56
60
  set((state) => ({
57
61
  loading: true,
@@ -77,7 +81,7 @@ export const useWalletsStore = createSelectors(
77
81
  })
78
82
  ),
79
83
  }));
80
- getWalletsDetails(accounts);
84
+ getWalletsDetails(accounts, tokens);
81
85
  },
82
86
  disconnectWallet: (walletType) => {
83
87
  set((state) => {
@@ -135,9 +139,8 @@ export const useWalletsStore = createSelectors(
135
139
  connectedWallets: [],
136
140
  selectedWallets: [],
137
141
  })),
138
- getWalletsDetails: async (accounts, shouldRetry = true) => {
142
+ getWalletsDetails: async (accounts, tokens, shouldRetry = true) => {
139
143
  const getWalletsDetails = get().getWalletsDetails;
140
- const { tokens } = useMetaStore.getState().meta;
141
144
  set((state) => ({
142
145
  loading: true,
143
146
  connectedWallets: state.connectedWallets.map((wallet) => {
@@ -173,7 +176,7 @@ export const useWalletsStore = createSelectors(
173
176
  matchedAccount &&
174
177
  shouldRetry
175
178
  ) {
176
- getWalletsDetails([matchedAccount], false);
179
+ getWalletsDetails([matchedAccount], tokens, false);
177
180
  }
178
181
  return matchedAccount && retrievedBalanceAccount
179
182
  ? {
@@ -183,6 +186,7 @@ export const useWalletsStore = createSelectors(
183
186
  retrievedBalanceAccount,
184
187
  tokens
185
188
  ),
189
+ loading: false,
186
190
  }
187
191
  : connectedWallet;
188
192
  }
@@ -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 };
@@ -85,13 +85,24 @@ export type BlockchainAndTokenConfig = {
85
85
  tokens?: Asset[];
86
86
  };
87
87
 
88
+ /**
89
+ * `ExperimentalFeatures`
90
+ *
91
+ * @property {boolean} routing
92
+ *- This property is optional and sets experimental in quote api.
93
+ */
94
+ type ExperimentalFeatures = {
95
+ routing?: boolean;
96
+ };
97
+
88
98
  /**
89
99
  * The type WidgetConfig defines the configuration options for a widget, including API key, affiliate
90
100
  * reference, amount, blockchain and token configurations, liquidity sources, wallet types, language,
91
101
  * and theme.
92
102
  *
93
103
  * @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
104
+ * @property {string} apiUrl - The API url used to set custom API url
105
+ * @property {WidgetAffiliate} affiliate - If you want to charge users fee per transaction, you should
95
106
  * pass `WidgetAffiliate` including affiliateRef, affiliatePercent, and affiliateWallets.
96
107
  * @property {number} amount - The default input amount.
97
108
  * @property {BlockchainAndTokenConfig} from - The `from` property is an optional property of type
@@ -121,13 +132,16 @@ export type BlockchainAndTokenConfig = {
121
132
  * If `externalWallets` is `true`, you should add `WidgetWallets` to your app.
122
133
  * @property {Asset} pinnedTokens - The `pinnedTokens` property is an optional array of `Asset` objects that
123
134
  * 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
135
+ * @property {boolean} enableNewLiquiditySources - The `enableNewLiquiditySources` property is a boolean value that when you
125
136
  * set it to true, whenever a new liquidity source is added, it will be added to your list as well.
137
+ * @property {ExperimentalFeatures} experimental - The `experimental` property is an optional object that specifies some experimental features.
126
138
  */
139
+
127
140
  export type WidgetConfig = {
128
141
  apiKey: string;
142
+ apiUrl?: string;
129
143
  walletConnectProjectId?: string;
130
- affiliate?: WidgeAffiliate;
144
+ affiliate?: WidgetAffiliate;
131
145
  amount?: number;
132
146
  from?: BlockchainAndTokenConfig;
133
147
  to?: BlockchainAndTokenConfig;
@@ -139,5 +153,6 @@ export type WidgetConfig = {
139
153
  theme?: WidgetTheme;
140
154
  externalWallets?: boolean;
141
155
  pinnedTokens?: Asset[];
142
- includeNewLiquiditySources?: boolean;
156
+ enableNewLiquiditySources?: boolean;
157
+ experimental?: ExperimentalFeatures;
143
158
  };
@@ -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
@@ -5,19 +5,10 @@ export type PendingSwapSettings = Omit<
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 = {
@@ -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/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 => {