@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
@@ -0,0 +1,52 @@
1
+ import type { WalletType } from '@rango-dev/wallets-shared';
2
+
3
+ import { I18nManager } from '@rango-dev/ui';
4
+ import React, { useContext, useEffect, useState } from 'react';
5
+
6
+ import { AppRouter } from '../../components/AppRouter';
7
+ import { AppRoutes } from '../../components/AppRoutes';
8
+ import { WidgetEvents } from '../../components/WidgetEvents';
9
+ import { globalFont } from '../../globalStyles';
10
+ import { useLanguage } from '../../hooks/useLanguage';
11
+ import { useTheme } from '../../hooks/useTheme';
12
+ import { useAppStore } from '../../store/AppStore';
13
+ import { useNotificationStore } from '../../store/notification';
14
+ import { WidgetContext } from '../Wallets';
15
+
16
+ import { MainContainer } from './App.styles';
17
+
18
+ export function Main() {
19
+ globalFont();
20
+
21
+ const { config } = useAppStore();
22
+ const { activeTheme } = useTheme(config?.theme || {});
23
+ const { activeLanguage, changeLanguage } = useLanguage();
24
+ const [lastConnectedWalletWithNetwork, setLastConnectedWalletWithNetwork] =
25
+ useState<string>('');
26
+ const [disconnectedWallet, setDisconnectedWallet] = useState<WalletType>();
27
+ const widgetContext = useContext(WidgetContext);
28
+
29
+ useEffect(() => {
30
+ void useNotificationStore.persist.rehydrate();
31
+ widgetContext.onConnectWallet(setLastConnectedWalletWithNetwork);
32
+ }, []);
33
+ useEffect(() => {
34
+ changeLanguage(config?.language);
35
+ }, [config?.language]);
36
+
37
+ return (
38
+ <I18nManager language={activeLanguage}>
39
+ <MainContainer id="swap-container" className={activeTheme()}>
40
+ <WidgetEvents />
41
+ <AppRouter
42
+ lastConnectedWallet={lastConnectedWalletWithNetwork}
43
+ disconnectedWallet={disconnectedWallet}
44
+ clearDisconnectedWallet={() => {
45
+ setDisconnectedWallet(undefined);
46
+ }}>
47
+ <AppRoutes />
48
+ </AppRouter>
49
+ </MainContainer>
50
+ </I18nManager>
51
+ );
52
+ }
@@ -0,0 +1 @@
1
+ export { Main } from './App';
@@ -0,0 +1,31 @@
1
+ import { styled } from '@rango-dev/ui';
2
+
3
+ export const PositionTopAlerts = styled('div', {
4
+ paddingBottom: '$10',
5
+ });
6
+
7
+ export const QuoteContainer = styled('div', {
8
+ width: '100%',
9
+ '& .position-top__skeleton': {
10
+ paddingTop: '$10',
11
+ },
12
+ });
13
+
14
+ export const SkeletonContainer = styled('div', {
15
+ variants: {
16
+ paddingTop: {
17
+ true: {
18
+ paddingTop: '$10',
19
+ },
20
+ },
21
+ },
22
+ });
23
+
24
+ export const FooterStepAlarm = styled('div', {
25
+ paddingBottom: '$15',
26
+ });
27
+
28
+ export const FooterAlert = styled('div', {
29
+ width: '100%',
30
+ display: 'flex',
31
+ });
@@ -0,0 +1,99 @@
1
+ import type { PropTypes } from './QuoteInfo.types';
2
+
3
+ import { Divider } from '@rango-dev/ui';
4
+ import React from 'react';
5
+
6
+ import { Quote } from '../../components/Quote';
7
+ import { QuoteSkeleton } from '../../components/QuoteSkeleton';
8
+ import { QuoteWarningsAndErrors } from '../../components/QuoteWarningsAndErrors';
9
+ import { useQuoteStore } from '../../store/quote';
10
+ import { QuoteErrorType } from '../../types';
11
+
12
+ import {
13
+ PositionTopAlerts,
14
+ QuoteContainer,
15
+ SkeletonContainer,
16
+ } from './QuoteInfo.styles';
17
+
18
+ export function QuoteInfo(props: PropTypes) {
19
+ const {
20
+ quote,
21
+ type,
22
+ loading,
23
+ error,
24
+ warning,
25
+ refetchQuote,
26
+ showWarningModal,
27
+ onOpenWarningModal,
28
+ onCloseWarningModal,
29
+ onConfirmWarningModal,
30
+ onChangeSettings,
31
+ expanded = false,
32
+ alertPosition = 'bottom',
33
+ } = props;
34
+ const { inputAmount, inputUsdValue, outputUsdValue, outputAmount } =
35
+ useQuoteStore();
36
+
37
+ const noResult =
38
+ error &&
39
+ (error.type === QuoteErrorType.NO_RESULT ||
40
+ error.type === QuoteErrorType.REQUEST_FAILED);
41
+
42
+ const showQuote = !noResult && quote && quote.result && !loading;
43
+
44
+ const quoteWarningsAndErrors = (warning || error) && (
45
+ <QuoteWarningsAndErrors
46
+ warning={warning}
47
+ error={error}
48
+ loading={loading}
49
+ refetchQuote={refetchQuote}
50
+ showWarningModal={showWarningModal}
51
+ onOpenWarningModal={onOpenWarningModal}
52
+ onCloseWarningModal={onCloseWarningModal}
53
+ onConfirmWarningModal={onConfirmWarningModal}
54
+ onChangeSettings={onChangeSettings}
55
+ />
56
+ );
57
+ return (
58
+ <>
59
+ {loading && (
60
+ <QuoteContainer>
61
+ <SkeletonContainer paddingTop={alertPosition === 'top'}>
62
+ <QuoteSkeleton type={type} expanded={expanded} />
63
+ </SkeletonContainer>
64
+ </QuoteContainer>
65
+ )}
66
+
67
+ {alertPosition === 'top' && (
68
+ <PositionTopAlerts>{quoteWarningsAndErrors}</PositionTopAlerts>
69
+ )}
70
+ {showQuote ? (
71
+ <QuoteContainer>
72
+ <Quote
73
+ quote={quote}
74
+ error={error}
75
+ warning={warning}
76
+ type={type}
77
+ expanded={expanded}
78
+ recommended={true}
79
+ input={{
80
+ value: inputAmount,
81
+ usdValue: inputUsdValue?.toString() ?? '',
82
+ }}
83
+ output={{
84
+ value: outputAmount?.toString() ?? '',
85
+ usdValue: outputUsdValue?.toString() ?? '',
86
+ }}
87
+ />
88
+ </QuoteContainer>
89
+ ) : null}
90
+
91
+ {alertPosition === 'bottom' && (
92
+ <>
93
+ {!warning && !error && <Divider size={16} />}
94
+ {quoteWarningsAndErrors}
95
+ </>
96
+ )}
97
+ </>
98
+ );
99
+ }
@@ -0,0 +1,20 @@
1
+ import type { QuoteProps } from '../../components/Quote/Quote.types';
2
+ import type { QuoteError, QuoteWarning } from '../../types';
3
+ import type { BestRouteResponse } from 'rango-sdk';
4
+
5
+ export type PropTypes = {
6
+ quote: BestRouteResponse | null;
7
+ type: QuoteProps['type'];
8
+ loading: boolean;
9
+ error: QuoteError | null;
10
+ warning: QuoteWarning | null;
11
+ autoScrollOnExpanding?: boolean;
12
+ expanded?: boolean;
13
+ alertPosition?: 'top' | 'bottom';
14
+ refetchQuote: () => void;
15
+ showWarningModal: boolean;
16
+ onOpenWarningModal: () => void;
17
+ onCloseWarningModal: () => void;
18
+ onConfirmWarningModal: () => void;
19
+ onChangeSettings: () => void;
20
+ };
@@ -0,0 +1 @@
1
+ export { QuoteInfo } from './QuoteInfo';
@@ -1,25 +1,25 @@
1
- import type { WidgetConfig } from './types';
2
- import type { ProvidersOptions } from './utils/providers';
1
+ import type {
2
+ OnConnectHandler,
3
+ PropTypes,
4
+ WidgetContextInterface,
5
+ } from './Wallets.types';
6
+ import type { ProvidersOptions } from '../../utils/providers';
3
7
  import type { EventHandler } from '@rango-dev/wallets-react';
