@lifi/widget 3.40.8 → 4.0.0-alpha.1

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 (603) hide show
  1. package/CHANGELOG.md +0 -50
  2. package/dist/esm/AppDefault.d.ts +8 -0
  3. package/dist/esm/AppDefault.js +231 -14
  4. package/dist/esm/AppDefault.js.map +1 -1
  5. package/dist/esm/AppLayout.d.ts +1 -0
  6. package/dist/esm/AppLayout.js +19 -0
  7. package/dist/esm/AppLayout.js.map +1 -0
  8. package/dist/esm/AppProvider.js +7 -20
  9. package/dist/esm/AppProvider.js.map +1 -1
  10. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js +9 -6
  11. package/dist/esm/components/ActiveTransactions/ActiveTransactionItem.js.map +1 -1
  12. package/dist/esm/components/ActiveTransactions/ActiveTransactions.js +2 -2
  13. package/dist/esm/components/ActiveTransactions/ActiveTransactions.js.map +1 -1
  14. package/dist/esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
  15. package/dist/esm/components/AmountInput/AmountInput.js +5 -7
  16. package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
  17. package/dist/esm/components/AmountInput/AmountInput.style.d.ts +2 -2
  18. package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +1 -1
  19. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +1 -1
  20. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  21. package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts +1 -1
  22. package/dist/esm/components/AppContainer.d.ts +1 -1
  23. package/dist/esm/components/Avatar/AccountAvatar.d.ts +1 -1
  24. package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
  25. package/dist/esm/components/Avatar/Avatar.style.d.ts +1 -1
  26. package/dist/esm/components/Avatar/SmallAvatar.d.ts +1 -1
  27. package/dist/esm/components/ButtonTertiary.d.ts +1 -1
  28. package/dist/esm/components/Card/Card.d.ts +1 -1
  29. package/dist/esm/components/Card/CardButton.style.d.ts +2 -2
  30. package/dist/esm/components/Card/CardHeader.d.ts +1 -1
  31. package/dist/esm/components/Card/CardIconButton.d.ts +3 -3
  32. package/dist/esm/components/Card/CardLabel.d.ts +1 -1
  33. package/dist/esm/components/Card/CardTitle.d.ts +1 -1
  34. package/dist/esm/components/Card/InputCard.d.ts +1 -1
  35. package/dist/esm/components/ChainSelect/ChainSelect.js +8 -3
  36. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  37. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +3 -3
  38. package/dist/esm/components/Chains/ChainList.style.d.ts +4 -4
  39. package/dist/esm/components/Chains/VirtualizedChainList.d.ts +1 -1
  40. package/dist/esm/components/Chains/VirtualizedChainList.js +7 -1
  41. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
  42. package/dist/esm/components/ContractComponent/ItemPrice.d.ts +1 -1
  43. package/dist/esm/components/ContractComponent/ItemPrice.js +1 -1
  44. package/dist/esm/components/ContractComponent/ItemPrice.js.map +1 -1
  45. package/dist/esm/components/ContractComponent/NFT/NFT.js +1 -1
  46. package/dist/esm/components/ContractComponent/NFT/NFT.js.map +1 -1
  47. package/dist/esm/components/ContractComponent/NFT/NFT.style.d.ts +1 -1
  48. package/dist/esm/components/Header/BackButton.d.ts +1 -2
  49. package/dist/esm/components/Header/BackButton.js +16 -2
  50. package/dist/esm/components/Header/BackButton.js.map +1 -1
  51. package/dist/esm/components/Header/DisconnectIconButton.d.ts +1 -1
  52. package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -1
  53. package/dist/esm/components/Header/Header.js +1 -1
  54. package/dist/esm/components/Header/Header.js.map +1 -1
  55. package/dist/esm/components/Header/Header.style.d.ts +3 -3
  56. package/dist/esm/components/Header/NavigationHeader.js +7 -13
  57. package/dist/esm/components/Header/NavigationHeader.js.map +1 -1
  58. package/dist/esm/components/Header/SettingsButton.js +3 -3
  59. package/dist/esm/components/Header/SettingsButton.js.map +1 -1
  60. package/dist/esm/components/Header/SettingsButton.style.d.ts +2 -2
  61. package/dist/esm/components/Header/TransactionHistoryButton.js +3 -3
  62. package/dist/esm/components/Header/TransactionHistoryButton.js.map +1 -1
  63. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  64. package/dist/esm/components/ListItem/ListItem.d.ts +1 -1
  65. package/dist/esm/components/ListItem/ListItemButton.d.ts +1 -1
  66. package/dist/esm/components/ListItemButton.d.ts +1 -1
  67. package/dist/esm/components/Messages/GasSufficiencyMessage.js +1 -1
  68. package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -1
  69. package/dist/esm/components/PageContainer.d.ts +1 -1
  70. package/dist/esm/components/PageEntered.js +1 -1
  71. package/dist/esm/components/PageEntered.js.map +1 -1
  72. package/dist/esm/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  73. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +0 -9
  74. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  75. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +1 -1
  76. package/dist/esm/components/RouteCard/RouteCard.js +1 -3
  77. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  78. package/dist/esm/components/Routes/Routes.js +3 -4
  79. package/dist/esm/components/Routes/Routes.js.map +1 -1
  80. package/dist/esm/components/Routes/RoutesContent.js +1 -2
  81. package/dist/esm/components/Routes/RoutesContent.js.map +1 -1
  82. package/dist/esm/components/Routes/RoutesExpanded.js +4 -3
  83. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -1
  84. package/dist/esm/components/Routes/RoutesExpanded.style.d.ts +1 -1
  85. package/dist/esm/components/Search/SearchInput.style.d.ts +1 -1
  86. package/dist/esm/components/Search/SearchNotFound.style.d.ts +2 -2
  87. package/dist/esm/components/SelectChainAndToken.js +2 -3
  88. package/dist/esm/components/SelectChainAndToken.js.map +1 -1
  89. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js +10 -10
  90. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -1
  91. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.d.ts +3 -3
  92. package/dist/esm/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  93. package/dist/esm/components/SendToWallet/SendToWalletButton.js +10 -8
  94. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  95. package/dist/esm/components/SettingsListItemButton.d.ts +1 -1
  96. package/dist/esm/components/Skeleton/WidgetSkeleton.style.d.ts +4 -4
  97. package/dist/esm/components/Step/CircularProgress.d.ts +3 -3
  98. package/dist/esm/components/Step/CircularProgress.js +8 -8
  99. package/dist/esm/components/Step/CircularProgress.js.map +1 -1
  100. package/dist/esm/components/Step/CircularProgress.style.d.ts +2 -2
  101. package/dist/esm/components/Step/CircularProgress.style.js.map +1 -1
  102. package/dist/esm/components/Step/Step.js +8 -11
  103. package/dist/esm/components/Step/Step.js.map +1 -1
  104. package/dist/esm/components/Step/StepAction.d.ts +5 -0
  105. package/dist/esm/components/Step/{StepProcess.js → StepAction.js} +16 -12
  106. package/dist/esm/components/Step/StepAction.js.map +1 -0
  107. package/dist/esm/components/StepActions/StepActions.js +3 -2
  108. package/dist/esm/components/StepActions/StepActions.js.map +1 -1
  109. package/dist/esm/components/StepActions/StepActions.style.d.ts +2 -2
  110. package/dist/esm/components/StepDivider/StepDivider.style.d.ts +1 -1
  111. package/dist/esm/components/Tabs/NavigationTabs.d.ts +4 -4
  112. package/dist/esm/components/Tabs/Tabs.style.d.ts +3 -3
  113. package/dist/esm/components/Timer/StepTimer.js +26 -74
  114. package/dist/esm/components/Timer/StepTimer.js.map +1 -1
  115. package/dist/esm/components/Token/Token.style.d.ts +1 -1
  116. package/dist/esm/components/TokenList/PinTokenButton.d.ts +6 -0
  117. package/dist/esm/components/TokenList/PinTokenButton.js +29 -0
  118. package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -0
  119. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.d.ts +2 -2
  120. package/dist/esm/components/TokenList/TokenList.js +13 -5
  121. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  122. package/dist/esm/components/TokenList/TokenList.style.d.ts +6 -6
  123. package/dist/esm/components/TokenList/TokenListItem.js +5 -4
  124. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  125. package/dist/esm/components/TokenList/VirtualizedTokenList.js +63 -38
  126. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  127. package/dist/esm/components/TokenList/types.d.ts +2 -3
  128. package/dist/esm/components/TokenList/useTokenSelect.js +2 -3
  129. package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
  130. package/dist/esm/components/TokenRate/TokenRate.d.ts +1 -1
  131. package/dist/esm/components/TokenRate/TokenRate.js +1 -1
  132. package/dist/esm/components/TokenRate/TokenRate.js.map +1 -1
  133. package/dist/esm/components/TokenRate/TokenRate.style.d.ts +1 -1
  134. package/dist/esm/components/TransactionDetails.js +3 -2
  135. package/dist/esm/components/TransactionDetails.js.map +1 -1
  136. package/dist/esm/config/version.d.ts +1 -1
  137. package/dist/esm/config/version.js +1 -1
  138. package/dist/esm/config/version.js.map +1 -1
  139. package/dist/esm/hooks/useActionMessage.d.ts +5 -0
  140. package/dist/esm/hooks/useActionMessage.js +18 -0
  141. package/dist/esm/hooks/useActionMessage.js.map +1 -0
  142. package/dist/esm/hooks/useAddressActivity.js +18 -9
  143. package/dist/esm/hooks/useAddressActivity.js.map +1 -1
  144. package/dist/esm/hooks/useAddressValidation.js +5 -2
  145. package/dist/esm/hooks/useAddressValidation.js.map +1 -1
  146. package/dist/esm/hooks/useAvailableChains.d.ts +2 -1
  147. package/dist/esm/hooks/useAvailableChains.js +32 -11
  148. package/dist/esm/hooks/useAvailableChains.js.map +1 -1
  149. package/dist/esm/hooks/useExplorer.js +1 -2
  150. package/dist/esm/hooks/useExplorer.js.map +1 -1
  151. package/dist/esm/hooks/useFilteredByTokenBalances.js +3 -1
  152. package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -1
  153. package/dist/esm/hooks/useFromTokenSufficiency.d.ts +1 -1
  154. package/dist/esm/hooks/useFromTokenSufficiency.js +4 -4
  155. package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -1
  156. package/dist/esm/hooks/useGasRecommendation.js +3 -1
  157. package/dist/esm/hooks/useGasRecommendation.js.map +1 -1
  158. package/dist/esm/hooks/useGasSufficiency.js +21 -15
  159. package/dist/esm/hooks/useGasSufficiency.js.map +1 -1
  160. package/dist/esm/hooks/useHasChainExpansion.d.ts +1 -1
  161. package/dist/esm/hooks/useHasChainExpansion.js +11 -3
  162. package/dist/esm/hooks/useHasChainExpansion.js.map +1 -1
  163. package/dist/esm/hooks/useInitializeSDKProviders.d.ts +1 -0
  164. package/dist/esm/hooks/useInitializeSDKProviders.js +11 -0
  165. package/dist/esm/hooks/useInitializeSDKProviders.js.map +1 -0
  166. package/dist/esm/hooks/useIsBatchingSupported.js +7 -3
  167. package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -1
  168. package/dist/esm/hooks/useIsContractAddress.js +12 -9
  169. package/dist/esm/hooks/useIsContractAddress.js.map +1 -1
  170. package/dist/esm/hooks/useNavigateBack.d.ts +1 -4
  171. package/dist/esm/hooks/useNavigateBack.js +9 -23
  172. package/dist/esm/hooks/useNavigateBack.js.map +1 -1
  173. package/dist/esm/hooks/useRouteExecution.js +12 -13
  174. package/dist/esm/hooks/useRouteExecution.js.map +1 -1
  175. package/dist/esm/hooks/useRoutes.js +23 -60
  176. package/dist/esm/hooks/useRoutes.js.map +1 -1
  177. package/dist/esm/hooks/useToAddressAutoPopulate.js +3 -1
  178. package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -1
  179. package/dist/esm/hooks/useToAddressRequirements.js +3 -2
  180. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -1
  181. package/dist/esm/hooks/useTokenBalance.d.ts +3 -3
  182. package/dist/esm/hooks/useTokenBalance.js +8 -6
  183. package/dist/esm/hooks/useTokenBalance.js.map +1 -1
  184. package/dist/esm/hooks/useTokenBalances.d.ts +1 -0
  185. package/dist/esm/hooks/useTokenBalances.js +70 -5
  186. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  187. package/dist/esm/hooks/useTokenBalancesQueries.js +4 -2
  188. package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -1
  189. package/dist/esm/hooks/useTokenSearch.js +3 -1
  190. package/dist/esm/hooks/useTokenSearch.js.map +1 -1
  191. package/dist/esm/hooks/useTokens.js +11 -5
  192. package/dist/esm/hooks/useTokens.js.map +1 -1
  193. package/dist/esm/hooks/useTools.js +3 -1
  194. package/dist/esm/hooks/useTools.js.map +1 -1
  195. package/dist/esm/hooks/useTransactionDetails.js +3 -1
  196. package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
  197. package/dist/esm/hooks/useTransactionHistory.js +3 -1
  198. package/dist/esm/hooks/useTransactionHistory.js.map +1 -1
  199. package/dist/esm/hooks/useWidgetChains.d.ts +6 -0
  200. package/dist/esm/hooks/useWidgetChains.js +5 -0
  201. package/dist/esm/hooks/useWidgetChains.js.map +1 -0
  202. package/dist/esm/i18n/bn.json +4 -1
  203. package/dist/esm/i18n/de.json +4 -1
  204. package/dist/esm/i18n/en.json +3 -14
  205. package/dist/esm/i18n/es.json +4 -1
  206. package/dist/esm/i18n/fr.json +4 -1
  207. package/dist/esm/i18n/hi.json +4 -1
  208. package/dist/esm/i18n/id.json +4 -1
  209. package/dist/esm/i18n/it.json +4 -1
  210. package/dist/esm/i18n/ja.json +4 -1
  211. package/dist/esm/i18n/ko.json +4 -1
  212. package/dist/esm/i18n/pl.json +4 -1
  213. package/dist/esm/i18n/pt.json +4 -1
  214. package/dist/esm/i18n/th.json +4 -1
  215. package/dist/esm/i18n/tr.json +4 -1
  216. package/dist/esm/i18n/uk.json +4 -1
  217. package/dist/esm/i18n/vi.json +4 -1
  218. package/dist/esm/i18n/zh.json +4 -1
  219. package/dist/esm/index.d.ts +2 -2
  220. package/dist/esm/index.js +2 -2
  221. package/dist/esm/index.js.map +1 -1
  222. package/dist/esm/pages/LanguagesPage.js +7 -6
  223. package/dist/esm/pages/LanguagesPage.js.map +1 -1
  224. package/dist/esm/pages/MainPage/MainPage.js +1 -3
  225. package/dist/esm/pages/MainPage/MainPage.js.map +1 -1
  226. package/dist/esm/pages/MainPage/ReviewButton.js +5 -5
  227. package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -1
  228. package/dist/esm/pages/RoutesPage/RoutesPage.d.ts +1 -2
  229. package/dist/esm/pages/RoutesPage/RoutesPage.js +5 -4
  230. package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  231. package/dist/esm/pages/SelectChainPage/SelectChainPage.js +1 -1
  232. package/dist/esm/pages/SelectChainPage/SelectChainPage.js.map +1 -1
  233. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +2 -13
  234. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  235. package/dist/esm/pages/SendToWallet/BookmarksPage.js +3 -5
  236. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  237. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +1 -1
  238. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
  239. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +4 -3
  240. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  241. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +4 -7
  242. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  243. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +1 -1
  244. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  245. package/dist/esm/pages/SendToWallet/SendToWalletPage.d.ts +1 -1
  246. package/dist/esm/pages/SendToWallet/SendToWalletPage.js +5 -5
  247. package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
  248. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.d.ts +8 -8
  249. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js +4 -2
  250. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  251. package/dist/esm/pages/SettingsPage/LanguageSetting.js +2 -2
  252. package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
  253. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +1 -1
  254. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.d.ts +12 -2
  255. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +10 -4
  256. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  257. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.d.ts +1 -1
  258. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js +2 -2
  259. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js.map +1 -1
  260. package/dist/esm/pages/SettingsPage/SettingsPage.js +5 -1
  261. package/dist/esm/pages/SettingsPage/SettingsPage.js.map +1 -1
  262. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +3 -3
  263. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  264. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.d.ts +3 -3
  265. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +9 -9
  266. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.d.ts +1 -0
  267. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js +58 -0
  268. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js.map +1 -0
  269. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js +7 -8
  270. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  271. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryItem.js +4 -3
  272. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
  273. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.d.ts +1 -2
  274. package/dist/esm/pages/TransactionHistoryPage/TransactionHistoryPage.js.map +1 -1
  275. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +13 -12
  276. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  277. package/dist/esm/pages/TransactionPage/TransactionPage.d.ts +1 -1
  278. package/dist/esm/pages/TransactionPage/TransactionPage.js +13 -6
  279. package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
  280. package/dist/esm/providers/I18nProvider/I18nProvider.js +1 -0
  281. package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
  282. package/dist/esm/providers/SDKClientProvider.d.ts +4 -0
  283. package/dist/esm/providers/SDKClientProvider.js +29 -0
  284. package/dist/esm/providers/SDKClientProvider.js.map +1 -0
  285. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +7 -2
  286. package/dist/esm/providers/WalletProvider/WalletProvider.js +27 -11
  287. package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
  288. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js +15 -18
  289. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js.map +1 -1
  290. package/dist/esm/providers/WidgetProvider/WidgetProvider.js +0 -27
  291. package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
  292. package/dist/esm/stores/StoreProvider.js +2 -1
  293. package/dist/esm/stores/StoreProvider.js.map +1 -1
  294. package/dist/esm/stores/bookmarks/types.d.ts +2 -3
  295. package/dist/esm/stores/chains/ChainOrderStore.js +17 -12
  296. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
  297. package/dist/esm/stores/chains/createChainOrderStore.d.ts +0 -8
  298. package/dist/esm/stores/chains/createChainOrderStore.js +1 -5
  299. package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -1
  300. package/dist/esm/stores/form/FormStore.js +18 -8
  301. package/dist/esm/stores/form/FormStore.js.map +1 -1
  302. package/dist/esm/stores/form/FormUpdater.js +5 -50
  303. package/dist/esm/stores/form/FormUpdater.js.map +1 -1
  304. package/dist/esm/stores/form/URLSearchParamsBuilder.js +11 -31
  305. package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -1
  306. package/dist/esm/stores/form/getDefaultValuesFromQueryString.d.ts +7 -0
  307. package/dist/esm/stores/form/getDefaultValuesFromQueryString.js +32 -0
  308. package/dist/esm/stores/form/getDefaultValuesFromQueryString.js.map +1 -0
  309. package/dist/esm/stores/form/types.d.ts +2 -3
  310. package/dist/esm/stores/form/types.js.map +1 -1
  311. package/dist/esm/stores/header/types.d.ts +5 -3
  312. package/dist/esm/stores/header/useHeaderStore.js +14 -0
  313. package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
  314. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.d.ts +4 -0
  315. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js +20 -0
  316. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js.map +1 -0
  317. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.d.ts +19 -0
  318. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js +61 -0
  319. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js.map +1 -0
  320. package/dist/esm/stores/pinnedTokens/types.d.ts +17 -0
  321. package/dist/esm/stores/pinnedTokens/types.js +2 -0
  322. package/dist/esm/stores/pinnedTokens/types.js.map +1 -0
  323. package/dist/esm/stores/routes/RouteExecutionStore.d.ts +2 -3
  324. package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -1
  325. package/dist/esm/stores/routes/createRouteExecutionStore.js +2 -5
  326. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  327. package/dist/esm/stores/routes/useExecutingRoutesIds.js +2 -2
  328. package/dist/esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
  329. package/dist/esm/stores/routes/utils.d.ts +2 -2
  330. package/dist/esm/stores/routes/utils.js +15 -15
  331. package/dist/esm/stores/routes/utils.js.map +1 -1
  332. package/dist/esm/stores/settings/SettingsStore.d.ts +2 -3
  333. package/dist/esm/stores/settings/SettingsStore.js.map +1 -1
  334. package/dist/esm/stores/settings/createSettingsStore.d.ts +2 -0
  335. package/dist/esm/stores/settings/createSettingsStore.js +2 -1
  336. package/dist/esm/stores/settings/createSettingsStore.js.map +1 -1
  337. package/dist/esm/stores/settings/types.d.ts +3 -3
  338. package/dist/esm/stores/settings/types.js.map +1 -1
  339. package/dist/esm/types/events.d.ts +2 -10
  340. package/dist/esm/types/events.js +0 -1
  341. package/dist/esm/types/events.js.map +1 -1
  342. package/dist/esm/types/token.d.ts +1 -0
  343. package/dist/esm/types/widget.d.ts +9 -16
  344. package/dist/esm/types/widget.js +1 -0
  345. package/dist/esm/types/widget.js.map +1 -1
  346. package/dist/esm/utils/chainType.d.ts +1 -2
  347. package/dist/esm/utils/chainType.js +1 -19
  348. package/dist/esm/utils/chainType.js.map +1 -1
  349. package/dist/esm/utils/converters.js +11 -18
  350. package/dist/esm/utils/converters.js.map +1 -1
  351. package/dist/esm/utils/format.d.ts +1 -0
  352. package/dist/esm/utils/format.js +2 -1
  353. package/dist/esm/utils/format.js.map +1 -1
  354. package/dist/esm/utils/getActionMessage.d.ts +7 -0
  355. package/dist/esm/utils/getActionMessage.js +111 -0
  356. package/dist/esm/utils/getActionMessage.js.map +1 -0
  357. package/dist/esm/utils/getErrorMessage.d.ts +6 -0
  358. package/dist/esm/utils/getErrorMessage.js +118 -0
  359. package/dist/esm/utils/getErrorMessage.js.map +1 -0
  360. package/dist/esm/utils/prepareActions.d.ts +2 -0
  361. package/dist/esm/utils/prepareActions.js +24 -0
  362. package/dist/esm/utils/prepareActions.js.map +1 -0
  363. package/dist/esm/utils/tokenList.d.ts +3 -2
  364. package/dist/esm/utils/tokenList.js +104 -8
  365. package/dist/esm/utils/tokenList.js.map +1 -1
  366. package/package.json +15 -23
  367. package/package.json.tmp +16 -28
  368. package/src/AppDefault.tsx +279 -31
  369. package/src/AppLayout.tsx +36 -0
  370. package/src/AppProvider.tsx +12 -40
  371. package/src/components/ActiveTransactions/ActiveTransactionItem.tsx +9 -6
  372. package/src/components/ActiveTransactions/ActiveTransactions.tsx +2 -2
  373. package/src/components/AmountInput/AmountInput.tsx +6 -8
  374. package/src/components/AmountInput/AmountInputEndAdornment.tsx +1 -1
  375. package/src/components/Avatar/AccountAvatar.tsx +1 -1
  376. package/src/components/ChainSelect/ChainSelect.tsx +8 -4
  377. package/src/components/Chains/VirtualizedChainList.tsx +7 -3
  378. package/src/components/ContractComponent/ItemPrice.tsx +1 -2
  379. package/src/components/ContractComponent/NFT/NFT.tsx +1 -1
  380. package/src/components/Header/BackButton.tsx +15 -3
  381. package/src/components/Header/DisconnectIconButton.tsx +2 -1
  382. package/src/components/Header/Header.tsx +1 -1
  383. package/src/components/Header/NavigationHeader.tsx +23 -46
  384. package/src/components/Header/SettingsButton.tsx +3 -3
  385. package/src/components/Header/TransactionHistoryButton.tsx +3 -3
  386. package/src/components/Header/WalletHeader.tsx +1 -1
  387. package/src/components/Messages/GasSufficiencyMessage.tsx +1 -1
  388. package/src/components/PageEntered.ts +1 -1
  389. package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +0 -10
  390. package/src/components/RouteCard/RouteCard.tsx +1 -3
  391. package/src/components/Routes/Routes.tsx +3 -4
  392. package/src/components/Routes/RoutesContent.tsx +1 -2
  393. package/src/components/Routes/RoutesExpanded.tsx +4 -3
  394. package/src/components/SelectChainAndToken.tsx +2 -4
  395. package/src/components/SelectTokenButton/SelectTokenButton.tsx +11 -13
  396. package/src/components/SendToWallet/SendToWalletButton.tsx +9 -12
  397. package/src/components/Step/CircularProgress.style.tsx +3 -3
  398. package/src/components/Step/CircularProgress.tsx +11 -11
  399. package/src/components/Step/Step.tsx +13 -14
  400. package/src/components/Step/{StepProcess.tsx → StepAction.tsx} +20 -15
  401. package/src/components/StepActions/StepActions.tsx +3 -2
  402. package/src/components/Timer/StepTimer.tsx +43 -105
  403. package/src/components/TokenList/PinTokenButton.tsx +50 -0
  404. package/src/components/TokenList/TokenList.tsx +67 -59
  405. package/src/components/TokenList/TokenListItem.tsx +20 -11
  406. package/src/components/TokenList/VirtualizedTokenList.tsx +80 -53
  407. package/src/components/TokenList/types.ts +2 -3
  408. package/src/components/TokenList/useTokenSelect.ts +2 -8
  409. package/src/components/TokenRate/TokenRate.tsx +1 -2
  410. package/src/components/TransactionDetails.tsx +3 -2
  411. package/src/config/version.ts +1 -1
  412. package/src/hooks/useActionMessage.ts +33 -0
  413. package/src/hooks/useAddressActivity.ts +19 -11
  414. package/src/hooks/useAddressValidation.ts +9 -2
  415. package/src/hooks/useAvailableChains.ts +42 -14
  416. package/src/hooks/useExplorer.ts +1 -2
  417. package/src/hooks/useFilteredByTokenBalances.ts +3 -1
  418. package/src/hooks/useFromTokenSufficiency.ts +8 -5
  419. package/src/hooks/useGasRecommendation.ts +3 -0
  420. package/src/hooks/useGasSufficiency.ts +23 -13
  421. package/src/hooks/useHasChainExpansion.ts +13 -3
  422. package/src/hooks/useInitializeSDKProviders.ts +12 -0
  423. package/src/hooks/useIsBatchingSupported.ts +11 -5
  424. package/src/hooks/useIsContractAddress.ts +14 -10
  425. package/src/hooks/useNavigateBack.ts +11 -29
  426. package/src/hooks/useRouteExecution.ts +12 -16
  427. package/src/hooks/useRoutes.ts +26 -74
  428. package/src/hooks/useToAddressAutoPopulate.ts +3 -1
  429. package/src/hooks/useToAddressRequirements.ts +3 -2
  430. package/src/hooks/useTokenBalance.ts +18 -3
  431. package/src/hooks/useTokenBalances.ts +91 -5
  432. package/src/hooks/useTokenBalancesQueries.ts +4 -2
  433. package/src/hooks/useTokenSearch.ts +10 -3
  434. package/src/hooks/useTokens.ts +11 -6
  435. package/src/hooks/useTools.ts +3 -1
  436. package/src/hooks/useTransactionDetails.ts +3 -0
  437. package/src/hooks/useTransactionHistory.ts +3 -0
  438. package/src/hooks/useWidgetChains.ts +6 -0
  439. package/src/i18n/bn.json +4 -1
  440. package/src/i18n/de.json +4 -1
  441. package/src/i18n/en.json +3 -14
  442. package/src/i18n/es.json +4 -1
  443. package/src/i18n/fr.json +4 -1
  444. package/src/i18n/hi.json +4 -1
  445. package/src/i18n/id.json +4 -1
  446. package/src/i18n/it.json +4 -1
  447. package/src/i18n/ja.json +4 -1
  448. package/src/i18n/ko.json +4 -1
  449. package/src/i18n/pl.json +4 -1
  450. package/src/i18n/pt.json +4 -1
  451. package/src/i18n/th.json +4 -1
  452. package/src/i18n/tr.json +4 -1
  453. package/src/i18n/uk.json +4 -1
  454. package/src/i18n/vi.json +4 -1
  455. package/src/i18n/zh.json +4 -1
  456. package/src/index.ts +2 -8
  457. package/src/pages/LanguagesPage.tsx +2 -1
  458. package/src/pages/MainPage/MainPage.tsx +1 -3
  459. package/src/pages/MainPage/ReviewButton.tsx +5 -5
  460. package/src/pages/RoutesPage/RoutesPage.tsx +6 -6
  461. package/src/pages/SelectChainPage/SelectChainPage.tsx +1 -1
  462. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +4 -28
  463. package/src/pages/SendToWallet/BookmarksPage.tsx +3 -5
  464. package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +1 -1
  465. package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +5 -4
  466. package/src/pages/SendToWallet/RecentWalletsPage.tsx +4 -7
  467. package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +1 -1
  468. package/src/pages/SendToWallet/SendToWalletPage.tsx +6 -6
  469. package/src/pages/SettingsPage/BridgeAndExchangeSettings.tsx +4 -2
  470. package/src/pages/SettingsPage/LanguageSetting.tsx +2 -2
  471. package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +63 -33
  472. package/src/pages/SettingsPage/SettingsCard/SettingsAccordian.tsx +3 -2
  473. package/src/pages/SettingsPage/SettingsPage.tsx +7 -0
  474. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +10 -10
  475. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +5 -5
  476. package/src/pages/SettingsPage/SmallBalanceFilterSettings.tsx +116 -0
  477. package/src/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +7 -8
  478. package/src/pages/TransactionHistoryPage/TransactionHistoryItem.tsx +4 -3
  479. package/src/pages/TransactionHistoryPage/TransactionHistoryPage.tsx +1 -2
  480. package/src/pages/TransactionPage/StatusBottomSheet.tsx +15 -14
  481. package/src/pages/TransactionPage/TransactionPage.tsx +14 -7
  482. package/src/providers/I18nProvider/I18nProvider.tsx +1 -0
  483. package/src/providers/SDKClientProvider.tsx +41 -0
  484. package/src/providers/WalletProvider/WalletProvider.tsx +61 -20
  485. package/src/providers/WalletProvider/useExternalWalletProvider.ts +20 -18
  486. package/src/providers/WidgetProvider/WidgetProvider.tsx +0 -29
  487. package/src/stores/StoreProvider.tsx +10 -7
  488. package/src/stores/bookmarks/types.ts +2 -3
  489. package/src/stores/chains/ChainOrderStore.tsx +29 -16
  490. package/src/stores/chains/createChainOrderStore.ts +1 -5
  491. package/src/stores/form/FormStore.tsx +19 -18
  492. package/src/stores/form/FormUpdater.tsx +5 -73
  493. package/src/stores/form/URLSearchParamsBuilder.tsx +12 -39
  494. package/src/stores/form/getDefaultValuesFromQueryString.ts +48 -0
  495. package/src/stores/form/types.ts +2 -5
  496. package/src/stores/header/types.ts +5 -3
  497. package/src/stores/header/useHeaderStore.tsx +14 -0
  498. package/src/stores/pinnedTokens/PinnedTokensStore.tsx +38 -0
  499. package/src/stores/pinnedTokens/createPinnedTokensStore.ts +71 -0
  500. package/src/stores/pinnedTokens/types.ts +20 -0
  501. package/src/stores/routes/RouteExecutionStore.tsx +2 -5
  502. package/src/stores/routes/createRouteExecutionStore.ts +4 -5
  503. package/src/stores/routes/useExecutingRoutesIds.ts +2 -2
  504. package/src/stores/routes/utils.ts +21 -19
  505. package/src/stores/settings/SettingsStore.tsx +2 -3
  506. package/src/stores/settings/createSettingsStore.ts +2 -1
  507. package/src/stores/settings/types.ts +3 -5
  508. package/src/types/events.ts +2 -11
  509. package/src/types/token.ts +1 -0
  510. package/src/types/widget.ts +18 -26
  511. package/src/utils/chainType.ts +1 -24
  512. package/src/utils/converters.ts +14 -20
  513. package/src/utils/format.ts +3 -1
  514. package/src/utils/getActionMessage.ts +168 -0
  515. package/src/utils/getErrorMessage.ts +144 -0
  516. package/src/utils/prepareActions.ts +27 -0
  517. package/src/utils/tokenList.ts +117 -11
  518. package/dist/esm/AppRoutes.d.ts +0 -1
  519. package/dist/esm/AppRoutes.js +0 -111
  520. package/dist/esm/AppRoutes.js.map +0 -1
  521. package/dist/esm/components/Step/StepProcess.d.ts +0 -5
  522. package/dist/esm/components/Step/StepProcess.js.map +0 -1
  523. package/dist/esm/config/baseAccount.d.ts +0 -2
  524. package/dist/esm/config/baseAccount.js +0 -6
  525. package/dist/esm/config/baseAccount.js.map +0 -1
  526. package/dist/esm/config/coinbase.d.ts +0 -2
  527. package/dist/esm/config/coinbase.js +0 -6
  528. package/dist/esm/config/coinbase.js.map +0 -1
  529. package/dist/esm/config/metaMask.d.ts +0 -2
  530. package/dist/esm/config/metaMask.js +0 -11
  531. package/dist/esm/config/metaMask.js.map +0 -1
  532. package/dist/esm/config/walletConnect.d.ts +0 -2
  533. package/dist/esm/config/walletConnect.js +0 -4
  534. package/dist/esm/config/walletConnect.js.map +0 -1
  535. package/dist/esm/hooks/useExpansionRoutes.d.ts +0 -2
  536. package/dist/esm/hooks/useExpansionRoutes.js +0 -26
  537. package/dist/esm/hooks/useExpansionRoutes.js.map +0 -1
  538. package/dist/esm/hooks/useInternalWalletProvider.d.ts +0 -1
  539. package/dist/esm/hooks/useInternalWalletProvider.js +0 -6
  540. package/dist/esm/hooks/useInternalWalletProvider.js.map +0 -1
  541. package/dist/esm/hooks/useProcessMessage.d.ts +0 -11
  542. package/dist/esm/hooks/useProcessMessage.js +0 -199
  543. package/dist/esm/hooks/useProcessMessage.js.map +0 -1
  544. package/dist/esm/providers/WalletProvider/EVMBaseProvider.d.ts +0 -2
  545. package/dist/esm/providers/WalletProvider/EVMBaseProvider.js +0 -31
  546. package/dist/esm/providers/WalletProvider/EVMBaseProvider.js.map +0 -1
  547. package/dist/esm/providers/WalletProvider/EVMExternalContext.d.ts +0 -1
  548. package/dist/esm/providers/WalletProvider/EVMExternalContext.js +0 -3
  549. package/dist/esm/providers/WalletProvider/EVMExternalContext.js.map +0 -1
  550. package/dist/esm/providers/WalletProvider/EVMProvider.d.ts +0 -2
  551. package/dist/esm/providers/WalletProvider/EVMProvider.js +0 -20
  552. package/dist/esm/providers/WalletProvider/EVMProvider.js.map +0 -1
  553. package/dist/esm/providers/WalletProvider/SDKProviders.d.ts +0 -1
  554. package/dist/esm/providers/WalletProvider/SDKProviders.js +0 -62
  555. package/dist/esm/providers/WalletProvider/SDKProviders.js.map +0 -1
  556. package/dist/esm/providers/WalletProvider/SVMBaseProvider.d.ts +0 -2
  557. package/dist/esm/providers/WalletProvider/SVMBaseProvider.js +0 -27
  558. package/dist/esm/providers/WalletProvider/SVMBaseProvider.js.map +0 -1
  559. package/dist/esm/providers/WalletProvider/SVMExternalContext.d.ts +0 -1
  560. package/dist/esm/providers/WalletProvider/SVMExternalContext.js +0 -3
  561. package/dist/esm/providers/WalletProvider/SVMExternalContext.js.map +0 -1
  562. package/dist/esm/providers/WalletProvider/SVMProvider.d.ts +0 -2
  563. package/dist/esm/providers/WalletProvider/SVMProvider.js +0 -20
  564. package/dist/esm/providers/WalletProvider/SVMProvider.js.map +0 -1
  565. package/dist/esm/providers/WalletProvider/SuiBaseProvider.d.ts +0 -2
  566. package/dist/esm/providers/WalletProvider/SuiBaseProvider.js +0 -17
  567. package/dist/esm/providers/WalletProvider/SuiBaseProvider.js.map +0 -1
  568. package/dist/esm/providers/WalletProvider/SuiExternalContext.d.ts +0 -1
  569. package/dist/esm/providers/WalletProvider/SuiExternalContext.js +0 -3
  570. package/dist/esm/providers/WalletProvider/SuiExternalContext.js.map +0 -1
  571. package/dist/esm/providers/WalletProvider/SuiProvider.d.ts +0 -2
  572. package/dist/esm/providers/WalletProvider/SuiProvider.js +0 -20
  573. package/dist/esm/providers/WalletProvider/SuiProvider.js.map +0 -1
  574. package/dist/esm/providers/WalletProvider/UTXOBaseProvider.d.ts +0 -2
  575. package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js +0 -18
  576. package/dist/esm/providers/WalletProvider/UTXOBaseProvider.js.map +0 -1
  577. package/dist/esm/providers/WalletProvider/UTXOExternalContext.d.ts +0 -1
  578. package/dist/esm/providers/WalletProvider/UTXOExternalContext.js +0 -3
  579. package/dist/esm/providers/WalletProvider/UTXOExternalContext.js.map +0 -1
  580. package/dist/esm/providers/WalletProvider/UTXOProvider.d.ts +0 -2
  581. package/dist/esm/providers/WalletProvider/UTXOProvider.js +0 -20
  582. package/dist/esm/providers/WalletProvider/UTXOProvider.js.map +0 -1
  583. package/src/AppRoutes.tsx +0 -112
  584. package/src/config/baseAccount.ts +0 -7
  585. package/src/config/coinbase.ts +0 -7
  586. package/src/config/metaMask.ts +0 -13
  587. package/src/config/walletConnect.ts +0 -5
  588. package/src/hooks/useExpansionRoutes.ts +0 -29
  589. package/src/hooks/useInternalWalletProvider.ts +0 -6
  590. package/src/hooks/useProcessMessage.ts +0 -273
  591. package/src/providers/WalletProvider/EVMBaseProvider.tsx +0 -41
  592. package/src/providers/WalletProvider/EVMExternalContext.ts +0 -3
  593. package/src/providers/WalletProvider/EVMProvider.tsx +0 -28
  594. package/src/providers/WalletProvider/SDKProviders.tsx +0 -86
  595. package/src/providers/WalletProvider/SVMBaseProvider.tsx +0 -37
  596. package/src/providers/WalletProvider/SVMExternalContext.ts +0 -3
  597. package/src/providers/WalletProvider/SVMProvider.tsx +0 -29
  598. package/src/providers/WalletProvider/SuiBaseProvider.tsx +0 -31
  599. package/src/providers/WalletProvider/SuiExternalContext.ts +0 -3
  600. package/src/providers/WalletProvider/SuiProvider.tsx +0 -28
  601. package/src/providers/WalletProvider/UTXOBaseProvider.tsx +0 -29
  602. package/src/providers/WalletProvider/UTXOExternalContext.ts +0 -3
  603. package/src/providers/WalletProvider/UTXOProvider.tsx +0 -28
