@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
@@ -0,0 +1,41 @@
1
+ import { createClient, type SDKClient } from '@lifi/sdk'
2
+ import {
3
+ createContext,
4
+ type PropsWithChildren,
5
+ useContext,
6
+ useMemo,
7
+ } from 'react'
8
+ import { version } from '../config/version.js'
9
+ import { useWidgetConfig } from './WidgetProvider/WidgetProvider.js'
10
+
11
+ const SDKClientContext = createContext<SDKClient>({} as SDKClient)
12
+
13
+ export const useSDKClient = () => useContext(SDKClientContext)
14
+
15
+ export const SDKClientProvider = ({ children }: PropsWithChildren) => {
16
+ const widgetConfig = useWidgetConfig()
17
+
18
+ const client: SDKClient = useMemo(() => {
19
+ return createClient({
20
+ ...widgetConfig.sdkConfig,
21
+ apiKey: widgetConfig.apiKey,
22
+ integrator: widgetConfig.integrator ?? window?.location.hostname,
23
+ routeOptions: {
24
+ fee: widgetConfig.feeConfig?.fee || widgetConfig.fee,
25
+ referrer: widgetConfig.referrer,
26
+ order: widgetConfig.routePriority,
27
+ slippage: widgetConfig.slippage,
28
+ ...widgetConfig.sdkConfig?.routeOptions,
29
+ },
30
+ disableVersionCheck: true,
31
+ widgetVersion: version,
32
+ // debug: true,
33
+ })
34
+ }, [widgetConfig])
35
+
36
+ return (
37
+ <SDKClientContext.Provider value={client}>
38
+ {children}
39
+ </SDKClientContext.Provider>
40
+ )
41
+ }
@@ -1,27 +1,61 @@
1
1
  import type { WalletManagementConfig } from '@lifi/wallet-management'
2
2
  import { WalletManagementProvider } from '@lifi/wallet-management'
3
- import { type FC, type PropsWithChildren, useMemo } from 'react'
3
+ import type { WidgetProviderProps } from '@lifi/widget-provider'
4
+ import {
5
+ type FC,
6
+ type PropsWithChildren,
7
+ type ReactNode,
8
+ useMemo,
9
+ useRef,
10
+ } from 'react'
4
11
  import { useTranslation } from 'react-i18next'
12
+ import { useAvailableChains } from '../../hooks/useAvailableChains.js'
13
+ import { useInitializeSDKProviders } from '../../hooks/useInitializeSDKProviders.js'
5
14
  import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
6
- import { EVMProvider } from './EVMProvider.js'
7
- import { SDKProviders } from './SDKProviders.js'
8
- import { SuiProvider } from './SuiProvider.js'
9
- import { SVMProvider } from './SVMProvider.js'
10
- import { UTXOProvider } from './UTXOProvider.js'
11
15
  import { useExternalWalletProvider } from './useExternalWalletProvider.js'
12
16
 
