@lifi/widget 0.0.0-preview-6cc63bac

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 (1255) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +312 -0
  3. package/dist/esm/App.d.ts +9 -0
  4. package/dist/esm/App.d.ts.map +1 -0
  5. package/dist/esm/App.js +44 -0
  6. package/dist/esm/App.js.map +1 -0
  7. package/dist/esm/AppDefault.js +214 -0
  8. package/dist/esm/AppDefault.js.map +1 -0
  9. package/dist/esm/AppDrawer.d.ts +12 -0
  10. package/dist/esm/AppDrawer.d.ts.map +1 -0
  11. package/dist/esm/AppDrawer.js +63 -0
  12. package/dist/esm/AppDrawer.js.map +1 -0
  13. package/dist/esm/AppDrawerContext.js +8 -0
  14. package/dist/esm/AppDrawerContext.js.map +1 -0
  15. package/dist/esm/AppLayout.js +33 -0
  16. package/dist/esm/AppLayout.js.map +1 -0
  17. package/dist/esm/AppProvider.js +30 -0
  18. package/dist/esm/AppProvider.js.map +1 -0
  19. package/dist/esm/components/ActionRow/ActionRow.js +17 -0
  20. package/dist/esm/components/ActionRow/ActionRow.js.map +1 -0
  21. package/dist/esm/components/ActionRow/ActionRow.style.js +21 -0
  22. package/dist/esm/components/ActionRow/ActionRow.style.js.map +1 -0
  23. package/dist/esm/components/AmountInput/AmountInput.js +117 -0
  24. package/dist/esm/components/AmountInput/AmountInput.js.map +1 -0
  25. package/dist/esm/components/AmountInput/AmountInput.style.js +38 -0
  26. package/dist/esm/components/AmountInput/AmountInput.style.js.map +1 -0
  27. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js +64 -0
  28. package/dist/esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -0
  29. package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js +21 -0
  30. package/dist/esm/components/AmountInput/AmountInputEndAdornment.style.js.map +1 -0
  31. package/dist/esm/components/AmountInput/AmountInputStartAdornment.js +21 -0
  32. package/dist/esm/components/AmountInput/AmountInputStartAdornment.js.map +1 -0
  33. package/dist/esm/components/AmountInput/PriceFormHelperText.js +98 -0
  34. package/dist/esm/components/AmountInput/PriceFormHelperText.js.map +1 -0
  35. package/dist/esm/components/AmountInput/PriceFormHelperText.style.js +28 -0
  36. package/dist/esm/components/AmountInput/PriceFormHelperText.style.js.map +1 -0
  37. package/dist/esm/components/AppContainer.js +93 -0
  38. package/dist/esm/components/AppContainer.js.map +1 -0
  39. package/dist/esm/components/Avatar/AccountAvatar.js +29 -0
  40. package/dist/esm/components/Avatar/AccountAvatar.js.map +1 -0
  41. package/dist/esm/components/Avatar/Avatar.js +47 -0
  42. package/dist/esm/components/Avatar/Avatar.js.map +1 -0
  43. package/dist/esm/components/Avatar/Avatar.style.js +57 -0
  44. package/dist/esm/components/Avatar/Avatar.style.js.map +1 -0
  45. package/dist/esm/components/Avatar/ChainBadgeContent.js +17 -0
  46. package/dist/esm/components/Avatar/ChainBadgeContent.js.map +1 -0
  47. package/dist/esm/components/Avatar/SmallAvatar.js +20 -0
  48. package/dist/esm/components/Avatar/SmallAvatar.js.map +1 -0
  49. package/dist/esm/components/Avatar/TokenAvatar.js +65 -0
  50. package/dist/esm/components/Avatar/TokenAvatar.js.map +1 -0
  51. package/dist/esm/components/Avatar/utils.js +9 -0
  52. package/dist/esm/components/Avatar/utils.js.map +1 -0
  53. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js +51 -0
  54. package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -0
  55. package/dist/esm/components/BottomSheet/BottomSheet.js +46 -0
  56. package/dist/esm/components/BottomSheet/BottomSheet.js.map +1 -0
  57. package/dist/esm/components/ButtonTertiary.js +21 -0
  58. package/dist/esm/components/ButtonTertiary.js.map +1 -0
  59. package/dist/esm/components/Card/Card.js +65 -0
  60. package/dist/esm/components/Card/Card.js.map +1 -0
  61. package/dist/esm/components/Card/CardButton.js +13 -0
  62. package/dist/esm/components/Card/CardButton.js.map +1 -0
  63. package/dist/esm/components/Card/CardButton.style.js +29 -0
  64. package/dist/esm/components/Card/CardButton.style.js.map +1 -0
  65. package/dist/esm/components/Card/CardHeader.js +26 -0
  66. package/dist/esm/components/Card/CardHeader.js.map +1 -0
  67. package/dist/esm/components/Card/CardIconButton.js +14 -0
  68. package/dist/esm/components/Card/CardIconButton.js.map +1 -0
  69. package/dist/esm/components/Card/CardLabel.js +62 -0
  70. package/dist/esm/components/Card/CardLabel.js.map +1 -0
  71. package/dist/esm/components/Card/CardTitle.js +22 -0
  72. package/dist/esm/components/Card/CardTitle.js.map +1 -0
  73. package/dist/esm/components/Card/InputCard.js +11 -0
  74. package/dist/esm/components/Card/InputCard.js.map +1 -0
  75. package/dist/esm/components/ChainSelect/ChainSelect.js +124 -0
  76. package/dist/esm/components/ChainSelect/ChainSelect.js.map +1 -0
  77. package/dist/esm/components/ChainSelect/ChainSelect.style.js +62 -0
  78. package/dist/esm/components/ChainSelect/ChainSelect.style.js.map +1 -0
  79. package/dist/esm/components/ChainSelect/useChainSelect.js +59 -0
  80. package/dist/esm/components/ChainSelect/useChainSelect.js.map +1 -0
  81. package/dist/esm/components/Chains/AllChainsAvatar.js +106 -0
  82. package/dist/esm/components/Chains/AllChainsAvatar.js.map +1 -0
  83. package/dist/esm/components/Chains/ChainList.js +50 -0
  84. package/dist/esm/components/Chains/ChainList.js.map +1 -0
  85. package/dist/esm/components/Chains/ChainList.style.js +43 -0
  86. package/dist/esm/components/Chains/ChainList.style.js.map +1 -0
  87. package/dist/esm/components/Chains/ChainListItem.js +55 -0
  88. package/dist/esm/components/Chains/ChainListItem.js.map +1 -0
  89. package/dist/esm/components/Chains/ChainsExpanded.js +23 -0
  90. package/dist/esm/components/Chains/ChainsExpanded.js.map +1 -0
  91. package/dist/esm/components/Chains/ChainsExpanded.style.js +19 -0
  92. package/dist/esm/components/Chains/ChainsExpanded.style.js.map +1 -0
  93. package/dist/esm/components/Chains/PinChainButton.js +43 -0
  94. package/dist/esm/components/Chains/PinChainButton.js.map +1 -0
  95. package/dist/esm/components/Chains/SelectChainExpansionContent.js +65 -0
  96. package/dist/esm/components/Chains/SelectChainExpansionContent.js.map +1 -0
  97. package/dist/esm/components/Chains/SelectChainPageContent.js +60 -0
  98. package/dist/esm/components/Chains/SelectChainPageContent.js.map +1 -0
  99. package/dist/esm/components/Chains/VirtualizedChainList.js +143 -0
  100. package/dist/esm/components/Chains/VirtualizedChainList.js.map +1 -0
  101. package/dist/esm/components/ContextMenu.js +59 -0
  102. package/dist/esm/components/ContextMenu.js.map +1 -0
  103. package/dist/esm/components/ContextMenu.style.js +12 -0
  104. package/dist/esm/components/ContextMenu.style.js.map +1 -0
  105. package/dist/esm/components/ContractComponent/ContractComponent.js +14 -0
  106. package/dist/esm/components/ContractComponent/ContractComponent.js.map +1 -0
  107. package/dist/esm/components/ContractComponent/ItemPrice.d.ts +12 -0
  108. package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -0
  109. package/dist/esm/components/ContractComponent/ItemPrice.js +29 -0
  110. package/dist/esm/components/ContractComponent/ItemPrice.js.map +1 -0
  111. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +7 -0
  112. package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -0
  113. package/dist/esm/components/ContractComponent/NFT/NFT.js +33 -0
  114. package/dist/esm/components/ContractComponent/NFT/NFT.js.map +1 -0
  115. package/dist/esm/components/ContractComponent/NFT/NFT.style.js +12 -0
  116. package/dist/esm/components/ContractComponent/NFT/NFT.style.js.map +1 -0
  117. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +7 -0
  118. package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -0
  119. package/dist/esm/components/ContractComponent/NFT/NFTBase.js +76 -0
  120. package/dist/esm/components/ContractComponent/NFT/NFTBase.js.map +1 -0
  121. package/dist/esm/components/ContractComponent/NFT/types.d.ts +21 -0
  122. package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -0
  123. package/dist/esm/components/Dialog/Dialog.js +36 -0
  124. package/dist/esm/components/Dialog/Dialog.js.map +1 -0
  125. package/dist/esm/components/Dialog/Dialog.style.js +42 -0
  126. package/dist/esm/components/Dialog/Dialog.style.js.map +1 -0
  127. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.js +12 -0
  128. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.js.map +1 -0
  129. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js +30 -0
  130. package/dist/esm/components/EmptyListIndicator/EmptyListIndicator.style.js.map +1 -0
  131. package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js +65 -0
  132. package/dist/esm/components/ExecutionStatusCard/ExecutionChecklist.js.map +1 -0
  133. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js +273 -0
  134. package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.js.map +1 -0
  135. package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js +47 -0
  136. package/dist/esm/components/ExecutionStatusCard/StaggeredRevealTypography.js.map +1 -0
  137. package/dist/esm/components/ExecutionStatusCard/StatusIcon.js +122 -0
  138. package/dist/esm/components/ExecutionStatusCard/StatusIcon.js.map +1 -0
  139. package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js +14 -0
  140. package/dist/esm/components/ExecutionStatusCard/StatusIcon.style.js.map +1 -0
  141. package/dist/esm/components/ExecutionStatusCard/iconKey.js +13 -0
  142. package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -0
  143. package/dist/esm/components/Expansion/Expansion.js +32 -0
  144. package/dist/esm/components/Expansion/Expansion.js.map +1 -0
  145. package/dist/esm/components/Expansion/Expansion.style.js +40 -0
  146. package/dist/esm/components/Expansion/Expansion.style.js.map +1 -0
  147. package/dist/esm/components/Expansion/ExpansionTransition.js +32 -0
  148. package/dist/esm/components/Expansion/ExpansionTransition.js.map +1 -0
  149. package/dist/esm/components/FeeBreakdownTooltip.js +39 -0
  150. package/dist/esm/components/FeeBreakdownTooltip.js.map +1 -0
  151. package/dist/esm/components/Header/ActivitiesButton.js +61 -0
  152. package/dist/esm/components/Header/ActivitiesButton.js.map +1 -0
  153. package/dist/esm/components/Header/ActivitiesButton.style.js +39 -0
  154. package/dist/esm/components/Header/ActivitiesButton.style.js.map +1 -0
  155. package/dist/esm/components/Header/BackButton.js +24 -0
  156. package/dist/esm/components/Header/BackButton.js.map +1 -0
  157. package/dist/esm/components/Header/CloseDrawerButton.js +25 -0
  158. package/dist/esm/components/Header/CloseDrawerButton.js.map +1 -0
  159. package/dist/esm/components/Header/DisconnectIconButton.js +20 -0
  160. package/dist/esm/components/Header/DisconnectIconButton.js.map +1 -0
  161. package/dist/esm/components/Header/Header.js +44 -0
  162. package/dist/esm/components/Header/Header.js.map +1 -0
  163. package/dist/esm/components/Header/Header.style.js +71 -0
  164. package/dist/esm/components/Header/Header.style.js.map +1 -0
  165. package/dist/esm/components/Header/NavigationHeader.js +62 -0
  166. package/dist/esm/components/Header/NavigationHeader.js.map +1 -0
  167. package/dist/esm/components/Header/SettingsButton.js +32 -0
  168. package/dist/esm/components/Header/SettingsButton.js.map +1 -0
  169. package/dist/esm/components/Header/SettingsButton.style.js +38 -0
  170. package/dist/esm/components/Header/SettingsButton.style.js.map +1 -0
  171. package/dist/esm/components/Header/SplitNavigationTabs.js +33 -0
  172. package/dist/esm/components/Header/SplitNavigationTabs.js.map +1 -0
  173. package/dist/esm/components/Header/WalletHeader.js +118 -0
  174. package/dist/esm/components/Header/WalletHeader.js.map +1 -0
  175. package/dist/esm/components/Header/WalletMenu.js +100 -0
  176. package/dist/esm/components/Header/WalletMenu.js.map +1 -0
  177. package/dist/esm/components/Header/WalletMenu.style.js +25 -0
  178. package/dist/esm/components/Header/WalletMenu.style.js.map +1 -0
  179. package/dist/esm/components/IconCircle/IconCircle.js +19 -0
  180. package/dist/esm/components/IconCircle/IconCircle.js.map +1 -0
  181. package/dist/esm/components/IconCircle/IconCircle.style.js +57 -0
  182. package/dist/esm/components/IconCircle/IconCircle.style.js.map +1 -0
  183. package/dist/esm/components/IconCircle/statusIcons.js +15 -0
  184. package/dist/esm/components/IconCircle/statusIcons.js.map +1 -0
  185. package/dist/esm/components/IconTypography.js +11 -0
  186. package/dist/esm/components/IconTypography.js.map +1 -0
  187. package/dist/esm/components/Initializer.js +10 -0
  188. package/dist/esm/components/Initializer.js.map +1 -0
  189. package/dist/esm/components/Input.js +15 -0
  190. package/dist/esm/components/Input.js.map +1 -0
  191. package/dist/esm/components/ListItem/ListItem.js +23 -0
  192. package/dist/esm/components/ListItem/ListItem.js.map +1 -0
  193. package/dist/esm/components/ListItem/ListItemButton.js +13 -0
  194. package/dist/esm/components/ListItem/ListItemButton.js.map +1 -0
  195. package/dist/esm/components/ListItemButton.js +30 -0
  196. package/dist/esm/components/ListItemButton.js.map +1 -0
  197. package/dist/esm/components/ListItemText.js +7 -0
  198. package/dist/esm/components/ListItemText.js.map +1 -0
  199. package/dist/esm/components/Menu.js +21 -0
  200. package/dist/esm/components/Menu.js.map +1 -0
  201. package/dist/esm/components/Messages/AccountDeployedMessage.js +27 -0
  202. package/dist/esm/components/Messages/AccountDeployedMessage.js.map +1 -0
  203. package/dist/esm/components/Messages/AccountNotDeployedMessage.js +24 -0
  204. package/dist/esm/components/Messages/AccountNotDeployedMessage.js.map +1 -0
  205. package/dist/esm/components/Messages/AlertMessage.js +16 -0
  206. package/dist/esm/components/Messages/AlertMessage.js.map +1 -0
  207. package/dist/esm/components/Messages/AlertMessage.style.js +38 -0
  208. package/dist/esm/components/Messages/AlertMessage.style.js.map +1 -0
  209. package/dist/esm/components/Messages/FundsSufficiencyMessage.js +24 -0
  210. package/dist/esm/components/Messages/FundsSufficiencyMessage.js.map +1 -0
  211. package/dist/esm/components/Messages/GasRefuelMessage.js +63 -0
  212. package/dist/esm/components/Messages/GasRefuelMessage.js.map +1 -0
  213. package/dist/esm/components/Messages/GasRefuelMessage.style.js +17 -0
  214. package/dist/esm/components/Messages/GasRefuelMessage.style.js.map +1 -0
  215. package/dist/esm/components/Messages/GasSufficiencyMessage.js +43 -0
  216. package/dist/esm/components/Messages/GasSufficiencyMessage.js.map +1 -0
  217. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js +27 -0
  218. package/dist/esm/components/Messages/MinFromAmountUSDMessage.js.map +1 -0
  219. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js +31 -0
  220. package/dist/esm/components/Messages/MissingRouteRequiredAccountMessage.js.map +1 -0
  221. package/dist/esm/components/Messages/WarningMessages.js +45 -0
  222. package/dist/esm/components/Messages/WarningMessages.js.map +1 -0
  223. package/dist/esm/components/Messages/useMessageQueue.js +68 -0
  224. package/dist/esm/components/Messages/useMessageQueue.js.map +1 -0
  225. package/dist/esm/components/NotFound.js +44 -0
  226. package/dist/esm/components/NotFound.js.map +1 -0
  227. package/dist/esm/components/PageContainer.js +20 -0
  228. package/dist/esm/components/PageContainer.js.map +1 -0
  229. package/dist/esm/components/PageEntered.js +17 -0
  230. package/dist/esm/components/PageEntered.js.map +1 -0
  231. package/dist/esm/components/PoweredBy/PoweredBy.js +59 -0
  232. package/dist/esm/components/PoweredBy/PoweredBy.js.map +1 -0
  233. package/dist/esm/components/PoweredBy/PoweredBy.style.js +12 -0
  234. package/dist/esm/components/PoweredBy/PoweredBy.style.js.map +1 -0
  235. package/dist/esm/components/ProgressToNextUpdate.js +66 -0
  236. package/dist/esm/components/ProgressToNextUpdate.js.map +1 -0
  237. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js +40 -0
  238. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -0
  239. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js +33 -0
  240. package/dist/esm/components/ReverseTokensButton/ReverseTokensButton.style.js.map +1 -0
  241. package/dist/esm/components/RouteCard/RouteCard.js +86 -0
  242. package/dist/esm/components/RouteCard/RouteCard.js.map +1 -0
  243. package/dist/esm/components/RouteCard/RouteCardEssentials.js +92 -0
  244. package/dist/esm/components/RouteCard/RouteCardEssentials.js.map +1 -0
  245. package/dist/esm/components/RouteCard/RouteCardSkeleton.js +53 -0
  246. package/dist/esm/components/RouteCard/RouteCardSkeleton.js.map +1 -0
  247. package/dist/esm/components/RouteCard/RouteDetails.js +100 -0
  248. package/dist/esm/components/RouteCard/RouteDetails.js.map +1 -0
  249. package/dist/esm/components/RouteCard/RouteDetails.style.js +35 -0
  250. package/dist/esm/components/RouteCard/RouteDetails.style.js.map +1 -0
  251. package/dist/esm/components/RouteCard/RouteNotFoundCard.js +45 -0
  252. package/dist/esm/components/RouteCard/RouteNotFoundCard.js.map +1 -0
  253. package/dist/esm/components/RouteCard/RouteToken.js +49 -0
  254. package/dist/esm/components/RouteCard/RouteToken.js.map +1 -0
  255. package/dist/esm/components/RouteCard/RouteToken.style.js +11 -0
  256. package/dist/esm/components/RouteCard/RouteToken.style.js.map +1 -0
  257. package/dist/esm/components/RouteCard/RouteTokens.js +50 -0
  258. package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -0
  259. package/dist/esm/components/RouteCard/getMatchingLabels.js +24 -0
  260. package/dist/esm/components/RouteCard/getMatchingLabels.js.map +1 -0
  261. package/dist/esm/components/Routes/Routes.js +70 -0
  262. package/dist/esm/components/Routes/Routes.js.map +1 -0
  263. package/dist/esm/components/Routes/RoutesContent.js +74 -0
  264. package/dist/esm/components/Routes/RoutesContent.js.map +1 -0
  265. package/dist/esm/components/Routes/RoutesExpanded.js +69 -0
  266. package/dist/esm/components/Routes/RoutesExpanded.js.map +1 -0
  267. package/dist/esm/components/Routes/RoutesExpanded.style.js +34 -0
  268. package/dist/esm/components/Routes/RoutesExpanded.style.js.map +1 -0
  269. package/dist/esm/components/Search/SearchInput.js +46 -0
  270. package/dist/esm/components/Search/SearchInput.js.map +1 -0
  271. package/dist/esm/components/Search/SearchInput.style.js +27 -0
  272. package/dist/esm/components/Search/SearchInput.style.js.map +1 -0
  273. package/dist/esm/components/Search/SearchNotFound.js +9 -0
  274. package/dist/esm/components/Search/SearchNotFound.js.map +1 -0
  275. package/dist/esm/components/Search/SearchNotFound.style.js +28 -0
  276. package/dist/esm/components/Search/SearchNotFound.style.js.map +1 -0
  277. package/dist/esm/components/SelectChainAndToken.js +36 -0
  278. package/dist/esm/components/SelectChainAndToken.js.map +1 -0
  279. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js +70 -0
  280. package/dist/esm/components/SelectTokenButton/SelectTokenButton.js.map +1 -0
  281. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js +67 -0
  282. package/dist/esm/components/SelectTokenButton/SelectTokenButton.style.js.map +1 -0
  283. package/dist/esm/components/SendToWallet/SendToWalletButton.js +115 -0
  284. package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -0
  285. package/dist/esm/components/SendToWallet/SendToWalletButton.style.js +53 -0
  286. package/dist/esm/components/SendToWallet/SendToWalletButton.style.js.map +1 -0
  287. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js +49 -0
  288. package/dist/esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -0
  289. package/dist/esm/components/SettingsListItemButton.js +8 -0
  290. package/dist/esm/components/SettingsListItemButton.js.map +1 -0
  291. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +10 -0
  292. package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -0
  293. package/dist/esm/components/Skeleton/WidgetSkeleton.js +124 -0
  294. package/dist/esm/components/Skeleton/WidgetSkeleton.js.map +1 -0
  295. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js +73 -0
  296. package/dist/esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -0
  297. package/dist/esm/components/Step/StepActions.js +198 -0
  298. package/dist/esm/components/Step/StepActions.js.map +1 -0
  299. package/dist/esm/components/Step/StepActions.style.js +27 -0
  300. package/dist/esm/components/Step/StepActions.style.js.map +1 -0
  301. package/dist/esm/components/StepActions/SentToWalletRow.js +49 -0
  302. package/dist/esm/components/StepActions/SentToWalletRow.js.map +1 -0
  303. package/dist/esm/components/StepActions/SentToWalletRow.style.js +26 -0
  304. package/dist/esm/components/StepActions/SentToWalletRow.style.js.map +1 -0
  305. package/dist/esm/components/StepActions/StepActionRow.js +27 -0
  306. package/dist/esm/components/StepActions/StepActionRow.js.map +1 -0
  307. package/dist/esm/components/StepActions/StepActionRow.style.js +17 -0
  308. package/dist/esm/components/StepActions/StepActionRow.style.js.map +1 -0
  309. package/dist/esm/components/StepActions/StepActionsList.js +23 -0
  310. package/dist/esm/components/StepActions/StepActionsList.js.map +1 -0
  311. package/dist/esm/components/StepActions/executionRows.js +67 -0
  312. package/dist/esm/components/StepActions/executionRows.js.map +1 -0
  313. package/dist/esm/components/Switch.js +47 -0
  314. package/dist/esm/components/Switch.js.map +1 -0
  315. package/dist/esm/components/Tabs/NavigationTabs.js +39 -0
  316. package/dist/esm/components/Tabs/NavigationTabs.js.map +1 -0
  317. package/dist/esm/components/Tabs/Tabs.style.js +31 -0
  318. package/dist/esm/components/Tabs/Tabs.style.js.map +1 -0
  319. package/dist/esm/components/TextFitter/TextFitter.js +62 -0
  320. package/dist/esm/components/TextFitter/TextFitter.js.map +1 -0
  321. package/dist/esm/components/Timer/ExecutionTimerText.js +10 -0
  322. package/dist/esm/components/Timer/ExecutionTimerText.js.map +1 -0
  323. package/dist/esm/components/Timer/StepStatusTimer.js +56 -0
  324. package/dist/esm/components/Timer/StepStatusTimer.js.map +1 -0
  325. package/dist/esm/components/Timer/StepStatusTimer.style.js +67 -0
  326. package/dist/esm/components/Timer/StepStatusTimer.style.js.map +1 -0
  327. package/dist/esm/components/Token/Token.js +208 -0
  328. package/dist/esm/components/Token/Token.js.map +1 -0
  329. package/dist/esm/components/Token/Token.style.js +31 -0
  330. package/dist/esm/components/Token/Token.style.js.map +1 -0
  331. package/dist/esm/components/TokenList/PinTokenButton.js +36 -0
  332. package/dist/esm/components/TokenList/PinTokenButton.js.map +1 -0
  333. package/dist/esm/components/TokenList/TokenDetailsSheet.js +37 -0
  334. package/dist/esm/components/TokenList/TokenDetailsSheet.js.map +1 -0
  335. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js +177 -0
  336. package/dist/esm/components/TokenList/TokenDetailsSheetContent.js.map +1 -0
  337. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js +32 -0
  338. package/dist/esm/components/TokenList/TokenDetailsSheetContent.style.js.map +1 -0
  339. package/dist/esm/components/TokenList/TokenList.js +65 -0
  340. package/dist/esm/components/TokenList/TokenList.js.map +1 -0
  341. package/dist/esm/components/TokenList/TokenList.style.js +30 -0
  342. package/dist/esm/components/TokenList/TokenList.style.js.map +1 -0
  343. package/dist/esm/components/TokenList/TokenListItem.js +274 -0
  344. package/dist/esm/components/TokenList/TokenListItem.js.map +1 -0
  345. package/dist/esm/components/TokenList/TokenNotFound.js +12 -0
  346. package/dist/esm/components/TokenList/TokenNotFound.js.map +1 -0
  347. package/dist/esm/components/TokenList/VirtualizedTokenList.js +123 -0
  348. package/dist/esm/components/TokenList/VirtualizedTokenList.js.map +1 -0
  349. package/dist/esm/components/TokenList/useTokenSelect.js +78 -0
  350. package/dist/esm/components/TokenList/useTokenSelect.js.map +1 -0
  351. package/dist/esm/components/TokenRate/TokenRate.js +38 -0
  352. package/dist/esm/components/TokenRate/TokenRate.js.map +1 -0
  353. package/dist/esm/components/TokenRate/TokenRate.style.js +19 -0
  354. package/dist/esm/components/TokenRate/TokenRate.style.js.map +1 -0
  355. package/dist/esm/components/Tools/ToolItem.js +37 -0
  356. package/dist/esm/components/Tools/ToolItem.js.map +1 -0
  357. package/dist/esm/components/Tools/Tools.js +50 -0
  358. package/dist/esm/components/Tools/Tools.js.map +1 -0
  359. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +68 -0
  360. package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -0
  361. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +21 -0
  362. package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -0
  363. package/dist/esm/components/TransactionCard/TransactionCard.js +32 -0
  364. package/dist/esm/components/TransactionCard/TransactionCard.js.map +1 -0
  365. package/dist/esm/components/TransactionCard/TransactionCard.style.js +14 -0
  366. package/dist/esm/components/TransactionCard/TransactionCard.style.js.map +1 -0
  367. package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js +63 -0
  368. package/dist/esm/components/TransactionCard/TransactionCardSkeleton.js.map +1 -0
  369. package/dist/esm/config/constants.d.ts +5 -0
  370. package/dist/esm/config/constants.d.ts.map +1 -0
  371. package/dist/esm/config/constants.js +7 -0
  372. package/dist/esm/config/constants.js.map +1 -0
  373. package/dist/esm/config/queryClient.js +18 -0
  374. package/dist/esm/config/queryClient.js.map +1 -0
  375. package/dist/esm/config/version.d.ts +6 -0
  376. package/dist/esm/config/version.d.ts.map +1 -0
  377. package/dist/esm/config/version.js +7 -0
  378. package/dist/esm/config/version.js.map +1 -0
  379. package/dist/esm/hooks/timer/time.js +26 -0
  380. package/dist/esm/hooks/timer/time.js.map +1 -0
  381. package/dist/esm/hooks/timer/useExecutionTimer.js +29 -0
  382. package/dist/esm/hooks/timer/useExecutionTimer.js.map +1 -0
  383. package/dist/esm/hooks/timer/useInterval.js +19 -0
  384. package/dist/esm/hooks/timer/useInterval.js.map +1 -0
  385. package/dist/esm/hooks/timer/useTimer.js +67 -0
  386. package/dist/esm/hooks/timer/useTimer.js.map +1 -0
  387. package/dist/esm/hooks/timer/validate.js +15 -0
  388. package/dist/esm/hooks/timer/validate.js.map +1 -0
  389. package/dist/esm/hooks/useAccountsBalancesData.js +70 -0
  390. package/dist/esm/hooks/useAccountsBalancesData.js.map +1 -0
  391. package/dist/esm/hooks/useActionMessage.js +18 -0
  392. package/dist/esm/hooks/useActionMessage.js.map +1 -0
  393. package/dist/esm/hooks/useAddressActivity.js +36 -0
  394. package/dist/esm/hooks/useAddressActivity.js.map +1 -0
  395. package/dist/esm/hooks/useAddressValidation.js +50 -0
  396. package/dist/esm/hooks/useAddressValidation.js.map +1 -0
  397. package/dist/esm/hooks/useAvailableChains.js +69 -0
  398. package/dist/esm/hooks/useAvailableChains.js.map +1 -0
  399. package/dist/esm/hooks/useChain.js +15 -0
  400. package/dist/esm/hooks/useChain.js.map +1 -0
  401. package/dist/esm/hooks/useChainSearch.js +39 -0
  402. package/dist/esm/hooks/useChainSearch.js.map +1 -0
  403. package/dist/esm/hooks/useChains.js +26 -0
  404. package/dist/esm/hooks/useChains.js.map +1 -0
  405. package/dist/esm/hooks/useContactSupport.js +15 -0
  406. package/dist/esm/hooks/useContactSupport.js.map +1 -0
  407. package/dist/esm/hooks/useDebouncedWatch.js +28 -0
  408. package/dist/esm/hooks/useDebouncedWatch.js.map +1 -0
  409. package/dist/esm/hooks/useDefaultElementId.js +10 -0
  410. package/dist/esm/hooks/useDefaultElementId.js.map +1 -0
  411. package/dist/esm/hooks/useExplorer.js +59 -0
  412. package/dist/esm/hooks/useExplorer.js.map +1 -0
  413. package/dist/esm/hooks/useFilteredByTokenBalances.js +71 -0
  414. package/dist/esm/hooks/useFilteredByTokenBalances.js.map +1 -0
  415. package/dist/esm/hooks/useFromAmountThreshold.js +29 -0
  416. package/dist/esm/hooks/useFromAmountThreshold.js.map +1 -0
  417. package/dist/esm/hooks/useFromTokenSufficiency.js +56 -0
  418. package/dist/esm/hooks/useFromTokenSufficiency.js.map +1 -0
  419. package/dist/esm/hooks/useGasRecommendation.js +38 -0
  420. package/dist/esm/hooks/useGasRecommendation.js.map +1 -0
  421. package/dist/esm/hooks/useGasRefuel.js +45 -0
  422. package/dist/esm/hooks/useGasRefuel.js.map +1 -0
  423. package/dist/esm/hooks/useGasSufficiency.js +104 -0
  424. package/dist/esm/hooks/useGasSufficiency.js.map +1 -0
  425. package/dist/esm/hooks/useHasChainExpansion.js +17 -0
  426. package/dist/esm/hooks/useHasChainExpansion.js.map +1 -0
  427. package/dist/esm/hooks/useHeader.js +23 -0
  428. package/dist/esm/hooks/useHeader.js.map +1 -0
  429. package/dist/esm/hooks/useInitializeSDKProviders.js +15 -0
  430. package/dist/esm/hooks/useInitializeSDKProviders.js.map +1 -0
  431. package/dist/esm/hooks/useInitializer.js +19 -0
  432. package/dist/esm/hooks/useInitializer.js.map +1 -0
  433. package/dist/esm/hooks/useIsBatchingSupported.js +37 -0
  434. package/dist/esm/hooks/useIsBatchingSupported.js.map +1 -0
  435. package/dist/esm/hooks/useIsContractAddress.js +30 -0
  436. package/dist/esm/hooks/useIsContractAddress.js.map +1 -0
  437. package/dist/esm/hooks/useLanguages.js +53 -0
  438. package/dist/esm/hooks/useLanguages.js.map +1 -0
  439. package/dist/esm/hooks/useListHeight.js +52 -0
  440. package/dist/esm/hooks/useListHeight.js.map +1 -0
  441. package/dist/esm/hooks/useLongPress.js +40 -0
  442. package/dist/esm/hooks/useLongPress.js.map +1 -0
  443. package/dist/esm/hooks/useNavigateBack.js +18 -0
  444. package/dist/esm/hooks/useNavigateBack.js.map +1 -0
  445. package/dist/esm/hooks/usePacedRouteExecution.js +30 -0
  446. package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -0
  447. package/dist/esm/hooks/usePacedValue.js +42 -0
  448. package/dist/esm/hooks/usePacedValue.js.map +1 -0
  449. package/dist/esm/hooks/useRouteExecution.js +156 -0
  450. package/dist/esm/hooks/useRouteExecution.js.map +1 -0
  451. package/dist/esm/hooks/useRouteExecutionMessage.js +61 -0
  452. package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -0
  453. package/dist/esm/hooks/useRouteRequiredAccountConnection.js +37 -0
  454. package/dist/esm/hooks/useRouteRequiredAccountConnection.js.map +1 -0
  455. package/dist/esm/hooks/useRoutes.js +303 -0
  456. package/dist/esm/hooks/useRoutes.js.map +1 -0
  457. package/dist/esm/hooks/useScrollableContainer.js +12 -0
  458. package/dist/esm/hooks/useScrollableContainer.js.map +1 -0
  459. package/dist/esm/hooks/useSetContentHeight.js +23 -0
  460. package/dist/esm/hooks/useSetContentHeight.js.map +1 -0
  461. package/dist/esm/hooks/useSettingMonitor.js +51 -0
  462. package/dist/esm/hooks/useSettingMonitor.js.map +1 -0
  463. package/dist/esm/hooks/useSwapOnly.js +9 -0
  464. package/dist/esm/hooks/useSwapOnly.js.map +1 -0
  465. package/dist/esm/hooks/useToAddressAutoPopulate.js +51 -0
  466. package/dist/esm/hooks/useToAddressAutoPopulate.js.map +1 -0
  467. package/dist/esm/hooks/useToAddressRequirements.js +41 -0
  468. package/dist/esm/hooks/useToAddressRequirements.js.map +1 -0
  469. package/dist/esm/hooks/useToAddressReset.js +29 -0
  470. package/dist/esm/hooks/useToAddressReset.js.map +1 -0
  471. package/dist/esm/hooks/useToken.js +23 -0
  472. package/dist/esm/hooks/useToken.js.map +1 -0
  473. package/dist/esm/hooks/useTokenAddressBalance.js +21 -0
  474. package/dist/esm/hooks/useTokenAddressBalance.js.map +1 -0
  475. package/dist/esm/hooks/useTokenBalance.js +93 -0
  476. package/dist/esm/hooks/useTokenBalance.js.map +1 -0
  477. package/dist/esm/hooks/useTokenBalances.js +111 -0
  478. package/dist/esm/hooks/useTokenBalances.js.map +1 -0
  479. package/dist/esm/hooks/useTokenBalancesQueries.js +63 -0
  480. package/dist/esm/hooks/useTokenBalancesQueries.js.map +1 -0
  481. package/dist/esm/hooks/useTokenRateText.js +36 -0
  482. package/dist/esm/hooks/useTokenRateText.js.map +1 -0
  483. package/dist/esm/hooks/useTokenSearch.js +48 -0
  484. package/dist/esm/hooks/useTokenSearch.js.map +1 -0
  485. package/dist/esm/hooks/useTokens.js +100 -0
  486. package/dist/esm/hooks/useTokens.js.map +1 -0
  487. package/dist/esm/hooks/useTools.js +42 -0
  488. package/dist/esm/hooks/useTools.js.map +1 -0
  489. package/dist/esm/hooks/useTransactionDetails.js +49 -0
  490. package/dist/esm/hooks/useTransactionDetails.js.map +1 -0
  491. package/dist/esm/hooks/useTransactionHistory.js +68 -0
  492. package/dist/esm/hooks/useTransactionHistory.js.map +1 -0
  493. package/dist/esm/hooks/useTransactionList.js +57 -0
  494. package/dist/esm/hooks/useTransactionList.js.map +1 -0
  495. package/dist/esm/hooks/useWideVariant.js +13 -0
  496. package/dist/esm/hooks/useWideVariant.js.map +1 -0
  497. package/dist/esm/hooks/useWidgetChains.d.ts +12 -0
  498. package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -0
  499. package/dist/esm/hooks/useWidgetChains.js +9 -0
  500. package/dist/esm/hooks/useWidgetChains.js.map +1 -0
  501. package/dist/esm/hooks/useWidgetEvents.d.ts +10 -0
  502. package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -0
  503. package/dist/esm/hooks/useWidgetEvents.js +8 -0
  504. package/dist/esm/hooks/useWidgetEvents.js.map +1 -0
  505. package/dist/esm/i18n/bn.json +362 -0
  506. package/dist/esm/i18n/de.json +362 -0
  507. package/dist/esm/i18n/en.json +360 -0
  508. package/dist/esm/i18n/es.json +362 -0
  509. package/dist/esm/i18n/fr.json +362 -0
  510. package/dist/esm/i18n/hi.json +362 -0
  511. package/dist/esm/i18n/id.json +362 -0
  512. package/dist/esm/i18n/it.json +362 -0
  513. package/dist/esm/i18n/ja.json +362 -0
  514. package/dist/esm/i18n/ko.json +362 -0
  515. package/dist/esm/i18n/pl.json +362 -0
  516. package/dist/esm/i18n/pt.json +362 -0
  517. package/dist/esm/i18n/th.json +362 -0
  518. package/dist/esm/i18n/tr.json +362 -0
  519. package/dist/esm/i18n/uk.json +362 -0
  520. package/dist/esm/i18n/vi.json +362 -0
  521. package/dist/esm/i18n/zh.json +362 -0
  522. package/dist/esm/index.d.ts +33 -0
  523. package/dist/esm/index.js +28 -0
  524. package/dist/esm/pages/ActivitiesPage/ActiveTransactionItem.js +36 -0
  525. package/dist/esm/pages/ActivitiesPage/ActiveTransactionItem.js.map +1 -0
  526. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +101 -0
  527. package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -0
  528. package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js +55 -0
  529. package/dist/esm/pages/ActivitiesPage/ActivitiesPageMenuButton.js.map +1 -0
  530. package/dist/esm/pages/ActivitiesPage/TransactionHistoryEmpty.js +17 -0
  531. package/dist/esm/pages/ActivitiesPage/TransactionHistoryEmpty.js.map +1 -0
  532. package/dist/esm/pages/ActivitiesPage/TransactionHistoryItem.js +24 -0
  533. package/dist/esm/pages/ActivitiesPage/TransactionHistoryItem.js.map +1 -0
  534. package/dist/esm/pages/LanguagesPage.js +31 -0
  535. package/dist/esm/pages/LanguagesPage.js.map +1 -0
  536. package/dist/esm/pages/MainPage/MainPage.js +59 -0
  537. package/dist/esm/pages/MainPage/MainPage.js.map +1 -0
  538. package/dist/esm/pages/MainPage/MainWarningMessages.js +16 -0
  539. package/dist/esm/pages/MainPage/MainWarningMessages.js.map +1 -0
  540. package/dist/esm/pages/MainPage/ReviewButton.js +60 -0
  541. package/dist/esm/pages/MainPage/ReviewButton.js.map +1 -0
  542. package/dist/esm/pages/RoutesPage/RoutesPage.js +74 -0
  543. package/dist/esm/pages/RoutesPage/RoutesPage.js.map +1 -0
  544. package/dist/esm/pages/RoutesPage/RoutesPage.style.js +10 -0
  545. package/dist/esm/pages/RoutesPage/RoutesPage.style.js.map +1 -0
  546. package/dist/esm/pages/SelectChainPage/SelectChainPage.js +35 -0
  547. package/dist/esm/pages/SelectChainPage/SelectChainPage.js.map +1 -0
  548. package/dist/esm/pages/SelectEnabledToolsPage.js +105 -0
  549. package/dist/esm/pages/SelectEnabledToolsPage.js.map +1 -0
  550. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js +40 -0
  551. package/dist/esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -0
  552. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js +46 -0
  553. package/dist/esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -0
  554. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js +176 -0
  555. package/dist/esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -0
  556. package/dist/esm/pages/SendToWallet/BookmarksPage.js +124 -0
  557. package/dist/esm/pages/SendToWallet/BookmarksPage.js.map +1 -0
  558. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js +82 -0
  559. package/dist/esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -0
  560. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js +106 -0
  561. package/dist/esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -0
  562. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js +124 -0
  563. package/dist/esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -0
  564. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js +84 -0
  565. package/dist/esm/pages/SendToWallet/SendToConfiguredWalletPage.js.map +1 -0
  566. package/dist/esm/pages/SendToWallet/SendToWalletPage.js +237 -0
  567. package/dist/esm/pages/SendToWallet/SendToWalletPage.js.map +1 -0
  568. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js +90 -0
  569. package/dist/esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -0
  570. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js +49 -0
  571. package/dist/esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -0
  572. package/dist/esm/pages/SettingsPage/GasPriceSettings.js +56 -0
  573. package/dist/esm/pages/SettingsPage/GasPriceSettings.js.map +1 -0
  574. package/dist/esm/pages/SettingsPage/LanguageSetting.js +31 -0
  575. package/dist/esm/pages/SettingsPage/LanguageSetting.js.map +1 -0
  576. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js +64 -0
  577. package/dist/esm/pages/SettingsPage/ResetSettingsButton.js.map +1 -0
  578. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js +12 -0
  579. package/dist/esm/pages/SettingsPage/ResetSettingsButton.style.js.map +1 -0
  580. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js +48 -0
  581. package/dist/esm/pages/SettingsPage/RoutePrioritySettings.js.map +1 -0
  582. package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js +13 -0
  583. package/dist/esm/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -0
  584. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js +23 -0
  585. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -0
  586. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +47 -0
  587. package/dist/esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -0
  588. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js +38 -0
  589. package/dist/esm/pages/SettingsPage/SettingsCard/SettingsAccordian.js.map +1 -0
  590. package/dist/esm/pages/SettingsPage/SettingsPage.js +39 -0
  591. package/dist/esm/pages/SettingsPage/SettingsPage.js.map +1 -0
  592. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js +92 -0
  593. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -0
  594. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js +62 -0
  595. package/dist/esm/pages/SettingsPage/SlippageSettings/SlippageSettings.style.js.map +1 -0
  596. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js +75 -0
  597. package/dist/esm/pages/SettingsPage/SmallBalanceFilterSettings.js.map +1 -0
  598. package/dist/esm/pages/SettingsPage/ThemeSettings.js +60 -0
  599. package/dist/esm/pages/SettingsPage/ThemeSettings.js.map +1 -0
  600. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js +16 -0
  601. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.js.map +1 -0
  602. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js +14 -0
  603. package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.style.js.map +1 -0
  604. package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js +28 -0
  605. package/dist/esm/pages/TransactionDetailsPage/ReceiptsCard.js.map +1 -0
  606. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js +84 -0
  607. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -0
  608. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js +80 -0
  609. package/dist/esm/pages/TransactionDetailsPage/TransactionDetailsSkeleton.js.map +1 -0
  610. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js +65 -0
  611. package/dist/esm/pages/TransactionDetailsPage/TransferIdCard.js.map +1 -0
  612. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js +81 -0
  613. package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.js.map +1 -0
  614. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js +146 -0
  615. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.js.map +1 -0
  616. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js +11 -0
  617. package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.style.js.map +1 -0
  618. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +38 -0
  619. package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -0
  620. package/dist/esm/pages/TransactionPage/RouteTracker.js +47 -0
  621. package/dist/esm/pages/TransactionPage/RouteTracker.js.map +1 -0
  622. package/dist/esm/pages/TransactionPage/StartTransactionButton.js +21 -0
  623. package/dist/esm/pages/TransactionPage/StartTransactionButton.js.map +1 -0
  624. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js +82 -0
  625. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.js.map +1 -0
  626. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js +44 -0
  627. package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.style.js.map +1 -0
  628. package/dist/esm/pages/TransactionPage/TransactionContent.js +21 -0
  629. package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -0
  630. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +46 -0
  631. package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -0
  632. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +78 -0
  633. package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -0
  634. package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js +80 -0
  635. package/dist/esm/pages/TransactionPage/TransactionFailedButtons.js.map +1 -0
  636. package/dist/esm/pages/TransactionPage/TransactionPage.js +79 -0
  637. package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -0
  638. package/dist/esm/pages/TransactionPage/TransactionReview.js +115 -0
  639. package/dist/esm/pages/TransactionPage/TransactionReview.js.map +1 -0
  640. package/dist/esm/pages/TransactionPage/utils.js +12 -0
  641. package/dist/esm/pages/TransactionPage/utils.js.map +1 -0
  642. package/dist/esm/providers/I18nProvider/I18nProvider.js +83 -0
  643. package/dist/esm/providers/I18nProvider/I18nProvider.js.map +1 -0
  644. package/dist/esm/providers/I18nProvider/constants.js +43 -0
  645. package/dist/esm/providers/I18nProvider/constants.js.map +1 -0
  646. package/dist/esm/providers/I18nProvider/enResource.d.ts +2 -0
  647. package/dist/esm/providers/I18nProvider/enResource.js +2 -0
  648. package/dist/esm/providers/I18nProvider/i18n.js +18 -0
  649. package/dist/esm/providers/I18nProvider/i18n.js.map +1 -0
  650. package/dist/esm/providers/I18nProvider/types.d.ts +12 -0
  651. package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -0
  652. package/dist/esm/providers/QueryClientProvider.js +15 -0
  653. package/dist/esm/providers/QueryClientProvider.js.map +1 -0
  654. package/dist/esm/providers/SDKClientProvider.js +43 -0
  655. package/dist/esm/providers/SDKClientProvider.js.map +1 -0
  656. package/dist/esm/providers/ThemeProvider/ThemeProvider.js +25 -0
  657. package/dist/esm/providers/ThemeProvider/ThemeProvider.js.map +1 -0
  658. package/dist/esm/providers/WalletProvider/WalletProvider.js +40 -0
  659. package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -0
  660. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js +45 -0
  661. package/dist/esm/providers/WalletProvider/useExternalWalletProvider.js.map +1 -0
  662. package/dist/esm/providers/WidgetProvider/WidgetProvider.js +43 -0
  663. package/dist/esm/providers/WidgetProvider/WidgetProvider.js.map +1 -0
  664. package/dist/esm/stores/StoreProvider.js +38 -0
  665. package/dist/esm/stores/StoreProvider.js.map +1 -0
  666. package/dist/esm/stores/bookmarks/BookmarkStore.js +28 -0
  667. package/dist/esm/stores/bookmarks/BookmarkStore.js.map +1 -0
  668. package/dist/esm/stores/bookmarks/createBookmarkStore.js +45 -0
  669. package/dist/esm/stores/bookmarks/createBookmarkStore.js.map +1 -0
  670. package/dist/esm/stores/bookmarks/types.d.ts +26 -0
  671. package/dist/esm/stores/bookmarks/types.d.ts.map +1 -0
  672. package/dist/esm/stores/bookmarks/useBookmarkActions.js +17 -0
  673. package/dist/esm/stores/bookmarks/useBookmarkActions.js.map +1 -0
  674. package/dist/esm/stores/bookmarks/useBookmarks.js +18 -0
  675. package/dist/esm/stores/bookmarks/useBookmarks.js.map +1 -0
  676. package/dist/esm/stores/chains/ChainOrderStore.js +82 -0
  677. package/dist/esm/stores/chains/ChainOrderStore.js.map +1 -0
  678. package/dist/esm/stores/chains/createChainOrderStore.js +87 -0
  679. package/dist/esm/stores/chains/createChainOrderStore.js.map +1 -0
  680. package/dist/esm/stores/chains/useChainOrder.js +11 -0
  681. package/dist/esm/stores/chains/useChainOrder.js.map +1 -0
  682. package/dist/esm/stores/form/FormStore.js +72 -0
  683. package/dist/esm/stores/form/FormStore.js.map +1 -0
  684. package/dist/esm/stores/form/FormStoreContext.js +7 -0
  685. package/dist/esm/stores/form/FormStoreContext.js.map +1 -0
  686. package/dist/esm/stores/form/FormUpdater.js +37 -0
  687. package/dist/esm/stores/form/FormUpdater.js.map +1 -0
  688. package/dist/esm/stores/form/URLSearchParamsBuilder.js +79 -0
  689. package/dist/esm/stores/form/URLSearchParamsBuilder.js.map +1 -0
  690. package/dist/esm/stores/form/createFormStore.js +176 -0
  691. package/dist/esm/stores/form/createFormStore.js.map +1 -0
  692. package/dist/esm/stores/form/getDefaultValuesFromQueryString.js +22 -0
  693. package/dist/esm/stores/form/getDefaultValuesFromQueryString.js.map +1 -0
  694. package/dist/esm/stores/form/types.d.ts +76 -0
  695. package/dist/esm/stores/form/types.d.ts.map +1 -0
  696. package/dist/esm/stores/form/types.js +10 -0
  697. package/dist/esm/stores/form/types.js.map +1 -0
  698. package/dist/esm/stores/form/useClearAmountFields.js +14 -0
  699. package/dist/esm/stores/form/useClearAmountFields.js.map +1 -0
  700. package/dist/esm/stores/form/useFieldActions.d.ts +7 -0
  701. package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -0
  702. package/dist/esm/stores/form/useFieldActions.js +61 -0
  703. package/dist/esm/stores/form/useFieldActions.js.map +1 -0
  704. package/dist/esm/stores/form/useFieldValues.d.ts +7 -0
  705. package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -0
  706. package/dist/esm/stores/form/useFieldValues.js +9 -0
  707. package/dist/esm/stores/form/useFieldValues.js.map +1 -0
  708. package/dist/esm/stores/form/useFormRef.js +36 -0
  709. package/dist/esm/stores/form/useFormRef.js.map +1 -0
  710. package/dist/esm/stores/form/useFormStore.js +13 -0
  711. package/dist/esm/stores/form/useFormStore.js.map +1 -0
  712. package/dist/esm/stores/form/useTouchedFields.js +9 -0
  713. package/dist/esm/stores/form/useTouchedFields.js.map +1 -0
  714. package/dist/esm/stores/header/useHeaderStore.js +62 -0
  715. package/dist/esm/stores/header/useHeaderStore.js.map +1 -0
  716. package/dist/esm/stores/inputMode/useInputModeStore.js +20 -0
  717. package/dist/esm/stores/inputMode/useInputModeStore.js.map +1 -0
  718. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js +23 -0
  719. package/dist/esm/stores/pinnedTokens/PinnedTokensStore.js.map +1 -0
  720. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js +57 -0
  721. package/dist/esm/stores/pinnedTokens/createPinnedTokensStore.js.map +1 -0
  722. package/dist/esm/stores/routes/RouteExecutionStore.js +26 -0
  723. package/dist/esm/stores/routes/RouteExecutionStore.js.map +1 -0
  724. package/dist/esm/stores/routes/createRouteExecutionStore.js +85 -0
  725. package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -0
  726. package/dist/esm/stores/routes/useIntermediateRoutesStore.js +19 -0
  727. package/dist/esm/stores/routes/useIntermediateRoutesStore.js.map +1 -0
  728. package/dist/esm/stores/routes/useRouteExecutionIndicator.js +23 -0
  729. package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -0
  730. package/dist/esm/stores/routes/useSetExecutableRoute.js +9 -0
  731. package/dist/esm/stores/routes/useSetExecutableRoute.js.map +1 -0
  732. package/dist/esm/stores/routes/utils.js +35 -0
  733. package/dist/esm/stores/routes/utils.js.map +1 -0
  734. package/dist/esm/stores/settings/SettingsStore.js +26 -0
  735. package/dist/esm/stores/settings/SettingsStore.js.map +1 -0
  736. package/dist/esm/stores/settings/createSettingsStore.js +126 -0
  737. package/dist/esm/stores/settings/createSettingsStore.js.map +1 -0
  738. package/dist/esm/stores/settings/types.d.ts +25 -0
  739. package/dist/esm/stores/settings/types.d.ts.map +1 -0
  740. package/dist/esm/stores/settings/types.js +6 -0
  741. package/dist/esm/stores/settings/types.js.map +1 -0
  742. package/dist/esm/stores/settings/useSettings.js +12 -0
  743. package/dist/esm/stores/settings/useSettings.js.map +1 -0
  744. package/dist/esm/stores/settings/useSettingsActions.js +70 -0
  745. package/dist/esm/stores/settings/useSettingsActions.js.map +1 -0
  746. package/dist/esm/stores/settings/useSplitModeStore.js +36 -0
  747. package/dist/esm/stores/settings/useSplitModeStore.js.map +1 -0
  748. package/dist/esm/stores/settings/utils/getStateValues.js +20 -0
  749. package/dist/esm/stores/settings/utils/getStateValues.js.map +1 -0
  750. package/dist/esm/themes/azureLight.d.ts +7 -0
  751. package/dist/esm/themes/azureLight.d.ts.map +1 -0
  752. package/dist/esm/themes/azureLight.js +41 -0
  753. package/dist/esm/themes/azureLight.js.map +1 -0
  754. package/dist/esm/themes/createTheme.d.ts +8 -0
  755. package/dist/esm/themes/createTheme.d.ts.map +1 -0
  756. package/dist/esm/themes/createTheme.js +322 -0
  757. package/dist/esm/themes/createTheme.js.map +1 -0
  758. package/dist/esm/themes/jumper.d.ts +7 -0
  759. package/dist/esm/themes/jumper.d.ts.map +1 -0
  760. package/dist/esm/themes/jumper.js +58 -0
  761. package/dist/esm/themes/jumper.js.map +1 -0
  762. package/dist/esm/themes/palettes.d.ts +54 -0
  763. package/dist/esm/themes/palettes.d.ts.map +1 -0
  764. package/dist/esm/themes/palettes.js +43 -0
  765. package/dist/esm/themes/palettes.js.map +1 -0
  766. package/dist/esm/themes/types.d.ts +67 -0
  767. package/dist/esm/themes/types.d.ts.map +1 -0
  768. package/dist/esm/themes/utils.js +13 -0
  769. package/dist/esm/themes/utils.js.map +1 -0
  770. package/dist/esm/themes/watermelonLight.d.ts +7 -0
  771. package/dist/esm/themes/watermelonLight.d.ts.map +1 -0
  772. package/dist/esm/themes/watermelonLight.js +45 -0
  773. package/dist/esm/themes/watermelonLight.js.map +1 -0
  774. package/dist/esm/themes/windows95.d.ts +7 -0
  775. package/dist/esm/themes/windows95.d.ts.map +1 -0
  776. package/dist/esm/themes/windows95.js +76 -0
  777. package/dist/esm/themes/windows95.js.map +1 -0
  778. package/dist/esm/types/events.d.ts +96 -0
  779. package/dist/esm/types/events.d.ts.map +1 -0
  780. package/dist/esm/types/events.js +26 -0
  781. package/dist/esm/types/events.js.map +1 -0
  782. package/dist/esm/types/token.d.ts +13 -0
  783. package/dist/esm/types/token.d.ts.map +1 -0
  784. package/dist/esm/types/widget.d.ts +332 -0
  785. package/dist/esm/types/widget.d.ts.map +1 -0
  786. package/dist/esm/types/widget.js +11 -0
  787. package/dist/esm/types/widget.js.map +1 -0
  788. package/dist/esm/utils/chainType.js +14 -0
  789. package/dist/esm/utils/chainType.js.map +1 -0
  790. package/dist/esm/utils/compactNumberFormatter.d.ts +14 -0
  791. package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -0
  792. package/dist/esm/utils/compactNumberFormatter.js +67 -0
  793. package/dist/esm/utils/compactNumberFormatter.js.map +1 -0
  794. package/dist/esm/utils/converters.js +168 -0
  795. package/dist/esm/utils/converters.js.map +1 -0
  796. package/dist/esm/utils/currencyExtendedFormatter.d.ts +5 -0
  797. package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -0
  798. package/dist/esm/utils/currencyExtendedFormatter.js +15 -0
  799. package/dist/esm/utils/currencyExtendedFormatter.js.map +1 -0
  800. package/dist/esm/utils/deepEqual.js +32 -0
  801. package/dist/esm/utils/deepEqual.js.map +1 -0
  802. package/dist/esm/utils/deepMerge.js +13 -0
  803. package/dist/esm/utils/deepMerge.js.map +1 -0
  804. package/dist/esm/utils/elements.js +10 -0
  805. package/dist/esm/utils/elements.js.map +1 -0
  806. package/dist/esm/utils/enum.js +6 -0
  807. package/dist/esm/utils/enum.js.map +1 -0
  808. package/dist/esm/utils/fees.js +74 -0
  809. package/dist/esm/utils/fees.js.map +1 -0
  810. package/dist/esm/utils/format.d.ts +29 -0
  811. package/dist/esm/utils/format.d.ts.map +1 -0
  812. package/dist/esm/utils/format.js +100 -0
  813. package/dist/esm/utils/format.js.map +1 -0
  814. package/dist/esm/utils/getActionMessage.js +68 -0
  815. package/dist/esm/utils/getActionMessage.js.map +1 -0
  816. package/dist/esm/utils/getErrorMessage.js +117 -0
  817. package/dist/esm/utils/getErrorMessage.js.map +1 -0
  818. package/dist/esm/utils/getPriceImpact.d.ts +18 -0
  819. package/dist/esm/utils/getPriceImpact.d.ts.map +1 -0
  820. package/dist/esm/utils/getPriceImpact.js +12 -0
  821. package/dist/esm/utils/getPriceImpact.js.map +1 -0
  822. package/dist/esm/utils/input.js +23 -0
  823. package/dist/esm/utils/input.js.map +1 -0
  824. package/dist/esm/utils/item.js +27 -0
  825. package/dist/esm/utils/item.js.map +1 -0
  826. package/dist/esm/utils/navigationRoutes.d.ts +27 -0
  827. package/dist/esm/utils/navigationRoutes.d.ts.map +1 -0
  828. package/dist/esm/utils/navigationRoutes.js +65 -0
  829. package/dist/esm/utils/navigationRoutes.js.map +1 -0
  830. package/dist/esm/utils/percentFormatter.d.ts +11 -0
  831. package/dist/esm/utils/percentFormatter.d.ts.map +1 -0
  832. package/dist/esm/utils/percentFormatter.js +23 -0
  833. package/dist/esm/utils/percentFormatter.js.map +1 -0
  834. package/dist/esm/utils/prepareActions.js +21 -0
  835. package/dist/esm/utils/prepareActions.js.map +1 -0
  836. package/dist/esm/utils/queries.js +6 -0
  837. package/dist/esm/utils/queries.js.map +1 -0
  838. package/dist/esm/utils/timer.js +23 -0
  839. package/dist/esm/utils/timer.js.map +1 -0
  840. package/dist/esm/utils/token.js +59 -0
  841. package/dist/esm/utils/token.js.map +1 -0
  842. package/dist/esm/utils/tokenList.js +147 -0
  843. package/dist/esm/utils/tokenList.js.map +1 -0
  844. package/dist/esm/utils/variant.js +10 -0
  845. package/dist/esm/utils/variant.js.map +1 -0
  846. package/dist/esm/utils/wallet.js +6 -0
  847. package/dist/esm/utils/wallet.js.map +1 -0
  848. package/dist/esm/utils/widgetSize.js +11 -0
  849. package/dist/esm/utils/widgetSize.js.map +1 -0
  850. package/package.json +95 -0
  851. package/src/App.tsx +48 -0
  852. package/src/AppDefault.tsx +266 -0
  853. package/src/AppDrawer.tsx +104 -0
  854. package/src/AppDrawerContext.ts +10 -0
  855. package/src/AppLayout.tsx +36 -0
  856. package/src/AppProvider.tsx +36 -0
  857. package/src/components/ActionRow/ActionRow.style.tsx +21 -0
  858. package/src/components/ActionRow/ActionRow.tsx +25 -0
  859. package/src/components/AmountInput/AmountInput.style.tsx +68 -0
  860. package/src/components/AmountInput/AmountInput.tsx +203 -0
  861. package/src/components/AmountInput/AmountInputEndAdornment.style.ts +22 -0
  862. package/src/components/AmountInput/AmountInputEndAdornment.tsx +96 -0
  863. package/src/components/AmountInput/AmountInputStartAdornment.tsx +26 -0
  864. package/src/components/AmountInput/PriceFormHelperText.style.tsx +34 -0
  865. package/src/components/AmountInput/PriceFormHelperText.tsx +135 -0
  866. package/src/components/AppContainer.tsx +154 -0
  867. package/src/components/Avatar/AccountAvatar.tsx +50 -0
  868. package/src/components/Avatar/Avatar.style.tsx +100 -0
  869. package/src/components/Avatar/Avatar.tsx +50 -0
  870. package/src/components/Avatar/ChainBadgeContent.tsx +22 -0
  871. package/src/components/Avatar/SmallAvatar.tsx +27 -0
  872. package/src/components/Avatar/TokenAvatar.tsx +99 -0
  873. package/src/components/Avatar/utils.ts +6 -0
  874. package/src/components/BaseTransactionButton/BaseTransactionButton.tsx +72 -0
  875. package/src/components/BaseTransactionButton/types.ts +11 -0
  876. package/src/components/BottomSheet/BottomSheet.tsx +67 -0
  877. package/src/components/BottomSheet/types.ts +14 -0
  878. package/src/components/ButtonTertiary.tsx +29 -0
  879. package/src/components/Card/Card.tsx +81 -0
  880. package/src/components/Card/CardButton.style.tsx +31 -0
  881. package/src/components/Card/CardButton.tsx +26 -0
  882. package/src/components/Card/CardHeader.tsx +28 -0
  883. package/src/components/Card/CardIconButton.tsx +20 -0
  884. package/src/components/Card/CardLabel.tsx +80 -0
  885. package/src/components/Card/CardTitle.tsx +29 -0
  886. package/src/components/Card/InputCard.tsx +11 -0
  887. package/src/components/ChainSelect/ChainSelect.style.tsx +84 -0
  888. package/src/components/ChainSelect/ChainSelect.tsx +183 -0
  889. package/src/components/ChainSelect/useChainSelect.ts +98 -0
  890. package/src/components/Chains/AllChainsAvatar.tsx +167 -0
  891. package/src/components/Chains/ChainList.style.tsx +91 -0
  892. package/src/components/Chains/ChainList.tsx +89 -0
  893. package/src/components/Chains/ChainListItem.tsx +83 -0
  894. package/src/components/Chains/ChainsExpanded.style.tsx +25 -0
  895. package/src/components/Chains/ChainsExpanded.tsx +31 -0
  896. package/src/components/Chains/PinChainButton.tsx +55 -0
  897. package/src/components/Chains/SelectChainExpansionContent.tsx +84 -0
  898. package/src/components/Chains/SelectChainPageContent.tsx +66 -0
  899. package/src/components/Chains/VirtualizedChainList.tsx +222 -0
  900. package/src/components/ContextMenu.style.tsx +13 -0
  901. package/src/components/ContextMenu.tsx +75 -0
  902. package/src/components/ContractComponent/ContractComponent.tsx +14 -0
  903. package/src/components/ContractComponent/ItemPrice.tsx +37 -0
  904. package/src/components/ContractComponent/NFT/NFT.style.ts +10 -0
  905. package/src/components/ContractComponent/NFT/NFT.tsx +46 -0
  906. package/src/components/ContractComponent/NFT/NFTBase.tsx +91 -0
  907. package/src/components/ContractComponent/NFT/types.ts +19 -0
  908. package/src/components/Dialog/Dialog.style.tsx +59 -0
  909. package/src/components/Dialog/Dialog.tsx +49 -0
  910. package/src/components/EmptyListIndicator/EmptyListIndicator.style.tsx +38 -0
  911. package/src/components/EmptyListIndicator/EmptyListIndicator.tsx +25 -0
  912. package/src/components/ExecutionStatusCard/ExecutionChecklist.tsx +61 -0
  913. package/src/components/ExecutionStatusCard/ExecutionStatusCard.tsx +242 -0
  914. package/src/components/ExecutionStatusCard/StaggeredRevealTypography.tsx +59 -0
  915. package/src/components/ExecutionStatusCard/StatusIcon.style.tsx +13 -0
  916. package/src/components/ExecutionStatusCard/StatusIcon.tsx +99 -0
  917. package/src/components/ExecutionStatusCard/iconKey.ts +37 -0
  918. package/src/components/Expansion/Expansion.style.tsx +46 -0
  919. package/src/components/Expansion/Expansion.tsx +47 -0
  920. package/src/components/Expansion/ExpansionTransition.tsx +48 -0
  921. package/src/components/FeeBreakdownTooltip.tsx +68 -0
  922. package/src/components/Header/ActivitiesButton.style.tsx +67 -0
  923. package/src/components/Header/ActivitiesButton.tsx +59 -0
  924. package/src/components/Header/BackButton.tsx +29 -0
  925. package/src/components/Header/CloseDrawerButton.tsx +35 -0
  926. package/src/components/Header/DisconnectIconButton.tsx +24 -0
  927. package/src/components/Header/Header.style.ts +126 -0
  928. package/src/components/Header/Header.tsx +59 -0
  929. package/src/components/Header/NavigationHeader.tsx +77 -0
  930. package/src/components/Header/SettingsButton.style.tsx +62 -0
  931. package/src/components/Header/SettingsButton.tsx +47 -0
  932. package/src/components/Header/SplitNavigationTabs.tsx +32 -0
  933. package/src/components/Header/WalletHeader.tsx +184 -0
  934. package/src/components/Header/WalletMenu.style.tsx +34 -0
  935. package/src/components/Header/WalletMenu.tsx +129 -0
  936. package/src/components/IconCircle/IconCircle.style.tsx +85 -0
  937. package/src/components/IconCircle/IconCircle.tsx +29 -0
  938. package/src/components/IconCircle/statusIcons.ts +14 -0
  939. package/src/components/IconTypography.ts +11 -0
  940. package/src/components/Initializer.tsx +6 -0
  941. package/src/components/Input.tsx +14 -0
  942. package/src/components/ListItem/ListItem.tsx +29 -0
  943. package/src/components/ListItem/ListItemButton.tsx +12 -0
  944. package/src/components/ListItemButton.tsx +43 -0
  945. package/src/components/ListItemText.tsx +14 -0
  946. package/src/components/Menu.tsx +30 -0
  947. package/src/components/Messages/AccountDeployedMessage.tsx +28 -0
  948. package/src/components/Messages/AccountNotDeployedMessage.tsx +22 -0
  949. package/src/components/Messages/AlertMessage.style.tsx +65 -0
  950. package/src/components/Messages/AlertMessage.tsx +34 -0
  951. package/src/components/Messages/FundsSufficiencyMessage.tsx +26 -0
  952. package/src/components/Messages/GasRefuelMessage.style.ts +23 -0
  953. package/src/components/Messages/GasRefuelMessage.tsx +81 -0
  954. package/src/components/Messages/GasSufficiencyMessage.tsx +63 -0
  955. package/src/components/Messages/MinFromAmountUSDMessage.tsx +35 -0
  956. package/src/components/Messages/MissingRouteRequiredAccountMessage.tsx +44 -0
  957. package/src/components/Messages/WarningMessages.tsx +64 -0
  958. package/src/components/Messages/types.ts +1 -0
  959. package/src/components/Messages/useMessageQueue.ts +111 -0
  960. package/src/components/NotFound.tsx +45 -0
  961. package/src/components/PageContainer.ts +34 -0
  962. package/src/components/PageEntered.ts +14 -0
  963. package/src/components/PoweredBy/PoweredBy.style.ts +13 -0
  964. package/src/components/PoweredBy/PoweredBy.tsx +61 -0
  965. package/src/components/ProgressToNextUpdate.tsx +92 -0
  966. package/src/components/ReverseTokensButton/ReverseTokensButton.style.tsx +37 -0
  967. package/src/components/ReverseTokensButton/ReverseTokensButton.tsx +61 -0
  968. package/src/components/RouteCard/RouteCard.tsx +128 -0
  969. package/src/components/RouteCard/RouteCardEssentials.tsx +101 -0
  970. package/src/components/RouteCard/RouteCardSkeleton.tsx +58 -0
  971. package/src/components/RouteCard/RouteDetails.style.tsx +43 -0
  972. package/src/components/RouteCard/RouteDetails.tsx +214 -0
  973. package/src/components/RouteCard/RouteNotFoundCard.tsx +46 -0
  974. package/src/components/RouteCard/RouteToken.style.tsx +9 -0
  975. package/src/components/RouteCard/RouteToken.tsx +68 -0
  976. package/src/components/RouteCard/RouteTokens.tsx +56 -0
  977. package/src/components/RouteCard/getMatchingLabels.ts +66 -0
  978. package/src/components/RouteCard/types.ts +16 -0
  979. package/src/components/Routes/Routes.tsx +93 -0
  980. package/src/components/Routes/RoutesContent.tsx +117 -0
  981. package/src/components/Routes/RoutesExpanded.style.ts +46 -0
  982. package/src/components/Routes/RoutesExpanded.tsx +102 -0
  983. package/src/components/Search/SearchInput.style.tsx +43 -0
  984. package/src/components/Search/SearchInput.tsx +80 -0
  985. package/src/components/Search/SearchNotFound.style.tsx +34 -0
  986. package/src/components/Search/SearchNotFound.tsx +22 -0
  987. package/src/components/SelectChainAndToken.tsx +41 -0
  988. package/src/components/SelectTokenButton/SelectTokenButton.style.tsx +108 -0
  989. package/src/components/SelectTokenButton/SelectTokenButton.tsx +100 -0
  990. package/src/components/SendToWallet/SendToWalletButton.style.tsx +81 -0
  991. package/src/components/SendToWallet/SendToWalletButton.tsx +179 -0
  992. package/src/components/SendToWallet/SendToWalletExpandButton.tsx +59 -0
  993. package/src/components/SettingsListItemButton.tsx +9 -0
  994. package/src/components/Skeleton/WidgetSkeleton.style.tsx +102 -0
  995. package/src/components/Skeleton/WidgetSkeleton.tsx +140 -0
  996. package/src/components/Step/StepActions.style.tsx +33 -0
  997. package/src/components/Step/StepActions.tsx +329 -0
  998. package/src/components/StepActions/SentToWalletRow.style.tsx +29 -0
  999. package/src/components/StepActions/SentToWalletRow.tsx +56 -0
  1000. package/src/components/StepActions/StepActionRow.style.tsx +18 -0
  1001. package/src/components/StepActions/StepActionRow.tsx +30 -0
  1002. package/src/components/StepActions/StepActionsList.tsx +40 -0
  1003. package/src/components/StepActions/executionRows.tsx +86 -0
  1004. package/src/components/Switch.tsx +54 -0
  1005. package/src/components/Tabs/NavigationTabs.tsx +45 -0
  1006. package/src/components/Tabs/Tabs.style.tsx +51 -0
  1007. package/src/components/TextFitter/TextFitter.tsx +87 -0
  1008. package/src/components/TextFitter/types.ts +13 -0
  1009. package/src/components/Timer/ExecutionTimerText.tsx +10 -0
  1010. package/src/components/Timer/StepStatusTimer.style.tsx +98 -0
  1011. package/src/components/Timer/StepStatusTimer.tsx +85 -0
  1012. package/src/components/Token/Token.style.tsx +44 -0
  1013. package/src/components/Token/Token.tsx +317 -0
  1014. package/src/components/TokenList/PinTokenButton.tsx +51 -0
  1015. package/src/components/TokenList/TokenDetailsSheet.tsx +45 -0
  1016. package/src/components/TokenList/TokenDetailsSheetContent.style.tsx +40 -0
  1017. package/src/components/TokenList/TokenDetailsSheetContent.tsx +247 -0
  1018. package/src/components/TokenList/TokenList.style.tsx +44 -0
  1019. package/src/components/TokenList/TokenList.tsx +88 -0
  1020. package/src/components/TokenList/TokenListItem.tsx +418 -0
  1021. package/src/components/TokenList/TokenNotFound.tsx +11 -0
  1022. package/src/components/TokenList/VirtualizedTokenList.tsx +253 -0
  1023. package/src/components/TokenList/types.ts +65 -0
  1024. package/src/components/TokenList/useTokenSelect.ts +135 -0
  1025. package/src/components/TokenRate/TokenRate.style.ts +20 -0
  1026. package/src/components/TokenRate/TokenRate.tsx +62 -0
  1027. package/src/components/Tools/ToolItem.tsx +41 -0
  1028. package/src/components/Tools/Tools.tsx +61 -0
  1029. package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +24 -0
  1030. package/src/components/TransactionCard/ActiveTransactionCard.tsx +81 -0
  1031. package/src/components/TransactionCard/TransactionCard.style.tsx +14 -0
  1032. package/src/components/TransactionCard/TransactionCard.tsx +37 -0
  1033. package/src/components/TransactionCard/TransactionCardSkeleton.tsx +68 -0
  1034. package/src/config/constants.ts +3 -0
  1035. package/src/config/queryClient.ts +21 -0
  1036. package/src/config/version.ts +2 -0
  1037. package/src/hooks/timer/time.ts +39 -0
  1038. package/src/hooks/timer/useExecutionTimer.ts +21 -0
  1039. package/src/hooks/timer/useInterval.ts +21 -0
  1040. package/src/hooks/timer/useTimer.ts +107 -0
  1041. package/src/hooks/timer/validate.ts +15 -0
  1042. package/src/hooks/useAccountsBalancesData.ts +104 -0
  1043. package/src/hooks/useActionMessage.ts +34 -0
  1044. package/src/hooks/useAddressActivity.ts +47 -0
  1045. package/src/hooks/useAddressValidation.ts +101 -0
  1046. package/src/hooks/useAvailableChains.ts +108 -0
  1047. package/src/hooks/useChain.ts +24 -0
  1048. package/src/hooks/useChainSearch.ts +70 -0
  1049. package/src/hooks/useChains.ts +50 -0
  1050. package/src/hooks/useContactSupport.ts +16 -0
  1051. package/src/hooks/useDebouncedWatch.ts +32 -0
  1052. package/src/hooks/useDefaultElementId.ts +6 -0
  1053. package/src/hooks/useExplorer.ts +104 -0
  1054. package/src/hooks/useFilteredByTokenBalances.ts +140 -0
  1055. package/src/hooks/useFromAmountThreshold.ts +38 -0
  1056. package/src/hooks/useFromTokenSufficiency.ts +98 -0
  1057. package/src/hooks/useGasRecommendation.ts +60 -0
  1058. package/src/hooks/useGasRefuel.ts +98 -0
  1059. package/src/hooks/useGasSufficiency.ts +233 -0
  1060. package/src/hooks/useHasChainExpansion.ts +32 -0
  1061. package/src/hooks/useHeader.ts +21 -0
  1062. package/src/hooks/useInitializeSDKProviders.ts +12 -0
  1063. package/src/hooks/useInitializer.ts +16 -0
  1064. package/src/hooks/useIsBatchingSupported.ts +46 -0
  1065. package/src/hooks/useIsContractAddress.ts +39 -0
  1066. package/src/hooks/useLanguages.ts +93 -0
  1067. package/src/hooks/useListHeight.ts +107 -0
  1068. package/src/hooks/useLongPress.ts +60 -0
  1069. package/src/hooks/useNavigateBack.ts +17 -0
  1070. package/src/hooks/usePacedRouteExecution.ts +45 -0
  1071. package/src/hooks/usePacedValue.ts +45 -0
  1072. package/src/hooks/useRouteExecution.ts +246 -0
  1073. package/src/hooks/useRouteExecutionMessage.ts +100 -0
  1074. package/src/hooks/useRouteRequiredAccountConnection.ts +62 -0
  1075. package/src/hooks/useRoutes.ts +578 -0
  1076. package/src/hooks/useScrollableContainer.ts +29 -0
  1077. package/src/hooks/useSetContentHeight.ts +30 -0
  1078. package/src/hooks/useSettingMonitor.ts +93 -0
  1079. package/src/hooks/useSwapOnly.ts +6 -0
  1080. package/src/hooks/useToAddressAutoPopulate.ts +95 -0
  1081. package/src/hooks/useToAddressRequirements.ts +103 -0
  1082. package/src/hooks/useToAddressReset.ts +39 -0
  1083. package/src/hooks/useToken.ts +45 -0
  1084. package/src/hooks/useTokenAddressBalance.ts +32 -0
  1085. package/src/hooks/useTokenBalance.ts +148 -0
  1086. package/src/hooks/useTokenBalances.ts +191 -0
  1087. package/src/hooks/useTokenBalancesQueries.ts +100 -0
  1088. package/src/hooks/useTokenRateText.ts +55 -0
  1089. package/src/hooks/useTokenSearch.ts +98 -0
  1090. package/src/hooks/useTokens.ts +159 -0
  1091. package/src/hooks/useTools.ts +56 -0
  1092. package/src/hooks/useTransactionDetails.ts +93 -0
  1093. package/src/hooks/useTransactionHistory.ts +120 -0
  1094. package/src/hooks/useTransactionList.ts +83 -0
  1095. package/src/hooks/useWideVariant.ts +13 -0
  1096. package/src/hooks/useWidgetChains.ts +16 -0
  1097. package/src/hooks/useWidgetEvents.ts +8 -0
  1098. package/src/i18n/i18next.d.ts +10 -0
  1099. package/src/index.ts +37 -0
  1100. package/src/pages/ActivitiesPage/ActiveTransactionItem.tsx +43 -0
  1101. package/src/pages/ActivitiesPage/ActivitiesPage.tsx +148 -0
  1102. package/src/pages/ActivitiesPage/ActivitiesPageMenuButton.tsx +71 -0
  1103. package/src/pages/ActivitiesPage/TransactionHistoryEmpty.tsx +14 -0
  1104. package/src/pages/ActivitiesPage/TransactionHistoryItem.tsx +30 -0
  1105. package/src/pages/ActivitiesPage/types.ts +16 -0
  1106. package/src/pages/LanguagesPage.tsx +49 -0
  1107. package/src/pages/MainPage/MainPage.tsx +70 -0
  1108. package/src/pages/MainPage/MainWarningMessages.tsx +17 -0
  1109. package/src/pages/MainPage/ReviewButton.tsx +81 -0
  1110. package/src/pages/RoutesPage/RoutesPage.style.ts +9 -0
  1111. package/src/pages/RoutesPage/RoutesPage.tsx +99 -0
  1112. package/src/pages/SelectChainPage/SelectChainPage.tsx +36 -0
  1113. package/src/pages/SelectChainPage/types.ts +5 -0
  1114. package/src/pages/SelectEnabledToolsPage.tsx +131 -0
  1115. package/src/pages/SelectTokenPage/SearchTokenInput.tsx +58 -0
  1116. package/src/pages/SelectTokenPage/SelectTokenPage.tsx +80 -0
  1117. package/src/pages/SendToWallet/BookmarkAddressSheet.tsx +247 -0
  1118. package/src/pages/SendToWallet/BookmarksPage.tsx +145 -0
  1119. package/src/pages/SendToWallet/ConfirmAddressSheet.tsx +107 -0
  1120. package/src/pages/SendToWallet/ConnectedWalletsPage.tsx +134 -0
  1121. package/src/pages/SendToWallet/RecentWalletsPage.tsx +161 -0
  1122. package/src/pages/SendToWallet/SendToConfiguredWalletPage.tsx +110 -0
  1123. package/src/pages/SendToWallet/SendToWalletPage.style.tsx +137 -0
  1124. package/src/pages/SendToWallet/SendToWalletPage.tsx +308 -0
  1125. package/src/pages/SendToWallet/types.ts +4 -0
  1126. package/src/pages/SettingsPage/BridgeAndExchangeSettings.tsx +59 -0
  1127. package/src/pages/SettingsPage/GasPriceSettings.tsx +47 -0
  1128. package/src/pages/SettingsPage/LanguageSetting.tsx +40 -0
  1129. package/src/pages/SettingsPage/ResetSettingsButton.style.tsx +12 -0
  1130. package/src/pages/SettingsPage/ResetSettingsButton.tsx +83 -0
  1131. package/src/pages/SettingsPage/RoutePrioritySettings.tsx +57 -0
  1132. package/src/pages/SettingsPage/SettingsCard/BadgedValue.tsx +22 -0
  1133. package/src/pages/SettingsPage/SettingsCard/SettingCard.style.tsx +26 -0
  1134. package/src/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +90 -0
  1135. package/src/pages/SettingsPage/SettingsCard/SettingsAccordian.tsx +48 -0
  1136. package/src/pages/SettingsPage/SettingsCard/types.ts +6 -0
  1137. package/src/pages/SettingsPage/SettingsPage.tsx +39 -0
  1138. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.style.tsx +102 -0
  1139. package/src/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +151 -0
  1140. package/src/pages/SettingsPage/SmallBalanceFilterSettings.tsx +116 -0
  1141. package/src/pages/SettingsPage/ThemeSettings.tsx +85 -0
  1142. package/src/pages/TransactionDetailsPage/ContactSupportButton.style.tsx +12 -0
  1143. package/src/pages/TransactionDetailsPage/ContactSupportButton.tsx +21 -0
  1144. package/src/pages/TransactionDetailsPage/ReceiptsCard.tsx +22 -0
  1145. package/src/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +111 -0
  1146. package/src/pages/TransactionDetailsPage/TransactionDetailsSkeleton.tsx +91 -0
  1147. package/src/pages/TransactionDetailsPage/TransferIdCard.tsx +72 -0
  1148. package/src/pages/TransactionPage/ConfirmToAddressSheet.tsx +96 -0
  1149. package/src/pages/TransactionPage/ExchangeRateBottomSheet.style.tsx +9 -0
  1150. package/src/pages/TransactionPage/ExchangeRateBottomSheet.tsx +214 -0
  1151. package/src/pages/TransactionPage/ExecutionDoneCard.tsx +43 -0
  1152. package/src/pages/TransactionPage/RouteTracker.tsx +68 -0
  1153. package/src/pages/TransactionPage/StartTransactionButton.tsx +27 -0
  1154. package/src/pages/TransactionPage/TokenValueBottomSheet.style.tsx +60 -0
  1155. package/src/pages/TransactionPage/TokenValueBottomSheet.tsx +141 -0
  1156. package/src/pages/TransactionPage/TransactionContent.tsx +42 -0
  1157. package/src/pages/TransactionPage/TransactionDoneButtons.tsx +70 -0
  1158. package/src/pages/TransactionPage/TransactionExecutionContent.tsx +93 -0
  1159. package/src/pages/TransactionPage/TransactionFailedButtons.tsx +105 -0
  1160. package/src/pages/TransactionPage/TransactionPage.tsx +111 -0
  1161. package/src/pages/TransactionPage/TransactionReview.tsx +163 -0
  1162. package/src/pages/TransactionPage/types.ts +7 -0
  1163. package/src/pages/TransactionPage/utils.ts +25 -0
  1164. package/src/providers/I18nProvider/I18nProvider.tsx +133 -0
  1165. package/src/providers/I18nProvider/constants.ts +41 -0
  1166. package/src/providers/I18nProvider/enResource.ts +4 -0
  1167. package/src/providers/I18nProvider/i18n.ts +26 -0
  1168. package/src/providers/I18nProvider/types.ts +36 -0
  1169. package/src/providers/QueryClientProvider.tsx +20 -0
  1170. package/src/providers/SDKClientProvider.tsx +59 -0
  1171. package/src/providers/ThemeProvider/ThemeProvider.tsx +35 -0
  1172. package/src/providers/WalletProvider/WalletProvider.tsx +70 -0
  1173. package/src/providers/WalletProvider/useExternalWalletProvider.ts +79 -0
  1174. package/src/providers/WidgetProvider/WidgetProvider.tsx +49 -0
  1175. package/src/providers/WidgetProvider/types.ts +9 -0
  1176. package/src/stores/StoreProvider.tsx +40 -0
  1177. package/src/stores/bookmarks/BookmarkStore.tsx +38 -0
  1178. package/src/stores/bookmarks/createBookmarkStore.ts +80 -0
  1179. package/src/stores/bookmarks/types.ts +26 -0
  1180. package/src/stores/bookmarks/useBookmarkActions.ts +16 -0
  1181. package/src/stores/bookmarks/useBookmarks.ts +14 -0
  1182. package/src/stores/chains/ChainOrderStore.tsx +165 -0
  1183. package/src/stores/chains/createChainOrderStore.ts +128 -0
  1184. package/src/stores/chains/types.ts +25 -0
  1185. package/src/stores/chains/useChainOrder.ts +20 -0
  1186. package/src/stores/form/FormStore.tsx +133 -0
  1187. package/src/stores/form/FormStoreContext.ts +5 -0
  1188. package/src/stores/form/FormUpdater.tsx +52 -0
  1189. package/src/stores/form/URLSearchParamsBuilder.tsx +93 -0
  1190. package/src/stores/form/createFormStore.ts +237 -0
  1191. package/src/stores/form/getDefaultValuesFromQueryString.ts +48 -0
  1192. package/src/stores/form/types.ts +107 -0
  1193. package/src/stores/form/useClearAmountFields.ts +10 -0
  1194. package/src/stores/form/useFieldActions.ts +93 -0
  1195. package/src/stores/form/useFieldValues.ts +14 -0
  1196. package/src/stores/form/useFormRef.ts +76 -0
  1197. package/src/stores/form/useFormStore.ts +14 -0
  1198. package/src/stores/form/useTouchedFields.ts +8 -0
  1199. package/src/stores/header/types.ts +20 -0
  1200. package/src/stores/header/useHeaderStore.tsx +103 -0
  1201. package/src/stores/inputMode/useInputModeStore.ts +31 -0
  1202. package/src/stores/pinnedTokens/PinnedTokensStore.tsx +38 -0
  1203. package/src/stores/pinnedTokens/createPinnedTokensStore.ts +74 -0
  1204. package/src/stores/pinnedTokens/types.ts +20 -0
  1205. package/src/stores/routes/RouteExecutionStore.tsx +44 -0
  1206. package/src/stores/routes/createRouteExecutionStore.ts +167 -0
  1207. package/src/stores/routes/types.ts +26 -0
  1208. package/src/stores/routes/useIntermediateRoutesStore.ts +29 -0
  1209. package/src/stores/routes/useRouteExecutionIndicator.ts +43 -0
  1210. package/src/stores/routes/useSetExecutableRoute.ts +7 -0
  1211. package/src/stores/routes/utils.ts +63 -0
  1212. package/src/stores/settings/SettingsStore.tsx +45 -0
  1213. package/src/stores/settings/createSettingsStore.ts +219 -0
  1214. package/src/stores/settings/types.ts +66 -0
  1215. package/src/stores/settings/useSettings.ts +16 -0
  1216. package/src/stores/settings/useSettingsActions.ts +165 -0
  1217. package/src/stores/settings/useSplitModeStore.tsx +58 -0
  1218. package/src/stores/settings/utils/getStateValues.ts +17 -0
  1219. package/src/stores/types.ts +7 -0
  1220. package/src/themes/azureLight.ts +61 -0
  1221. package/src/themes/createTheme.ts +489 -0
  1222. package/src/themes/jumper.ts +77 -0
  1223. package/src/themes/palettes.ts +52 -0
  1224. package/src/themes/types.ts +82 -0
  1225. package/src/themes/utils.ts +18 -0
  1226. package/src/themes/watermelonLight.ts +80 -0
  1227. package/src/themes/windows95.ts +133 -0
  1228. package/src/types/events.ts +114 -0
  1229. package/src/types/token.ts +21 -0
  1230. package/src/types/widget.ts +441 -0
  1231. package/src/utils/chainType.ts +10 -0
  1232. package/src/utils/compactNumberFormatter.ts +91 -0
  1233. package/src/utils/converters.ts +238 -0
  1234. package/src/utils/currencyExtendedFormatter.ts +15 -0
  1235. package/src/utils/deepEqual.ts +62 -0
  1236. package/src/utils/deepMerge.ts +14 -0
  1237. package/src/utils/elements.ts +32 -0
  1238. package/src/utils/enum.ts +4 -0
  1239. package/src/utils/fees.ts +136 -0
  1240. package/src/utils/format.ts +195 -0
  1241. package/src/utils/getActionMessage.ts +163 -0
  1242. package/src/utils/getErrorMessage.ts +144 -0
  1243. package/src/utils/getPriceImpact.ts +35 -0
  1244. package/src/utils/input.ts +29 -0
  1245. package/src/utils/item.ts +65 -0
  1246. package/src/utils/navigationRoutes.ts +68 -0
  1247. package/src/utils/percentFormatter.ts +28 -0
  1248. package/src/utils/prepareActions.ts +27 -0
  1249. package/src/utils/queries.ts +2 -0
  1250. package/src/utils/timer.ts +45 -0
  1251. package/src/utils/token.ts +143 -0
  1252. package/src/utils/tokenList.ts +284 -0
  1253. package/src/utils/variant.ts +13 -0
  1254. package/src/utils/wallet.ts +4 -0
  1255. package/src/utils/widgetSize.ts +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenBalances.js","names":[],"sources":["../../../src/hooks/useTokenBalances.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport type { FormType } from '../stores/form/types.js'\nimport { usePinnedTokensStore } from '../stores/pinnedTokens/PinnedTokensStore.js'\nimport { useSettings } from '../stores/settings/useSettings.js'\nimport type { TokenAmount } from '../types/token.js'\nimport { formatTokenPrice } from '../utils/format.js'\nimport { isSearchMatch, processTokenBalances } from '../utils/tokenList.js'\nimport { useAccountsBalancesData } from './useAccountsBalancesData.js'\nimport { useTokenBalancesQueries } from './useTokenBalancesQueries.js'\nimport { useTokens } from './useTokens.js'\n\nexport const useTokenBalances = (\n selectedChainId?: number,\n formType?: FormType,\n isAllNetworks?: boolean,\n search?: string\n): {\n tokens: TokenAmount[]\n withCategories: boolean\n withPinnedTokens: boolean\n isTokensLoading: boolean\n isSearchLoading: boolean\n isBalanceLoading: boolean\n} => {\n const { hiddenUI } = useWidgetConfig()\n const {\n allTokens,\n isLoading: isTokensLoading,\n isSearchLoading,\n } = useTokens(formType, search, isAllNetworks ? undefined : selectedChainId)\n\n const { data: accountsWithAllTokens, isLoading: isAccountsLoading } =\n useAccountsBalancesData(selectedChainId, formType, isAllNetworks, allTokens)\n\n const isBalanceLoadingEnabled =\n Boolean(accountsWithAllTokens) && !isAccountsLoading\n\n const { data: allTokensWithBalances, isLoading: isBalanceQueriesLoading } =\n useTokenBalancesQueries(accountsWithAllTokens, isBalanceLoadingEnabled)\n\n const { tokens: configTokens } = useWidgetConfig()\n const { smallBalanceThreshold } = useSettings(['smallBalanceThreshold'])\n\n const pinnedTokens = usePinnedTokensStore((state) => state.pinnedTokens)\n\n const isBalanceLoading =\n (isBalanceQueriesLoading || isAccountsLoading) &&\n !allTokensWithBalances?.length\n\n // Create function to check if token is pinned\n const isPinnedToken = useMemo(() => {\n if (isAllNetworks) {\n // For all networks, check all pinned tokens\n const allPinned: Array<{ chainId: number; tokenAddress: string }> = []\n Object.entries(pinnedTokens).forEach(([chainIdStr, addresses]) => {\n const chainId = Number.parseInt(chainIdStr, 10)\n addresses.forEach((address) => {\n allPinned.push({ chainId, tokenAddress: address })\n })\n })\n const pinnedSet = new Set(\n allPinned.map((p) => `${p.chainId}-${p.tokenAddress.toLowerCase()}`)\n )\n return (chainId: number, tokenAddress: string) => {\n const key = `${chainId}-${tokenAddress.toLowerCase()}`\n return pinnedSet.has(key)\n }\n } else if (selectedChainId) {\n // For single chain, check only selected chain\n const chainPinnedTokens = pinnedTokens[selectedChainId] || []\n const pinnedSet = new Set(\n chainPinnedTokens.map((addr) => addr.toLowerCase())\n )\n return (chainId: number, tokenAddress: string) => {\n return (\n chainId === selectedChainId &&\n pinnedSet.has(tokenAddress.toLowerCase())\n )\n }\n }\n return undefined\n }, [isAllNetworks, selectedChainId, pinnedTokens])\n\n const displayedTokensList = useMemo(() => {\n const tokensByChain = isAllNetworks\n ? Object.values(allTokens ?? {}).flat()\n : selectedChainId\n ? allTokens?.[selectedChainId]\n : undefined\n return tokensByChain?.filter((t) => isSearchMatch(t, search)) ?? []\n }, [allTokens, isAllNetworks, selectedChainId, search])\n\n const displayedTokensWithBalances = useMemo(() => {\n const balancesByChain = isAllNetworks\n ? allTokensWithBalances\n : selectedChainId\n ? allTokensWithBalances?.filter((t) => t.chainId === selectedChainId)\n : undefined\n const displayedTokensSet = new Set(\n displayedTokensList?.map(\n (t) => `${t.chainId}-${t.address.toLowerCase()}`\n ) || []\n )\n\n const hideSmallBalances =\n !!smallBalanceThreshold && !hiddenUI?.hideSmallBalances\n const threshold = hideSmallBalances\n ? Number.parseFloat(smallBalanceThreshold)\n : undefined\n\n if (!balancesByChain) {\n return undefined\n }\n\n return balancesByChain.reduce<typeof balancesByChain>((acc, token) => {\n const tokenKey = `${token.chainId}-${token.address.toLowerCase()}`\n // Check if token is in displayed list and has amount\n const isInDisplayedList = displayedTokensSet.has(tokenKey) && token.amount\n // Check if it matches search (for cached appended tokens)\n const matchesSearch = isSearchMatch(token, search)\n\n // Filter: only include tokens that match our criteria\n if (!isInDisplayedList && !matchesSearch) {\n return acc\n }\n\n // Apply small balance threshold transformation if enabled\n let processedToken = token\n if (\n hideSmallBalances &&\n threshold !== undefined &&\n threshold >= 0 &&\n token.amount\n ) {\n const balanceUSD = formatTokenPrice(\n token.amount,\n token.priceUSD,\n token.decimals\n )\n if (balanceUSD < threshold) {\n processedToken = {\n ...token,\n amount: 0n,\n }\n }\n }\n\n acc.push(processedToken)\n return acc\n }, [])\n }, [\n allTokensWithBalances,\n displayedTokensList,\n search,\n selectedChainId,\n isAllNetworks,\n smallBalanceThreshold,\n hiddenUI,\n ])\n\n const { processedTokens, withCategories, withPinnedTokens } = useMemo(() => {\n return processTokenBalances(\n isBalanceLoading,\n isAllNetworks || !!search,\n configTokens,\n selectedChainId,\n displayedTokensList,\n displayedTokensWithBalances,\n isPinnedToken\n )\n }, [\n isBalanceLoading,\n isAllNetworks,\n configTokens,\n selectedChainId,\n displayedTokensList,\n displayedTokensWithBalances,\n search,\n isPinnedToken,\n ])\n\n return {\n tokens: processedTokens ?? [],\n withCategories,\n withPinnedTokens,\n isTokensLoading,\n isSearchLoading,\n isBalanceLoading,\n }\n}\n"],"mappings":";;;;;;;;;;AAYA,MAAa,oBACX,iBACA,UACA,eACA,WAQG;CACH,MAAM,EAAE,aAAa,gBAAgB;CACrC,MAAM,EACJ,WACA,WAAW,iBACX,oBACE,UAAU,UAAU,QAAQ,gBAAgB,KAAA,IAAY,eAAe;CAE3E,MAAM,EAAE,MAAM,uBAAuB,WAAW,sBAC9C,wBAAwB,iBAAiB,UAAU,eAAe,SAAS;CAK7E,MAAM,EAAE,MAAM,uBAAuB,WAAW,4BAC9C,wBAAwB,uBAHxB,QAAQ,qBAAqB,KAAK,CAAC,iBAGmC;CAExE,MAAM,EAAE,QAAQ,iBAAiB,gBAAgB;CACjD,MAAM,EAAE,0BAA0B,YAAY,CAAC,uBAAuB,CAAC;CAEvE,MAAM,eAAe,sBAAsB,UAAU,MAAM,YAAY;CAEvE,MAAM,oBACH,2BAA2B,sBAC5B,CAAC,uBAAuB;CAG1B,MAAM,gBAAgB,cAAc;EAClC,IAAI,eAAe;GAEjB,MAAM,YAA8D,CAAC;GACrE,OAAO,QAAQ,YAAY,EAAE,SAAS,CAAC,YAAY,eAAe;IAChE,MAAM,UAAU,OAAO,SAAS,YAAY,EAAE;IAC9C,UAAU,SAAS,YAAY;KAC7B,UAAU,KAAK;MAAE;MAAS,cAAc;KAAQ,CAAC;IACnD,CAAC;GACH,CAAC;GACD,MAAM,YAAY,IAAI,IACpB,UAAU,KAAK,MAAM,GAAG,EAAE,QAAQ,GAAG,EAAE,aAAa,YAAY,GAAG,CACrE;GACA,QAAQ,SAAiB,iBAAyB;IAChD,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,YAAY;IACnD,OAAO,UAAU,IAAI,GAAG;GAC1B;EACF,OAAO,IAAI,iBAAiB;GAE1B,MAAM,oBAAoB,aAAa,oBAAoB,CAAC;GAC5D,MAAM,YAAY,IAAI,IACpB,kBAAkB,KAAK,SAAS,KAAK,YAAY,CAAC,CACpD;GACA,QAAQ,SAAiB,iBAAyB;IAChD,OACE,YAAY,mBACZ,UAAU,IAAI,aAAa,YAAY,CAAC;GAE5C;EACF;CAEF,GAAG;EAAC;EAAe;EAAiB;CAAY,CAAC;CAEjD,MAAM,sBAAsB,cAAc;EAMxC,QALsB,gBAClB,OAAO,OAAO,aAAa,CAAC,CAAC,EAAE,KAAK,IACpC,kBACE,YAAY,mBACZ,KAAA,IACgB,QAAQ,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;CACpE,GAAG;EAAC;EAAW;EAAe;EAAiB;CAAM,CAAC;CAEtD,MAAM,8BAA8B,cAAc;EAChD,MAAM,kBAAkB,gBACpB,wBACA,kBACE,uBAAuB,QAAQ,MAAM,EAAE,YAAY,eAAe,IAClE,KAAA;EACN,MAAM,qBAAqB,IAAI,IAC7B,qBAAqB,KAClB,MAAM,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,YAAY,GAC/C,KAAK,CAAC,CACR;EAEA,MAAM,oBACJ,CAAC,CAAC,yBAAyB,CAAC,UAAU;EACxC,MAAM,YAAY,oBACd,OAAO,WAAW,qBAAqB,IACvC,KAAA;EAEJ,IAAI,CAAC,iBACH;EAGF,OAAO,gBAAgB,QAAgC,KAAK,UAAU;GACpE,MAAM,WAAW,GAAG,MAAM,QAAQ,GAAG,MAAM,QAAQ,YAAY;GAE/D,MAAM,oBAAoB,mBAAmB,IAAI,QAAQ,KAAK,MAAM;GAEpE,MAAM,gBAAgB,cAAc,OAAO,MAAM;GAGjD,IAAI,CAAC,qBAAqB,CAAC,eACzB,OAAO;GAIT,IAAI,iBAAiB;GACrB,IACE,qBACA,cAAc,KAAA,KACd,aAAa,KACb,MAAM;QAEa,iBACjB,MAAM,QACN,MAAM,UACN,MAAM,QAEK,IAAI,WACf,iBAAiB;KACf,GAAG;KACH,QAAQ;IACV;GAAA;GAIJ,IAAI,KAAK,cAAc;GACvB,OAAO;EACT,GAAG,CAAC,CAAC;CACP,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,MAAM,EAAE,iBAAiB,gBAAgB,qBAAqB,cAAc;EAC1E,OAAO,qBACL,kBACA,iBAAiB,CAAC,CAAC,QACnB,cACA,iBACA,qBACA,6BACA,aACF;CACF,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OAAO;EACL,QAAQ,mBAAmB,CAAC;EAC5B;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,63 @@
1
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
+ import { useSDKClient } from "../providers/SDKClientProvider.js";
3
+ import { getQueryKey } from "../utils/queries.js";
4
+ import { getTokenBalances } from "@lifi/sdk";
5
+ import { useMemo, useRef } from "react";
6
+ import { useQueries } from "@tanstack/react-query";
7
+ //#region src/hooks/useTokenBalancesQueries.ts
8
+ const defaultRefetchInterval = 32e3;
9
+ const useTokenBalancesQueries = (accountsWithTokens, isBalanceLoadingEnabled) => {
10
+ const { keyPrefix } = useWidgetConfig();
11
+ const sdkClient = useSDKClient();
12
+ const firstLoadStartRef = useRef(null);
13
+ return useQueries({
14
+ queries: useMemo(() => {
15
+ if (!accountsWithTokens) return [];
16
+ return Object.entries(accountsWithTokens).flatMap(([accountAddress, chainTokens]) => Object.entries(chainTokens).map(([chainIdStr, tokens]) => {
17
+ const chainId = Number(chainIdStr);
18
+ return {
19
+ queryKey: [
20
+ getQueryKey("token-balances", keyPrefix),
21
+ accountAddress,
22
+ chainId,
23
+ tokens.length
24
+ ],
25
+ queryFn: async () => {
26
+ if (!accountAddress || !tokens) return [];
27
+ return await getTokenBalances(sdkClient, accountAddress, tokens);
28
+ },
29
+ enabled: isBalanceLoadingEnabled,
30
+ refetchInterval: defaultRefetchInterval,
31
+ staleTime: defaultRefetchInterval,
32
+ keepPreviousData: true
33
+ };
34
+ }));
35
+ }, [
36
+ accountsWithTokens,
37
+ isBalanceLoadingEnabled,
38
+ keyPrefix,
39
+ sdkClient
40
+ ]),
41
+ combine: (results) => {
42
+ const now = Date.now();
43
+ if (results.some((result) => result.isLoading) && firstLoadStartRef.current === null) firstLoadStartRef.current = now;
44
+ const allComplete = results.every((result) => result.isSuccess || result.isError);
45
+ if (allComplete) firstLoadStartRef.current = null;
46
+ const timeSinceStart = firstLoadStartRef.current ? now - firstLoadStartRef.current : 0;
47
+ if (allComplete || timeSinceStart >= 500) return {
48
+ data: results.flatMap((result) => result.data || []).filter((token) => token.amount),
49
+ isLoading: !allComplete,
50
+ isError: results.some((result) => result.isError)
51
+ };
52
+ return {
53
+ data: void 0,
54
+ isLoading: true,
55
+ isError: false
56
+ };
57
+ }
58
+ });
59
+ };
60
+ //#endregion
61
+ export { useTokenBalancesQueries };
62
+
63
+ //# sourceMappingURL=useTokenBalancesQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenBalancesQueries.js","names":[],"sources":["../../../src/hooks/useTokenBalancesQueries.ts"],"sourcesContent":["import { getTokenBalances, type TokenExtended } from '@lifi/sdk'\nimport { useQueries } from '@tanstack/react-query'\nimport { useMemo, useRef } from 'react'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport type { TokenAmount, TokenAmountExtended } from '../types/token.js'\nimport { getQueryKey } from '../utils/queries.js'\n\nconst defaultRefetchInterval = 32_000\n\nexport const useTokenBalancesQueries = (\n accountsWithTokens?: Record<string, Record<number, TokenExtended[]>>,\n isBalanceLoadingEnabled?: boolean\n): {\n data: TokenAmount[] | undefined\n isLoading: boolean\n isError: boolean\n} => {\n const { keyPrefix } = useWidgetConfig()\n const sdkClient = useSDKClient()\n const firstLoadStartRef = useRef<number | null>(null)\n\n const queryConfig = useMemo(() => {\n if (!accountsWithTokens) {\n return []\n }\n return Object.entries(accountsWithTokens).flatMap(\n ([accountAddress, chainTokens]) =>\n Object.entries(chainTokens).map(([chainIdStr, tokens]) => {\n const chainId = Number(chainIdStr)\n return {\n queryKey: [\n getQueryKey('token-balances', keyPrefix),\n accountAddress,\n chainId,\n tokens.length,\n ],\n queryFn: async (): Promise<TokenAmountExtended[]> => {\n if (!accountAddress || !tokens) {\n return []\n }\n return await getTokenBalances(sdkClient, accountAddress, tokens)\n },\n enabled: isBalanceLoadingEnabled,\n refetchInterval: defaultRefetchInterval,\n staleTime: defaultRefetchInterval,\n keepPreviousData: true,\n }\n })\n )\n }, [accountsWithTokens, isBalanceLoadingEnabled, keyPrefix, sdkClient])\n\n const result = useQueries({\n queries: queryConfig,\n combine: (results) => {\n const now = Date.now()\n\n const hasLoadingQueries = results.some((result) => result.isLoading)\n if (hasLoadingQueries && firstLoadStartRef.current === null) {\n firstLoadStartRef.current = now\n }\n\n const allComplete = results.every(\n (result) => result.isSuccess || result.isError\n )\n\n // Reset the start time when all queries complete\n if (allComplete) {\n firstLoadStartRef.current = null\n }\n\n // Calculate time since first load started\n const timeSinceStart = firstLoadStartRef.current\n ? now - firstLoadStartRef.current\n : 0\n\n // Return results if all complete OR if 500ms have passed since first query started\n const shouldReturnResults = allComplete || timeSinceStart >= 500\n\n if (shouldReturnResults) {\n const data: TokenAmount[] = results\n .flatMap((result) => result.data || [])\n .filter((token) => token.amount)\n return {\n data,\n isLoading: !allComplete,\n isError: results.some((result) => result.isError),\n }\n }\n\n return {\n data: undefined,\n isLoading: true,\n isError: false,\n }\n },\n })\n\n return result\n}\n"],"mappings":";;;;;;;AAQA,MAAM,yBAAyB;AAE/B,MAAa,2BACX,oBACA,4BAKG;CACH,MAAM,EAAE,cAAc,gBAAgB;CACtC,MAAM,YAAY,aAAa;CAC/B,MAAM,oBAAoB,OAAsB,IAAI;CA8EpD,OA9Ce,WAAW;EACxB,SA/BkB,cAAc;GAChC,IAAI,CAAC,oBACH,OAAO,CAAC;GAEV,OAAO,OAAO,QAAQ,kBAAkB,EAAE,SACvC,CAAC,gBAAgB,iBAChB,OAAO,QAAQ,WAAW,EAAE,KAAK,CAAC,YAAY,YAAY;IACxD,MAAM,UAAU,OAAO,UAAU;IACjC,OAAO;KACL,UAAU;MACR,YAAY,kBAAkB,SAAS;MACvC;MACA;MACA,OAAO;KACT;KACA,SAAS,YAA4C;MACnD,IAAI,CAAC,kBAAkB,CAAC,QACtB,OAAO,CAAC;MAEV,OAAO,MAAM,iBAAiB,WAAW,gBAAgB,MAAM;KACjE;KACA,SAAS;KACT,iBAAiB;KACjB,WAAW;KACX,kBAAkB;IACpB;GACF,CAAC,CACL;EACF,GAAG;GAAC;GAAoB;GAAyB;GAAW;EAAS,CAGhD;EACnB,UAAU,YAAY;GACpB,MAAM,MAAM,KAAK,IAAI;GAGrB,IAD0B,QAAQ,MAAM,WAAW,OAAO,SACtC,KAAK,kBAAkB,YAAY,MACrD,kBAAkB,UAAU;GAG9B,MAAM,cAAc,QAAQ,OACzB,WAAW,OAAO,aAAa,OAAO,OACzC;GAGA,IAAI,aACF,kBAAkB,UAAU;GAI9B,MAAM,iBAAiB,kBAAkB,UACrC,MAAM,kBAAkB,UACxB;GAKJ,IAF4B,eAAe,kBAAkB,KAM3D,OAAO;IACL,MAJ0B,QACzB,SAAS,WAAW,OAAO,QAAQ,CAAC,CAAC,EACrC,QAAQ,UAAU,MAAM,MAEtB;IACH,WAAW,CAAC;IACZ,SAAS,QAAQ,MAAM,WAAW,OAAO,OAAO;GAClD;GAGF,OAAO;IACL,MAAM,KAAA;IACN,WAAW;IACX,SAAS;GACX;EACF;CACF,CAEY;AACd"}
@@ -0,0 +1,36 @@
1
+ import { formatUnits } from "@lifi/sdk";
2
+ import { create } from "zustand";
3
+ import { useTranslation } from "react-i18next";
4
+ //#region src/hooks/useTokenRateText.ts
5
+ const useTokenRateStore = create((set) => ({
6
+ isForward: true,
7
+ toggleIsForward: () => set((state) => ({ isForward: !state.isForward }))
8
+ }));
9
+ function useTokenRateText(route) {
10
+ const { t } = useTranslation();
11
+ const { isForward, toggleIsForward } = useTokenRateStore();
12
+ const lastStep = route.steps.at(-1);
13
+ const fromToken = {
14
+ ...route.fromToken,
15
+ amount: BigInt(route.fromAmount)
16
+ };
17
+ const toToken = {
18
+ ...lastStep?.execution?.toToken ?? lastStep?.action.toToken ?? route.toToken,
19
+ amount: lastStep?.execution?.toAmount ? BigInt(lastStep.execution.toAmount) : BigInt(route.toAmount)
20
+ };
21
+ const fromToRate = Number.parseFloat(formatUnits(toToken.amount, toToken.decimals)) / Number.parseFloat(formatUnits(fromToken.amount, fromToken.decimals));
22
+ const toFromRate = Number.parseFloat(formatUnits(fromToken.amount, fromToken.decimals)) / Number.parseFloat(formatUnits(toToken.amount, toToken.decimals));
23
+ const rateText = isForward ? `1 ${fromToken.symbol} ≈ ${t("format.tokenAmount", { value: fromToRate })} ${toToken.symbol}` : `1 ${toToken.symbol} ≈ ${t("format.tokenAmount", { value: toFromRate })} ${fromToken.symbol}`;
24
+ const toggleRate = (e) => {
25
+ e.stopPropagation();
26
+ toggleIsForward();
27
+ };
28
+ return {
29
+ rateText,
30
+ toggleRate
31
+ };
32
+ }
33
+ //#endregion
34
+ export { useTokenRateText };
35
+
36
+ //# sourceMappingURL=useTokenRateText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenRateText.js","names":[],"sources":["../../../src/hooks/useTokenRateText.ts"],"sourcesContent":["import { formatUnits, type RouteExtended } from '@lifi/sdk'\nimport type { MouseEventHandler } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { create } from 'zustand'\n\ninterface TokenRateState {\n isForward: boolean\n toggleIsForward(): void\n}\n\nconst useTokenRateStore = create<TokenRateState>((set) => ({\n isForward: true,\n toggleIsForward: () => set((state) => ({ isForward: !state.isForward })),\n}))\n\nexport function useTokenRateText(route: RouteExtended): {\n rateText: string\n toggleRate: MouseEventHandler\n} {\n const { t } = useTranslation()\n const { isForward, toggleIsForward } = useTokenRateStore()\n\n const lastStep = route.steps.at(-1)\n\n const fromToken = {\n ...route.fromToken,\n amount: BigInt(route.fromAmount),\n }\n const toToken = {\n ...(lastStep?.execution?.toToken ??\n lastStep?.action.toToken ??\n route.toToken),\n amount: lastStep?.execution?.toAmount\n ? BigInt(lastStep.execution.toAmount)\n : BigInt(route.toAmount),\n }\n\n const fromToRate =\n Number.parseFloat(formatUnits(toToken.amount!, toToken.decimals)) /\n Number.parseFloat(formatUnits(fromToken.amount!, fromToken.decimals))\n const toFromRate =\n Number.parseFloat(formatUnits(fromToken.amount!, fromToken.decimals)) /\n Number.parseFloat(formatUnits(toToken.amount!, toToken.decimals))\n\n const rateText = isForward\n ? `1 ${fromToken.symbol} ≈ ${t('format.tokenAmount', { value: fromToRate })} ${toToken.symbol}`\n : `1 ${toToken.symbol} ≈ ${t('format.tokenAmount', { value: toFromRate })} ${fromToken.symbol}`\n\n const toggleRate: MouseEventHandler = (e) => {\n e.stopPropagation()\n toggleIsForward()\n }\n\n return { rateText: rateText, toggleRate: toggleRate }\n}\n"],"mappings":";;;;AAUA,MAAM,oBAAoB,QAAwB,SAAS;CACzD,WAAW;CACX,uBAAuB,KAAK,WAAW,EAAE,WAAW,CAAC,MAAM,UAAU,EAAE;AACzE,EAAE;AAEF,SAAgB,iBAAiB,OAG/B;CACA,MAAM,EAAE,MAAM,eAAe;CAC7B,MAAM,EAAE,WAAW,oBAAoB,kBAAkB;CAEzD,MAAM,WAAW,MAAM,MAAM,GAAG,EAAE;CAElC,MAAM,YAAY;EAChB,GAAG,MAAM;EACT,QAAQ,OAAO,MAAM,UAAU;CACjC;CACA,MAAM,UAAU;EACd,GAAI,UAAU,WAAW,WACvB,UAAU,OAAO,WACjB,MAAM;EACR,QAAQ,UAAU,WAAW,WACzB,OAAO,SAAS,UAAU,QAAQ,IAClC,OAAO,MAAM,QAAQ;CAC3B;CAEA,MAAM,aACJ,OAAO,WAAW,YAAY,QAAQ,QAAS,QAAQ,QAAQ,CAAC,IAChE,OAAO,WAAW,YAAY,UAAU,QAAS,UAAU,QAAQ,CAAC;CACtE,MAAM,aACJ,OAAO,WAAW,YAAY,UAAU,QAAS,UAAU,QAAQ,CAAC,IACpE,OAAO,WAAW,YAAY,QAAQ,QAAS,QAAQ,QAAQ,CAAC;CAElE,MAAM,WAAW,YACb,KAAK,UAAU,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,WAAW,CAAC,EAAE,GAAG,QAAQ,WACrF,KAAK,QAAQ,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,WAAW,CAAC,EAAE,GAAG,UAAU;CAEzF,MAAM,cAAiC,MAAM;EAC3C,EAAE,gBAAgB;EAClB,gBAAgB;CAClB;CAEA,OAAO;EAAY;EAAsB;CAAW;AACtD"}
@@ -0,0 +1,48 @@
1
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
+ import { getConfigItemSets, isFormItemAllowed } from "../utils/item.js";
3
+ import { useSDKClient } from "../providers/SDKClientProvider.js";
4
+ import { getQueryKey } from "../utils/queries.js";
5
+ import { getToken } from "@lifi/sdk";
6
+ import { useQuery, useQueryClient } from "@tanstack/react-query";
7
+ //#region src/hooks/useTokenSearch.ts
8
+ const useTokenSearch = (chainId, tokenQuery, enabled, formType) => {
9
+ const queryClient = useQueryClient();
10
+ const { tokens: configTokens, keyPrefix } = useWidgetConfig();
11
+ const sdkClient = useSDKClient();
12
+ const { data, isLoading } = useQuery({
13
+ queryKey: [
14
+ getQueryKey("token-search", keyPrefix),
15
+ chainId,
16
+ tokenQuery
17
+ ],
18
+ queryFn: async ({ queryKey: [, chainId, tokenQuery], signal }) => {
19
+ const token = await getToken(sdkClient, chainId, tokenQuery, { signal });
20
+ if (token) {
21
+ if (!isFormItemAllowed(token, getConfigItemSets(configTokens, (tokens) => new Set(tokens.filter((t) => t.chainId === token.chainId).map((t) => t.address.toLowerCase())), formType), formType, (t) => t.address.toLowerCase())) return null;
22
+ queryClient.setQueriesData({ queryKey: [getQueryKey("tokens", keyPrefix)] }, (data) => {
23
+ if (!data) return data;
24
+ const chainTokens = data[chainId];
25
+ if (chainTokens?.some((t) => t.address.toLowerCase() === token.address.toLowerCase())) return data;
26
+ return {
27
+ ...data,
28
+ [chainId]: [...chainTokens ?? [], {
29
+ ...token,
30
+ verified: false
31
+ }]
32
+ };
33
+ });
34
+ }
35
+ return token;
36
+ },
37
+ enabled: Boolean(chainId && tokenQuery && enabled),
38
+ retry: false
39
+ });
40
+ return {
41
+ token: data || void 0,
42
+ isLoading
43
+ };
44
+ };
45
+ //#endregion
46
+ export { useTokenSearch };
47
+
48
+ //# sourceMappingURL=useTokenSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenSearch.js","names":[],"sources":["../../../src/hooks/useTokenSearch.ts"],"sourcesContent":["import {\n type BaseToken,\n type ChainId,\n getToken,\n type TokenExtended,\n} from '@lifi/sdk'\nimport { useQuery, useQueryClient } from '@tanstack/react-query'\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 { getConfigItemSets, isFormItemAllowed } from '../utils/item.js'\nimport { getQueryKey } from '../utils/queries.js'\n\nexport const useTokenSearch = (\n chainId?: number,\n tokenQuery?: string,\n enabled?: boolean,\n formType?: FormType\n): {\n token: TokenExtended | undefined\n isLoading: boolean\n} => {\n const queryClient = useQueryClient()\n const { tokens: configTokens, keyPrefix } = useWidgetConfig()\n const sdkClient = useSDKClient()\n\n const { data, isLoading } = useQuery({\n queryKey: [getQueryKey('token-search', keyPrefix), chainId, tokenQuery],\n queryFn: async ({ queryKey: [, chainId, tokenQuery], signal }) => {\n const token = await getToken(\n sdkClient,\n chainId as ChainId,\n tokenQuery as string,\n {\n signal,\n }\n )\n\n if (token) {\n // Filter config tokens by chain before checking if token is allowed\n const filteredConfigTokens = getConfigItemSets(\n configTokens,\n (tokens: BaseToken[]) =>\n new Set(\n tokens\n .filter((t) => t.chainId === token.chainId)\n .map((t) => t.address.toLowerCase())\n ),\n formType\n )\n\n // Return undefined if the token is denied\n if (\n !isFormItemAllowed(token, filteredConfigTokens, formType, (t) =>\n t.address.toLowerCase()\n )\n ) {\n return null\n }\n\n // Add token to main tokens cache\n queryClient.setQueriesData<TokensByChain>(\n { queryKey: [getQueryKey('tokens', keyPrefix)] },\n (data) => {\n if (!data) {\n return data\n }\n const chainTokens = data[chainId as number]\n if (\n chainTokens?.some(\n (t) => t.address.toLowerCase() === token.address.toLowerCase()\n )\n ) {\n return data\n }\n // Mark token from search as unverified\n return {\n ...data,\n [chainId as number]: [\n ...(chainTokens ?? []),\n { ...token, verified: false },\n ],\n }\n }\n )\n }\n return token as TokenExtended\n },\n\n enabled: Boolean(chainId && tokenQuery && enabled),\n retry: false,\n })\n return {\n token: data || undefined,\n isLoading,\n }\n}\n"],"mappings":";;;;;;;AAcA,MAAa,kBACX,SACA,YACA,SACA,aAIG;CACH,MAAM,cAAc,eAAe;CACnC,MAAM,EAAE,QAAQ,cAAc,cAAc,gBAAgB;CAC5D,MAAM,YAAY,aAAa;CAE/B,MAAM,EAAE,MAAM,cAAc,SAAS;EACnC,UAAU;GAAC,YAAY,gBAAgB,SAAS;GAAG;GAAS;EAAU;EACtE,SAAS,OAAO,EAAE,UAAU,GAAG,SAAS,aAAa,aAAa;GAChE,MAAM,QAAQ,MAAM,SAClB,WACA,SACA,YACA,EACE,OACF,CACF;GAEA,IAAI,OAAO;IAcT,IACE,CAAC,kBAAkB,OAbQ,kBAC3B,eACC,WACC,IAAI,IACF,OACG,QAAQ,MAAM,EAAE,YAAY,MAAM,OAAO,EACzC,KAAK,MAAM,EAAE,QAAQ,YAAY,CAAC,CACvC,GACF,QAK6C,GAAG,WAAW,MACzD,EAAE,QAAQ,YAAY,CACxB,GAEA,OAAO;IAIT,YAAY,eACV,EAAE,UAAU,CAAC,YAAY,UAAU,SAAS,CAAC,EAAE,IAC9C,SAAS;KACR,IAAI,CAAC,MACH,OAAO;KAET,MAAM,cAAc,KAAK;KACzB,IACE,aAAa,MACV,MAAM,EAAE,QAAQ,YAAY,MAAM,MAAM,QAAQ,YAAY,CAC/D,GAEA,OAAO;KAGT,OAAO;MACL,GAAG;OACF,UAAoB,CACnB,GAAI,eAAe,CAAC,GACpB;OAAE,GAAG;OAAO,UAAU;MAAM,CAC9B;KACF;IACF,CACF;GACF;GACA,OAAO;EACT;EAEA,SAAS,QAAQ,WAAW,cAAc,OAAO;EACjD,OAAO;CACT,CAAC;CACD,OAAO;EACL,OAAO,QAAQ,KAAA;EACf;CACF;AACF"}
@@ -0,0 +1,100 @@
1
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
+ import { isItemAllowed } from "../utils/item.js";
3
+ import { useSDKClient } from "../providers/SDKClientProvider.js";
4
+ import { getQueryKey } from "../utils/queries.js";
5
+ import { filterAllowedTokens, mergeVerifiedWithSearchTokens } from "../utils/token.js";
6
+ import { defaultChainIdsByType } from "../utils/chainType.js";
7
+ import { ChainType, getToken, getTokens } from "@lifi/sdk";
8
+ import { useMemo } from "react";
9
+ import { useQuery } from "@tanstack/react-query";
10
+ import { useChainTypeFromAddress } from "@lifi/widget-provider";
11
+ //#region src/hooks/useTokens.ts
12
+ const refetchInterval = 3e5;
13
+ const useTokens = (formType, search, chainId) => {
14
+ const { tokens: configTokens, chains: chainsConfig, keyPrefix } = useWidgetConfig();
15
+ const sdkClient = useSDKClient();
16
+ const { getChainTypeFromAddress } = useChainTypeFromAddress();
17
+ const { data: verifiedTokens, isLoading } = useQuery({
18
+ queryKey: [getQueryKey("tokens", keyPrefix)],
19
+ queryFn: async ({ signal }) => {
20
+ const tokensResponse = await getTokens(sdkClient, {
21
+ chainTypes: [
22
+ ChainType.EVM,
23
+ ChainType.SVM,
24
+ ChainType.UTXO,
25
+ ChainType.MVM,
26
+ ChainType.TVM
27
+ ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types)),
28
+ orderBy: "volumeUSD24H",
29
+ extended: true,
30
+ limit: 1e3,
31
+ minPriceUSD: 1e-6
32
+ }, { signal });
33
+ return Object.fromEntries(Object.entries(tokensResponse.tokens).map(([chainId, tokens]) => [chainId, tokens.map((token) => ({
34
+ ...token,
35
+ verified: true
36
+ }))]));
37
+ },
38
+ refetchInterval,
39
+ staleTime: refetchInterval
40
+ });
41
+ const { data: searchTokens, isLoading: isSearchLoading } = useQuery({
42
+ queryKey: [
43
+ getQueryKey("tokens-search", keyPrefix),
44
+ search,
45
+ chainId
46
+ ],
47
+ queryFn: async ({ queryKey, signal }) => {
48
+ const [, searchQuery, searchChainId] = queryKey;
49
+ const tokensResponse = await getTokens(sdkClient, {
50
+ chainTypes: [
51
+ ChainType.EVM,
52
+ ChainType.SVM,
53
+ ChainType.UTXO,
54
+ ChainType.MVM,
55
+ ChainType.TVM
56
+ ].filter((chainType) => isItemAllowed(chainType, chainsConfig?.types)),
57
+ orderBy: "volumeUSD24H",
58
+ extended: true,
59
+ search: searchQuery,
60
+ limit: 1e3,
61
+ minPriceUSD: 1e-6
62
+ }, { signal });
63
+ let _chainId = searchChainId;
64
+ if (!_chainId) {
65
+ const chainType = getChainTypeFromAddress(searchQuery);
66
+ if (chainType && chainType in defaultChainIdsByType) _chainId = defaultChainIdsByType[chainType];
67
+ }
68
+ if (_chainId && searchQuery) {
69
+ if (!(tokensResponse.tokens[_chainId] || []).length) {
70
+ const token = await getToken(sdkClient, _chainId, searchQuery, { signal });
71
+ if (token) tokensResponse.tokens[_chainId] = [token];
72
+ }
73
+ }
74
+ return Object.fromEntries(Object.entries(tokensResponse.tokens).map(([chainId, tokens]) => [chainId, tokens.map((token) => ({
75
+ ...token,
76
+ verified: false
77
+ }))]));
78
+ },
79
+ enabled: !!search,
80
+ refetchInterval,
81
+ staleTime: refetchInterval
82
+ });
83
+ return {
84
+ allTokens: useMemo(() => {
85
+ return filterAllowedTokens(mergeVerifiedWithSearchTokens(verifiedTokens, searchTokens), configTokens, chainsConfig, formType);
86
+ }, [
87
+ verifiedTokens,
88
+ searchTokens,
89
+ configTokens,
90
+ chainsConfig,
91
+ formType
92
+ ]),
93
+ isLoading,
94
+ isSearchLoading
95
+ };
96
+ };
97
+ //#endregion
98
+ export { useTokens };
99
+
100
+ //# sourceMappingURL=useTokens.js.map
@@ -0,0 +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;GAS7B,MAAM,iBAAyC,MAAM,UACnD,WACA;IACE,YAXe;KACjB,UAAU;KACV,UAAU;KACV,UAAU;KACV,UAAU;KACV,UAAU;IACZ,EAAE,QAAQ,cAAc,cAAc,WAAW,cAAc,KAAK,CAKvD;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,aAAa;GACf,GACA,EAAE,OAAO,CACX;GAUA,OAP8B,OAAO,YACnC,OAAO,QAAQ,eAAe,MAAM,EAAE,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;GAavC,MAAM,iBAAyC,MAAM,UACnD,WACA;IACE,YAXe;KACjB,UAAU;KACV,UAAU;KACV,UAAU;KACV,UAAU;KACV,UAAU;IACZ,EAAE,QAAQ,cAAc,cAAc,WAAW,cAAc,KAAK,CAKvD;IACT,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,GACvC,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,EAAE,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,42 @@
1
+ import { useSettingsStoreContext } from "../stores/settings/SettingsStore.js";
2
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
3
+ import { getConfigItemSets, isItemAllowedForSets } from "../utils/item.js";
4
+ import { useSDKClient } from "../providers/SDKClientProvider.js";
5
+ import { getQueryKey } from "../utils/queries.js";
6
+ import { getTools } from "@lifi/sdk";
7
+ import { useQuery } from "@tanstack/react-query";
8
+ //#region src/hooks/useTools.ts
9
+ const useTools = () => {
10
+ const { bridges, exchanges, keyPrefix } = useWidgetConfig();
11
+ const settingsStore = useSettingsStoreContext();
12
+ const sdkClient = useSDKClient();
13
+ const { data } = useQuery({
14
+ queryKey: [
15
+ getQueryKey("tools", keyPrefix),
16
+ bridges?.allow,
17
+ bridges?.deny,
18
+ exchanges?.allow,
19
+ exchanges?.deny
20
+ ],
21
+ queryFn: async () => {
22
+ const tools = await getTools(sdkClient);
23
+ const bridgesConfigSets = getConfigItemSets(bridges, (bridges) => new Set(bridges));
24
+ const exchangesConfigSets = getConfigItemSets(exchanges, (exchanges) => new Set(exchanges));
25
+ const result = {
26
+ bridges: tools.bridges.filter((bridge) => isItemAllowedForSets(bridge.key, bridgesConfigSets)),
27
+ exchanges: tools.exchanges.filter((exchange) => isItemAllowedForSets(exchange.key, exchangesConfigSets))
28
+ };
29
+ const { initializeTools } = settingsStore.getState();
30
+ initializeTools("Bridges", result.bridges.map((bridge) => bridge.key));
31
+ initializeTools("Exchanges", result.exchanges.map((exchange) => exchange.key));
32
+ return result;
33
+ },
34
+ refetchInterval: 18e4,
35
+ staleTime: 18e4
36
+ });
37
+ return { tools: data };
38
+ };
39
+ //#endregion
40
+ export { useTools };
41
+
42
+ //# sourceMappingURL=useTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTools.js","names":[],"sources":["../../../src/hooks/useTools.ts"],"sourcesContent":["import { getTools, type ToolsResponse } from '@lifi/sdk'\nimport { useQuery } from '@tanstack/react-query'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport { useSettingsStoreContext } from '../stores/settings/SettingsStore.js'\nimport { getConfigItemSets, isItemAllowedForSets } from '../utils/item.js'\nimport { getQueryKey } from '../utils/queries.js'\n\nexport const useTools = (): { tools: ToolsResponse | undefined } => {\n const { bridges, exchanges, keyPrefix } = useWidgetConfig()\n const settingsStore = useSettingsStoreContext()\n const sdkClient = useSDKClient()\n\n const { data } = useQuery({\n queryKey: [\n getQueryKey('tools', keyPrefix),\n bridges?.allow,\n bridges?.deny,\n exchanges?.allow,\n exchanges?.deny,\n ],\n queryFn: async (): Promise<ToolsResponse> => {\n const tools = await getTools(sdkClient)\n const bridgesConfigSets = getConfigItemSets(\n bridges,\n (bridges) => new Set(bridges)\n )\n const exchangesConfigSets = getConfigItemSets(\n exchanges,\n (exchanges) => new Set(exchanges)\n )\n const result = {\n bridges: tools.bridges.filter((bridge) =>\n isItemAllowedForSets(bridge.key, bridgesConfigSets)\n ),\n exchanges: tools.exchanges.filter((exchange) =>\n isItemAllowedForSets(exchange.key, exchangesConfigSets)\n ),\n }\n const { initializeTools } = settingsStore.getState()\n initializeTools(\n 'Bridges',\n result.bridges.map((bridge) => bridge.key)\n )\n initializeTools(\n 'Exchanges',\n result.exchanges.map((exchange) => exchange.key)\n )\n return result\n },\n refetchInterval: 180_000,\n staleTime: 180_000,\n })\n\n return { tools: data }\n}\n"],"mappings":";;;;;;;;AAQA,MAAa,iBAAuD;CAClE,MAAM,EAAE,SAAS,WAAW,cAAc,gBAAgB;CAC1D,MAAM,gBAAgB,wBAAwB;CAC9C,MAAM,YAAY,aAAa;CAE/B,MAAM,EAAE,SAAS,SAAS;EACxB,UAAU;GACR,YAAY,SAAS,SAAS;GAC9B,SAAS;GACT,SAAS;GACT,WAAW;GACX,WAAW;EACb;EACA,SAAS,YAAoC;GAC3C,MAAM,QAAQ,MAAM,SAAS,SAAS;GACtC,MAAM,oBAAoB,kBACxB,UACC,YAAY,IAAI,IAAI,OAAO,CAC9B;GACA,MAAM,sBAAsB,kBAC1B,YACC,cAAc,IAAI,IAAI,SAAS,CAClC;GACA,MAAM,SAAS;IACb,SAAS,MAAM,QAAQ,QAAQ,WAC7B,qBAAqB,OAAO,KAAK,iBAAiB,CACpD;IACA,WAAW,MAAM,UAAU,QAAQ,aACjC,qBAAqB,SAAS,KAAK,mBAAmB,CACxD;GACF;GACA,MAAM,EAAE,oBAAoB,cAAc,SAAS;GACnD,gBACE,WACA,OAAO,QAAQ,KAAK,WAAW,OAAO,GAAG,CAC3C;GACA,gBACE,aACA,OAAO,UAAU,KAAK,aAAa,SAAS,GAAG,CACjD;GACA,OAAO;EACT;EACA,iBAAiB;EACjB,WAAW;CACb,CAAC;CAED,OAAO,EAAE,OAAO,KAAK;AACvB"}
@@ -0,0 +1,49 @@
1
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
+ import { useSDKClient } from "../providers/SDKClientProvider.js";
3
+ import { getQueryKey } from "../utils/queries.js";
4
+ import { getStatus } from "@lifi/sdk";
5
+ import { useMemo } from "react";
6
+ import { keepPreviousData, useQuery, useQueryClient } from "@tanstack/react-query";
7
+ import { useAccount } from "@lifi/wallet-management";
8
+ //#region src/hooks/useTransactionDetails.ts
9
+ const useTransactionDetails = (transactionHash) => {
10
+ const { account, accounts } = useAccount();
11
+ const queryClient = useQueryClient();
12
+ const { keyPrefix } = useWidgetConfig();
13
+ const sdkClient = useSDKClient();
14
+ const transactionHistoryQueryKey = useMemo(() => getQueryKey("transaction-history", keyPrefix), [keyPrefix]);
15
+ const { data, isLoading } = useQuery({
16
+ queryKey: [transactionHistoryQueryKey, transactionHash],
17
+ queryFn: async ({ queryKey: [, transactionHash], signal }) => {
18
+ if (transactionHash) {
19
+ for (const account of accounts) {
20
+ const transaction = queryClient.getQueryData([transactionHistoryQueryKey, account.address])?.find((t) => t.sending.txHash === transactionHash);
21
+ if (transaction) return transaction;
22
+ }
23
+ const transaction = await getStatus(sdkClient, { txHash: transactionHash }, { signal });
24
+ const fromAddress = transaction?.fromAddress;
25
+ if (fromAddress) queryClient.setQueryData([transactionHistoryQueryKey, fromAddress], (data) => {
26
+ return [...data, transaction];
27
+ });
28
+ return transaction;
29
+ }
30
+ },
31
+ refetchInterval: 3e5,
32
+ enabled: account.isConnected && Boolean(transactionHash),
33
+ initialData: () => {
34
+ for (const account of accounts) {
35
+ const transaction = queryClient.getQueryData([transactionHistoryQueryKey, account.address])?.find((t) => t.sending.txHash === transactionHash);
36
+ if (transaction) return transaction;
37
+ }
38
+ },
39
+ placeholderData: keepPreviousData
40
+ });
41
+ return {
42
+ transaction: data,
43
+ isLoading
44
+ };
45
+ };
46
+ //#endregion
47
+ export { useTransactionDetails };
48
+
49
+ //# sourceMappingURL=useTransactionDetails.js.map
@@ -0,0 +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,GAAG,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,GACC,MAAM,MAAM,EAAE,QAAQ,WAAW,eAAe;IACpD,IAAI,aACF,OAAO;GAEX;EACF;EACA,iBAAiB;CACnB,CAAC;CAED,OAAO;EACL,aAAa;EACb;CACF;AACF"}
@@ -0,0 +1,68 @@
1
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
+ import { useSDKClient } from "../providers/SDKClientProvider.js";
3
+ import { getQueryKey } from "../utils/queries.js";
4
+ import { getSourceTxHash } from "../stores/routes/utils.js";
5
+ import { useRouteExecutionStoreContext } from "../stores/routes/RouteExecutionStore.js";
6
+ import { useTools } from "./useTools.js";
7
+ import { buildRouteFromTxHistory } from "../utils/converters.js";
8
+ import { getTransactionHistory } from "@lifi/sdk";
9
+ import { useEffect, useMemo } from "react";
10
+ import { useQueries } from "@tanstack/react-query";
11
+ import { useAccount } from "@lifi/wallet-management";
12
+ //#region src/hooks/useTransactionHistory.ts
13
+ const useTransactionHistory = () => {
14
+ const store = useRouteExecutionStoreContext();
15
+ const { accounts } = useAccount();
16
+ const { keyPrefix } = useWidgetConfig();
17
+ const sdkClient = useSDKClient();
18
+ const { tools } = useTools();
19
+ const { data: routeExecutions, isLoading } = useQueries({
20
+ queries: accounts.map((account) => ({
21
+ queryKey: [getQueryKey("transaction-history", keyPrefix), account.address],
22
+ queryFn: (async ({ queryKey: [, accountAddress], signal }) => {
23
+ if (!accountAddress) return [];
24
+ const date = /* @__PURE__ */ new Date();
25
+ date.setFullYear(date.getFullYear() - 10);
26
+ return (await getTransactionHistory(sdkClient, {
27
+ wallet: accountAddress,
28
+ fromTimestamp: Math.floor(date.getTime() / 1e3),
29
+ toTimestamp: Math.floor(Date.now() / 1e3)
30
+ }, { signal })).transfers;
31
+ }),
32
+ refetchInterval: 3e5,
33
+ enabled: Boolean(account.address)
34
+ })),
35
+ combine: (results) => {
36
+ const uniqueTransactions = /* @__PURE__ */ new Map();
37
+ results.forEach((result) => {
38
+ if (result.data) result.data.forEach((transaction) => {
39
+ if (transaction?.transactionId && transaction?.receiving?.chainId && transaction?.sending.chainId) uniqueTransactions.set(transaction.transactionId, transaction);
40
+ });
41
+ });
42
+ return {
43
+ data: Array.from(uniqueTransactions.values()).flatMap((transaction) => {
44
+ const routeExecution = buildRouteFromTxHistory(transaction, tools);
45
+ return routeExecution ? [routeExecution] : [];
46
+ }),
47
+ isLoading: results.some((result) => result.isLoading)
48
+ };
49
+ }
50
+ });
51
+ const apiTxHashes = useMemo(() => new Set(routeExecutions.map((r) => getSourceTxHash(r.route))), [routeExecutions]);
52
+ useEffect(() => {
53
+ if (!apiTxHashes.size) return;
54
+ const { routes, deleteRoute } = store.getState();
55
+ for (const [id, routeExecution] of Object.entries(routes)) {
56
+ const txHash = getSourceTxHash(routeExecution?.route);
57
+ if (txHash && apiTxHashes.has(txHash)) deleteRoute(id);
58
+ }
59
+ }, [apiTxHashes, store]);
60
+ return {
61
+ data: routeExecutions,
62
+ isLoading
63
+ };
64
+ };
65
+ //#endregion
66
+ export { useTransactionHistory };
67
+
68
+ //# sourceMappingURL=useTransactionHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTransactionHistory.js","names":[],"sources":["../../../src/hooks/useTransactionHistory.ts"],"sourcesContent":["import type { FullStatusData, StatusResponse } from '@lifi/sdk'\nimport { getTransactionHistory } from '@lifi/sdk'\nimport { useAccount } from '@lifi/wallet-management'\nimport type { QueryFunction } from '@tanstack/react-query'\nimport { useQueries } from '@tanstack/react-query'\nimport { useEffect, useMemo } from 'react'\nimport { useSDKClient } from '../providers/SDKClientProvider.js'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\nimport { useRouteExecutionStoreContext } from '../stores/routes/RouteExecutionStore.js'\nimport type {\n RouteExecution,\n RouteExecutionState,\n} from '../stores/routes/types.js'\nimport { getSourceTxHash } from '../stores/routes/utils.js'\nimport { buildRouteFromTxHistory } from '../utils/converters.js'\nimport { getQueryKey } from '../utils/queries.js'\nimport { useTools } from './useTools.js'\n\nexport const useTransactionHistory = (): {\n data: RouteExecution[]\n isLoading: boolean\n} => {\n const store = useRouteExecutionStoreContext()\n const { accounts } = useAccount()\n const { keyPrefix } = useWidgetConfig()\n const sdkClient = useSDKClient()\n const { tools } = useTools()\n\n const { data: routeExecutions, isLoading } = useQueries({\n queries: accounts.map((account) => ({\n queryKey: [\n getQueryKey('transaction-history', keyPrefix),\n account.address,\n ],\n queryFn: (async ({ queryKey: [, accountAddress], signal }) => {\n if (!accountAddress) {\n return []\n }\n const date = new Date()\n date.setFullYear(date.getFullYear() - 10)\n\n const response = await getTransactionHistory(\n sdkClient,\n {\n wallet: accountAddress,\n fromTimestamp: Math.floor(date.getTime() / 1000),\n toTimestamp: Math.floor(Date.now() / 1000),\n },\n { signal }\n )\n\n return response.transfers\n }) as QueryFunction<StatusResponse[], (string | undefined)[], never>,\n refetchInterval: 300_000,\n enabled: Boolean(account.address),\n })),\n combine: (results) => {\n const uniqueTransactions = new Map<string, StatusResponse>()\n results.forEach((result) => {\n if (result.data) {\n result.data.forEach((transaction) => {\n if (\n (transaction as FullStatusData)?.transactionId &&\n (transaction as FullStatusData)?.receiving?.chainId &&\n transaction?.sending.chainId\n ) {\n uniqueTransactions.set(\n (transaction as FullStatusData).transactionId,\n transaction\n )\n }\n })\n }\n })\n // Convert raw API transactions into RouteExecution objects.\n const data = Array.from(uniqueTransactions.values()).flatMap(\n (transaction) => {\n const routeExecution = buildRouteFromTxHistory(\n transaction as FullStatusData,\n tools\n )\n return routeExecution ? [routeExecution] : []\n }\n )\n return {\n data,\n isLoading: results.some((result) => result.isLoading),\n }\n },\n })\n\n // Stable Set — only recreated when data actually changes (TanStack Query structural sharing).\n const apiTxHashes = useMemo(\n () => new Set(routeExecutions.map((r) => getSourceTxHash(r.route))),\n [routeExecutions]\n )\n\n // Remove local store routes already indexed by the API to avoid duplicates.\n // Must be in an effect — combine runs during render, so store mutations there\n // would trigger \"Cannot update a component while rendering\" in concurrent mode.\n useEffect(() => {\n if (!apiTxHashes.size) {\n return\n }\n const { routes, deleteRoute } = store.getState() as RouteExecutionState\n for (const [id, routeExecution] of Object.entries(routes)) {\n const txHash = getSourceTxHash(\n (routeExecution as RouteExecution | undefined)?.route\n )\n if (txHash && apiTxHashes.has(txHash)) {\n deleteRoute(id)\n }\n }\n }, [apiTxHashes, store])\n\n return {\n data: routeExecutions,\n isLoading,\n }\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,MAAa,8BAGR;CACH,MAAM,QAAQ,8BAA8B;CAC5C,MAAM,EAAE,aAAa,WAAW;CAChC,MAAM,EAAE,cAAc,gBAAgB;CACtC,MAAM,YAAY,aAAa;CAC/B,MAAM,EAAE,UAAU,SAAS;CAE3B,MAAM,EAAE,MAAM,iBAAiB,cAAc,WAAW;EACtD,SAAS,SAAS,KAAK,aAAa;GAClC,UAAU,CACR,YAAY,uBAAuB,SAAS,GAC5C,QAAQ,OACV;GACA,UAAU,OAAO,EAAE,UAAU,GAAG,iBAAiB,aAAa;IAC5D,IAAI,CAAC,gBACH,OAAO,CAAC;IAEV,MAAM,uBAAO,IAAI,KAAK;IACtB,KAAK,YAAY,KAAK,YAAY,IAAI,EAAE;IAYxC,QAAO,MAVgB,sBACrB,WACA;KACE,QAAQ;KACR,eAAe,KAAK,MAAM,KAAK,QAAQ,IAAI,GAAI;KAC/C,aAAa,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;IAC3C,GACA,EAAE,OAAO,CACX,GAEgB;GAClB;GACA,iBAAiB;GACjB,SAAS,QAAQ,QAAQ,OAAO;EAClC,EAAE;EACF,UAAU,YAAY;GACpB,MAAM,qCAAqB,IAAI,IAA4B;GAC3D,QAAQ,SAAS,WAAW;IAC1B,IAAI,OAAO,MACT,OAAO,KAAK,SAAS,gBAAgB;KACnC,IACG,aAAgC,iBAChC,aAAgC,WAAW,WAC5C,aAAa,QAAQ,SAErB,mBAAmB,IAChB,YAA+B,eAChC,WACF;IAEJ,CAAC;GAEL,CAAC;GAWD,OAAO;IACL,MAVW,MAAM,KAAK,mBAAmB,OAAO,CAAC,EAAE,SAClD,gBAAgB;KACf,MAAM,iBAAiB,wBACrB,aACA,KACF;KACA,OAAO,iBAAiB,CAAC,cAAc,IAAI,CAAC;IAC9C,CAGG;IACH,WAAW,QAAQ,MAAM,WAAW,OAAO,SAAS;GACtD;EACF;CACF,CAAC;CAGD,MAAM,cAAc,cACZ,IAAI,IAAI,gBAAgB,KAAK,MAAM,gBAAgB,EAAE,KAAK,CAAC,CAAC,GAClE,CAAC,eAAe,CAClB;CAKA,gBAAgB;EACd,IAAI,CAAC,YAAY,MACf;EAEF,MAAM,EAAE,QAAQ,gBAAgB,MAAM,SAAS;EAC/C,KAAK,MAAM,CAAC,IAAI,mBAAmB,OAAO,QAAQ,MAAM,GAAG;GACzD,MAAM,SAAS,gBACZ,gBAA+C,KAClD;GACA,IAAI,UAAU,YAAY,IAAI,MAAM,GAClC,YAAY,EAAE;EAElB;CACF,GAAG,CAAC,aAAa,KAAK,CAAC;CAEvB,OAAO;EACL,MAAM;EACN;CACF;AACF"}
@@ -0,0 +1,57 @@
1
+ import { hasEnumFlag } from "../utils/enum.js";
2
+ import { getSourceTxHash } from "../stores/routes/utils.js";
3
+ import { useRouteExecutionStore } from "../stores/routes/RouteExecutionStore.js";
4
+ import { useTransactionHistory } from "./useTransactionHistory.js";
5
+ import { useMemo } from "react";
6
+ import { useAccount } from "@lifi/wallet-management";
7
+ //#region src/hooks/useTransactionList.ts
8
+ const routesSelector = (state) => state.routes;
9
+ const useTransactionList = () => {
10
+ const { accounts } = useAccount();
11
+ const accountAddresses = useMemo(() => accounts.map((account) => account.address), [accounts]);
12
+ const { data: apiRouteExecutions, isLoading } = useTransactionHistory();
13
+ const routes = useRouteExecutionStore(routesSelector);
14
+ return {
15
+ items: useMemo(() => {
16
+ const apiTxHashes = new Set(apiRouteExecutions.map((r) => getSourceTxHash(r.route)));
17
+ const activeItems = [];
18
+ const localItems = [];
19
+ for (const r of Object.values(routes)) {
20
+ if (!accountAddresses.includes(r.route.fromAddress)) continue;
21
+ if (apiTxHashes.has(getSourceTxHash(r.route))) continue;
22
+ const startedAt = r.route.steps[0]?.execution?.startedAt ?? 0;
23
+ if (r.status === 2 || r.status === 8) activeItems.push({
24
+ type: "active",
25
+ routeId: r.route.id,
26
+ startedAt
27
+ });
28
+ else if (hasEnumFlag(r.status, 4)) localItems.push({
29
+ type: "local",
30
+ routeExecution: r,
31
+ txHash: getSourceTxHash(r.route) ?? "",
32
+ startedAt
33
+ });
34
+ }
35
+ const historyItems = apiRouteExecutions.map((routeExecution) => ({
36
+ type: "history",
37
+ routeExecution,
38
+ txHash: getSourceTxHash(routeExecution.route) ?? "",
39
+ startedAt: routeExecution.route.steps[0]?.execution?.startedAt ?? 0
40
+ }));
41
+ return [
42
+ ...activeItems,
43
+ ...localItems,
44
+ ...historyItems
45
+ ].sort((a, b) => b.startedAt - a.startedAt);
46
+ }, [
47
+ accountAddresses,
48
+ apiRouteExecutions,
49
+ routes
50
+ ]),
51
+ isLoading
52
+ };
53
+ };
54
+ //#endregion
55
+ export { useTransactionList };
56
+
57
+ //# sourceMappingURL=useTransactionList.js.map
@@ -0,0 +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,IAAI,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,IAAI,WAAW,aAAa;GACpE,EACF;GAEA,OAAO;IAAC,GAAG;IAAa,GAAG;IAAY,GAAG;GAAY,EAAE,MACrD,GAAG,MAAM,EAAE,YAAY,EAAE,SAC5B;EACF,GAAG;GAAC;GAAkB;GAAoB;EAAM,CAEnC;EAAG;CAAU;AAC5B"}
@@ -0,0 +1,13 @@
1
+ import { useWidgetConfig } from "../providers/WidgetProvider/WidgetProvider.js";
2
+ import { useMediaQuery } from "@mui/material";
3
+ //#region src/hooks/useWideVariant.ts
4
+ const defaultExpandableWidth = 852;
5
+ const useWideVariant = () => {
6
+ const { variant, showSingleRoute } = useWidgetConfig();
7
+ const expandableAllowed = useMediaQuery((theme) => theme.breakpoints.up(defaultExpandableWidth));
8
+ return variant === "wide" && expandableAllowed && !showSingleRoute;
9
+ };
10
+ //#endregion
11
+ export { useWideVariant };
12
+
13
+ //# sourceMappingURL=useWideVariant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWideVariant.js","names":[],"sources":["../../../src/hooks/useWideVariant.ts"],"sourcesContent":["import type { Theme } from '@mui/material'\nimport { useMediaQuery } from '@mui/material'\nimport { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider.js'\n\nconst defaultExpandableWidth = 852\n\nexport const useWideVariant = (): boolean => {\n const { variant, showSingleRoute } = useWidgetConfig()\n const expandableAllowed = useMediaQuery((theme: Theme) =>\n theme.breakpoints.up(defaultExpandableWidth)\n )\n return variant === 'wide' && expandableAllowed && !showSingleRoute\n}\n"],"mappings":";;;AAIA,MAAM,yBAAyB;AAE/B,MAAa,uBAAgC;CAC3C,MAAM,EAAE,SAAS,oBAAoB,gBAAgB;CACrD,MAAM,oBAAoB,eAAe,UACvC,MAAM,YAAY,GAAG,sBAAsB,CAC7C;CACA,OAAO,YAAY,UAAU,qBAAqB,CAAC;AACrD"}
@@ -0,0 +1,12 @@
1
+ import { WidgetConfig } from "../types/widget.js";
2
+ import { ExtendedChain } from "@lifi/sdk";
3
+
4
+ //#region src/hooks/useWidgetChains.d.ts
5
+ declare const useWidgetChains: (widgetConfig: WidgetConfig) => {
6
+ chains: ExtendedChain[] | undefined;
7
+ getChainById: (chainId?: number, chains?: ExtendedChain[]) => ExtendedChain | undefined;
8
+ isLoading: boolean;
9
+ };
10
+ //#endregion
11
+ export { useWidgetChains };
12
+ //# sourceMappingURL=useWidgetChains.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,9 @@
1
+ import { useAvailableChains } from "./useAvailableChains.js";
2
+ //#region src/hooks/useWidgetChains.ts
3
+ const useWidgetChains = (widgetConfig) => {
4
+ return useAvailableChains(void 0, widgetConfig);
5
+ };
6
+ //#endregion
7
+ export { useWidgetChains };
8
+
9
+ //# sourceMappingURL=useWidgetChains.js.map