4
8
  import type { Network } from '@rango-dev/wallets-shared';
5
9
  import type { PropsWithChildren } from 'react';
6
10
 
7
11
  import { Events, Provider } from '@rango-dev/wallets-react';
8
12
  import { isEvmBlockchain } from 'rango-sdk';
9
- import React, { createContext, useRef } from 'react';
13
+ import React, { createContext, useEffect, useRef } from 'react';
10
14
 
11
- import { useWalletProviders } from './hooks/useWalletProviders';
12
- import { useMetaStore } from './store/meta';
13
- import { useWalletsStore } from './store/wallets';
15
+ import { useSyncStoresWithConfig } from '../../hooks/useSyncStoresWithConfig';
16
+ import { useWalletProviders } from '../../hooks/useWalletProviders';
17
+ import { AppStoreProvider, useAppStore } from '../../store/AppStore';
18
+ import { useWalletsStore } from '../../store/wallets';
14
19
  import {
15
20
  prepareAccountsForWalletStore,
16
21
  walletAndSupportedChainsNames,
17
- } from './utils/wallets';
18
-
19
- type OnConnectHandler = (key: string) => void;
20
- interface WidgetContextInterface {
21
- onConnectWallet(handler: OnConnectHandler): void;
22
- }
22
+ } from '../../utils/wallets';
23
23
 
