@lifi/widget 2.9.3 → 3.0.0-alpha.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 (600) hide show
  1. package/AppProvider.js +2 -2
  2. package/AppRoutes.js +75 -67
  3. package/cjs/AppProvider.js +1 -1
  4. package/cjs/AppRoutes.js +74 -66
  5. package/cjs/components/ActiveTransactions/ActiveTransactionItem.js +1 -5
  6. package/cjs/components/ActiveTransactions/ActiveTransactions.js +2 -2
  7. package/cjs/components/AmountInput/AmountInputEndAdornment.js +9 -10
  8. package/cjs/components/AmountInput/FormPriceHelperText.js +1 -1
  9. package/cjs/components/BaseTransactionButton/BaseTransactionButton.js +5 -4
  10. package/cjs/components/Card/CardLabel.d.ts +1 -1
  11. package/cjs/components/ChainSelect/ChainSelect.js +8 -5
  12. package/cjs/components/ChainSelect/useChainSelect.js +21 -2
  13. package/cjs/components/GasMessage/GasMessage.style.js +3 -6
  14. package/cjs/components/GasMessage/GasSufficiencyMessage.js +2 -1
  15. package/cjs/components/Header/Header.style.d.ts +8 -0
  16. package/cjs/components/Header/Header.style.js +16 -1
  17. package/cjs/components/Header/NavigationHeader.d.ts +1 -0
  18. package/cjs/components/Header/NavigationHeader.js +15 -8
  19. package/cjs/components/Header/NavigationTabs.js +2 -2
  20. package/cjs/components/Header/SettingsButton.d.ts +1 -0
  21. package/cjs/components/Header/SettingsButton.js +25 -0
  22. package/cjs/components/Header/SettingsButton.style.d.ts +11 -0
  23. package/cjs/components/Header/SettingsButton.style.js +43 -0
  24. package/cjs/components/Header/WalletHeader.js +11 -24
  25. package/cjs/components/Header/WalletMenu.d.ts +3 -1
  26. package/cjs/components/Header/WalletMenu.js +58 -24
  27. package/cjs/components/Header/WalletMenu.style.d.ts +1 -0
  28. package/cjs/components/Header/WalletMenu.style.js +27 -0
  29. package/cjs/components/Insurance/InsuranceCollapsed.js +1 -1
  30. package/cjs/components/NFT/NFT.js +3 -1
  31. package/cjs/components/NFT/types.d.ts +1 -1
  32. package/cjs/components/PoweredBy/PoweredBy.js +2 -1
  33. package/cjs/components/RouteCard/RouteCard.js +3 -3
  34. package/cjs/components/RouteCard/RouteCardEssentials.js +2 -1
  35. package/cjs/components/RouteCard/utils.d.ts +2 -3
  36. package/cjs/components/RouteCard/utils.js +4 -9
  37. package/cjs/components/SendToWallet/SendToWallet.js +24 -21
  38. package/cjs/components/SendToWallet/SendToWalletButton.js +3 -2
  39. package/{pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts → cjs/components/SettingsListItemButton.d.ts} +1 -1
  40. package/cjs/components/SettingsListItemButton.js +8 -0
  41. package/cjs/components/Step/DestinationWalletAddress.d.ts +2 -2
  42. package/cjs/components/Step/GasStepProcess.d.ts +2 -2
  43. package/cjs/components/Step/Step.d.ts +2 -2
  44. package/cjs/components/Step/Step.js +1 -1
  45. package/cjs/components/Step/StepList.d.ts +2 -2
  46. package/cjs/components/Step/StepList.js +4 -4
  47. package/cjs/components/Step/StepProcess.d.ts +2 -2
  48. package/cjs/components/Step/StepTimer.d.ts +2 -2
  49. package/cjs/components/StepActions/StepActions.d.ts +3 -3
  50. package/cjs/components/StepActions/StepActions.js +11 -14
  51. package/cjs/components/StepActions/types.d.ts +2 -2
  52. package/cjs/components/{Header/NavigationTabs.style.d.ts → Tabs/Tabs.style.d.ts} +2 -2
  53. package/cjs/components/{Header/NavigationTabs.style.js → Tabs/Tabs.style.js} +9 -31
  54. package/cjs/components/Tabs/index.d.ts +1 -0
  55. package/cjs/{providers/SDKProvider → components/Tabs}/index.js +1 -1
  56. package/cjs/components/Token/Token.d.ts +3 -3
  57. package/cjs/components/Token/Token.js +5 -5
  58. package/cjs/components/TokenList/TokenList.js +2 -2
  59. package/cjs/components/TokenList/TokenListItem.js +9 -5
  60. package/cjs/components/TokenList/TokenNotFound.js +1 -1
  61. package/cjs/components/TokenList/VirtualizedTokenList.js +2 -1
  62. package/cjs/config/queryClient.js +0 -4
  63. package/cjs/config/version.d.ts +1 -1
  64. package/cjs/config/version.js +1 -1
  65. package/cjs/hooks/index.d.ts +7 -1
  66. package/cjs/hooks/index.js +7 -1
  67. package/cjs/hooks/useAccount.d.ts +31 -0
  68. package/cjs/hooks/useAccount.js +53 -0
  69. package/cjs/hooks/useAvailableChains.d.ts +6 -0
  70. package/cjs/hooks/useAvailableChains.js +36 -0
  71. package/cjs/hooks/useChain.js +3 -6
  72. package/cjs/hooks/useChains.d.ts +1 -1
  73. package/cjs/hooks/useChains.js +7 -38
  74. package/cjs/hooks/useFromTokenSufficiency.d.ts +3 -3
  75. package/cjs/hooks/useFromTokenSufficiency.js +39 -41
  76. package/cjs/hooks/useGasRecommendation.d.ts +2 -2
  77. package/cjs/hooks/useGasRecommendation.js +23 -18
  78. package/cjs/hooks/useGasRefuel.js +18 -11
  79. package/cjs/hooks/useGasSufficiency.d.ts +6 -7
  80. package/cjs/hooks/useGasSufficiency.js +68 -71
  81. package/cjs/hooks/useLanguages.d.ts +6 -0
  82. package/cjs/hooks/useLanguages.js +28 -0
  83. package/cjs/hooks/useProcessMessage.d.ts +3 -3
  84. package/cjs/hooks/useProcessMessage.js +32 -28
  85. package/cjs/hooks/useRequiredToAddress.d.ts +1 -0
  86. package/cjs/hooks/useRequiredToAddress.js +19 -0
  87. package/cjs/hooks/useRouteExecution.d.ts +2 -2
  88. package/cjs/hooks/useRouteExecution.js +44 -58
  89. package/cjs/hooks/useRoutes.d.ts +1 -1
  90. package/cjs/hooks/useRoutes.js +128 -113
  91. package/cjs/hooks/useSettingMonitor.d.ts +11 -0
  92. package/cjs/hooks/useSettingMonitor.js +57 -0
  93. package/cjs/hooks/useTokenAddressBalance.d.ts +1 -1
  94. package/cjs/hooks/useTokenBalance.d.ts +5 -3
  95. package/cjs/hooks/useTokenBalance.js +77 -47
  96. package/cjs/hooks/useTokenBalances.d.ts +3 -3
  97. package/cjs/hooks/useTokenBalances.js +34 -24
  98. package/cjs/hooks/useTokenSearch.js +18 -17
  99. package/cjs/hooks/useTokens.d.ts +2 -1
  100. package/cjs/hooks/useTokens.js +18 -15
  101. package/cjs/hooks/useTools.d.ts +1 -1
  102. package/cjs/hooks/useTools.js +12 -11
  103. package/cjs/hooks/useTransactionDetails.d.ts +4 -0
  104. package/cjs/hooks/useTransactionDetails.js +56 -0
  105. package/cjs/hooks/useTransactionHistory.d.ts +5 -0
  106. package/cjs/hooks/useTransactionHistory.js +39 -0
  107. package/cjs/i18n/en.json +18 -9
  108. package/cjs/i18n/fr.json +7 -4
  109. package/cjs/i18n/pt.json +7 -4
  110. package/cjs/i18n/tr.json +7 -4
  111. package/cjs/i18n/uk.json +7 -4
  112. package/cjs/i18n/zh.json +7 -4
  113. package/cjs/icons/index.d.ts +1 -3
  114. package/cjs/icons/index.js +1 -3
  115. package/cjs/icons/lifi.d.ts +1 -0
  116. package/cjs/icons/lifi.js +4 -0
  117. package/cjs/index.d.ts +2 -3
  118. package/cjs/index.js +4 -4
  119. package/cjs/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +2 -2
  120. package/cjs/pages/LanguagesPage/LanguagesPage.d.ts +2 -0
  121. package/cjs/pages/LanguagesPage/LanguagesPage.js +22 -0
  122. package/cjs/pages/LanguagesPage/index.d.ts +1 -0
  123. package/cjs/pages/LanguagesPage/index.js +17 -0
  124. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +15 -5
  125. package/cjs/pages/SelectWalletPage/EVMListItemButton.d.ts +8 -0
  126. package/cjs/pages/SelectWalletPage/EVMListItemButton.js +40 -0
  127. package/cjs/pages/SelectWalletPage/SVMListItemButton.d.ts +6 -0
  128. package/cjs/pages/SelectWalletPage/SVMListItemButton.js +34 -0
  129. package/cjs/pages/SelectWalletPage/SelectWalletPage.js +31 -32
  130. package/cjs/pages/SelectWalletPage/utils.d.ts +3 -0
  131. package/cjs/pages/SelectWalletPage/utils.js +21 -0
  132. package/{pages/SettingsPage/EnabledToolsButton.d.ts → cjs/pages/SettingsPage/BridgeAndExchangeSettings.d.ts} +1 -1
  133. package/cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +36 -0
  134. package/cjs/pages/SettingsPage/GasPriceSettings.d.ts +2 -0
  135. package/cjs/pages/SettingsPage/GasPriceSettings.js +21 -0
  136. package/cjs/pages/SettingsPage/LanguageSetting.d.ts +2 -0
  137. package/cjs/pages/SettingsPage/LanguageSetting.js +26 -0
  138. package/cjs/pages/SettingsPage/ResetSettingsButton.js +3 -30
  139. package/cjs/pages/SettingsPage/RoutePrioritySettings.d.ts +2 -0
  140. package/cjs/pages/SettingsPage/RoutePrioritySettings.js +25 -0
  141. package/cjs/pages/SettingsPage/SendToWalletOptionSetting.d.ts +1 -0
  142. package/cjs/pages/SettingsPage/{ShowDestinationWallet.js → SendToWalletOptionSetting.js} +6 -9
  143. package/cjs/pages/SettingsPage/SettingsCard/BadgedValue.d.ts +8 -0
  144. package/cjs/pages/SettingsPage/SettingsCard/BadgedValue.js +7 -0
  145. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.d.ts +2 -0
  146. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.js +11 -0
  147. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +19 -0
  148. package/cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js +53 -0
  149. package/cjs/pages/SettingsPage/SettingsCard/SettingCardButton.d.ts +7 -0
  150. package/cjs/pages/SettingsPage/SettingsCard/SettingCardButton.js +8 -0
  151. package/cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.d.ts +7 -0
  152. package/cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +16 -0
  153. package/cjs/pages/SettingsPage/SettingsCard/SettingsAccordian.d.ts +6 -0
  154. package/cjs/pages/SettingsPage/SettingsCard/SettingsAccordian.js +36 -0
  155. package/cjs/pages/SettingsPage/SettingsCard/index.d.ts +6 -0
  156. package/cjs/pages/SettingsPage/SettingsCard/index.js +22 -0
  157. package/cjs/pages/SettingsPage/SettingsCard/types.d.ts +5 -0
  158. package/cjs/pages/SettingsPage/SettingsPage.js +9 -8
  159. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.d.ts +2 -0
  160. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.js +51 -0
  161. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +16 -0
  162. package/cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +74 -0
  163. package/cjs/pages/SettingsPage/SlippageSettings/index.d.ts +1 -0
  164. package/cjs/pages/SettingsPage/SlippageSettings/index.js +17 -0
  165. package/cjs/pages/SettingsPage/ThemeSettings.d.ts +2 -0
  166. package/cjs/pages/SettingsPage/ThemeSettings.js +39 -0
  167. package/cjs/pages/TransactionDetailsPage/ContactSupportButton.js +2 -2
  168. package/cjs/pages/TransactionDetailsPage/TransactionDetailsPage.js +33 -28
  169. package/cjs/pages/TransactionDetailsPage/TransactionDetailsSkeleton.d.ts +1 -0
  170. package/cjs/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +31 -0
  171. package/cjs/pages/TransactionHistoryPage/TransactionHistoryItem.d.ts +4 -2
  172. package/cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js +34 -7
  173. package/cjs/pages/TransactionHistoryPage/TransactionHistoryPage.js +21 -22
  174. package/cjs/pages/TransactionHistoryPage/TransactionHistorySkeleton.d.ts +1 -0
  175. package/cjs/pages/TransactionHistoryPage/TransactionHistorySkeleton.js +26 -0
  176. package/cjs/pages/TransactionHistoryPage/constants.d.ts +1 -0
  177. package/cjs/pages/TransactionHistoryPage/constants.js +4 -0
  178. package/cjs/pages/TransactionPage/ExchangeRateBottomSheet.js +11 -10
  179. package/cjs/pages/TransactionPage/StartTransactionButton.js +2 -2
  180. package/cjs/pages/TransactionPage/StatusBottomSheet.js +12 -8
  181. package/cjs/pages/TransactionPage/TransactionPage.js +1 -1
  182. package/cjs/providers/FormProvider/FormUpdater.js +4 -4
  183. package/cjs/providers/I18nProvider/I18nProvider.js +3 -7
  184. package/cjs/providers/I18nProvider/types.d.ts +4 -3
  185. package/cjs/providers/WalletProvider/EVMProvider.d.ts +3 -0
  186. package/cjs/providers/WalletProvider/EVMProvider.js +79 -0
  187. package/cjs/providers/WalletProvider/SDKProviders.d.ts +1 -0
  188. package/cjs/providers/WalletProvider/SDKProviders.js +31 -0
  189. package/cjs/providers/WalletProvider/SolanaProvider.d.ts +3 -0
  190. package/cjs/providers/WalletProvider/SolanaProvider.js +35 -0
  191. package/cjs/providers/WalletProvider/WalletProvider.d.ts +1 -15
  192. package/cjs/providers/WalletProvider/WalletProvider.js +5 -183
  193. package/cjs/providers/WalletProvider/index.d.ts +1 -1
  194. package/cjs/providers/WalletProvider/index.js +1 -1
  195. package/cjs/providers/WalletProvider/utils.d.ts +3 -0
  196. package/cjs/providers/WalletProvider/utils.js +25 -0
  197. package/cjs/providers/WidgetProvider/WidgetProvider.js +51 -35
  198. package/cjs/providers/index.d.ts +0 -1
  199. package/cjs/providers/index.js +0 -1
  200. package/cjs/stores/chains/ChainOrderStore.js +24 -0
  201. package/cjs/stores/header/useHeaderStore.d.ts +1 -1
  202. package/cjs/stores/header/useHeaderStore.js +2 -2
  203. package/cjs/stores/routes/createRouteExecutionStore.js +6 -60
  204. package/cjs/stores/routes/index.d.ts +0 -1
  205. package/cjs/stores/routes/index.js +0 -1
  206. package/cjs/stores/routes/types.d.ts +2 -2
  207. package/cjs/stores/routes/utils.d.ts +8 -8
  208. package/cjs/stores/routes/utils.js +7 -5
  209. package/cjs/stores/settings/useSettingsStore.js +2 -4
  210. package/cjs/stores/settings/useSplitSubvariantStore.d.ts +1 -1
  211. package/cjs/stores/settings/useSplitSubvariantStore.js +2 -2
  212. package/cjs/types/events.d.ts +6 -5
  213. package/cjs/types/events.js +1 -1
  214. package/cjs/types/widget.d.ts +7 -14
  215. package/cjs/utils/colors.d.ts +3 -0
  216. package/cjs/utils/colors.js +13 -1
  217. package/cjs/utils/converters.d.ts +3 -0
  218. package/cjs/utils/converters.js +172 -0
  219. package/cjs/utils/format.d.ts +1 -1
  220. package/cjs/utils/format.js +5 -12
  221. package/cjs/utils/index.d.ts +1 -0
  222. package/cjs/utils/index.js +1 -0
  223. package/cjs/utils/navigationRoutes.d.ts +1 -0
  224. package/cjs/utils/navigationRoutes.js +3 -1
  225. package/cjs/utils/svm.d.ts +1 -0
  226. package/cjs/utils/svm.js +14 -0
  227. package/components/ActiveTransactions/ActiveTransactionItem.js +1 -5
  228. package/components/ActiveTransactions/ActiveTransactions.js +2 -2
  229. package/components/AmountInput/AmountInputEndAdornment.js +10 -11
  230. package/components/AmountInput/FormPriceHelperText.js +1 -1
  231. package/components/BaseTransactionButton/BaseTransactionButton.js +6 -5
  232. package/components/Card/CardLabel.d.ts +1 -1
  233. package/components/ChainSelect/ChainSelect.js +8 -5
  234. package/components/ChainSelect/useChainSelect.js +22 -3
  235. package/components/GasMessage/GasMessage.style.js +3 -6
  236. package/components/GasMessage/GasSufficiencyMessage.js +2 -1
  237. package/components/Header/Header.style.d.ts +8 -0
  238. package/components/Header/Header.style.js +16 -1
  239. package/components/Header/NavigationHeader.d.ts +1 -0
  240. package/components/Header/NavigationHeader.js +16 -10
  241. package/components/Header/NavigationTabs.js +3 -3
  242. package/components/Header/SettingsButton.d.ts +1 -0
  243. package/components/Header/SettingsButton.js +21 -0
  244. package/components/Header/SettingsButton.style.d.ts +11 -0
  245. package/components/Header/SettingsButton.style.js +40 -0
  246. package/components/Header/WalletHeader.js +15 -28
  247. package/components/Header/WalletMenu.d.ts +3 -1
  248. package/components/Header/WalletMenu.js +58 -25
  249. package/components/Header/WalletMenu.style.d.ts +1 -0
  250. package/components/Header/WalletMenu.style.js +24 -0
  251. package/components/Insurance/InsuranceCollapsed.js +1 -1
  252. package/components/NFT/NFT.js +3 -1
  253. package/components/NFT/types.d.ts +1 -1
  254. package/components/PoweredBy/PoweredBy.js +2 -1
  255. package/components/RouteCard/RouteCard.js +3 -3
  256. package/components/RouteCard/RouteCardEssentials.js +2 -1
  257. package/components/RouteCard/utils.d.ts +2 -3
  258. package/components/RouteCard/utils.js +4 -9
  259. package/components/SendToWallet/SendToWallet.js +26 -23
  260. package/components/SendToWallet/SendToWalletButton.js +5 -4
  261. package/{cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts → components/SettingsListItemButton.d.ts} +1 -1
  262. package/components/SettingsListItemButton.js +5 -0
  263. package/components/Step/DestinationWalletAddress.d.ts +2 -2
  264. package/components/Step/GasStepProcess.d.ts +2 -2
  265. package/components/Step/Step.d.ts +2 -2
  266. package/components/Step/Step.js +2 -2
  267. package/components/Step/StepList.d.ts +2 -2
  268. package/components/Step/StepList.js +4 -4
  269. package/components/Step/StepProcess.d.ts +2 -2
  270. package/components/Step/StepTimer.d.ts +2 -2
  271. package/components/StepActions/StepActions.d.ts +3 -3
  272. package/components/StepActions/StepActions.js +12 -15
  273. package/components/StepActions/types.d.ts +2 -2
  274. package/components/{Header/NavigationTabs.style.d.ts → Tabs/Tabs.style.d.ts} +2 -2
  275. package/components/Tabs/Tabs.style.js +36 -0
  276. package/components/Tabs/index.d.ts +1 -0
  277. package/components/Tabs/index.js +1 -0
  278. package/components/Token/Token.d.ts +3 -3
  279. package/components/Token/Token.js +5 -5
  280. package/components/TokenList/TokenList.js +4 -4
  281. package/components/TokenList/TokenListItem.js +9 -6
  282. package/components/TokenList/TokenNotFound.js +2 -2
  283. package/components/TokenList/VirtualizedTokenList.js +2 -1
  284. package/config/queryClient.js +0 -4
  285. package/config/version.d.ts +1 -1
  286. package/config/version.js +1 -1
  287. package/hooks/index.d.ts +7 -1
  288. package/hooks/index.js +7 -1
  289. package/hooks/useAccount.d.ts +31 -0
  290. package/hooks/useAccount.js +48 -0
  291. package/hooks/useAvailableChains.d.ts +6 -0
  292. package/hooks/useAvailableChains.js +32 -0
  293. package/hooks/useChain.js +3 -6
  294. package/hooks/useChains.d.ts +1 -1
  295. package/hooks/useChains.js +9 -40
  296. package/hooks/useFromTokenSufficiency.d.ts +3 -3
  297. package/hooks/useFromTokenSufficiency.js +41 -43
  298. package/hooks/useGasRecommendation.d.ts +2 -2
  299. package/hooks/useGasRecommendation.js +23 -18
  300. package/hooks/useGasRefuel.js +19 -12
  301. package/hooks/useGasSufficiency.d.ts +6 -7
  302. package/hooks/useGasSufficiency.js +69 -72
  303. package/hooks/useLanguages.d.ts +6 -0
  304. package/hooks/useLanguages.js +24 -0
  305. package/hooks/useProcessMessage.d.ts +3 -3
  306. package/hooks/useProcessMessage.js +33 -29
  307. package/hooks/useRequiredToAddress.d.ts +1 -0
  308. package/hooks/useRequiredToAddress.js +15 -0
  309. package/hooks/useRouteExecution.d.ts +2 -2
  310. package/hooks/useRouteExecution.js +44 -58
  311. package/hooks/useRoutes.d.ts +1 -1
  312. package/hooks/useRoutes.js +131 -116
  313. package/hooks/useSettingMonitor.d.ts +11 -0
  314. package/hooks/useSettingMonitor.js +53 -0
  315. package/hooks/useTokenAddressBalance.d.ts +1 -1
  316. package/hooks/useTokenBalance.d.ts +5 -3
  317. package/hooks/useTokenBalance.js +74 -45
  318. package/hooks/useTokenBalances.d.ts +3 -3
  319. package/hooks/useTokenBalances.js +34 -24
  320. package/hooks/useTokenSearch.js +18 -17
  321. package/hooks/useTokens.d.ts +2 -1
  322. package/hooks/useTokens.js +19 -16
  323. package/hooks/useTools.d.ts +1 -1
  324. package/hooks/useTools.js +13 -12
  325. package/hooks/useTransactionDetails.d.ts +4 -0
  326. package/hooks/useTransactionDetails.js +52 -0
  327. package/hooks/useTransactionHistory.d.ts +5 -0
  328. package/hooks/useTransactionHistory.js +35 -0
  329. package/i18n/en.json +18 -9
  330. package/i18n/fr.json +7 -4
  331. package/i18n/pt.json +7 -4
  332. package/i18n/tr.json +7 -4
  333. package/i18n/uk.json +7 -4
  334. package/i18n/zh.json +7 -4
  335. package/icons/index.d.ts +1 -3
  336. package/icons/index.js +1 -3
  337. package/icons/lifi.d.ts +1 -0
  338. package/icons/lifi.js +1 -0
  339. package/index.d.ts +2 -3
  340. package/index.js +2 -4
  341. package/package.json +19 -19
  342. package/pages/ActiveTransactionsPage/ActiveTransactionsPage.js +2 -2
  343. package/pages/LanguagesPage/LanguagesPage.d.ts +2 -0
  344. package/pages/LanguagesPage/LanguagesPage.js +18 -0
  345. package/pages/LanguagesPage/index.d.ts +1 -0
  346. package/pages/LanguagesPage/index.js +1 -0
  347. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +16 -6
  348. package/pages/SelectWalletPage/EVMListItemButton.d.ts +8 -0
  349. package/pages/SelectWalletPage/EVMListItemButton.js +36 -0
  350. package/pages/SelectWalletPage/SVMListItemButton.d.ts +6 -0
  351. package/pages/SelectWalletPage/SVMListItemButton.js +30 -0
  352. package/pages/SelectWalletPage/SelectWalletPage.js +34 -35
  353. package/pages/SelectWalletPage/utils.d.ts +3 -0
  354. package/pages/SelectWalletPage/utils.js +17 -0
  355. package/{cjs/pages/SettingsPage/EnabledToolsButton.d.ts → pages/SettingsPage/BridgeAndExchangeSettings.d.ts} +1 -1
  356. package/pages/SettingsPage/BridgeAndExchangeSettings.js +32 -0
  357. package/pages/SettingsPage/GasPriceSettings.d.ts +2 -0
  358. package/pages/SettingsPage/GasPriceSettings.js +17 -0
  359. package/pages/SettingsPage/LanguageSetting.d.ts +2 -0
  360. package/pages/SettingsPage/LanguageSetting.js +22 -0
  361. package/pages/SettingsPage/ResetSettingsButton.js +4 -31
  362. package/pages/SettingsPage/RoutePrioritySettings.d.ts +2 -0
  363. package/pages/SettingsPage/RoutePrioritySettings.js +21 -0
  364. package/pages/SettingsPage/SendToWalletOptionSetting.d.ts +1 -0
  365. package/pages/SettingsPage/{ShowDestinationWallet.js → SendToWalletOptionSetting.js} +4 -7
  366. package/pages/SettingsPage/SettingsCard/BadgedValue.d.ts +8 -0
  367. package/pages/SettingsPage/SettingsCard/BadgedValue.js +3 -0
  368. package/pages/SettingsPage/SettingsCard/SettingCard.d.ts +2 -0
  369. package/pages/SettingsPage/SettingsCard/SettingCard.js +7 -0
  370. package/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +19 -0
  371. package/pages/SettingsPage/SettingsCard/SettingCard.style.js +50 -0
  372. package/pages/SettingsPage/SettingsCard/SettingCardButton.d.ts +7 -0
  373. package/pages/SettingsPage/SettingsCard/SettingCardButton.js +4 -0
  374. package/pages/SettingsPage/SettingsCard/SettingCardExpandable.d.ts +7 -0
  375. package/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +12 -0
  376. package/pages/SettingsPage/SettingsCard/SettingsAccordian.d.ts +6 -0
  377. package/pages/SettingsPage/SettingsCard/SettingsAccordian.js +31 -0
  378. package/pages/SettingsPage/SettingsCard/index.d.ts +6 -0
  379. package/pages/SettingsPage/SettingsCard/index.js +6 -0
  380. package/pages/SettingsPage/SettingsCard/types.d.ts +5 -0
  381. package/pages/SettingsPage/SettingsPage.js +10 -9
  382. package/pages/SettingsPage/SlippageSettings/SlippageSettings.d.ts +2 -0
  383. package/pages/SettingsPage/SlippageSettings/SlippageSettings.js +47 -0
  384. package/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +16 -0
  385. package/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +71 -0
  386. package/pages/SettingsPage/SlippageSettings/index.d.ts +1 -0
  387. package/pages/SettingsPage/SlippageSettings/index.js +1 -0
  388. package/pages/SettingsPage/ThemeSettings.d.ts +2 -0
  389. package/pages/SettingsPage/ThemeSettings.js +35 -0
  390. package/pages/TransactionDetailsPage/ContactSupportButton.js +2 -2
  391. package/pages/TransactionDetailsPage/TransactionDetailsPage.js +38 -33
  392. package/pages/TransactionDetailsPage/TransactionDetailsSkeleton.d.ts +1 -0
  393. package/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +27 -0
  394. package/pages/TransactionHistoryPage/TransactionHistoryItem.d.ts +4 -2
  395. package/pages/TransactionHistoryPage/TransactionHistoryItem.js +34 -7
  396. package/pages/TransactionHistoryPage/TransactionHistoryPage.js +24 -25
  397. package/pages/TransactionHistoryPage/TransactionHistorySkeleton.d.ts +1 -0
  398. package/pages/TransactionHistoryPage/TransactionHistorySkeleton.js +22 -0
  399. package/pages/TransactionHistoryPage/constants.d.ts +1 -0
  400. package/pages/TransactionHistoryPage/constants.js +1 -0
  401. package/pages/TransactionPage/ExchangeRateBottomSheet.js +11 -10
  402. package/pages/TransactionPage/StartTransactionButton.js +2 -2
  403. package/pages/TransactionPage/StatusBottomSheet.js +14 -10
  404. package/pages/TransactionPage/TransactionPage.js +1 -1
  405. package/providers/FormProvider/FormUpdater.js +4 -4
  406. package/providers/I18nProvider/I18nProvider.js +4 -8
  407. package/providers/I18nProvider/types.d.ts +4 -3
  408. package/providers/WalletProvider/EVMProvider.d.ts +3 -0
  409. package/providers/WalletProvider/EVMProvider.js +74 -0
  410. package/providers/WalletProvider/SDKProviders.d.ts +1 -0
  411. package/providers/WalletProvider/SDKProviders.js +27 -0
  412. package/providers/WalletProvider/SolanaProvider.d.ts +3 -0
  413. package/providers/WalletProvider/SolanaProvider.js +30 -0
  414. package/providers/WalletProvider/WalletProvider.d.ts +1 -15
  415. package/providers/WalletProvider/WalletProvider.js +5 -181
  416. package/providers/WalletProvider/index.d.ts +1 -1
  417. package/providers/WalletProvider/index.js +1 -1
  418. package/providers/WalletProvider/utils.d.ts +3 -0
  419. package/providers/WalletProvider/utils.js +21 -0
  420. package/providers/WidgetProvider/WidgetProvider.js +52 -36
  421. package/providers/index.d.ts +0 -1
  422. package/providers/index.js +0 -1
  423. package/stores/chains/ChainOrderStore.js +25 -1
  424. package/stores/header/useHeaderStore.d.ts +1 -1
  425. package/stores/header/useHeaderStore.js +2 -2
  426. package/stores/routes/createRouteExecutionStore.js +6 -60
  427. package/stores/routes/index.d.ts +0 -1
  428. package/stores/routes/index.js +0 -1
  429. package/stores/routes/types.d.ts +2 -2
  430. package/stores/routes/utils.d.ts +8 -8
  431. package/stores/routes/utils.js +5 -3
  432. package/stores/settings/useSettingsStore.js +2 -4
  433. package/stores/settings/useSplitSubvariantStore.d.ts +1 -1
  434. package/stores/settings/useSplitSubvariantStore.js +2 -2
  435. package/tsconfig.cjs.tsbuildinfo +1 -1
  436. package/types/events.d.ts +6 -5
  437. package/types/events.js +1 -1
  438. package/types/widget.d.ts +7 -14
  439. package/utils/colors.d.ts +3 -0
  440. package/utils/colors.js +10 -1
  441. package/utils/converters.d.ts +3 -0
  442. package/utils/converters.js +168 -0
  443. package/utils/format.d.ts +1 -1
  444. package/utils/format.js +5 -12
  445. package/utils/index.d.ts +1 -0
  446. package/utils/index.js +1 -0
  447. package/utils/navigationRoutes.d.ts +1 -0
  448. package/utils/navigationRoutes.js +3 -1
  449. package/utils/svm.d.ts +1 -0
  450. package/utils/svm.js +10 -0
  451. package/cjs/components/LiFiLogo.d.ts +0 -5
  452. package/cjs/components/LiFiLogo.js +0 -10
  453. package/cjs/fonts/Inter-Black.woff +0 -0
  454. package/cjs/fonts/Inter-Black.woff2 +0 -0
  455. package/cjs/fonts/Inter-BlackItalic.woff +0 -0
  456. package/cjs/fonts/Inter-BlackItalic.woff2 +0 -0
  457. package/cjs/fonts/Inter-Bold.woff +0 -0
  458. package/cjs/fonts/Inter-Bold.woff2 +0 -0
  459. package/cjs/fonts/Inter-BoldItalic.woff +0 -0
  460. package/cjs/fonts/Inter-BoldItalic.woff2 +0 -0
  461. package/cjs/fonts/Inter-ExtraBold.woff +0 -0
  462. package/cjs/fonts/Inter-ExtraBold.woff2 +0 -0
  463. package/cjs/fonts/Inter-ExtraBoldItalic.woff +0 -0
  464. package/cjs/fonts/Inter-ExtraBoldItalic.woff2 +0 -0
  465. package/cjs/fonts/Inter-ExtraLight.woff +0 -0
  466. package/cjs/fonts/Inter-ExtraLight.woff2 +0 -0
  467. package/cjs/fonts/Inter-ExtraLightItalic.woff +0 -0
  468. package/cjs/fonts/Inter-ExtraLightItalic.woff2 +0 -0
  469. package/cjs/fonts/Inter-Italic.woff +0 -0
  470. package/cjs/fonts/Inter-Italic.woff2 +0 -0
  471. package/cjs/fonts/Inter-Light.woff +0 -0
  472. package/cjs/fonts/Inter-Light.woff2 +0 -0
  473. package/cjs/fonts/Inter-LightItalic.woff +0 -0
  474. package/cjs/fonts/Inter-LightItalic.woff2 +0 -0
  475. package/cjs/fonts/Inter-Medium.woff +0 -0
  476. package/cjs/fonts/Inter-Medium.woff2 +0 -0
  477. package/cjs/fonts/Inter-MediumItalic.woff +0 -0
  478. package/cjs/fonts/Inter-MediumItalic.woff2 +0 -0
  479. package/cjs/fonts/Inter-Regular.woff +0 -0
  480. package/cjs/fonts/Inter-Regular.woff2 +0 -0
  481. package/cjs/fonts/Inter-SemiBold.woff +0 -0
  482. package/cjs/fonts/Inter-SemiBold.woff2 +0 -0
  483. package/cjs/fonts/Inter-SemiBoldItalic.woff +0 -0
  484. package/cjs/fonts/Inter-SemiBoldItalic.woff2 +0 -0
  485. package/cjs/fonts/Inter-Thin.woff +0 -0
  486. package/cjs/fonts/Inter-Thin.woff2 +0 -0
  487. package/cjs/fonts/Inter-ThinItalic.woff +0 -0
  488. package/cjs/fonts/Inter-ThinItalic.woff2 +0 -0
  489. package/cjs/fonts/Inter-italic.var.woff2 +0 -0
  490. package/cjs/fonts/Inter-roman.var.woff2 +0 -0
  491. package/cjs/fonts/Inter.var.woff2 +0 -0
  492. package/cjs/fonts/inter.css +0 -217
  493. package/cjs/hooks/useGetTokenBalancesWithRetry.d.ts +0 -3
  494. package/cjs/hooks/useGetTokenBalancesWithRetry.js +0 -33
  495. package/cjs/icons/LiFiFullLogo.d.ts +0 -2
  496. package/cjs/icons/LiFiFullLogo.js +0 -6
  497. package/cjs/icons/LiFiLogo.d.ts +0 -2
  498. package/cjs/icons/LiFiLogo.js +0 -6
  499. package/cjs/icons/LiFiToolLogo.d.ts +0 -2
  500. package/cjs/icons/LiFiToolLogo.js +0 -6
  501. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +0 -8
  502. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.d.ts +0 -2
  503. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +0 -27
  504. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +0 -4
  505. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.js +0 -19
  506. package/cjs/pages/SettingsPage/EnabledToolsButton.js +0 -25
  507. package/cjs/pages/SettingsPage/EnabledToolsButton.style.d.ts +0 -5
  508. package/cjs/pages/SettingsPage/EnabledToolsButton.style.js +0 -17
  509. package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  510. package/cjs/pages/SettingsPage/GasPriceSelect.js +0 -17
  511. package/cjs/pages/SettingsPage/LanguageSelect.d.ts +0 -2
  512. package/cjs/pages/SettingsPage/LanguageSelect.js +0 -37
  513. package/cjs/pages/SettingsPage/RoutePrioritySelect.d.ts +0 -2
  514. package/cjs/pages/SettingsPage/RoutePrioritySelect.js +0 -23
  515. package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  516. package/cjs/pages/SettingsPage/SlippageInput.d.ts +0 -1
  517. package/cjs/pages/SettingsPage/SlippageInput.js +0 -30
  518. package/cjs/providers/SDKProvider/SDKProvider.d.ts +0 -4
  519. package/cjs/providers/SDKProvider/SDKProvider.js +0 -41
  520. package/cjs/providers/SDKProvider/index.d.ts +0 -1
  521. package/cjs/providers/WalletProvider/types.d.ts +0 -17
  522. package/cjs/stores/routes/useTransactionHistory.d.ts +0 -2
  523. package/cjs/stores/routes/useTransactionHistory.js +0 -15
  524. package/components/Header/NavigationTabs.style.js +0 -58
  525. package/components/LiFiLogo.d.ts +0 -5
  526. package/components/LiFiLogo.js +0 -6
  527. package/fonts/Inter-Black.woff +0 -0
  528. package/fonts/Inter-Black.woff2 +0 -0
  529. package/fonts/Inter-BlackItalic.woff +0 -0
  530. package/fonts/Inter-BlackItalic.woff2 +0 -0
  531. package/fonts/Inter-Bold.woff +0 -0
  532. package/fonts/Inter-Bold.woff2 +0 -0
  533. package/fonts/Inter-BoldItalic.woff +0 -0
  534. package/fonts/Inter-BoldItalic.woff2 +0 -0
  535. package/fonts/Inter-ExtraBold.woff +0 -0
  536. package/fonts/Inter-ExtraBold.woff2 +0 -0
  537. package/fonts/Inter-ExtraBoldItalic.woff +0 -0
  538. package/fonts/Inter-ExtraBoldItalic.woff2 +0 -0
  539. package/fonts/Inter-ExtraLight.woff +0 -0
  540. package/fonts/Inter-ExtraLight.woff2 +0 -0
  541. package/fonts/Inter-ExtraLightItalic.woff +0 -0
  542. package/fonts/Inter-ExtraLightItalic.woff2 +0 -0
  543. package/fonts/Inter-Italic.woff +0 -0
  544. package/fonts/Inter-Italic.woff2 +0 -0
  545. package/fonts/Inter-Light.woff +0 -0
  546. package/fonts/Inter-Light.woff2 +0 -0
  547. package/fonts/Inter-LightItalic.woff +0 -0
  548. package/fonts/Inter-LightItalic.woff2 +0 -0
  549. package/fonts/Inter-Medium.woff +0 -0
  550. package/fonts/Inter-Medium.woff2 +0 -0
  551. package/fonts/Inter-MediumItalic.woff +0 -0
  552. package/fonts/Inter-MediumItalic.woff2 +0 -0
  553. package/fonts/Inter-Regular.woff +0 -0
  554. package/fonts/Inter-Regular.woff2 +0 -0
  555. package/fonts/Inter-SemiBold.woff +0 -0
  556. package/fonts/Inter-SemiBold.woff2 +0 -0
  557. package/fonts/Inter-SemiBoldItalic.woff +0 -0
  558. package/fonts/Inter-SemiBoldItalic.woff2 +0 -0
  559. package/fonts/Inter-Thin.woff +0 -0
  560. package/fonts/Inter-Thin.woff2 +0 -0
  561. package/fonts/Inter-ThinItalic.woff +0 -0
  562. package/fonts/Inter-ThinItalic.woff2 +0 -0
  563. package/fonts/Inter-italic.var.woff2 +0 -0
  564. package/fonts/Inter-roman.var.woff2 +0 -0
  565. package/fonts/Inter.var.woff2 +0 -0
  566. package/fonts/inter.css +0 -217
  567. package/hooks/useGetTokenBalancesWithRetry.d.ts +0 -3
  568. package/hooks/useGetTokenBalancesWithRetry.js +0 -29
  569. package/icons/LiFiFullLogo.d.ts +0 -2
  570. package/icons/LiFiFullLogo.js +0 -2
  571. package/icons/LiFiLogo.d.ts +0 -2
  572. package/icons/LiFiLogo.js +0 -2
  573. package/icons/LiFiToolLogo.d.ts +0 -2
  574. package/icons/LiFiToolLogo.js +0 -2
  575. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +0 -5
  576. package/pages/SettingsPage/ColorSchemeButtonGroup.d.ts +0 -2
  577. package/pages/SettingsPage/ColorSchemeButtonGroup.js +0 -23
  578. package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +0 -4
  579. package/pages/SettingsPage/ColorSchemeButtonGroup.style.js +0 -16
  580. package/pages/SettingsPage/EnabledToolsButton.js +0 -21
  581. package/pages/SettingsPage/EnabledToolsButton.style.d.ts +0 -5
  582. package/pages/SettingsPage/EnabledToolsButton.style.js +0 -14
  583. package/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  584. package/pages/SettingsPage/GasPriceSelect.js +0 -13
  585. package/pages/SettingsPage/LanguageSelect.d.ts +0 -2
  586. package/pages/SettingsPage/LanguageSelect.js +0 -33
  587. package/pages/SettingsPage/RoutePrioritySelect.d.ts +0 -2
  588. package/pages/SettingsPage/RoutePrioritySelect.js +0 -19
  589. package/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  590. package/pages/SettingsPage/SlippageInput.d.ts +0 -1
  591. package/pages/SettingsPage/SlippageInput.js +0 -26
  592. package/providers/SDKProvider/SDKProvider.d.ts +0 -4
  593. package/providers/SDKProvider/SDKProvider.js +0 -36
  594. package/providers/SDKProvider/index.d.ts +0 -1
  595. package/providers/SDKProvider/index.js +0 -1
  596. package/providers/WalletProvider/types.d.ts +0 -17
  597. package/stores/routes/useTransactionHistory.d.ts +0 -2
  598. package/stores/routes/useTransactionHistory.js +0 -11
  599. /package/cjs/{providers/WalletProvider → pages/SettingsPage/SettingsCard}/types.js +0 -0
  600. /package/{providers/WalletProvider → pages/SettingsPage/SettingsCard}/types.js +0 -0
