@lifi/widget 4.3.1 → 4.5.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 (511) 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/App.js.map +1 -1
  4. package/dist/esm/AppDrawer.d.ts +1 -1
  5. package/dist/esm/AppDrawer.d.ts.map +1 -1
  6. package/dist/esm/AppDrawer.js.map +1 -1
  7. package/dist/esm/AppLayout.js.map +1 -1
  8. package/dist/esm/AppProvider.js.map +1 -1
  9. package/dist/esm/components/ActionRow/ActionRow.d.ts +13 -0
  10. package/dist/esm/components/ActionRow/ActionRow.d.ts.map +1 -0
  11. package/dist/esm/components/ActionRow/ActionRow.js.map +1 -1
  12. package/dist/esm/components/AmountInput/AmountInput.js.map +1 -1
  13. package/dist/esm/components/AmountInput/AmountInput.style.d.ts +9 -0
  14. package/dist/esm/components/AmountInput/AmountInput.style.d.ts.map +1 -0
  15. package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts +7 -0
  16. package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts.map +1 -0
  17. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  18. package/dist/esm/components/AmountInput/PriceFormHelperText.js.map +1 -1
  19. package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts +7 -0
  20. package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts.map +1 -0
  21. package/dist/esm/components/AmountInputCard/AmountInputCardPair.js.map +1 -1
  22. package/dist/esm/components/AmountInputCard/BalanceDisplay.js.map +1 -1
  23. package/dist/esm/components/AmountInputCard/FiatValueToggle.js.map +1 -1
  24. package/dist/esm/components/AmountInputCard/PercentageChips.js.map +1 -1
  25. package/dist/esm/components/AmountInputCard/ReceiveAmountCard.js.map +1 -1
  26. package/dist/esm/components/AmountInputCard/SendAmountCard.js.map +1 -1
  27. package/dist/esm/components/AppContainer.js.map +1 -1
  28. package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -1
  29. package/dist/esm/components/Avatar/Avatar.d.ts +12 -0
  30. package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -0
  31. package/dist/esm/components/Avatar/Avatar.js.map +1 -1
  32. package/dist/esm/components/Avatar/ChainBadgeContent.js.map +1 -1
  33. package/dist/esm/components/Avatar/TokenAvatar.d.ts +14 -0
  34. package/dist/esm/components/Avatar/TokenAvatar.d.ts.map +1 -0
  35. package/dist/esm/components/Avatar/TokenAvatar.js.map +1 -1
  36. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts +6 -0
  37. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts.map +1 -0
  38. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  39. package/dist/esm/components/BaseTransactionButton/types.d.ts +14 -0
  40. package/dist/esm/components/BaseTransactionButton/types.d.ts.map +1 -0
  41. package/dist/esm/components/BottomSheet/types.d.ts +11 -0
  42. package/dist/esm/components/BottomSheet/types.d.ts.map +1 -0
  43. package/dist/esm/components/ButtonTertiary.d.ts +7 -0
  44. package/dist/esm/components/ButtonTertiary.d.ts.map +1 -0
  45. package/dist/esm/components/Card/Card.d.ts +12 -0
  46. package/dist/esm/components/Card/Card.d.ts.map +1 -0
  47. package/dist/esm/components/Card/CardButton.js.map +1 -1
  48. package/dist/esm/components/Card/CardIconButton.d.ts +7 -0
  49. package/dist/esm/components/Card/CardIconButton.d.ts.map +1 -0
  50. package/dist/esm/components/Card/CardTitle.d.ts +9 -0
  51. package/dist/esm/components/Card/CardTitle.d.ts.map +1 -0
  52. package/dist/esm/components/Card/InputCard.d.ts +7 -0
  53. package/dist/esm/components/Card/InputCard.d.ts.map +1 -0
  54. package/dist/esm/components/ChainSelect/ChainSelect.d.ts +7 -0
  55. package/dist/esm/components/ChainSelect/ChainSelect.d.ts.map +1 -0
  56. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -1
  57. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +10 -0
  58. package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts.map +1 -0
  59. package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -1
  60. package/dist/esm/components/Chains/ChainList.js.map +1 -1
  61. package/dist/esm/components/Chains/ChainListItem.js.map +1 -1
  62. package/dist/esm/components/Chains/ChainsExpanded.js.map +1 -1
  63. package/dist/esm/components/Chains/PinChainButton.js.map +1 -1
  64. package/dist/esm/components/Chains/SelectChainExpansionContent.js.map +1 -1
  65. package/dist/esm/components/Chains/SelectChainPageContent.js.map +1 -1
  66. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -1
  67. package/dist/esm/components/ContextMenu.js.map +1 -1
  68. package/dist/esm/components/ContractComponent/ContractComponent.d.ts +7 -0
  69. package/dist/esm/components/ContractComponent/ContractComponent.d.ts.map +1 -0
  70. package/dist/esm/components/ContractComponent/ItemPrice.d.ts +0 -1
  71. package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -1
  72. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +0 -1
  73. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -1
  74. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +0 -1
  75. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -1
  76. package/dist/esm/components/ContractComponent/NFT/NFTBase.js.map +1 -1
  77. package/dist/esm/components/ContractComponent/NFT/types.d.ts +0 -1
  78. package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -1
  79. package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js.map +1 -1
  80. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts +21 -0
  81. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts.map +1 -0
  82. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js.map +1 -1
  83. package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js.map +1 -1
  84. package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts +16 -0
  85. package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts.map +1 -0
  86. package/dist/esm/components/ExecutionStatusCard/StatusIcon.js.map +1 -1
  87. package/dist/esm/components/ExecutionStatusCard/iconKey.js +1 -0
  88. package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -1
  89. package/dist/esm/components/Expansion/Expansion.js.map +1 -1
  90. package/dist/esm/components/Expansion/ExpansionTransition.js.map +1 -1
  91. package/dist/esm/components/FeeBreakdownTooltip.d.ts +13 -0
  92. package/dist/esm/components/FeeBreakdownTooltip.d.ts.map +1 -0
  93. package/dist/esm/components/FeeBreakdownTooltip.js.map +1 -1
  94. package/dist/esm/components/Header/ActivitiesButton.js.map +1 -1
  95. package/dist/esm/components/Header/BackButton.js.map +1 -1
  96. package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -1
  97. package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -1
  98. package/dist/esm/components/Header/HeaderTabs.js.map +1 -1
  99. package/dist/esm/components/Header/NavigationHeader.js.map +1 -1
  100. package/dist/esm/components/Header/SettingsButton.js.map +1 -1
  101. package/dist/esm/components/Header/WalletHeader.js.map +1 -1
  102. package/dist/esm/components/Header/WalletMenu.js.map +1 -1
  103. package/dist/esm/components/IconCircle/IconCircle.d.ts +11 -0
  104. package/dist/esm/components/IconCircle/IconCircle.d.ts.map +1 -0
  105. package/dist/esm/components/IconCircle/IconCircle.js.map +1 -1
  106. package/dist/esm/components/IconCircle/statusIcons.d.ts +6 -0
  107. package/dist/esm/components/IconCircle/statusIcons.d.ts.map +1 -0
  108. package/dist/esm/components/IconTypography.d.ts +7 -0
  109. package/dist/esm/components/IconTypography.d.ts.map +1 -0
  110. package/dist/esm/components/LimitOrderSettings/LimitOrderSettings.js.map +1 -1
  111. package/dist/esm/components/LimitPriceCard/LimitPriceCard.js.map +1 -1
  112. package/dist/esm/components/LimitPriceCard/LimitPricePresets.js.map +1 -1
  113. package/dist/esm/components/ListItem/ListItemButton.d.ts +7 -0
  114. package/dist/esm/components/ListItem/ListItemButton.d.ts.map +1 -0
  115. package/dist/esm/components/ListItemButton.d.ts +7 -0
  116. package/dist/esm/components/ListItemButton.d.ts.map +1 -0
  117. package/dist/esm/components/Messages/AccountDeployedMessage.js.map +1 -1
  118. package/dist/esm/components/Messages/AccountNotDeployedMessage.js.map +1 -1
  119. package/dist/esm/components/Messages/AlertMessage.js.map +1 -1
  120. package/dist/esm/components/Messages/FundsSufficiencyMessage.js.map +1 -1
  121. package/dist/esm/components/Messages/GasRefuelMessage.js.map +1 -1
  122. package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -1
  123. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js.map +1 -1
  124. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js.map +1 -1
  125. package/dist/esm/components/Messages/WarningMessages.d.ts +11 -0
  126. package/dist/esm/components/Messages/WarningMessages.d.ts.map +1 -0
  127. package/dist/esm/components/Messages/WarningMessages.js.map +1 -1
  128. package/dist/esm/components/NotFound.js.map +1 -1
  129. package/dist/esm/components/PageContainer.d.ts +12 -0
  130. package/dist/esm/components/PageContainer.d.ts.map +1 -0
  131. package/dist/esm/components/PoweredBy/PoweredBy.d.ts +5 -0
  132. package/dist/esm/components/PoweredBy/PoweredBy.d.ts.map +1 -0
  133. package/dist/esm/components/PoweredBy/PoweredBy.js.map +1 -1
  134. package/dist/esm/components/ProgressToNextUpdate.d.ts +10 -0
  135. package/dist/esm/components/ProgressToNextUpdate.d.ts.map +1 -0
  136. package/dist/esm/components/ProgressToNextUpdate.js.map +1 -1
  137. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
  138. package/dist/esm/components/RouteCard/RouteCard.d.ts +7 -0
  139. package/dist/esm/components/RouteCard/RouteCard.d.ts.map +1 -0
  140. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -1
  141. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -1
  142. package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts +7 -0
  143. package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts.map +1 -0
  144. package/dist/esm/components/RouteCard/RouteCardSkeleton.js.map +1 -1
  145. package/dist/esm/components/RouteCard/RouteDetails.d.ts +10 -0
  146. package/dist/esm/components/RouteCard/RouteDetails.d.ts.map +1 -0
  147. package/dist/esm/components/RouteCard/RouteDetails.js.map +1 -1
  148. package/dist/esm/components/RouteCard/RouteDetails.style.d.ts +12 -0
  149. package/dist/esm/components/RouteCard/RouteDetails.style.d.ts.map +1 -0
  150. package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts +5 -0
  151. package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts.map +1 -0
  152. package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -1
  153. package/dist/esm/components/RouteCard/RouteProviderCard.js.map +1 -1
  154. package/dist/esm/components/RouteCard/RouteToken.js.map +1 -1
  155. package/dist/esm/components/RouteCard/RouteTokens.d.ts +11 -0
  156. package/dist/esm/components/RouteCard/RouteTokens.d.ts.map +1 -0
  157. package/dist/esm/components/RouteCard/RouteTokens.js +2 -2
  158. package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -1
  159. package/dist/esm/components/RouteCard/types.d.ts +14 -0
  160. package/dist/esm/components/RouteCard/types.d.ts.map +1 -0
  161. package/dist/esm/components/Routes/LimitOrderRoutes.js.map +1 -1
  162. package/dist/esm/components/Routes/Routes.js.map +1 -1
  163. package/dist/esm/components/Routes/RoutesContent.js.map +1 -1
  164. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -1
  165. package/dist/esm/components/Search/SearchInput.d.ts +17 -0
  166. package/dist/esm/components/Search/SearchInput.d.ts.map +1 -0
  167. package/dist/esm/components/Search/SearchInput.js.map +1 -1
  168. package/dist/esm/components/SelectChainAndToken.js.map +1 -1
  169. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -1
  170. package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts +10 -0
  171. package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts.map +1 -0
  172. package/dist/esm/components/SendToWallet/SendToWalletButton.js +15 -6
  173. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  174. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -1
  175. package/dist/esm/components/SettingsPanel/SettingsPanel.js.map +1 -1
  176. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +1 -4
  177. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -1
  178. package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -1
  179. package/dist/esm/components/Step/StepActions.js.map +1 -1
  180. package/dist/esm/components/StepActions/SentToWalletRow.d.ts +9 -0
  181. package/dist/esm/components/StepActions/SentToWalletRow.d.ts.map +1 -0
  182. package/dist/esm/components/StepActions/SentToWalletRow.js.map +1 -1
  183. package/dist/esm/components/StepActions/StepActionRow.js.map +1 -1
  184. package/dist/esm/components/StepActions/StepActionRow.style.d.ts +7 -0
  185. package/dist/esm/components/StepActions/StepActionRow.style.d.ts.map +1 -0
  186. package/dist/esm/components/StepActions/StepActionsList.d.ts +12 -0
  187. package/dist/esm/components/StepActions/StepActionsList.d.ts.map +1 -0
  188. package/dist/esm/components/StepActions/StepActionsList.js.map +1 -1
  189. package/dist/esm/components/StepActions/executionRows.d.ts +26 -0
  190. package/dist/esm/components/StepActions/executionRows.d.ts.map +1 -0
  191. package/dist/esm/components/SwapButton/SwapButton.js.map +1 -1
  192. package/dist/esm/components/TextFitter/TextFitter.js.map +1 -1
  193. package/dist/esm/components/Timer/StepStatusTimer.js.map +1 -1
  194. package/dist/esm/components/Token/Token.d.ts +17 -0
  195. package/dist/esm/components/Token/Token.d.ts.map +1 -0
  196. package/dist/esm/components/Token/Token.js.map +1 -1
  197. package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -1
  198. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -1
  199. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -1
  200. package/dist/esm/components/TokenList/TokenList.js.map +1 -1
  201. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -1
  202. package/dist/esm/components/TokenList/TokenNotFound.d.ts +6 -0
  203. package/dist/esm/components/TokenList/TokenNotFound.d.ts.map +1 -0
  204. package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts +7 -0
  205. package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts.map +1 -0
  206. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  207. package/dist/esm/components/TokenList/types.d.ts +20 -0
  208. package/dist/esm/components/TokenList/types.d.ts.map +1 -0
  209. package/dist/esm/components/TokenList/useTokenSelect.d.ts +6 -0
  210. package/dist/esm/components/TokenList/useTokenSelect.d.ts.map +1 -0
  211. package/dist/esm/components/TokenPillButton/TokenPillButton.js.map +1 -1
  212. package/dist/esm/components/TokenRate/TokenRate.d.ts +10 -0
  213. package/dist/esm/components/TokenRate/TokenRate.d.ts.map +1 -0
  214. package/dist/esm/components/TokenRate/TokenRate.js.map +1 -1
  215. package/dist/esm/components/Tools/ToolItem.js.map +1 -1
  216. package/dist/esm/components/Tools/Tools.js.map +1 -1
  217. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +1 -0
  218. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -1
  219. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +9 -0
  220. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -1
  221. package/dist/esm/components/TransactionCard/TransactionCard.js.map +1 -1
  222. package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts +8 -0
  223. package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts.map +1 -0
  224. package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js.map +1 -1
  225. package/dist/esm/config/constants.d.ts.map +1 -1
  226. package/dist/esm/config/version.d.ts +1 -1
  227. package/dist/esm/config/version.d.ts.map +1 -1
  228. package/dist/esm/config/version.js +1 -1
  229. package/dist/esm/config/version.js.map +1 -1
  230. package/dist/esm/hooks/useAccountsBalancesData.js +1 -14
  231. package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -1
  232. package/dist/esm/hooks/useAddressActivity.d.ts +11 -0
  233. package/dist/esm/hooks/useAddressActivity.d.ts.map +1 -0
  234. package/dist/esm/hooks/useAddressValidation.d.ts +28 -0
  235. package/dist/esm/hooks/useAddressValidation.d.ts.map +1 -0
  236. package/dist/esm/hooks/useAddressValidation.js +6 -1
  237. package/dist/esm/hooks/useAddressValidation.js.map +1 -1
  238. package/dist/esm/hooks/useAvailableChains.d.ts +12 -0
  239. package/dist/esm/hooks/useAvailableChains.d.ts.map +1 -0
  240. package/dist/esm/hooks/useChain.d.ts +10 -0
  241. package/dist/esm/hooks/useChain.d.ts.map +1 -0
  242. package/dist/esm/hooks/useContactSupport.d.ts +5 -0
  243. package/dist/esm/hooks/useContactSupport.d.ts.map +1 -0
  244. package/dist/esm/hooks/useDebouncedWatch.d.ts +6 -0
  245. package/dist/esm/hooks/useDebouncedWatch.d.ts.map +1 -0
  246. package/dist/esm/hooks/useDisplayedTokens.js +48 -0
  247. package/dist/esm/hooks/useDisplayedTokens.js.map +1 -0
  248. package/dist/esm/hooks/useExplorer.d.ts +14 -0
  249. package/dist/esm/hooks/useExplorer.d.ts.map +1 -0
  250. package/dist/esm/hooks/useHeader.d.ts +6 -0
  251. package/dist/esm/hooks/useHeader.d.ts.map +1 -0
  252. package/dist/esm/hooks/useListHeight.d.ts +12 -0
  253. package/dist/esm/hooks/useListHeight.d.ts.map +1 -0
  254. package/dist/esm/hooks/useListHeight.js +1 -0
  255. package/dist/esm/hooks/useListHeight.js.map +1 -1
  256. package/dist/esm/hooks/useNavigateBack.d.ts +5 -0
  257. package/dist/esm/hooks/useNavigateBack.d.ts.map +1 -0
  258. package/dist/esm/hooks/usePacedRouteExecution.js +1 -0
  259. package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -1
  260. package/dist/esm/hooks/useRouteExecution.d.ts +18 -0
  261. package/dist/esm/hooks/useRouteExecution.d.ts.map +1 -0
  262. package/dist/esm/hooks/useRouteExecutionMessage.d.ts +10 -0
  263. package/dist/esm/hooks/useRouteExecutionMessage.d.ts.map +1 -0
  264. package/dist/esm/hooks/useRouteExecutionMessage.js +1 -0
  265. package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -1
  266. package/dist/esm/hooks/useRoutes.d.ts +32 -0
  267. package/dist/esm/hooks/useRoutes.d.ts.map +1 -0
  268. package/dist/esm/hooks/useRoutes.js +12 -8
  269. package/dist/esm/hooks/useRoutes.js.map +1 -1
  270. package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -1
  271. package/dist/esm/hooks/useToAddressRequirements.d.ts +16 -0
  272. package/dist/esm/hooks/useToAddressRequirements.d.ts.map +1 -0
  273. package/dist/esm/hooks/useToken.d.ts +9 -0
  274. package/dist/esm/hooks/useToken.d.ts.map +1 -0
  275. package/dist/esm/hooks/useTokenAddressBalance.d.ts +11 -0
  276. package/dist/esm/hooks/useTokenAddressBalance.d.ts.map +1 -0
  277. package/dist/esm/hooks/useTokenBalances.d.ts +14 -0
  278. package/dist/esm/hooks/useTokenBalances.d.ts.map +1 -0
  279. package/dist/esm/hooks/useTokenBalances.js +5 -45
  280. package/dist/esm/hooks/useTokenBalances.js.map +1 -1
  281. package/dist/esm/hooks/useTokenBalancesQueries.js +5 -3
  282. package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -1
  283. package/dist/esm/hooks/useTokenList.d.ts +16 -0
  284. package/dist/esm/hooks/useTokenList.d.ts.map +1 -0
  285. package/dist/esm/hooks/useTokenList.js +31 -0
  286. package/dist/esm/hooks/useTokenList.js.map +1 -0
  287. package/dist/esm/hooks/useTokens.js.map +1 -1
  288. package/dist/esm/hooks/useTools.d.ts +8 -0
  289. package/dist/esm/hooks/useTools.d.ts.map +1 -0
  290. package/dist/esm/hooks/useTransactionDetails.js +1 -3
  291. package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
  292. package/dist/esm/hooks/useTransactionList.js +1 -0
  293. package/dist/esm/hooks/useTransactionList.js.map +1 -1
  294. package/dist/esm/hooks/useWidgetChains.d.ts +0 -1
  295. package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -1
  296. package/dist/esm/hooks/useWidgetEvents.d.ts +0 -1
  297. package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -1
  298. package/dist/esm/i18n/en.json +321 -0
  299. package/dist/esm/index.d.ts +1 -0
  300. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +1 -0
  301. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -1
  302. package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js.map +1 -1
  303. package/dist/esm/pages/LanguagesPage.js.map +1 -1
  304. package/dist/esm/pages/MainPage/LimitPageContent.js.map +1 -1
  305. package/dist/esm/pages/MainPage/MainPage.js.map +1 -1
  306. package/dist/esm/pages/MainPage/MainPageActions.js.map +1 -1
  307. package/dist/esm/pages/MainPage/MainWarningMessages.d.ts +10 -0
  308. package/dist/esm/pages/MainPage/MainWarningMessages.d.ts.map +1 -0
  309. package/dist/esm/pages/RoutePriorityPage.js.map +1 -1
  310. package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  311. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts +7 -0
  312. package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts.map +1 -0
  313. package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts +6 -0
  314. package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts.map +1 -0
  315. package/dist/esm/pages/SelectChainPage/types.d.ts +8 -0
  316. package/dist/esm/pages/SelectChainPage/types.d.ts.map +1 -0
  317. package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -1
  318. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts +10 -0
  319. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts.map +1 -0
  320. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  321. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -1
  322. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -1
  323. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -1
  324. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  325. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -1
  326. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -1
  327. package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
  328. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
  329. package/dist/esm/pages/SettingsPage/GasPriceSettings.js.map +1 -1
  330. package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
  331. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -1
  332. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -1
  333. package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -1
  334. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
  335. package/dist/esm/pages/SettingsPage/SettingsPage.js.map +1 -1
  336. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippagePage.js.map +1 -1
  337. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
  338. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js.map +1 -1
  339. package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
  340. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts +9 -0
  341. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts.map +1 -0
  342. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js.map +1 -1
  343. package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js.map +1 -1
  344. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
  345. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -1
  346. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js.map +1 -1
  347. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts +14 -0
  348. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts.map +1 -0
  349. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -1
  350. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts +19 -0
  351. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts.map +1 -0
  352. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -1
  353. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts +12 -0
  354. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts.map +1 -0
  355. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +1 -0
  356. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -1
  357. package/dist/esm/pages/TransactionPage/RouteTracker.d.ts +11 -0
  358. package/dist/esm/pages/TransactionPage/RouteTracker.d.ts.map +1 -0
  359. package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts +6 -0
  360. package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts.map +1 -0
  361. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts +15 -0
  362. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts.map +1 -0
  363. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -1
  364. package/dist/esm/pages/TransactionPage/TransactionContent.js +1 -0
  365. package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -1
  366. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts +12 -0
  367. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts.map +1 -0
  368. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +1 -0
  369. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -1
  370. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +1 -0
  371. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -1
  372. package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js.map +1 -1
  373. package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -0
  374. package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
  375. package/dist/esm/pages/TransactionPage/TransactionReview.js.map +1 -1
  376. package/dist/esm/pages/TransactionPage/types.d.ts +9 -0
  377. package/dist/esm/pages/TransactionPage/types.d.ts.map +1 -0
  378. package/dist/esm/pages/TransactionPage/utils.d.ts +6 -0
  379. package/dist/esm/pages/TransactionPage/utils.d.ts.map +1 -0
  380. package/dist/esm/providers/I18nProvider/I18nProvider.d.ts +5 -0
  381. package/dist/esm/providers/I18nProvider/I18nProvider.d.ts.map +1 -0
  382. package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -1
  383. package/dist/esm/providers/I18nProvider/types.d.ts +2 -3
  384. package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -1
  385. package/dist/esm/providers/QueryClientProvider.d.ts +6 -0
  386. package/dist/esm/providers/QueryClientProvider.d.ts.map +1 -0
  387. package/dist/esm/providers/SDKClientProvider.d.ts +8 -0
  388. package/dist/esm/providers/SDKClientProvider.d.ts.map +1 -0
  389. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +10 -0
  390. package/dist/esm/providers/WalletProvider/WalletProvider.d.ts.map +1 -0
  391. package/dist/esm/providers/WalletProvider/WalletProvider.js +8 -3
  392. package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
  393. package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts +8 -0
  394. package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
  395. package/dist/esm/providers/WidgetProvider/types.d.ts +11 -0
  396. package/dist/esm/providers/WidgetProvider/types.d.ts.map +1 -0
  397. package/dist/esm/shared.d.ts +107 -0
  398. package/dist/esm/shared.js +105 -0
  399. package/dist/esm/stores/StoreProvider.d.ts +7 -0
  400. package/dist/esm/stores/StoreProvider.d.ts.map +1 -0
  401. package/dist/esm/stores/StoreProvider.js.map +1 -1
  402. package/dist/esm/stores/bookmarks/BookmarkStore.d.ts +7 -0
  403. package/dist/esm/stores/bookmarks/BookmarkStore.d.ts.map +1 -0
  404. package/dist/esm/stores/bookmarks/types.d.ts +0 -1
  405. package/dist/esm/stores/bookmarks/types.d.ts.map +1 -1
  406. package/dist/esm/stores/chains/ChainOrderStore.d.ts +8 -0
  407. package/dist/esm/stores/chains/ChainOrderStore.d.ts.map +1 -0
  408. package/dist/esm/stores/chains/types.d.ts +27 -0
  409. package/dist/esm/stores/chains/types.d.ts.map +1 -0
  410. package/dist/esm/stores/form/FormStore.js.map +1 -1
  411. package/dist/esm/stores/form/FormUpdater.js.map +1 -1
  412. package/dist/esm/stores/form/createFormStore.js +1 -0
  413. package/dist/esm/stores/form/createFormStore.js.map +1 -1
  414. package/dist/esm/stores/form/types.d.ts +7 -7
  415. package/dist/esm/stores/form/types.d.ts.map +1 -1
  416. package/dist/esm/stores/form/types.js.map +1 -1
  417. package/dist/esm/stores/form/useFieldActions.d.ts +0 -1
  418. package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -1
  419. package/dist/esm/stores/form/useFieldValues.d.ts +0 -1
  420. package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -1
  421. package/dist/esm/stores/header/types.d.ts +20 -0
  422. package/dist/esm/stores/header/types.d.ts.map +1 -0
  423. package/dist/esm/stores/header/useHeaderStore.d.ts +8 -0
  424. package/dist/esm/stores/header/useHeaderStore.d.ts.map +1 -0
  425. package/dist/esm/stores/inputMode/useInputModeStore.d.ts +13 -0
  426. package/dist/esm/stores/inputMode/useInputModeStore.d.ts.map +1 -0
  427. package/dist/esm/stores/navigationTabs/useNavigationTabsStore.js.map +1 -1
  428. package/dist/esm/stores/routes/RouteExecutionStore.d.ts +9 -0
  429. package/dist/esm/stores/routes/RouteExecutionStore.d.ts.map +1 -0
  430. package/dist/esm/stores/routes/createRouteExecutionStore.js +1 -0
  431. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
  432. package/dist/esm/stores/routes/types.d.ts +24 -0
  433. package/dist/esm/stores/routes/types.d.ts.map +1 -0
  434. package/dist/esm/stores/routes/types.js +14 -0
  435. package/dist/esm/stores/routes/types.js.map +1 -0
  436. package/dist/esm/stores/routes/useRouteExecutionIndicator.js +1 -0
  437. package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -1
  438. package/dist/esm/stores/routes/utils.d.ts +9 -0
  439. package/dist/esm/stores/routes/utils.d.ts.map +1 -0
  440. package/dist/esm/stores/settings/SettingsStore.d.ts +8 -0
  441. package/dist/esm/stores/settings/SettingsStore.d.ts.map +1 -0
  442. package/dist/esm/stores/settings/types.d.ts +5 -2
  443. package/dist/esm/stores/settings/types.d.ts.map +1 -1
  444. package/dist/esm/stores/types.d.ts +9 -0
  445. package/dist/esm/stores/types.d.ts.map +1 -0
  446. package/dist/esm/themes/azureLight.d.ts +0 -1
  447. package/dist/esm/themes/azureLight.d.ts.map +1 -1
  448. package/dist/esm/themes/createTheme.d.ts +0 -1
  449. package/dist/esm/themes/createTheme.d.ts.map +1 -1
  450. package/dist/esm/themes/jumper.d.ts +0 -1
  451. package/dist/esm/themes/jumper.d.ts.map +1 -1
  452. package/dist/esm/themes/palettes.d.ts.map +1 -1
  453. package/dist/esm/themes/types.d.ts +0 -1
  454. package/dist/esm/themes/types.d.ts.map +1 -1
  455. package/dist/esm/themes/watermelonLight.d.ts +0 -1
  456. package/dist/esm/themes/watermelonLight.d.ts.map +1 -1
  457. package/dist/esm/themes/windows95.d.ts +0 -1
  458. package/dist/esm/themes/windows95.d.ts.map +1 -1
  459. package/dist/esm/types/events.d.ts +4 -3
  460. package/dist/esm/types/events.d.ts.map +1 -1
  461. package/dist/esm/types/token.d.ts +1 -2
  462. package/dist/esm/types/token.d.ts.map +1 -1
  463. package/dist/esm/types/widget.d.ts +72 -73
  464. package/dist/esm/types/widget.d.ts.map +1 -1
  465. package/dist/esm/utils/compactNumberFormatter.d.ts +8 -8
  466. package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -1
  467. package/dist/esm/utils/converters.d.ts +7 -0
  468. package/dist/esm/utils/converters.d.ts.map +1 -0
  469. package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -1
  470. package/dist/esm/utils/elements.d.ts +11 -0
  471. package/dist/esm/utils/elements.d.ts.map +1 -0
  472. package/dist/esm/utils/elements.js +8 -1
  473. package/dist/esm/utils/elements.js.map +1 -1
  474. package/dist/esm/utils/enum.d.ts +5 -0
  475. package/dist/esm/utils/enum.d.ts.map +1 -0
  476. package/dist/esm/utils/fees.d.ts +17 -0
  477. package/dist/esm/utils/fees.d.ts.map +1 -0
  478. package/dist/esm/utils/format.d.ts +14 -14
  479. package/dist/esm/utils/format.d.ts.map +1 -1
  480. package/dist/esm/utils/getPriceImpact.d.ts +1 -7
  481. package/dist/esm/utils/getPriceImpact.d.ts.map +1 -1
  482. package/dist/esm/utils/input.d.ts +5 -0
  483. package/dist/esm/utils/input.d.ts.map +1 -0
  484. package/dist/esm/utils/navigationRoutes.d.ts.map +1 -1
  485. package/dist/esm/utils/percentFormatter.d.ts +5 -5
  486. package/dist/esm/utils/percentFormatter.d.ts.map +1 -1
  487. package/dist/esm/utils/tokenList.js +3 -6
  488. package/dist/esm/utils/tokenList.js.map +1 -1
  489. package/dist/esm/utils/wallet.d.ts +5 -0
  490. package/dist/esm/utils/wallet.d.ts.map +1 -0
  491. package/package.json +29 -21
  492. package/src/components/RouteCard/RouteTokens.tsx +3 -2
  493. package/src/components/SendToWallet/SendToWalletButton.tsx +27 -5
  494. package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +11 -0
  495. package/src/config/version.ts +1 -1
  496. package/src/hooks/useAccountsBalancesData.ts +4 -31
  497. package/src/hooks/useDisplayedTokens.ts +70 -0
  498. package/src/hooks/useListHeight.ts +4 -0
  499. package/src/hooks/useRoutes.ts +360 -325
  500. package/src/hooks/useTokenBalances.ts +8 -53
  501. package/src/hooks/useTokenBalancesQueries.ts +12 -4
  502. package/src/hooks/useTokenList.ts +59 -0
  503. package/src/hooks/useTransactionDetails.ts +1 -3
  504. package/src/providers/WalletProvider/WalletProvider.tsx +15 -3
  505. package/src/shared.ts +191 -0
  506. package/src/stores/form/createFormStore.ts +1 -0
  507. package/src/stores/form/types.ts +1 -0
  508. package/src/utils/tokenList.ts +4 -12
  509. package/dist/esm/hooks/useFilteredByTokenBalances.js +0 -74
  510. package/dist/esm/hooks/useFilteredByTokenBalances.js.map +0 -1
  511. package/src/hooks/useFilteredByTokenBalances.ts +0 -145
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokens.js","names":[],"sources":["../../../src/hooks/useTokens.ts"],"sourcesContent":["import {\n ChainType,\n getToken,\n getTokens,\n type TokenExtended,\n type TokensExtendedResponse,\n} from '@lifi/sdk'\nimport { useChainTypeFromAddress } from '@lifi/widget-provider'\nimport { useQuery } from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport type { FormType } from '../stores/form/types.js'\nimport type { TokensByChain } from '../types/token.js'\nimport { defaultChainIdsByType } from '../utils/chainType.js'\nimport { isItemAllowed } from '../utils/item.js'\nimport { getQueryKey } from '../utils/queries.js'\nimport {\n filterAllowedTokens,\n mergeVerifiedWithSearchTokens,\n} from '../utils/token.js'\n\nconst refetchInterval = 300_000\n\nexport const useTokens = (\n formType?: FormType,\n search?: string,\n chainId?: number\n): {\n allTokens: Record<number, TokenExtended[]> | undefined\n isLoading: boolean\n isSearchLoading: boolean\n} => {\n const {\n tokens: configTokens,\n chains: chainsConfig,\n keyPrefix,\n } = useWidgetConfig()\n const sdkClient = useSDKClient()\n const { getChainTypeFromAddress } = useChainTypeFromAddress()\n\n // Main tokens cache - verified tokens from API\n const { data: verifiedTokens, isLoading } = useQuery({\n queryKey: [getQueryKey('tokens', keyPrefix)],\n queryFn: async ({ signal }) => {\n const chainTypes = [\n ChainType.EVM,\n ChainType.SVM,\n ChainType.UTXO,\n ChainType.MVM,\n ChainType.TVM,\n ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types))\n\n const tokensResponse: TokensExtendedResponse = await getTokens(\n sdkClient,\n {\n chainTypes,\n orderBy: 'volumeUSD24H',\n extended: true,\n limit: 1000,\n minPriceUSD: 0.000001,\n },\n { signal }\n )\n\n // Mark all tokens as verified\n const tokens: TokensByChain = Object.fromEntries(\n Object.entries(tokensResponse.tokens).map(([chainId, tokens]) => [\n chainId,\n tokens.map((token) => ({ ...token, verified: true })),\n ])\n )\n\n return tokens\n },\n refetchInterval,\n staleTime: refetchInterval,\n })\n\n // Search tokens cache - unverified tokens from search\n const { data: searchTokens, isLoading: isSearchLoading } = useQuery({\n queryKey: [getQueryKey('tokens-search', keyPrefix), search, chainId],\n queryFn: async ({ queryKey, signal }) => {\n const [, searchQuery, searchChainId] = queryKey as [\n string,\n string,\n number,\n ]\n const chainTypes = [\n ChainType.EVM,\n ChainType.SVM,\n ChainType.UTXO,\n ChainType.MVM,\n ChainType.TVM,\n ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types))\n\n const tokensResponse: TokensExtendedResponse = await getTokens(\n sdkClient,\n {\n chainTypes,\n orderBy: 'volumeUSD24H',\n extended: true,\n search: searchQuery,\n limit: 1000,\n minPriceUSD: 0.000001,\n },\n { signal }\n )\n\n // If the chainId is not provided, try to get it from the search query\n let _chainId = searchChainId\n if (!_chainId) {\n const chainType = getChainTypeFromAddress(searchQuery)\n if (chainType && chainType in defaultChainIdsByType) {\n _chainId = defaultChainIdsByType[chainType]\n }\n }\n\n // Fallback: If the main search returned no tokens for the specific chainId,\n // fetch a single token using the /token endpoint\n if (_chainId && searchQuery) {\n const existingTokens = tokensResponse.tokens[_chainId] || []\n if (!existingTokens.length) {\n const token = await getToken(sdkClient, _chainId, searchQuery, {\n signal,\n })\n if (token) {\n tokensResponse.tokens[_chainId] = [token]\n }\n }\n }\n\n // Mark all search tokens as unverified\n const tokens: TokensByChain = Object.fromEntries(\n Object.entries(tokensResponse.tokens).map(([chainId, tokens]) => [\n chainId,\n tokens.map((token) => ({ ...token, verified: false })),\n ])\n )\n\n return tokens\n },\n enabled: !!search,\n refetchInterval,\n staleTime: refetchInterval,\n })\n\n // Merge tokens at read time - single place where caches are combined\n const allTokens = useMemo(() => {\n const merged = mergeVerifiedWithSearchTokens(verifiedTokens, searchTokens)\n return filterAllowedTokens(merged, configTokens, chainsConfig, formType)\n }, [verifiedTokens, searchTokens, configTokens, chainsConfig, formType])\n\n return {\n allTokens,\n isLoading,\n isSearchLoading,\n }\n}\n"],"mappings":";;;;;;;;;;;AAsBA,MAAM,kBAAkB;AAExB,MAAa,aACX,UACA,QACA,YAKG;CACH,MAAM,EACJ,QAAQ,cACR,QAAQ,cACR,cACE,gBAAgB;CACpB,MAAM,YAAY,aAAa;CAC/B,MAAM,EAAE,4BAA4B,wBAAwB;CAG5D,MAAM,EAAE,MAAM,gBAAgB,cAAc,SAAS;EACnD,UAAU,CAAC,YAAY,UAAU,SAAS,CAAC;EAC3C,SAAS,OAAO,EAAE,aAAa;GAC7B,MAAM,aAAa;IACjB,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;GACZ,CAAC,CAAC,QAAQ,cAAc,cAAc,WAAW,cAAc,KAAK,CAAC;GAErE,MAAM,iBAAyC,MAAM,UACnD,WACA;IACE;IACA,SAAS;IACT,UAAU;IACV,OAAO;IACP,aAAa;GACf,GACA,EAAE,OAAO,CACX;GAUA,OAP8B,OAAO,YACnC,OAAO,QAAQ,eAAe,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,YAAY,CAC/D,SACA,OAAO,KAAK,WAAW;IAAE,GAAG;IAAO,UAAU;GAAK,EAAE,CACtD,CAAC,CAGS;EACd;EACA;EACA,WAAW;CACb,CAAC;CAGD,MAAM,EAAE,MAAM,cAAc,WAAW,oBAAoB,SAAS;EAClE,UAAU;GAAC,YAAY,iBAAiB,SAAS;GAAG;GAAQ;EAAO;EACnE,SAAS,OAAO,EAAE,UAAU,aAAa;GACvC,MAAM,GAAG,aAAa,iBAAiB;GAKvC,MAAM,aAAa;IACjB,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;GACZ,CAAC,CAAC,QAAQ,cAAc,cAAc,WAAW,cAAc,KAAK,CAAC;GAErE,MAAM,iBAAyC,MAAM,UACnD,WACA;IACE;IACA,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,aAAa;GACf,GACA,EAAE,OAAO,CACX;GAGA,IAAI,WAAW;GACf,IAAI,CAAC,UAAU;IACb,MAAM,YAAY,wBAAwB,WAAW;IACrD,IAAI,aAAa,aAAa,uBAC5B,WAAW,sBAAsB;GAErC;GAIA,IAAI,YAAY;QAEV,EADmB,eAAe,OAAO,aAAa,CAAC,EAAA,CACvC,QAAQ;KAC1B,MAAM,QAAQ,MAAM,SAAS,WAAW,UAAU,aAAa,EAC7D,OACF,CAAC;KACD,IAAI,OACF,eAAe,OAAO,YAAY,CAAC,KAAK;IAE5C;;GAWF,OAP8B,OAAO,YACnC,OAAO,QAAQ,eAAe,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,YAAY,CAC/D,SACA,OAAO,KAAK,WAAW;IAAE,GAAG;IAAO,UAAU;GAAM,EAAE,CACvD,CAAC,CAGS;EACd;EACA,SAAS,CAAC,CAAC;EACX;EACA,WAAW;CACb,CAAC;CAQD,OAAO;EACL,WANgB,cAAc;GAE9B,OAAO,oBADQ,8BAA8B,gBAAgB,YAC7B,GAAG,cAAc,cAAc,QAAQ;EACzE,GAAG;GAAC;GAAgB;GAAc;GAAc;GAAc;EAAQ,CAG5D;EACR;EACA;CACF;AACF"}
1
+ {"version":3,"file":"useTokens.js","names":[],"sources":["../../../src/hooks/useTokens.ts"],"sourcesContent":["import {\n ChainType,\n getToken,\n getTokens,\n type TokenExtended,\n type TokensExtendedResponse,\n} from '@lifi/sdk'\nimport { useChainTypeFromAddress } from '@lifi/widget-provider'\nimport { useQuery } from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport type { FormType } from '../stores/form/types.js'\nimport type { TokensByChain } from '../types/token.js'\nimport { defaultChainIdsByType } from '../utils/chainType.js'\nimport { isItemAllowed } from '../utils/item.js'\nimport { getQueryKey } from '../utils/queries.js'\nimport {\n filterAllowedTokens,\n mergeVerifiedWithSearchTokens,\n} from '../utils/token.js'\n\nconst refetchInterval = 300_000\n\nexport const useTokens = (\n formType?: FormType,\n search?: string,\n chainId?: number\n): {\n allTokens: Record<number, TokenExtended[]> | undefined\n isLoading: boolean\n isSearchLoading: boolean\n} => {\n const {\n tokens: configTokens,\n chains: chainsConfig,\n keyPrefix,\n } = useWidgetConfig()\n const sdkClient = useSDKClient()\n const { getChainTypeFromAddress } = useChainTypeFromAddress()\n\n // Main tokens cache - verified tokens from API\n const { data: verifiedTokens, isLoading } = useQuery({\n queryKey: [getQueryKey('tokens', keyPrefix)],\n queryFn: async ({ signal }) => {\n const chainTypes = [\n ChainType.EVM,\n ChainType.SVM,\n ChainType.UTXO,\n ChainType.MVM,\n ChainType.TVM,\n ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types))\n\n const tokensResponse: TokensExtendedResponse = await getTokens(\n sdkClient,\n {\n chainTypes,\n orderBy: 'volumeUSD24H',\n extended: true,\n limit: 1000,\n minPriceUSD: 0.000001,\n },\n { signal }\n )\n\n // Mark all tokens as verified\n const tokens: TokensByChain = Object.fromEntries(\n Object.entries(tokensResponse.tokens).map(([chainId, tokens]) => [\n chainId,\n tokens.map((token) => ({ ...token, verified: true })),\n ])\n )\n\n return tokens\n },\n refetchInterval,\n staleTime: refetchInterval,\n })\n\n // Search tokens cache - unverified tokens from search\n const { data: searchTokens, isLoading: isSearchLoading } = useQuery({\n queryKey: [getQueryKey('tokens-search', keyPrefix), search, chainId],\n queryFn: async ({ queryKey, signal }) => {\n const [, searchQuery, searchChainId] = queryKey as [\n string,\n string,\n number,\n ]\n const chainTypes = [\n ChainType.EVM,\n ChainType.SVM,\n ChainType.UTXO,\n ChainType.MVM,\n ChainType.TVM,\n ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types))\n\n const tokensResponse: TokensExtendedResponse = await getTokens(\n sdkClient,\n {\n chainTypes,\n orderBy: 'volumeUSD24H',\n extended: true,\n search: searchQuery,\n limit: 1000,\n minPriceUSD: 0.000001,\n },\n { signal }\n )\n\n // If the chainId is not provided, try to get it from the search query\n let _chainId = searchChainId\n if (!_chainId) {\n const chainType = getChainTypeFromAddress(searchQuery)\n if (chainType && chainType in defaultChainIdsByType) {\n _chainId = defaultChainIdsByType[chainType]\n }\n }\n\n // Fallback: If the main search returned no tokens for the specific chainId,\n // fetch a single token using the /token endpoint\n if (_chainId && searchQuery) {\n const existingTokens = tokensResponse.tokens[_chainId] || []\n if (!existingTokens.length) {\n const token = await getToken(sdkClient, _chainId, searchQuery, {\n signal,\n })\n if (token) {\n tokensResponse.tokens[_chainId] = [token]\n }\n }\n }\n\n // Mark all search tokens as unverified\n const tokens: TokensByChain = Object.fromEntries(\n Object.entries(tokensResponse.tokens).map(([chainId, tokens]) => [\n chainId,\n tokens.map((token) => ({ ...token, verified: false })),\n ])\n )\n\n return tokens\n },\n enabled: !!search,\n refetchInterval,\n staleTime: refetchInterval,\n })\n\n // Merge tokens at read time - single place where caches are combined\n const allTokens = useMemo(() => {\n const merged = mergeVerifiedWithSearchTokens(verifiedTokens, searchTokens)\n return filterAllowedTokens(merged, configTokens, chainsConfig, formType)\n }, [verifiedTokens, searchTokens, configTokens, chainsConfig, formType])\n\n return {\n allTokens,\n isLoading,\n isSearchLoading,\n }\n}\n"],"mappings":";;;;;;;;;;;AAsBA,MAAM,kBAAkB;AAExB,MAAa,aACX,UACA,QACA,YAKG;CACH,MAAM,EACJ,QAAQ,cACR,QAAQ,cACR,cACE,gBAAgB;CACpB,MAAM,YAAY,aAAa;CAC/B,MAAM,EAAE,4BAA4B,wBAAwB;CAG5D,MAAM,EAAE,MAAM,gBAAgB,cAAc,SAAS;EACnD,UAAU,CAAC,YAAY,UAAU,SAAS,CAAC;EAC3C,SAAS,OAAO,EAAE,aAAa;GAC7B,MAAM,aAAa;IACjB,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;GACZ,CAAC,CAAC,QAAQ,cAAc,cAAc,WAAW,cAAc,KAAK,CAAC;GAErE,MAAM,iBAAyC,MAAM,UACnD,WACA;IACE;IACA,SAAS;IACT,UAAU;IACV,OAAO;IACP,aAAa;GACf,GACA,EAAE,OAAO,CACX;GAUA,OAP8B,OAAO,YACnC,OAAO,QAAQ,eAAe,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,YAAY,CAC/D,SACA,OAAO,KAAK,WAAW;IAAE,GAAG;IAAO,UAAU;GAAK,EAAE,CACtD,CAAC,CAGS;EACd;EACA;EACA,WAAW;CACb,CAAC;CAGD,MAAM,EAAE,MAAM,cAAc,WAAW,oBAAoB,SAAS;EAClE,UAAU;GAAC,YAAY,iBAAiB,SAAS;GAAG;GAAQ;EAAO;EACnE,SAAS,OAAO,EAAE,UAAU,aAAa;GACvC,MAAM,GAAG,aAAa,iBAAiB;GAKvC,MAAM,aAAa;IACjB,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;GACZ,CAAC,CAAC,QAAQ,cAAc,cAAc,WAAW,cAAc,KAAK,CAAC;GAErE,MAAM,iBAAyC,MAAM,UACnD,WACA;IACE;IACA,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,aAAa;GACf,GACA,EAAE,OAAO,CACX;GAGA,IAAI,WAAW;GACf,IAAI,CAAC,UAAU;IACb,MAAM,YAAY,wBAAwB,WAAW;IACrD,IAAI,aAAa,aAAa,uBAC5B,WAAW,sBAAsB;GAErC;GAIA,IAAI,YAAY,aAEV;QAAA,EADmB,eAAe,OAAO,aAAa,CAAC,EAAA,CACvC,QAAQ;KAC1B,MAAM,QAAQ,MAAM,SAAS,WAAW,UAAU,aAAa,EAC7D,OACF,CAAC;KACD,IAAI,OACF,eAAe,OAAO,YAAY,CAAC,KAAK;IAE5C;;GAWF,OAP8B,OAAO,YACnC,OAAO,QAAQ,eAAe,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,YAAY,CAC/D,SACA,OAAO,KAAK,WAAW;IAAE,GAAG;IAAO,UAAU;GAAM,EAAE,CACvD,CAAC,CAGS;EACd;EACA,SAAS,CAAC,CAAC;EACX;EACA,WAAW;CACb,CAAC;CAQD,OAAO;EACL,WANgB,cAAc;GAE9B,OAAO,oBADQ,8BAA8B,gBAAgB,YAC7B,GAAG,cAAc,cAAc,QAAQ;EACzE,GAAG;GAAC;GAAgB;GAAc;GAAc;GAAc;EAAQ,CAG5D;EACR;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"}
@@ -31,7 +31,11 @@
31
31
  "dark": "Dark",
32
32
  "delete": "Delete",
33
33
  "deposit": "Deposit",
34
+ "depositWithCash": "Deposit with cash",
35
+ "pay": "Pay",
34
36
  "depositReview": "Review deposit",
37
+ "connectExchange": "Connect exchange",
38
+ "transferCrypto": "Transfer crypto",
35
39
  "disconnect": "Disconnect",
36
40
  "done": "Done",
37
41
  "exchange": "Exchange",
@@ -41,10 +45,16 @@
41
45
  "max": "MAX",
42
46
  "ok": "Ok",
43
47
  "options": "Options",
48
+ "requestRefund": "Request refund",
44
49
  "reset": "Reset",
45
50
  "resetSettings": "Reset settings",
51
+ "resumeTransaction": "Resume transaction",
46
52
  "review": "Review",
47
53
  "seeDetails": "See details",
54
+ "topUp": "Top up",
55
+ "viewRefund": "View refund",
56
+ "viewRefundStatus": "View refund status",
57
+ "viewTransferDetails": "View transfer details",
48
58
  "showAll": "Show all",
49
59
  "startBridging": "Start bridging",
50
60
  "startSwapping": "Start swapping",
@@ -63,8 +73,13 @@
63
73
  "checkout": "Checkout",
64
74
  "checkoutDetails": "Checkout details",
65
75
  "deposit": "Deposit",
76
+ "depositWithCash": "Deposit with cash",
77
+ "depositAddress": "Deposit address",
66
78
  "depositDetails": "Deposit details",
67
79
  "depositTo": "Deposit to",
80
+ "connectExchange": "Connect exchange",
81
+ "transferCrypto": "Transfer crypto",
82
+ "currency": "Currency",
68
83
  "exchange": "Exchange",
69
84
  "from": "Exchange from",
70
85
  "gas": "Gas",
@@ -330,6 +345,7 @@
330
345
  "tokenSearch": "Search by token or address",
331
346
  "valueLoss": "Value loss",
332
347
  "searchBridges": "Search by bridge name",
348
+ "searchCurrency": "Search currency",
333
349
  "searchExchanges": "Search by exchange name",
334
350
  "searchNetwork": "Search network"
335
351
  },
