@velora-dex/widget 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (592) hide show
  1. package/dist/_virtual/index.js +1 -1
  2. package/dist/components/ui/accordion.d.ts +3 -1
  3. package/dist/components/ui/accordion.d.ts.map +1 -1
  4. package/dist/components/ui/accordion.js +42 -27
  5. package/dist/components/ui/accordion.js.map +1 -1
  6. package/dist/components/ui/button.js.map +1 -1
  7. package/dist/components/ui/dialog.js.map +1 -1
  8. package/dist/components/ui/dropdown-menu.js.map +1 -1
  9. package/dist/components/ui/progress.js.map +1 -1
  10. package/dist/components/ui/sonner.js.map +1 -1
  11. package/dist/components/ui/tooltip.js.map +1 -1
  12. package/dist/components/web3/AccountButton.js.map +1 -1
  13. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  14. package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
  15. package/dist/components/web3/ConnectWallets/index.js +43 -35
  16. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  17. package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
  18. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  19. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  20. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  21. package/dist/components/web3/providers.d.ts +3 -0
  22. package/dist/components/web3/providers.d.ts.map +1 -1
  23. package/dist/components/web3/providers.js +18 -3
  24. package/dist/components/web3/providers.js.map +1 -1
  25. package/dist/components/widget/AppHeader/Activities/Activities.js +4 -12
  26. package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
  27. package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
  28. package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
  29. package/dist/components/widget/AppHeader/Activities/Drawers.js +33 -29
  30. package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
  31. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  32. package/dist/components/widget/AppHeader/Activities/hooks.js +193 -106
  33. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  34. package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
  35. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  36. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  37. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +67 -42
  38. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  39. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  40. package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
  41. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  42. package/dist/components/widget/DexesList/DexesList.js +3 -14
  43. package/dist/components/widget/DexesList/DexesList.js.map +1 -1
  44. package/dist/components/widget/Dialog/DialogRoot.js.map +1 -1
  45. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +131 -115
  46. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  47. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
  48. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  49. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +211 -203
  50. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  51. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
  52. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  53. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
  54. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  55. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  56. package/dist/components/widget/Dialog/state/dialogAtom.js +24 -26
  57. package/dist/components/widget/Dialog/state/dialogAtom.js.map +1 -1
  58. package/dist/components/widget/Drawer/Overlay.js.map +1 -1
  59. package/dist/components/widget/Drawer/index.js.map +1 -1
  60. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  61. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  62. package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
  63. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  64. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  65. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +84 -66
  66. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  67. package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
  68. package/dist/components/widget/Line/Line.js.map +1 -1
  69. package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
  70. package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
  71. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js +28 -30
  72. package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
  73. package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
  74. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
  75. package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
  76. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/Controls.js.map +1 -1
  77. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  78. package/dist/components/widget/OtcOrdersDrawer/OtcOrderListItem.js.map +1 -1
  79. package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
  80. package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
  81. package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
  82. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  83. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +10 -3
  84. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  85. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  86. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.d.ts.map +1 -1
  87. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js +37 -39
  88. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  89. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  90. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  91. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  92. package/dist/components/widget/SwapRate/SwapRate.js +75 -43
  93. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  94. package/dist/components/widget/Tabs/Tabs.js.map +1 -1
  95. package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
  96. package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
  97. package/dist/components/widget/TokenInput/EmptyInput.d.ts +1 -1
  98. package/dist/components/widget/TokenInput/EmptyInput.d.ts.map +1 -1
  99. package/dist/components/widget/TokenInput/EmptyInput.js +16 -14
  100. package/dist/components/widget/TokenInput/EmptyInput.js.map +1 -1
  101. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  102. package/dist/components/widget/TokenInput/index.js +92 -91
  103. package/dist/components/widget/TokenInput/index.js.map +1 -1
  104. package/dist/components/widget/TokenSwitcher/TokenSwitcher.d.ts.map +1 -1
  105. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +34 -31
  106. package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
  107. package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
  108. package/dist/components/widget/TradeOverview/Stepper.js +23 -38
  109. package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
  110. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
  111. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +36 -27
  112. package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
  113. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +79 -36
  114. package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
  115. package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
  116. package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -0
  117. package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
  118. package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
  119. package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
  120. package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
  121. package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
  122. package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
  123. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  124. package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
  125. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  126. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  127. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  128. package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
  129. package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
  130. package/dist/components/widget/TransactionDetails/TransactionListItem.js +57 -38
  131. package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
  132. package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
  133. package/dist/components/widget/Warning/Warning.js.map +1 -1
  134. package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
  135. package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
  136. package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
  137. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +72 -90
  138. package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
  139. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  140. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +141 -84
  141. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  142. package/dist/components/widget/YouGet/YouGet.js.map +1 -1
  143. package/dist/configurator/Configurator.d.ts.map +1 -1
  144. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts +5 -0
  145. package/dist/configurator/components/AllowNoUsdPricesSwitcher.d.ts.map +1 -0
  146. package/dist/configurator/components/CrossChainSwitcher.d.ts +5 -0
  147. package/dist/configurator/components/CrossChainSwitcher.d.ts.map +1 -0
  148. package/dist/configurator/components/DeltaSwitcher.d.ts +5 -0
  149. package/dist/configurator/components/DeltaSwitcher.d.ts.map +1 -0
  150. package/dist/configurator/components/DevTools.d.ts +7 -0
  151. package/dist/configurator/components/DevTools.d.ts.map +1 -0
  152. package/dist/configurator/components/EnabledChainsSelector.d.ts +8 -0
  153. package/dist/configurator/components/EnabledChainsSelector.d.ts.map +1 -0
  154. package/dist/configurator/components/FormPropsInputs.d.ts +6 -0
  155. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -0
  156. package/dist/configurator/components/PanelHeader.d.ts +6 -0
  157. package/dist/configurator/components/PanelHeader.d.ts.map +1 -0
  158. package/dist/configurator/components/PartnerInput.d.ts +5 -0
  159. package/dist/configurator/components/PartnerInput.d.ts.map +1 -0
  160. package/dist/configurator/components/PrivyInputs.d.ts +7 -0
  161. package/dist/configurator/components/PrivyInputs.d.ts.map +1 -0
  162. package/dist/configurator/components/ThemeSwitcher.d.ts +6 -0
  163. package/dist/configurator/components/ThemeSwitcher.d.ts.map +1 -0
  164. package/dist/configurator/components/TokenListsInput.d.ts +5 -0
  165. package/dist/configurator/components/TokenListsInput.d.ts.map +1 -0
  166. package/dist/configurator/components/TradeModesSelector.d.ts +7 -0
  167. package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -0
  168. package/dist/configurator/components/WidgetModeSwitcher.d.ts +5 -0
  169. package/dist/configurator/components/WidgetModeSwitcher.d.ts.map +1 -0
  170. package/dist/configurator/components/common/DetailWithTooltip.d.ts +3 -0
  171. package/dist/configurator/components/common/DetailWithTooltip.d.ts.map +1 -0
  172. package/dist/configurator/components/common/Input.d.ts +8 -0
  173. package/dist/configurator/components/common/Input.d.ts.map +1 -0
  174. package/dist/configurator/components/common/Switch.d.ts +12 -0
  175. package/dist/configurator/components/common/Switch.d.ts.map +1 -0
  176. package/dist/configurator/state/themeAtom.d.ts +3 -0
  177. package/dist/configurator/state/themeAtom.d.ts.map +1 -0
  178. package/dist/core/ConnectWalletDrawerButton.js +53 -66
  179. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  180. package/dist/core/LimitOrderButton.js.map +1 -1
  181. package/dist/core/LimitOrderDetails.js.map +1 -1
  182. package/dist/core/OtcOrderButton.d.ts.map +1 -1
  183. package/dist/core/OtcOrderButton.js +4 -1
  184. package/dist/core/OtcOrderButton.js.map +1 -1
  185. package/dist/core/OtcOrderDetails.js.map +1 -1
  186. package/dist/core/Toaster.js.map +1 -1
  187. package/dist/core/TradeFlowButton.d.ts.map +1 -1
  188. package/dist/core/TradeFlowButton.js +414 -621
  189. package/dist/core/TradeFlowButton.js.map +1 -1
  190. package/dist/core/Updaters.d.ts.map +1 -1
  191. package/dist/core/Updaters.js +9 -5
  192. package/dist/core/Updaters.js.map +1 -1
  193. package/dist/core/Warnings.js.map +1 -1
  194. package/dist/core/across/utils.d.ts.map +1 -1
  195. package/dist/core/across/utils.js +4 -4
  196. package/dist/core/across/utils.js.map +1 -1
  197. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  198. package/dist/core/constants.d.ts +5 -0
  199. package/dist/core/constants.d.ts.map +1 -1
  200. package/dist/core/constants.js +11 -1
  201. package/dist/core/constants.js.map +1 -1
  202. package/dist/core/index.d.ts.map +1 -1
  203. package/dist/core/index.js +191 -120
  204. package/dist/core/index.js.map +1 -1
  205. package/dist/core/inputs/hooks/types.d.ts +1 -1
  206. package/dist/core/inputs/hooks/types.d.ts.map +1 -1
  207. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  208. package/dist/core/inputs/hooks/useTokenFromInputProps.js +119 -97
  209. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  210. package/dist/core/inputs/hooks/useTokenSwitcherProps.d.ts.map +1 -1
  211. package/dist/core/inputs/hooks/useTokenSwitcherProps.js +17 -7
  212. package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
  213. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  214. package/dist/core/inputs/hooks/useTokenToInputProps.js +84 -105
  215. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  216. package/dist/core/inputs/state/common.js.map +1 -1
  217. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts +1 -1
  218. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  219. package/dist/core/inputs/state/selectedTokenActionsAtom.js +58 -28
  220. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  221. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  222. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  223. package/dist/core/inputs/state/setTokenByAddressAtom.js +10 -9
  224. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  225. package/dist/core/inputs/state/subscriptions.d.ts.map +1 -1
  226. package/dist/core/inputs/state/subscriptions.js +2 -1
  227. package/dist/core/inputs/state/subscriptions.js.map +1 -1
  228. package/dist/core/limit/state/deadlineAtom.js.map +1 -1
  229. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  230. package/dist/core/limit/state/selectedTokenActionsAtom.js +3 -3
  231. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  232. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  233. package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
  234. package/dist/core/limit/useLimitNotSupported.js +12 -1
  235. package/dist/core/limit/useLimitNotSupported.js.map +1 -1
  236. package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
  237. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  238. package/dist/core/limit/useLimitRate.js.map +1 -1
  239. package/dist/core/limit/useLimitTokenFromInputProps.d.ts.map +1 -1
  240. package/dist/core/limit/useLimitTokenFromInputProps.js +104 -94
  241. package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
  242. package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
  243. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  244. package/dist/core/limit/useLimitTokenToInputProps.js +9 -20
  245. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  246. package/dist/core/logger.js +12 -14
  247. package/dist/core/logger.js.map +1 -1
  248. package/dist/core/otc/state/deadlineAtom.js.map +1 -1
  249. package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
  250. package/dist/core/otc/state/selectedTokenActionsAtom.d.ts.map +1 -1
  251. package/dist/core/otc/state/selectedTokenActionsAtom.js +3 -3
  252. package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
  253. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  254. package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
  255. package/dist/core/otc/useOtcNotSupported.js +12 -1
  256. package/dist/core/otc/useOtcNotSupported.js.map +1 -1
  257. package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
  258. package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
  259. package/dist/core/otc/useOtcTokenFromInputProps.d.ts.map +1 -1
  260. package/dist/core/otc/useOtcTokenFromInputProps.js +104 -94
  261. package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
  262. package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
  263. package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
  264. package/dist/core/otc/useOtcTokenToInputProps.js +9 -20
  265. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  266. package/dist/core/state/chainToAtom.js.map +1 -1
  267. package/dist/core/state/configActionsAtom.d.ts +5 -2
  268. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  269. package/dist/core/state/configActionsAtom.js +24 -12
  270. package/dist/core/state/configActionsAtom.js.map +1 -1
  271. package/dist/core/state/configAtom.d.ts +32 -10
  272. package/dist/core/state/configAtom.d.ts.map +1 -1
  273. package/dist/core/state/configAtom.js +16 -8
  274. package/dist/core/state/configAtom.js.map +1 -1
  275. package/dist/core/state/configEffectAtom.d.ts +5 -0
  276. package/dist/core/state/configEffectAtom.d.ts.map +1 -0
  277. package/dist/core/state/configEffectAtom.js +56 -0
  278. package/dist/core/state/configEffectAtom.js.map +1 -0
  279. package/dist/core/state/containerAtom.js.map +1 -1
  280. package/dist/core/state/enabledChainsAtom.d.ts +10 -0
  281. package/dist/core/state/enabledChainsAtom.d.ts.map +1 -0
  282. package/dist/core/state/enabledChainsAtom.js +101 -0
  283. package/dist/core/state/enabledChainsAtom.js.map +1 -0
  284. package/dist/core/state/enabledTradeModesAtom.d.ts +3 -0
  285. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -0
  286. package/dist/core/state/enabledTradeModesAtom.js +31 -0
  287. package/dist/core/state/enabledTradeModesAtom.js.map +1 -0
  288. package/dist/core/state/externalProviderAtom.js.map +1 -1
  289. package/dist/core/state/isCrosschainAtom.js.map +1 -1
  290. package/dist/core/state/tradeModeAtom.d.ts +2 -1
  291. package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
  292. package/dist/core/state/tradeModeAtom.js +9 -2
  293. package/dist/core/state/tradeModeAtom.js.map +1 -1
  294. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  295. package/dist/core/subscriptions.d.ts.map +1 -1
  296. package/dist/core/subscriptions.js +0 -2
  297. package/dist/core/subscriptions.js.map +1 -1
  298. package/dist/core/swapDetails/useSwapDetailsListProps.js +34 -36
  299. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  300. package/dist/core/types.d.ts +12 -0
  301. package/dist/core/types.d.ts.map +1 -1
  302. package/dist/events/hooks/useActivateEffects.js.map +1 -1
  303. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  304. package/dist/events/types/approve.d.ts +22 -6
  305. package/dist/events/types/approve.d.ts.map +1 -1
  306. package/dist/external/.pnpm/react-compiler-runtime@1.0.0_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +1 -0
  307. package/dist/hooks/batch/useAwaitCalls.d.ts.map +1 -1
  308. package/dist/hooks/batch/useAwaitCalls.js +20 -16
  309. package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
  310. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  311. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  312. package/dist/hooks/connectors/useIsConnectedSafe.js +10 -18
  313. package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
  314. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  315. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +4 -15
  316. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  317. package/dist/hooks/gas/useGasPrices.js.map +1 -1
  318. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  319. package/dist/hooks/getCode/useIsContractAtAddress.js +30 -46
  320. package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
  321. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  322. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +21 -12
  323. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  324. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  325. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +22 -12
  326. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  327. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  328. package/dist/hooks/otc/mutations/useFillOrder.js +13 -32
  329. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  330. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts +22 -3
  331. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.d.ts.map +1 -1
  332. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +39 -2
  333. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  334. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  335. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.d.ts.map +1 -1
  336. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +2 -3
  337. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  338. package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
  339. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts +7 -4
  340. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.d.ts.map +1 -1
  341. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +46 -4
  342. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  343. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.d.ts.map +1 -1
  344. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js +38 -36
  345. package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
  346. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  347. package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
  348. package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
  349. package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
  350. package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
  351. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  352. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  353. package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
  354. package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
  355. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +39 -31
  356. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  357. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +7 -15
  358. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  359. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  360. package/dist/hooks/sdk/useGetContracts.js.map +1 -1
  361. package/dist/hooks/sdk/useSpender.js.map +1 -1
  362. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -1
  363. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  364. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js +23 -13
  365. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  366. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  367. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  368. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +41 -10
  369. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  370. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +25 -0
  371. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -0
  372. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +88 -0
  373. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -0
  374. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +16 -0
  375. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -0
  376. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +83 -0
  377. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -0
  378. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  379. package/dist/hooks/swap/prices/delta/orders/utils.js +3 -2
  380. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  381. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts +5 -2
  382. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts.map +1 -1
  383. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +19 -2
  384. package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +1 -1
  385. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts +22 -3
  386. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  387. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +39 -2
  388. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  389. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  390. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  391. package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
  392. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  393. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  394. package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
  395. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  396. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts +9 -0
  397. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
  398. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js +49 -2
  399. package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
  400. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  401. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  402. package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
  403. package/dist/hooks/swap/tradeFlow/common/types.d.ts +17 -0
  404. package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
  405. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +3 -1
  406. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  407. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +164 -140
  408. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  409. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
  410. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts +46 -0
  411. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.d.ts.map +1 -0
  412. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js +328 -0
  413. package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -0
  414. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts.map +1 -1
  415. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +16 -14
  416. package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
  417. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +74 -0
  418. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -0
  419. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +274 -0
  420. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -0
  421. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts +15 -0
  422. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.d.ts.map +1 -0
  423. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +88 -0
  424. package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -0
  425. package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
  426. package/dist/hooks/swap/tradeFlow/common/utils.d.ts +1 -0
  427. package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
  428. package/dist/hooks/swap/tradeFlow/common/utils.js +16 -1
  429. package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
  430. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +28 -23
  431. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  432. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +59 -17
  433. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  434. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  435. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +4 -3
  436. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  437. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +61 -15
  438. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  439. package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
  440. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +2 -18
  441. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  442. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  443. package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
  444. package/dist/hooks/tokens/allowance/useTokenAllowance.js +25 -15
  445. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  446. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +8 -10
  447. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  448. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  449. package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
  450. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +20 -37
  451. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  452. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  453. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
  454. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +43 -49
  455. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  456. package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
  457. package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
  458. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js +21 -25
  459. package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
  460. package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
  461. package/dist/hooks/tokens/useAllTokensWithFilter.js +121 -49
  462. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  463. package/dist/hooks/tokens/useNativeToken.js +1 -1
  464. package/dist/hooks/tokens/useNativeToken.js.map +1 -1
  465. package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
  466. package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
  467. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  468. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  469. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  470. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  471. package/dist/hooks/txs/queries/useAwaitTx.d.ts.map +1 -1
  472. package/dist/hooks/txs/queries/useAwaitTx.js +11 -7
  473. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  474. package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
  475. package/dist/hooks/useAvailableCrosses.d.ts +3 -2
  476. package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
  477. package/dist/hooks/useAvailableCrosses.js +23 -20
  478. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  479. package/dist/hooks/useBridgeInfo.js.map +1 -1
  480. package/dist/hooks/useCurrentChain.js.map +1 -1
  481. package/dist/hooks/useDebouncedInputState.js.map +1 -1
  482. package/dist/hooks/useEIP1559Enabled.js.map +1 -1
  483. package/dist/hooks/useGlobalDeltaEnabled.d.ts +1 -0
  484. package/dist/hooks/useGlobalDeltaEnabled.d.ts.map +1 -1
  485. package/dist/hooks/useGlobalDeltaEnabled.js +22 -17
  486. package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
  487. package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
  488. package/dist/hooks/useMinViemClient.js.map +1 -1
  489. package/dist/hooks/useSDK.d.ts +3 -2
  490. package/dist/hooks/useSDK.d.ts.map +1 -1
  491. package/dist/hooks/useSDK.js +37 -8
  492. package/dist/hooks/useSDK.js.map +1 -1
  493. package/dist/hooks/useSelectableDestChains.d.ts +14 -0
  494. package/dist/hooks/useSelectableDestChains.d.ts.map +1 -0
  495. package/dist/hooks/useSelectableDestChains.js +91 -0
  496. package/dist/hooks/useSelectableDestChains.js.map +1 -0
  497. package/dist/hooks/useSlippage.js.map +1 -1
  498. package/dist/index.d.ts +2 -0
  499. package/dist/index.d.ts.map +1 -1
  500. package/dist/index.js +1 -0
  501. package/dist/index.js.map +1 -1
  502. package/dist/lib/constants/delta.js +1 -1
  503. package/dist/lib/constants/delta.js.map +1 -1
  504. package/dist/lib/constants/index.js +1 -1
  505. package/dist/lib/constants/index.js.map +1 -1
  506. package/dist/lib/tradeMode.d.ts +4 -0
  507. package/dist/lib/tradeMode.d.ts.map +1 -0
  508. package/dist/lib/tradeMode.js +8 -0
  509. package/dist/lib/tradeMode.js.map +1 -0
  510. package/dist/lib/utils/approval.js.map +1 -1
  511. package/dist/lib/utils/atomWithCompare.d.ts +2 -0
  512. package/dist/lib/utils/atomWithCompare.d.ts.map +1 -0
  513. package/dist/lib/utils/atomWithCompare.js +13 -0
  514. package/dist/lib/utils/atomWithCompare.js.map +1 -0
  515. package/dist/lib/utils/index.d.ts +2 -0
  516. package/dist/lib/utils/index.d.ts.map +1 -1
  517. package/dist/lib/utils/index.js +17 -1
  518. package/dist/lib/utils/index.js.map +1 -1
  519. package/dist/lib/utils/theme.d.ts +2 -0
  520. package/dist/lib/utils/theme.d.ts.map +1 -0
  521. package/dist/lib/utils/theme.js +10 -0
  522. package/dist/lib/utils/theme.js.map +1 -0
  523. package/dist/lib/web3/privy/config.js +1 -1
  524. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  525. package/dist/lib/web3/wagmi/config.js +3 -2
  526. package/dist/lib/web3/wagmi/config.js.map +1 -1
  527. package/dist/lib/web3/wagmi/constants.d.ts +2 -1
  528. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  529. package/dist/lib/web3/wagmi/constants.js.map +1 -1
  530. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  531. package/dist/lib/web3/wagmi/switchChain.d.ts +1169 -0
  532. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -0
  533. package/dist/lib/web3/wagmi/switchChain.js +23 -0
  534. package/dist/lib/web3/wagmi/switchChain.js.map +1 -0
  535. package/dist/lib/web3/wagmi/types.d.ts +2 -2
  536. package/dist/lib/web3/wagmi/types.d.ts.map +1 -1
  537. package/dist/styles.css +83 -39
  538. package/dist/tokens/hooks.js.map +1 -1
  539. package/dist/tokens/lists/constants.d.ts +1 -0
  540. package/dist/tokens/lists/constants.d.ts.map +1 -1
  541. package/dist/tokens/lists/constants.js +6 -2
  542. package/dist/tokens/lists/constants.js.map +1 -1
  543. package/dist/tokens/lists/lists.json.d.ts +23 -44
  544. package/dist/tokens/lists/lists.json.js +354 -1
  545. package/dist/tokens/lists/lists.json.js.map +1 -1
  546. package/dist/tokens/lists/state/effects.d.ts +2 -0
  547. package/dist/tokens/lists/state/effects.d.ts.map +1 -0
  548. package/dist/tokens/lists/state/effects.js +25 -0
  549. package/dist/tokens/lists/state/effects.js.map +1 -0
  550. package/dist/tokens/lists/state/tokenListsActionsAtom.js +3 -3
  551. package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
  552. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +16 -7
  553. package/dist/tokens/lists/state/tokenListsStateAtom.d.ts.map +1 -1
  554. package/dist/tokens/lists/state/tokenListsStateAtom.js +50 -5
  555. package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
  556. package/dist/tokens/lists/types.d.ts.map +1 -1
  557. package/dist/tokens/lists/utils.js +1 -1
  558. package/dist/tokens/queries.d.ts +4 -2
  559. package/dist/tokens/queries.d.ts.map +1 -1
  560. package/dist/tokens/queries.js +31 -25
  561. package/dist/tokens/queries.js.map +1 -1
  562. package/dist/tokens/stabeCoins/hooks.js +3 -5
  563. package/dist/tokens/stabeCoins/hooks.js.map +1 -1
  564. package/dist/tokens/state/fromListsAtom.js +4 -4
  565. package/dist/tokens/state/fromListsAtom.js.map +1 -1
  566. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  567. package/dist/transactions/queries/ensureCallsStatus.d.ts +1 -0
  568. package/dist/transactions/queries/ensureCallsStatus.d.ts.map +1 -1
  569. package/dist/transactions/queries/ensureCallsStatus.js +7 -5
  570. package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
  571. package/dist/transactions/queries/ensureTxReceipt.d.ts +3 -2
  572. package/dist/transactions/queries/ensureTxReceipt.d.ts.map +1 -1
  573. package/dist/transactions/queries/ensureTxReceipt.js +26 -6
  574. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  575. package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
  576. package/dist/transactions/state/hooks/useTransactions.d.ts +2 -0
  577. package/dist/transactions/state/hooks/useTransactions.d.ts.map +1 -1
  578. package/dist/transactions/state/hooks/useTransactions.js +59 -1
  579. package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
  580. package/dist/transactions/types.d.ts +21 -1
  581. package/dist/transactions/types.d.ts.map +1 -1
  582. package/package.json +6 -5
  583. package/dist/external/.pnpm/react-compiler-runtime@19.1.0-rc.2_react@19.1.1/external/react-compiler-runtime/dist/index.js.map +0 -1
  584. package/dist/tokens/lists/hooks.d.ts +0 -2
  585. package/dist/tokens/lists/hooks.d.ts.map +0 -1
  586. package/dist/tokens/lists/hooks.js +0 -26
  587. package/dist/tokens/lists/hooks.js.map +0 -1
  588. package/dist/tokens/lists/state/observer.d.ts +0 -2
  589. package/dist/tokens/lists/state/observer.d.ts.map +0 -1
  590. package/dist/tokens/lists/state/observer.js +0 -18
  591. package/dist/tokens/lists/state/observer.js.map +0 -1
  592. /package/dist/external/.pnpm/{react-compiler-runtime@19.1.0-rc.2_react@19.1.1 → react-compiler-runtime@1.0.0_react@19.1.1}/external/react-compiler-runtime/dist/index.js +0 -0