24
24
  export const WidgetContext = createContext<WidgetContextInterface>({
25
25
  onConnectWallet: () => {
@@ -27,41 +27,46 @@ export const WidgetContext = createContext<WidgetContextInterface>({
27
27
  },
28
28
  });
29
29
 
30
- export function WidgetWallets(
31
- props: PropsWithChildren<{
32
- providers: WidgetConfig['wallets'];
33
- options?: ProvidersOptions;
34
- onUpdateState?: EventHandler;
35
- }>
36
- ) {
37
- const { blockchains } = useMetaStore.use.meta();
38
- const { providers } = useWalletProviders(props.providers, props?.options);
39
- const disconnectWallet = useWalletsStore.use.disconnectWallet();
40
- const connectWallet = useWalletsStore.use.connectWallet();
30
+ function Main(props: PropsWithChildren<PropTypes>) {
31
+ const { updateConfig, updateSettings, fetch: fetchMeta } = useAppStore();
32
+ const blockchains = useAppStore().blockchains();
33
+ const tokens = useAppStore().tokens();
34
+ const walletOptions: ProvidersOptions = {
35
+ walletConnectProjectId: props.config?.walletConnectProjectId,
36
+ };
37
+ const { providers } = useWalletProviders(props.config.wallets, walletOptions);
38
+ const { connectWallet, disconnectWallet } = useWalletsStore();
41
39
  const onConnectWalletHandler = useRef<OnConnectHandler>();
40
+ useSyncStoresWithConfig();
41
+
42
+ useEffect(() => {
43
+ void fetchMeta().catch(console.log);
44
+ }, []);
45
+
46
+ useEffect(() => {
47
+ if (props.config) {
48
+ updateConfig(props.config);
49
+ updateSettings(props.config);
50
+ }
51
+ }, [props.config]);
42
52
 
43
53
  const evmBasedChainNames = blockchains
44
54
  .filter(isEvmBlockchain)
45
55
  .map((chain) => chain.name);
46
56
 
47
- const onUpdateState: EventHandler = (
48
- type,
49
- event,
50
- value,
51
- state,
52
- supportedBlockchains
53
- ) => {
57
+ const onUpdateState: EventHandler = (type, event, value, state, meta) => {
54
58
  if (event === Events.ACCOUNTS) {
55
59
  if (value) {
56
60
  const supportedChainNames: Network[] | null =
57
- walletAndSupportedChainsNames(supportedBlockchains);
61
+ walletAndSupportedChainsNames(meta.supportedBlockchains);
58
62
  const data = prepareAccountsForWalletStore(
59
63
  type,
60
64
  value,
61
65
  evmBasedChainNames,
62
- supportedChainNames
66
+ supportedChainNames,
67
+ meta.isContractWallet
63
68
  );
64
- connectWallet(data);
69
+ connectWallet(data, tokens);
65
70
  } else {
66
71
  disconnectWallet(type);
67
72
  }
@@ -91,7 +96,7 @@ export function WidgetWallets(
91
96
 
92
97
  // propagate updates for Dapps using external wallets
93
98
  if (props.onUpdateState) {
94
- props.onUpdateState(type, event, value, state, supportedBlockchains);
99
+ props.onUpdateState(type, event, value, state, meta);
95
100
  }
96
101
  };
97
102
  return (
@@ -112,3 +117,12 @@ export function WidgetWallets(
112
117
  </WidgetContext.Provider>
113
118
  );
114
119
  }
120
+
121
+ export function WidgetWallets(props: PropsWithChildren<PropTypes>) {
122
+ const { config, ...otherProps } = props;
123
+ return (
124
+ <AppStoreProvider config={config}>
125
+ <Main {...otherProps} config={config} />
126
+ </AppStoreProvider>
127
+ );
128
+ }
@@ -0,0 +1,12 @@
1
+ import type { WidgetConfig } from '../../types';
2
+ import type { EventHandler } from '@rango-dev/wallets-react';
3
+
4
+ export type OnConnectHandler = (key: string) => void;
5
+ export interface WidgetContextInterface {
6
+ onConnectWallet(handler: OnConnectHandler): void;
7
+ }
8
+
9
+ export interface PropTypes {
10
+ onUpdateState?: EventHandler;
11
+ config: WidgetConfig;
12
+ }
@@ -0,0 +1 @@
1
+ export { WidgetWallets, WidgetContext } from './Wallets';
@@ -0,0 +1,19 @@
1
+ import type { WidgetProps } from './Widget.types';
2
+ import type { PropsWithChildren } from 'react';
3
+
4
+ import React from 'react';
5
+
6
+ import { DEFAULT_CONFIG } from '../../store/slices/config';
7
+ import { Main } from '../App';
8
+ import { WidgetProvider } from '../WidgetProvider';
9
+
10
+ export function Widget(props: PropsWithChildren<WidgetProps>) {
11
+ if (!props.config?.externalWallets) {
12
+ return (
13
+ <WidgetProvider config={props.config ?? DEFAULT_CONFIG}>
14
+ <Main />
15
+ </WidgetProvider>
16
+ );
17
+ }
18
+ return <Main />;
19
+ }
@@ -0,0 +1,5 @@
1
+ import type { WidgetConfig } from '../../types';
2
+
3
+ export type WidgetProps = {
4
+ config?: WidgetConfig;
5
+ };
@@ -0,0 +1,2 @@
1
+ export { Widget } from './Widget';
2
+ export type { WidgetProps } from './Widget.types';
@@ -0,0 +1,64 @@
1
+ import type { Meta } from '../../store/quote';
2
+ import type { Manager } from '@rango-dev/queue-manager-core';
3
+ import type { PendingSwap } from 'rango-types/lib';
4
+
5
+ import {
6
+ cancelSwap,
7
+ getCurrentBlockchainOfOrNull,
8
+ getCurrentStep,
9
+ getRelatedWalletOrNull,
10
+ } from '@rango-dev/queue-manager-rango-preset';
11
+
12
+ import { getPendingSwaps } from '../../utils/queue';
13
+
14
+ interface WidgetHistoryActions {
15
+ retrySwap: (pendingSwap: PendingSwap, meta: Meta) => void;
16
+ }
17
+
18
+ export class WidgetHistory {
19
+ private manager: Manager | undefined;
20
+ private actions: WidgetHistoryActions;
21
+
22
+ constructor(manager: Manager | undefined, actions: WidgetHistoryActions) {
23
+ this.manager = manager;
24
+ this.actions = actions;
25
+ }
26
+
27
+ public getAllSwaps() {
28
+ return getPendingSwaps(this.manager);
29
+ }
30
+
31
+ public getCurrentStep(swap: PendingSwap) {
32
+ return this.getCurrentStepInfo(swap).step;
33
+ }
34
+
35
+ public getCurrentStepWallet(swap: PendingSwap) {
36
+ return this.getCurrentStepInfo(swap).wallet;
37
+ }
38
+
39
+ public getCurrentStepNetwork(swap: PendingSwap) {
40
+ return this.getCurrentStepInfo(swap).network;
41
+ }
42
+
43
+ public retry(swap: PendingSwap, meta: Meta) {
44
+ return this.actions.retrySwap(swap, meta);
45
+ }
46
+
47
+ public cancel(id: string) {
48
+ const queue = this.manager?.get(id);
49
+ if (queue) {
50
+ cancelSwap(queue);
51
+ }
52
+ }
53
+
54
+ private getCurrentStepInfo(swap: PendingSwap) {
55
+ const currentStep = getCurrentStep(swap);
56
+ return {
57
+ step: currentStep,
58
+ wallet: currentStep ? getRelatedWalletOrNull(swap, currentStep) : null,
59
+ network: currentStep
60
+ ? getCurrentBlockchainOfOrNull(swap, currentStep)
61
+ : null,
62
+ };
63
+ }
64
+ }
@@ -0,0 +1,62 @@
1
+ import type { WidgetInfoContextInterface } from './WidgetInfo.types';
2
+
3
+ import { useManager } from '@rango-dev/queue-manager-react';
4
+ import React, { createContext, useContext } from 'react';
5
+
6
+ import { useAppStore } from '../../store/AppStore';
7
+ import { useQuoteStore } from '../../store/quote';
8
+ import { useWalletsStore } from '../../store/wallets';
9
+ import { calculateWalletUsdValue } from '../../utils/wallets';
10
+
11
+ import { WidgetHistory } from './WidgetInfo.helpers';
12
+
13
+ export const WidgetInfoContext = createContext<
14
+ WidgetInfoContextInterface | undefined
15
+ >(undefined);
16
+
17
+ export function WidgetInfo(props: React.PropsWithChildren) {
18
+ const { manager } = useManager();
19
+ const retrySwap = useQuoteStore.use.retry();
20
+ const history = new WidgetHistory(manager, { retrySwap });
21
+ const details = useWalletsStore.use.connectedWallets();
22
+ const isLoading = useWalletsStore.use.loading();
23
+ const totalBalance = calculateWalletUsdValue(details);
24
+ const refetch = useWalletsStore.use.getWalletsDetails();
25
+ const blockchains = useAppStore().blockchains();
26
+ const tokens = useAppStore().tokens();
27
+ const swappers = useAppStore().swappers();
28
+ const loadingStatus = useAppStore().fetchStatus;
29
+
30
+ // eslint-disable-next-line react/jsx-no-constructed-context-values
31
+ const value = {
32
+ history,
33
+ wallets: {
34
+ isLoading,
35
+ details,
36
+ totalBalance,
37
+ refetch,
38
+ },
39
+ meta: {
40
+ blockchains,
41
+ tokens,
42
+ swappers,
43
+ loadingStatus,
44
+ },
45
+ };
46
+
47
+ return (
48
+ <WidgetInfoContext.Provider value={value}>
49
+ {props.children}
50
+ </WidgetInfoContext.Provider>
51
+ );
52
+ }
53
+
54
+ export function useWidget(): WidgetInfoContextInterface {
55
+ const context = useContext(WidgetInfoContext);
56
+ if (!context) {
57
+ throw new Error(
58
+ 'useWidget can only be used within the WidgetProvider component'
59
+ );
60
+ }
61
+ return context;
62
+ }
@@ -0,0 +1,21 @@
1
+ import type { WidgetHistory } from './WidgetInfo.helpers';
2
+ import type { FetchStatus } from '../../store/slices/data';
3
+ import type { ConnectedWallet } from '../../store/wallets';
4
+ import type { Wallet } from '../../types';
5
+ import type { BlockchainMeta, SwapperMeta, Token } from 'rango-sdk';
6
+
7
+ export interface WidgetInfoContextInterface {
8
+ history: WidgetHistory;
9
+ wallets: {
10
+ details: ConnectedWallet[];
11
+ totalBalance: string;
12
+ isLoading: boolean;
13
+ refetch: (accounts: Wallet[], tokens: Token[]) => void;
14
+ };
15
+ meta: {
16
+ blockchains: BlockchainMeta[];
17
+ tokens: Token[];
18
+ swappers: SwapperMeta[];
19
+ loadingStatus: FetchStatus;
20
+ };
21
+ }
@@ -0,0 +1 @@
1
+ export { WidgetInfo, useWidget } from './WidgetInfo';
@@ -0,0 +1,28 @@
1
+ import type { PropTypes } from './WidgetProvider.types';
2
+ import type { PropsWithChildren } from 'react';
3
+
4
+ import React, { useMemo } from 'react';
5
+
6
+ import { DEFAULT_BASE_URL, RANGO_PUBLIC_API_KEY } from '../../constants';
7
+ import QueueManager from '../../QueueManager';
8
+ import { initConfig } from '../../utils/configs';
9
+ import { WidgetWallets } from '../Wallets';
10
+ import { WidgetInfo } from '../WidgetInfo';
11
+
12
+ export function WidgetProvider(props: PropsWithChildren<PropTypes>) {
13
+ const { onUpdateState, config } = props;
14
+
15
+ useMemo(() => {
16
+ initConfig({
17
+ API_KEY: config?.apiKey || RANGO_PUBLIC_API_KEY,
18
+ BASE_URL: config?.apiUrl || DEFAULT_BASE_URL,
19
+ });
20
+ }, [config]);
21
+ return (
22
+ <WidgetWallets config={config} onUpdateState={onUpdateState}>
23
+ <QueueManager apiKey={config.apiKey}>
24
+ <WidgetInfo>{props.children}</WidgetInfo>
25
+ </QueueManager>
26
+ </WidgetWallets>
27
+ );
28
+ }
@@ -0,0 +1,7 @@
1
+ import type { WidgetConfig } from '../../types';
2
+ import type { EventHandler } from '@rango-dev/wallets-react';
3
+
4
+ export type PropTypes = {
5
+ onUpdateState?: EventHandler;
6
+ config: WidgetConfig;
7
+ };
@@ -0,0 +1 @@
1
+ export { WidgetProvider } from './WidgetProvider';
@@ -0,0 +1 @@
1
+ export { useConfirmSwap } from './useConfirmSwap';