@lifi/widget 4.3.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/dist/esm/App.d.ts +0 -1
  2. package/dist/esm/App.d.ts.map +1 -1
  3. package/dist/esm/AppDrawer.d.ts +1 -1
  4. package/dist/esm/AppDrawer.d.ts.map +1 -1
  5. package/dist/esm/components/ActionRow/ActionRow.d.ts +13 -0
  6. package/dist/esm/components/ActionRow/ActionRow.d.ts.map +1 -0
  7. package/dist/esm/components/AmountInput/AmountInput.style.d.ts +9 -0
  8. package/dist/esm/components/AmountInput/AmountInput.style.d.ts.map +1 -0
  9. package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts +7 -0
  10. package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts.map +1 -0
  11. package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts +7 -0
  12. package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts.map +1 -0
  13. package/dist/esm/components/Avatar/Avatar.d.ts +12 -0
  14. package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -0
  15. package/dist/esm/components/Avatar/TokenAvatar.d.ts +14 -0
  16. package/dist/esm/components/Avatar/TokenAvatar.d.ts.map +1 -0
  17. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts +6 -0
  18. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts.map +1 -0
  19. package/dist/esm/components/BaseTransactionButton/types.d.ts +14 -0
  20. package/dist/esm/components/BaseTransactionButton/types.d.ts.map +1 -0
  21. package/dist/esm/components/BottomSheet/types.d.ts +11 -0
  22. package/dist/esm/components/BottomSheet/types.d.ts.map +1 -0
  23. package/dist/esm/components/ButtonTertiary.d.ts +7 -0
  24. package/dist/esm/components/ButtonTertiary.d.ts.map +1 -0
  25. package/dist/esm/components/Card/Card.d.ts +12 -0
  26. package/dist/esm/components/Card/Card.d.ts.map +1 -0
  27. package/dist/esm/components/Card/CardIconButton.d.ts +7 -0
  28. package/dist/esm/components/Card/CardIconButton.d.ts.map +1 -0
  29. package/dist/esm/components/Card/CardTitle.d.ts +9 -0
  30. package/dist/esm/components/Card/CardTitle.d.ts.map +1 -0
  31. package/dist/esm/components/Card/InputCard.d.ts +7 -0
  32. package/dist/esm/components/Card/InputCard.d.ts.map +1 -0
  33. package/dist/esm/components/ChainSelect/ChainSelect.d.ts +7 -0
  34. package/dist/esm/components/ChainSelect/ChainSelect.d.ts.map +1 -0
  35. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +10 -0
  36. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts.map +1 -0
  37. package/dist/esm/components/ContractComponent/ContractComponent.d.ts +7 -0
  38. package/dist/esm/components/ContractComponent/ContractComponent.d.ts.map +1 -0
  39. package/dist/esm/components/ContractComponent/ItemPrice.d.ts +0 -1
  40. package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -1
  41. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +0 -1
  42. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -1
  43. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +0 -1
  44. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -1
  45. package/dist/esm/components/ContractComponent/NFT/types.d.ts +0 -1
  46. package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -1
  47. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts +21 -0
  48. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts.map +1 -0
  49. package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts +16 -0
  50. package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts.map +1 -0
  51. package/dist/esm/components/ExecutionStatusCard/iconKey.js +1 -0
  52. package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -1
  53. package/dist/esm/components/FeeBreakdownTooltip.d.ts +13 -0
  54. package/dist/esm/components/FeeBreakdownTooltip.d.ts.map +1 -0
  55. package/dist/esm/components/IconCircle/IconCircle.d.ts +11 -0
  56. package/dist/esm/components/IconCircle/IconCircle.d.ts.map +1 -0
  57. package/dist/esm/components/IconCircle/statusIcons.d.ts +6 -0
  58. package/dist/esm/components/IconCircle/statusIcons.d.ts.map +1 -0
  59. package/dist/esm/components/IconTypography.d.ts +7 -0
  60. package/dist/esm/components/IconTypography.d.ts.map +1 -0
  61. package/dist/esm/components/ListItem/ListItemButton.d.ts +7 -0
  62. package/dist/esm/components/ListItem/ListItemButton.d.ts.map +1 -0
  63. package/dist/esm/components/ListItemButton.d.ts +7 -0
  64. package/dist/esm/components/ListItemButton.d.ts.map +1 -0
  65. package/dist/esm/components/Messages/WarningMessages.d.ts +11 -0
  66. package/dist/esm/components/Messages/WarningMessages.d.ts.map +1 -0
  67. package/dist/esm/components/PageContainer.d.ts +12 -0
  68. package/dist/esm/components/PageContainer.d.ts.map +1 -0
  69. package/dist/esm/components/PoweredBy/PoweredBy.d.ts +5 -0
  70. package/dist/esm/components/PoweredBy/PoweredBy.d.ts.map +1 -0
  71. package/dist/esm/components/ProgressToNextUpdate.d.ts +10 -0
  72. package/dist/esm/components/ProgressToNextUpdate.d.ts.map +1 -0
  73. package/dist/esm/components/RouteCard/RouteCard.d.ts +7 -0
  74. package/dist/esm/components/RouteCard/RouteCard.d.ts.map +1 -0
  75. package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts +7 -0
  76. package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts.map +1 -0
  77. package/dist/esm/components/RouteCard/RouteDetails.d.ts +10 -0
  78. package/dist/esm/components/RouteCard/RouteDetails.d.ts.map +1 -0
  79. package/dist/esm/components/RouteCard/RouteDetails.style.d.ts +12 -0
  80. package/dist/esm/components/RouteCard/RouteDetails.style.d.ts.map +1 -0
  81. package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts +5 -0
  82. package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts.map +1 -0
  83. package/dist/esm/components/RouteCard/RouteTokens.d.ts +11 -0
  84. package/dist/esm/components/RouteCard/RouteTokens.d.ts.map +1 -0
  85. package/dist/esm/components/RouteCard/RouteTokens.js +2 -2
  86. package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -1
  87. package/dist/esm/components/RouteCard/types.d.ts +14 -0
  88. package/dist/esm/components/RouteCard/types.d.ts.map +1 -0
  89. package/dist/esm/components/Search/SearchInput.d.ts +17 -0
  90. package/dist/esm/components/Search/SearchInput.d.ts.map +1 -0
  91. package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts +10 -0
  92. package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts.map +1 -0
  93. package/dist/esm/components/SendToWallet/SendToWalletButton.js +15 -6
  94. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  95. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +1 -4
  96. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -1
  97. package/dist/esm/components/StepActions/SentToWalletRow.d.ts +9 -0
  98. package/dist/esm/components/StepActions/SentToWalletRow.d.ts.map +1 -0
  99. package/dist/esm/components/StepActions/StepActionRow.style.d.ts +7 -0
  100. package/dist/esm/components/StepActions/StepActionRow.style.d.ts.map +1 -0
  101. package/dist/esm/components/StepActions/StepActionsList.d.ts +12 -0
  102. package/dist/esm/components/StepActions/StepActionsList.d.ts.map +1 -0
  103. package/dist/esm/components/StepActions/executionRows.d.ts +26 -0
  104. package/dist/esm/components/StepActions/executionRows.d.ts.map +1 -0
  105. package/dist/esm/components/Token/Token.d.ts +17 -0
  106. package/dist/esm/components/Token/Token.d.ts.map +1 -0
  107. package/dist/esm/components/TokenList/TokenNotFound.d.ts +6 -0
  108. package/dist/esm/components/TokenList/TokenNotFound.d.ts.map +1 -0
  109. package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts +7 -0
  110. package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts.map +1 -0
  111. package/dist/esm/components/TokenList/types.d.ts +20 -0
  112. package/dist/esm/components/TokenList/types.d.ts.map +1 -0
  113. package/dist/esm/components/TokenList/useTokenSelect.d.ts +6 -0
  114. package/dist/esm/components/TokenList/useTokenSelect.d.ts.map +1 -0
  115. package/dist/esm/components/TokenRate/TokenRate.d.ts +10 -0
  116. package/dist/esm/components/TokenRate/TokenRate.d.ts.map +1 -0
  117. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +1 -0
  118. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -1
  119. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +9 -0
  120. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -1
  121. package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts +8 -0
  122. package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts.map +1 -0
  123. package/dist/esm/config/constants.d.ts.map +1 -1
  124. package/dist/esm/config/version.d.ts +1 -1
  125. package/dist/esm/config/version.d.ts.map +1 -1
  126. package/dist/esm/config/version.js +1 -1
  127. package/dist/esm/config/version.js.map +1 -1
  128. package/dist/esm/hooks/useAddressActivity.d.ts +11 -0
  129. package/dist/esm/hooks/useAddressActivity.d.ts.map +1 -0
  130. package/dist/esm/hooks/useAddressValidation.d.ts +28 -0
  131. package/dist/esm/hooks/useAddressValidation.d.ts.map +1 -0
  132. package/dist/esm/hooks/useAddressValidation.js +6 -1
  133. package/dist/esm/hooks/useAddressValidation.js.map +1 -1
  134. package/dist/esm/hooks/useAvailableChains.d.ts +12 -0
  135. package/dist/esm/hooks/useAvailableChains.d.ts.map +1 -0
  136. package/dist/esm/hooks/useChain.d.ts +10 -0
  137. package/dist/esm/hooks/useChain.d.ts.map +1 -0
  138. package/dist/esm/hooks/useContactSupport.d.ts +5 -0
  139. package/dist/esm/hooks/useContactSupport.d.ts.map +1 -0
  140. package/dist/esm/hooks/useDebouncedWatch.d.ts +6 -0
  141. package/dist/esm/hooks/useDebouncedWatch.d.ts.map +1 -0
  142. package/dist/esm/hooks/useDisplayedTokens.js +48 -0
  143. package/dist/esm/hooks/useDisplayedTokens.js.map +1 -0
  144. package/dist/esm/hooks/useExplorer.d.ts +14 -0
  145. package/dist/esm/hooks/useExplorer.d.ts.map +1 -0
  146. package/dist/esm/hooks/useHeader.d.ts +6 -0
  147. package/dist/esm/hooks/useHeader.d.ts.map +1 -0
  148. package/dist/esm/hooks/useListHeight.d.ts +12 -0
  149. package/dist/esm/hooks/useListHeight.d.ts.map +1 -0
  150. package/dist/esm/hooks/useListHeight.js +1 -0
  151. package/dist/esm/hooks/useListHeight.js.map +1 -1
  152. package/dist/esm/hooks/useNavigateBack.d.ts +5 -0
  153. package/dist/esm/hooks/useNavigateBack.d.ts.map +1 -0
  154. package/dist/esm/hooks/usePacedRouteExecution.js +1 -0
  155. package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -1
  156. package/dist/esm/hooks/useRouteExecution.d.ts +18 -0
  157. package/dist/esm/hooks/useRouteExecution.d.ts.map +1 -0
  158. package/dist/esm/hooks/useRouteExecutionMessage.d.ts +10 -0
  159. package/dist/esm/hooks/useRouteExecutionMessage.d.ts.map +1 -0
  160. package/dist/esm/hooks/useRouteExecutionMessage.js +1 -0
  161. package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -1
  162. package/dist/esm/hooks/useRoutes.d.ts +32 -0
  163. package/dist/esm/hooks/useRoutes.d.ts.map +1 -0
  164. package/dist/esm/hooks/useRoutes.js +12 -8
  165. package/dist/esm/hooks/useRoutes.js.map +1 -1
  166. package/dist/esm/hooks/useToAddressRequirements.d.ts +16 -0
  167. package/dist/esm/hooks/useToAddressRequirements.d.ts.map +1 -0
  168. package/dist/esm/hooks/useToken.d.ts +9 -0
  169. package/dist/esm/hooks/useToken.d.ts.map +1 -0
  170. package/dist/esm/hooks/useTokenAddressBalance.d.ts +11 -0
  171. package/dist/esm/hooks/useTokenAddressBalance.d.ts.map +1 -0
  172. package/dist/esm/hooks/useTokenBalances.d.ts +14 -0
  173. package/dist/esm/hooks/useTokenBalances.d.ts.map +1 -0
  174. package/dist/esm/hooks/useTokenBalances.js +5 -45
  175. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  176. package/dist/esm/hooks/useTokenList.d.ts +16 -0
  177. package/dist/esm/hooks/useTokenList.d.ts.map +1 -0
  178. package/dist/esm/hooks/useTokenList.js +31 -0
  179. package/dist/esm/hooks/useTokenList.js.map +1 -0
  180. package/dist/esm/hooks/useTools.d.ts +8 -0
  181. package/dist/esm/hooks/useTools.d.ts.map +1 -0
  182. package/dist/esm/hooks/useTransactionDetails.js +1 -3
  183. package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
  184. package/dist/esm/hooks/useTransactionList.js +1 -0
  185. package/dist/esm/hooks/useTransactionList.js.map +1 -1
  186. package/dist/esm/hooks/useWidgetChains.d.ts +0 -1
  187. package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -1
  188. package/dist/esm/hooks/useWidgetEvents.d.ts +0 -1
  189. package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -1
  190. package/dist/esm/i18n/en.json +321 -0
  191. package/dist/esm/index.d.ts +1 -0
  192. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +1 -0
  193. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -1
  194. package/dist/esm/pages/MainPage/MainWarningMessages.d.ts +10 -0
  195. package/dist/esm/pages/MainPage/MainWarningMessages.d.ts.map +1 -0
  196. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts +7 -0
  197. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts.map +1 -0
  198. package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts +6 -0
  199. package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts.map +1 -0
  200. package/dist/esm/pages/SelectChainPage/types.d.ts +8 -0
  201. package/dist/esm/pages/SelectChainPage/types.d.ts.map +1 -0
  202. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts +10 -0
  203. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts.map +1 -0
  204. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts +9 -0
  205. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts.map +1 -0
  206. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts +14 -0
  207. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts.map +1 -0
  208. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts +19 -0
  209. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts.map +1 -0
  210. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts +12 -0
  211. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts.map +1 -0
  212. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +1 -0
  213. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -1
  214. package/dist/esm/pages/TransactionPage/RouteTracker.d.ts +11 -0
  215. package/dist/esm/pages/TransactionPage/RouteTracker.d.ts.map +1 -0
  216. package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts +6 -0
  217. package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts.map +1 -0
  218. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts +15 -0
  219. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts.map +1 -0
  220. package/dist/esm/pages/TransactionPage/TransactionContent.js +1 -0
  221. package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -1
  222. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts +12 -0
  223. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts.map +1 -0
  224. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +1 -0
  225. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -1
  226. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +1 -0
  227. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -1
  228. package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -0
  229. package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
  230. package/dist/esm/pages/TransactionPage/types.d.ts +9 -0
  231. package/dist/esm/pages/TransactionPage/types.d.ts.map +1 -0
  232. package/dist/esm/pages/TransactionPage/utils.d.ts +6 -0
  233. package/dist/esm/pages/TransactionPage/utils.d.ts.map +1 -0
  234. package/dist/esm/providers/I18nProvider/I18nProvider.d.ts +5 -0
  235. package/dist/esm/providers/I18nProvider/I18nProvider.d.ts.map +1 -0
  236. package/dist/esm/providers/I18nProvider/types.d.ts +2 -3
  237. package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -1
  238. package/dist/esm/providers/QueryClientProvider.d.ts +6 -0
  239. package/dist/esm/providers/QueryClientProvider.d.ts.map +1 -0
  240. package/dist/esm/providers/SDKClientProvider.d.ts +8 -0
  241. package/dist/esm/providers/SDKClientProvider.d.ts.map +1 -0
  242. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +10 -0
  243. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts.map +1 -0
  244. package/dist/esm/providers/WalletProvider/WalletProvider.js +8 -3
  245. package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
  246. package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts +8 -0
  247. package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  248. package/dist/esm/providers/WidgetProvider/types.d.ts +11 -0
  249. package/dist/esm/providers/WidgetProvider/types.d.ts.map +1 -0
  250. package/dist/esm/shared.d.ts +107 -0
  251. package/dist/esm/shared.js +105 -0
  252. package/dist/esm/stores/StoreProvider.d.ts +7 -0
  253. package/dist/esm/stores/StoreProvider.d.ts.map +1 -0
  254. package/dist/esm/stores/bookmarks/BookmarkStore.d.ts +7 -0
  255. package/dist/esm/stores/bookmarks/BookmarkStore.d.ts.map +1 -0
  256. package/dist/esm/stores/bookmarks/types.d.ts +0 -1
  257. package/dist/esm/stores/bookmarks/types.d.ts.map +1 -1
  258. package/dist/esm/stores/chains/ChainOrderStore.d.ts +8 -0
  259. package/dist/esm/stores/chains/ChainOrderStore.d.ts.map +1 -0
  260. package/dist/esm/stores/chains/types.d.ts +27 -0
  261. package/dist/esm/stores/chains/types.d.ts.map +1 -0
  262. package/dist/esm/stores/form/createFormStore.js +1 -0
  263. package/dist/esm/stores/form/createFormStore.js.map +1 -1
  264. package/dist/esm/stores/form/types.d.ts +7 -7
  265. package/dist/esm/stores/form/types.d.ts.map +1 -1
  266. package/dist/esm/stores/form/types.js.map +1 -1
  267. package/dist/esm/stores/form/useFieldActions.d.ts +0 -1
  268. package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -1
  269. package/dist/esm/stores/form/useFieldValues.d.ts +0 -1
  270. package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -1
  271. package/dist/esm/stores/header/types.d.ts +20 -0
  272. package/dist/esm/stores/header/types.d.ts.map +1 -0
  273. package/dist/esm/stores/header/useHeaderStore.d.ts +8 -0
  274. package/dist/esm/stores/header/useHeaderStore.d.ts.map +1 -0
  275. package/dist/esm/stores/inputMode/useInputModeStore.d.ts +13 -0
  276. package/dist/esm/stores/inputMode/useInputModeStore.d.ts.map +1 -0
  277. package/dist/esm/stores/routes/RouteExecutionStore.d.ts +9 -0
  278. package/dist/esm/stores/routes/RouteExecutionStore.d.ts.map +1 -0
  279. package/dist/esm/stores/routes/createRouteExecutionStore.js +1 -0
  280. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  281. package/dist/esm/stores/routes/types.d.ts +24 -0
  282. package/dist/esm/stores/routes/types.d.ts.map +1 -0
  283. package/dist/esm/stores/routes/types.js +14 -0
  284. package/dist/esm/stores/routes/types.js.map +1 -0
  285. package/dist/esm/stores/routes/useRouteExecutionIndicator.js +1 -0
  286. package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -1
  287. package/dist/esm/stores/routes/utils.d.ts +9 -0
  288. package/dist/esm/stores/routes/utils.d.ts.map +1 -0
  289. package/dist/esm/stores/settings/SettingsStore.d.ts +8 -0
  290. package/dist/esm/stores/settings/SettingsStore.d.ts.map +1 -0
  291. package/dist/esm/stores/settings/types.d.ts +5 -2
  292. package/dist/esm/stores/settings/types.d.ts.map +1 -1
  293. package/dist/esm/stores/types.d.ts +9 -0
  294. package/dist/esm/stores/types.d.ts.map +1 -0
  295. package/dist/esm/themes/azureLight.d.ts +0 -1
  296. package/dist/esm/themes/azureLight.d.ts.map +1 -1
  297. package/dist/esm/themes/createTheme.d.ts +0 -1
  298. package/dist/esm/themes/createTheme.d.ts.map +1 -1
  299. package/dist/esm/themes/jumper.d.ts +0 -1
  300. package/dist/esm/themes/jumper.d.ts.map +1 -1
  301. package/dist/esm/themes/palettes.d.ts.map +1 -1
  302. package/dist/esm/themes/types.d.ts +0 -1
  303. package/dist/esm/themes/types.d.ts.map +1 -1
  304. package/dist/esm/themes/watermelonLight.d.ts +0 -1
  305. package/dist/esm/themes/watermelonLight.d.ts.map +1 -1
  306. package/dist/esm/themes/windows95.d.ts +0 -1
  307. package/dist/esm/themes/windows95.d.ts.map +1 -1
  308. package/dist/esm/types/events.d.ts +4 -3
  309. package/dist/esm/types/events.d.ts.map +1 -1
  310. package/dist/esm/types/token.d.ts +1 -2
  311. package/dist/esm/types/token.d.ts.map +1 -1
  312. package/dist/esm/types/widget.d.ts +72 -73
  313. package/dist/esm/types/widget.d.ts.map +1 -1
  314. package/dist/esm/utils/compactNumberFormatter.d.ts +8 -8
  315. package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -1
  316. package/dist/esm/utils/converters.d.ts +7 -0
  317. package/dist/esm/utils/converters.d.ts.map +1 -0
  318. package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -1
  319. package/dist/esm/utils/elements.d.ts +11 -0
  320. package/dist/esm/utils/elements.d.ts.map +1 -0
  321. package/dist/esm/utils/elements.js +8 -1
  322. package/dist/esm/utils/elements.js.map +1 -1
  323. package/dist/esm/utils/enum.d.ts +5 -0
  324. package/dist/esm/utils/enum.d.ts.map +1 -0
  325. package/dist/esm/utils/fees.d.ts +17 -0
  326. package/dist/esm/utils/fees.d.ts.map +1 -0
  327. package/dist/esm/utils/format.d.ts +14 -14
  328. package/dist/esm/utils/format.d.ts.map +1 -1
  329. package/dist/esm/utils/getPriceImpact.d.ts +1 -7
  330. package/dist/esm/utils/getPriceImpact.d.ts.map +1 -1
  331. package/dist/esm/utils/input.d.ts +5 -0
  332. package/dist/esm/utils/input.d.ts.map +1 -0
  333. package/dist/esm/utils/navigationRoutes.d.ts.map +1 -1
  334. package/dist/esm/utils/percentFormatter.d.ts +5 -5
  335. package/dist/esm/utils/percentFormatter.d.ts.map +1 -1
  336. package/dist/esm/utils/tokenList.js +3 -3
  337. package/dist/esm/utils/tokenList.js.map +1 -1
  338. package/dist/esm/utils/wallet.d.ts +5 -0
  339. package/dist/esm/utils/wallet.d.ts.map +1 -0
  340. package/package.json +28 -20
  341. package/src/components/RouteCard/RouteTokens.tsx +3 -2
  342. package/src/components/SendToWallet/SendToWalletButton.tsx +27 -5
  343. package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +11 -0
  344. package/src/config/version.ts +1 -1
  345. package/src/hooks/useDisplayedTokens.ts +70 -0
  346. package/src/hooks/useListHeight.ts +4 -0
  347. package/src/hooks/useRoutes.ts +360 -325
  348. package/src/hooks/useTokenBalances.ts +8 -53
  349. package/src/hooks/useTokenList.ts +59 -0
  350. package/src/hooks/useTransactionDetails.ts +1 -3
  351. package/src/providers/WalletProvider/WalletProvider.tsx +15 -3
  352. package/src/shared.ts +191 -0
  353. package/src/stores/form/createFormStore.ts +1 -0
  354. package/src/stores/form/types.ts +1 -0
  355. package/src/utils/tokenList.ts +3 -3