@@ -7,7 +7,7 @@ import { assert } from 'ts-essentials';
7
7
  import { isSupportedChainId } from '../../../lib/web3/wagmi/utils.js';
8
8
 
9
9
  const useMultiChainTokenBalances = (t0) => {
10
- const $ = distExports.c(14);
10
+ const $ = distExports.c(9);
11
11
  const {
12
12
  addressesMap,
13
13
  select
@@ -17,10 +17,9 @@ const useMultiChainTokenBalances = (t0) => {
17
17
  } = useAccount();
18
18
  let t1;
19
19
  if ($[0] !== account || $[1] !== addressesMap || $[2] !== select) {
20
- let t22;
21
- if ($[4] !== account || $[5] !== select) {
22
- t22 = (t32) => {
23
- const [_chainId, addresses] = t32;
20
+ t1 = {
21
+ queries: Object.entries(addressesMap).map((t22) => {
22
+ const [_chainId, addresses] = t22;
24
23
  const validAddressesLowerCase = addresses.map(_temp).filter(_temp2);
25
24
  const chainId = Number(_chainId);
26
25
  assert(isSupportedChainId(chainId), "SupportedChainId guaranteed by");
@@ -28,14 +27,8 @@ const useMultiChainTokenBalances = (t0) => {
28
27
  tokenAddressesLowercase: validAddressesLowerCase,
29
28
  chainId,
30
29
  account});
31
- };
32
- $[4] = account;
33
- $[5] = select;
34
- $[6] = t22;
35
- } else {
36
- t22 = $[6];
37
- }
38
- t1 = Object.entries(addressesMap).map(t22);
30
+ })
31
+ };
39
32
  $[0] = account;
40
33
  $[1] = addressesMap;
41
34
  $[2] = select;
@@ -43,41 +36,31 @@ const useMultiChainTokenBalances = (t0) => {
43
36
  } else {
44
37
  t1 = $[3];
45
38
  }
39
+ const queriesResult = useQueries(t1);
46
40
  let t2;
47
- if ($[7] !== t1) {
48
- t2 = {
49
- queries: t1
50
- };
51
- $[7] = t1;
52
- $[8] = t2;
53
- } else {
54
- t2 = $[8];
55
- }
56
- const queriesResult = useQueries(t2);
57
- let t3;
58
- if ($[9] !== addressesMap || $[10] !== queriesResult) {
59
- let t4;
60
- if ($[12] !== addressesMap) {
61
- t4 = (acc, queryResult, index) => {
41
+ if ($[4] !== addressesMap || $[5] !== queriesResult) {
42
+ let t3;
43
+ if ($[7] !== addressesMap) {
44
+ t3 = (acc, queryResult, index) => {
62
45
  if (queryResult.data) {
63
46
  const chainId_0 = Object.keys(addressesMap)[index];
64
47
  acc[Number(chainId_0)] = queryResult.data;
65
48
  }
66
49
  return acc;
67
50
  };
68
- $[12] = addressesMap;
69
- $[13] = t4;
51
+ $[7] = addressesMap;
52
+ $[8] = t3;
70
53
  } else {
71
- t4 = $[13];
54
+ t3 = $[8];
72
55
  }
73
- t3 = queriesResult.reduce(t4, {});
74
- $[9] = addressesMap;
75
- $[10] = queriesResult;
76
- $[11] = t3;
56
+ t2 = queriesResult.reduce(t3, {});
57
+ $[4] = addressesMap;
58
+ $[5] = queriesResult;
59
+ $[6] = t2;
77
60
  } else {
78
- t3 = $[11];
61
+ t2 = $[6];
79
62
  }
80
- return t3;
63
+ return t2;
81
64
  };
82
65
  function _temp(address) {
83
66
  return address.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"useMultichainTokenBalances.js","sources":["../../../../src/hooks/tokens/balances/useMultichainTokenBalances.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueries } from \"@tanstack/react-query\";\nimport { isAddress, type Address } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { constructTokenBalancesQueryOptions } from \"./queries\";\nimport type { AddressBalanceMap } from \"./types\";\nimport { assert } from \"ts-essentials\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\nexport const useMultiChainTokenBalances = <TData>({\n addressesMap,\n select,\n}: {\n addressesMap: Partial<Record<SupportedChainId, string[]>>;\n select?: (data: AddressBalanceMap) => TData;\n}) => {\n const { address: account } = useAccount();\n\n const queriesResult = useQueries({\n queries: Object.entries(addressesMap).map(([_chainId, addresses]) => {\n const validAddressesLowerCase = addresses\n .map((address) => address.toLowerCase() as Lowercase<string>)\n .filter((address): address is Lowercase<Address> => isAddress(address));\n\n const chainId = Number(_chainId);\n\n // Object.entries destroyed the types.\n // should not happen, but to satisfy TypeScript:\n assert(isSupportedChainId(chainId), \"SupportedChainId guaranteed by\");\n\n return constructTokenBalancesQueryOptions({\n tokenAddressesLowercase: validAddressesLowerCase,\n chainId,\n account: account,\n select,\n });\n }),\n });\n\n return queriesResult.reduce<Record<number, AddressBalanceMap>>(\n (acc, queryResult, index) => {\n if (queryResult.data) {\n const chainId = Object.keys(addressesMap)[index];\n acc[Number(chainId)] = queryResult.data;\n }\n return acc;\n },\n {}\n );\n};\n"],"names":["useMultiChainTokenBalances","t0","$","_c","addressesMap","select","address","account","useAccount","t1","t2","t3","_chainId","addresses","validAddressesLowerCase","map","_temp","filter","_temp2","chainId","Number","assert","isSupportedChainId","constructTokenBalancesQueryOptions","tokenAddressesLowercase","Object","entries","queries","queriesResult","useQueries","t4","acc","queryResult","index","data","chainId_0","keys","reduce","toLowerCase","address_0","isAddress"],"mappings":"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"}
1
+ {"version":3,"file":"useMultichainTokenBalances.js","sources":["../../../../src/hooks/tokens/balances/useMultichainTokenBalances.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useQueries } from \"@tanstack/react-query\";\nimport { isAddress, type Address } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { constructTokenBalancesQueryOptions } from \"./queries\";\nimport type { AddressBalanceMap } from \"./types\";\nimport { assert } from \"ts-essentials\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\n\nexport const useMultiChainTokenBalances = <TData>({\n addressesMap,\n select,\n}: {\n addressesMap: Partial<Record<SupportedChainId, string[]>>;\n select?: (data: AddressBalanceMap) => TData;\n}) => {\n const { address: account } = useAccount();\n\n const queriesResult = useQueries({\n queries: Object.entries(addressesMap).map(([_chainId, addresses]) => {\n const validAddressesLowerCase = addresses\n .map((address) => address.toLowerCase() as Lowercase<string>)\n .filter((address): address is Lowercase<Address> => isAddress(address));\n\n const chainId = Number(_chainId);\n\n // Object.entries destroyed the types.\n // should not happen, but to satisfy TypeScript:\n assert(isSupportedChainId(chainId), \"SupportedChainId guaranteed by\");\n\n return constructTokenBalancesQueryOptions({\n tokenAddressesLowercase: validAddressesLowerCase,\n chainId,\n account: account,\n select,\n });\n }),\n });\n\n return queriesResult.reduce<Record<number, AddressBalanceMap>>(\n (acc, queryResult, index) => {\n if (queryResult.data) {\n const chainId = Object.keys(addressesMap)[index];\n acc[Number(chainId)] = queryResult.data;\n }\n return acc;\n },\n {}\n );\n};\n"],"names":["useMultiChainTokenBalances","t0","$","_c","addressesMap","select","address","account","useAccount","t1","queries","Object","entries","map","t2","_chainId","addresses","validAddressesLowerCase","_temp","filter","_temp2","chainId","Number","assert","isSupportedChainId","constructTokenBalancesQueryOptions","tokenAddressesLowercase","queriesResult","useQueries","t3","acc","queryResult","index","data","chainId_0","keys","reduce","toLowerCase","address_0","isAddress"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenBalance.js","sources":["../../../../src/hooks/tokens/balances/useTokenBalance.ts"],"sourcesContent":["import { ONE_MINUTE_MS } from \"@/lib/constants/time\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport { erc20Abi, formatUnits, isAddress } from \"viem\";\nimport { useAccount, useReadContract, useBalance } from \"wagmi\";\n\nexport const useERC20Balance = ({\n token,\n queryOptions: _queryOptions,\n}: UseTokenBalanceInput) => {\n const { address: account } = useAccount();\n const { enabled = true, ...queryOptions } = _queryOptions ?? {};\n\n const addressToFetch =\n token && isAddress(token.address) && !isETH({ address: token.address })\n ? token.address\n : undefined;\n\n return useReadContract({\n functionName: \"balanceOf\" as const,\n address: addressToFetch,\n chainId: token?.network,\n abi: erc20Abi,\n args: account ? [account] : undefined,\n query: {\n enabled: !!enabled && !!addressToFetch && !!account,\n refetchInterval: ONE_MINUTE_MS,\n refetchOnWindowFocus: false,\n ...queryOptions,\n },\n });\n};\n\nexport const useNativeBalance = (\n params?: Omit<UseTokenBalanceInput, \"token\">\n) => {\n const { address: account } = useAccount();\n const { enabled = true, ...queryOptions } = params?.queryOptions ?? {};\n\n return useBalance({\n address: account,\n chainId: params?.chainId,\n query: {\n enabled: !!enabled && !!account && !!params?.chainId,\n refetchInterval: ONE_MINUTE_MS,\n refetchOnWindowFocus: false,\n ...queryOptions,\n },\n });\n};\n\ntype UseTokenBalanceInput = {\n token?: Pick<Token, \"address\" | \"decimals\" | \"network\">;\n chainId?: SupportedChainId;\n queryOptions?: {\n refetchInterval?: number;\n refetchOnWindowFocus?: boolean | \"always\";\n enabled?: boolean;\n };\n};\n\n// BOTH\nexport const useTokenBalance = ({\n token,\n chainId,\n queryOptions,\n}: UseTokenBalanceInput) => {\n const requestedNative = token?.address\n ? isETH({ address: token.address })\n : undefined;\n\n const { data: nativeTokenBalance, ...nativeBalanceQueryResult } =\n useNativeBalance({\n chainId: chainId ?? token?.network,\n queryOptions: {\n enabled: requestedNative,\n ...queryOptions,\n },\n });\n\n const { data: erc20TokenBalance, ...erc20BalanceQueryResult } =\n useERC20Balance({\n chainId: chainId ?? token?.network,\n token,\n queryOptions: {\n enabled: !requestedNative,\n ...queryOptions,\n },\n });\n\n const balance = getBalanceFromQueries({\n requestedNative,\n nativeTokenBalance,\n erc20TokenBalance,\n tokenDecimals: token?.decimals,\n });\n\n const queryResult = requestedNative\n ? nativeBalanceQueryResult\n : erc20BalanceQueryResult;\n\n return {\n ...balance,\n ...queryResult,\n };\n};\n\ntype GetBalanceReturnType = {\n decimals: number;\n formatted: string;\n symbol: string;\n value: bigint;\n};\n\nfunction getBalanceFromQueries({\n requestedNative,\n nativeTokenBalance,\n erc20TokenBalance,\n tokenDecimals,\n}: {\n requestedNative?: boolean;\n nativeTokenBalance?: GetBalanceReturnType;\n erc20TokenBalance?: bigint;\n tokenDecimals?: number;\n}) {\n if (requestedNative && nativeTokenBalance !== undefined) {\n const balance = nativeTokenBalance.value;\n const balanceUnit = formatUnits(balance, nativeTokenBalance.decimals);\n return { balance, balanceUnit };\n }\n\n if (erc20TokenBalance !== undefined && tokenDecimals !== undefined) {\n const balance = erc20TokenBalance;\n const balanceUnit = formatUnits(balance, tokenDecimals);\n return { balance, balanceUnit };\n }\n}\n"],"names":["useERC20Balance","t0","$","_c","token","queryOptions","_queryOptions","address","account","useAccount","t1","t2","enabled","undefined","addressToFetch","isAddress","isETH","t3","network","t4","t5","t6","refetchInterval","ONE_MINUTE_MS","refetchOnWindowFocus","t7","functionName","chainId","abi","erc20Abi","args","query","useReadContract","useNativeBalance","params","useBalance","useTokenBalance","requestedNative","data","nativeTokenBalance","nativeBalanceQueryResult","erc20BalanceQueryResult","erc20TokenBalance","balance","getBalanceFromQueries","tokenDecimals","decimals","queryResult","value","balanceUnit","formatUnits"],"mappings":"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"}
1
+ {"version":3,"file":"useTokenBalance.js","sources":["../../../../src/hooks/tokens/balances/useTokenBalance.ts"],"sourcesContent":["import { ONE_MINUTE_MS } from \"@/lib/constants/time\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isETH } from \"@/tokens/utils/eth\";\n\nimport { erc20Abi, formatUnits, isAddress } from \"viem\";\nimport { useAccount, useReadContract, useBalance } from \"wagmi\";\n\nexport const useERC20Balance = ({\n token,\n queryOptions: _queryOptions,\n}: UseTokenBalanceInput) => {\n const { address: account } = useAccount();\n const { enabled = true, ...queryOptions } = _queryOptions ?? {};\n\n const addressToFetch =\n token && isAddress(token.address) && !isETH({ address: token.address })\n ? token.address\n : undefined;\n\n return useReadContract({\n functionName: \"balanceOf\" as const,\n address: addressToFetch,\n chainId: token?.network,\n abi: erc20Abi,\n args: account ? [account] : undefined,\n query: {\n enabled: !!enabled && !!addressToFetch && !!account,\n refetchInterval: ONE_MINUTE_MS,\n refetchOnWindowFocus: false,\n ...queryOptions,\n },\n });\n};\n\nexport const useNativeBalance = (\n params?: Omit<UseTokenBalanceInput, \"token\">\n) => {\n const { address: account } = useAccount();\n const { enabled = true, ...queryOptions } = params?.queryOptions ?? {};\n\n return useBalance({\n address: account,\n chainId: params?.chainId,\n query: {\n enabled: !!enabled && !!account && !!params?.chainId,\n refetchInterval: ONE_MINUTE_MS,\n refetchOnWindowFocus: false,\n ...queryOptions,\n },\n });\n};\n\ntype UseTokenBalanceInput = {\n token?: Pick<Token, \"address\" | \"decimals\" | \"network\">;\n chainId?: SupportedChainId;\n queryOptions?: {\n refetchInterval?: number;\n refetchOnWindowFocus?: boolean | \"always\";\n enabled?: boolean;\n };\n};\n\n// BOTH\nexport const useTokenBalance = ({\n token,\n chainId,\n queryOptions,\n}: UseTokenBalanceInput) => {\n const requestedNative = token?.address\n ? isETH({ address: token.address })\n : undefined;\n\n const { data: nativeTokenBalance, ...nativeBalanceQueryResult } =\n useNativeBalance({\n chainId: chainId ?? token?.network,\n queryOptions: {\n enabled: requestedNative,\n ...queryOptions,\n },\n });\n\n const { data: erc20TokenBalance, ...erc20BalanceQueryResult } =\n useERC20Balance({\n chainId: chainId ?? token?.network,\n token,\n queryOptions: {\n enabled: !requestedNative,\n ...queryOptions,\n },\n });\n\n const balance = getBalanceFromQueries({\n requestedNative,\n nativeTokenBalance,\n erc20TokenBalance,\n tokenDecimals: token?.decimals,\n });\n\n const queryResult = requestedNative\n ? nativeBalanceQueryResult\n : erc20BalanceQueryResult;\n\n return {\n ...balance,\n ...queryResult,\n };\n};\n\ntype GetBalanceReturnType = {\n decimals: number;\n formatted: string;\n symbol: string;\n value: bigint;\n};\n\nfunction getBalanceFromQueries({\n requestedNative,\n nativeTokenBalance,\n erc20TokenBalance,\n tokenDecimals,\n}: {\n requestedNative?: boolean;\n nativeTokenBalance?: GetBalanceReturnType;\n erc20TokenBalance?: bigint;\n tokenDecimals?: number;\n}) {\n if (requestedNative && nativeTokenBalance !== undefined) {\n const balance = nativeTokenBalance.value;\n const balanceUnit = formatUnits(balance, nativeTokenBalance.decimals);\n return { balance, balanceUnit };\n }\n\n if (erc20TokenBalance !== undefined && tokenDecimals !== undefined) {\n const balance = erc20TokenBalance;\n const balanceUnit = formatUnits(balance, tokenDecimals);\n return { balance, balanceUnit };\n }\n}\n"],"names":["useERC20Balance","t0","$","_c","token","queryOptions","_queryOptions","address","account","useAccount","t1","t2","enabled","undefined","addressToFetch","isAddress","isETH","t3","network","t4","t5","t6","refetchInterval","ONE_MINUTE_MS","refetchOnWindowFocus","t7","functionName","chainId","abi","erc20Abi","args","query","useReadContract","useNativeBalance","params","useBalance","useTokenBalance","requestedNative","data","nativeTokenBalance","nativeBalanceQueryResult","erc20BalanceQueryResult","erc20TokenBalance","balance","getBalanceFromQueries","tokenDecimals","decimals","queryResult","value","balanceUnit","formatUnits"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCombineTokensWithFetched.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/data/useCombineTokensWithFetched.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAIrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yEAAyE,CAAC;AAMvH,KAAK,iCAAiC,GAAG;IACvC,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;CAC9C,CAAC;AACF,eAAO,MAAM,2BAA2B,GACtC,cAAc,wBAAwB,EAAE,EACxC,aAAa,MAAM,KAClB,iCAmDF,CAAC"}
1
+ {"version":3,"file":"useCombineTokensWithFetched.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/data/useCombineTokensWithFetched.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yEAAyE,CAAC;AAOvH,KAAK,iCAAiC,GAAG;IACvC,iBAAiB,EAAE,uBAAuB,EAAE,CAAC;CAC9C,CAAC;AACF,eAAO,MAAM,2BAA2B,GACtC,cAAc,wBAAwB,EAAE,EACxC,aAAa,MAAM,KAClB,iCAqDF,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { d as distExports } from '../../../_virtual/index.js';
2
2
  import { useFetchTokens } from './useFetchTokens.js';
3
3
  import { isAddress } from 'viem';
4
- import { supportedChainIds } from '../../../lib/web3/wagmi/constants.js';
5
4
  import { useAttachTokenBalanceMultichain } from '../balances/useAttachTokenBalanceMultichain.js';
6
5
  import { constructToken } from '@velora-dex/sdk';
7
6
  import { isBlacklistedToken } from '../../../tokens/blacklist.js';
7
+ import { useAllEnabledChains } from '../../../core/state/enabledChainsAtom.js';
8
8
 
9
9
  const useCombineTokensWithFetched = (allTokenRows, tokenFilter) => {
10
- const $ = distExports.c(23);
10
+ const $ = distExports.c(22);
11
11
  let t0;
12
12
  if ($[0] !== tokenFilter) {
13
13
  t0 = isAddress(tokenFilter) && !isBlacklistedToken({
@@ -19,94 +19,88 @@ const useCombineTokensWithFetched = (allTokenRows, tokenFilter) => {
19
19
  t0 = $[1];
20
20
  }
21
21
  const isTokenFilterValidAddress = t0;
22
+ const enabledChains = useAllEnabledChains();
22
23
  let t1;
23
- if ($[2] !== allTokenRows || $[3] !== isTokenFilterValidAddress) {
24
- t1 = !isTokenFilterValidAddress ? supportedChainIds : supportedChainIds.filter((chainId) => !allTokenRows.some((token) => token.network === chainId));
24
+ if ($[2] !== allTokenRows || $[3] !== enabledChains || $[4] !== isTokenFilterValidAddress) {
25
+ t1 = !isTokenFilterValidAddress ? enabledChains : enabledChains.filter((chainId) => !allTokenRows.some((token) => token.network === chainId));
25
26
  $[2] = allTokenRows;
26
- $[3] = isTokenFilterValidAddress;
27
- $[4] = t1;
27
+ $[3] = enabledChains;
28
+ $[4] = isTokenFilterValidAddress;
29
+ $[5] = t1;
28
30
  } else {
29
- t1 = $[4];
31
+ t1 = $[5];
30
32
  }
31
33
  const chainsWithNoTokenFound = t1;
32
34
  let t2;
33
- if ($[5] !== isTokenFilterValidAddress || $[6] !== tokenFilter) {
35
+ if ($[6] !== isTokenFilterValidAddress || $[7] !== tokenFilter) {
34
36
  t2 = isTokenFilterValidAddress ? [tokenFilter] : [];
35
- $[5] = isTokenFilterValidAddress;
36
- $[6] = tokenFilter;
37
- $[7] = t2;
37
+ $[6] = isTokenFilterValidAddress;
38
+ $[7] = tokenFilter;
39
+ $[8] = t2;
38
40
  } else {
39
- t2 = $[7];
41
+ t2 = $[8];
40
42
  }
41
43
  let t3;
42
- if ($[8] !== chainsWithNoTokenFound || $[9] !== t2) {
44
+ if ($[9] !== chainsWithNoTokenFound || $[10] !== t2) {
43
45
  t3 = {
44
46
  addresses: t2,
45
47
  chainIds: chainsWithNoTokenFound
46
48
  };
47
- $[8] = chainsWithNoTokenFound;
48
- $[9] = t2;
49
- $[10] = t3;
49
+ $[9] = chainsWithNoTokenFound;
50
+ $[10] = t2;
51
+ $[11] = t3;
50
52
  } else {
51
- t3 = $[10];
53
+ t3 = $[11];
52
54
  }
53
55
  const tokenRowsFetched = useFetchTokens(t3);
54
56
  const tokensFetched = tokenRowsFetched.tokens;
55
57
  let t4;
56
- if ($[11] !== tokensFetched) {
58
+ if ($[12] !== tokensFetched) {
57
59
  t4 = tokensFetched.reduce(_temp, {});
58
- $[11] = tokensFetched;
59
- $[12] = t4;
60
+ $[12] = tokensFetched;
61
+ $[13] = t4;
60
62
  } else {
61
- t4 = $[12];
63
+ t4 = $[13];
62
64
  }
63
65
  const tokenFetchedAddressesMap = t4;
64
66
  let t5;
65
- if ($[13] !== tokenFetchedAddressesMap) {
67
+ if ($[14] !== tokenFetchedAddressesMap) {
66
68
  t5 = {
67
69
  addressesMap: tokenFetchedAddressesMap
68
70
  };
69
- $[13] = tokenFetchedAddressesMap;
70
- $[14] = t5;
71
+ $[14] = tokenFetchedAddressesMap;
72
+ $[15] = t5;
71
73
  } else {
72
- t5 = $[14];
74
+ t5 = $[15];
73
75
  }
74
76
  const attachTokenBalance = useAttachTokenBalanceMultichain(t5);
75
77
  let t6;
76
- if ($[15] !== allTokenRows || $[16] !== attachTokenBalance || $[17] !== tokenRowsFetched.tokens) {
77
- let t72;
78
- if ($[19] !== attachTokenBalance) {
79
- t72 = (token_1) => attachTokenBalance({
78
+ if ($[16] !== allTokenRows || $[17] !== attachTokenBalance || $[18] !== tokenRowsFetched.tokens) {
79
+ let t7;
80
+ if ($[20] !== attachTokenBalance) {
81
+ t7 = (token_1) => attachTokenBalance({
80
82
  ...constructToken(token_1),
81
83
  network: token_1.network,
82
84
  fetchedOnChain: true
83
85
  });
84
- $[19] = attachTokenBalance;
85
- $[20] = t72;
86
+ $[20] = attachTokenBalance;
87
+ $[21] = t7;
86
88
  } else {
87
- t72 = $[20];
89
+ t7 = $[21];
88
90
  }
89
- const tokensFetchedWithBalance = tokenRowsFetched.tokens.map(t72);
90
- t6 = [...allTokenRows, ...tokensFetchedWithBalance];
91
- $[15] = allTokenRows;
92
- $[16] = attachTokenBalance;
93
- $[17] = tokenRowsFetched.tokens;
94
- $[18] = t6;
95
- } else {
96
- t6 = $[18];
97
- }
98
- const combinedTokenRows = t6;
99
- let t7;
100
- if ($[21] !== combinedTokenRows) {
101
- t7 = {
91
+ const tokensFetchedWithBalance = tokenRowsFetched.tokens.map(t7);
92
+ const combinedTokenRows = [...allTokenRows, ...tokensFetchedWithBalance];
93
+ t6 = {
102
94
  tokenRowsCombined: combinedTokenRows
103
95
  };
104
- $[21] = combinedTokenRows;
105
- $[22] = t7;
96
+ $[16] = allTokenRows;
97
+ $[17] = attachTokenBalance;
98
+ $[18] = tokenRowsFetched.tokens;
99
+ $[19] = t6;
106
100
  } else {
107
- t7 = $[22];
101
+ t6 = $[19];
108
102
  }
109
- return t7;
103
+ return t6;
110
104
  };
111
105
  function _temp(acc, token_0) {
112
106
  const chainId_0 = token_0.network;
@@ -1 +1 @@
1
- {"version":3,"file":"useCombineTokensWithFetched.js","sources":["../../../../src/hooks/tokens/data/useCombineTokensWithFetched.ts"],"sourcesContent":["import type { TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useFetchTokens } from \"./useFetchTokens\";\nimport { isAddress } from \"viem\";\nimport { supportedChainIds } from \"@/lib/web3/wagmi/constants\";\nimport type { TokenRowForFetchedToken } from \"@/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useAttachTokenBalanceMultichain } from \"../balances/useAttachTokenBalanceMultichain\";\nimport { constructToken } from \"@velora-dex/sdk\";\nimport { isBlacklistedToken } from \"@/tokens/blacklist\";\n\ntype UseCombineTokensWithFetchedReturn = {\n tokenRowsCombined: TokenRowForFetchedToken[];\n};\nexport const useCombineTokensWithFetched = (\n allTokenRows: TokenMaybeWithUsdBalance[],\n tokenFilter: string\n): UseCombineTokensWithFetchedReturn => {\n const isTokenFilterValidAddress =\n isAddress(tokenFilter) && !isBlacklistedToken({ address: tokenFilter });\n\n const chainsWithNoTokenFound = !isTokenFilterValidAddress\n ? supportedChainIds\n : supportedChainIds.filter(\n // if exact match by address found in tokenLists, no need to fetch Token data onchain for that chain\n (chainId) => !allTokenRows.some((token) => token.network === chainId)\n );\n\n // if user's typed filter is a valid address, fetch tokens for all networks (as it's possible that lists data not enough -- even if token is spotted in one of the lists for one chain, it could be missing in another one)\n const tokenRowsFetched = useFetchTokens({\n addresses: isTokenFilterValidAddress ? [tokenFilter] : [],\n chainIds: chainsWithNoTokenFound,\n });\n\n const tokensFetched = tokenRowsFetched.tokens;\n\n const tokenFetchedAddressesMap = tokensFetched.reduce<\n Partial<Record<SupportedChainId, string[]>>\n >((acc, token) => {\n const chainId = token.network;\n if (!acc[chainId]) acc[chainId] = [];\n\n acc[chainId].push(token.address);\n return acc;\n }, {});\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: tokenFetchedAddressesMap,\n });\n\n const tokensFetchedWithBalance =\n tokenRowsFetched.tokens.map<TokenRowForFetchedToken>((token) =>\n attachTokenBalance({\n ...constructToken(token),\n network: token.network,\n fetchedOnChain: true,\n })\n );\n\n const combinedTokenRows: TokenRowForFetchedToken[] = [\n ...allTokenRows,\n ...tokensFetchedWithBalance, // tokens not present in allTokenRows,\n // because chains to fetch on exclude chains found for exact token in another chain\n ];\n\n return {\n tokenRowsCombined: combinedTokenRows,\n };\n};\n"],"names":["useCombineTokensWithFetched","allTokenRows","tokenFilter","$","_c","t0","isAddress","isBlacklistedToken","address","isTokenFilterValidAddress","t1","supportedChainIds","filter","chainId","some","token","network","chainsWithNoTokenFound","t2","t3","addresses","chainIds","tokenRowsFetched","useFetchTokens","tokensFetched","tokens","t4","reduce","_temp","tokenFetchedAddressesMap","t5","addressesMap","attachTokenBalance","useAttachTokenBalanceMultichain","t6","t7","token_1","constructToken","fetchedOnChain","tokensFetchedWithBalance","map","combinedTokenRows","tokenRowsCombined","acc","token_0","chainId_0","push"],"mappings":"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"}
1
+ {"version":3,"file":"useCombineTokensWithFetched.js","sources":["../../../../src/hooks/tokens/data/useCombineTokensWithFetched.ts"],"sourcesContent":["import type { TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useFetchTokens } from \"./useFetchTokens\";\nimport { isAddress } from \"viem\";\nimport type { TokenRowForFetchedToken } from \"@/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useAttachTokenBalanceMultichain } from \"../balances/useAttachTokenBalanceMultichain\";\nimport { constructToken } from \"@velora-dex/sdk\";\nimport { isBlacklistedToken } from \"@/tokens/blacklist\";\nimport { useAllEnabledChains } from \"@/core/state/enabledChainsAtom\";\n\ntype UseCombineTokensWithFetchedReturn = {\n tokenRowsCombined: TokenRowForFetchedToken[];\n};\nexport const useCombineTokensWithFetched = (\n allTokenRows: TokenMaybeWithUsdBalance[],\n tokenFilter: string\n): UseCombineTokensWithFetchedReturn => {\n const isTokenFilterValidAddress =\n isAddress(tokenFilter) && !isBlacklistedToken({ address: tokenFilter });\n\n // fetch on enabled chains only\n const enabledChains = useAllEnabledChains();\n const chainsWithNoTokenFound = !isTokenFilterValidAddress\n ? enabledChains\n : enabledChains.filter(\n // if exact match by address found in tokenLists, no need to fetch Token data onchain for that chain\n (chainId) => !allTokenRows.some((token) => token.network === chainId)\n );\n\n // if user's typed filter is a valid address, fetch tokens for all networks (as it's possible that lists data not enough -- even if token is spotted in one of the lists for one chain, it could be missing in another one)\n const tokenRowsFetched = useFetchTokens({\n addresses: isTokenFilterValidAddress ? [tokenFilter] : [],\n chainIds: chainsWithNoTokenFound,\n });\n\n const tokensFetched = tokenRowsFetched.tokens;\n\n const tokenFetchedAddressesMap = tokensFetched.reduce<\n Partial<Record<SupportedChainId, string[]>>\n >((acc, token) => {\n const chainId = token.network;\n if (!acc[chainId]) acc[chainId] = [];\n\n acc[chainId].push(token.address);\n return acc;\n }, {});\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: tokenFetchedAddressesMap,\n });\n\n const tokensFetchedWithBalance =\n tokenRowsFetched.tokens.map<TokenRowForFetchedToken>((token) =>\n attachTokenBalance({\n ...constructToken(token),\n network: token.network,\n fetchedOnChain: true,\n })\n );\n\n const combinedTokenRows: TokenRowForFetchedToken[] = [\n ...allTokenRows,\n ...tokensFetchedWithBalance, // tokens not present in allTokenRows,\n // because chains to fetch on exclude chains found for exact token in another chain\n ];\n\n return {\n tokenRowsCombined: combinedTokenRows,\n };\n};\n"],"names":["useCombineTokensWithFetched","allTokenRows","tokenFilter","$","_c","t0","isAddress","isBlacklistedToken","address","isTokenFilterValidAddress","enabledChains","useAllEnabledChains","t1","filter","chainId","some","token","network","chainsWithNoTokenFound","t2","t3","addresses","chainIds","tokenRowsFetched","useFetchTokens","tokensFetched","tokens","t4","reduce","_temp","tokenFetchedAddressesMap","t5","addressesMap","attachTokenBalance","useAttachTokenBalanceMultichain","t6","t7","token_1","constructToken","fetchedOnChain","tokensFetchedWithBalance","map","combinedTokenRows","tokenRowsCombined","acc","token_0","chainId_0","push"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchTokens.js","sources":["../../../../src/hooks/tokens/data/useFetchTokens.ts"],"sourcesContent":["import { useMultiChainTokensData } from \"./useMultichainTokensData\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { MinErc20Token } from \"@/tokens/state/types\";\nimport type { UseQueryResult } from \"@tanstack/react-query\";\n\nconst combineFlatten = (\n results: UseQueryResult<MinErc20Token[], Error>[]\n): MinErc20Token[] => {\n const allTokensTogether = results.flatMap((res) => res.data || []);\n return allTokensTogether;\n};\n\ntype UseFetchTokensReturn = {\n tokens: MinErc20Token[];\n};\nexport const useFetchTokens = ({\n addresses,\n chainIds,\n}: {\n addresses: Address[];\n chainIds: SupportedChainId[];\n}): UseFetchTokensReturn => {\n const minTokensData = useMultiChainTokensData({\n addresses,\n chainIds,\n combine: combineFlatten,\n });\n return {\n tokens: minTokensData,\n };\n};\n"],"names":["combineFlatten","results","allTokensTogether","flatMap","res","data","useFetchTokens","t0","$","_c","addresses","chainIds","t1","combine","minTokensData","useMultiChainTokensData","t2","tokens"],"mappings":";;;AAMA,MAAMA,cAAAA,GAAiBA,CACrBC,OAAAA,KACoB;AACpB,EAAA,MAAMC,oBAAoBD,OAAAA,CAAQE,OAAAA,CAASC,SAAQA,GAAAA,CAAIC,IAAAA,IAAQ,EAAE,CAAA;AACjE,EAAA,OAAOH,iBAAAA;AACT,CAAA;AAKO,MAAMI,iBAAiBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAM9B,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAE,aAAAF,CAAAA,QAAAG,QAAAA,EAAA;AAC+CC,IAAAA,EAAAA,GAAA;AAAA,MAAAF,SAAAA;AAAAA,MAAAC,QAAAA;AAAAA,MAAAE,OAAAA,EAAAb;AAAAA,KAAA;AAI7CQ,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAM,aAAAA,GAAsBC,wBAAwBH,EAI7C,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAM,aAAAA,EAAA;AACIE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,MAAAA,EACGH;AAAAA,KAAa;AACtBN,IAAAA,CAAAA,MAAAM,aAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAFMQ,EAAAA;AAEN;;;;"}
1
+ {"version":3,"file":"useFetchTokens.js","sources":["../../../../src/hooks/tokens/data/useFetchTokens.ts"],"sourcesContent":["import { useMultiChainTokensData } from \"./useMultichainTokensData\";\nimport type { Address } from \"viem\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { MinErc20Token } from \"@/tokens/state/types\";\nimport type { UseQueryResult } from \"@tanstack/react-query\";\n\nconst combineFlatten = (\n results: UseQueryResult<MinErc20Token[], Error>[]\n): MinErc20Token[] => {\n const allTokensTogether = results.flatMap((res) => res.data || []);\n return allTokensTogether;\n};\n\ntype UseFetchTokensReturn = {\n tokens: MinErc20Token[];\n};\nexport const useFetchTokens = ({\n addresses,\n chainIds,\n}: {\n addresses: Address[];\n chainIds: SupportedChainId[];\n}): UseFetchTokensReturn => {\n const minTokensData = useMultiChainTokensData({\n addresses,\n chainIds,\n combine: combineFlatten,\n });\n return {\n tokens: minTokensData,\n };\n};\n"],"names":["combineFlatten","results","allTokensTogether","flatMap","res","data","useFetchTokens","t0","$","_c","addresses","chainIds","t1","combine","minTokensData","useMultiChainTokensData","t2","tokens"],"mappings":";;;AAMA,MAAMA,cAAAA,GAAiBA,CACrBC,OAAAA,KACoB;AACpB,EAAA,MAAMC,oBAAoBD,OAAAA,CAAQE,OAAAA,CAASC,SAAQA,GAAAA,CAAIC,IAAAA,IAAQ,EAAE,CAAA;AACjE,EAAA,OAAOH,iBAAAA;AACT,CAAA;AAKO,MAAMI,iBAAiBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAM9B,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAE,aAAAF,CAAAA,QAAAG,QAAAA,EAAA;AAC+CC,IAAAA,EAAAA,GAAA;AAAA,MAAAF,SAAAA;AAAAA,MAAAC,QAAAA;AAAAA,MAAAE,OAAAA,EAGnCb;AAAAA,KACX;AAACQ,IAAAA,CAAAA,MAAAE,SAAAA;AAAAF,IAAAA,CAAAA,MAAAG,QAAAA;AAAAH,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAAM,aAAAA,GAAsBC,wBAAwBH,EAI7C,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAM,aAAAA,EAAA;AACIE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,MAAAA,EACGH;AAAAA,KACV;AAACN,IAAAA,CAAAA,MAAAM,aAAAA;AAAAN,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAFMQ,EAAAA;AAEN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMultichainTokensData.js","sources":["../../../../src/hooks/tokens/data/useMultichainTokensData.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { type Address } from \"viem\";\nimport { assert, type MarkOptional, type MarkRequired } from \"ts-essentials\";\nimport { type MinErc20Token } from \"@/tokens/state/types\";\nimport { erc20Abi, type MulticallReturnType } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport type { ReadContractsData } from \"wagmi/query\";\nimport { useLogger } from \"@/core/logger\";\nimport { readContracts, type Config } from \"@wagmi/core\";\nimport {\n QueryClient,\n useQueries,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\ntype TokensByAddressByChain = Partial<\n Record<SupportedChainId, Record<Address, MinErc20Token>>\n>;\n\nconst defaultCombine = (\n results: UseQueryResult<MinErc20Token[], Error>[]\n): TokensByAddressByChain => {\n const mapping = results.reduce<TokensByAddressByChain>((accum, result) => {\n if (!result.data || !isFilledArray(result.data)) return accum;\n const chainId = result.data[0].network;\n const tokensMapping: Record<Address, MinErc20Token> = gatherObjectsByProp(\n result.data,\n (token) => token.address.toLowerCase()\n );\n\n if (!accum[chainId]) {\n accum[chainId] = {};\n }\n\n accum[chainId] = tokensMapping;\n return accum;\n }, {});\n\n return mapping;\n};\n\ntype UseMultichainTokensDataInput<Res> = {\n addresses: Address[];\n chainIds: SupportedChainId[];\n combine: (results: UseQueryResult<MinErc20Token[], Error>[]) => Res;\n};\n\ntype UseMultichainTokensDataInputDefault = MarkOptional<\n UseMultichainTokensDataInput<never>,\n \"combine\"\n>;\n\n// Function overloads to accept combine function\nexport function useMultiChainTokensData(\n input: UseMultichainTokensDataInputDefault\n): TokensByAddressByChain;\nexport function useMultiChainTokensData<T>(\n input: UseMultichainTokensDataInput<T>\n): T;\nexport function useMultiChainTokensData<T>({\n addresses,\n chainIds,\n combine,\n}: MarkOptional<UseMultichainTokensDataInput<T>, \"combine\">):\n | T\n | TokensByAddressByChain;\nexport function useMultiChainTokensData<T>({\n addresses,\n chainIds,\n combine,\n}: MarkOptional<UseMultichainTokensDataInput<T>, \"combine\">):\n | T\n | TokensByAddressByChain {\n const logger = useLogger(\"MultichainTokensData\");\n\n const config = useConfig();\n\n const queries = produceQueries({ addresses, chainIds, config });\n\n // useReadContracts uses a singular useQuery internally\n // which calls readContracts once only for multiple chainIds\n // and has to wait for all promises to resolve before returning the data.\n // useQueries allows to independently process readContracts results for each chainId\n const fetchedTokens = useQueries<typeof queries, T | TokensByAddressByChain>({\n queries,\n combine: combine || defaultCombine,\n });\n\n logger.once.log(\"TokensData result\", {\n addresses,\n chainIds,\n data: fetchedTokens,\n });\n\n return fetchedTokens;\n}\n\nfunction produceQueries({\n addresses,\n chainIds,\n config,\n}: Omit<UseMultichainTokensDataInputDefault, \"combine\"> & { config: Config }) {\n if (addresses.length === 0 || chainIds.length === 0) {\n // don't spawn any queries\n return [];\n }\n\n const contractsArr = addresses.map(\n (address) =>\n [\n {\n address,\n abi: erc20Abi,\n functionName: \"symbol\",\n },\n {\n address,\n abi: erc20Abi,\n functionName: \"name\",\n },\n {\n address,\n abi: erc20Abi,\n functionName: \"decimals\",\n },\n ] as const\n );\n\n const callsPerToken = contractsArr[0]?.length;\n\n type Calls = (typeof contractsArr)[0];\n type MulticallRes = MulticallReturnType<Calls, true>;\n const contractsForAllChainsArr = chainIds.map((chainId) =>\n contractsArr.flatMap((contractsCalls) =>\n contractsCalls.map((contract) => ({ ...contract, chainId }))\n )\n );\n\n type SingleChainResult = ReadContractsData<Calls[], true>;\n\n type QueryOpts = MarkRequired<\n UseQueryOptions<\n SingleChainResult,\n Error,\n MinErc20Token[],\n [\n \"readContracts/tokensData/batch\",\n { addresses: Address[]; chainId?: SupportedChainId },\n ]\n >,\n \"select\"\n >;\n\n const select = (\n result: SingleChainResult,\n contracts: { address: Address; chainId: SupportedChainId }[]\n ): MinErc20Token[] => {\n const tokenData: MinErc20Token[] = [];\n\n assert(callsPerToken, \"zero calls made\");\n for (let i = 0; i < result.length; i += callsPerToken) {\n const { address, chainId } = contracts[i] || {};\n assert(\n address && chainId,\n `contract call object for index ${i} should be defined`\n );\n\n const tokenDataSlice = result.slice(i, i + callsPerToken) as MulticallRes;\n\n const [symbolResult, nameResult, decimalsResult] = tokenDataSlice;\n\n const symbol =\n symbolResult?.status === \"success\" ? symbolResult.result : undefined;\n const decimals =\n decimalsResult?.status === \"success\"\n ? decimalsResult.result\n : undefined;\n\n const name =\n nameResult?.status === \"success\" ? nameResult.result : undefined;\n\n if (!symbol || !decimals || !name) {\n // skip if it's not a valid token.\n continue;\n }\n\n const minTokenData: MinErc20Token = {\n address: address.toLowerCase(),\n network: chainId,\n symbol,\n decimals,\n name,\n };\n tokenData.push(minTokenData);\n }\n\n return tokenData;\n };\n\n const queries = contractsForAllChainsArr.map<QueryOpts>((contracts) => ({\n queryKey: [\n \"readContracts/tokensData/batch\",\n { addresses, chainId: contracts[0]?.chainId },\n ],\n queryFn: async () => {\n const data = await readContracts(config, {\n contracts,\n allowFailure: true,\n batchSize: 512,\n });\n return data;\n },\n select: (res) => select(res, contracts),\n enabled: contracts.length > 0,\n staleTime: Infinity,\n gcTime: Infinity,\n }));\n\n return queries;\n}\n\ntype FetchUnknownTokenDataInput = {\n address: Address;\n chainId: SupportedChainId;\n config?: Config;\n client?: QueryClient;\n};\n\nexport async function fetchUnknownTokenData({\n address,\n chainId,\n config = wagmiConfig,\n client = queryClient,\n}: FetchUnknownTokenDataInput): Promise<MinErc20Token | null> {\n const [queryOptions] = produceQueries({\n addresses: [address],\n chainIds: [chainId],\n config,\n });\n\n if (!queryOptions) {\n return null;\n }\n\n try {\n // doesn't throw just returns {status:\"failure\"} which select eliminates\n const data = await client.ensureQueryData(queryOptions);\n // queryClient.fetch*|ensure doesn't use select\n const selectedData = queryOptions.select(data);\n return selectedData[0] ?? null;\n } catch {\n // in case of RPC/network error\n return null;\n }\n}\n"],"names":["defaultCombine","results","mapping","reduce","accum","result","data","isFilledArray","chainId","network","tokensMapping","gatherObjectsByProp","token","address","toLowerCase","useMultiChainTokensData","t0","$","_c","addresses","chainIds","combine","logger","useLogger","config","useConfig","t1","produceQueries","queries","t2","t3","fetchedTokens","useQueries","once","log","length","contractsArr","map","abi","erc20Abi","functionName","callsPerToken","contractsForAllChainsArr","flatMap","contractsCalls","contract","select","contracts","tokenData","assert","i","tokenDataSlice","slice","symbolResult","nameResult","decimalsResult","symbol","status","undefined","decimals","name","minTokenData","push","queryKey","queryFn","readContracts","allowFailure","batchSize","res","enabled","staleTime","Infinity","gcTime","fetchUnknownTokenData","wagmiConfig","client","queryClient","queryOptions","ensureQueryData","selectedData"],"mappings":"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"}
1
+ {"version":3,"file":"useMultichainTokensData.js","sources":["../../../../src/hooks/tokens/data/useMultichainTokensData.ts"],"sourcesContent":["import type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { type Address } from \"viem\";\nimport { assert, type MarkOptional, type MarkRequired } from \"ts-essentials\";\nimport { type MinErc20Token } from \"@/tokens/state/types\";\nimport { erc20Abi, type MulticallReturnType } from \"viem\";\nimport { useConfig } from \"wagmi\";\nimport type { ReadContractsData } from \"wagmi/query\";\nimport { useLogger } from \"@/core/logger\";\nimport { readContracts, type Config } from \"@wagmi/core\";\nimport {\n QueryClient,\n useQueries,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\n\ntype TokensByAddressByChain = Partial<\n Record<SupportedChainId, Record<Address, MinErc20Token>>\n>;\n\nconst defaultCombine = (\n results: UseQueryResult<MinErc20Token[], Error>[]\n): TokensByAddressByChain => {\n const mapping = results.reduce<TokensByAddressByChain>((accum, result) => {\n if (!result.data || !isFilledArray(result.data)) return accum;\n const chainId = result.data[0].network;\n const tokensMapping: Record<Address, MinErc20Token> = gatherObjectsByProp(\n result.data,\n (token) => token.address.toLowerCase()\n );\n\n if (!accum[chainId]) {\n accum[chainId] = {};\n }\n\n accum[chainId] = tokensMapping;\n return accum;\n }, {});\n\n return mapping;\n};\n\ntype UseMultichainTokensDataInput<Res> = {\n addresses: Address[];\n chainIds: SupportedChainId[];\n combine: (results: UseQueryResult<MinErc20Token[], Error>[]) => Res;\n};\n\ntype UseMultichainTokensDataInputDefault = MarkOptional<\n UseMultichainTokensDataInput<never>,\n \"combine\"\n>;\n\n// Function overloads to accept combine function\nexport function useMultiChainTokensData(\n input: UseMultichainTokensDataInputDefault\n): TokensByAddressByChain;\nexport function useMultiChainTokensData<T>(\n input: UseMultichainTokensDataInput<T>\n): T;\nexport function useMultiChainTokensData<T>({\n addresses,\n chainIds,\n combine,\n}: MarkOptional<UseMultichainTokensDataInput<T>, \"combine\">):\n | T\n | TokensByAddressByChain;\nexport function useMultiChainTokensData<T>({\n addresses,\n chainIds,\n combine,\n}: MarkOptional<UseMultichainTokensDataInput<T>, \"combine\">):\n | T\n | TokensByAddressByChain {\n const logger = useLogger(\"MultichainTokensData\");\n\n const config = useConfig();\n\n const queries = produceQueries({ addresses, chainIds, config });\n\n // useReadContracts uses a singular useQuery internally\n // which calls readContracts once only for multiple chainIds\n // and has to wait for all promises to resolve before returning the data.\n // useQueries allows to independently process readContracts results for each chainId\n const fetchedTokens = useQueries<typeof queries, T | TokensByAddressByChain>({\n queries,\n combine: combine || defaultCombine,\n });\n\n logger.once.log(\"TokensData result\", {\n addresses,\n chainIds,\n data: fetchedTokens,\n });\n\n return fetchedTokens;\n}\n\nfunction produceQueries({\n addresses,\n chainIds,\n config,\n}: Omit<UseMultichainTokensDataInputDefault, \"combine\"> & { config: Config }) {\n if (addresses.length === 0 || chainIds.length === 0) {\n // don't spawn any queries\n return [];\n }\n\n const contractsArr = addresses.map(\n (address) =>\n [\n {\n address,\n abi: erc20Abi,\n functionName: \"symbol\",\n },\n {\n address,\n abi: erc20Abi,\n functionName: \"name\",\n },\n {\n address,\n abi: erc20Abi,\n functionName: \"decimals\",\n },\n ] as const\n );\n\n const callsPerToken = contractsArr[0]?.length;\n\n type Calls = (typeof contractsArr)[0];\n type MulticallRes = MulticallReturnType<Calls, true>;\n const contractsForAllChainsArr = chainIds.map((chainId) =>\n contractsArr.flatMap((contractsCalls) =>\n contractsCalls.map((contract) => ({ ...contract, chainId }))\n )\n );\n\n type SingleChainResult = ReadContractsData<Calls[], true>;\n\n type QueryOpts = MarkRequired<\n UseQueryOptions<\n SingleChainResult,\n Error,\n MinErc20Token[],\n [\n \"readContracts/tokensData/batch\",\n { addresses: Address[]; chainId?: SupportedChainId },\n ]\n >,\n \"select\"\n >;\n\n const select = (\n result: SingleChainResult,\n contracts: { address: Address; chainId: SupportedChainId }[]\n ): MinErc20Token[] => {\n const tokenData: MinErc20Token[] = [];\n\n assert(callsPerToken, \"zero calls made\");\n for (let i = 0; i < result.length; i += callsPerToken) {\n const { address, chainId } = contracts[i] || {};\n assert(\n address && chainId,\n `contract call object for index ${i} should be defined`\n );\n\n const tokenDataSlice = result.slice(i, i + callsPerToken) as MulticallRes;\n\n const [symbolResult, nameResult, decimalsResult] = tokenDataSlice;\n\n const symbol =\n symbolResult?.status === \"success\" ? symbolResult.result : undefined;\n const decimals =\n decimalsResult?.status === \"success\"\n ? decimalsResult.result\n : undefined;\n\n const name =\n nameResult?.status === \"success\" ? nameResult.result : undefined;\n\n if (!symbol || !decimals || !name) {\n // skip if it's not a valid token.\n continue;\n }\n\n const minTokenData: MinErc20Token = {\n address: address.toLowerCase(),\n network: chainId,\n symbol,\n decimals,\n name,\n };\n tokenData.push(minTokenData);\n }\n\n return tokenData;\n };\n\n const queries = contractsForAllChainsArr.map<QueryOpts>((contracts) => ({\n queryKey: [\n \"readContracts/tokensData/batch\",\n { addresses, chainId: contracts[0]?.chainId },\n ],\n queryFn: async () => {\n const data = await readContracts(config, {\n contracts,\n allowFailure: true,\n batchSize: 512,\n });\n return data;\n },\n select: (res) => select(res, contracts),\n enabled: contracts.length > 0,\n staleTime: Infinity,\n gcTime: Infinity,\n }));\n\n return queries;\n}\n\ntype FetchUnknownTokenDataInput = {\n address: Address;\n chainId: SupportedChainId;\n config?: Config;\n client?: QueryClient;\n};\n\nexport async function fetchUnknownTokenData({\n address,\n chainId,\n config = wagmiConfig,\n client = queryClient,\n}: FetchUnknownTokenDataInput): Promise<MinErc20Token | null> {\n const [queryOptions] = produceQueries({\n addresses: [address],\n chainIds: [chainId],\n config,\n });\n\n if (!queryOptions) {\n return null;\n }\n\n try {\n // doesn't throw just returns {status:\"failure\"} which select eliminates\n const data = await client.ensureQueryData(queryOptions);\n // queryClient.fetch*|ensure doesn't use select\n const selectedData = queryOptions.select(data);\n return selectedData[0] ?? null;\n } catch {\n // in case of RPC/network error\n return null;\n }\n}\n"],"names":["defaultCombine","results","mapping","reduce","accum","result","data","isFilledArray","chainId","network","tokensMapping","gatherObjectsByProp","token","address","toLowerCase","useMultiChainTokensData","t0","$","_c","addresses","chainIds","combine","logger","useLogger","config","useConfig","t1","produceQueries","queries","t2","t3","fetchedTokens","useQueries","once","log","length","contractsArr","map","abi","erc20Abi","functionName","callsPerToken","contractsForAllChainsArr","flatMap","contractsCalls","contract","select","contracts","tokenData","assert","i","tokenDataSlice","slice","symbolResult","nameResult","decimalsResult","symbol","status","undefined","decimals","name","minTokenData","push","queryKey","queryFn","readContracts","allowFailure","batchSize","res","enabled","staleTime","Infinity","gcTime","fetchUnknownTokenData","wagmiConfig","client","queryClient","queryOptions","ensureQueryData","selectedData"],"mappings":"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"}
@@ -6,11 +6,10 @@ import { constructTokenPricesQueryOptions } from './queries.js';
6
6
  const useMultiChainTokenPrices = (chainIds, _params) => {
7
7
  const $ = distExports.c(12);
8
8
  let t0;
9
- let t1;
10
9
  if ($[0] !== _params || $[1] !== chainIds) {
11
- let t22;
10
+ let t12;
12
11
  if ($[3] !== _params) {
13
- t22 = (chainId) => {
12
+ t12 = (chainId) => {
14
13
  const specificQueryParams = _params?.[chainId];
15
14
  return constructTokenPricesQueryOptions({
16
15
  chainId,
@@ -19,36 +18,34 @@ const useMultiChainTokenPrices = (chainIds, _params) => {
19
18
  });
20
19
  };
21
20
  $[3] = _params;
22
- $[4] = t22;
21
+ $[4] = t12;
23
22
  } else {
24
- t22 = $[4];
23
+ t12 = $[4];
25
24
  }
26
- t1 = chainIds.map(t22);
25
+ t0 = chainIds.map(t12);
27
26
  $[0] = _params;
28
27
  $[1] = chainIds;
29
- $[2] = t1;
28
+ $[2] = t0;
30
29
  } else {
31
- t1 = $[2];
30
+ t0 = $[2];
32
31
  }
33
- t0 = t1;
34
32
  const queries = t0;
35
- let t2;
33
+ let t1;
36
34
  if ($[5] !== queries) {
37
- t2 = {
35
+ t1 = {
38
36
  queries
39
37
  };
40
38
  $[5] = queries;
41
- $[6] = t2;
39
+ $[6] = t1;
42
40
  } else {
43
- t2 = $[6];
41
+ t1 = $[6];
44
42
  }
45
- const queryResults = useQueries(t2);
46
- let t3;
47
- let t4;
43
+ const queryResults = useQueries(t1);
44
+ let t2;
48
45
  if ($[7] !== chainIds || $[8] !== queryResults) {
49
- let t5;
46
+ let t3;
50
47
  if ($[10] !== queryResults) {
51
- t5 = (accum, chainId_0, index) => {
48
+ t3 = (accum, chainId_0, index) => {
52
49
  const result = queryResults[index]?.data;
53
50
  if (result) {
54
51
  accum[chainId_0] = result;
@@ -56,19 +53,18 @@ const useMultiChainTokenPrices = (chainIds, _params) => {
56
53
  return accum;
57
54
  };
58
55
  $[10] = queryResults;
59
- $[11] = t5;
56
+ $[11] = t3;
60
57
  } else {
61
- t5 = $[11];
58
+ t3 = $[11];
62
59
  }
63
- t4 = chainIds.reduce(t5, {});
60
+ t2 = chainIds.reduce(t3, {});
64
61
  $[7] = chainIds;
65
62
  $[8] = queryResults;
66
- $[9] = t4;
63
+ $[9] = t2;
67
64
  } else {
68
- t4 = $[9];
65
+ t2 = $[9];
69
66
  }
70
- t3 = t4;
71
- return t3;
67
+ return t2;
72
68
  };
73
69
 
74
70
  export { useMultiChainTokenPrices };
@@ -1 +1 @@
1
- {"version":3,"file":"useMultichainTokenPrices.js","sources":["../../../../src/hooks/tokens/prices/useMultichainTokenPrices.ts"],"sourcesContent":["import { useQueries } from \"@tanstack/react-query\";\nimport { useMemo } from \"react\";\nimport type { FiatPriceMap, UseMultichainTokenPricesInput } from \"./types\";\nimport { constructTokenPricesQueryOptions } from \"./queries\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const useMultiChainTokenPrices = (\n chainIds: SupportedChainId[],\n _params?: UseMultichainTokenPricesInput\n): Record<number, FiatPriceMap> => {\n const queries = useMemo(\n () =>\n chainIds.map((chainId) => {\n const specificQueryParams = _params?.[chainId];\n\n return constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices: specificQueryParams?.fallbackToCachedPrices,\n enabled: specificQueryParams?.enabled,\n });\n }),\n [_params, chainIds]\n );\n\n const queryResults = useQueries({ queries });\n\n return useMemo(\n () =>\n chainIds.reduce<Record<number, FiatPriceMap>>((accum, chainId, index) => {\n const result = queryResults[index]?.data;\n if (result) accum[chainId] = result;\n return accum;\n }, {}),\n [chainIds, queryResults]\n );\n};\n"],"names":["useMultiChainTokenPrices","chainIds","_params","$","_c","t0","t1","t2","chainId","specificQueryParams","constructTokenPricesQueryOptions","fallbackToCachedPrices","enabled","map","queries","queryResults","useQueries","t3","t4","t5","accum","chainId_0","index","result","data","reduce"],"mappings":"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"}
1
+ {"version":3,"file":"useMultichainTokenPrices.js","sources":["../../../../src/hooks/tokens/prices/useMultichainTokenPrices.ts"],"sourcesContent":["import { useQueries } from \"@tanstack/react-query\";\nimport { useMemo } from \"react\";\nimport type { FiatPriceMap, UseMultichainTokenPricesInput } from \"./types\";\nimport { constructTokenPricesQueryOptions } from \"./queries\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const useMultiChainTokenPrices = (\n chainIds: SupportedChainId[],\n _params?: UseMultichainTokenPricesInput\n): Record<number, FiatPriceMap> => {\n const queries = useMemo(\n () =>\n chainIds.map((chainId) => {\n const specificQueryParams = _params?.[chainId];\n\n return constructTokenPricesQueryOptions({\n chainId,\n fallbackToCachedPrices: specificQueryParams?.fallbackToCachedPrices,\n enabled: specificQueryParams?.enabled,\n });\n }),\n [_params, chainIds]\n );\n\n const queryResults = useQueries({ queries });\n\n return useMemo(\n () =>\n chainIds.reduce<Record<number, FiatPriceMap>>((accum, chainId, index) => {\n const result = queryResults[index]?.data;\n if (result) accum[chainId] = result;\n return accum;\n }, {}),\n [chainIds, queryResults]\n );\n};\n"],"names":["useMultiChainTokenPrices","chainIds","_params","$","_c","t0","t1","chainId","specificQueryParams","constructTokenPricesQueryOptions","fallbackToCachedPrices","enabled","map","queries","queryResults","useQueries","t2","t3","accum","chainId_0","index","result","data","reduce"],"mappings":";;;;;AAMO,MAAMA,wBAAAA,GAA2BA,CAAAC,QAAAA,EAAAC,OAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,EAAA,CAAA,CAAA,KAAAD,WAAAC,CAAAA,QAAAF,QAAAA,EAAA;AAAA,IAAA,IAAAK,GAAAA;AAAA,IAAA,IAAAH,CAAAA,QAAAD,OAAAA,EAAA;AAMrBI,MAAAA,MAAAC,CAAAA,OAAAA,KAAA;AACX,QAAA,MAAAC,mBAAAA,GAA4BN,UAAUK,OAAO,CAAA;AAAE,QAAA,OAExCE,gCAAAA,CAAiC;AAAA,UAAAF,OAAAA;AAAAA,UAAAG,wBAEdF,mBAAAA,EAAmBE,sBAAAA;AAAAA,UAAwBC,SAC1DH,mBAAAA,EAAmBG;AAAAA,SAC7B,CAAA;AAAA,MAAC,CAAA;AACHR,MAAAA,CAAAA,MAAAD,OAAAA;AAAAC,MAAAA,CAAAA,MAAAG,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,IAAA;AARDE,IAAAA,EAAAA,GAAAJ,QAAAA,CAAQW,IAAKN,GAQZ,CAAA;AAACH,IAAAA,CAAAA,MAAAD,OAAAA;AAAAC,IAAAA,CAAAA,MAAAF,QAAAA;AAAAE,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAVN,EAAA,MAAAU,OAAAA,GAEIR,EAAAA;AAUF,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAH,CAAAA,QAAAU,OAAAA,EAAA;AAE8BP,IAAAA,EAAAA,GAAA;AAAA,MAAAO;AAAAA,KAAU;AAACV,IAAAA,CAAAA,MAAAU,OAAAA;AAAAV,IAAAA,CAAAA,MAAAG,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAH,EAAA,CAAA,CAAA;AAAA,EAAA;AAA3C,EAAA,MAAAW,YAAAA,GAAqBC,WAAWT,EAAW,CAAA;AAAE,EAAA,IAAAU,EAAAA;AAAA,EAAA,IAAAb,EAAA,CAAA,CAAA,KAAAF,YAAAE,CAAAA,QAAAW,YAAAA,EAAA;AAAA,IAAA,IAAAG,EAAAA;AAAA,IAAA,IAAAd,CAAAA,SAAAW,YAAAA,EAAA;AAIKG,MAAAA,EAAAA,GAAAA,CAAAC,KAAAA,EAAAC,SAAAA,EAAAC,KAAAA,KAAA;AAC5C,QAAA,MAAAC,MAAAA,GAAeP,YAAAA,CAAaM,KAAK,CAAA,EAAOE,IAAAA;AACxC,QAAA,IAAID,MAAAA,EAAM;AAAEH,UAAAA,KAAAA,CAAMX,SAAO,CAAA,GAAIc,MAAAA;AAAAA,QAAH;AAAU,QAAA,OAC7BH,KAAAA;AAAAA,MAAK,CAAA;AACbf,MAAAA,CAAAA,OAAAW,YAAAA;AAAAX,MAAAA,CAAAA,OAAAc,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAd,EAAA,EAAA,CAAA;AAAA,IAAA;AAJDa,IAAAA,EAAAA,GAAAf,QAAAA,CAAQsB,MAAAA,CAAsCN,EAAAA,EAI3C,EAAE,CAAA;AAACd,IAAAA,CAAAA,MAAAF,QAAAA;AAAAE,IAAAA,CAAAA,MAAAW,YAAAA;AAAAX,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJNa,EAAAA;AAIM;;;;"}