@@ -381,5 +397,310 @@
381
397
  "contractAddress": "Contract address",
382
398
  "marketCap": "Market cap",
383
399
  "volume24h": "Volume 24h"
400
+ },
401
+ "tags": {
402
+ "connected": "Connected",
403
+ "getStarted": "Get Started",
404
+ "installed": "Installed",
405
+ "multichain": "Multichain",
406
+ "qrCode": "QR Code"
407
+ },
408
+ "checkout": {
409
+ "closeConfirmation": {
410
+ "title": "Leave checkout?",
411
+ "body": "Closing won't cancel your deposit. You can come back to check on it here anytime.",
412
+ "confirm": "Close checkout",
413
+ "cancel": "Cancel"
414
+ },
415
+ "abandonConfirmation": {
416
+ "title": "Cancel this transfer?",
417
+ "body": "Your deposit details will be discarded. Don't send funds to this address after cancelling.",
418
+ "confirm": "Cancel transfer",
419
+ "cancel": "Keep transfer"
420
+ },
421
+ "activity": {
422
+ "title": "Activity",
423
+ "deposit": "Deposit",
424
+ "amountOnChain": "{{amount}} {{symbol}} on {{chain}}",
425
+ "depositInProgress": "Deposit in progress",
426
+ "refundInProgress": "Refund in progress",
427
+ "couldNotComplete": "Couldn't complete",
428
+ "singleFailed": "Deposit failed. Please resolve",
429
+ "dismiss": "Dismiss"
430
+ },
431
+ "transak": {
432
+ "forceClose": {
433
+ "tooltip": "Close (transaction won't resume)"
434
+ }
435
+ },
436
+ "legal": {
437
+ "termsDisclaimer": "By continuing, you agree to LI.FI's <terms>Terms of Service</terms>."
438
+ },
439
+ "resume": {
440
+ "notFoundToast": "We couldn't find your transaction. Start over or contact support if you think this is a mistake."
441
+ },
442
+ "transferDeposit": {
443
+ "warning": "Send at least <b>{{amount}} {{symbol}}</b> on <b>{{chain}}</b>. Wrong token or chain may be unrecoverable.",
444
+ "expiresIn": "Deposit address expires in {{minutes}}:{{seconds}}",
445
+ "addressLabel": "Deposit address",
446
+ "copyAddress": "Copy address",
447
+ "addressCopied": "Copied!",
448
+ "regenerate": "Generate new deposit address",
449
+ "expired": "This deposit window expired. Generate a new one to continue.",
450
+ "polling": "Watching for your deposit…",
451
+ "detailsTitle": "Deposit details",
452
+ "table": {
453
+ "required": "Required",
454
+ "received": "Received",
455
+ "minRefundable": "Min. refundable",
456
+ "remaining": "Remaining",
457
+ "excess": "Excess",
458
+ "timeRemaining": "Time remaining"
459
+ },
460
+ "errors": {
461
+ "unexpected": {
462
+ "title": "Unexpected deposit",
463
+ "description": "We received a deposit that doesn't match a supported route. Contact support for next steps."
464
+ },
465
+ "amountLowThreshold": {
466
+ "title": "Deposit incomplete",
467
+ "description": "Top up to complete your order, or to enable a refund."
468
+ },
469
+ "amountLowTopUp": {
470
+ "title": "Deposit incomplete",
471
+ "description": "Send the remaining before the deposit window closes."
472
+ },
473
+ "amountLowExpired": {
474
+ "title": "Deposit incomplete",
475
+ "description": "The deposit window has expired. You can request a refund for the amount received."
476
+ },
477
+ "excessHeld": {
478
+ "title": "Excess held",
479
+ "description": "Your order is processing. The excess is held — request a refund to retrieve it."
480
+ },
481
+ "lateArrival": {
482
+ "title": "Deposit arrived late",
483
+ "description": "Your funds reached us after the deposit window closed. You can reactivate to continue, or request a refund."
484
+ },
485
+ "addressExpired": {
486
+ "title": "Deposit address expired",
487
+ "description": "The deposit address has expired without receiving funds. You can try again with a new deposit address."
488
+ },
489
+ "marketMoved": {
490
+ "title": "Transaction failed",
491
+ "description": "The exchange rate moved before your order could complete. Your funds are safe — a refund has been started."
492
+ },
493
+ "refunding": {
494
+ "title": "Transaction failed — refunding",
495
+ "description": "We couldn't complete the transfer after several attempts. Your funds are being refunded to the wallet that sent them."
496
+ }
497
+ }
498
+ },
499
+ "fiatCurrency": {
500
+ "label": "Pay with"
501
+ },
502
+ "cashCurrency": {
503
+ "error": "Unable to load currencies right now. Try again."
504
+ },
505
+ "cashQuote": {
506
+ "totalFeesLabel": "Total fees",
507
+ "feeFallback": "Fee {{index}}",
508
+ "guaranteedMinimum": "Guaranteed minimum",
509
+ "refundNote": "You'll receive at least {{value}}, or a full refund.",
510
+ "error": "Unable to refresh the quote right now. Try again."
511
+ },
512
+ "cashHandoff": {
513
+ "title": "You'll finish paying in Transak",
514
+ "body": "Your payment passes through a temporary deposit address we created for this purchase, not your personal wallet. That's expected, and it happens automatically.",
515
+ "addressLabel": "Deposit address",
516
+ "addressHint": "You'll see this same address in Transak.",
517
+ "continue": "Continue to Transak",
518
+ "goBack": "Go back"
519
+ },
520
+ "paymentMethod": {
521
+ "label": "Payment method"
522
+ },
523
+ "flowSummary": {
524
+ "wallet": "From your wallet",
525
+ "transfer": "Transfer crypto",
526
+ "exchange": "From an exchange",
527
+ "cash": "Buy with cash"
528
+ },
529
+ "transactionStatus": {
530
+ "detailsTitle": "Transaction details",
531
+ "watching": "Watching for transaction",
532
+ "executing": "Processing transaction",
533
+ "success": "Transaction successful",
534
+ "seeDetails": "See details",
535
+ "steps": {
536
+ "transferInitiated": "Transfer initiated",
537
+ "receive": {
538
+ "upcoming": "Receive {{symbol}}",
539
+ "loading": "Receiving {{symbol}}",
540
+ "done": "{{symbol}} received"
541
+ },
542
+ "swap": {
543
+ "upcoming": "Swap to {{symbol}}",
544
+ "loading": "Swapping to {{symbol}}",
545
+ "done": "Swapped to {{symbol}}"
546
+ },
547
+ "bridge": {
548
+ "upcoming": "Bridge to {{chain}}",
549
+ "loading": "Bridging to {{chain}}",
550
+ "done": "Bridged to {{chain}}"
551
+ }
552
+ }
553
+ },
554
+ "chooseFundingSource": "Choose funding source",
555
+ "whereToSendIt": "Where to send it",
556
+ "sendingTo": "Sending to",
557
+ "required": "Required",
558
+ "addWalletToReceive": "Add a wallet to receive your {{token}}",
559
+ "walletAddressOrEns": "Wallet address or ENS name",
560
+ "insufficientFunds": "Insufficient funds — You don't have enough {{symbol}} on {{chain}}. Select a different token to try again.",
561
+ "routeNotFound": {
562
+ "title": "Can't buy this token here",
563
+ "description": "This token isn't available through the payment method you selected. Try a different token, or pay from a connected wallet."
564
+ },
565
+ "useYourTokens": "Use your tokens",
566
+ "buyTokens": "Buy tokens",
567
+ "or": "or",
568
+ "payFromWallet": "Pay from Wallet",
569
+ "payFromWalletSubtitle": "Connect a browser wallet",
570
+ "payFromWalletConnectedSubtitle": "Select token & amount",
571
+ "transferCrypto": "Transfer Crypto",
572
+ "transferCryptoSubtitle": "From any wallet",
573
+ "connectExchange": "Connect Exchange",
574
+ "connectExchangeSubtitle": "Link your exchange account",
575
+ "payWithExchange": "Pay with {{exchange}}",
576
+ "reuseExchangeSubtitle": "Continue with your linked account",
577
+ "depositWithCash": "Deposit with Cash",
578
+ "depositWithCashSubtitle": "Debit or credit card",
579
+ "connectWallet": "Connect wallet",
580
+ "useAnotherWallet": "Use another wallet",
581
+ "moreWallets": "More",
582
+ "progress": {
583
+ "title": "Purchase in progress",
584
+ "description": "We're processing your purchase. This may take a few minutes."
585
+ },
586
+ "onramp": {
587
+ "dialogTitle": "Deposit with {{providerName}}",
588
+ "close": "Close",
589
+ "errors": {
590
+ "MISSING_API_URL": "{{providerName}} is not configured: set sdkConfig.apiUrl on the checkout.",
591
+ "MISSING_API_KEY": "{{providerName}} is not configured: set widget apiKey to call checkout sessions.",
592
+ "TARGET_NOT_CONFIGURED": "{{providerName}} destination is not configured: set widget.toChain and widget.toToken.",
593
+ "INVALID_RESPONSE": "Invalid response from {{providerName}} session API.",
594
+ "NETWORK_ERROR": "Network error starting {{providerName}} session.",
595
+ "SESSION_HTTP": "Could not start {{providerName}} session ({{status}}). Try again later.",
596
+ "generic": "Something went wrong. Try again later."
597
+ },
598
+ "failure": {
599
+ "connectionTitle": "Connection failed",
600
+ "connectionDescription": "We couldn't connect to {{providerName}}. Try again or contact support.",
601
+ "withdrawalTitle": "Withdrawal failed",
602
+ "withdrawalDescription": "{{providerName}} couldn't process your withdrawal. Your funds remain in your account.",
603
+ "transferTitle": "Transaction failed - refunding",
604
+ "transferDescription": "We couldn't complete the transfer after several attempts. Your funds are being refunded to the wallet that sent them."
605
+ }
606
+ },
607
+ "status": {
608
+ "successCompleted": {
609
+ "title": "Transaction successful",
610
+ "description": "Your transaction has been completed successfully."
611
+ },
612
+ "successPartial": {
613
+ "title": "Partially completed",
614
+ "description": "Your transaction completed, but some of the received tokens are not the requested destination tokens. Open the details to see what you received."
615
+ },
616
+ "successRefund": {
617
+ "title": "Refund complete",
618
+ "description": "Your transaction could not be completed and your funds have been refunded."
619
+ },
620
+ "pendingDefault": {
621
+ "title": "Processing transaction",
622
+ "description": "Your transaction is being processed. This may take a few minutes."
623
+ },
624
+ "pendingRefund": {
625
+ "title": "Refund in progress",
626
+ "description": "We're sending your funds back. This usually takes a few minutes.",
627
+ "sentTo": "Sent to:"
628
+ },
629
+ "pendingRetrying": {
630
+ "title": "Retrying transaction",
631
+ "description": "We encountered an issue and are automatically retrying your transaction."
632
+ },
633
+ "errorExpired": {
634
+ "title": "Transaction expired",
635
+ "description": "The transaction window has expired. Please try again."
636
+ },
637
+ "errorFailed": {
638
+ "title": "Transaction failed",
639
+ "description": "We couldn't complete your transaction. Try again or contact support."
640
+ },
641
+ "errorConnection": {
642
+ "title": "Connection failed",
643
+ "description": "We couldn't connect to the payment provider. Try again or contact support.",
644
+ "exchange": {
645
+ "title": "Exchange connection failed",
646
+ "description": "We couldn't connect to your exchange account. Try again or contact support."
647
+ }
648
+ },
649
+ "errorWithdrawal": {
650
+ "title": "Withdrawal failed",
651
+ "description": "The payment provider couldn't process your withdrawal. Your funds remain in your account.",
652
+ "cash": {
653
+ "title": "Payment didn't complete",
654
+ "description": "Your payment didn't go through. No funds were taken."
655
+ },
656
+ "exchange": {
657
+ "title": "Exchange withdrawal failed",
658
+ "description": "Your exchange couldn't process the withdrawal. Your funds remain in your exchange account."
659
+ }
660
+ },
661
+ "errorCancelled": {
662
+ "title": "Transaction cancelled",
663
+ "description": "Your transaction was cancelled. You can try again whenever you're ready.",
664
+ "cash": {
665
+ "title": "Payment cancelled",
666
+ "description": "You closed the payment window. Your order wasn't placed."
667
+ }
668
+ },
669
+ "errorUnavailable": {
670
+ "title": "Service unavailable",
671
+ "description": "The payment provider is temporarily unavailable. Please try again later or contact support.",
672
+ "cash": {
673
+ "title": "Card payment unavailable",
674
+ "description": "Card payments are temporarily unavailable. Try again later or use a different method."
675
+ }
676
+ },
677
+ "walletDisconnected": {
678
+ "title": "Wallet disconnected",
679
+ "description": "Your wallet was disconnected during the transaction. Reconnect and try again."
680
+ },
681
+ "walletErrorFailed": {
682
+ "title": "Transaction failed",
683
+ "description": "We couldn't complete your transaction. View the details or try again."
684
+ },
685
+ "walletErrorExpired": {
686
+ "title": "Order expired",
687
+ "description": "The transaction window expired before your order could be processed. Please try again."
688
+ },
689
+ "walletPendingRefund": {
690
+ "title": "Refund in progress",
691
+ "description": "We're sending your funds back to the wallet you paid from. This usually takes a few minutes.",
692
+ "sentToWallet": "Sent to wallet:"
693
+ },
694
+ "walletSuccessRefund": {
695
+ "title": "Refund complete",
696
+ "description": "Your transaction could not be completed and your funds have been refunded to your wallet."
697
+ }
698
+ },
699
+ "refund": {
700
+ "title": "Refund",
701
+ "inProgressDescription": "Your {{amount}} {{symbol}} on {{chain}} is being returned to your wallet. This usually takes a few minutes.",
702
+ "completeDescription": "Your {{amount}} {{symbol}} on {{chain}} was returned to your wallet.",
703
+ "viewTransaction": "View transaction"
704
+ }
384
705
  }