package/AppProvider.js CHANGED
@@ -3,10 +3,10 @@ import { QueryClientProvider } from '@tanstack/react-query';
3
3
  import { Fragment } from 'react';
4
4
  import { MemoryRouter, useInRouterContext } from 'react-router-dom';
5
5
  import { queryClient } from './config/queryClient';
6
- import { FormProvider, I18nProvider, SDKProvider, ThemeProvider, URLSearchParamsBuilder, WalletProvider, WidgetProvider, useWidgetConfig, } from './providers';
6
+ import { FormProvider, I18nProvider, ThemeProvider, URLSearchParamsBuilder, WalletProvider, WidgetProvider, useWidgetConfig, } from './providers';
7
7
  import { StoreProvider } from './stores';
8
8
  export const AppProvider = ({ children, config, }) => {
9
- return (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(StoreProvider, { config: config, children: _jsx(WidgetProvider, { config: config, children: _jsx(SDKProvider, { children: _jsx(ThemeProvider, { children: _jsx(I18nProvider, { children: _jsx(WalletProvider, { children: _jsx(FormProvider, { children: _jsx(AppRouter, { children: children }) }) }) }) }) }) }) }) }));
9
+ return (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(WidgetProvider, { config: config, children: _jsx(ThemeProvider, { children: _jsx(I18nProvider, { children: _jsx(WalletProvider, { children: _jsx(FormProvider, { children: _jsx(StoreProvider, { config: config, children: _jsx(AppRouter, { children: children }) }) }) }) }) }) }) }));
10
10
  };