@@ -0,0 +1,9 @@
1
+ import { TokenExtended } from "@lifi/sdk";
2
+ //#region src/hooks/useToken.d.ts
3
+ declare const useToken: (chainId?: number, tokenAddress?: string, latest?: boolean) => {
4
+ token: TokenExtended | undefined;
5
+ isLoading: boolean;
6
+ };
7
+ //#endregion
8
+ export { useToken };
9
+ //# sourceMappingURL=useToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToken.d.ts","names":[],"sources":["../../../src/hooks/useToken.ts"],"mappings":";;cAKa,WACX,kBACA,uBACA;EAEA,OAAO;EACP"}
@@ -0,0 +1,11 @@
1
+ import { ExtendedChain, TokenAmount } from "@lifi/sdk";
2
+ //#region src/hooks/useTokenAddressBalance.d.ts
3
+ declare const useTokenAddressBalance: (chainId?: number, tokenAddress?: string) => {
4
+ token: TokenAmount;
5
+ chain: ExtendedChain | undefined;
6
+ isLoading: boolean;
7
+ refetch: () => void;
8
+ };
9
+ //#endregion
10
+ export { useTokenAddressBalance };
11
+ //# sourceMappingURL=useTokenAddressBalance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenAddressBalance.d.ts","names":[],"sources":["../../../src/hooks/useTokenAddressBalance.ts"],"mappings":";;cAMa,yBACX,kBACA;EAEA,OAAO;EACP,OAAO;EACP;EACA"}
@@ -0,0 +1,14 @@
1
+ import { FormType } from "../stores/form/types.js";
2
+ import { TokenAmount } from "../types/token.js";
3
+ //#region src/hooks/useTokenBalances.d.ts
4
+ declare const useTokenBalances: (selectedChainId?: number, formType?: FormType, isAllNetworks?: boolean, search?: string) => {
5
+ tokens: TokenAmount[];
6
+ withCategories: boolean;
7
+ withPinnedTokens: boolean;
8
+ isTokensLoading: boolean;
9
+ isSearchLoading: boolean;
10
+ isBalanceLoading: boolean;
11
+ };
12
+ //#endregion
13
+ export { useTokenBalances };
14
+ //# sourceMappingURL=useTokenBalances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenBalances.d.ts","names":[],"sources":["../../../src/hooks/useTokenBalances.ts"],"mappings":";;;cAWa,mBACX,0BACA,WAAW,UACX,yBACA;EAEA,QAAQ;EACR;EACA;EACA;EACA;EACA"}
@@ -1,59 +1,19 @@
1
1
  import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
