@rango-dev/widget-embedded 0.31.1-next.3 → 0.32.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 (298) hide show
  1. package/dist/components/AppRoutes.d.ts.map +1 -1
  2. package/dist/components/BlockchainList/BlockchainList.d.ts.map +1 -1
  3. package/dist/components/BlockchainList/BlockchainList.styles.d.ts +4 -1
  4. package/dist/components/BlockchainList/BlockchainList.styles.d.ts.map +1 -1
  5. package/dist/components/BlockchainList/BlockchainList.types.d.ts +1 -0
  6. package/dist/components/BlockchainList/BlockchainList.types.d.ts.map +1 -1
  7. package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.d.ts +4 -0
  8. package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.d.ts.map +1 -0
  9. package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.styles.d.ts +483 -0
  10. package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.styles.d.ts.map +1 -0
  11. package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.types.d.ts +12 -0
  12. package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.types.d.ts.map +1 -0
  13. package/dist/components/BlockchainSelectorButton/index.d.ts +2 -0
  14. package/dist/components/BlockchainSelectorButton/index.d.ts.map +1 -0
  15. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts +1 -0
  16. package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts.map +1 -1
  17. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +11 -0
  18. package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -1
  19. package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -1
  20. package/dist/components/ConfirmWalletsModal/WalletList.styles.d.ts +3 -0
  21. package/dist/components/ConfirmWalletsModal/WalletList.styles.d.ts.map +1 -1
  22. package/dist/components/CustomCollapsible/CustomCollapsible.styles.d.ts +4 -0
  23. package/dist/components/CustomCollapsible/CustomCollapsible.styles.d.ts.map +1 -1
  24. package/dist/components/CustomDestination/CustomDestination.d.ts.map +1 -1
  25. package/dist/components/CustomDestination/CustomDestination.styles.d.ts +5 -2
  26. package/dist/components/CustomDestination/CustomDestination.styles.d.ts.map +1 -1
  27. package/dist/components/CustomTokenModal/CustomTokenModal.d.ts +4 -0
  28. package/dist/components/CustomTokenModal/CustomTokenModal.d.ts.map +1 -0
  29. package/dist/components/CustomTokenModal/CustomTokenModal.helpers.d.ts +3 -0
  30. package/dist/components/CustomTokenModal/CustomTokenModal.helpers.d.ts.map +1 -0
  31. package/dist/components/CustomTokenModal/CustomTokenModal.styles.d.ts +323 -0
  32. package/dist/components/CustomTokenModal/CustomTokenModal.styles.d.ts.map +1 -0
  33. package/dist/components/CustomTokenModal/CustomTokenModal.types.d.ts +9 -0
  34. package/dist/components/CustomTokenModal/CustomTokenModal.types.d.ts.map +1 -0
  35. package/dist/components/CustomTokenModal/index.d.ts +2 -0
  36. package/dist/components/CustomTokenModal/index.d.ts.map +1 -0
  37. package/dist/components/FilterSelector/FilterSelector.style.d.ts +6 -0
  38. package/dist/components/FilterSelector/FilterSelector.style.d.ts.map +1 -1
  39. package/dist/components/HeaderButtons/HeaderButtons.styles.d.ts +8 -0
  40. package/dist/components/HeaderButtons/HeaderButtons.styles.d.ts.map +1 -1
  41. package/dist/components/HistoryGroupedList/HistoryGroupedList.styles.d.ts +6 -0
  42. package/dist/components/HistoryGroupedList/HistoryGroupedList.styles.d.ts.map +1 -1
  43. package/dist/components/Layout/Layout.styles.d.ts +4 -0
  44. package/dist/components/Layout/Layout.styles.d.ts.map +1 -1
  45. package/dist/components/Layout/PageContainer.d.ts +1 -0
  46. package/dist/components/Layout/PageContainer.d.ts.map +1 -1
  47. package/dist/components/Layout/ScrollableArea.d.ts +1 -0
  48. package/dist/components/Layout/ScrollableArea.d.ts.map +1 -1
  49. package/dist/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.styles.d.ts +1 -0
  50. package/dist/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.styles.d.ts.map +1 -1
  51. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +14 -0
  52. package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -1
  53. package/dist/components/NoResult/NoResult.styles.d.ts +4 -0
  54. package/dist/components/NoResult/NoResult.styles.d.ts.map +1 -1
  55. package/dist/components/Quote/Quote.styles.d.ts +22 -1
  56. package/dist/components/Quote/Quote.styles.d.ts.map +1 -1
  57. package/dist/components/Quote/QuoteCostDetails.styles.d.ts +5 -0
  58. package/dist/components/Quote/QuoteCostDetails.styles.d.ts.map +1 -1
  59. package/dist/components/Quote/QuoteSummary.styles.d.ts +2 -0
  60. package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -1
  61. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts +4 -0
  62. package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts.map +1 -1
  63. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts +10 -0
  64. package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts.map +1 -1
  65. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts +5 -0
  66. package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts.map +1 -1
  67. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts +4 -0
  68. package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -1
  69. package/dist/components/Quotes/Quotes.styles.d.ts +3 -0
  70. package/dist/components/Quotes/Quotes.styles.d.ts.map +1 -1
  71. package/dist/components/RefreshModal/RefreshModal.styles.d.ts +2 -1
  72. package/dist/components/RefreshModal/RefreshModal.styles.d.ts.map +1 -1
  73. package/dist/components/SearchInput/SearchInput.styles.d.ts +1 -0
  74. package/dist/components/SearchInput/SearchInput.styles.d.ts.map +1 -1
  75. package/dist/components/SettingsContainer/SettingsContainer.style.d.ts +3 -0
  76. package/dist/components/SettingsContainer/SettingsContainer.style.d.ts.map +1 -1
  77. package/dist/components/Slippage/Slippage.styles.d.ts +5 -0
  78. package/dist/components/Slippage/Slippage.styles.d.ts.map +1 -1
  79. package/dist/components/SwapDetails/SwapDetails.styles.d.ts +15 -0
  80. package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -1
  81. package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.styles.d.ts +3 -0
  82. package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.styles.d.ts.map +1 -1
  83. package/dist/components/SwapDetailsModal/SwapDetailsModal.WalletState.d.ts.map +1 -1
  84. package/dist/components/SwapDetailsModal/SwapDetailsModal.styles.d.ts +2 -0
  85. package/dist/components/SwapDetailsModal/SwapDetailsModal.styles.d.ts.map +1 -1
  86. package/dist/components/SwitchFromAndTo/SwitchFromAndTo.styles.d.ts +2 -0
  87. package/dist/components/SwitchFromAndTo/SwitchFromAndTo.styles.d.ts.map +1 -1
  88. package/dist/components/TokenList/TokenList.d.ts.map +1 -1
  89. package/dist/components/TokenList/TokenList.styles.d.ts +18 -0
  90. package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -1
  91. package/dist/components/TokenList/TokenList.types.d.ts +5 -2
  92. package/dist/components/TokenList/TokenList.types.d.ts.map +1 -1
  93. package/dist/components/WalletDerivationPathModal/WalletDerivationPathModal.d.ts +4 -0
  94. package/dist/components/WalletDerivationPathModal/WalletDerivationPathModal.d.ts.map +1 -0
  95. package/dist/components/{WalletStatefulConnect/DerivationPath.styles.d.ts → WalletDerivationPathModal/WalletDerivationPathModal.styles.d.ts} +3 -1
  96. package/dist/components/WalletDerivationPathModal/WalletDerivationPathModal.styles.d.ts.map +1 -0
  97. package/dist/components/WalletDerivationPathModal/WalletDerivationPathModal.types.d.ts +10 -0
  98. package/dist/components/WalletDerivationPathModal/WalletDerivationPathModal.types.d.ts.map +1 -0
  99. package/dist/components/WalletDerivationPathModal/index.d.ts +2 -0
  100. package/dist/components/WalletDerivationPathModal/index.d.ts.map +1 -0
  101. package/dist/components/WalletModal/WalletModal.d.ts +4 -0
  102. package/dist/components/WalletModal/WalletModal.d.ts.map +1 -0
  103. package/dist/components/WalletModal/WalletModal.types.d.ts +10 -0
  104. package/dist/components/WalletModal/WalletModal.types.d.ts.map +1 -0
  105. package/dist/components/WalletModal/WalletModalContent.d.ts +4 -0
  106. package/dist/components/WalletModal/WalletModalContent.d.ts.map +1 -0
  107. package/dist/components/{WalletStatefulConnect/ConnectStatus.styles.d.ts → WalletModal/WalletModalContent.styles.d.ts} +5 -1
  108. package/dist/components/{WalletStatefulConnect/ConnectStatus.styles.d.ts.map → WalletModal/WalletModalContent.styles.d.ts.map} +1 -1
  109. package/dist/components/WalletModal/index.d.ts +2 -0
  110. package/dist/components/WalletModal/index.d.ts.map +1 -0
  111. package/dist/components/WalletNamespacesModal/WalletNamespacesModal.d.ts +4 -0
  112. package/dist/components/WalletNamespacesModal/WalletNamespacesModal.d.ts.map +1 -0
  113. package/dist/components/{WalletStatefulConnect/Namespaces.styles.d.ts → WalletNamespacesModal/WalletNamespacesModal.styles.d.ts} +2 -1
  114. package/dist/components/WalletNamespacesModal/WalletNamespacesModal.styles.d.ts.map +1 -0
  115. package/dist/components/WalletNamespacesModal/WalletNamespacesModal.types.d.ts +10 -0
  116. package/dist/components/WalletNamespacesModal/WalletNamespacesModal.types.d.ts.map +1 -0
  117. package/dist/components/WalletNamespacesModal/index.d.ts +2 -0
  118. package/dist/components/WalletNamespacesModal/index.d.ts.map +1 -0
  119. package/dist/constants/customTokens.d.ts +2 -0
  120. package/dist/constants/customTokens.d.ts.map +1 -0
  121. package/dist/constants/navigationRoutes.d.ts +2 -0
  122. package/dist/constants/navigationRoutes.d.ts.map +1 -1
  123. package/dist/constants/searchParams.d.ts +1 -0
  124. package/dist/constants/searchParams.d.ts.map +1 -1
  125. package/dist/containers/App/App.styles.d.ts +1 -0
  126. package/dist/containers/App/App.styles.d.ts.map +1 -1
  127. package/dist/containers/ExpandedQuotes/ExpandedQuotes.styles.d.ts +2 -0
  128. package/dist/containers/ExpandedQuotes/ExpandedQuotes.styles.d.ts.map +1 -1
  129. package/dist/containers/Inputs/Inputs.styles.d.ts +2 -0
  130. package/dist/containers/Inputs/Inputs.styles.d.ts.map +1 -1
  131. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +3 -0
  132. package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -1
  133. package/dist/containers/Settings/Lists.d.ts.map +1 -1
  134. package/dist/hooks/useFetchCustomToken.d.ts +16 -0
  135. package/dist/hooks/useFetchCustomToken.d.ts.map +1 -0
  136. package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +2 -2
  137. package/dist/hooks/useSwapInput.d.ts.map +1 -1
  138. package/dist/hooks/useSyncUrlAndStore/useSyncUrlAndStore.d.ts.map +1 -1
  139. package/dist/hooks/useTheme.d.ts +1 -0
  140. package/dist/hooks/useTheme.d.ts.map +1 -1
  141. package/dist/hooks/useWalletList.d.ts +14 -11
  142. package/dist/hooks/useWalletList.d.ts.map +1 -1
  143. package/dist/index.js +2 -2
  144. package/dist/index.js.map +4 -4
  145. package/dist/pages/AddCustomTokenPage.d.ts +3 -0
  146. package/dist/pages/AddCustomTokenPage.d.ts.map +1 -0
  147. package/dist/pages/CustomTokensPage.d.ts +3 -0
  148. package/dist/pages/CustomTokensPage.d.ts.map +1 -0
  149. package/dist/pages/SelectBlockchainPage.d.ts +2 -1
  150. package/dist/pages/SelectBlockchainPage.d.ts.map +1 -1
  151. package/dist/pages/WalletsPage.d.ts +2 -0
  152. package/dist/pages/WalletsPage.d.ts.map +1 -1
  153. package/dist/store/AppStore.d.ts +2 -0
  154. package/dist/store/AppStore.d.ts.map +1 -1
  155. package/dist/store/app.d.ts +2 -0
  156. package/dist/store/app.d.ts.map +1 -1
  157. package/dist/store/quote.d.ts.map +1 -1
  158. package/dist/store/slices/data.d.ts +4 -3
  159. package/dist/store/slices/data.d.ts.map +1 -1
  160. package/dist/store/slices/settings.d.ts +7 -2
  161. package/dist/store/slices/settings.d.ts.map +1 -1
  162. package/dist/store/utils/data.d.ts +4 -1
  163. package/dist/store/utils/data.d.ts.map +1 -1
  164. package/dist/types/config.d.ts +3 -1
  165. package/dist/types/config.d.ts.map +1 -1
  166. package/dist/utils/meta.d.ts +1 -0
  167. package/dist/utils/meta.d.ts.map +1 -1
  168. package/dist/utils/quote.d.ts +1 -0
  169. package/dist/utils/quote.d.ts.map +1 -1
  170. package/dist/utils/settings.d.ts +3 -2
  171. package/dist/utils/settings.d.ts.map +1 -1
  172. package/dist/utils/swap.d.ts.map +1 -1
  173. package/dist/widget-embedded.build.json +1 -1
  174. package/package.json +4 -4
  175. package/src/components/AppRoutes.tsx +30 -0
  176. package/src/components/BlockchainList/BlockchainList.styles.ts +3 -1
  177. package/src/components/BlockchainList/BlockchainList.tsx +26 -17
  178. package/src/components/BlockchainList/BlockchainList.types.ts +1 -0
  179. package/src/components/BlockchainSelectorButton/BlockchainSelectorButton.styles.ts +49 -0
  180. package/src/components/BlockchainSelectorButton/BlockchainSelectorButton.tsx +47 -0
  181. package/src/components/BlockchainSelectorButton/BlockchainSelectorButton.types.ts +11 -0
  182. package/src/components/BlockchainSelectorButton/index.ts +1 -0
  183. package/src/components/ConfirmWalletsModal/WalletList.tsx +243 -52
  184. package/src/components/CustomDestination/CustomDestination.tsx +5 -3
  185. package/src/components/CustomTokenModal/CustomTokenModal.helpers.ts +19 -0
  186. package/src/components/CustomTokenModal/CustomTokenModal.styles.ts +57 -0
  187. package/src/components/CustomTokenModal/CustomTokenModal.tsx +92 -0
  188. package/src/components/CustomTokenModal/CustomTokenModal.types.ts +9 -0
  189. package/src/components/CustomTokenModal/index.ts +1 -0
  190. package/src/components/HeaderButtons/WalletButton.tsx +1 -1
  191. package/src/components/SwapDetailsModal/SwapDetailsModal.WalletState.tsx +113 -23
  192. package/src/components/TokenList/TokenList.styles.ts +1 -0
  193. package/src/components/TokenList/TokenList.tsx +76 -51
  194. package/src/components/TokenList/TokenList.types.ts +5 -2
  195. package/src/components/{WalletStatefulConnect/DerivationPath.tsx → WalletDerivationPathModal/WalletDerivationPathModal.tsx} +36 -18
  196. package/src/components/WalletDerivationPathModal/WalletDerivationPathModal.types.tsx +10 -0
  197. package/src/components/WalletDerivationPathModal/index.ts +1 -0
  198. package/src/components/WalletModal/WalletModal.tsx +25 -0
  199. package/src/components/WalletModal/WalletModal.types.ts +11 -0
  200. package/src/components/{WalletStatefulConnect/ConnectStatus.tsx → WalletModal/WalletModalContent.tsx} +5 -13
  201. package/src/components/WalletModal/index.ts +1 -0
  202. package/src/components/{WalletStatefulConnect/Namespaces.tsx → WalletNamespacesModal/WalletNamespacesModal.tsx} +27 -9
  203. package/src/components/{WalletStatefulConnect/Namespaces.types.tsx → WalletNamespacesModal/WalletNamespacesModal.types.tsx} +5 -2
  204. package/src/components/WalletNamespacesModal/index.ts +1 -0
  205. package/src/constants/customTokens.ts +6 -0
  206. package/src/constants/navigationRoutes.ts +2 -0
  207. package/src/constants/searchParams.ts +3 -0
  208. package/src/containers/Settings/Lists.tsx +25 -1
  209. package/src/hooks/useFetchCustomToken.ts +114 -0
  210. package/src/hooks/useSwapInput.ts +8 -3
  211. package/src/hooks/useSyncUrlAndStore/useSyncUrlAndStore.ts +6 -1
  212. package/src/hooks/useTheme.ts +5 -1
  213. package/src/hooks/useWalletList.ts +53 -22
  214. package/src/pages/AddCustomTokenPage.tsx +210 -0
  215. package/src/pages/CustomTokensPage.tsx +184 -0
  216. package/src/pages/HistoryPage.tsx +2 -2
  217. package/src/pages/LiquiditySourcePage.tsx +2 -2
  218. package/src/pages/SelectBlockchainPage.tsx +15 -8
  219. package/src/pages/SelectSwapItemsPage.tsx +1 -1
  220. package/src/pages/WalletsPage.tsx +162 -10
  221. package/src/store/app.ts +1 -0
  222. package/src/store/quote.ts +12 -2
  223. package/src/store/slices/data.ts +61 -8
  224. package/src/store/slices/settings.ts +35 -2
  225. package/src/store/utils/data.ts +26 -1
  226. package/src/store/wallets.ts +1 -1
  227. package/src/types/config.ts +4 -1
  228. package/src/utils/meta.ts +12 -1
  229. package/src/utils/quote.ts +16 -3
  230. package/src/utils/settings.ts +13 -1
  231. package/src/utils/swap.ts +7 -7
  232. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts +0 -3
  233. package/dist/components/ConfirmWalletsModal/ConfirmWallets.helpers.d.ts.map +0 -1
  234. package/dist/components/StatefulConnectModal/StatefulConnectModal.d.ts +0 -11
  235. package/dist/components/StatefulConnectModal/StatefulConnectModal.d.ts.map +0 -1
  236. package/dist/components/StatefulConnectModal/helpers.d.ts +0 -10
  237. package/dist/components/StatefulConnectModal/helpers.d.ts.map +0 -1
  238. package/dist/components/StatefulConnectModal/index.d.ts +0 -2
  239. package/dist/components/StatefulConnectModal/index.d.ts.map +0 -1
  240. package/dist/components/WalletStatefulConnect/ConnectStatus.d.ts +0 -4
  241. package/dist/components/WalletStatefulConnect/ConnectStatus.d.ts.map +0 -1
  242. package/dist/components/WalletStatefulConnect/ConnectStatus.types.d.ts +0 -8
  243. package/dist/components/WalletStatefulConnect/ConnectStatus.types.d.ts.map +0 -1
  244. package/dist/components/WalletStatefulConnect/DerivationPath.d.ts +0 -4
  245. package/dist/components/WalletStatefulConnect/DerivationPath.d.ts.map +0 -1
  246. package/dist/components/WalletStatefulConnect/DerivationPath.helpers.d.ts +0 -4
  247. package/dist/components/WalletStatefulConnect/DerivationPath.helpers.d.ts.map +0 -1
  248. package/dist/components/WalletStatefulConnect/DerivationPath.styles.d.ts.map +0 -1
  249. package/dist/components/WalletStatefulConnect/DerivationPath.types.d.ts +0 -6
  250. package/dist/components/WalletStatefulConnect/DerivationPath.types.d.ts.map +0 -1
  251. package/dist/components/WalletStatefulConnect/ExperimentalChain.d.ts +0 -8
  252. package/dist/components/WalletStatefulConnect/ExperimentalChain.d.ts.map +0 -1
  253. package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.d.ts +0 -4
  254. package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.d.ts.map +0 -1
  255. package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.helpers.d.ts +0 -8
  256. package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.helpers.d.ts.map +0 -1
  257. package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.types.d.ts +0 -6
  258. package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.types.d.ts.map +0 -1
  259. package/dist/components/WalletStatefulConnect/Namespaces.d.ts +0 -4
  260. package/dist/components/WalletStatefulConnect/Namespaces.d.ts.map +0 -1
  261. package/dist/components/WalletStatefulConnect/Namespaces.helpers.d.ts +0 -3
  262. package/dist/components/WalletStatefulConnect/Namespaces.helpers.d.ts.map +0 -1
  263. package/dist/components/WalletStatefulConnect/Namespaces.styles.d.ts.map +0 -1
  264. package/dist/components/WalletStatefulConnect/Namespaces.types.d.ts +0 -7
  265. package/dist/components/WalletStatefulConnect/Namespaces.types.d.ts.map +0 -1
  266. package/dist/components/WalletStatefulConnect/index.d.ts +0 -5
  267. package/dist/components/WalletStatefulConnect/index.d.ts.map +0 -1
  268. package/dist/hooks/useStatefulConnect/index.d.ts +0 -5
  269. package/dist/hooks/useStatefulConnect/index.d.ts.map +0 -1
  270. package/dist/hooks/useStatefulConnect/useStatefulConnect.d.ts +0 -25
  271. package/dist/hooks/useStatefulConnect/useStatefulConnect.d.ts.map +0 -1
  272. package/dist/hooks/useStatefulConnect/useStatefulConnect.helpers.d.ts +0 -8
  273. package/dist/hooks/useStatefulConnect/useStatefulConnect.helpers.d.ts.map +0 -1
  274. package/dist/hooks/useStatefulConnect/useStatefulConnect.state.d.ts +0 -9
  275. package/dist/hooks/useStatefulConnect/useStatefulConnect.state.d.ts.map +0 -1
  276. package/dist/hooks/useStatefulConnect/useStatefulConnect.types.d.ts +0 -43
  277. package/dist/hooks/useStatefulConnect/useStatefulConnect.types.d.ts.map +0 -1
  278. package/src/components/ConfirmWalletsModal/ConfirmWallets.helpers.ts +0 -10
  279. package/src/components/StatefulConnectModal/StatefulConnectModal.tsx +0 -168
  280. package/src/components/StatefulConnectModal/helpers.ts +0 -23
  281. package/src/components/StatefulConnectModal/index.ts +0 -1
  282. package/src/components/WalletStatefulConnect/ConnectStatus.types.ts +0 -11
  283. package/src/components/WalletStatefulConnect/DerivationPath.helpers.ts +0 -23
  284. package/src/components/WalletStatefulConnect/DerivationPath.types.ts +0 -6
  285. package/src/components/WalletStatefulConnect/ExperimentalChain.tsx +0 -36
  286. package/src/components/WalletStatefulConnect/ExperimentalChainStatus.helpers.ts +0 -53
  287. package/src/components/WalletStatefulConnect/ExperimentalChainStatus.tsx +0 -35
  288. package/src/components/WalletStatefulConnect/ExperimentalChainStatus.types.ts +0 -5
  289. package/src/components/WalletStatefulConnect/Namespaces.helpers.ts +0 -9
  290. package/src/components/WalletStatefulConnect/index.ts +0 -4
  291. package/src/hooks/useStatefulConnect/index.ts +0 -9
  292. package/src/hooks/useStatefulConnect/useStatefulConnect.helpers.ts +0 -13
  293. package/src/hooks/useStatefulConnect/useStatefulConnect.state.ts +0 -45
  294. package/src/hooks/useStatefulConnect/useStatefulConnect.ts +0 -232
  295. package/src/hooks/useStatefulConnect/useStatefulConnect.types.ts +0 -56
  296. /package/src/components/{WalletStatefulConnect/DerivationPath.styles.ts → WalletDerivationPathModal/WalletDerivationPathModal.styles.ts} +0 -0
  297. /package/src/components/{WalletStatefulConnect/ConnectStatus.styles.ts → WalletModal/WalletModalContent.styles.ts} +0 -0
  298. /package/src/components/{WalletStatefulConnect/Namespaces.styles.ts → WalletNamespacesModal/WalletNamespacesModal.styles.ts} +0 -0