11
11
  export const AppRouter = ({ children }) => {
12
12
  const { buildUrl } = useWidgetConfig();
package/AppRoutes.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useRoutes } from 'react-router-dom';
2
+ import { useLocation, useRoutes } from 'react-router-dom';
3
3
  import { NotFound } from './components/NotFound';
4
4
  import { ActiveTransactionsPage } from './pages/ActiveTransactionsPage';
5
+ import { LanguagesPage } from './pages/LanguagesPage';
5
6
  import { MainPage } from './pages/MainPage';
6
7
  import { RoutesPage } from './pages/RoutesPage';
7
8
  import { SelectChainPage } from './pages/SelectChainPage';
@@ -13,72 +14,79 @@ import { TransactionDetailsPage } from './pages/TransactionDetailsPage';
13
14
  import { TransactionHistoryPage } from './pages/TransactionHistoryPage';
14
15
  import { TransactionPage } from './pages/TransactionPage';
15
16
  import { navigationRoutes } from './utils';
17
+ // SelectWalletPage should be accessible from every page and this handler helps avoid creating multiple paths.
18
+ // Avoid using it for anything else, we need to come up with a better solution once we have one more page accessible from everywhere.
19
+ const NotFoundRouteHandler = () => {
20
+ const { pathname } = useLocation();
21
+ return pathname.includes(navigationRoutes.selectWallet) ? (_jsx(SelectWalletPage, {})) : (_jsx(NotFound, {}));
22
+ };
23
+ const routes = [
24
+ {
25
+ path: '/',
26
+ element: _jsx(MainPage, {}),
27
+ },
28
+ {
29
+ path: navigationRoutes.settings,
30
+ element: _jsx(SettingsPage, {}),
31
+ },
32
+ {
33
+ path: `${navigationRoutes.settings}/${navigationRoutes.bridges}`,
34
+ element: _jsx(SelectEnabledToolsPage, { type: "Bridges" }),
35
+ },
36
+ {
37
+ path: `${navigationRoutes.settings}/${navigationRoutes.exchanges}`,
38
+ element: _jsx(SelectEnabledToolsPage, { type: "Exchanges" }),
39
+ },
40
+ {
41
+ path: `${navigationRoutes.settings}/${navigationRoutes.languages}`,
42
+ element: _jsx(LanguagesPage, {}),
43
+ },
44
+ {
45
+ path: navigationRoutes.fromToken,
46
+ element: _jsx(SelectTokenPage, { formType: "from" }),
47
+ },
48
+ {
49
+ path: navigationRoutes.toToken,
50
+ element: _jsx(SelectTokenPage, { formType: "to" }),
51
+ },
52
+ {
53
+ path: navigationRoutes.toTokenNative,
54
+ element: _jsx(SelectChainPage, { formType: "to", selectNativeToken: true }),
55
+ },
56
+ {
57
+ path: `${navigationRoutes.fromToken}?/${navigationRoutes.fromChain}`,
58
+ element: _jsx(SelectChainPage, { formType: "from" }),
59
+ },
60
+ {
61
+ path: `${navigationRoutes.toToken}?/${navigationRoutes.toChain}`,
62
+ element: _jsx(SelectChainPage, { formType: "to" }),
63
+ },
64
+ {
65
+ path: navigationRoutes.routes,
66
+ element: _jsx(RoutesPage, {}),
67
+ },
68
+ {
69
+ path: navigationRoutes.activeTransactions,
70
+ element: _jsx(ActiveTransactionsPage, {}),
71
+ },
72
+ {
73
+ path: navigationRoutes.transactionHistory,
74
+ element: _jsx(TransactionHistoryPage, {}),
75
+ },
76
+ {
77
+ path: `${navigationRoutes.transactionHistory}?/${navigationRoutes.routes}?/${navigationRoutes.transactionExecution}?/${navigationRoutes.transactionDetails}`,
78
+ element: _jsx(TransactionDetailsPage, {}),
79
+ },
80
+ {
81
+ path: `${navigationRoutes.routes}?/${navigationRoutes.activeTransactions}?/${navigationRoutes.transactionExecution}`,
82
+ element: _jsx(TransactionPage, {}),
83
+ },
84
+ {
85
+ path: '*',
86
+ element: _jsx(NotFoundRouteHandler, {}),
87
+ },
88
+ ];
16
89
  export const AppRoutes = () => {
17
- const element = useRoutes([
18
- {
19
- path: '/',
20
- element: _jsx(MainPage, {}),
21
- },
22
- {
23
- path: navigationRoutes.settings,
24
- element: _jsx(SettingsPage, {}),
25
- },
26
- {
27
- path: `${navigationRoutes.settings}/${navigationRoutes.bridges}`,
28
- element: _jsx(SelectEnabledToolsPage, { type: "Bridges" }),
29
- },
30
- {
31
- path: `${navigationRoutes.settings}/${navigationRoutes.exchanges}`,
32
- element: _jsx(SelectEnabledToolsPage, { type: "Exchanges" }),
33
- },
34
- {
35
- path: navigationRoutes.fromToken,
36
- element: _jsx(SelectTokenPage, { formType: "from" }),
37
- },
38
- {
39
- path: navigationRoutes.toToken,
40
- element: _jsx(SelectTokenPage, { formType: "to" }),
41
- },
42
- {
43
- path: navigationRoutes.toTokenNative,
44
- element: _jsx(SelectChainPage, { formType: "to", selectNativeToken: true }),
45
- },
46
- {
47
- path: `${navigationRoutes.fromToken}?/${navigationRoutes.fromChain}`,
48
- element: _jsx(SelectChainPage, { formType: "from" }),
49
- },
50
- {
51
- path: `${navigationRoutes.toToken}?/${navigationRoutes.toChain}`,
52
- element: _jsx(SelectChainPage, { formType: "to" }),
53
- },
54
- {
55
- path: navigationRoutes.routes,
56
- element: _jsx(RoutesPage, {}),
57
- },
58
- {
59
- path: navigationRoutes.activeTransactions,
60
- element: _jsx(ActiveTransactionsPage, {}),
61
- },
62
- {
63
- path: navigationRoutes.transactionHistory,
64
- element: _jsx(TransactionHistoryPage, {}),
65
- },
66
- {
67
- path: `${navigationRoutes.transactionHistory}?/${navigationRoutes.routes}?/${navigationRoutes.transactionExecution}?/${navigationRoutes.transactionDetails}`,
68
- element: _jsx(TransactionDetailsPage, {}),
69
- },
70
- {
71
- path: `${navigationRoutes.routes}?/${navigationRoutes.transactionExecution}?/${navigationRoutes.selectWallet}`,
72
- element: _jsx(SelectWalletPage, {}),
73
- },
74
- {
75
- path: `${navigationRoutes.routes}?/${navigationRoutes.activeTransactions}?/${navigationRoutes.transactionExecution}`,
76
- element: _jsx(TransactionPage, {}),
77
- },
78
- {
79
- path: '*',
80
- element: _jsx(NotFound, {}),
81
- },
82
- ]);
90
+ const element = useRoutes(routes);
83
91
  return element;
84
92
  };