2
  import { formatTokenPrice } from "../utils/format.js";
3
3
  import { useSettings } from "../stores/settings/useSettings.js";
4
- import { useTokens } from "./useTokens.js";
5
- import { usePinnedTokensStore } from "../stores/pinnedTokens/PinnedTokensStore.js";
6
- import { isSearchMatch, processTokenBalances } from "../utils/tokenList.js";
4
+ import { isSearchMatch, processTokenList } from "../utils/tokenList.js";
7
5
  import { useAccountsBalancesData } from "./useAccountsBalancesData.js";
6
+ import { useDisplayedTokens } from "./useDisplayedTokens.js";
8
7
  import { useTokenBalancesQueries } from "./useTokenBalancesQueries.js";
9
8
  import { useMemo } from "react";
10
9
  //#region src/hooks/useTokenBalances.ts
11
10
  const useTokenBalances = (selectedChainId, formType, isAllNetworks, search) => {
12
- const { hiddenUI } = useWidgetConfig();
13
- const { allTokens, isLoading: isTokensLoading, isSearchLoading } = useTokens(formType, search, isAllNetworks ? void 0 : selectedChainId);
11
+ const { hiddenUI, tokens: configTokens } = useWidgetConfig();
12
+ const { allTokens, displayedTokensList, isPinnedToken, isTokensLoading, isSearchLoading } = useDisplayedTokens(selectedChainId, formType, isAllNetworks, search);
14
13
  const { data: accountsWithAllTokens, isLoading: isAccountsLoading } = useAccountsBalancesData(selectedChainId, formType, isAllNetworks, allTokens);
15
14
  const { data: allTokensWithBalances, isLoading: isBalanceQueriesLoading } = useTokenBalancesQueries(accountsWithAllTokens, Boolean(accountsWithAllTokens) && !isAccountsLoading);
16
- const { tokens: configTokens } = useWidgetConfig();
17
15
  const { smallBalanceThreshold } = useSettings(["smallBalanceThreshold"]);
18
- const pinnedTokens = usePinnedTokensStore((state) => state.pinnedTokens);
19
16
  const isBalanceLoading = (isBalanceQueriesLoading || isAccountsLoading) && !allTokensWithBalances?.length;
20
- const isPinnedToken = useMemo(() => {
21
- if (isAllNetworks) {
22
- const allPinned = [];
23
- Object.entries(pinnedTokens).forEach(([chainIdStr, addresses]) => {
24
- const chainId = Number.parseInt(chainIdStr, 10);
25
- addresses.forEach((address) => {
26
- allPinned.push({
27
- chainId,
28
- tokenAddress: address
29
- });
30
- });
31
- });
32
- const pinnedSet = new Set(allPinned.map((p) => `${p.chainId}-${p.tokenAddress.toLowerCase()}`));
33
- return (chainId, tokenAddress) => {
34
- const key = `${chainId}-${tokenAddress.toLowerCase()}`;
35
- return pinnedSet.has(key);
36
- };
37
- } else if (selectedChainId) {
38
- const chainPinnedTokens = pinnedTokens[selectedChainId] || [];
39
- const pinnedSet = new Set(chainPinnedTokens.map((addr) => addr.toLowerCase()));
40
- return (chainId, tokenAddress) => {
41
- return chainId === selectedChainId && pinnedSet.has(tokenAddress.toLowerCase());
42
- };
43
- }
44
- }, [
45
- isAllNetworks,
46
- selectedChainId,
47
- pinnedTokens
48
- ]);
49
- const displayedTokensList = useMemo(() => {
50
- return (isAllNetworks ? Object.values(allTokens ?? {}).flat() : selectedChainId ? allTokens?.[selectedChainId] : void 0)?.filter((t) => isSearchMatch(t, search)) ?? [];
51
- }, [
52
- allTokens,
53
- isAllNetworks,
54
- selectedChainId,
55
- search
56
- ]);
57
17
  const displayedTokensWithBalances = useMemo(() => {
58
18
  const balancesByChain = isAllNetworks ? allTokensWithBalances : selectedChainId ? allTokensWithBalances?.filter((t) => t.chainId === selectedChainId) : void 0;
59
19
  const displayedTokensSet = new Set(displayedTokensList?.map((t) => `${t.chainId}-${t.address.toLowerCase()}`) || []);
@@ -85,7 +45,7 @@ const useTokenBalances = (selectedChainId, formType, isAllNetworks, search) => {
85
45
  hiddenUI
86
46
  ]);
87
47
  const { processedTokens, withCategories, withPinnedTokens } = useMemo(() => {
88
- return processTokenBalances(isBalanceLoading, isAllNetworks || !!search, configTokens, selectedChainId, displayedTokensList, displayedTokensWithBalances, isPinnedToken);
48
+ return processTokenList(isBalanceLoading, isAllNetworks || !!search, configTokens, selectedChainId, displayedTokensList, displayedTokensWithBalances, isPinnedToken);
89
49
  }, [
90
50
  isBalanceLoading,
91
51
  isAllNetworks,
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenBalances.js","names":[],"sources":["../../../src/hooks/useTokenBalances.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport type { FormType } from '../stores/form/types.js'\nimport { usePinnedTokensStore } from '../stores/pinnedTokens/PinnedTokensStore.js'\nimport { useSettings } from '../stores/settings/useSettings.js'\nimport type { TokenAmount } from '../types/token.js'\nimport { formatTokenPrice } from '../utils/format.js'\nimport { isSearchMatch, processTokenBalances } from '../utils/tokenList.js'\nimport { useAccountsBalancesData } from './useAccountsBalancesData.js'\nimport { useTokenBalancesQueries } from './useTokenBalancesQueries.js'\nimport { useTokens } from './useTokens.js'\n\nexport const useTokenBalances = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n search?: string\n): {\n tokens: TokenAmount[]\n withCategories: boolean\n withPinnedTokens: boolean\n isTokensLoading: boolean\n isSearchLoading: boolean\n isBalanceLoading: boolean\n} => {\n const { hiddenUI } = useWidgetConfig()\n const {\n allTokens,\n isLoading: isTokensLoading,\n isSearchLoading,\n } = useTokens(formType, search, isAllNetworks ? undefined : selectedChainId)\n\n const { data: accountsWithAllTokens, isLoading: isAccountsLoading } =\n useAccountsBalancesData(selectedChainId, formType, isAllNetworks, allTokens)\n\n const isBalanceLoadingEnabled =\n Boolean(accountsWithAllTokens) && !isAccountsLoading\n\n const { data: allTokensWithBalances, isLoading: isBalanceQueriesLoading } =\n useTokenBalancesQueries(accountsWithAllTokens, isBalanceLoadingEnabled)\n\n const { tokens: configTokens } = useWidgetConfig()\n const { smallBalanceThreshold } = useSettings(['smallBalanceThreshold'])\n\n const pinnedTokens = usePinnedTokensStore((state) => state.pinnedTokens)\n\n const isBalanceLoading =\n (isBalanceQueriesLoading || isAccountsLoading) &&\n !allTokensWithBalances?.length\n\n // Create function to check if token is pinned\n const isPinnedToken = useMemo(() => {\n if (isAllNetworks) {\n // For all networks, check all pinned tokens\n const allPinned: Array<{ chainId: number; tokenAddress: string }> = []\n Object.entries(pinnedTokens).forEach(([chainIdStr, addresses]) => {\n const chainId = Number.parseInt(chainIdStr, 10)\n addresses.forEach((address) => {\n allPinned.push({ chainId, tokenAddress: address })\n })\n })\n const pinnedSet = new Set(\n allPinned.map((p) => `${p.chainId}-${p.tokenAddress.toLowerCase()}`)\n )\n return (chainId: number, tokenAddress: string) => {\n const key = `${chainId}-${tokenAddress.toLowerCase()}`\n return pinnedSet.has(key)\n }\n } else if (selectedChainId) {\n // For single chain, check only selected chain\n const chainPinnedTokens = pinnedTokens[selectedChainId] || []\n const pinnedSet = new Set(\n chainPinnedTokens.map((addr) => addr.toLowerCase())\n )\n return (chainId: number, tokenAddress: string) => {\n return (\n chainId === selectedChainId &&\n pinnedSet.has(tokenAddress.toLowerCase())\n )\n }\n }\n return undefined\n }, [isAllNetworks, selectedChainId, pinnedTokens])\n\n const displayedTokensList = useMemo(() => {\n const tokensByChain = isAllNetworks\n ? Object.values(allTokens ?? {}).flat()\n : selectedChainId\n ? allTokens?.[selectedChainId]\n : undefined\n return tokensByChain?.filter((t) => isSearchMatch(t, search)) ?? []\n }, [allTokens, isAllNetworks, selectedChainId, search])\n\n const displayedTokensWithBalances = useMemo(() => {\n const balancesByChain = isAllNetworks\n ? allTokensWithBalances\n : selectedChainId\n ? allTokensWithBalances?.filter((t) => t.chainId === selectedChainId)\n : undefined\n const displayedTokensSet = new Set(\n displayedTokensList?.map(\n (t) => `${t.chainId}-${t.address.toLowerCase()}`\n ) || []\n )\n\n const hideSmallBalances =\n !!smallBalanceThreshold && !hiddenUI?.hideSmallBalances\n const threshold = hideSmallBalances\n ? Number.parseFloat(smallBalanceThreshold)\n : undefined\n\n if (!balancesByChain) {\n return undefined\n }\n\n return balancesByChain.reduce<typeof balancesByChain>((acc, token) => {\n const tokenKey = `${token.chainId}-${token.address.toLowerCase()}`\n // Check if token is in displayed list and has amount\n const isInDisplayedList = displayedTokensSet.has(tokenKey) && token.amount\n // Check if it matches search (for cached appended tokens)\n const matchesSearch = isSearchMatch(token, search)\n\n // Filter: only include tokens that match our criteria\n if (!isInDisplayedList && !matchesSearch) {\n return acc\n }\n\n // Apply small balance threshold transformation if enabled\n let processedToken = token\n if (\n hideSmallBalances &&\n threshold !== undefined &&\n threshold >= 0 &&\n token.amount\n ) {\n const balanceUSD = formatTokenPrice(\n token.amount,\n token.priceUSD,\n token.decimals\n )\n if (balanceUSD < threshold) {\n processedToken = {\n ...token,\n amount: 0n,\n }\n }\n }\n\n acc.push(processedToken)\n return acc\n }, [])\n }, [\n allTokensWithBalances,\n displayedTokensList,\n search,\n selectedChainId,\n isAllNetworks,\n smallBalanceThreshold,\n hiddenUI,\n ])\n\n const { processedTokens, withCategories, withPinnedTokens } = useMemo(() => {\n return processTokenBalances(\n isBalanceLoading,\n isAllNetworks || !!search,\n configTokens,\n selectedChainId,\n displayedTokensList,\n displayedTokensWithBalances,\n isPinnedToken\n )\n }, [\n isBalanceLoading,\n isAllNetworks,\n configTokens,\n selectedChainId,\n displayedTokensList,\n displayedTokensWithBalances,\n search,\n isPinnedToken,\n ])\n\n return {\n tokens: processedTokens ?? [],\n withCategories,\n withPinnedTokens,\n isTokensLoading,\n isSearchLoading,\n isBalanceLoading,\n }\n}\n"],"mappings":";;;;;;;;;;AAYA,MAAa,oBACX,iBACA,UACA,eACA,WAQG;CACH,MAAM,EAAE,aAAa,gBAAgB;CACrC,MAAM,EACJ,WACA,WAAW,iBACX,oBACE,UAAU,UAAU,QAAQ,gBAAgB,KAAA,IAAY,eAAe;CAE3E,MAAM,EAAE,MAAM,uBAAuB,WAAW,sBAC9C,wBAAwB,iBAAiB,UAAU,eAAe,SAAS;CAK7E,MAAM,EAAE,MAAM,uBAAuB,WAAW,4BAC9C,wBAAwB,uBAHxB,QAAQ,qBAAqB,KAAK,CAAC,iBAGmC;CAExE,MAAM,EAAE,QAAQ,iBAAiB,gBAAgB;CACjD,MAAM,EAAE,0BAA0B,YAAY,CAAC,uBAAuB,CAAC;CAEvE,MAAM,eAAe,sBAAsB,UAAU,MAAM,YAAY;CAEvE,MAAM,oBACH,2BAA2B,sBAC5B,CAAC,uBAAuB;CAG1B,MAAM,gBAAgB,cAAc;EAClC,IAAI,eAAe;GAEjB,MAAM,YAA8D,CAAC;GACrE,OAAO,QAAQ,YAAY,CAAC,CAAC,SAAS,CAAC,YAAY,eAAe;IAChE,MAAM,UAAU,OAAO,SAAS,YAAY,EAAE;IAC9C,UAAU,SAAS,YAAY;KAC7B,UAAU,KAAK;MAAE;MAAS,cAAc;KAAQ,CAAC;IACnD,CAAC;GACH,CAAC;GACD,MAAM,YAAY,IAAI,IACpB,UAAU,KAAK,MAAM,GAAG,EAAE,QAAQ,GAAG,EAAE,aAAa,YAAY,GAAG,CACrE;GACA,QAAQ,SAAiB,iBAAyB;IAChD,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,YAAY;IACnD,OAAO,UAAU,IAAI,GAAG;GAC1B;EACF,OAAO,IAAI,iBAAiB;GAE1B,MAAM,oBAAoB,aAAa,oBAAoB,CAAC;GAC5D,MAAM,YAAY,IAAI,IACpB,kBAAkB,KAAK,SAAS,KAAK,YAAY,CAAC,CACpD;GACA,QAAQ,SAAiB,iBAAyB;IAChD,OACE,YAAY,mBACZ,UAAU,IAAI,aAAa,YAAY,CAAC;GAE5C;EACF;CAEF,GAAG;EAAC;EAAe;EAAiB;CAAY,CAAC;CAEjD,MAAM,sBAAsB,cAAc;EAMxC,QALsB,gBAClB,OAAO,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,IACpC,kBACE,YAAY,mBACZ,KAAA,EAAA,EACgB,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;CACpE,GAAG;EAAC;EAAW;EAAe;EAAiB;CAAM,CAAC;CAEtD,MAAM,8BAA8B,cAAc;EAChD,MAAM,kBAAkB,gBACpB,wBACA,kBACE,uBAAuB,QAAQ,MAAM,EAAE,YAAY,eAAe,IAClE,KAAA;EACN,MAAM,qBAAqB,IAAI,IAC7B,qBAAqB,KAClB,MAAM,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,YAAY,GAC/C,KAAK,CAAC,CACR;EAEA,MAAM,oBACJ,CAAC,CAAC,yBAAyB,CAAC,UAAU;EACxC,MAAM,YAAY,oBACd,OAAO,WAAW,qBAAqB,IACvC,KAAA;EAEJ,IAAI,CAAC,iBACH;EAGF,OAAO,gBAAgB,QAAgC,KAAK,UAAU;GACpE,MAAM,WAAW,GAAG,MAAM,QAAQ,GAAG,MAAM,QAAQ,YAAY;GAE/D,MAAM,oBAAoB,mBAAmB,IAAI,QAAQ,KAAK,MAAM;GAEpE,MAAM,gBAAgB,cAAc,OAAO,MAAM;GAGjD,IAAI,CAAC,qBAAqB,CAAC,eACzB,OAAO;GAIT,IAAI,iBAAiB;GACrB,IACE,qBACA,cAAc,KAAA,KACd,aAAa,KACb,MAAM;QAEa,iBACjB,MAAM,QACN,MAAM,UACN,MAAM,QAEK,IAAI,WACf,iBAAiB;KACf,GAAG;KACH,QAAQ;IACV;GAAA;GAIJ,IAAI,KAAK,cAAc;GACvB,OAAO;EACT,GAAG,CAAC,CAAC;CACP,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,iBAAiB,gBAAgB,qBAAqB,cAAc;EAC1E,OAAO,qBACL,kBACA,iBAAiB,CAAC,CAAC,QACnB,cACA,iBACA,qBACA,6BACA,aACF;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OAAO;EACL,QAAQ,mBAAmB,CAAC;EAC5B;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"useTokenBalances.js","names":[],"sources":["../../../src/hooks/useTokenBalances.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport type { FormType } from '../stores/form/types.js'\nimport { useSettings } from '../stores/settings/useSettings.js'\nimport type { TokenAmount } from '../types/token.js'\nimport { formatTokenPrice } from '../utils/format.js'\nimport { isSearchMatch, processTokenList } from '../utils/tokenList.js'\nimport { useAccountsBalancesData } from './useAccountsBalancesData.js'\nimport { useDisplayedTokens } from './useDisplayedTokens.js'\nimport { useTokenBalancesQueries } from './useTokenBalancesQueries.js'\n\nexport const useTokenBalances = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n search?: string\n): {\n tokens: TokenAmount[]\n withCategories: boolean\n withPinnedTokens: boolean\n isTokensLoading: boolean\n isSearchLoading: boolean\n isBalanceLoading: boolean\n} => {\n const { hiddenUI, tokens: configTokens } = useWidgetConfig()\n const {\n allTokens,\n displayedTokensList,\n isPinnedToken,\n isTokensLoading,\n isSearchLoading,\n } = useDisplayedTokens(selectedChainId, formType, isAllNetworks, search)\n\n const { data: accountsWithAllTokens, isLoading: isAccountsLoading } =\n useAccountsBalancesData(selectedChainId, formType, isAllNetworks, allTokens)\n\n const isBalanceLoadingEnabled =\n Boolean(accountsWithAllTokens) && !isAccountsLoading\n\n const { data: allTokensWithBalances, isLoading: isBalanceQueriesLoading } =\n useTokenBalancesQueries(accountsWithAllTokens, isBalanceLoadingEnabled)\n\n const { smallBalanceThreshold } = useSettings(['smallBalanceThreshold'])\n\n const isBalanceLoading =\n (isBalanceQueriesLoading || isAccountsLoading) &&\n !allTokensWithBalances?.length\n\n const displayedTokensWithBalances = useMemo(() => {\n const balancesByChain = isAllNetworks\n ? allTokensWithBalances\n : selectedChainId\n ? allTokensWithBalances?.filter((t) => t.chainId === selectedChainId)\n : undefined\n const displayedTokensSet = new Set(\n displayedTokensList?.map(\n (t) => `${t.chainId}-${t.address.toLowerCase()}`\n ) || []\n )\n\n const hideSmallBalances =\n !!smallBalanceThreshold && !hiddenUI?.hideSmallBalances\n const threshold = hideSmallBalances\n ? Number.parseFloat(smallBalanceThreshold)\n : undefined\n\n if (!balancesByChain) {\n return undefined\n }\n\n return balancesByChain.reduce<typeof balancesByChain>((acc, token) => {\n const tokenKey = `${token.chainId}-${token.address.toLowerCase()}`\n // Check if token is in displayed list and has amount\n const isInDisplayedList = displayedTokensSet.has(tokenKey) && token.amount\n // Check if it matches search (for cached appended tokens)\n const matchesSearch = isSearchMatch(token, search)\n\n // Filter: only include tokens that match our criteria\n if (!isInDisplayedList && !matchesSearch) {\n return acc\n }\n\n // Apply small balance threshold transformation if enabled\n let processedToken = token\n if (\n hideSmallBalances &&\n threshold !== undefined &&\n threshold >= 0 &&\n token.amount\n ) {\n const balanceUSD = formatTokenPrice(\n token.amount,\n token.priceUSD,\n token.decimals\n )\n if (balanceUSD < threshold) {\n processedToken = {\n ...token,\n amount: 0n,\n }\n }\n }\n\n acc.push(processedToken)\n return acc\n }, [])\n }, [\n allTokensWithBalances,\n displayedTokensList,\n search,\n selectedChainId,\n isAllNetworks,\n smallBalanceThreshold,\n hiddenUI,\n ])\n\n const { processedTokens, withCategories, withPinnedTokens } = useMemo(() => {\n return processTokenList(\n isBalanceLoading,\n isAllNetworks || !!search,\n configTokens,\n selectedChainId,\n displayedTokensList,\n displayedTokensWithBalances,\n isPinnedToken\n )\n }, [\n isBalanceLoading,\n isAllNetworks,\n configTokens,\n selectedChainId,\n displayedTokensList,\n displayedTokensWithBalances,\n search,\n isPinnedToken,\n ])\n\n return {\n tokens: processedTokens ?? [],\n withCategories,\n withPinnedTokens,\n isTokensLoading,\n isSearchLoading,\n isBalanceLoading,\n }\n}\n"],"mappings":";;;;;;;;;AAWA,MAAa,oBACX,iBACA,UACA,eACA,WAQG;CACH,MAAM,EAAE,UAAU,QAAQ,iBAAiB,gBAAgB;CAC3D,MAAM,EACJ,WACA,qBACA,eACA,iBACA,oBACE,mBAAmB,iBAAiB,UAAU,eAAe,MAAM;CAEvE,MAAM,EAAE,MAAM,uBAAuB,WAAW,sBAC9C,wBAAwB,iBAAiB,UAAU,eAAe,SAAS;CAK7E,MAAM,EAAE,MAAM,uBAAuB,WAAW,4BAC9C,wBAAwB,uBAHxB,QAAQ,qBAAqB,KAAK,CAAC,iBAGmC;CAExE,MAAM,EAAE,0BAA0B,YAAY,CAAC,uBAAuB,CAAC;CAEvE,MAAM,oBACH,2BAA2B,sBAC5B,CAAC,uBAAuB;CAE1B,MAAM,8BAA8B,cAAc;EAChD,MAAM,kBAAkB,gBACpB,wBACA,kBACE,uBAAuB,QAAQ,MAAM,EAAE,YAAY,eAAe,IAClE,KAAA;EACN,MAAM,qBAAqB,IAAI,IAC7B,qBAAqB,KAClB,MAAM,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,YAAY,GAC/C,KAAK,CAAC,CACR;EAEA,MAAM,oBACJ,CAAC,CAAC,yBAAyB,CAAC,UAAU;EACxC,MAAM,YAAY,oBACd,OAAO,WAAW,qBAAqB,IACvC,KAAA;EAEJ,IAAI,CAAC,iBACH;EAGF,OAAO,gBAAgB,QAAgC,KAAK,UAAU;GACpE,MAAM,WAAW,GAAG,MAAM,QAAQ,GAAG,MAAM,QAAQ,YAAY;GAE/D,MAAM,oBAAoB,mBAAmB,IAAI,QAAQ,KAAK,MAAM;GAEpE,MAAM,gBAAgB,cAAc,OAAO,MAAM;GAGjD,IAAI,CAAC,qBAAqB,CAAC,eACzB,OAAO;GAIT,IAAI,iBAAiB;GACrB,IACE,qBACA,cAAc,KAAA,KACd,aAAa,KACb,MAAM;QAEa,iBACjB,MAAM,QACN,MAAM,UACN,MAAM,QAEK,IAAI,WACf,iBAAiB;KACf,GAAG;KACH,QAAQ;IACV;GAAA;GAIJ,IAAI,KAAK,cAAc;GACvB,OAAO;EACT,GAAG,CAAC,CAAC;CACP,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,iBAAiB,gBAAgB,qBAAqB,cAAc;EAC1E,OAAO,iBACL,kBACA,iBAAiB,CAAC,CAAC,QACnB,cACA,iBACA,qBACA,6BACA,aACF;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OAAO;EACL,QAAQ,mBAAmB,CAAC;EAC5B;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,16 @@
1
+ import { FormType } from "../stores/form/types.js";
2
+ import { TokenAmount } from "../types/token.js";
3
+ //#region src/hooks/useTokenList.d.ts
4
+ /**
5
+ * Token-selection list without wallet balances - No accounts are resolved and no balance queries are fired.
6
+ */
7
+ declare const useTokenList: (selectedChainId?: number, formType?: FormType, isAllNetworks?: boolean, search?: string) => {
8
+ tokens: TokenAmount[];
9
+ withCategories: boolean;
10
+ withPinnedTokens: boolean;
11
+ isTokensLoading: boolean;
12
+ isSearchLoading: boolean;
13
+ };
14
+ //#endregion
15
+ export { useTokenList };
16
+ //# sourceMappingURL=useTokenList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenList.d.ts","names":[],"sources":["../../../src/hooks/useTokenList.ts"],"mappings":";;;;;;cAUa,eACX,0BACA,WAAW,UACX,yBACA;EAEA,QAAQ;EACR;EACA;EACA;EACA"}
@@ -0,0 +1,31 @@
1
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
+ import { processTokenList } from "../utils/tokenList.js";
3
+ import { useDisplayedTokens } from "./useDisplayedTokens.js";
4
+ import { useMemo } from "react";
5
+ //#region src/hooks/useTokenList.ts
6
+ /**
7
+ * Token-selection list without wallet balances - No accounts are resolved and no balance queries are fired.
8
+ */
9
+ const useTokenList = (selectedChainId, formType, isAllNetworks, search) => {
10
+ const { tokens: configTokens } = useWidgetConfig();
11
+ const { displayedTokensList, isPinnedToken, isTokensLoading, isSearchLoading } = useDisplayedTokens(selectedChainId, formType, isAllNetworks, search);
12
+ const { processedTokens, withCategories, withPinnedTokens } = useMemo(() => processTokenList(true, isAllNetworks || !!search, configTokens, selectedChainId, displayedTokensList, void 0, isPinnedToken), [
13
+ isAllNetworks,
14
+ search,
15
+ configTokens,
16
+ selectedChainId,
17
+ displayedTokensList,
18
+ isPinnedToken
19
+ ]);
20
+ return {
21
+ tokens: processedTokens ?? [],
22
+ withCategories,
23
+ withPinnedTokens,
24
+ isTokensLoading,
25
+ isSearchLoading
26
+ };
27
+ };
28
+ //#endregion
29
+ export { useTokenList };
30
+
31
+ //# sourceMappingURL=useTokenList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenList.js","names":[],"sources":["../../../src/hooks/useTokenList.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport type { FormType } from '../stores/form/types.js'\nimport type { TokenAmount } from '../types/token.js'\nimport { processTokenList } from '../utils/tokenList.js'\nimport { useDisplayedTokens } from './useDisplayedTokens.js'\n\n/**\n * Token-selection list without wallet balances - No accounts are resolved and no balance queries are fired.\n */\nexport const useTokenList = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n search?: string\n): {\n tokens: TokenAmount[]\n withCategories: boolean\n withPinnedTokens: boolean\n isTokensLoading: boolean\n isSearchLoading: boolean\n} => {\n const { tokens: configTokens } = useWidgetConfig()\n const {\n displayedTokensList,\n isPinnedToken,\n isTokensLoading,\n isSearchLoading,\n } = useDisplayedTokens(selectedChainId, formType, isAllNetworks, search)\n\n const { processedTokens, withCategories, withPinnedTokens } = useMemo(\n () =>\n processTokenList(\n /* withoutBalances */ true,\n isAllNetworks || !!search,\n configTokens,\n selectedChainId,\n displayedTokensList,\n undefined,\n isPinnedToken\n ),\n [\n isAllNetworks,\n search,\n configTokens,\n selectedChainId,\n displayedTokensList,\n isPinnedToken,\n ]\n )\n\n return {\n tokens: processedTokens ?? [],\n withCategories,\n withPinnedTokens,\n isTokensLoading,\n isSearchLoading,\n }\n}\n"],"mappings":";;;;;;;;AAUA,MAAa,gBACX,iBACA,UACA,eACA,WAOG;CACH,MAAM,EAAE,QAAQ,iBAAiB,gBAAgB;CACjD,MAAM,EACJ,qBACA,eACA,iBACA,oBACE,mBAAmB,iBAAiB,UAAU,eAAe,MAAM;CAEvE,MAAM,EAAE,iBAAiB,gBAAgB,qBAAqB,cAE1D,iBACwB,MACtB,iBAAiB,CAAC,CAAC,QACnB,cACA,iBACA,qBACA,KAAA,GACA,aACF,GACF;EACE;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OAAO;EACL,QAAQ,mBAAmB,CAAC;EAC5B;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,8 @@
1
+ import { ToolsResponse } from "@lifi/sdk";
2
+ //#region src/hooks/useTools.d.ts
3
+ declare const useTools: () => {
4
+ tools: ToolsResponse | undefined;
5
+ };
6
+ //#endregion
7
+ export { useTools };
8
+ //# sourceMappingURL=useTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTools.d.ts","names":[],"sources":["../../../src/hooks/useTools.ts"],"mappings":";;cAQa;EAAiB,OAAO"}
@@ -22,9 +22,7 @@ const useTransactionDetails = (transactionHash) => {
22
22
  }
23
23
  const transaction = await getStatus(sdkClient, { txHash: transactionHash }, { signal });
24
24
  const fromAddress = transaction?.fromAddress;
25
- if (fromAddress) queryClient.setQueryData([transactionHistoryQueryKey, fromAddress], (data) => {
26
- return [...data, transaction];
27
- });
25
+ if (fromAddress) queryClient.setQueryData([transactionHistoryQueryKey, fromAddress], (data) => data ? [...data, transaction] : [transaction]);
28
26
  return transaction;
29
27
  }
30
28
  },
@@ -1 +1 @@
1
- {"version":3,"file":"useTransactionDetails.js","names":[],"sources":["../../../src/hooks/useTransactionDetails.ts"],"sourcesContent":["import type { FullStatusData } from '@lifi/sdk'\nimport { getStatus, type StatusResponse } from '@lifi/sdk'\nimport { useAccount } from '@lifi/wallet-management'\nimport {\n keepPreviousData,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport { getQueryKey } from '../utils/queries.js'\n\nexport const useTransactionDetails = (\n transactionHash?: string\n): {\n transaction: StatusResponse | undefined\n isLoading: boolean\n} => {\n const { account, accounts } = useAccount()\n const queryClient = useQueryClient()\n const { keyPrefix } = useWidgetConfig()\n const sdkClient = useSDKClient()\n\n const transactionHistoryQueryKey = useMemo(\n () => getQueryKey('transaction-history', keyPrefix),\n [keyPrefix]\n )\n\n const { data, isLoading } = useQuery({\n queryKey: [transactionHistoryQueryKey, transactionHash],\n queryFn: async ({ queryKey: [, transactionHash], signal }) => {\n if (transactionHash) {\n for (const account of accounts) {\n const cachedHistory = queryClient.getQueryData<StatusResponse[]>([\n transactionHistoryQueryKey,\n account.address,\n ])\n\n const transaction = cachedHistory?.find(\n (t) => t.sending.txHash === transactionHash\n )\n\n if (transaction) {\n return transaction\n }\n }\n\n const transaction = await getStatus(\n sdkClient,\n {\n txHash: transactionHash,\n },\n { signal }\n )\n\n const fromAddress = (transaction as FullStatusData)?.fromAddress\n\n if (fromAddress) {\n queryClient.setQueryData<StatusResponse[]>(\n [transactionHistoryQueryKey, fromAddress],\n (data) => {\n return [...data!, transaction!]\n }\n )\n }\n\n return transaction\n }\n },\n refetchInterval: 300_000,\n enabled: account.isConnected && Boolean(transactionHash),\n initialData: () => {\n for (const account of accounts) {\n const transaction = queryClient\n .getQueryData<StatusResponse[]>([\n transactionHistoryQueryKey,\n account.address,\n ])\n ?.find((t) => t.sending.txHash === transactionHash)\n if (transaction) {\n return transaction\n }\n }\n },\n placeholderData: keepPreviousData,\n })\n\n return {\n transaction: data,\n isLoading,\n }\n}\n"],"mappings":";;;;;;;;AAaA,MAAa,yBACX,oBAIG;CACH,MAAM,EAAE,SAAS,aAAa,WAAW;CACzC,MAAM,cAAc,eAAe;CACnC,MAAM,EAAE,cAAc,gBAAgB;CACtC,MAAM,YAAY,aAAa;CAE/B,MAAM,6BAA6B,cAC3B,YAAY,uBAAuB,SAAS,GAClD,CAAC,SAAS,CACZ;CAEA,MAAM,EAAE,MAAM,cAAc,SAAS;EACnC,UAAU,CAAC,4BAA4B,eAAe;EACtD,SAAS,OAAO,EAAE,UAAU,GAAG,kBAAkB,aAAa;GAC5D,IAAI,iBAAiB;IACnB,KAAK,MAAM,WAAW,UAAU;KAM9B,MAAM,cALgB,YAAY,aAA+B,CAC/D,4BACA,QAAQ,OACV,CAEgC,CAAC,EAAE,MAChC,MAAM,EAAE,QAAQ,WAAW,eAC9B;KAEA,IAAI,aACF,OAAO;IAEX;IAEA,MAAM,cAAc,MAAM,UACxB,WACA,EACE,QAAQ,gBACV,GACA,EAAE,OAAO,CACX;IAEA,MAAM,cAAe,aAAgC;IAErD,IAAI,aACF,YAAY,aACV,CAAC,4BAA4B,WAAW,IACvC,SAAS;KACR,OAAO,CAAC,GAAG,MAAO,WAAY;IAChC,CACF;IAGF,OAAO;GACT;EACF;EACA,iBAAiB;EACjB,SAAS,QAAQ,eAAe,QAAQ,eAAe;EACvD,mBAAmB;GACjB,KAAK,MAAM,WAAW,UAAU;IAC9B,MAAM,cAAc,YACjB,aAA+B,CAC9B,4BACA,QAAQ,OACV,CAAC,CAAC,EACA,MAAM,MAAM,EAAE,QAAQ,WAAW,eAAe;IACpD,IAAI,aACF,OAAO;GAEX;EACF;EACA,iBAAiB;CACnB,CAAC;CAED,OAAO;EACL,aAAa;EACb;CACF;AACF"}
1
+ {"version":3,"file":"useTransactionDetails.js","names":[],"sources":["../../../src/hooks/useTransactionDetails.ts"],"sourcesContent":["import type { FullStatusData } from '@lifi/sdk'\nimport { getStatus, type StatusResponse } from '@lifi/sdk'\nimport { useAccount } from '@lifi/wallet-management'\nimport {\n keepPreviousData,\n useQuery,\n useQueryClient,\n} from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport { getQueryKey } from '../utils/queries.js'\n\nexport const useTransactionDetails = (\n transactionHash?: string\n): {\n transaction: StatusResponse | undefined\n isLoading: boolean\n} => {\n const { account, accounts } = useAccount()\n const queryClient = useQueryClient()\n const { keyPrefix } = useWidgetConfig()\n const sdkClient = useSDKClient()\n\n const transactionHistoryQueryKey = useMemo(\n () => getQueryKey('transaction-history', keyPrefix),\n [keyPrefix]\n )\n\n const { data, isLoading } = useQuery({\n queryKey: [transactionHistoryQueryKey, transactionHash],\n queryFn: async ({ queryKey: [, transactionHash], signal }) => {\n if (transactionHash) {\n for (const account of accounts) {\n const cachedHistory = queryClient.getQueryData<StatusResponse[]>([\n transactionHistoryQueryKey,\n account.address,\n ])\n\n const transaction = cachedHistory?.find(\n (t) => t.sending.txHash === transactionHash\n )\n\n if (transaction) {\n return transaction\n }\n }\n\n const transaction = await getStatus(\n sdkClient,\n {\n txHash: transactionHash,\n },\n { signal }\n )\n\n const fromAddress = (transaction as FullStatusData)?.fromAddress\n\n if (fromAddress) {\n queryClient.setQueryData<StatusResponse[]>(\n [transactionHistoryQueryKey, fromAddress],\n (data) => (data ? [...data, transaction!] : [transaction!])\n )\n }\n\n return transaction\n }\n },\n refetchInterval: 300_000,\n enabled: account.isConnected && Boolean(transactionHash),\n initialData: () => {\n for (const account of accounts) {\n const transaction = queryClient\n .getQueryData<StatusResponse[]>([\n transactionHistoryQueryKey,\n account.address,\n ])\n ?.find((t) => t.sending.txHash === transactionHash)\n if (transaction) {\n return transaction\n }\n }\n },\n placeholderData: keepPreviousData,\n })\n\n return {\n transaction: data,\n isLoading,\n }\n}\n"],"mappings":";;;;;;;;AAaA,MAAa,yBACX,oBAIG;CACH,MAAM,EAAE,SAAS,aAAa,WAAW;CACzC,MAAM,cAAc,eAAe;CACnC,MAAM,EAAE,cAAc,gBAAgB;CACtC,MAAM,YAAY,aAAa;CAE/B,MAAM,6BAA6B,cAC3B,YAAY,uBAAuB,SAAS,GAClD,CAAC,SAAS,CACZ;CAEA,MAAM,EAAE,MAAM,cAAc,SAAS;EACnC,UAAU,CAAC,4BAA4B,eAAe;EACtD,SAAS,OAAO,EAAE,UAAU,GAAG,kBAAkB,aAAa;GAC5D,IAAI,iBAAiB;IACnB,KAAK,MAAM,WAAW,UAAU;KAM9B,MAAM,cALgB,YAAY,aAA+B,CAC/D,4BACA,QAAQ,OACV,CAEgC,CAAC,EAAE,MAChC,MAAM,EAAE,QAAQ,WAAW,eAC9B;KAEA,IAAI,aACF,OAAO;IAEX;IAEA,MAAM,cAAc,MAAM,UACxB,WACA,EACE,QAAQ,gBACV,GACA,EAAE,OAAO,CACX;IAEA,MAAM,cAAe,aAAgC;IAErD,IAAI,aACF,YAAY,aACV,CAAC,4BAA4B,WAAW,IACvC,SAAU,OAAO,CAAC,GAAG,MAAM,WAAY,IAAI,CAAC,WAAY,CAC3D;IAGF,OAAO;GACT;EACF;EACA,iBAAiB;EACjB,SAAS,QAAQ,eAAe,QAAQ,eAAe;EACvD,mBAAmB;GACjB,KAAK,MAAM,WAAW,UAAU;IAC9B,MAAM,cAAc,YACjB,aAA+B,CAC9B,4BACA,QAAQ,OACV,CAAC,CAAC,EACA,MAAM,MAAM,EAAE,QAAQ,WAAW,eAAe;IACpD,IAAI,aACF,OAAO;GAEX;EACF;EACA,iBAAiB;CACnB,CAAC;CAED,OAAO;EACL,aAAa;EACb;CACF;AACF"}
@@ -1,4 +1,5 @@
1
1
  import { hasEnumFlag } from "../utils/enum.js";
2
+ import "../stores/routes/types.js";
2
3
  import { getSourceTxHash } from "../stores/routes/utils.js";
3
4
  import { useRouteExecutionStore } from "../stores/routes/RouteExecutionStore.js";
4
5
  import { useTransactionHistory } from "./useTransactionHistory.js";
@@ -1 +1 @@
1
- {"version":3,"file":"useTransactionList.js","names":[],"sources":["../../../src/hooks/useTransactionList.ts"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport { useMemo } from 'react'\nimport type {\n ActiveItem,\n HistoryItem,\n LocalItem,\n TransactionListItem,\n} from '../pages/ActivitiesPage/types.js'\nimport { useRouteExecutionStore } from '../stores/routes/RouteExecutionStore.js'\nimport type {\n RouteExecution,\n RouteExecutionState,\n} from '../stores/routes/types.js'\nimport { RouteExecutionStatus } from '../stores/routes/types.js'\nimport { getSourceTxHash } from '../stores/routes/utils.js'\nimport { hasEnumFlag } from '../utils/enum.js'\nimport { useTransactionHistory } from './useTransactionHistory.js'\n\nconst routesSelector = (state: RouteExecutionState) => state.routes\n\nexport const useTransactionList = (): {\n items: TransactionListItem[]\n isLoading: boolean\n} => {\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.map((account) => account.address),\n [accounts]\n )\n\n const { data: apiRouteExecutions, isLoading } = useTransactionHistory()\n const routes = useRouteExecutionStore(routesSelector)\n\n const items = useMemo<TransactionListItem[]>(() => {\n const apiTxHashes = new Set(\n apiRouteExecutions.map((r) => getSourceTxHash(r.route))\n )\n\n const activeItems: ActiveItem[] = []\n const localItems: LocalItem[] = []\n\n for (const r of Object.values(routes) as RouteExecution[]) {\n if (!accountAddresses.includes(r.route.fromAddress)) {\n continue\n }\n // Guard against duplicates on the render before the store deletion\n // from useTransactionHistory's combine propagates.\n if (apiTxHashes.has(getSourceTxHash(r.route))) {\n continue\n }\n const startedAt = r.route.steps[0]?.execution?.startedAt ?? 0\n if (\n r.status === RouteExecutionStatus.Pending ||\n r.status === RouteExecutionStatus.Failed\n ) {\n activeItems.push({ type: 'active', routeId: r.route.id, startedAt })\n } else if (hasEnumFlag(r.status, RouteExecutionStatus.Done)) {\n localItems.push({\n type: 'local',\n routeExecution: r,\n txHash: getSourceTxHash(r.route) ?? '',\n // store startedAt is already in ms\n startedAt,\n })\n }\n }\n\n const historyItems: HistoryItem[] = apiRouteExecutions.map(\n (routeExecution) => ({\n type: 'history',\n routeExecution,\n txHash: getSourceTxHash(routeExecution.route) ?? '',\n startedAt: routeExecution.route.steps[0]?.execution?.startedAt ?? 0,\n })\n )\n\n return [...activeItems, ...localItems, ...historyItems].sort(\n (a, b) => b.startedAt - a.startedAt\n )\n }, [accountAddresses, apiRouteExecutions, routes])\n\n return { items, isLoading }\n}\n"],"mappings":";;;;;;;AAkBA,MAAM,kBAAkB,UAA+B,MAAM;AAE7D,MAAa,2BAGR;CACH,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,mBAAmB,cACjB,SAAS,KAAK,YAAY,QAAQ,OAAO,GAC/C,CAAC,QAAQ,CACX;CAEA,MAAM,EAAE,MAAM,oBAAoB,cAAc,sBAAsB;CACtE,MAAM,SAAS,uBAAuB,cAAc;CAkDpD,OAAO;EAAE,OAhDK,cAAqC;GACjD,MAAM,cAAc,IAAI,IACtB,mBAAmB,KAAK,MAAM,gBAAgB,EAAE,KAAK,CAAC,CACxD;GAEA,MAAM,cAA4B,CAAC;GACnC,MAAM,aAA0B,CAAC;GAEjC,KAAK,MAAM,KAAK,OAAO,OAAO,MAAM,GAAuB;IACzD,IAAI,CAAC,iBAAiB,SAAS,EAAE,MAAM,WAAW,GAChD;IAIF,IAAI,YAAY,IAAI,gBAAgB,EAAE,KAAK,CAAC,GAC1C;IAEF,MAAM,YAAY,EAAE,MAAM,MAAM,EAAE,EAAE,WAAW,aAAa;IAC5D,IACE,EAAE,WAAA,KACF,EAAE,WAAA,GAEF,YAAY,KAAK;KAAE,MAAM;KAAU,SAAS,EAAE,MAAM;KAAI;IAAU,CAAC;SAC9D,IAAI,YAAY,EAAE,QAAA,CAAiC,GACxD,WAAW,KAAK;KACd,MAAM;KACN,gBAAgB;KAChB,QAAQ,gBAAgB,EAAE,KAAK,KAAK;KAEpC;IACF,CAAC;GAEL;GAEA,MAAM,eAA8B,mBAAmB,KACpD,oBAAoB;IACnB,MAAM;IACN;IACA,QAAQ,gBAAgB,eAAe,KAAK,KAAK;IACjD,WAAW,eAAe,MAAM,MAAM,EAAE,EAAE,WAAW,aAAa;GACpE,EACF;GAEA,OAAO;IAAC,GAAG;IAAa,GAAG;IAAY,GAAG;GAAY,CAAC,CAAC,MACrD,GAAG,MAAM,EAAE,YAAY,EAAE,SAC5B;EACF,GAAG;GAAC;GAAkB;GAAoB;EAAM,CAEnC;EAAG;CAAU;AAC5B"}
1
+ {"version":3,"file":"useTransactionList.js","names":[],"sources":["../../../src/hooks/useTransactionList.ts"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport { useMemo } from 'react'\nimport type {\n ActiveItem,\n HistoryItem,\n LocalItem,\n TransactionListItem,\n} from '../pages/ActivitiesPage/types.js'\nimport { useRouteExecutionStore } from '../stores/routes/RouteExecutionStore.js'\nimport type {\n RouteExecution,\n RouteExecutionState,\n} from '../stores/routes/types.js'\nimport { RouteExecutionStatus } from '../stores/routes/types.js'\nimport { getSourceTxHash } from '../stores/routes/utils.js'\nimport { hasEnumFlag } from '../utils/enum.js'\nimport { useTransactionHistory } from './useTransactionHistory.js'\n\nconst routesSelector = (state: RouteExecutionState) => state.routes\n\nexport const useTransactionList = (): {\n items: TransactionListItem[]\n isLoading: boolean\n} => {\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.map((account) => account.address),\n [accounts]\n )\n\n const { data: apiRouteExecutions, isLoading } = useTransactionHistory()\n const routes = useRouteExecutionStore(routesSelector)\n\n const items = useMemo<TransactionListItem[]>(() => {\n const apiTxHashes = new Set(\n apiRouteExecutions.map((r) => getSourceTxHash(r.route))\n )\n\n const activeItems: ActiveItem[] = []\n const localItems: LocalItem[] = []\n\n for (const r of Object.values(routes) as RouteExecution[]) {\n if (!accountAddresses.includes(r.route.fromAddress)) {\n continue\n }\n // Guard against duplicates on the render before the store deletion\n // from useTransactionHistory's combine propagates.\n if (apiTxHashes.has(getSourceTxHash(r.route))) {\n continue\n }\n const startedAt = r.route.steps[0]?.execution?.startedAt ?? 0\n if (\n r.status === RouteExecutionStatus.Pending ||\n r.status === RouteExecutionStatus.Failed\n ) {\n activeItems.push({ type: 'active', routeId: r.route.id, startedAt })\n } else if (hasEnumFlag(r.status, RouteExecutionStatus.Done)) {\n localItems.push({\n type: 'local',\n routeExecution: r,\n txHash: getSourceTxHash(r.route) ?? '',\n // store startedAt is already in ms\n startedAt,\n })\n }\n }\n\n const historyItems: HistoryItem[] = apiRouteExecutions.map(\n (routeExecution) => ({\n type: 'history',\n routeExecution,\n txHash: getSourceTxHash(routeExecution.route) ?? '',\n startedAt: routeExecution.route.steps[0]?.execution?.startedAt ?? 0,\n })\n )\n\n return [...activeItems, ...localItems, ...historyItems].sort(\n (a, b) => b.startedAt - a.startedAt\n )\n }, [accountAddresses, apiRouteExecutions, routes])\n\n return { items, isLoading }\n}\n"],"mappings":";;;;;;;;AAkBA,MAAM,kBAAkB,UAA+B,MAAM;AAE7D,MAAa,2BAGR;CACH,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,mBAAmB,cACjB,SAAS,KAAK,YAAY,QAAQ,OAAO,GAC/C,CAAC,QAAQ,CACX;CAEA,MAAM,EAAE,MAAM,oBAAoB,cAAc,sBAAsB;CACtE,MAAM,SAAS,uBAAuB,cAAc;CAkDpD,OAAO;EAAE,OAhDK,cAAqC;GACjD,MAAM,cAAc,IAAI,IACtB,mBAAmB,KAAK,MAAM,gBAAgB,EAAE,KAAK,CAAC,CACxD;GAEA,MAAM,cAA4B,CAAC;GACnC,MAAM,aAA0B,CAAC;GAEjC,KAAK,MAAM,KAAK,OAAO,OAAO,MAAM,GAAuB;IACzD,IAAI,CAAC,iBAAiB,SAAS,EAAE,MAAM,WAAW,GAChD;IAIF,IAAI,YAAY,IAAI,gBAAgB,EAAE,KAAK,CAAC,GAC1C;IAEF,MAAM,YAAY,EAAE,MAAM,MAAM,EAAE,EAAE,WAAW,aAAa;IAC5D,IACE,EAAE,WAAA,KACF,EAAE,WAAA,GAEF,YAAY,KAAK;KAAE,MAAM;KAAU,SAAS,EAAE,MAAM;KAAI;IAAU,CAAC;SAC9D,IAAI,YAAY,EAAE,QAAA,CAAiC,GACxD,WAAW,KAAK;KACd,MAAM;KACN,gBAAgB;KAChB,QAAQ,gBAAgB,EAAE,KAAK,KAAK;KAEpC;IACF,CAAC;GAEL;GAEA,MAAM,eAA8B,mBAAmB,KACpD,oBAAoB;IACnB,MAAM;IACN;IACA,QAAQ,gBAAgB,eAAe,KAAK,KAAK;IACjD,WAAW,eAAe,MAAM,MAAM,EAAE,EAAE,WAAW,aAAa;GACpE,EACF;GAEA,OAAO;IAAC,GAAG;IAAa,GAAG;IAAY,GAAG;GAAY,CAAC,CAAC,MACrD,GAAG,MAAM,EAAE,YAAY,EAAE,SAC5B;EACF,GAAG;GAAC;GAAkB;GAAoB;EAAM,CAEnC;EAAG;CAAU;AAC5B"}
@@ -1,6 +1,5 @@
1
1
  import { WidgetConfig } from "../types/widget.js";
2
2
  import { ExtendedChain } from "@lifi/sdk";
3
-
4
3
  //#region src/hooks/useWidgetChains.d.ts
5
4
  declare const useWidgetChains: (widgetConfig: WidgetConfig) => {
6
5
  chains: ExtendedChain[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetChains.d.ts","names":[],"sources":["../../../src/hooks/useWidgetChains.ts"],"mappings":";;;;cAIa,eAAA,GACX,YAAA,EAAc,YAAA;EAEd,MAAA,EAAQ,aAAA;EACR,YAAA,GACE,OAAA,WACA,MAAA,GAAS,aAAA,OACN,aAAA;EACL,SAAA;AAAA"}
1
+ {"version":3,"file":"useWidgetChains.d.ts","names":[],"sources":["../../../src/hooks/useWidgetChains.ts"],"mappings":";;;cAIa,kBACX,cAAc;EAEd,QAAQ;EACR,eACE,kBACA,SAAS,oBACN;EACL"}
@@ -1,6 +1,5 @@
1
1
  import { WidgetEvents } from "../types/events.js";
2
2
  import EventEmitter from "eventemitter3";
3
-
4
3
  //#region src/hooks/useWidgetEvents.d.ts
5
4
  type WidgetEventEmitter = EventEmitter<WidgetEvents>;
6
5
  declare const widgetEvents: WidgetEventEmitter;
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetEvents.d.ts","names":[],"sources":["../../../src/hooks/useWidgetEvents.ts"],"mappings":";;;;KAGY,kBAAA,GAAqB,YAAA,CAAa,YAAA;AAAA,cAEjC,YAAA,EAAc,kBAAA;AAAA,cAEd,eAAA,QAAsB,kBAAA"}
1
+ {"version":3,"file":"useWidgetEvents.d.ts","names":[],"sources":["../../../src/hooks/useWidgetEvents.ts"],"mappings":";;;KAGY,qBAAqB,aAAa;cAEjC,cAAc;cAEd,uBAAsB"}