@@ -1,19 +1,29 @@
1
+ import { useLocation } from '@tanstack/react-router'
1
2
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
2
3
  import { ExpansionType, HiddenUI } from '../types/widget.js'
3
- import { useExpansionRoutes } from './useExpansionRoutes.js'
4
+ import { navigationRoutes } from '../utils/navigationRoutes.js'
4
5
  import { useSwapOnly } from './useSwapOnly.js'
5
6
 
6
7
  export const useHasChainExpansion = () => {
7
8
  const { hiddenUI, subvariantOptions } = useWidgetConfig()
8
9
  const swapOnly = useSwapOnly()
9
- const expansionType = useExpansionRoutes()
10
+ const { pathname } = useLocation()
11
+
12
+ const expansionType =
13
+ pathname === navigationRoutes.home
14
+ ? ExpansionType.Routes
15
+ : pathname.endsWith(navigationRoutes.fromToken)
16
+ ? ExpansionType.FromChain
17
+ : pathname.endsWith(navigationRoutes.toToken)
18
+ ? ExpansionType.ToChain
19
+ : null
10
20
 
11
21
  const withChainExpansion =
12
22
  (expansionType === ExpansionType.FromChain ||
13
23
  expansionType === ExpansionType.ToChain) &&
14
24
  !(swapOnly && expansionType === ExpansionType.ToChain) &&
15
25
  !hiddenUI?.includes(HiddenUI.ChainSelect) &&
16
- !!subvariantOptions?.wide?.enableChainSidebar
26
+ !subvariantOptions?.wide?.disableChainSidebar
17
27
 
18
28
  return [withChainExpansion, expansionType] as const
19
29
  }