@@ -9,7 +9,7 @@ const queryClient_1 = require("./config/queryClient");
9
9
  const providers_1 = require("./providers");
10
10
  const stores_1 = require("./stores");
11
11
  const AppProvider = ({ children, config, }) => {
12
- return ((0, jsx_runtime_1.jsx)(react_query_1.QueryClientProvider, { client: queryClient_1.queryClient, children: (0, jsx_runtime_1.jsx)(stores_1.StoreProvider, { config: config, children: (0, jsx_runtime_1.jsx)(providers_1.WidgetProvider, { config: config, children: (0, jsx_runtime_1.jsx)(providers_1.SDKProvider, { children: (0, jsx_runtime_1.jsx)(providers_1.ThemeProvider, { children: (0, jsx_runtime_1.jsx)(providers_1.I18nProvider, { children: (0, jsx_runtime_1.jsx)(providers_1.WalletProvider, { children: (0, jsx_runtime_1.jsx)(providers_1.FormProvider, { children: (0, jsx_runtime_1.jsx)(exports.AppRouter, { children: children }) }) }) }) }) }) }) }) }));
12
+ return ((0, jsx_runtime_1.jsx)(react_query_1.QueryClientProvider, { client: queryClient_1.queryClient, children: (0, jsx_runtime_1.jsx)(providers_1.WidgetProvider, { config: config, children: (0, jsx_runtime_1.jsx)(providers_1.ThemeProvider, { children: (0, jsx_runtime_1.jsx)(providers_1.I18nProvider, { children: (0, jsx_runtime_1.jsx)(providers_1.WalletProvider, { children: (0, jsx_runtime_1.jsx)(providers_1.FormProvider, { children: (0, jsx_runtime_1.jsx)(stores_1.StoreProvider, { config: config, children: (0, jsx_runtime_1.jsx)(exports.AppRouter, { children: children }) }) }) }) }) }) }) }));
13
13
  };
