@lifi/widget 3.29.1 → 3.30.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 (366) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/esm/AppProvider.d.ts +0 -1
  3. package/dist/esm/AppProvider.js +1 -1
  4. package/dist/esm/AppProvider.js.map +1 -1
  5. package/dist/esm/components/AmountInput/AmountInput.d.ts +0 -9
  6. package/dist/esm/components/AmountInput/AmountInput.js +1 -1
  7. package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
  8. package/dist/esm/components/AmountInput/AmountInputAdornment.style.d.ts +0 -1
  9. package/dist/esm/components/AmountInput/AmountInputAdornment.style.js +1 -6
  10. package/dist/esm/components/AmountInput/AmountInputAdornment.style.js.map +1 -1
  11. package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts +1 -1
  12. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +3 -2
  13. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  14. package/dist/esm/components/AmountInput/PriceFormHelperText.d.ts +1 -7
  15. package/dist/esm/components/AmountInput/PriceFormHelperText.js +4 -3
  16. package/dist/esm/components/AmountInput/PriceFormHelperText.js.map +1 -1
  17. package/dist/esm/components/Avatar/Avatar.d.ts +0 -4
  18. package/dist/esm/components/Avatar/Avatar.js +1 -1
  19. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  20. package/dist/esm/components/Avatar/TokenAvatar.d.ts +0 -15
  21. package/dist/esm/components/Avatar/TokenAvatar.js +2 -2
  22. package/dist/esm/components/Avatar/TokenAvatar.js.map +1 -1
  23. package/dist/esm/components/Card/CardButton.style.d.ts +0 -1
  24. package/dist/esm/components/Card/CardButton.style.js +0 -7
  25. package/dist/esm/components/Card/CardButton.style.js.map +1 -1
  26. package/dist/esm/components/ChainSelect/ChainSelect.js +35 -18
  27. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  28. package/dist/esm/components/ChainSelect/useChainSelect.d.ts +1 -1
  29. package/dist/esm/components/ChainSelect/useChainSelect.js +3 -3
  30. package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -1
  31. package/dist/esm/components/Chains/AllChainsAvatar.d.ts +7 -0
  32. package/dist/esm/components/Chains/AllChainsAvatar.js +77 -0
  33. package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -0
  34. package/dist/esm/components/Chains/ChainList.d.ts +2 -1
  35. package/dist/esm/components/Chains/ChainList.js +2 -2
  36. package/dist/esm/components/Chains/ChainList.js.map +1 -1
  37. package/dist/esm/components/Chains/ChainSearchInput.js +2 -2
  38. package/dist/esm/components/Chains/ChainSearchInput.js.map +1 -1
  39. package/dist/esm/components/Chains/SelectChainContent.js +1 -1
  40. package/dist/esm/components/Chains/SelectChainContent.js.map +1 -1
  41. package/dist/esm/components/Chains/VirtualizedChainList.d.ts +2 -1
  42. package/dist/esm/components/Chains/VirtualizedChainList.js +42 -10
  43. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
  44. package/dist/esm/components/FeeBreakdownTooltip.d.ts +2 -3
  45. package/dist/esm/components/FeeBreakdownTooltip.js +1 -1
  46. package/dist/esm/components/FeeBreakdownTooltip.js.map +1 -1
  47. package/dist/esm/components/Header/Header.d.ts +1 -2
  48. package/dist/esm/components/Header/Header.js +1 -1
  49. package/dist/esm/components/Header/Header.js.map +1 -1
  50. package/dist/esm/components/Header/WalletHeader.d.ts +0 -1
  51. package/dist/esm/components/Header/WalletHeader.js +1 -1
  52. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  53. package/dist/esm/components/RouteCard/RouteCardEssentials.js +1 -1
  54. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
  55. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  56. package/dist/esm/components/StepActions/StepActions.d.ts +1 -10
  57. package/dist/esm/components/StepActions/StepActions.js +6 -6
  58. package/dist/esm/components/StepActions/StepActions.js.map +1 -1
  59. package/dist/esm/components/Tabs/Tabs.style.d.ts +0 -1
  60. package/dist/esm/components/Tabs/Tabs.style.js +1 -1
  61. package/dist/esm/components/Tabs/Tabs.style.js.map +1 -1
  62. package/dist/esm/components/Timer/TimerContent.js +1 -2
  63. package/dist/esm/components/Timer/TimerContent.js.map +1 -1
  64. package/dist/esm/components/Token/Token.d.ts +0 -2
  65. package/dist/esm/components/Token/Token.js +2 -2
  66. package/dist/esm/components/Token/Token.js.map +1 -1
  67. package/dist/esm/components/TokenList/TokenDetailsSheet.d.ts +1 -5
  68. package/dist/esm/components/TokenList/TokenDetailsSheet.js +4 -2
  69. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
  70. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +2 -2
  71. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
  72. package/dist/esm/components/TokenList/TokenList.js +11 -53
  73. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  74. package/dist/esm/components/TokenList/TokenListItem.d.ts +1 -4
  75. package/dist/esm/components/TokenList/TokenListItem.js +30 -26
  76. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  77. package/dist/esm/components/TokenList/VirtualizedTokenList.js +56 -37
  78. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  79. package/dist/esm/components/TokenList/types.d.ts +8 -11
  80. package/dist/esm/components/TokenList/useTokenSelect.d.ts +0 -4
  81. package/dist/esm/components/TokenList/useTokenSelect.js +3 -4
  82. package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -1
  83. package/dist/esm/components/TokenRate/TokenRate.js +1 -3
  84. package/dist/esm/components/TokenRate/TokenRate.js.map +1 -1
  85. package/dist/esm/components/TransactionDetails.js +2 -2
  86. package/dist/esm/components/TransactionDetails.js.map +1 -1
  87. package/dist/esm/config/version.d.ts +1 -1
  88. package/dist/esm/config/version.js +1 -1
  89. package/dist/esm/hooks/timer/time.d.ts +0 -8
  90. package/dist/esm/hooks/timer/time.js.map +1 -1
  91. package/dist/esm/hooks/timer/useTimer.d.ts +3 -2
  92. package/dist/esm/hooks/useAccountsBalancesData.d.ts +6 -0
  93. package/dist/esm/hooks/useAccountsBalancesData.js +64 -0
  94. package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -0
  95. package/dist/esm/hooks/useAvailableChains.d.ts +2 -1
  96. package/dist/esm/hooks/useChain.d.ts +1 -1
  97. package/dist/esm/hooks/useChains.d.ts +1 -1
  98. package/dist/esm/hooks/useExplorer.d.ts +2 -1
  99. package/dist/esm/hooks/useFilteredByTokenBalances.d.ts +9 -0
  100. package/dist/esm/hooks/useFilteredByTokenBalances.js +78 -0
  101. package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -0
  102. package/dist/esm/hooks/useListHeight.d.ts +0 -3
  103. package/dist/esm/hooks/useListHeight.js +2 -3
  104. package/dist/esm/hooks/useListHeight.js.map +1 -1
  105. package/dist/esm/hooks/useRoutes.js +2 -2
  106. package/dist/esm/hooks/useRoutes.js.map +1 -1
  107. package/dist/esm/hooks/useToAddressAutoPopulate.d.ts +2 -1
  108. package/dist/esm/hooks/useToken.d.ts +2 -2
  109. package/dist/esm/hooks/useToken.js +13 -10
  110. package/dist/esm/hooks/useToken.js.map +1 -1
  111. package/dist/esm/hooks/useTokenAddressBalance.d.ts +3 -3
  112. package/dist/esm/hooks/useTokenAddressBalance.js +10 -14
  113. package/dist/esm/hooks/useTokenAddressBalance.js.map +1 -1
  114. package/dist/esm/hooks/useTokenBalances.d.ts +6 -9
  115. package/dist/esm/hooks/useTokenBalances.js +57 -72
  116. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  117. package/dist/esm/hooks/useTokenBalancesQueries.d.ts +11 -0
  118. package/dist/esm/hooks/useTokenBalancesQueries.js +74 -0
  119. package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -0
  120. package/dist/esm/hooks/useTokenSearch.js +3 -3
  121. package/dist/esm/hooks/useTokenSearch.js.map +1 -1
  122. package/dist/esm/hooks/useTokens.d.ts +6 -6
  123. package/dist/esm/hooks/useTokens.js +98 -69
  124. package/dist/esm/hooks/useTokens.js.map +1 -1
  125. package/dist/esm/i18n/bn.json +3 -3
  126. package/dist/esm/i18n/de.json +3 -3
  127. package/dist/esm/i18n/en.json +3 -3
  128. package/dist/esm/i18n/es.json +3 -3
  129. package/dist/esm/i18n/fr.json +3 -3
  130. package/dist/esm/i18n/hi.json +3 -3
  131. package/dist/esm/i18n/id.json +3 -3
  132. package/dist/esm/i18n/it.json +3 -3
  133. package/dist/esm/i18n/ja.json +3 -3
  134. package/dist/esm/i18n/ko.json +3 -3
  135. package/dist/esm/i18n/pl.json +3 -3
  136. package/dist/esm/i18n/pt.json +5 -5
  137. package/dist/esm/i18n/th.json +3 -3
  138. package/dist/esm/i18n/tr.json +3 -3
  139. package/dist/esm/i18n/uk.json +3 -3
  140. package/dist/esm/i18n/vi.json +3 -3
  141. package/dist/esm/i18n/zh.json +3 -3
  142. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js +6 -1
  143. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -1
  144. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +2 -4
  145. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  146. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  147. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +27 -17
  148. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  149. package/dist/esm/pages/TransactionPage/RouteTracker.d.ts +2 -1
  150. package/dist/esm/pages/TransactionPage/StatusBottomSheet.d.ts +0 -5
  151. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js +1 -1
  152. package/dist/esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  153. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +1 -1
  154. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  155. package/dist/esm/providers/I18nProvider/types.d.ts +4 -3
  156. package/dist/esm/providers/WalletProvider/EVMProvider.d.ts +0 -1
  157. package/dist/esm/providers/WalletProvider/EVMProvider.js +1 -1
  158. package/dist/esm/providers/WalletProvider/EVMProvider.js.map +1 -1
  159. package/dist/esm/providers/WalletProvider/SVMProvider.d.ts +0 -1
  160. package/dist/esm/providers/WalletProvider/SVMProvider.js +1 -1
  161. package/dist/esm/providers/WalletProvider/SVMProvider.js.map +1 -1
  162. package/dist/esm/providers/WalletProvider/SuiProvider.d.ts +0 -1
  163. package/dist/esm/providers/WalletProvider/SuiProvider.js +1 -1
  164. package/dist/esm/providers/WalletProvider/SuiProvider.js.map +1 -1
  165. package/dist/esm/providers/WalletProvider/UTXOProvider.d.ts +0 -1
  166. package/dist/esm/providers/WalletProvider/UTXOProvider.js +1 -1
  167. package/dist/esm/providers/WalletProvider/UTXOProvider.js.map +1 -1
  168. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +0 -1
  169. package/dist/esm/providers/WalletProvider/WalletProvider.js +1 -1
  170. package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
  171. package/dist/esm/stores/bookmarks/BookmarkStore.d.ts +1 -2
  172. package/dist/esm/stores/bookmarks/BookmarkStore.js +1 -1
  173. package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -1
  174. package/dist/esm/stores/chains/ChainOrderStore.d.ts +0 -5
  175. package/dist/esm/stores/chains/ChainOrderStore.js +2 -2
  176. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -1
  177. package/dist/esm/stores/chains/createChainOrderStore.d.ts +3 -2
  178. package/dist/esm/stores/chains/createChainOrderStore.js +13 -8
  179. package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -1
  180. package/dist/esm/stores/chains/types.d.ts +4 -1
  181. package/dist/esm/stores/chains/useChainOrder.js +5 -1
  182. package/dist/esm/stores/chains/useChainOrder.js.map +1 -1
  183. package/dist/esm/stores/header/types.d.ts +2 -1
  184. package/dist/esm/stores/header/useHeaderStore.d.ts +1 -4
  185. package/dist/esm/stores/header/useHeaderStore.js +3 -3
  186. package/dist/esm/stores/header/useHeaderStore.js.map +1 -1
  187. package/dist/esm/stores/inputMode/useInputModeStore.d.ts +1 -1
  188. package/dist/esm/stores/routes/RouteExecutionStore.d.ts +2 -2
  189. package/dist/esm/stores/routes/RouteExecutionStore.js +1 -1
  190. package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -1
  191. package/dist/esm/stores/settings/types.d.ts +3 -3
  192. package/dist/esm/stores/settings/types.js.map +1 -1
  193. package/dist/esm/stores/settings/useSettingsStore.d.ts +1 -2
  194. package/dist/esm/stores/settings/useSettingsStore.js +1 -1
  195. package/dist/esm/stores/settings/useSettingsStore.js.map +1 -1
  196. package/dist/esm/stores/settings/useSplitSubvariantStore.d.ts +1 -4
  197. package/dist/esm/stores/settings/useSplitSubvariantStore.js +3 -3
  198. package/dist/esm/stores/settings/useSplitSubvariantStore.js.map +1 -1
  199. package/dist/esm/types/events.d.ts +0 -4
  200. package/dist/esm/types/events.js +0 -4
  201. package/dist/esm/types/events.js.map +1 -1
  202. package/dist/esm/types/token.d.ts +7 -2
  203. package/dist/esm/utils/chainType.d.ts +1 -0
  204. package/dist/esm/utils/chainType.js +2 -0
  205. package/dist/esm/utils/chainType.js.map +1 -1
  206. package/dist/esm/utils/fees.d.ts +1 -4
  207. package/dist/esm/utils/fees.js +3 -3
  208. package/dist/esm/utils/fees.js.map +1 -1
  209. package/dist/esm/utils/format.js +1 -1
  210. package/dist/esm/utils/format.js.map +1 -1
  211. package/dist/esm/utils/navigationRoutes.d.ts +2 -1
  212. package/dist/esm/utils/token.d.ts +8 -0
  213. package/dist/esm/utils/token.js +29 -0
  214. package/dist/esm/utils/token.js.map +1 -0
  215. package/dist/esm/utils/tokenList.d.ts +9 -0
  216. package/dist/esm/utils/tokenList.js +106 -0
  217. package/dist/esm/utils/tokenList.js.map +1 -0
  218. package/package.json +10 -10
  219. package/package.json.tmp +9 -9
  220. package/src/AppProvider.tsx +1 -1
  221. package/src/components/AmountInput/AmountInput.tsx +1 -1
  222. package/src/components/AmountInput/AmountInputAdornment.style.tsx +1 -7
  223. package/src/components/AmountInput/AmountInputEndAdornment.tsx +3 -2
  224. package/src/components/AmountInput/PriceFormHelperText.tsx +4 -3
  225. package/src/components/Avatar/Avatar.tsx +1 -1
  226. package/src/components/Avatar/TokenAvatar.tsx +2 -2
  227. package/src/components/Card/CardButton.style.tsx +0 -8
  228. package/src/components/ChainSelect/ChainSelect.tsx +112 -40
  229. package/src/components/ChainSelect/useChainSelect.ts +3 -3
  230. package/src/components/Chains/AllChainsAvatar.tsx +113 -0
  231. package/src/components/Chains/ChainList.tsx +3 -0
  232. package/src/components/Chains/ChainSearchInput.tsx +2 -2
  233. package/src/components/Chains/SelectChainContent.tsx +1 -0
  234. package/src/components/Chains/VirtualizedChainList.tsx +80 -12
  235. package/src/components/FeeBreakdownTooltip.tsx +2 -5
  236. package/src/components/Header/Header.tsx +1 -1
  237. package/src/components/Header/WalletHeader.tsx +1 -1
  238. package/src/components/RouteCard/RouteCardEssentials.tsx +1 -1
  239. package/src/components/SendToWallet/SendToWalletButton.tsx +0 -1
  240. package/src/components/StepActions/StepActions.tsx +6 -6
  241. package/src/components/Tabs/Tabs.style.tsx +1 -1
  242. package/src/components/Timer/TimerContent.tsx +1 -2
  243. package/src/components/Token/Token.tsx +2 -2
  244. package/src/components/TokenList/TokenDetailsSheet.tsx +4 -9
  245. package/src/components/TokenList/TokenDetailsSheetContent.tsx +2 -6
  246. package/src/components/TokenList/TokenList.tsx +57 -129
  247. package/src/components/TokenList/TokenListItem.tsx +177 -154
  248. package/src/components/TokenList/VirtualizedTokenList.tsx +88 -48
  249. package/src/components/TokenList/types.ts +15 -11
  250. package/src/components/TokenList/useTokenSelect.ts +3 -9
  251. package/src/components/TokenRate/TokenRate.tsx +0 -1
  252. package/src/components/TransactionDetails.tsx +2 -3
  253. package/src/config/version.ts +1 -1
  254. package/src/hooks/timer/time.ts +0 -10
  255. package/src/hooks/timer/useTimer.ts +2 -2
  256. package/src/hooks/useAccountsBalancesData.ts +101 -0
  257. package/src/hooks/useAvailableChains.ts +1 -1
  258. package/src/hooks/useExplorer.ts +1 -1
  259. package/src/hooks/useFilteredByTokenBalances.ts +130 -0
  260. package/src/hooks/useListHeight.ts +2 -3
  261. package/src/hooks/useRoutes.ts +4 -2
  262. package/src/hooks/useToAddressAutoPopulate.ts +1 -1
  263. package/src/hooks/useToken.ts +31 -13
  264. package/src/hooks/useTokenAddressBalance.ts +15 -20
  265. package/src/hooks/useTokenBalances.ts +81 -80
  266. package/src/hooks/useTokenBalancesQueries.ts +94 -0
  267. package/src/hooks/useTokenSearch.ts +4 -7
  268. package/src/hooks/useTokens.ts +153 -87
  269. package/src/i18n/bn.json +3 -3
  270. package/src/i18n/de.json +3 -3
  271. package/src/i18n/en.json +3 -3
  272. package/src/i18n/es.json +3 -3
  273. package/src/i18n/fr.json +3 -3
  274. package/src/i18n/hi.json +3 -3
  275. package/src/i18n/id.json +3 -3
  276. package/src/i18n/it.json +3 -3
  277. package/src/i18n/ja.json +3 -3
  278. package/src/i18n/ko.json +3 -3
  279. package/src/i18n/pl.json +3 -3
  280. package/src/i18n/pt.json +5 -5
  281. package/src/i18n/th.json +3 -3
  282. package/src/i18n/tr.json +3 -3
  283. package/src/i18n/uk.json +3 -3
  284. package/src/i18n/vi.json +3 -3
  285. package/src/i18n/zh.json +3 -3
  286. package/src/pages/SelectTokenPage/SearchTokenInput.tsx +5 -0
  287. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +7 -13
  288. package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +0 -1
  289. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +33 -30
  290. package/src/pages/TransactionPage/RouteTracker.tsx +1 -1
  291. package/src/pages/TransactionPage/StatusBottomSheet.tsx +5 -3
  292. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +1 -1
  293. package/src/providers/I18nProvider/types.ts +3 -3
  294. package/src/providers/WalletProvider/EVMProvider.tsx +1 -1
  295. package/src/providers/WalletProvider/SVMProvider.tsx +1 -1
  296. package/src/providers/WalletProvider/SuiProvider.tsx +1 -1
  297. package/src/providers/WalletProvider/UTXOProvider.tsx +1 -1
  298. package/src/providers/WalletProvider/WalletProvider.tsx +1 -1
  299. package/src/stores/bookmarks/BookmarkStore.tsx +1 -1
  300. package/src/stores/chains/ChainOrderStore.tsx +3 -7
  301. package/src/stores/chains/createChainOrderStore.ts +17 -8
  302. package/src/stores/chains/types.ts +3 -1
  303. package/src/stores/chains/useChainOrder.ts +5 -1
  304. package/src/stores/header/types.ts +1 -1
  305. package/src/stores/header/useHeaderStore.tsx +3 -3
  306. package/src/stores/inputMode/useInputModeStore.ts +1 -1
  307. package/src/stores/routes/RouteExecutionStore.tsx +4 -3
  308. package/src/stores/settings/types.ts +2 -6
  309. package/src/stores/settings/useSettingsStore.ts +1 -1
  310. package/src/stores/settings/useSplitSubvariantStore.tsx +5 -4
  311. package/src/types/events.ts +0 -4
  312. package/src/types/token.ts +11 -2
  313. package/src/utils/chainType.ts +2 -0
  314. package/src/utils/fees.ts +3 -3
  315. package/src/utils/format.ts +2 -1
  316. package/src/utils/navigationRoutes.ts +1 -1
  317. package/src/utils/token.ts +67 -0
  318. package/src/utils/tokenList.ts +172 -0
  319. package/dist/esm/AppDrawer.style.d.ts +0 -1
  320. package/dist/esm/AppDrawer.style.js +0 -12
  321. package/dist/esm/AppDrawer.style.js.map +0 -1
  322. package/dist/esm/components/Select.d.ts +0 -3
  323. package/dist/esm/components/Select.js +0 -35
  324. package/dist/esm/components/Select.js.map +0 -1
  325. package/dist/esm/components/StepActions/StepFees.d.ts +0 -5
  326. package/dist/esm/components/StepActions/StepFees.js +0 -32
  327. package/dist/esm/components/StepActions/StepFees.js.map +0 -1
  328. package/dist/esm/components/TokenList/utils.d.ts +0 -2
  329. package/dist/esm/components/TokenList/utils.js +0 -35
  330. package/dist/esm/components/TokenList/utils.js.map +0 -1
  331. package/dist/esm/pages/MainPage/MainPage.style.d.ts +0 -1
  332. package/dist/esm/pages/MainPage/MainPage.style.js +0 -8
  333. package/dist/esm/pages/MainPage/MainPage.style.js.map +0 -1
  334. package/dist/esm/pages/SelectNativeTokenPage.d.ts +0 -2
  335. package/dist/esm/pages/SelectNativeTokenPage.js +0 -23
  336. package/dist/esm/pages/SelectNativeTokenPage.js.map +0 -1
  337. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.style.d.ts +0 -1
  338. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.style.js +0 -6
  339. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.style.js.map +0 -1
  340. package/dist/esm/pages/SelectTokenPage/types.d.ts +0 -4
  341. package/dist/esm/pages/SelectTokenPage/types.js +0 -6
  342. package/dist/esm/pages/SelectTokenPage/types.js.map +0 -1
  343. package/dist/esm/providers/WidgetProvider/utils.d.ts +0 -5
  344. package/dist/esm/providers/WidgetProvider/utils.js +0 -17
  345. package/dist/esm/providers/WidgetProvider/utils.js.map +0 -1
  346. package/dist/esm/stores/form/useFieldController.d.ts +0 -11
  347. package/dist/esm/stores/form/useFieldController.js +0 -20
  348. package/dist/esm/stores/form/useFieldController.js.map +0 -1
  349. package/dist/esm/stores/form/useValidation.d.ts +0 -2
  350. package/dist/esm/stores/form/useValidation.js +0 -14
  351. package/dist/esm/stores/form/useValidation.js.map +0 -1
  352. package/dist/esm/stores/form/useValidationActions.d.ts +0 -2
  353. package/dist/esm/stores/form/useValidationActions.js +0 -10
  354. package/dist/esm/stores/form/useValidationActions.js.map +0 -1
  355. package/src/AppDrawer.style.tsx +0 -12
  356. package/src/components/Select.tsx +0 -42
  357. package/src/components/StepActions/StepFees.tsx +0 -49
  358. package/src/components/TokenList/utils.ts +0 -42
  359. package/src/pages/MainPage/MainPage.style.tsx +0 -8
  360. package/src/pages/SelectNativeTokenPage.tsx +0 -47
  361. package/src/pages/SelectTokenPage/SearchTokenInput.style.tsx +0 -6
  362. package/src/pages/SelectTokenPage/types.ts +0 -4
  363. package/src/providers/WidgetProvider/utils.ts +0 -26
  364. package/src/stores/form/useFieldController.ts +0 -31
  365. package/src/stores/form/useValidation.ts +0 -15
  366. package/src/stores/form/useValidationActions.ts +0 -12