@@ -0,0 +1,12 @@
1
+ import { useSDKProviders } from '@lifi/widget-provider'
2
+ import { useEffect } from 'react'
3
+ import { useSDKClient } from '../providers/SDKClientProvider'
4
+
5
+ export const useInitializeSDKProviders = () => {
6
+ const sdkProviders = useSDKProviders()
7
+ const sdkClient = useSDKClient()
8
+
9
+ useEffect(() => {
10
+ sdkClient.setProviders(sdkProviders)
11
+ }, [sdkClient, sdkProviders])
12
+ }
@@ -1,6 +1,8 @@
1
1
  import type { ExtendedChain } from '@lifi/sdk'
2
- import { ChainType, isBatchingSupported } from '@lifi/sdk'
2
+ import { ChainType } from '@lifi/sdk'
3
+ import { useEthereumContext } from '@lifi/widget-provider'
3
4
  import { useQuery } from '@tanstack/react-query'
5
+ import { useSDKClient } from '../providers/SDKClientProvider.js'
4
6
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
5
7
  import { getQueryKey } from '../utils/queries.js'
6
8
 
@@ -9,6 +11,8 @@ export function useIsBatchingSupported(
9
11
  address?: string
10
12
  ) {
11
13
  const { keyPrefix } = useWidgetConfig()
14
+ const sdkClient = useSDKClient()
15
+ const { isBatchingSupported } = useEthereumContext()
12
16
 
13
17
  const enabled = Boolean(
14
18
  chain && chain.chainType === ChainType.EVM && !!address
@@ -20,10 +24,12 @@ export function useIsBatchingSupported(
20
24
  address,
21
25
  ],
22
26
  queryFn: () => {
23
- return isBatchingSupported({
24
- chainId: chain!.id,
25
- skipReady: true,
26
- })
27
+ return (
28
+ isBatchingSupported?.(sdkClient, {
29
+ chainId: chain!.id,
30
+ skipReady: true,
31
+ }) ?? false
32
+ )
27
33
  },
28
34
  enabled,
29
35
  staleTime: 3_600_000,
@@ -1,6 +1,6 @@
1
1
  import { ChainType } from '@lifi/sdk'
2
- import type { Address } from 'viem'
3
- import { useBytecode } from 'wagmi'
2
+ import { useEthereumContext } from '@lifi/widget-provider'
3
+ import { useQuery } from '@tanstack/react-query'
4
4
 
5
5
  export const useIsContractAddress = (
6
6
  address?: string,
@@ -12,23 +12,27 @@ export const useIsContractAddress = (
12
12
  isLoading: boolean
13
13
  isFetched: boolean
14
14
  } => {
15
+ const { getBytecode } = useEthereumContext()
16
+
15
17
  const {
16
18
  data: contractCode,
17
19
  isLoading,
18
20
  isFetched,
19
- } = useBytecode({
20
- address: address as Address,
21
- chainId: chainId,
22
- query: {
23
- refetchInterval: 300_000,
24
- staleTime: 300_000,
25
- enabled: chainType === ChainType.EVM && !!chainId && !!address,
21
+ } = useQuery({
22
+ queryKey: ['getBytecode', address, chainId],
23
+ queryFn: async () => {
24
+ const code = await getBytecode?.(chainId!, address!)
25
+ return code ?? null
26
26
  },
27
+ refetchInterval: 300_000,
28
+ staleTime: 300_000,
29
+ enabled:
30
+ chainType === ChainType.EVM && !!chainId && !!address && !!getBytecode,
27
31
  })
28
32
 
29
33
  return {
30
34
  isContractAddress: !!contractCode,
31
- contractCode,
35
+ contractCode: contractCode ?? undefined,
32
36
  isLoading,
33
37
  isFetched,
34
38
  }
@@ -1,35 +1,17 @@
1
+ import { useRouter } from '@tanstack/react-router'
1
2
  import { useCallback } from 'react'
2
- import { useNavigate } from 'react-router-dom'
3
+ import { navigationRoutes } from '../utils/navigationRoutes'
3
4
 
4
5
  export const useNavigateBack = () => {
5
- const navigate = useNavigate()
6
+ const router = useRouter()
6
7
 
7
- const navigateBack = useCallback(
8
- (toPathname?: string) => {
9
- // TODO: find a better router with nested memory routers support
10
- // https://github.com/remix-run/react-router/pull/9112
11
- // https://github.com/remix-run/react-router/discussions/9601
12
- //
13
- // if (window.history.length > 2) {
14
- // navigate(-1)
15
- // } else {
16
- // navigate(
17
- // window.location.pathname.substring(
18
- // 0,
19
- // window.location.pathname.lastIndexOf('/'),
20
- // ) || '/',
21
- // { replace: true },
22
- // );
23
- // }
8
+ const navigateBack = useCallback(() => {
9
+ if (router.history.length > 1) {
10
+ router.history.go(-1)
11
+ } else {
12
+ router.navigate({ to: navigationRoutes.home, replace: true })
13
+ }
14
+ }, [router])
24
15
 
25
- if (toPathname) {
26
- navigate(toPathname)
27
- } else {
28
- navigate(-1)
29
- }
30
- },
31
- [navigate]
32
- )
33
-
34
- return { navigateBack, navigate }
16
+ return navigateBack
35
17
  }
@@ -3,13 +3,14 @@ import { executeRoute, resumeRoute, updateRouteExecution } from '@lifi/sdk'
3
3
  import { useAccount } from '@lifi/wallet-management'
4
4
  import { useMutation, useQueryClient } from '@tanstack/react-query'
5
5
  import { useCallback, useEffect, useRef } from 'react'
6
+ import { useSDKClient } from '../providers/SDKClientProvider.js'
6
7
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
7
8
  import {
8
9
  useRouteExecutionStore,
9
10
  useRouteExecutionStoreContext,
10
11
  } from '../stores/routes/RouteExecutionStore.js'
11
12
  import {
12
- getUpdatedProcess,
13
+ getUpdatedAction,
13
14
  isRouteActive,
14
15
  isRouteDone,
15
16
  isRouteFailed,
@@ -35,8 +36,8 @@ export const useRouteExecution = ({
35
36
  const queryClient = useQueryClient()
36
37
  const { account } = useAccount()
37
38
  const resumedAfterMount = useRef(false)
38
- const { keyPrefix, sdkConfig, subvariant, subvariantOptions } =
39
- useWidgetConfig()
39
+ const { keyPrefix } = useWidgetConfig()
40
+ const sdkClient = useSDKClient()
40
41
  const emitter = useWidgetEvents()
41
42
  const routeExecutionStoreContext = useRouteExecutionStoreContext()
42
43
  const routeExecution = useRouteExecutionStore(
@@ -55,11 +56,11 @@ export const useRouteExecution = ({
55
56
  }
56
57
  const clonedUpdatedRoute = structuredClone(updatedRoute)
57
58
  updateRoute(clonedUpdatedRoute)
58
- const process = getUpdatedProcess(routeExecution.route, clonedUpdatedRoute)
59
- if (process) {
59
+ const action = getUpdatedAction(routeExecution.route, clonedUpdatedRoute)
60
+ if (action) {
60
61
  emitter.emit(WidgetEvent.RouteExecutionUpdated, {
61
62
  route: clonedUpdatedRoute,
62
- process,
63
+ action,
63
64
  })
64
65
  }
65
66
  const executionCompleted = isRouteDone(clonedUpdatedRoute)
@@ -67,10 +68,10 @@ export const useRouteExecution = ({
67
68
  if (executionCompleted) {
68
69
  emitter.emit(WidgetEvent.RouteExecutionCompleted, clonedUpdatedRoute)
69
70
  }
70
- if (executionFailed && process) {
71
+ if (executionFailed && action) {
71
72
  emitter.emit(WidgetEvent.RouteExecutionFailed, {
72
73
  route: clonedUpdatedRoute,
73
- process,
74
+ action,
74
75
  })
75
76
  }
76
77
  if (executionCompleted || executionFailed) {
@@ -128,14 +129,12 @@ export const useRouteExecution = ({
128
129
  queryKey: [getQueryKey('routes', keyPrefix)],
129
130
  exact: false,
130
131
  })
131
- return executeRoute(routeExecution.route, {
132
+ return executeRoute(sdkClient, routeExecution.route, {
132
133
  updateRouteHook,
133
134
  acceptExchangeRateUpdateHook,
134
135
  infiniteApproval: false,
135
136
  executeInBackground,
136
- adjustZeroOutputFromPreviousStep:
137
- subvariant === 'custom' && subvariantOptions?.custom === 'fund',
138
- ...sdkConfig?.executionOptions,
137
+ ...sdkClient.config?.executionOptions,
139
138
  })
140
139
  },
141
140
  onMutate: () => {
@@ -155,14 +154,11 @@ export const useRouteExecution = ({
155
154
  if (!routeExecution?.route) {
156
155
  throw new Error('Execution route not found.')
157
156
  }
158
- return resumeRoute(resumedRoute ?? routeExecution.route, {
157
+ return resumeRoute(sdkClient, resumedRoute ?? routeExecution.route, {
159
158
  updateRouteHook,
160
159
  acceptExchangeRateUpdateHook,
161
160
  infiniteApproval: false,
162
161
  executeInBackground,
163
- adjustZeroOutputFromPreviousStep:
164
- subvariant === 'custom' && subvariantOptions?.custom === 'fund',
165
- ...sdkConfig?.executionOptions,
166
162
  })
167
163
  },
168
164
  onMutate: () => {
@@ -5,15 +5,17 @@ import {
5
5
  getContractCallsQuote,
6
6
  getRelayerQuote,
7
7
  getRoutes,
8
- isGaslessStep,
9
8
  LiFiErrorCode,
10
- PatcherMagicNumber,
11
- patchContractCalls,
9
+ parseUnits,
12
10
  } from '@lifi/sdk'
13
11
  import { useAccount } from '@lifi/wallet-management'
12
+ import {
13
+ useChainTypeFromAddress,
14
+ useEthereumContext,
15
+ } from '@lifi/widget-provider'
14
16
  import { useQuery, useQueryClient } from '@tanstack/react-query'
15
17
  import { useCallback, useMemo } from 'react'
16
- import { parseUnits } from 'viem'
18
+ import { useSDKClient } from '../providers/SDKClientProvider.js'
17
19
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
18
20
  import { useFieldValues } from '../stores/form/useFieldValues.js'
19
21
  import { useIntermediateRoutesStore } from '../stores/routes/useIntermediateRoutesStore.js'
@@ -22,7 +24,6 @@ import { defaultSlippage } from '../stores/settings/createSettingsStore.js'
22
24
  import { useSettings } from '../stores/settings/useSettings.js'
23
25
  import { WidgetEvent } from '../types/events.js'
24
26
  import type { TokensByChain } from '../types/token.js'
25
- import { getChainTypeFromAddress } from '../utils/chainType.js'
26
27
  import { getQueryKey } from '../utils/queries.js'
27
28
  import { updateTokenInCache } from '../utils/token.js'
28
29
  import { useChain } from './useChain.js'
@@ -43,7 +44,6 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
43
44
  const {
44
45
  subvariant,
45
46
  subvariantOptions,
46
- sdkConfig,
47
47
  contractTool,
48
48
  bridges,
49
49
  exchanges,
@@ -52,6 +52,7 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
52
52
  useRelayerRoutes,
53
53
  keyPrefix,
54
54
  } = useWidgetConfig()
55
+ const sdkClient = useSDKClient()
55
56
  const setExecutableRoute = useSetExecutableRoute()
56
57
  const queryClient = useQueryClient()
57
58
  const emitter = useWidgetEvents()
@@ -97,7 +98,8 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
97
98
  const { chain: toChain } = useChain(toChainId)
98
99
  const { enabled: enabledRefuel, fromAmount: gasRecommendationFromAmount } =
99
100
  useGasRefuel()
100
-
101
+ const { getChainTypeFromAddress } = useChainTypeFromAddress()
102
+ const { isGaslessStep, disableMessageSigning } = useEthereumContext()
101
103
  const { account } = useAccount({ chainType: fromChain?.chainType })
102
104
  const { isBatchingSupported, isBatchingSupportedLoading } =
103
105
  useIsBatchingSupported(fromChain, account.address)
@@ -105,7 +107,7 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
105
107
  const hasAmount = Number(fromTokenAmount) > 0 || Number(toTokenAmount) > 0
106
108
 
107
109
  const contractCallQuoteEnabled: boolean =
108
- subvariant === 'custom' ? Boolean(account.address) : true
110
+ subvariant === 'custom' ? Boolean(contractCalls && account.address) : true
109
111
 
110
112
  // When we bridge between ecosystems we need to be sure toAddress is set and has the same chainType as toChain
111
113
  // If toAddress is set, it must have the same chainType as toChain
@@ -128,9 +130,7 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
128
130
  exchanges?.allow?.length || exchanges?.deny?.length
129
131
  ? enabledExchanges
130
132
  : undefined
131
- const allowSwitchChain = sdkConfig?.routeOptions?.allowSwitchChain
132
- const disableMessageSigning =
133
- sdkConfig?.executionOptions?.disableMessageSigning
133
+ const allowSwitchChain = sdkClient.config?.routeOptions?.allowSwitchChain
134
134
 
135
135
  const isEnabled =
136
136
  Boolean(Number(fromChain?.id)) &&
@@ -282,59 +282,18 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
282
282
  slippage: formattedSlippage,
283
283
  })
284
284
 
285
- const contractCallsResult =
286
- await sdkConfig?.executionOptions?.getContractCalls?.({
287
- fromChainId,
288
- toChainId,
289
- fromTokenAddress,
290
- toTokenAddress,
291
- fromAddress: fromAddress!,
292
- toAddress,
293
- fromAmount,
294
- toAmount,
295
- slippage: formattedSlippage,
296
- })
297
-
298
- const _contractCalls = contractCalls?.length
299
- ? contractCalls
300
- : contractCallsResult?.contractCalls
301
-
302
- if (_contractCalls?.length) {
303
- if (contractCallsResult?.patcher) {
304
- const patchedContractCalls = await patchContractCalls(
305
- _contractCalls.map((call) => ({
306
- chainId: toChainId,
307
- fromTokenAddress: call.fromTokenAddress,
308
- targetContractAddress: call.toContractAddress,
309
- callDataToPatch: call.toContractCallData,
310
- delegateCall: false,
311
- patches: [
312
- {
313
- amountToReplace: PatcherMagicNumber.toString(),
314
- },
315
- ],
316
- })),
317
- { signal }
318
- )
319
-
320
- _contractCalls.forEach((call, index) => {
321
- call.toContractAddress = patchedContractCalls[index].target
322
- call.toContractCallData = patchedContractCalls[index].callData
323
- })
324
- }
325
-
285
+ if (subvariant === 'custom' && contractCalls && toAmount) {
326
286
  const contractCallQuote = await getContractCallsQuote(
287
+ sdkClient,
327
288
  {
328
289
  // Contract calls are enabled only when fromAddress is set
329
290
  fromAddress: fromAddress as string,
330
291
  fromChain: fromChainId,
331
292
  fromToken: fromTokenAddress,
332
- ...(toAmount
333
- ? { toAmount: toAmount.toString() }
334
- : { fromAmount: fromAmount.toString() }),
293
+ toAmount: toAmount.toString(),
335
294
  toChain: toChainId,
336
295
  toToken: toTokenAddress,
337
- contractCalls: _contractCalls,
296
+ contractCalls,
338
297
  denyBridges: disabledBridges.length ? disabledBridges : undefined,
339
298
  denyExchanges: disabledExchanges.length
340
299
  ? disabledExchanges
@@ -357,42 +316,33 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
357
316
  )
358
317
  : undefined
359
318
 
360
- const _contractTool =
361
- contractCallsResult?.contractTool || contractTool
362
- if (customStep && _contractTool) {
319
+ if (customStep && contractTool) {
363
320
  const toolDetails = {
364
- key: _contractTool.name,
365
- name: _contractTool.name,
366
- logoURI: _contractTool.logoURI,
321
+ key: contractTool.name,
322
+ name: contractTool.name,
323
+ logoURI: contractTool.logoURI,
367
324
  }
368
325
  customStep.toolDetails = toolDetails
369
326
  contractCallQuote.toolDetails = toolDetails
370
327
  }
371
328
 
372
- const route: Route = convertQuoteToRoute(contractCallQuote, {
373
- adjustZeroOutputFromPreviousStep:
374
- subvariant === 'custom' && subvariantOptions?.custom === 'fund',
375
- })
329
+ const route: Route = convertQuoteToRoute(contractCallQuote)
376
330
 
377
331
  return [route]
378
332
  }
379
333
 
380
334
  // Prevent sending a request for the same chain token combinations.
381
- // Exception: proceed anyway if subvariant is custom and subvariantOptions is deposit or fund
335
+ // Exception: proceed anyway if subvariant is custom and subvariantOptions is deposit
382
336
  if (
383
337
  fromChainId === toChainId &&
384
338
  fromTokenAddress === toTokenAddress &&
385
- !(
386
- subvariant === 'custom' &&
387
- (subvariantOptions?.custom === 'deposit' ||
388
- subvariantOptions?.custom === 'fund')
389
- )
339
+ !(subvariant === 'custom' && subvariantOptions?.custom === 'deposit')
390
340
  ) {
391
341
  return
392
342
  }
393
343
 
394
- const isObservableRelayerRoute = observableRoute?.steps?.some((step) =>
395
- isGaslessStep(step, fromChain)
344
+ const isObservableRelayerRoute = observableRoute?.steps?.some(
345
+ (step) => !!isGaslessStep?.(step, fromChain)
396
346
  )
397
347
 
398
348
  const shouldUseMainRoutes =
@@ -410,6 +360,7 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
410
360
 
411
361
  const mainRoutesPromise = shouldUseMainRoutes
412
362
  ? getRoutes(
363
+ sdkClient,
413
364
  {
414
365
  fromAddress,
415
366
  fromAmount: fromAmount.toString(),
@@ -455,6 +406,7 @@ export const useRoutes = ({ observableRoute }: RoutesProps = {}) => {
455
406
 
456
407
  const relayerQuotePromise = shouldUseRelayerQuote
457
408
  ? getRelayerQuote(
409
+ sdkClient,
458
410
  {
459
411
  fromAddress,
460
412
  fromAmount: fromAmount.toString(),
@@ -1,10 +1,10 @@
1
1
  import { useAccount } from '@lifi/wallet-management'
2
+ import { useChainTypeFromAddress } from '@lifi/widget-provider'
2
3
  import { useCallback } from 'react'
3
4
  import { useBookmarkActions } from '../stores/bookmarks/useBookmarkActions.js'
4
5
  import type { FormType } from '../stores/form/types.js'
5
6
  import { useFieldActions } from '../stores/form/useFieldActions.js'
6
7
  import { useSendToWalletActions } from '../stores/settings/useSendToWalletStore.js'
7
- import { getChainTypeFromAddress } from '../utils/chainType.js'
8
8
  import { useAvailableChains } from './useAvailableChains.js'
9
9
 
10
10
  type UpdateToAddressArgs = {
@@ -24,6 +24,7 @@ export const useToAddressAutoPopulate = () => {
24
24
  const { setSelectedBookmark } = useBookmarkActions()
25
25
  const { getChainById } = useAvailableChains()
26
26
  const { accounts } = useAccount()
27
+ const { getChainTypeFromAddress } = useChainTypeFromAddress()
27
28
 
28
29
  return useCallback(
29
30
  ({
@@ -90,6 +91,7 @@ export const useToAddressAutoPopulate = () => {
90
91
  setFieldValue,
91
92
  setSelectedBookmark,
92
93
  setSendToWallet,
94
+ getChainTypeFromAddress,
93
95
  ]
94
96
  )
95
97
  }
@@ -1,6 +1,6 @@
1
1
  import type { RouteExtended } from '@lifi/sdk'
2
- import { isDelegationDesignatorCode } from '@lifi/sdk'
3
2
  import { useAccount } from '@lifi/wallet-management'
3
+ import { useEthereumContext } from '@lifi/widget-provider'
4
4
  import { useChain } from '../hooks/useChain.js'
5
5
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
6
6
  import { useFieldValues } from '../stores/form/useFieldValues.js'
@@ -14,6 +14,7 @@ export const useToAddressRequirements = (route?: RouteExtended) => {
14
14
  'toChain',
15
15
  'toAddress'
16
16
  )
17
+ const { isDelegationDesignatorCode } = useEthereumContext()
17
18
 
18
19
  const fromChainId = route?.fromChainId ?? formFromChainId
19
20
  const toChainId = route?.toChainId ?? formToChainId
@@ -49,7 +50,7 @@ export const useToAddressRequirements = (route?: RouteExtended) => {
49
50
  // We don't want to block transfers for EIP-7702 accounts since they are designed
50
51
  // to maintain EOA-like properties while delegating execution.
51
52
  const fromContractCodeHasDelegationIndicator =
52
- isDelegationDesignatorCode(fromContractCode)
53
+ isDelegationDesignatorCode?.(fromContractCode)
53
54
 
54
55
  const isCrossChainContractAddress =
55
56
  isFromContractAddress &&
@@ -1,6 +1,12 @@
1
- import { getTokenBalances, type Token, type TokenAmount } from '@lifi/sdk'
1
+ import {
2
+ getTokenBalances,
3
+ type SDKClient,
4
+ type Token,
5
+ type TokenAmount,
6
+ } from '@lifi/sdk'
2
7
  import { useQuery, useQueryClient } from '@tanstack/react-query'
3
8
  import { useCallback, useMemo } from 'react'
9
+ import { useSDKClient } from '../providers/SDKClientProvider.js'
4
10
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'
5
11
  import { getQueryKey } from '../utils/queries.js'
6
12
 
@@ -9,6 +15,7 @@ const defaultRefetchInterval = 30_000
9
15
  export const useTokenBalance = (accountAddress?: string, token?: Token) => {
10
16
  const queryClient = useQueryClient()
11
17
  const { keyPrefix } = useWidgetConfig()
18
+ const sdkClient = useSDKClient()
12
19
 
13
20
  const tokenBalanceQueryKey = useMemo(
14
21
  () =>
@@ -27,6 +34,7 @@ export const useTokenBalance = (accountAddress?: string, token?: Token) => {
27
34
  queryKey: [, accountAddress, tokenChainId, tokenAddress],
28
35
  }) => {
29
36
  const tokenBalances = await getTokenBalancesWithRetry(
37
+ sdkClient,
30
38
  accountAddress as string,
31
39
  [token!]
32
40
  )
@@ -98,12 +106,14 @@ export const useTokenBalance = (accountAddress?: string, token?: Token) => {
98
106
  }
99
107
 
100
108
  export const getTokenBalancesWithRetry = async (
109
+ sdkClient: SDKClient,
101
110
  accountAddress: string,
102
111
  tokens: Token[],
103
112
  depth = 0
104
113
  ): Promise<TokenAmount[] | undefined> => {
105
114
  try {
106
115
  const tokenBalances = await getTokenBalances(
116
+ sdkClient,
107
117
  accountAddress as string,
108
118
  tokens
109
119
  )
@@ -115,10 +125,15 @@ export const getTokenBalancesWithRetry = async (
115
125
  await new Promise((resolve) => {
116
126
  setTimeout(resolve, 1.5 ** depth * 100)
117
127
  })
118
- return getTokenBalancesWithRetry(accountAddress, tokens, depth + 1)
128
+ return getTokenBalancesWithRetry(
129
+ sdkClient,
130
+ accountAddress,
131
+ tokens,
132
+ depth + 1
133
+ )
119
134
  }
120
135
  return tokenBalances
121
136
  } catch (_error) {
122
- //
137
+ console.warn(_error)
123
138
  }
124
139
  }