14
14
  exports.AppProvider = AppProvider;
15
15
  const AppRouter = ({ children }) => {
package/cjs/AppRoutes.js CHANGED
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_router_dom_1 = require("react-router-dom");
6
6
  const NotFound_1 = require("./components/NotFound");
7
7
  const ActiveTransactionsPage_1 = require("./pages/ActiveTransactionsPage");
8
+ const LanguagesPage_1 = require("./pages/LanguagesPage");
8
9
  const MainPage_1 = require("./pages/MainPage");
9
10
  const RoutesPage_1 = require("./pages/RoutesPage");
10
11
  const SelectChainPage_1 = require("./pages/SelectChainPage");
@@ -16,73 +17,80 @@ const TransactionDetailsPage_1 = require("./pages/TransactionDetailsPage");
16
17
  const TransactionHistoryPage_1 = require("./pages/TransactionHistoryPage");
17
18
  const TransactionPage_1 = require("./pages/TransactionPage");
18
19
  const utils_1 = require("./utils");
20
+ // SelectWalletPage should be accessible from every page and this handler helps avoid creating multiple paths.
21
+ // Avoid using it for anything else, we need to come up with a better solution once we have one more page accessible from everywhere.
22
+ const NotFoundRouteHandler = () => {
23
+ const { pathname } = (0, react_router_dom_1.useLocation)();
24
+ return pathname.includes(utils_1.navigationRoutes.selectWallet) ? ((0, jsx_runtime_1.jsx)(SelectWalletPage_1.SelectWalletPage, {})) : ((0, jsx_runtime_1.jsx)(NotFound_1.NotFound, {}));
25
+ };
26
+ const routes = [
27
+ {
28
+ path: '/',
29
+ element: (0, jsx_runtime_1.jsx)(MainPage_1.MainPage, {}),
30
+ },
31
+ {
32
+ path: utils_1.navigationRoutes.settings,
33
+ element: (0, jsx_runtime_1.jsx)(SettingsPage_1.SettingsPage, {}),
34
+ },
35
+ {
36
+ path: `${utils_1.navigationRoutes.settings}/${utils_1.navigationRoutes.bridges}`,
37
+ element: (0, jsx_runtime_1.jsx)(SelectEnabledToolsPage_1.SelectEnabledToolsPage, { type: "Bridges" }),
38
+ },
39
+ {
40
+ path: `${utils_1.navigationRoutes.settings}/${utils_1.navigationRoutes.exchanges}`,
41
+ element: (0, jsx_runtime_1.jsx)(SelectEnabledToolsPage_1.SelectEnabledToolsPage, { type: "Exchanges" }),
42
+ },
43
+ {
44
+ path: `${utils_1.navigationRoutes.settings}/${utils_1.navigationRoutes.languages}`,
45
+ element: (0, jsx_runtime_1.jsx)(LanguagesPage_1.LanguagesPage, {}),
46
+ },
47
+ {
48
+ path: utils_1.navigationRoutes.fromToken,
49
+ element: (0, jsx_runtime_1.jsx)(SelectTokenPage_1.SelectTokenPage, { formType: "from" }),
50
+ },
51
+ {
52
+ path: utils_1.navigationRoutes.toToken,
53
+ element: (0, jsx_runtime_1.jsx)(SelectTokenPage_1.SelectTokenPage, { formType: "to" }),
54
+ },
55
+ {
56
+ path: utils_1.navigationRoutes.toTokenNative,
57
+ element: (0, jsx_runtime_1.jsx)(SelectChainPage_1.SelectChainPage, { formType: "to", selectNativeToken: true }),
58
+ },
59
+ {
60
+ path: `${utils_1.navigationRoutes.fromToken}?/${utils_1.navigationRoutes.fromChain}`,
61
+ element: (0, jsx_runtime_1.jsx)(SelectChainPage_1.SelectChainPage, { formType: "from" }),
62
+ },
63
+ {
64
+ path: `${utils_1.navigationRoutes.toToken}?/${utils_1.navigationRoutes.toChain}`,
65
+ element: (0, jsx_runtime_1.jsx)(SelectChainPage_1.SelectChainPage, { formType: "to" }),
66
+ },
67
+ {
68
+ path: utils_1.navigationRoutes.routes,
69
+ element: (0, jsx_runtime_1.jsx)(RoutesPage_1.RoutesPage, {}),
70
+ },
71
+ {
72
+ path: utils_1.navigationRoutes.activeTransactions,
73
+ element: (0, jsx_runtime_1.jsx)(ActiveTransactionsPage_1.ActiveTransactionsPage, {}),
74
+ },
75
+ {
76
+ path: utils_1.navigationRoutes.transactionHistory,
77
+ element: (0, jsx_runtime_1.jsx)(TransactionHistoryPage_1.TransactionHistoryPage, {}),
78
+ },
79
+ {
80
+ path: `${utils_1.navigationRoutes.transactionHistory}?/${utils_1.navigationRoutes.routes}?/${utils_1.navigationRoutes.transactionExecution}?/${utils_1.navigationRoutes.transactionDetails}`,
81
+ element: (0, jsx_runtime_1.jsx)(TransactionDetailsPage_1.TransactionDetailsPage, {}),
82
+ },
83
+ {
84
+ path: `${utils_1.navigationRoutes.routes}?/${utils_1.navigationRoutes.activeTransactions}?/${utils_1.navigationRoutes.transactionExecution}`,
85
+ element: (0, jsx_runtime_1.jsx)(TransactionPage_1.TransactionPage, {}),
86
+ },
87
+ {
88
+ path: '*',
89
+ element: (0, jsx_runtime_1.jsx)(NotFoundRouteHandler, {}),
90
+ },
91
+ ];
19
92
  const AppRoutes = () => {
20
- const element = (0, react_router_dom_1.useRoutes)([
21
- {
22
- path: '/',
23
- element: (0, jsx_runtime_1.jsx)(MainPage_1.MainPage, {}),
24
- },
25
- {
26
- path: utils_1.navigationRoutes.settings,
27
- element: (0, jsx_runtime_1.jsx)(SettingsPage_1.SettingsPage, {}),
28
- },
29
- {
30
- path: `${utils_1.navigationRoutes.settings}/${utils_1.navigationRoutes.bridges}`,
31
- element: (0, jsx_runtime_1.jsx)(SelectEnabledToolsPage_1.SelectEnabledToolsPage, { type: "Bridges" }),
32
- },
33
- {
34
- path: `${utils_1.navigationRoutes.settings}/${utils_1.navigationRoutes.exchanges}`,
35
- element: (0, jsx_runtime_1.jsx)(SelectEnabledToolsPage_1.SelectEnabledToolsPage, { type: "Exchanges" }),
36
- },
37
- {
38
- path: utils_1.navigationRoutes.fromToken,
39
- element: (0, jsx_runtime_1.jsx)(SelectTokenPage_1.SelectTokenPage, { formType: "from" }),
40
- },
41
- {
42
- path: utils_1.navigationRoutes.toToken,
43
- element: (0, jsx_runtime_1.jsx)(SelectTokenPage_1.SelectTokenPage, { formType: "to" }),
44
- },
45
- {
46
- path: utils_1.navigationRoutes.toTokenNative,
47
- element: (0, jsx_runtime_1.jsx)(SelectChainPage_1.SelectChainPage, { formType: "to", selectNativeToken: true }),
48
- },
49
- {
50
- path: `${utils_1.navigationRoutes.fromToken}?/${utils_1.navigationRoutes.fromChain}`,
51
- element: (0, jsx_runtime_1.jsx)(SelectChainPage_1.SelectChainPage, { formType: "from" }),
52
- },
53
- {
54
- path: `${utils_1.navigationRoutes.toToken}?/${utils_1.navigationRoutes.toChain}`,
55
- element: (0, jsx_runtime_1.jsx)(SelectChainPage_1.SelectChainPage, { formType: "to" }),
56
- },
57
- {
58
- path: utils_1.navigationRoutes.routes,
59
- element: (0, jsx_runtime_1.jsx)(RoutesPage_1.RoutesPage, {}),
60
- },
61
- {
62
- path: utils_1.navigationRoutes.activeTransactions,
63
- element: (0, jsx_runtime_1.jsx)(ActiveTransactionsPage_1.ActiveTransactionsPage, {}),
64
- },
65
- {
66
- path: utils_1.navigationRoutes.transactionHistory,
67
- element: (0, jsx_runtime_1.jsx)(TransactionHistoryPage_1.TransactionHistoryPage, {}),
68
- },
69
- {
70
- path: `${utils_1.navigationRoutes.transactionHistory}?/${utils_1.navigationRoutes.routes}?/${utils_1.navigationRoutes.transactionExecution}?/${utils_1.navigationRoutes.transactionDetails}`,
71
- element: (0, jsx_runtime_1.jsx)(TransactionDetailsPage_1.TransactionDetailsPage, {}),
72
- },
73
- {
74
- path: `${utils_1.navigationRoutes.routes}?/${utils_1.navigationRoutes.transactionExecution}?/${utils_1.navigationRoutes.selectWallet}`,
75
- element: (0, jsx_runtime_1.jsx)(SelectWalletPage_1.SelectWalletPage, {}),
76
- },
77
- {
78
- path: `${utils_1.navigationRoutes.routes}?/${utils_1.navigationRoutes.activeTransactions}?/${utils_1.navigationRoutes.transactionExecution}`,
79
- element: (0, jsx_runtime_1.jsx)(TransactionPage_1.TransactionPage, {}),
80
- },
81
- {
82
- path: '*',
83
- element: (0, jsx_runtime_1.jsx)(NotFound_1.NotFound, {}),
84
- },
85
- ]);
93
+ const element = (0, react_router_dom_1.useRoutes)(routes);
86
94
  return element;
87
95
  };
88
96
  exports.AppRoutes = AppRoutes;
@@ -19,11 +19,7 @@ const ActiveTransactionItem = ({ routeId, dense }) => {
19
19
  routeId,
20
20
  executeInBackground: true,
21
21
  });