13
- export const WalletProvider: FC<PropsWithChildren> = ({ children }) => {
14
- return (
15
- <EVMProvider>
16
- <SVMProvider>
17
- <UTXOProvider>
18
- <SuiProvider>
19
- <SDKProviders />
20
- <WalletMenuProvider>{children}</WalletMenuProvider>
21
- </SuiProvider>
22
- </UTXOProvider>
23
- </SVMProvider>
24
- </EVMProvider>
17
+ interface WalletProviderProps extends PropsWithChildren {
18
+ providers: ((props: PropsWithChildren<WidgetProviderProps>) => ReactNode)[]
19
+ }
20
+
21
+ export const WalletProvider = ({
22
+ children,
23
+ providers,
24
+ }: PropsWithChildren<WalletProviderProps>) => {
25
+ const { walletConfig } = useWidgetConfig()
26
+ const { chains } = useAvailableChains()
27
+
28
+ const prevProvidersRef = useRef(providers)
29
+
30
+ // Memoize providers to maintain referential stability and prevent remounts
31
+ const memoizedProviders = useMemo(() => {
32
+ if (
33
+ prevProvidersRef.current.length === providers.length &&
34
+ prevProvidersRef.current.every(
35
+ (provider, index) => provider === providers[index]
36
+ )
37
+ ) {
38
+ return prevProvidersRef.current
39
+ }
40
+ prevProvidersRef.current = providers
41
+ return providers
42
+ }, [providers])
43
+
44
+ const baseContent = <WalletMenuProvider>{children}</WalletMenuProvider>
45
+
46
+ return memoizedProviders.reduceRight(
47
+ (acc, ProviderComponent) => (
48
+ <ProviderComponent
49
+ key={ProviderComponent.name}
50
+ forceInternalWalletManagement={
51
+ walletConfig?.forceInternalWalletManagement
52
+ }
53
+ chains={chains ?? []}
54
+ >
55
+ {acc}
56
+ </ProviderComponent>
57
+ ),
58
+ baseContent
25
59
  )
26
60
  }
27
61
 
@@ -30,13 +64,20 @@ const WalletMenuProvider: FC<PropsWithChildren> = ({ children }) => {
30
64
  const { i18n } = useTranslation()
31
65
  const { internalChainTypes } = useExternalWalletProvider()
32
66
 
67
+ // Initialize SDK client with providers wrapping the wallet menu provider
68
+ useInitializeSDKProviders()
69
+
33
70
  const config: WalletManagementConfig = useMemo(() => {
34
71
  return {
35
72
  locale: i18n.resolvedLanguage as never,
36
73
  enabledChainTypes: internalChainTypes,
37
- ...walletConfig,
74
+ walletEcosystemsOrder: walletConfig?.walletEcosystemsOrder,
38
75
  }
39
- }, [i18n.resolvedLanguage, internalChainTypes, walletConfig])
76
+ }, [
77
+ i18n.resolvedLanguage,
78
+ internalChainTypes,
79
+ walletConfig?.walletEcosystemsOrder,
80
+ ])
40
81
 
41
82
  return (
42
83
  <WalletManagementProvider config={config}>
@@ -1,10 +1,12 @@
1
1
  import { ChainType } from '@lifi/sdk'
2
- import { useContext, useMemo } from 'react'
2
+ import {
3
+ useBitcoinContext,
4
+ useEthereumContext,
5
+ useSolanaContext,
6
+ useSuiContext,
7
+ } from '@lifi/widget-provider'
8
+ import { useMemo } from 'react'
3
9
  import { useWidgetConfig } from '../WidgetProvider/WidgetProvider.js'
4
- import { EVMExternalContext } from './EVMExternalContext.js'
5
- import { SuiExternalContext } from './SuiExternalContext.js'
6
- import { SVMExternalContext } from './SVMExternalContext.js'
7
- import { UTXOExternalContext } from './UTXOExternalContext.js'
8
10
 
9
11
  interface ExternalWalletProvider {
10
12
  useExternalWalletProvidersOnly: boolean
@@ -21,28 +23,28 @@ const internalChainTypes = [
21
23
 
22
24
  export function useExternalWalletProvider(): ExternalWalletProvider {
23
25
  const { walletConfig } = useWidgetConfig()
24
- const hasExternalEVMContext = useContext(EVMExternalContext)
25
- const hasExternalSVMContext = useContext(SVMExternalContext)
26
- const hasExternalUTXOContext = useContext(UTXOExternalContext)
27
- const hasExternalSuiContext = useContext(SuiExternalContext)
26
+ const { isExternalContext: hasExternalEthereumContext } = useEthereumContext()
27
+ const { isExternalContext: hasExternalSolanaContext } = useSolanaContext()
28
+ const { isExternalContext: hasExternalBitcoinContext } = useBitcoinContext()
29
+ const { isExternalContext: hasExternalSuiContext } = useSuiContext()
28
30
  const data = useMemo(() => {
29
31
  const providers: ChainType[] = []
30
- if (hasExternalEVMContext) {
32
+ if (hasExternalEthereumContext) {
31
33
  providers.push(ChainType.EVM)
32
34
  }
33
- if (hasExternalSVMContext) {
35
+ if (hasExternalSolanaContext) {
34
36
  providers.push(ChainType.SVM)
35
37
  }
36
- if (hasExternalUTXOContext) {
38
+ if (hasExternalBitcoinContext) {
37
39
  providers.push(ChainType.UTXO)
38
40
  }
39
41
  if (hasExternalSuiContext) {
40
42
  providers.push(ChainType.MVM)
41
43
  }
42
44
  const hasExternalProvider =
43
- hasExternalEVMContext ||
44
- hasExternalSVMContext ||
45
- hasExternalUTXOContext ||
45
+ hasExternalEthereumContext ||
46
+ hasExternalSolanaContext ||
47
+ hasExternalBitcoinContext ||
46
48
  hasExternalSuiContext
47
49
 
48
50
  const useExternalWalletProvidersOnly =
@@ -57,9 +59,9 @@ export function useExternalWalletProvider(): ExternalWalletProvider {
57
59
  ),
58
60
  }
59
61
  }, [
60
- hasExternalEVMContext,
61
- hasExternalSVMContext,
62
- hasExternalUTXOContext,
62
+ hasExternalEthereumContext,
63
+ hasExternalSolanaContext,
64
+ hasExternalBitcoinContext,
63
65
  hasExternalSuiContext,
64
66
  walletConfig?.usePartialWalletManagement,
65
67
  walletConfig?.forceInternalWalletManagement,
@@ -1,7 +1,4 @@
1
- import type { SDKConfig } from '@lifi/sdk'
2
- import { config, createConfig } from '@lifi/sdk'
3
1
  import { createContext, useContext, useId, useMemo } from 'react'
4
- import { version } from '../../config/version.js'
5
2
  import { useSettingsActions } from '../../stores/settings/useSettingsActions.js'
6
3
  import type { WidgetContextProps, WidgetProviderProps } from './types.js'
7
4
 
@@ -15,8 +12,6 @@ const WidgetContext = createContext<WidgetContextProps>(initialContext)
15
12
  export const useWidgetConfig = (): WidgetContextProps =>
16
13
  useContext(WidgetContext)
17
14
 
18
- let sdkInitialized = false
19
-
20
15
  export const WidgetProvider: React.FC<
21
16
  React.PropsWithChildren<WidgetProviderProps>
22
17
  > = ({ children, config: widgetConfig }) => {
@@ -38,30 +33,6 @@ export const WidgetProvider: React.FC<
38
33
  // Set default settings for widget settings store
39
34
  setDefaultSettings(value)
40
35
 
41
- // Configure SDK
42
- const _config: SDKConfig = {
43
- ...widgetConfig.sdkConfig,
44
- apiKey: widgetConfig.apiKey,
45
- integrator: widgetConfig.integrator ?? window?.location.hostname,
46
- routeOptions: {
47
- fee: widgetConfig.feeConfig?.fee || widgetConfig.fee,
48
- referrer: widgetConfig.referrer,
49
- order: widgetConfig.routePriority,
50
- slippage: widgetConfig.slippage,
51
- ...widgetConfig.sdkConfig?.routeOptions,
52
- },
53
- disableVersionCheck: true,
54
- widgetVersion: version,
55
- preloadChains: false,
56
- // debug: true,
57
- }
58
- if (!sdkInitialized) {
59
- createConfig(_config)
60
- sdkInitialized = true
61
- } else {
62
- config.set(_config)
63
- }
64
-
65
36
  return value
66
37
  } catch (e) {
67
38
  console.warn(e)
@@ -5,6 +5,7 @@ import { BookmarkStoreProvider } from './bookmarks/BookmarkStore.js'
5
5
  import { ChainOrderStoreProvider } from './chains/ChainOrderStore.js'
6
6
  import { FormStoreProvider } from './form/FormStore.js'
7
7
  import { HeaderStoreProvider } from './header/useHeaderStore.js'
8
+ import { PinnedTokensStoreProvider } from './pinnedTokens/PinnedTokensStore.js'
8
9
  import { RouteExecutionStoreProvider } from './routes/RouteExecutionStore.js'
9
10
  import { SplitSubvariantStoreProvider } from './settings/useSplitSubvariantStore.js'
10
11
 
@@ -23,13 +24,15 @@ export const StoreProvider: React.FC<PropsWithChildren<WidgetConfigProps>> = ({
23
24
  >
24
25
  <HeaderStoreProvider namePrefix={config?.keyPrefix}>
25
26
  <BookmarkStoreProvider namePrefix={config?.keyPrefix}>
26
- <FormStoreProvider formRef={formRef}>
27
- <ChainOrderStoreProvider namePrefix={config?.keyPrefix}>
28
- <RouteExecutionStoreProvider namePrefix={config?.keyPrefix}>
29
- {children}
30
- </RouteExecutionStoreProvider>
31
- </ChainOrderStoreProvider>
32
- </FormStoreProvider>
27
+ <PinnedTokensStoreProvider namePrefix={config?.keyPrefix}>
28
+ <FormStoreProvider formRef={formRef}>
29
+ <ChainOrderStoreProvider namePrefix={config?.keyPrefix}>
30
+ <RouteExecutionStoreProvider namePrefix={config?.keyPrefix}>
31
+ {children}
32
+ </RouteExecutionStoreProvider>
33
+ </ChainOrderStoreProvider>
34
+ </FormStoreProvider>
35
+ </PinnedTokensStoreProvider>
33
36
  </BookmarkStoreProvider>
34
37
  </HeaderStoreProvider>
35
38
  </SplitSubvariantStoreProvider>
@@ -1,5 +1,4 @@
1
- import type { StoreApi } from 'zustand'
2
- import type { UseBoundStoreWithEqualityFn } from 'zustand/traditional'
1
+ import type { StoreApi, UseBoundStore } from 'zustand'
3
2
  import type { ToAddress } from '../../types/widget.js'
4
3
 
5
4
  export interface Bookmark extends ToAddress {
@@ -24,4 +23,4 @@ export interface BookmarkActions {
24
23
 
25
24
  export type BookmarkState = BookmarkProps & BookmarkActions
26
25
 
27
- export type BookmarkStore = UseBoundStoreWithEqualityFn<StoreApi<BookmarkState>>
26
+ export type BookmarkStore = UseBoundStore<StoreApi<BookmarkState>>
@@ -1,20 +1,20 @@
1
1
  import { createContext, useContext, useEffect, useRef } from 'react'
2
- import type { StoreApi } from 'zustand'
2
+ import type { StoreApi, UseBoundStore } from 'zustand'
3
3
  import { useShallow } from 'zustand/shallow'
4
- import type { UseBoundStoreWithEqualityFn } from 'zustand/traditional'
5
4
  import { useChains } from '../../hooks/useChains.js'
6
5
  import { useSwapOnly } from '../../hooks/useSwapOnly.js'
7
6
  import { useExternalWalletProvider } from '../../providers/WalletProvider/useExternalWalletProvider.js'
8
7
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
9
8
  import { HiddenUI } from '../../types/widget.js'
10
9
  import { getConfigItemSets, isItemAllowedForSets } from '../../utils/item.js'
10
+ import { getDefaultValuesFromQueryString } from '../form/getDefaultValuesFromQueryString.js'
11
11
  import type { FormType } from '../form/types.js'
12
12
  import { useFieldActions } from '../form/useFieldActions.js'
13
13
  import type { PersistStoreProviderProps } from '../types.js'
14
14
  import { createChainOrderStore } from './createChainOrderStore.js'
15
15
  import type { ChainOrderState } from './types.js'
16
16
 
17
- type ChainOrderStore = UseBoundStoreWithEqualityFn<StoreApi<ChainOrderState>>
17
+ type ChainOrderStore = UseBoundStore<StoreApi<ChainOrderState>>
18
18
 
19
19
  const ChainOrderStoreContext = createContext<ChainOrderStore | null>(null)
20
20
 
@@ -22,7 +22,13 @@ export function ChainOrderStoreProvider({
22
22
  children,
23
23
  ...props
24
24
  }: PersistStoreProviderProps) {
25
- const { chains: chainsConfig, hiddenUI } = useWidgetConfig()
25
+ const {
26
+ chains: chainsConfig,
27
+ hiddenUI,
28
+ fromChain: fromChainConfig,
29
+ toChain: toChainConfig,
30
+ buildUrl,
31
+ } = useWidgetConfig()
26
32
  const storeRef = useRef<ChainOrderStore>(null)
27
33
  const { chains } = useChains()
28
34
  const { setFieldValue, getFieldValues } = useFieldActions()
@@ -32,7 +38,9 @@ export function ChainOrderStoreProvider({
32
38
  useExternalWalletProvider()
33
39
 
34
40
  if (!storeRef.current) {
35
- storeRef.current = createChainOrderStore(props)
41
+ storeRef.current = createChainOrderStore({
42
+ ...props,
43
+ })
36
44
  }
37
45
 
38
46
  useEffect(() => {
@@ -72,9 +80,17 @@ export function ChainOrderStoreProvider({
72
80
  filteredChains.length > 1 &&
73
81
  !hiddenUI?.includes(HiddenUI.AllNetworks) &&
74
82
  !isSwapTo
75
- if (!showAllNetworks) {
76
- storeRef.current?.getState().setIsAllNetworks(false, key)
77
- }
83
+
84
+ // Initialize the isAllNetworks with true if the tab is shown,
85
+ // there is no config chain value and no url chain value
86
+ const urlValues = getDefaultValuesFromQueryString({ buildUrl })
87
+ const urlChainValue =
88
+ key === 'from' ? urlValues.fromChain : urlValues.toChain
89
+ const configChainValue =
90
+ key === 'from' ? fromChainConfig : toChainConfig
91
+ const initialIsAllNetworks =
92
+ showAllNetworks && !configChainValue && !urlChainValue
93
+ storeRef.current?.getState().setIsAllNetworks(initialIsAllNetworks, key)
78
94
  storeRef.current?.getState().setShowAllNetworks(showAllNetworks, key)
79
95
 
80
96
  // If swap only, set the to chain to the from chain
@@ -88,12 +104,6 @@ export function ChainOrderStoreProvider({
88
104
  return
89
105
  }
90
106
 
91
- // If no chain is selected (e.g., removed from URL params) and
92
- // showAllNetworks is enabled, reset isAllNetworks to true
93
- if (showAllNetworks) {
94
- storeRef.current?.getState().setIsAllNetworks(true, key)
95
- }
96
-
97
107
  const firstAllowedPinnedChain = storeRef.current
98
108
  ?.getState()
99
109
  .pinnedChains?.find((chainId) =>
@@ -101,7 +111,7 @@ export function ChainOrderStoreProvider({
101
111
  )
102
112
  if (
103
113
  variant === 'wide' &&
104
- subvariantOptions?.wide?.enableChainSidebar &&
114
+ !subvariantOptions?.wide?.disableChainSidebar &&
105
115
  firstAllowedPinnedChain
106
116
  ) {
107
117
  setFieldValue(`${key}Chain`, firstAllowedPinnedChain)
@@ -118,9 +128,12 @@ export function ChainOrderStoreProvider({
118
128
  setFieldValue,
119
129
  useExternalWalletProvidersOnly,
120
130
  variant,
121
- subvariantOptions?.wide?.enableChainSidebar,
131
+ subvariantOptions?.wide?.disableChainSidebar,
122
132
  hiddenUI,
123
133
  swapOnly,
134
+ fromChainConfig,
135
+ toChainConfig,
136
+ buildUrl,
124
137
  ])
125
138
 
126
139
  return (
@@ -115,13 +115,9 @@ export const createChainOrderStore = ({ namePrefix }: PersistStoreProps) =>
115
115
  }),
116
116
  {
117
117
  name: `${namePrefix || 'li.fi'}-widget-chains-order`,
118
- version: 2,
118
+ version: 4,
119
119
  partialize: (state) => ({
120
120
  chainOrder: state.chainOrder,
121
- fromIsAllNetworks: state.fromIsAllNetworks,
122
- toIsAllNetworks: state.toIsAllNetworks,
123
- fromShowAllNetworks: state.fromShowAllNetworks,
124
- toShowAllNetworks: state.toShowAllNetworks,
125
121
  pinnedChains: state.pinnedChains,
126
122
  }),
127
123
  }
@@ -1,30 +1,28 @@
1
1
  import type { PropsWithChildren } from 'react'
2
2
  import { useMemo, useRef } from 'react'
3
3
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
4
- import type { FormRef, ToAddress } from '../../types/widget.js'
4
+ import type { FormRef } from '../../types/widget.js'
5
5
  import { createFormStore, formDefaultValues } from './createFormStore.js'
6
6
  import { FormStoreContext } from './FormStoreContext.js'
7
7
  import { FormUpdater } from './FormUpdater.js'
8
+ import { getDefaultValuesFromQueryString } from './getDefaultValuesFromQueryString.js'
8
9
  import type { DefaultValues, FormStoreStore } from './types.js'
9
10
  import { useFormRef } from './useFormRef.js'
10
11
 
11
12
  // decorates and initialise the form date for use in the form store
12
- const initialiseDefaultValues = (
13
- defaultValues: Partial<DefaultValues>,
14
- fromAmount?: number | string,
15
- toAmount?: number | string,
16
- toAddress?: ToAddress
17
- ) => ({
13
+ const initialiseDefaultValues = (defaultValues: Partial<DefaultValues>) => ({
18
14
  ...formDefaultValues,
19
15
  ...defaultValues,
20
16
  fromAmount:
21
- (typeof fromAmount === 'number' ? fromAmount?.toPrecision() : fromAmount) ||
22
- formDefaultValues.fromAmount,
17
+ (typeof defaultValues.fromAmount === 'number'
18
+ ? (defaultValues.fromAmount as number)?.toPrecision?.()
19
+ : defaultValues.fromAmount) || formDefaultValues.fromAmount,
23
20
  toAmount:
24
- (typeof toAmount === 'number' ? toAmount?.toPrecision() : toAmount) ||
25
- formDefaultValues.toAmount,
21
+ (typeof defaultValues.toAmount === 'number'
22
+ ? (defaultValues.toAmount as number)?.toPrecision?.()
23
+ : defaultValues.toAmount) || formDefaultValues.toAmount,
26
24
  // Prevent setting address when the field is hidden
27
- toAddress: toAddress?.address || formDefaultValues.toAddress,
25
+ toAddress: defaultValues.toAddress || formDefaultValues.toAddress,
28
26
  })
29
27
 
30
28
  interface FormStoreProviderProps extends PropsWithChildren {
@@ -46,6 +44,7 @@ export const FormStoreProvider: React.FC<FormStoreProviderProps> = ({
46
44
  toAmount,
47
45
  toAddress,
48
46
  formUpdateKey,
47
+ buildUrl,
49
48
  } = widgetConfig
50
49
 
51
50
  const storeRef = useRef<FormStoreStore>(null)
@@ -111,13 +110,15 @@ export const FormStoreProvider: React.FC<FormStoreProviderProps> = ({
111
110
  )
112
111
 
113
112
  if (!storeRef.current) {
113
+ const queryDefaults = getDefaultValuesFromQueryString({
114
+ buildUrl,
115
+ includeToAddress: false,
116
+ })
114
117
  storeRef.current = createFormStore(
115
- initialiseDefaultValues(
116
- reactiveFormValues,
117
- fromAmount,
118
- toAmount,
119
- toAddress
120
- )
118
+ initialiseDefaultValues({
119
+ ...reactiveFormValues,
120
+ ...queryDefaults,
121
+ })
121
122
  )
122
123
  }
123
124
 
@@ -1,91 +1,24 @@
1
1
  import { useAccount } from '@lifi/wallet-management'
2
2
  import { useEffect } from 'react'
3
- import { useChains } from '../../hooks/useChains.js'
4
3
  import { useWidgetConfig } from '../../providers/WidgetProvider/WidgetProvider.js'
5
4
  import { useBookmarkActions } from '../../stores/bookmarks/useBookmarkActions.js'
6
5
  import { formDefaultValues } from '../../stores/form/createFormStore.js'
7
6
  import { useSendToWalletActions } from '../../stores/settings/useSendToWalletStore.js'
8
- import { isItemAllowed } from '../../utils/item.js'
9
7
  import type { DefaultValues } from './types.js'
10
8
  import { useFieldActions } from './useFieldActions.js'
11
9
 
12
10
  export const FormUpdater: React.FC<{
13
11
  reactiveFormValues: Partial<DefaultValues>
14
12
  }> = ({ reactiveFormValues }) => {
15
- const {
16
- fromChain,
17
- toChain,
18
- toAddress,
19
- chains: configChains,
20
- } = useWidgetConfig()
13
+ const { toAddress } = useWidgetConfig()
21
14
  const { account } = useAccount()
22
- const { chains } = useChains()
23
15
  const { setSendToWallet } = useSendToWalletActions()
24
16
  const { setSelectedBookmark } = useBookmarkActions()
25
- const { isTouched, resetField, setFieldValue, setUserAndDefaultValues } =
26
- useFieldActions()
27
-
28
- // Set wallet chain as default if no chains are provided by config and if they were not changed during widget usage
29
- useEffect(() => {
30
- const fromChainAllowed =
31
- account.chainId &&
32
- chains?.some(
33
- (chain) =>
34
- chain.id === account.chainId &&
35
- isItemAllowed(chain.id, configChains?.from)
36
- )
37
- const toChainAllowed =
38
- account.chainId &&
39
- chains?.some(
40
- (chain) =>
41
- chain.id === account.chainId &&
42
- isItemAllowed(chain.id, configChains?.to)
43
- )
44
-
45
- if (
46
- !account.isConnected ||
47
- !account.chainId ||
48
- (!fromChainAllowed && !toChainAllowed)
49
- ) {
50
- return
51
- }
52
-
53
- if (
54
- !fromChain &&
55
- !isTouched('fromChain') &&
56
- !isTouched('fromToken') &&
57
- fromChainAllowed
58
- ) {
59
- resetField('fromChain', { defaultValue: account.chainId })
60
- setFieldValue('fromToken', '')
61
- if (isTouched('fromAmount')) {
62
- setFieldValue('fromAmount', '')
63
- }
64
- }
65
- if (
66
- !toChain &&
67
- !isTouched('toChain') &&
68
- !isTouched('toToken') &&
69
- toChainAllowed
70
- ) {
71
- resetField('toChain', { defaultValue: account.chainId })
72
- setFieldValue('toToken', '')
73
- }
74
- }, [
75
- account.chainId,
76
- account.isConnected,
77
- chains,
78
- fromChain,
79
- toChain,
80
- isTouched,
81
- resetField,
82
- setFieldValue,
83
- configChains?.from,
84
- configChains?.to,
85
- ])
17
+ const { setUserAndDefaultValues } = useFieldActions()
86
18
 
87
- // Makes widget config options reactive to changes
88
- // should update userValues when defaultValues updates and includes additional logic for chains
19
+ // React to changes in widget config options (reactiveFormValues), updating userValues accordingly.
20
+ // Includes special logic for chain fields, where account.chainId is only a fallback and not a direct reactivity source.
21
+ // biome-ignore lint/correctness/useExhaustiveDependencies: account.chainId is used as a fallback only and does not need to be a dependency for reactivity.
89
22
  useEffect(() => {
90
23
  if (reactiveFormValues.toAddress) {
91
24
  setSendToWallet(true)
@@ -98,7 +31,6 @@ export const FormUpdater: React.FC<{
98
31
  accountForChainId(reactiveFormValues, account.chainId)
99
32
  )
100
33
  }, [
101
- account.chainId,
102
34
  toAddress,
103
35
  reactiveFormValues,
104
36
  setUserAndDefaultValues,