385
706
  }
@@ -21,6 +21,7 @@ import { azureLightTheme } from "./themes/azureLight.js";
21
21
  import { createTheme } from "./themes/createTheme.js";
22
22
  import { jumperTheme } from "./themes/jumper.js";
23
23
  import { palette, paletteDark, paletteLight } from "./themes/palettes.js";
24
+ import "./themes/types.js";
24
25
  import { watermelonLightTheme } from "./themes/watermelonLight.js";
25
26
  import { windows95Theme } from "./themes/windows95.js";
26
27
  import { compactNumberFormatter } from "./utils/compactNumberFormatter.js";
@@ -1,4 +1,5 @@
1
1
  import { PageContainer } from "../../components/PageContainer.js";
2
+ import "../../stores/routes/types.js";
2
3
  import { useRouteExecutionStore } from "../../stores/routes/RouteExecutionStore.js";
3
4
  import { TransactionCardSkeleton } from "../../components/TransactionCard/TransactionCardSkeleton.js";
4
5
  import { useHeader } from "../../hooks/useHeader.js";
@@ -1 +1 @@
1
- {"version":3,"file":"ActivitiesPage.js","names":[],"sources":["../../../../src/pages/ActivitiesPage/ActivitiesPage.tsx"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport { Box, List } from '@mui/material'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { type JSX, useCallback, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PageContainer } from '../../components/PageContainer.js'\nimport { TransactionCardSkeleton } from '../../components/TransactionCard/TransactionCardSkeleton.js'\nimport { useHeader } from '../../hooks/useHeader.js'\nimport { useListHeight } from '../../hooks/useListHeight.js'\nimport { useTransactionList } from '../../hooks/useTransactionList.js'\nimport { useRouteExecutionStore } from '../../stores/routes/RouteExecutionStore.js'\nimport { RouteExecutionStatus } from '../../stores/routes/types.js'\nimport { ActiveTransactionItem } from './ActiveTransactionItem.js'\nimport { ActivitiesPageMenuButton } from './ActivitiesPageMenuButton.js'\nimport { TransactionHistoryEmpty } from './TransactionHistoryEmpty.js'\nimport { TransactionHistoryItem } from './TransactionHistoryItem.js'\n\nconst SKELETON_COUNT = 2\n\nexport const ActivitiesPage = (): JSX.Element => {\n // Parent ref and useVirtualizer should be in one file to avoid blank page (0 virtual items) issue\n const parentRef = useRef<HTMLDivElement | null>(null)\n const { items, isLoading } = useTransactionList()\n\n const { t } = useTranslation()\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.map((account) => account.address),\n [accounts]\n )\n const hasFailedItems = useRouteExecutionStore(\n useCallback(\n (state) =>\n Object.values(state.routes).some(\n (r) =>\n r?.status === RouteExecutionStatus.Failed &&\n accountAddresses.includes(r.route.fromAddress)\n ),\n [accountAddresses]\n )\n )\n\n useHeader(\n t('header.activities'),\n hasFailedItems ? <ActivitiesPageMenuButton /> : null\n )\n\n const { listHeight } = useListHeight({\n listParentRef: parentRef,\n })\n\n const hasStoreItems = items.length > 0\n const skeletonCount = isLoading && hasStoreItems ? SKELETON_COUNT : 0\n const totalCount = items.length + skeletonCount\n\n const getItemKey = useCallback(\n (index: number) => {\n if (index >= items.length) {\n return `skeleton-${index}`\n }\n const item = items[index]\n if (item.type === 'active') {\n return `active-${item.routeId}`\n }\n return `${item.type}-${item.txHash || item.routeExecution.route.id}`\n },\n [items]\n )\n\n const { getVirtualItems, getTotalSize, measureElement } = useVirtualizer({\n count: hasStoreItems ? totalCount : 0,\n overscan: 3,\n paddingEnd: 12,\n getScrollElement: () => parentRef.current,\n estimateSize: (index) => (items[index]?.type === 'active' ? 218 : 196),\n getItemKey,\n })\n\n const isEmpty = !items.length && !isLoading\n\n return (\n <PageContainer disableGutters>\n <Box\n className=\"long-list\"\n ref={parentRef}\n style={{ height: listHeight }}\n sx={{ overflow: 'auto', paddingX: 3, paddingTop: 1.5 }}\n >\n {isEmpty ? (\n <TransactionHistoryEmpty />\n ) : isLoading && !hasStoreItems ? (\n <List\n disablePadding\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n marginBottom: 2,\n }}\n >\n {Array.from({ length: SKELETON_COUNT }).map((_, index) => (\n <TransactionCardSkeleton key={index} />\n ))}\n </List>\n ) : (\n <List\n style={{ height: getTotalSize(), position: 'relative' }}\n disablePadding\n >\n {getVirtualItems().map((item) => {\n const listItem =\n item.index < items.length ? items[item.index] : null\n return (\n <li\n key={item.key}\n ref={measureElement}\n data-index={item.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n paddingBottom: 16,\n transform: `translateY(${item.start}px)`,\n listStyle: 'none',\n }}\n >\n {!listItem ? (\n <TransactionCardSkeleton />\n ) : listItem.type === 'active' ? (\n <ActiveTransactionItem routeId={listItem.routeId} />\n ) : (\n <TransactionHistoryItem\n route={listItem.routeExecution.route}\n type={listItem.type}\n transactionHash={listItem.txHash}\n startedAt={listItem.startedAt}\n />\n )}\n </li>\n )\n })}\n </List>\n )}\n </Box>\n </PageContainer>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,MAAM,iBAAiB;AAEvB,MAAa,uBAAoC;CAE/C,MAAM,YAAY,OAA8B,IAAI;CACpD,MAAM,EAAE,OAAO,cAAc,mBAAmB;CAEhD,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,mBAAmB,cACjB,SAAS,KAAK,YAAY,QAAQ,OAAO,GAC/C,CAAC,QAAQ,CACX;CACA,MAAM,iBAAiB,uBACrB,aACG,UACC,OAAO,OAAO,MAAM,MAAM,CAAC,CAAC,MACzB,MACC,GAAG,WAAA,KACH,iBAAiB,SAAS,EAAE,MAAM,WAAW,CACjD,GACF,CAAC,gBAAgB,CACnB,CACF;CAEA,UACE,EAAE,mBAAmB,GACrB,iBAAiB,oBAAC,0BAAD,CAA2B,CAAA,IAAI,IAClD;CAEA,MAAM,EAAE,eAAe,cAAc,EACnC,eAAe,UACjB,CAAC;CAED,MAAM,gBAAgB,MAAM,SAAS;CACrC,MAAM,gBAAgB,aAAa,gBAAgB,iBAAiB;CACpE,MAAM,aAAa,MAAM,SAAS;CAElC,MAAM,aAAa,aAChB,UAAkB;EACjB,IAAI,SAAS,MAAM,QACjB,OAAO,YAAY;EAErB,MAAM,OAAO,MAAM;EACnB,IAAI,KAAK,SAAS,UAChB,OAAO,UAAU,KAAK;EAExB,OAAO,GAAG,KAAK,KAAK,GAAG,KAAK,UAAU,KAAK,eAAe,MAAM;CAClE,GACA,CAAC,KAAK,CACR;CAEA,MAAM,EAAE,iBAAiB,cAAc,mBAAmB,eAAe;EACvE,OAAO,gBAAgB,aAAa;EACpC,UAAU;EACV,YAAY;EACZ,wBAAwB,UAAU;EAClC,eAAe,UAAW,MAAM,MAAM,EAAE,SAAS,WAAW,MAAM;EAClE;CACF,CAAC;CAED,MAAM,UAAU,CAAC,MAAM,UAAU,CAAC;CAElC,OACE,oBAAC,eAAD;EAAe,gBAAA;YACb,oBAAC,KAAD;GACE,WAAU;GACV,KAAK;GACL,OAAO,EAAE,QAAQ,WAAW;GAC5B,IAAI;IAAE,UAAU;IAAQ,UAAU;IAAG,YAAY;GAAI;aAEpD,UACC,oBAAC,yBAAD,CAA0B,CAAA,IACxB,aAAa,CAAC,gBAChB,oBAAC,MAAD;IACE,gBAAA;IACA,IAAI;KACF,SAAS;KACT,eAAe;KACf,KAAK;KACL,cAAc;IAChB;cAEC,MAAM,KAAK,EAAE,QAAQ,eAAe,CAAC,CAAC,CAAC,KAAK,GAAG,UAC9C,oBAAC,yBAAD,CAAsC,GAAR,KAAQ,CACvC;GACG,CAAA,IAEN,oBAAC,MAAD;IACE,OAAO;KAAE,QAAQ,aAAa;KAAG,UAAU;IAAW;IACtD,gBAAA;cAEC,gBAAgB,CAAC,CAAC,KAAK,SAAS;KAC/B,MAAM,WACJ,KAAK,QAAQ,MAAM,SAAS,MAAM,KAAK,SAAS;KAClD,OACE,oBAAC,MAAD;MAEE,KAAK;MACL,cAAY,KAAK;MACjB,OAAO;OACL,UAAU;OACV,KAAK;OACL,MAAM;OACN,OAAO;OACP,eAAe;OACf,WAAW,cAAc,KAAK,MAAM;OACpC,WAAW;MACb;gBAEC,CAAC,WACA,oBAAC,yBAAD,CAA0B,CAAA,IACxB,SAAS,SAAS,WACpB,oBAAC,uBAAD,EAAuB,SAAS,SAAS,QAAU,CAAA,IAEnD,oBAAC,wBAAD;OACE,OAAO,SAAS,eAAe;OAC/B,MAAM,SAAS;OACf,iBAAiB,SAAS;OAC1B,WAAW,SAAS;MACrB,CAAA;KAED,GAzBG,KAAK,GAyBR;IAER,CAAC;GACG,CAAA;EAEL,CAAA;CACQ,CAAA;AAEnB"}
1
+ {"version":3,"file":"ActivitiesPage.js","names":[],"sources":["../../../../src/pages/ActivitiesPage/ActivitiesPage.tsx"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport { Box, List } from '@mui/material'\nimport { useVirtualizer } from '@tanstack/react-virtual'\nimport { type JSX, useCallback, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { PageContainer } from '../../components/PageContainer.js'\nimport { TransactionCardSkeleton } from '../../components/TransactionCard/TransactionCardSkeleton.js'\nimport { useHeader } from '../../hooks/useHeader.js'\nimport { useListHeight } from '../../hooks/useListHeight.js'\nimport { useTransactionList } from '../../hooks/useTransactionList.js'\nimport { useRouteExecutionStore } from '../../stores/routes/RouteExecutionStore.js'\nimport { RouteExecutionStatus } from '../../stores/routes/types.js'\nimport { ActiveTransactionItem } from './ActiveTransactionItem.js'\nimport { ActivitiesPageMenuButton } from './ActivitiesPageMenuButton.js'\nimport { TransactionHistoryEmpty } from './TransactionHistoryEmpty.js'\nimport { TransactionHistoryItem } from './TransactionHistoryItem.js'\n\nconst SKELETON_COUNT = 2\n\nexport const ActivitiesPage = (): JSX.Element => {\n // Parent ref and useVirtualizer should be in one file to avoid blank page (0 virtual items) issue\n const parentRef = useRef<HTMLDivElement | null>(null)\n const { items, isLoading } = useTransactionList()\n\n const { t } = useTranslation()\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.map((account) => account.address),\n [accounts]\n )\n const hasFailedItems = useRouteExecutionStore(\n useCallback(\n (state) =>\n Object.values(state.routes).some(\n (r) =>\n r?.status === RouteExecutionStatus.Failed &&\n accountAddresses.includes(r.route.fromAddress)\n ),\n [accountAddresses]\n )\n )\n\n useHeader(\n t('header.activities'),\n hasFailedItems ? <ActivitiesPageMenuButton /> : null\n )\n\n const { listHeight } = useListHeight({\n listParentRef: parentRef,\n })\n\n const hasStoreItems = items.length > 0\n const skeletonCount = isLoading && hasStoreItems ? SKELETON_COUNT : 0\n const totalCount = items.length + skeletonCount\n\n const getItemKey = useCallback(\n (index: number) => {\n if (index >= items.length) {\n return `skeleton-${index}`\n }\n const item = items[index]\n if (item.type === 'active') {\n return `active-${item.routeId}`\n }\n return `${item.type}-${item.txHash || item.routeExecution.route.id}`\n },\n [items]\n )\n\n const { getVirtualItems, getTotalSize, measureElement } = useVirtualizer({\n count: hasStoreItems ? totalCount : 0,\n overscan: 3,\n paddingEnd: 12,\n getScrollElement: () => parentRef.current,\n estimateSize: (index) => (items[index]?.type === 'active' ? 218 : 196),\n getItemKey,\n })\n\n const isEmpty = !items.length && !isLoading\n\n return (\n <PageContainer disableGutters>\n <Box\n className=\"long-list\"\n ref={parentRef}\n style={{ height: listHeight }}\n sx={{ overflow: 'auto', paddingX: 3, paddingTop: 1.5 }}\n >\n {isEmpty ? (\n <TransactionHistoryEmpty />\n ) : isLoading && !hasStoreItems ? (\n <List\n disablePadding\n sx={{\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n marginBottom: 2,\n }}\n >\n {Array.from({ length: SKELETON_COUNT }).map((_, index) => (\n <TransactionCardSkeleton key={index} />\n ))}\n </List>\n ) : (\n <List\n style={{ height: getTotalSize(), position: 'relative' }}\n disablePadding\n >\n {getVirtualItems().map((item) => {\n const listItem =\n item.index < items.length ? items[item.index] : null\n return (\n <li\n key={item.key}\n ref={measureElement}\n data-index={item.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n paddingBottom: 16,\n transform: `translateY(${item.start}px)`,\n listStyle: 'none',\n }}\n >\n {!listItem ? (\n <TransactionCardSkeleton />\n ) : listItem.type === 'active' ? (\n <ActiveTransactionItem routeId={listItem.routeId} />\n ) : (\n <TransactionHistoryItem\n route={listItem.routeExecution.route}\n type={listItem.type}\n transactionHash={listItem.txHash}\n startedAt={listItem.startedAt}\n />\n )}\n </li>\n )\n })}\n </List>\n )}\n </Box>\n </PageContainer>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,MAAM,iBAAiB;AAEvB,MAAa,uBAAoC;CAE/C,MAAM,YAAY,OAA8B,IAAI;CACpD,MAAM,EAAE,OAAO,cAAc,mBAAmB;CAEhD,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,mBAAmB,cACjB,SAAS,KAAK,YAAY,QAAQ,OAAO,GAC/C,CAAC,QAAQ,CACX;CACA,MAAM,iBAAiB,uBACrB,aACG,UACC,OAAO,OAAO,MAAM,MAAM,CAAC,CAAC,MACzB,MACC,GAAG,WAAA,KACH,iBAAiB,SAAS,EAAE,MAAM,WAAW,CACjD,GACF,CAAC,gBAAgB,CACnB,CACF;CAEA,UACE,EAAE,mBAAmB,GACrB,iBAAiB,oBAAC,0BAAD,CAA2B,CAAA,IAAI,IAClD;CAEA,MAAM,EAAE,eAAe,cAAc,EACnC,eAAe,UACjB,CAAC;CAED,MAAM,gBAAgB,MAAM,SAAS;CACrC,MAAM,gBAAgB,aAAa,gBAAgB,iBAAiB;CACpE,MAAM,aAAa,MAAM,SAAS;CAElC,MAAM,aAAa,aAChB,UAAkB;EACjB,IAAI,SAAS,MAAM,QACjB,OAAO,YAAY;EAErB,MAAM,OAAO,MAAM;EACnB,IAAI,KAAK,SAAS,UAChB,OAAO,UAAU,KAAK;EAExB,OAAO,GAAG,KAAK,KAAK,GAAG,KAAK,UAAU,KAAK,eAAe,MAAM;CAClE,GACA,CAAC,KAAK,CACR;CAEA,MAAM,EAAE,iBAAiB,cAAc,mBAAmB,eAAe;EACvE,OAAO,gBAAgB,aAAa;EACpC,UAAU;EACV,YAAY;EACZ,wBAAwB,UAAU;EAClC,eAAe,UAAW,MAAM,MAAM,EAAE,SAAS,WAAW,MAAM;EAClE;CACF,CAAC;CAED,MAAM,UAAU,CAAC,MAAM,UAAU,CAAC;CAElC,OACE,oBAAC,eAAD;EAAe,gBAAA;EACb,UAAA,oBAAC,KAAD;GACE,WAAU;GACV,KAAK;GACL,OAAO,EAAE,QAAQ,WAAW;GAC5B,IAAI;IAAE,UAAU;IAAQ,UAAU;IAAG,YAAY;GAAI;GAEpD,UAAA,UACC,oBAAC,yBAAD,CAA0B,CAAA,IACxB,aAAa,CAAC,gBAChB,oBAAC,MAAD;IACE,gBAAA;IACA,IAAI;KACF,SAAS;KACT,eAAe;KACf,KAAK;KACL,cAAc;IAChB;IAEC,UAAA,MAAM,KAAK,EAAE,QAAQ,eAAe,CAAC,CAAC,CAAC,KAAK,GAAG,UAC9C,oBAAC,yBAAD,CAAsC,GAAR,KAAQ,CACvC;GACG,CAAA,IAEN,oBAAC,MAAD;IACE,OAAO;KAAE,QAAQ,aAAa;KAAG,UAAU;IAAW;IACtD,gBAAA;IAEC,UAAA,gBAAgB,CAAC,CAAC,KAAK,SAAS;KAC/B,MAAM,WACJ,KAAK,QAAQ,MAAM,SAAS,MAAM,KAAK,SAAS;KAClD,OACE,oBAAC,MAAD;MAEE,KAAK;MACL,cAAY,KAAK;MACjB,OAAO;OACL,UAAU;OACV,KAAK;OACL,MAAM;OACN,OAAO;OACP,eAAe;OACf,WAAW,cAAc,KAAK,MAAM;OACpC,WAAW;MACb;MAEC,UAAA,CAAC,WACA,oBAAC,yBAAD,CAA0B,CAAA,IACxB,SAAS,SAAS,WACpB,oBAAC,uBAAD,EAAuB,SAAS,SAAS,QAAU,CAAA,IAEnD,oBAAC,wBAAD;OACE,OAAO,SAAS,eAAe;OAC/B,MAAM,SAAS;OACf,iBAAiB,SAAS;OAC1B,WAAW,SAAS;MACrB,CAAA;KAED,GAzBG,KAAK,GAyBR;IAER,CAAC;GACG,CAAA;EAEL,CAAA;CACQ,CAAA;AAEnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActivitiesPageMenuButton.js","names":["DeleteOutlineIcon","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions"],"sources":["../../../../src/pages/ActivitiesPage/ActivitiesPageMenuButton.tsx"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutlined'\nimport { Button } from '@mui/material'\nimport { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { ContextMenu } from '../../components/ContextMenu.js'\nimport { Dialog } from '../../components/Dialog/Dialog.js'\nimport {\n DialogActions,\n DialogContainer,\n DialogContent,\n DialogContentText,\n DialogTitle,\n} from '../../components/Dialog/Dialog.style.js'\nimport { useRouteExecutionStore } from '../../stores/routes/RouteExecutionStore.js'\n\nexport const ActivitiesPageMenuButton: React.FC = () => {\n const { t } = useTranslation()\n const [dialogOpen, setDialogOpen] = useState(false)\n const deleteRoutes = useRouteExecutionStore((store) => store.deleteRoutes)\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.flatMap((account) => account.address ?? []),\n [accounts]\n )\n\n const handleDialogOpen = () => setDialogOpen(true)\n const handleDialogClose = () => setDialogOpen(false)\n\n const handleRemoveAllFailed = () => {\n deleteRoutes('failed', accountAddresses)\n handleDialogClose()\n }\n\n return (\n <>\n <ContextMenu\n buttonSx={{ position: 'static', marginRight: -1.5 }}\n items={[\n {\n icon: <DeleteOutlineIcon />,\n label: t('button.clearAllFailed'),\n onClick: handleDialogOpen,\n },\n ]}\n />\n <Dialog open={dialogOpen} onClose={handleDialogClose}>\n <DialogContainer>\n <DialogTitle>\n {t('warning.title.clearFailedTransactions')}\n </DialogTitle>\n <DialogContent>\n <DialogContentText>\n {t('warning.message.clearFailedTransactions')}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={handleDialogClose}>{t('button.cancel')}</Button>\n <Button\n variant=\"contained\"\n onClick={handleRemoveAllFailed}\n autoFocus\n >\n {t('button.delete')}\n </Button>\n </DialogActions>\n </DialogContainer>\n </Dialog>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;AAgBA,MAAa,iCAA2C;CACtD,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAClD,MAAM,eAAe,wBAAwB,UAAU,MAAM,YAAY;CACzE,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,mBAAmB,cACjB,SAAS,SAAS,YAAY,QAAQ,WAAW,CAAC,CAAC,GACzD,CAAC,QAAQ,CACX;CAEA,MAAM,yBAAyB,cAAc,IAAI;CACjD,MAAM,0BAA0B,cAAc,KAAK;CAEnD,MAAM,8BAA8B;EAClC,aAAa,UAAU,gBAAgB;EACvC,kBAAkB;CACpB;CAEA,OACE,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,aAAD;EACE,UAAU;GAAE,UAAU;GAAU,aAAa;EAAK;EAClD,OAAO,CACL;GACE,MAAM,oBAACA,eAAD,CAAoB,CAAA;GAC1B,OAAO,EAAE,uBAAuB;GAChC,SAAS;EACX,CACF;CACD,CAAA,GACD,oBAACC,UAAD;EAAQ,MAAM;EAAY,SAAS;YACjC,qBAAC,iBAAD,EAAA,UAAA;GACE,oBAACC,eAAD,EAAA,UACG,EAAE,uCAAuC,EAC/B,CAAA;GACb,oBAACC,iBAAD,EAAA,UACE,oBAACC,qBAAD,EAAA,UACG,EAAE,yCAAyC,EAC3B,CAAA,EACN,CAAA;GACf,qBAACC,iBAAD,EAAA,UAAA,CACE,oBAAC,QAAD;IAAQ,SAAS;cAAoB,EAAE,eAAe;GAAU,CAAA,GAChE,oBAAC,QAAD;IACE,SAAQ;IACR,SAAS;IACT,WAAA;cAEC,EAAE,eAAe;GACZ,CAAA,CACK,EAAA,CAAA;EACA,EAAA,CAAA;CACX,CAAA,CACR,EAAA,CAAA;AAEN"}
1
+ {"version":3,"file":"ActivitiesPageMenuButton.js","names":["DeleteOutlineIcon","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions"],"sources":["../../../../src/pages/ActivitiesPage/ActivitiesPageMenuButton.tsx"],"sourcesContent":["import { useAccount } from '@lifi/wallet-management'\nimport DeleteOutlineIcon from '@mui/icons-material/DeleteOutlined'\nimport { Button } from '@mui/material'\nimport { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { ContextMenu } from '../../components/ContextMenu.js'\nimport { Dialog } from '../../components/Dialog/Dialog.js'\nimport {\n DialogActions,\n DialogContainer,\n DialogContent,\n DialogContentText,\n DialogTitle,\n} from '../../components/Dialog/Dialog.style.js'\nimport { useRouteExecutionStore } from '../../stores/routes/RouteExecutionStore.js'\n\nexport const ActivitiesPageMenuButton: React.FC = () => {\n const { t } = useTranslation()\n const [dialogOpen, setDialogOpen] = useState(false)\n const deleteRoutes = useRouteExecutionStore((store) => store.deleteRoutes)\n const { accounts } = useAccount()\n const accountAddresses = useMemo(\n () => accounts.flatMap((account) => account.address ?? []),\n [accounts]\n )\n\n const handleDialogOpen = () => setDialogOpen(true)\n const handleDialogClose = () => setDialogOpen(false)\n\n const handleRemoveAllFailed = () => {\n deleteRoutes('failed', accountAddresses)\n handleDialogClose()\n }\n\n return (\n <>\n <ContextMenu\n buttonSx={{ position: 'static', marginRight: -1.5 }}\n items={[\n {\n icon: <DeleteOutlineIcon />,\n label: t('button.clearAllFailed'),\n onClick: handleDialogOpen,\n },\n ]}\n />\n <Dialog open={dialogOpen} onClose={handleDialogClose}>\n <DialogContainer>\n <DialogTitle>\n {t('warning.title.clearFailedTransactions')}\n </DialogTitle>\n <DialogContent>\n <DialogContentText>\n {t('warning.message.clearFailedTransactions')}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={handleDialogClose}>{t('button.cancel')}</Button>\n <Button\n variant=\"contained\"\n onClick={handleRemoveAllFailed}\n autoFocus\n >\n {t('button.delete')}\n </Button>\n </DialogActions>\n </DialogContainer>\n </Dialog>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;AAgBA,MAAa,iCAA2C;CACtD,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAClD,MAAM,eAAe,wBAAwB,UAAU,MAAM,YAAY;CACzE,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,mBAAmB,cACjB,SAAS,SAAS,YAAY,QAAQ,WAAW,CAAC,CAAC,GACzD,CAAC,QAAQ,CACX;CAEA,MAAM,yBAAyB,cAAc,IAAI;CACjD,MAAM,0BAA0B,cAAc,KAAK;CAEnD,MAAM,8BAA8B;EAClC,aAAa,UAAU,gBAAgB;EACvC,kBAAkB;CACpB;CAEA,OACE,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,aAAD;EACE,UAAU;GAAE,UAAU;GAAU,aAAa;EAAK;EAClD,OAAO,CACL;GACE,MAAM,oBAACA,eAAD,CAAoB,CAAA;GAC1B,OAAO,EAAE,uBAAuB;GAChC,SAAS;EACX,CACF;CACD,CAAA,GACD,oBAACC,UAAD;EAAQ,MAAM;EAAY,SAAS;EACjC,UAAA,qBAAC,iBAAD,EAAA,UAAA;GACE,oBAACC,eAAD,EAAA,UACG,EAAE,uCAAuC,EAC/B,CAAA;GACb,oBAACC,iBAAD,EAAA,UACE,oBAACC,qBAAD,EAAA,UACG,EAAE,yCAAyC,EAC3B,CAAA,EACN,CAAA;GACf,qBAACC,iBAAD,EAAA,UAAA,CACE,oBAAC,QAAD;IAAQ,SAAS;IAAoB,UAAA,EAAE,eAAe;GAAU,CAAA,GAChE,oBAAC,QAAD;IACE,SAAQ;IACR,SAAS;IACT,WAAA;IAEC,UAAA,EAAE,eAAe;GACZ,CAAA,CACK,EAAA,CAAA;EACA,EAAA,CAAA;CACX,CAAA,CACR,EAAA,CAAA;AAEN"}