22
- // TODO: replace with ES2023 findLast
23
- const lastActiveStep = route?.steps
24
- .slice()
25
- .reverse()
26
- .find((step) => step.execution);
22
+ const lastActiveStep = route?.steps.findLast((step) => step.execution);
27
23
  const lastActiveProcess = lastActiveStep?.execution?.process.at(-1);
28
24
  const { title } = (0, hooks_1.useProcessMessage)(lastActiveStep, lastActiveProcess);
29
25
  if (!route || !lastActiveStep) {
@@ -5,7 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
6
  const react_i18next_1 = require("react-i18next");
7
7
  const react_router_dom_1 = require("react-router-dom");
8
- const providers_1 = require("../../providers");
8
+ const hooks_1 = require("../../hooks");
9
9
  const stores_1 = require("../../stores");
10
10
  const utils_1 = require("../../utils");
11
11
  const Card_1 = require("../Card");
@@ -14,7 +14,7 @@ const ActiveTransactions_style_1 = require("./ActiveTransactions.style");
14
14
  const ActiveTransactions = (props) => {
15
15
  const { t } = (0, react_i18next_1.useTranslation)();
16
16
  const navigate = (0, react_router_dom_1.useNavigate)();
17
- const { account } = (0, providers_1.useWallet)();
17
+ const { account } = (0, hooks_1.useAccount)();
18
18
  const executingRoutes = (0, stores_1.useExecutingRoutesIds)(account.address);
19
19
  if (!executingRoutes?.length) {
20
20
  return null;
@@ -3,23 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AmountInputEndAdornment = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
- const big_js_1 = require("big.js");
7
6
  const react_hook_form_1 = require("react-hook-form");
8
7
  const react_i18next_1 = require("react-i18next");
8
+ const viem_1 = require("viem");
9
9
  const hooks_1 = require("../../hooks");
10
10
  const providers_1 = require("../../providers");
11
- const utils_1 = require("../../utils");
12
11
  const AmountInputAdornment_style_1 = require("./AmountInputAdornment.style");
13
12
  const AmountInputEndAdornment = ({ formType }) => {
14
13
  const { t } = (0, react_i18next_1.useTranslation)();
15
14
  const { setValue } = (0, react_hook_form_1.useFormContext)();
16
- const { getChainById } = (0, hooks_1.useChains)();
15
+ const { getChainById } = (0, hooks_1.useAvailableChains)();
17
16
  const [chainId, tokenAddress] = (0, react_hook_form_1.useWatch)({
18
17
  name: [
19
18
  providers_1.FormKeyHelper.getChainKey(formType),
20
19
  providers_1.FormKeyHelper.getTokenKey(formType),
21
20
  ],
22
21
  });
22
+ // We get gas recommendations for the source chain to make sure that after pressing the Max button
23
+ // the user will have enough funds remaining to cover gas costs
23
24
  const { data } = (0, hooks_1.useGasRecommendation)(chainId);
24
25
  const { token, isLoading } = (0, hooks_1.useTokenAddressBalance)(chainId, tokenAddress);
25
26
  const handleMax = () => {
@@ -28,15 +29,13 @@ const AmountInputEndAdornment = ({ formType }) => {
28
29
  if (chain?.nativeToken.address === tokenAddress &&
29
30
  data?.available &&
30
31
  data?.recommended) {
31
- const tokenAmount = (0, big_js_1.default)(token?.amount ?? 0);
32
- const recommendedAmount = (0, big_js_1.default)(data.recommended.amount)
33
- .div(10 ** data.recommended.token.decimals)
34
- .div(2);
35
- if (tokenAmount.gt(recommendedAmount)) {
36
- maxAmount = (0, utils_1.formatTokenAmount)(tokenAmount.minus(recommendedAmount).toString());
32
+ const tokenAmount = token?.amount ?? 0n;
33
+ const recommendedAmount = BigInt(data.recommended.amount) / 2n;
34
+ if (tokenAmount > recommendedAmount) {
35
+ maxAmount = tokenAmount - recommendedAmount;
37
36
  }
38
37
  }
39
- setValue(providers_1.FormKeyHelper.getAmountKey(formType), maxAmount || '', {
38
+ setValue(providers_1.FormKeyHelper.getAmountKey(formType), maxAmount && token ? (0, viem_1.formatUnits)(maxAmount, token.decimals) : '', {
40
39
  shouldTouch: true,
41
40
  });
42
41
  };
@@ -31,7 +31,7 @@ const FormPriceHelperTextBase = ({ formType, isLoading, tokenAddress, token }) =
31
31
  }, children: t(`format.currency`, {
32
32
  value: fromAmountTokenPrice,
33
33
  }) }), isLoading && tokenAddress ? ((0, jsx_runtime_1.jsx)(material_1.Skeleton, { variant: "text", width: 48, height: 16, sx: { borderRadius: 0.25 } })) : token?.amount ? ((0, jsx_runtime_1.jsx)(material_1.Typography, { fontWeight: 400, fontSize: 12, color: "text.secondary", lineHeight: 1.3334, pl: 0.25, children: `/ ${t(`format.number`, {
34
- value: (0, utils_1.formatTokenAmount)(token?.amount),
34
+ value: (0, utils_1.formatTokenAmount)(token.amount, token.decimals),
35
35
  })}` })) : null] }));
36
36
  };