@@ -1,88 +1,117 @@
1
- import { ChainType, getTokens } from '@lifi/sdk';
2
- import { useQuery } from '@tanstack/react-query';
1
+ import { ChainType, getToken, getTokens, } from '@lifi/sdk';
2
+ import { useQuery, useQueryClient } from '@tanstack/react-query';
3
3
  import { useMemo } from 'react';
4
4
  import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js';
5
+ import { defaultChainIdsByType, getChainTypeFromAddress, } from '../utils/chainType.js';
6
+ import { isItemAllowed } from '../utils/item.js';
5
7
  import { getQueryKey } from '../utils/queries.js';
6
- import { useChains } from './useChains.js';
7
- export const useTokens = (selectedChainId) => {
8
- const { tokens: configTokens, keyPrefix } = useWidgetConfig();
8
+ import { filterAllowedTokens } from '../utils/token.js';
9
+ export const useTokens = (formType, search, chainId) => {
10
+ const { tokens: configTokens, chains: chainsConfig, keyPrefix, } = useWidgetConfig();
11
+ const { isLoading: isSearchLoading } = useBackgroundTokenSearch(search, chainId);
9
12
  const { data, isLoading } = useQuery({
10
13
  queryKey: [getQueryKey('tokens', keyPrefix)],
11
- queryFn: () => getTokens({
12
- chainTypes: [
14
+ queryFn: async ({ signal }) => {
15
+ const chainTypes = [
13
16
  ChainType.EVM,
14
17
  ChainType.SVM,
15
18
  ChainType.UTXO,
16
19
  ChainType.MVM,
17
- ],
18
- orderBy: 'volumeUSD24H',
19
- limit: 1000,
20
- }),
20
+ ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types));
21
+ const tokensResponse = await getTokens({
22
+ chainTypes,
23
+ orderBy: 'volumeUSD24H',
24
+ extended: true,
25
+ limit: 1000,
26
+ }, { signal });
27
+ return tokensResponse;
28
+ },
21
29
  refetchInterval: 300000,
22
30
  staleTime: 300000,
23
31
  });
24
- const { chains, isLoading: isSupportedChainsLoading, getChainById, } = useChains();
25
- const filteredData = useMemo(() => {
26
- if (isSupportedChainsLoading || !data) {
27
- return;
28
- }
29
- const chain = getChainById(selectedChainId, chains);
30
- const chainAllowed = selectedChainId && chain;
31
- if (!chainAllowed) {
32
- return;
33
- }
34
- let filteredTokens = data.tokens?.[selectedChainId] || [];
35
- const includedTokens = configTokens?.include?.filter((token) => token.chainId === selectedChainId);
36
- if (includedTokens?.length) {
37
- filteredTokens = [...includedTokens, ...filteredTokens];
38
- }
39
- const filteredTokensMap = new Map(filteredTokens.map((token) => [token.address, token]));
40
- const [popularTokens, featuredTokens] = ['popular', 'featured'].map((tokenType) => {
41
- const typedConfigTokens = configTokens?.[tokenType]?.filter((token) => token.chainId === selectedChainId);
42
- const populatedConfigTokens = typedConfigTokens?.map((token) => {
43
- // Mark token as popular
44
- ;
45
- token[tokenType] = true;
46
- // Check if this token exists in the filteredTokensMap and add priceUSD if it does
47
- const matchingFilteredToken = filteredTokensMap.get(token.address);
48
- if (matchingFilteredToken?.priceUSD) {
49
- ;
50
- token.priceUSD = matchingFilteredToken.priceUSD;
32
+ const allTokens = useMemo(() => {
33
+ return filterAllowedTokens(data?.tokens, configTokens, chainsConfig, formType);
34
+ }, [data?.tokens, configTokens, chainsConfig, formType]);
35
+ return {
36
+ allTokens,
37
+ isLoading,
38
+ isSearchLoading,
39
+ };
40
+ };
41
+ // This hook is used to search for tokens in the background.
42
+ // It updates the main tokens cache with the search results,
43
+ // if any of the tokens are not already in the cache.
44
+ const useBackgroundTokenSearch = (search, chainId) => {
45
+ const { chains: chainsConfig, keyPrefix } = useWidgetConfig();
46
+ const queryClient = useQueryClient();
47
+ const { isLoading: isSearchLoading } = useQuery({
48
+ queryKey: [getQueryKey('tokens-search', keyPrefix), search, chainId],
49
+ queryFn: async ({ queryKey, signal }) => {
50
+ const [, searchQuery, chainId] = queryKey;
51
+ const chainTypes = [
52
+ ChainType.EVM,
53
+ ChainType.SVM,
54
+ ChainType.UTXO,
55
+ ChainType.MVM,
56
+ ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types));
57
+ const tokensResponse = await getTokens({
58
+ chainTypes,
59
+ orderBy: 'volumeUSD24H',
60
+ extended: true,
61
+ search: searchQuery,
62
+ limit: 1000,
63
+ }, { signal });
64
+ // If the chainId is not provided, try to get it from the search query
65
+ let _chainId = chainId;
66
+ if (!_chainId) {
67
+ const chainType = getChainTypeFromAddress(searchQuery);
68
+ if (chainType) {
69
+ _chainId = defaultChainIdsByType[chainType];
51
70
  }
52
- if (!token.logoURI && matchingFilteredToken) {
53
- ;
54
- token.logoURI = matchingFilteredToken.logoURI;
71
+ }
72
+ // Fallback: If the main search returned no tokens for the specific chainId,
73
+ // fetch a single token using the /token endpoint
74
+ if (_chainId && searchQuery) {
75
+ const existingTokens = tokensResponse.tokens[_chainId] || [];
76
+ if (!existingTokens.length) {
77
+ const token = await getToken(_chainId, searchQuery, { signal });
78
+ if (token) {
79
+ tokensResponse.tokens[_chainId] = [token];
80
+ }
55
81
  }
56
- return token;
57
- });
58
- if (populatedConfigTokens?.length) {
59
- const configTokenAddresses = new Set(populatedConfigTokens?.map((token) => token.address));
60
- filteredTokens = filteredTokens.filter((token) => !configTokenAddresses.has(token.address));
61
- populatedConfigTokens.push(...filteredTokens);
62
- filteredTokens = populatedConfigTokens;
63
82
  }
64
- return populatedConfigTokens;
65
- });
66
- return {
67
- tokens: filteredTokens,
68
- featuredTokens,
69
- popularTokens,
70
- chain,
71
- };
72
- }, [
73
- chains,
74
- configTokens,
75
- data,
76
- getChainById,
77
- isSupportedChainsLoading,
78
- selectedChainId,
79
- ]);
83
+ // Merge search results into main tokens cache
84
+ if (searchQuery) {
85
+ queryClient.setQueriesData({ queryKey: [getQueryKey('tokens', keyPrefix)] }, (data) => {
86
+ if (!data) {
87
+ return data;
88
+ }
89
+ const clonedData = { ...data, tokens: { ...data.tokens } };
90
+ Object.entries(tokensResponse.tokens).forEach(([chainId, searchTokens]) => {
91
+ const chainIdNum = Number(chainId);
92
+ const existingTokens = clonedData.tokens[chainIdNum] || [];
93
+ const existingTokenAddresses = new Set(existingTokens.map((token) => token.address.toLowerCase()));
94
+ // Find tokens in search results that don't exist in the main list
95
+ const newTokens = searchTokens.filter((searchToken) => !existingTokenAddresses.has(searchToken.address.toLowerCase()));
96
+ // Add new tokens to the main list
97
+ if (newTokens.length > 0) {
98
+ clonedData.tokens[chainIdNum] = [
99
+ ...existingTokens,
100
+ ...newTokens,
101
+ ];
102
+ }
103
+ });
104
+ return clonedData;
105
+ });
106
+ }
107
+ return tokensResponse;
108
+ },
109
+ enabled: !!search,
110
+ refetchInterval: 300000,
111
+ staleTime: 300000,
112
+ });
80
113
  return {
81
- tokens: filteredData?.tokens,
82
- featuredTokens: filteredData?.featuredTokens,
83
- popularTokens: filteredData?.popularTokens,
84
- chain: filteredData?.chain,
85
- isLoading,
114
+ isLoading: isSearchLoading,
86
115
  };
87
116
  };
88
117
  //# sourceMappingURL=useTokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../../src/hooks/useTokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokens.js","sourceRoot":"","sources":["../../../src/hooks/useTokens.ts"],"names":[],"mappings":"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"}
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "",
216
217
  "bridgeStepDetails": "",
217
218
  "checkoutStepDetails": "",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "মান ক্ষতি",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "",
216
217
  "bridgeStepDetails": "",
217
218
  "checkoutStepDetails": "",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "Wertverlust",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": "The maximum percentage difference between the expected price, and the actual price at which a transfer is executed. This value can be changed in settings."
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "All networks",
215
216
  "allTokens": "All tokens",
216
217
  "bridgeStepDetails": "Bridge from {{from}} to {{to}} via {{tool}}",
217
218
  "checkoutStepDetails": "Purchase via {{tool}}",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "{{amount, numberExt}} {{tokenSymbol}} on {{chainName}}",
311
312
  "tokenSearch": "Search by token or address",
312
313
  "valueLoss": "Value loss",
313
- "searchChain": "Search chain",
314
- "searchChains": "Search by chain name",
315
314
  "searchBridges": "Search by bridge name",
316
- "searchExchanges": "Search by exchange name"
315
+ "searchExchanges": "Search by exchange name",
316
+ "searchNetwork": "Search network"
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "Appearance",
@@ -212,6 +212,7 @@
212
212
  "slippage": "El porcentaje máximo de diferencia entre el precio esperado, y el precio real al que se ejecuta una transferencia. Este valor puede cambiarse en ajustes."
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "Todos los tokens",
216
217
  "bridgeStepDetails": "Puente de {{from}} a {{to}} vía {{tool}}",
217
218
  "checkoutStepDetails": "Comprar a través de {{tool}}",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "Valor perdido",
313
- "searchChain": "",
314
- "searchChains": "Buscar por nombre de cadena",
315
314
  "searchBridges": "Buscar por nombre de puente",
316
- "searchExchanges": "Buscar por nombre de intercambio"
315
+ "searchExchanges": "Buscar por nombre de intercambio",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "Tous les tokens",
216
217
  "bridgeStepDetails": "Transférer de {{from}} à {{to}} via {{tool}}",
217
218
  "checkoutStepDetails": "Achat via {{tool}}",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "Perte de valeur",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "",
216
217
  "bridgeStepDetails": "",
217
218
  "checkoutStepDetails": "",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": "Perbedaan persentase maksimum antara harga yang diharapkan dan harga sebenarnya saat transfer dilakukan. Nilai ini dapat diubah dalam pengaturan."
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "Semua Token",
216
217
  "bridgeStepDetails": "Bridge dari {{from}} to {{to}} via {{tool}}",
217
218
  "checkoutStepDetails": "Dapatkan melalui {{tool}}",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "{{amount, numberExt}} {{tokenSymbol}} di {{chainName}}",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "Kehilangan nilai",
313
- "searchChain": "",
314
- "searchChains": "Cari berdasarkan nama rantai",
315
314
  "searchBridges": "Cari berdasarkan nama bridge",
316
- "searchExchanges": "Cari berdasarkan nama exchange"
315
+ "searchExchanges": "Cari berdasarkan nama exchange",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "",
216
217
  "bridgeStepDetails": "",
217
218
  "checkoutStepDetails": "",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "Perdita di valore",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "すべてのトークン",
216
217
  "bridgeStepDetails": "{{from}} から {{to}} を {{tool}} でブリッジ",
217
218
  "checkoutStepDetails": "{{tool}} 経由で購入",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "損失額",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "",
216
217
  "bridgeStepDetails": "",
217
218
  "checkoutStepDetails": "",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "가치 손실",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "",
216
217
  "bridgeStepDetails": "",
217
218
  "checkoutStepDetails": "",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": "A diferença percentual máxima entre o preço esperado, e o preço atual pelo qual a transferência é executada. Esse valor pode ser alterado nas configurações."
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "Todas as redes",
215
216
  "allTokens": "Todos os tokens",
216
217
  "bridgeStepDetails": "Ponte de {{from}} para {{to}} via {{tool}}",
217
218
  "checkoutStepDetails": "Comprar via {{tool}}",
@@ -240,7 +241,7 @@
240
241
  "process": {
241
242
  "bridge": {
242
243
  "actionRequired": "Assinar a transação de transferência de fundos entre redes",
243
- "messageRequired": "",
244
+ "messageRequired": "Assinar mensagem da ponte",
244
245
  "done": "Transação da ponte confirmada",
245
246
  "pending": "Transação de transferência de fundos entre redes, pendente",
246
247
  "started": "Preparando a transação da ponte"
@@ -259,7 +260,7 @@
259
260
  },
260
261
  "swap": {
261
262
  "actionRequired": "Assinar transação de troca",
262
- "messageRequired": "",
263
+ "messageRequired": "Assinar mensagem da conversão",
263
264
  "done": "Conversão concluída",
264
265
  "pending": "Transação de troca pendente",
265
266
  "started": "Preparando a transação de conversão"
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "{{amount, numberExt}} {{tokenSymbol}} na {{chainName}}",
311
312
  "tokenSearch": "Pesquisar por token ou endereço",
312
313
  "valueLoss": "Perda de Valor",
313
- "searchChain": "Pesquisar cadeia",
314
- "searchChains": "Pesquisar pelo nome da rede",
315
314
  "searchBridges": "Pesquisar pelo nome da ponte",
316
- "searchExchanges": "Pesquisar pelo nome da corretora"
315
+ "searchExchanges": "Pesquisar pelo nome da corretora",
316
+ "searchNetwork": "Procurar rede"
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "Aparência",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "โทเคนทั้งหมด",
216
217
  "bridgeStepDetails": "บริดจ์จาก{{from}} ไปยัง {{to}} โดย {{tool}}",
217
218
  "checkoutStepDetails": "ซื้อผ่าน {{tool}}",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "มูลค่าที่สูญเสีย",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": "Beklenen fiyat ile transferin gerçekleştirildiği gerçek fiyat arasındaki maksimum yüzde fark. Bu değer ayarlardan değiştirilebilir."
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "Tüm varlıklar",
216
217
  "bridgeStepDetails": "{{tool}} aracılığıyla {{from}} ağından {{to}} ağına köprüle",
217
218
  "checkoutStepDetails": "{{tool}} aracılığıyla alım yap",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "Değer kaybı",
313
- "searchChain": "",
314
- "searchChains": "Zincir adına göre ara",
315
314
  "searchBridges": "Köprü adına göre ara",
316
- "searchExchanges": "Borsa adına göre ara"
315
+ "searchExchanges": "Borsa adına göre ara",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": "Максимальна процентна різниця між очікуваною ціною і фактичною ціною з якою виконується трансфер. Ця величина може бути змінена в налаштуваннях."
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "Всі токени",
216
217
  "bridgeStepDetails": "Бридж з {{from}} до {{to}} через {{tool}}",
217
218
  "checkoutStepDetails": "Купівля через {{tool}}",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "{{amount, numberExt}} {{tokenSymbol}} на {{chainName}}",
311
312
  "tokenSearch": "Шукати за ім'ям або адресою",
312
313
  "valueLoss": "Втрата вартості",
313
- "searchChain": "Шукати чейн",
314
- "searchChains": "Пошук за назвою чейна",
315
314
  "searchBridges": "Пошук за назвою моста",
316
- "searchExchanges": "Пошук за назвою обмінника"
315
+ "searchExchanges": "Пошук за назвою обмінника",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "Вигляд",
@@ -212,6 +212,7 @@
212
212
  "slippage": ""
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "Tất cả mã thông báo",
216
217
  "bridgeStepDetails": "Chuyển từ {{from}} đến {{to}} thông qua {{tool}}",
217
218
  "checkoutStepDetails": "Thanh toán thông qua {{tool}}",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "Bạn sẽ mất",
313
- "searchChain": "",
314
- "searchChains": "",
315
314
  "searchBridges": "",
316
- "searchExchanges": ""
315
+ "searchExchanges": "",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -212,6 +212,7 @@
212
212
  "slippage": "真实的成交价位与预设的成交价位间相差的最大百分比。该值可以在设置中更改。"
213
213
  },
214
214
  "main": {
215
+ "allNetworks": "",
215
216
  "allTokens": "所有代币",
216
217
  "bridgeStepDetails": "通过 {{tool}} 把资产从 {{from}} 链跨到 {{to}} 链上",
217
218
  "checkoutStepDetails": "通过 {{tool}} 购买",
@@ -310,10 +311,9 @@
310
311
  "tokenOnChainAmount": "",
311
312
  "tokenSearch": "",
312
313
  "valueLoss": "资金损失",
313
- "searchChain": "",
314
- "searchChains": "搜索链",
315
314
  "searchBridges": "搜索跨链桥",
316
- "searchExchanges": "搜索交易所"
315
+ "searchExchanges": "搜索交易所",
316
+ "searchNetwork": ""
317
317
  },
318
318
  "settings": {
319
319
  "appearance": "",
@@ -2,12 +2,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect } from 'react';
3
3
  import { useTranslation } from 'react-i18next';
4
4
  import { SearchInput } from '../../components/Search/SearchInput.js';
5
+ import { useChainOrderStore } from '../../stores/chains/ChainOrderStore.js';
5
6
  import { useFieldActions } from '../../stores/form/useFieldActions.js';
6
7
  import { useFieldValues } from '../../stores/form/useFieldValues.js';
7
8
  export const SearchTokenInput = () => {
8
9
  const { t } = useTranslation();
9
10
  const [value] = useFieldValues('tokenSearchFilter');
10
11
  const { setFieldValue, setAsTouched } = useFieldActions();
12
+ const [fromChain, toChain] = useFieldValues('fromChain', 'toChain');
13
+ const isAllNetworks = useChainOrderStore((state) => state.isAllNetworks);
11
14
  const onChange = useCallback((newValue) => {
12
15
  setFieldValue('tokenSearchFilter', newValue, {
13
16
  isDirty: true,
@@ -20,6 +23,8 @@ export const SearchTokenInput = () => {
20
23
  useEffect(() => () => {
21
24
  setFieldValue('tokenSearchFilter', '');
22
25
  }, [setFieldValue]);
23
- return (_jsx(SearchInput, { name: "tokenSearchFilter", placeholder: t('main.tokenSearch'), onChange: (e) => onChange(e.target.value), onBlur: onBlur, onClear: () => setFieldValue('tokenSearchFilter', ''), value: value, autoFocus: true }));
26
+ return (_jsx(SearchInput
27
+ // Reset the search input when a chain or the "All Networks" is changed
28
+ , { name: "tokenSearchFilter", placeholder: t('main.tokenSearch'), onChange: (e) => onChange(e.target.value), onBlur: onBlur, onClear: () => setFieldValue('tokenSearchFilter', ''), value: value, autoFocus: true }, `${fromChain}-${toChain}-${isAllNetworks}`));
24
29
  };
25
30
  //# sourceMappingURL=SearchTokenInput.js.map