@@ -0,0 +1,210 @@
1
+ import { i18n } from '@lingui/core';
2
+ import {
3
+ Alert,
4
+ Button,
5
+ darkTheme,
6
+ Divider,
7
+ DoneIcon,
8
+ MessageBox,
9
+ styled,
10
+ TextField,
11
+ Typography,
12
+ } from '@rango-dev/ui';
13
+ import { type Token } from 'rango-sdk';
14
+ import React, { useEffect, useState } from 'react';
15
+ import { useNavigate, useSearchParams } from 'react-router-dom';
16
+
17
+ import { BlockchainSelectorButton } from '../components/BlockchainSelectorButton';
18
+ import { WatermarkedModal } from '../components/common/WatermarkedModal';
19
+ import { CustomTokenModal } from '../components/CustomTokenModal';
20
+ import { Layout, PageContainer } from '../components/Layout';
21
+ import { navigationRoutes } from '../constants/navigationRoutes';
22
+ import { SearchParams } from '../constants/searchParams';
23
+ import { useFetchCustomToken } from '../hooks/useFetchCustomToken';
24
+ import { useNavigateBack } from '../hooks/useNavigateBack';
25
+ import { useAppStore } from '../store/AppStore';
26
+ import { getContainer } from '../utils/common';
27
+ import { findBlockchain, isValidTokenAddress } from '../utils/meta';
28
+
29
+ const Content = styled('div', {
30
+ display: 'flex',
31
+ justifyContent: 'space-between',
32
+ flexDirection: 'column',
33
+ flex: 1,
34
+ '& ._text-field': {
35
+ padding: '$4 $10',
36
+ backgroundColor: '$neutral300',
37
+ [`.${darkTheme} &`]: {
38
+ backgroundColor: '$neutral400',
39
+ },
40
+ borderRadius: '$sm',
41
+ height: '$40',
42
+ },
43
+ });
44
+ const CUSTOM_TOKEN_REFRESH_DELAY = 1000;
45
+
46
+ export function AddCustomTokenPage() {
47
+ const navigate = useNavigate();
48
+ const [searchParams] = useSearchParams();
49
+ const navigateBack = useNavigateBack();
50
+ const { setCustomToken } = useAppStore();
51
+ const blockchains = useAppStore().blockchains();
52
+
53
+ const blockchainName = searchParams.get(SearchParams.BLOCKCHAIN) || '';
54
+ const blockchain = findBlockchain(blockchainName, blockchains);
55
+ const [address, setAddress] = useState('');
56
+ const [isOpenErrorModal, setIsOpenErrorModal] = useState<boolean>(false);
57
+ const [token, setToken] = useState<Token>();
58
+ const { fetchCustomToken, loading, error } = useFetchCustomToken();
59
+ const [networkError, setNetworkError] = useState('');
60
+ const isValidAddress =
61
+ !!blockchain && isValidTokenAddress(blockchain, address);
62
+ const isImportDisabled = !blockchain || !address || !isValidAddress;
63
+
64
+ const getCustomToken = async () => {
65
+ if (blockchain) {
66
+ try {
67
+ const res = await fetchCustomToken({
68
+ blockchain: blockchainName,
69
+ tokenAddress: address,
70
+ });
71
+ setNetworkError('');
72
+ if (!!res) {
73
+ setToken(res);
74
+ }
75
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
76
+ } catch (error: any) {
77
+ if (error.message === 'Failed to fetch') {
78
+ setNetworkError(i18n.t('Network Error'));
79
+ setIsOpenErrorModal(true);
80
+ }
81
+ }
82
+ }
83
+ };
84
+
85
+ const closeErrorModal = () => {
86
+ if (!!error) {
87
+ setAddress('');
88
+ }
89
+ setIsOpenErrorModal(false);
90
+ };
91
+
92
+ const handleErrorModalButtonClick = async () => {
93
+ if (!!networkError) {
94
+ setTimeout(async () => {
95
+ await getCustomToken();
96
+ }, CUSTOM_TOKEN_REFRESH_DELAY);
97
+ }
98
+ closeErrorModal();
99
+ };
100
+
101
+ useEffect(() => {
102
+ if (!!error) {
103
+ setIsOpenErrorModal(true);
104
+ }
105
+ }, [error]);
106
+ return (
107
+ <Layout
108
+ header={{
109
+ title: i18n.t('Add Custom Token'),
110
+ }}>
111
+ <PageContainer>
112
+ <Content>
113
+ <div>
114
+ <BlockchainSelectorButton
115
+ onClick={() =>
116
+ navigate(navigationRoutes.blockchains, { replace: true })
117
+ }
118
+ hasLogo={!!blockchain?.logo}
119
+ value={
120
+ !!blockchain
121
+ ? {
122
+ name: blockchain.displayName,
123
+ logo: blockchain.logo,
124
+ }
125
+ : undefined
126
+ }
127
+ title={i18n.t('Select chain')}
128
+ placeholder={i18n.t('Select chain')}
129
+ />
130
+ <Divider size={'24'} />
131
+ <Typography size="large" variant="label">
132
+ {i18n.t('Enter Address')}
133
+ </Typography>
134
+ <Divider size={10} />
135
+ <TextField
136
+ fullWidth
137
+ disabled={!blockchain}
138
+ variant="contained"
139
+ placeholder={i18n.t('Enter token address')}
140
+ size="large"
141
+ value={address}
142
+ suffix={
143
+ !!address &&
144
+ isValidAddress && <DoneIcon color="success" size={12} />
145
+ }
146
+ onChange={(e) => setAddress(e.target.value)}
147
+ />
148
+ {!isValidAddress && !!address && (
149
+ <>
150
+ <Divider size={4} />
151
+ <Alert type="error" variant="alarm" title="Invalid Address" />
152
+ </>
153
+ )}
154
+ </div>
155
+
156
+ <Button
157
+ disabled={isImportDisabled}
158
+ type="primary"
159
+ variant="contained"
160
+ loading={loading}
161
+ size="large"
162
+ onClick={getCustomToken}>
163
+ {i18n.t('Import')}
164
+ </Button>
165
+ </Content>
166
+ <WatermarkedModal
167
+ open={isOpenErrorModal}
168
+ dismissible
169
+ onClose={closeErrorModal}
170
+ container={getContainer()}>
171
+ <MessageBox
172
+ title={error?.title || networkError}
173
+ type="error"
174
+ description={
175
+ error?.message || i18n.t('Failed Network, Please retry.')
176
+ }>
177
+ <Divider size={40} />
178
+ <Divider size={10} />
179
+
180
+ <Button
181
+ variant="contained"
182
+ size="large"
183
+ type="primary"
184
+ fullWidth
185
+ onClick={handleErrorModalButtonClick}>
186
+ {networkError
187
+ ? i18n.t('Retry')
188
+ : i18n.t('Add another custom token')}
189
+ </Button>
190
+ </MessageBox>
191
+ </WatermarkedModal>
192
+ {blockchain && token && (
193
+ <CustomTokenModal
194
+ blockchain={blockchain}
195
+ token={token}
196
+ onSubmitClick={() => {
197
+ if (token) {
198
+ setCustomToken(token);
199
+ setToken(undefined);
200
+ navigateBack();
201
+ }
202
+ }}
203
+ onClose={() => setToken(undefined)}
204
+ open={!!blockchain && !!token}
205
+ />
206
+ )}
207
+ </PageContainer>
208
+ </Layout>
209
+ );
210
+ }
@@ -0,0 +1,184 @@
1
+ import type { Token } from 'rango-sdk';
2
+
3
+ import { i18n } from '@lingui/core';
4
+ import {
5
+ Button,
6
+ CustomTokensZeroStateDarkIcon,
7
+ CustomTokensZeroStateIcon,
8
+ DeleteIcon,
9
+ Divider,
10
+ IconButton,
11
+ MessageBox,
12
+ NotFound,
13
+ styled,
14
+ } from '@rango-dev/ui';
15
+ import React, { useState } from 'react';
16
+ import { useNavigate } from 'react-router-dom';
17
+
18
+ import { WatermarkedModal } from '../components/common/WatermarkedModal';
19
+ import { Layout, PageContainer } from '../components/Layout';
20
+ import { SearchInput } from '../components/SearchInput';
21
+ import { TokenList } from '../components/TokenList';
22
+ import { navigationRoutes } from '../constants/navigationRoutes';
23
+ import { useTheme } from '../hooks/useTheme';
24
+ import { useAppStore } from '../store/AppStore';
25
+ import { useQuoteStore } from '../store/quote';
26
+ import { containsText, getContainer } from '../utils/common';
27
+ import { createTokenHash } from '../utils/meta';
28
+
29
+ const Content = styled('div', {
30
+ display: 'flex',
31
+ justifyContent: 'space-between',
32
+ flexDirection: 'column',
33
+ flex: 1,
34
+ });
35
+ const NotFoundContent = styled('div', {
36
+ display: 'flex',
37
+ flexDirection: 'column',
38
+ alignItems: 'center',
39
+ justifyContent: 'center',
40
+ flex: '0.75',
41
+ });
42
+ const DeleteIconButton = styled(IconButton, {
43
+ '&:hover': {
44
+ '& svg': {
45
+ color: '$secondary550',
46
+ },
47
+ },
48
+ });
49
+ export function CustomTokensPage() {
50
+ const [searchedFor, setSearchedFor] = useState<string>('');
51
+ const { deleteCustomToken } = useAppStore();
52
+ const customTokens = useAppStore().customTokens();
53
+ const { fromToken, toToken, setFromToken, setToToken } = useQuoteStore();
54
+ const { mode } = useTheme({});
55
+ const navigate = useNavigate();
56
+ const [isDeleteModalOpen, setIsDeleteModalOpen] = useState<boolean>(false);
57
+ const [selectedToken, setSelectedToken] = useState<Token>();
58
+ const handleSearch = (event: React.ChangeEvent<HTMLInputElement>) => {
59
+ const value = event.target.value;
60
+ setSearchedFor(value);
61
+ };
62
+ const isDarkTheme = mode === 'dark';
63
+
64
+ const customTokensResults = customTokens.filter(
65
+ (token) =>
66
+ containsText(token.symbol, searchedFor) ||
67
+ containsText(token.address || '', searchedFor) ||
68
+ containsText(token.name || '', searchedFor)
69
+ );
70
+
71
+ const handleDeleteCustomToken = () => {
72
+ if (selectedToken) {
73
+ const toTokenHash = toToken ? createTokenHash(toToken) : null;
74
+ const fromTokenHash = fromToken ? createTokenHash(fromToken) : null;
75
+ const selectedTokenHash = createTokenHash(selectedToken);
76
+
77
+ if (toTokenHash === selectedTokenHash) {
78
+ setToToken({ token: null });
79
+ } else if (fromTokenHash === selectedTokenHash) {
80
+ setFromToken({ token: null });
81
+ }
82
+ deleteCustomToken(selectedToken);
83
+ }
84
+ setIsDeleteModalOpen(false);
85
+ };
86
+
87
+ return (
88
+ <Layout
89
+ header={{
90
+ title: i18n.t('Custom Tokens'),
91
+ }}>
92
+ <PageContainer>
93
+ <Content>
94
+ {!!customTokens.length ? (
95
+ <>
96
+ <SearchInput
97
+ value={searchedFor}
98
+ setValue={setSearchedFor}
99
+ fullWidth
100
+ color="light"
101
+ variant="contained"
102
+ placeholder={i18n.t('Search Token')}
103
+ onChange={handleSearch}
104
+ />
105
+ <Divider size={16} />
106
+ <TokenList
107
+ list={customTokensResults}
108
+ type="custom-token"
109
+ searchedFor={searchedFor}
110
+ showTitle={false}
111
+ action={(token) => (
112
+ <DeleteIconButton
113
+ variant="ghost"
114
+ onClick={() => {
115
+ setIsDeleteModalOpen(true);
116
+ setSelectedToken(token);
117
+ }}>
118
+ <DeleteIcon size={12} color="gray" />
119
+ </DeleteIconButton>
120
+ )}
121
+ />
122
+ </>
123
+ ) : (
124
+ <NotFoundContent>
125
+ <NotFound
126
+ icon={
127
+ isDarkTheme ? (
128
+ <CustomTokensZeroStateDarkIcon size={200} />
129
+ ) : (
130
+ <CustomTokensZeroStateIcon size={200} />
131
+ )
132
+ }
133
+ title={i18n.t('No custom tokens')}
134
+ description={i18n.t(
135
+ 'press the button to add your custom token'
136
+ )}
137
+ />
138
+ </NotFoundContent>
139
+ )}
140
+ <Divider size={20} />
141
+
142
+ <Button
143
+ type="primary"
144
+ variant="contained"
145
+ size="large"
146
+ onClick={() => navigate(navigationRoutes.addCustomTokens)}>
147
+ {i18n.t('Add Custom Token')}
148
+ </Button>
149
+ </Content>
150
+ <WatermarkedModal
151
+ open={isDeleteModalOpen}
152
+ dismissible
153
+ onClose={() => setIsDeleteModalOpen(false)}
154
+ container={getContainer()}>
155
+ <MessageBox
156
+ title={i18n.t('Delete Custom Token')}
157
+ type="error"
158
+ description={i18n.t('Are you sure you want to Delete this Token?')}>
159
+ <Divider size={40} />
160
+ <Divider size={10} />
161
+
162
+ <Button
163
+ fullWidth
164
+ variant="contained"
165
+ type="primary"
166
+ size="large"
167
+ onClick={handleDeleteCustomToken}>
168
+ {i18n.t('Yes, Delete it')}
169
+ </Button>
170
+ <Divider size={12} />
171
+ <Button
172
+ fullWidth
173
+ variant="outlined"
174
+ type="primary"
175
+ size="large"
176
+ onClick={() => setIsDeleteModalOpen(false)}>
177
+ {i18n.t('No, Continue')}
178
+ </Button>
179
+ </MessageBox>
180
+ </WatermarkedModal>
181
+ </PageContainer>
182
+ </Layout>
183
+ );
184
+ }
@@ -87,7 +87,7 @@ export function HistoryPage() {
87
87
  const loading = !state.loadedFromPersistor;
88
88
  const [filterBy, setFilterBy] = useState('');
89
89
  const [openClearModal, setOpenClearModal] = useState(false);
90
- const searchHandler = (event: React.ChangeEvent<HTMLInputElement>) => {
90
+ const handleSearch = (event: React.ChangeEvent<HTMLInputElement>) => {
91
91
  const value = event.target.value;
92
92
  setSearchedFor(value);
93
93
  };
@@ -159,7 +159,7 @@ export function HistoryPage() {
159
159
  variant="contained"
160
160
  placeholder={i18n.t('Search Transaction')}
161
161
  autoFocus
162
- onChange={searchHandler}
162
+ onChange={handleSearch}
163
163
  style={{ height: 36 }}
164
164
  value={searchedFor}
165
165
  />
@@ -86,7 +86,7 @@ export function LiquiditySourcePage({ sourceType }: PropTypes) {
86
86
  };
87
87
  });
88
88
 
89
- const searchHandler = (event: React.ChangeEvent<HTMLInputElement>) => {
89
+ const handleSearch = (event: React.ChangeEvent<HTMLInputElement>) => {
90
90
  const value = event.target.value;
91
91
  setSearchedFor(value);
92
92
  };
@@ -120,7 +120,7 @@ export function LiquiditySourcePage({ sourceType }: PropTypes) {
120
120
  placeholder={i18n.t('Search {sourceType}', {
121
121
  sourceType: types[sourceType],
122
122
  })}
123
- onChange={searchHandler}
123
+ onChange={handleSearch}
124
124
  />
125
125
  {fetchStatus === 'loading' && <LoadingLiquiditySourceList />}
126
126
 
@@ -5,6 +5,7 @@ import {
5
5
  SelectableCategoryList,
6
6
  } from '@rango-dev/ui';
7
7
  import React, { useState } from 'react';
8
+ import { useNavigate } from 'react-router-dom';
8
9
 
9
10
  import { BlockchainList } from '../components/BlockchainList';
10
11
  import { Layout, PageContainer } from '../components/Layout';
@@ -14,7 +15,8 @@ import { useAppStore } from '../store/AppStore';
14
15
  import { useQuoteStore } from '../store/quote';
15
16
 
16
17
  interface PropTypes {
17
- type: 'source' | 'destination';
18
+ type: 'source' | 'destination' | 'custom-token';
19
+ hideCategory?: boolean;
18
20
  }
19
21
 
20
22
  export function SelectBlockchainPage(props: PropTypes) {
@@ -24,15 +26,15 @@ export function SelectBlockchainPage(props: PropTypes) {
24
26
  const [blockchainCategory, setBlockchainCategory] = useState<string>('ALL');
25
27
  const setToBlockchain = useQuoteStore.use.setToBlockchain();
26
28
  const setFromBlockchain = useQuoteStore.use.setFromBlockchain();
27
- const fetchStatus = useAppStore().fetchStatus;
29
+ const { fetchStatus } = useAppStore();
30
+ const navigate = useNavigate();
28
31
 
29
32
  const blockchains = useAppStore().blockchains({
30
33
  type,
31
34
  });
32
-
33
35
  const activeCategoriesCount = getCategoriesCount(blockchains);
34
36
 
35
- const showCategory = activeCategoriesCount !== 1;
37
+ const showCategory = !props.hideCategory && activeCategoriesCount !== 1;
36
38
 
37
39
  return (
38
40
  <Layout
@@ -66,15 +68,20 @@ export function SelectBlockchainPage(props: PropTypes) {
66
68
 
67
69
  <BlockchainList
68
70
  list={blockchains}
71
+ showTitle={type !== 'custom-token'}
69
72
  searchedFor={searchedFor}
70
73
  blockchainCategory={blockchainCategory}
71
74
  onChange={(blockchain) => {
72
- if (type === 'source') {
73
- setFromBlockchain(blockchain);
75
+ if (type === 'custom-token') {
76
+ navigate(`..?blockchain=${blockchain.name}`, { replace: true });
74
77
  } else {
75
- setToBlockchain(blockchain);
78
+ if (type === 'source') {
79
+ setFromBlockchain(blockchain);
80
+ } else {
81
+ setToBlockchain(blockchain);
82
+ }
83
+ navigateBack();
76
84
  }
77
- navigateBack();
78
85
  }}
79
86
  />
80
87
  </PageContainer>
@@ -8,7 +8,7 @@ import { useNavigate } from 'react-router-dom';
8
8
  import { BlockchainsSection } from '../components/BlockchainsSection';
9
9
  import { Layout, PageContainer } from '../components/Layout';
10
10
  import { SearchInput } from '../components/SearchInput';
11
- import { TokenList } from '../components/TokenList/TokenList';
11
+ import { TokenList } from '../components/TokenList';
12
12
  import { navigationRoutes } from '../constants/navigationRoutes';
13
13
  import { useNavigateBack } from '../hooks/useNavigateBack';
14
14
  import { useAppStore } from '../store/AppStore';