37
37
  exports.FormPriceHelperTextBase = FormPriceHelperTextBase;
@@ -5,26 +5,27 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const lab_1 = require("@mui/lab");
6
6
  const react_i18next_1 = require("react-i18next");
7
7
  const react_router_dom_1 = require("react-router-dom");
8
+ const hooks_1 = require("../../hooks");
8
9
  const providers_1 = require("../../providers");
9
10
  const utils_1 = require("../../utils");
10
11
  const BaseTransactionButton = ({ onClick, text, disabled, loading, }) => {
11
12
  const { t } = (0, react_i18next_1.useTranslation)();
12
13
  const navigate = (0, react_router_dom_1.useNavigate)();
13
14
  const { walletManagement } = (0, providers_1.useWidgetConfig)();
14
- const { account, connect } = (0, providers_1.useWallet)();
15
+ const { account } = (0, hooks_1.useAccount)();
15
16
  const handleClick = async () => {
16
- if (account.isActive) {
17
+ if (account.isConnected) {
17
18
  onClick?.();
18
19
  }
19
20
  else if (walletManagement) {
20
- await connect();
21
+ await walletManagement.connect();
21
22
  }
22
23
  else {
23
24
  navigate(utils_1.navigationRoutes.selectWallet);
24
25
  }
25
26
  };
26
27
  const getButtonText = () => {
27
- if (account.isActive) {
28
+ if (account.isConnected) {
28
29
  if (text) {
29
30
  return text;
30
31
  }
@@ -2,7 +2,7 @@
2
2
  export declare const CardLabel: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
3
  ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
4
4
  }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
5
- type?: "active" | "insurance" | "insurance-icon" | undefined;
5
+ type?: "insurance" | "active" | "insurance-icon" | undefined;
6
6
  }, {}, {}>;
7
7
  export declare const CardLabelTypography: import("@emotion/styled").StyledComponent<import("@mui/material").TypographyOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
8
8
  ref?: ((instance: HTMLSpanElement | null) => void) | import("react").RefObject<HTMLSpanElement> | null | undefined;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ChainSelect = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
+ const react_1 = require("react");
6
7
  const react_hook_form_1 = require("react-hook-form");
7
8
  const react_router_dom_1 = require("react-router-dom");
8
9
  const providers_1 = require("../../providers");
@@ -16,11 +17,13 @@ const ChainSelect = ({ formType }) => {
16
17
  const [chainId] = (0, react_hook_form_1.useWatch)({
17
18
  name: [providers_1.FormKeyHelper.getChainKey(formType)],
18
19
  });
19
- const hasChainInOrderedList = chainOrder.includes(chainId);
20
- // If we don't have a chain in the ordered chain list we should add it.
21
- if (!hasChainInOrderedList) {
22
- setChainOrder(chainId);
23
- }
20
+ (0, react_1.useEffect)(() => {
21
+ const hasChainInOrderedList = chainOrder.includes(chainId);
22
+ // If we don't have a chain in the ordered chain list we should add it.
23
+ if (!hasChainInOrderedList) {
24
+ setChainOrder(chainId);
25
+ }
26
+ }, [chainId, chainOrder, setChainOrder]);
24
27
  const showAllChains = () => {
25
28
  navigate(utils_1.navigationRoutes[`${formType}Chain`]);
26
29
  };
@@ -5,11 +5,13 @@ const react_hook_form_1 = require("react-hook-form");
5
5
  const hooks_1 = require("../../hooks");
6
6
  const providers_1 = require("../../providers");
7
7
  const stores_1 = require("../../stores");
8
+ const types_1 = require("../../types");
8
9
  const useChainSelect = (formType) => {
10
+ const { requiredUI } = (0, providers_1.useWidgetConfig)();
9
11
  const chainKey = providers_1.FormKeyHelper.getChainKey(formType);
10
12
  const { field: { onChange, onBlur }, } = (0, react_hook_form_1.useController)({ name: chainKey });
11
- const { setValue } = (0, react_hook_form_1.useFormContext)();
12
- const { chains, isLoading } = (0, hooks_1.useChains)();
13
+ const { setValue, getValues } = (0, react_hook_form_1.useFormContext)();
14
+ const { chains, isLoading, getChainById } = (0, hooks_1.useChains)();
13
15
  const [chainOrder, setChainOrder] = (0, stores_1.useChainOrder)();
14
16
  const swapOnly = (0, hooks_1.useSwapOnly)();
15
17
  const getChains = () => {
@@ -32,6 +34,23 @@ const useChainSelect = (formType) => {
32
34
  setValue(providers_1.FormKeyHelper.getTokenKey(formType), '');
33
35
  setValue(providers_1.FormKeyHelper.getAmountKey(formType), '');
34
36
  setValue(providers_1.FormKey.TokenSearchFilter, '');
37
+ const [fromChainId, toChainId] = getValues([
38
+ providers_1.FormKey.FromChain,
39
+ providers_1.FormKey.ToChain,
40
+ ]);
41
+ const fromChain = getChainById(fromChainId);
42
+ const toChain = getChainById(toChainId);
43
+ const differentChainType = fromChain && toChain && fromChain.chainType !== toChain.chainType;
44
+ const requiredToAddress = requiredUI?.includes(types_1.RequiredUI.ToAddress) || differentChainType;
45
+ // toAddress field is required (always visible) when bridging between
46
+ // two ecosystems (fromChain and toChain have different chain types).
47
+ // We clean up toAddress on every chain change if toAddress is not required.
48
+ // This is used when we switch between different chain ecosystems (chain types) and
49
+ // prevents cases when after we switch the chain from one type to another "Send to wallet" field hides,
50
+ // but it keeps toAddress value set for the previous chain pair.
51
+ if (!requiredToAddress) {
52
+ setValue(providers_1.FormKey.ToAddress, '');
53
+ }
35
54
  setChainOrder(chainId);
36
55
  };
37
56
  return {
@@ -5,15 +5,14 @@ const material_1 = require("@mui/material");
5
5
  const Switch_1 = require("@mui/material/Switch");
6
6
  const styles_1 = require("@mui/material/styles");
7
7
  const Switch_2 = require("../Switch");
8
+ const utils_1 = require("../../utils");
8
9
  const MessageCard = (0, styles_1.styled)(material_1.Box)(({ theme }) => ({
9
10
  borderRadius: theme.shape.borderRadius,
10
11
  position: 'relative',
11
12
  whiteSpace: 'pre-line',
12
13
  }));
13
14
  exports.WarningMessageCard = (0, styles_1.styled)(MessageCard)(({ theme }) => ({
14
- backgroundColor: theme.palette.mode === 'light'
15
- ? (0, styles_1.alpha)(theme.palette.warning.main, 0.32)
16
- : (0, styles_1.alpha)(theme.palette.warning.main, 0.16),
15
+ backgroundColor: (0, utils_1.getWarningBackgroundColor)(theme),
17
16
  }));
18
17
  exports.WarningMessageCardTitle = (0, styles_1.styled)(material_1.Box)(({ theme }) => ({
19
18
  color: theme.palette.mode === 'light'
@@ -21,9 +20,7 @@ exports.WarningMessageCardTitle = (0, styles_1.styled)(material_1.Box)(({ theme
21
20
  : (0, styles_1.alpha)(theme.palette.warning.main, 1),
22
21
  }));
23
22
  exports.InfoMessageCard = (0, styles_1.styled)(MessageCard)(({ theme }) => ({
24
- backgroundColor: theme.palette.mode === 'light'
25
- ? (0, styles_1.alpha)(theme.palette.info.main, 0.12)
26
- : (0, styles_1.alpha)(theme.palette.info.main, 0.16),
23
+ backgroundColor: (0, utils_1.getInfoBackgroundColor)(theme),
27
24
  }));
28
25
  exports.InfoMessageCardTitle = (0, styles_1.styled)(material_1.Box)(({ theme }) => ({
29
26
  color: theme.palette.mode === 'light'
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const EvStation_1 = require("@mui/icons-material/EvStation");
6
6
  const material_1 = require("@mui/material");
7
7
  const react_i18next_1 = require("react-i18next");
8
+ const viem_1 = require("viem");
8
9
  const GasMessage_style_1 = require("./GasMessage.style");
9
10
  const GasSufficiencyMessage = ({ insufficientGas, }) => {
10
11
  const { t } = (0, react_i18next_1.useTranslation)();
@@ -13,7 +14,7 @@ const GasSufficiencyMessage = ({ insufficientGas, }) => {
13
14
  } }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", fontWeight: 700, children: t(`warning.title.insufficientGas`) })] }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", px: 2, pt: 1, children: t(`warning.message.insufficientGas`) }), insufficientGas?.map((item, index) => ((0, jsx_runtime_1.jsx)(material_1.Typography
14
15
  // eslint-disable-next-line react/no-array-index-key
15
16
  , { variant: "body2", px: 2, pb: insufficientGas?.length - 1 === index ? 2 : 0, pt: 0.5, children: t(`main.tokenOnChainAmount`, {
16
- amount: item.insufficientAmount?.toString(),
17
+ amount: (0, viem_1.formatUnits)(item.insufficientAmount ?? 0n, item.token.decimals),
17
18
  tokenSymbol: item.token.symbol,
18
19
  chainName: item.chain?.name,
19
20
  }) }, index)))] }));
@@ -13,3 +13,11 @@ export declare const WalletButton: import("@emotion/styled").StyledComponent<imp
13
13
  export declare const DrawerWalletContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
14
14
  ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
15
15
  }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
16
+ export declare const HeaderControlsContainer: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
17
+ ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
18
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
19
+ export declare const SplitTabs: import("@emotion/styled").StyledComponent<import("@mui/material").TabsOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
20
+ ref?: import("react").RefObject<HTMLDivElement> | ((instance: HTMLDivElement | null) => void) | null | undefined;
21
+ }, "className" | "style" | "classes" | "action" | "children" | "sx" | "aria-label" | "aria-labelledby" | "onChange" | "variant" | "value" | "slots" | "slotProps" | "orientation" | "allowScrollButtonsMobile" | "centered" | "indicatorColor" | "ScrollButtonComponent" | "scrollButtons" | "selectionFollowsFocus" | "TabIndicatorProps" | "TabScrollButtonProps" | "textColor" | "visibleScrollbar"> & {
22
+ component?: import("react").ElementType<any> | undefined;
23
+ } & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DrawerWalletContainer = exports.WalletButton = exports.Container = exports.HeaderAppBar = void 0;
3
+ exports.SplitTabs = exports.HeaderControlsContainer = exports.DrawerWalletContainer = exports.WalletButton = exports.Container = exports.HeaderAppBar = void 0;
4
4
  const material_1 = require("@mui/material");
5
5
  const Button_1 = require("@mui/material/Button");
6
6
  const styles_1 = require("@mui/material/styles");
7
+ const Tabs_1 = require("../Tabs");
7
8
  exports.HeaderAppBar = (0, styles_1.styled)(material_1.AppBar)(({ theme }) => ({
8
9
  backgroundColor: 'transparent',
9
10
  color: theme.palette.text.primary,
@@ -45,6 +46,11 @@ exports.WalletButton = (0, styles_1.styled)(material_1.Button)(({ theme }) => ({
45
46
  [`.${Button_1.buttonClasses.startIcon} > *:nth-of-type(1)`]: {
46
47
  fontSize: '24px',
47
48
  },
49
+ [`&:hover .${material_1.badgeClasses.badge} > div`]: {
50
+ borderColor: theme.palette.mode === 'light'
51
+ ? (0, styles_1.alpha)(theme.palette.common.black, 0.04)
52
+ : (0, styles_1.alpha)(theme.palette.common.white, 0.08),
53
+ },
48
54
  }));
49
55
  exports.DrawerWalletContainer = (0, styles_1.styled)(material_1.Box)(() => ({
50
56
  width: '100%',
@@ -54,3 +60,12 @@ exports.DrawerWalletContainer = (0, styles_1.styled)(material_1.Box)(() => ({
54
60
  marginLeft: '-0.5rem',
55
61
  },
56
62
  }));
63
+ exports.HeaderControlsContainer = (0, styles_1.styled)(material_1.Box)(({ theme }) => ({
64
+ display: 'flex',
65
+ gap: theme.spacing(0.5),
66
+ }));
67
+ exports.SplitTabs = (0, styles_1.styled)(Tabs_1.Tabs)(({ theme }) => ({
68
+ backgroundColor: theme.palette.mode === 'dark'
69
+ ? theme.palette.background.paper
70
+ : (0, styles_1.alpha)(theme.palette.common.black, 0.04),
71
+ }));
@@ -1,2 +1,3 @@
1
1
  /// <reference types="react" />
2
+ export declare const TransactionHistoryButton: () => import("react/jsx-runtime").JSX.Element;
2
3
  export declare const NavigationHeader: React.FC;