@velora-dex/widget 0.8.5-dev.1 → 0.10.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 (238) hide show
  1. package/dist/components/web3/AccountButton.js +1 -1
  2. package/dist/components/web3/AccountButton.js.map +1 -1
  3. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
  4. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +22 -21
  5. package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
  6. package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
  7. package/dist/components/web3/ConnectExternalProvider/utils.js +1 -1
  8. package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
  9. package/dist/components/web3/ConnectWallets/index.d.ts.map +1 -1
  10. package/dist/components/web3/ConnectWallets/index.js +67 -66
  11. package/dist/components/web3/ConnectWallets/index.js.map +1 -1
  12. package/dist/components/web3/ConnectWallets/privy/iframe.js +1 -1
  13. package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
  14. package/dist/components/web3/ConnectWallets/walletIcons.d.ts.map +1 -1
  15. package/dist/components/web3/ConnectWallets/walletIcons.js +1 -1
  16. package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
  17. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  18. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +27 -26
  19. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  20. package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
  21. package/dist/components/widget/AppHeader/Activities/hooks.js +9 -9
  22. package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
  23. package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
  24. package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
  25. package/dist/components/widget/AppHeader/AppHeader.js +1 -1
  26. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  27. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +1 -1
  28. package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
  29. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  30. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js +2 -2
  31. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
  32. package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
  33. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  34. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  35. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js +1 -1
  36. package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
  37. package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
  38. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js +1 -1
  39. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
  40. package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
  41. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  42. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  43. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  44. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  45. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
  46. package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
  47. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +2 -2
  48. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  49. package/dist/core/LimitOrderButton.js +1 -1
  50. package/dist/core/LimitOrderButton.js.map +1 -1
  51. package/dist/core/OtcOrderButton.js +1 -1
  52. package/dist/core/OtcOrderButton.js.map +1 -1
  53. package/dist/core/TradeFlowScreenButton.js +1 -1
  54. package/dist/core/TradeFlowScreenButton.js.map +1 -1
  55. package/dist/core/across/utils.js.map +1 -1
  56. package/dist/core/index.js +1 -1
  57. package/dist/core/index.js.map +1 -1
  58. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  59. package/dist/core/inputs/state/guards.d.ts.map +1 -1
  60. package/dist/core/inputs/state/guards.js.map +1 -1
  61. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  62. package/dist/core/limit/state/limitInputAmountAtom.d.ts.map +1 -1
  63. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  64. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  65. package/dist/core/otc/state/otcInputAmountAtom.d.ts.map +1 -1
  66. package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
  67. package/dist/core/state/configAtom.js +2 -2
  68. package/dist/core/state/configAtom.js.map +1 -1
  69. package/dist/core/state/getSelectableDestChains.d.ts +1 -1
  70. package/dist/core/state/getSelectableDestChains.d.ts.map +1 -1
  71. package/dist/core/state/getSelectableDestChains.js.map +1 -1
  72. package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -1
  73. package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
  74. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  75. package/dist/events/hooks/useOnWalletConnect.js +1 -1
  76. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  77. package/dist/events/types/swap.d.ts.map +1 -1
  78. package/dist/hooks/batch/useBatchWithApproveTxs.js +1 -1
  79. package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
  80. package/dist/hooks/batch/useCanBatchTxs.js +3 -3
  81. package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
  82. package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
  83. package/dist/hooks/batch/useSendBatchTx.js +1 -1
  84. package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
  85. package/dist/hooks/connectors/useIsGnosisSafeConnector.d.ts.map +1 -1
  86. package/dist/hooks/connectors/useIsGnosisSafeConnector.js +1 -1
  87. package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
  88. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.d.ts.map +1 -1
  89. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js +1 -1
  90. package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
  91. package/dist/hooks/getCode/useIsAccountContract.d.ts +1 -1
  92. package/dist/hooks/getCode/useIsAccountContract.d.ts.map +1 -1
  93. package/dist/hooks/getCode/useIsAccountContract.js +1 -1
  94. package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
  95. package/dist/hooks/getCode/useIsContractAtAddress.d.ts +1 -1
  96. package/dist/hooks/getCode/useIsContractAtAddress.d.ts.map +1 -1
  97. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js +2 -2
  98. package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
  99. package/dist/hooks/otc/queries/useLimitOrders.d.ts.map +1 -1
  100. package/dist/hooks/otc/queries/useLimitOrders.js +1 -1
  101. package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
  102. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js +3 -3
  103. package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
  104. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js +3 -3
  105. package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
  106. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.d.ts.map +1 -1
  107. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js +2 -2
  108. package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
  109. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js +1 -1
  110. package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
  111. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js +1 -1
  112. package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
  113. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +1 -1
  114. package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
  115. package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.d.ts +2 -2
  116. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +1 -1
  117. package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
  118. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js +1 -1
  119. package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
  120. package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
  121. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  122. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
  123. package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
  124. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
  125. package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
  126. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +1 -1
  127. package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
  128. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
  129. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  130. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  131. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  132. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js +1 -1
  133. package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
  134. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
  135. package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
  136. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js +1 -1
  137. package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
  138. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  139. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  140. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  141. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -1
  142. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
  143. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -1
  144. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
  145. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
  146. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -1
  147. package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
  148. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.d.ts +11 -6
  149. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.d.ts.map +1 -1
  150. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js +1 -1
  151. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
  152. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js +2 -2
  153. package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js.map +1 -1
  154. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +1 -1
  155. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  156. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  157. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  158. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  159. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  160. package/dist/hooks/swap/prices/usePricesParams.js +4 -4
  161. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  162. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  163. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  164. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +1 -1
  165. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  166. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  167. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +3 -3
  168. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  169. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -1
  170. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  171. package/dist/hooks/swap/tradeFlow/useTwapFlow.js +1 -1
  172. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  173. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js +1 -1
  174. package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
  175. package/dist/hooks/tokens/allowance/useTokenAllowance.js +1 -1
  176. package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
  177. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js +1 -1
  178. package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
  179. package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
  180. package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
  181. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +1 -1
  182. package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
  183. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js +1 -1
  184. package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
  185. package/dist/hooks/tokens/balances/useTokenBalance.d.ts +0 -11
  186. package/dist/hooks/tokens/balances/useTokenBalance.d.ts.map +1 -1
  187. package/dist/hooks/tokens/balances/useTokenBalance.js +11 -11
  188. package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
  189. package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
  190. package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
  191. package/dist/hooks/txs/mutations/useApprove.d.ts.map +1 -1
  192. package/dist/hooks/txs/mutations/useApprove.js +2 -2
  193. package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
  194. package/dist/hooks/txs/mutations/useDepositWeth.js +1 -1
  195. package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
  196. package/dist/hooks/txs/mutations/useReplaceTx.js +3 -3
  197. package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
  198. package/dist/hooks/txs/mutations/useSendTx.d.ts.map +1 -1
  199. package/dist/hooks/txs/mutations/useSendTx.js +2 -2
  200. package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
  201. package/dist/hooks/txs/queries/useAwaitTx.js +4 -4
  202. package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
  203. package/dist/hooks/txs/queries/useTxResponse.d.ts +88 -1
  204. package/dist/hooks/txs/queries/useTxResponse.d.ts.map +1 -1
  205. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js +1 -1
  206. package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
  207. package/dist/hooks/useAvailableCrosses.js.map +1 -1
  208. package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
  209. package/dist/hooks/useBridgeInfo.js.map +1 -1
  210. package/dist/hooks/useChainMatches.js +2 -2
  211. package/dist/hooks/useChainMatches.js.map +1 -1
  212. package/dist/hooks/useConnections.d.ts +3 -0
  213. package/dist/hooks/useConnections.d.ts.map +1 -0
  214. package/dist/hooks/useConnections.js +24 -0
  215. package/dist/hooks/useConnections.js.map +1 -0
  216. package/dist/hooks/useDisconnect.d.ts +3 -0
  217. package/dist/hooks/useDisconnect.d.ts.map +1 -0
  218. package/dist/hooks/useDisconnect.js +29 -0
  219. package/dist/hooks/useDisconnect.js.map +1 -0
  220. package/dist/hooks/useMinViemClient.d.ts.map +1 -1
  221. package/dist/hooks/useMinViemClient.js +9 -9
  222. package/dist/hooks/useMinViemClient.js.map +1 -1
  223. package/dist/hooks/useSDK.d.ts.map +1 -1
  224. package/dist/hooks/useSDK.js.map +1 -1
  225. package/dist/hooks/useSwitchChainWithGuard.js +1 -1
  226. package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
  227. package/dist/lib/constants/urls.js +1 -1
  228. package/dist/lib/constants/urls.js.map +1 -1
  229. package/dist/lib/utils/twap.js.map +1 -1
  230. package/dist/lib/web3/wagmi/config.d.ts +40 -1
  231. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  232. package/dist/lib/web3/wagmi/constants.d.ts +40 -1
  233. package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
  234. package/dist/lib/web3/wagmi/switchChain.d.ts +40 -1
  235. package/dist/lib/web3/wagmi/switchChain.d.ts.map +1 -1
  236. package/dist/tokens/lists/lists.js.map +1 -1
  237. package/dist/tokens/lists/lists.json.d.ts +12 -31
  238. package/package.json +13 -11
@@ -1 +1 @@
1
- {"version":3,"file":"useInvalidateTokenData.js","names":["NonceMethod","Query","QueryClient","QueryKey","erc20Abi","Address","Config","ReadContractQueryKey","GetBalanceQueryKey","ReadContractsQueryKey","LooseQueryMatchToInvalidate","queryKey","Q","exact","predicate","query","ETHBalanceQueryMatch","ERC20BalanceQueryKey","ERC20BalanceAllowanceQueryMatch","isReadContractQueryKey","NoncesQueryKey","address","abi","functionName","args","NoncesQueryMatch","nonceMethods","isReadContractsQueryKey","TokenFuncsToInvalidate","allowance","balanceOf","nonces","invalidateBalancesAndAllowancesFactory","queryClient","queries","ethBalanceQuery","push","ERC20Func","NonNullable","tokenFuncs","length","matchedERC20Funcs","erc20BalanceQuery","includes","matchedNonceMethods","nonceQuery","firstMethod","contracts","Promise","all","map","invalidateQueries"],"sources":["../../../../src/hooks/tokens/balances/useInvalidateTokenData.ts"],"sourcesContent":["import type { NonceMethod } from \"@/hooks/permit/hooks/permit1/usePermit1Nonce\";\nimport { Query, QueryClient, type QueryKey } from \"@tanstack/react-query\";\n\nimport { erc20Abi, type Address } from \"viem\";\nimport { type Config } from \"wagmi\";\nimport {\n type ReadContractQueryKey,\n type GetBalanceQueryKey,\n type ReadContractsQueryKey,\n} from \"wagmi/query\";\n\ntype LooseQueryMatchToInvalidate<Q extends QueryKey> = {\n queryKey: [Q[0]];\n exact: false;\n predicate?: (query: Query) => boolean;\n};\n\ntype ETHBalanceQueryMatch = LooseQueryMatchToInvalidate<\n GetBalanceQueryKey<Config>\n>;\n\ntype ERC20BalanceQueryKey = ReadContractQueryKey<\n typeof erc20Abi,\n \"balanceOf\" | \"allowance\",\n [Address],\n Config\n>;\ntype ERC20BalanceAllowanceQueryMatch =\n LooseQueryMatchToInvalidate<ERC20BalanceQueryKey>;\n\nfunction isReadContractQueryKey(\n queryKey: QueryKey\n): queryKey is ReadContractQueryKey<unknown[], string, unknown[], Config> {\n return queryKey[0] === \"readContract\";\n}\n\ntype NoncesQueryKey = ReadContractsQueryKey<\n {\n address: Address;\n abi: typeof erc20Abi;\n functionName: NonceMethod;\n args: [Address];\n }[],\n boolean,\n Config\n>;\n\ntype NoncesQueryMatch = LooseQueryMatchToInvalidate<NoncesQueryKey>;\nconst nonceMethods: NonceMethod[] = [\"nonces\", \"_nonces\", \"nonce\", \"getNonce\"];\n\nfunction isReadContractsQueryKey(\n queryKey: QueryKey\n): queryKey is ReadContractsQueryKey<unknown[], boolean, Config> {\n return queryKey[0] === \"readContracts\";\n}\n\ntype TokenFuncsToInvalidate = {\n allowance?: boolean;\n balanceOf?: boolean;\n nonces?: boolean; // invalidate queries with Permit1 nonces,\n // Permit2 nonces can be safely incremented without syncing with what's on chain\n};\n/**\n * Helper function constructor to invalidate token-related query cache entries.\n * Used to refresh token balances and allowances after transactions that modify them.\n * Can selectively invalidate either balance or allowance queries, or both.\n * Invalidates for all tokens that have their queries currently mounted, which is easier than matching.\n */\nexport const invalidateBalancesAndAllowancesFactory =\n (queryClient: QueryClient) =>\n async ({\n allowance = true,\n balanceOf = true,\n nonces = false,\n }: TokenFuncsToInvalidate = {}) => {\n const queries: LooseQueryMatchToInvalidate<QueryKey>[] = [];\n\n if (balanceOf) {\n const ethBalanceQuery: ETHBalanceQueryMatch = {\n // easier to just match the queryKey base\n queryKey: [\"balance\"],\n exact: false,\n };\n queries.push(ethBalanceQuery);\n }\n\n type ERC20Func = NonNullable<ERC20BalanceQueryKey[1][\"functionName\"]>;\n\n const tokenFuncs: ERC20Func[] = [];\n if (balanceOf) {\n tokenFuncs.push(\"balanceOf\");\n }\n if (allowance) {\n tokenFuncs.push(\"allowance\");\n }\n\n if (tokenFuncs.length > 0) {\n // relax type to allow string[].includes(string)\n const matchedERC20Funcs: string[] = tokenFuncs;\n\n const erc20BalanceQuery: ERC20BalanceAllowanceQueryMatch = {\n queryKey: [\"readContract\"],\n exact: false,\n predicate: (query) => {\n const { queryKey } = query;\n // all queries that read Contract.<anything>\n if (isReadContractQueryKey(queryKey)) {\n if (\n queryKey[1].functionName &&\n matchedERC20Funcs.includes(queryKey[1].functionName)\n // all queries that read Contract.balanceOf or Contract.allowance\n ) {\n return true;\n }\n }\n return false;\n },\n };\n queries.push(erc20BalanceQuery);\n }\n\n if (nonces) {\n // relax type to allow string[].includes(string)\n const matchedNonceMethods: string[] = nonceMethods;\n\n const nonceQuery: NoncesQueryMatch = {\n queryKey: [\"readContracts\"],\n exact: false,\n predicate: (query) => {\n const { queryKey } = query;\n // all queries that read multiple Contract.<anything>\n if (isReadContractsQueryKey(queryKey)) {\n // we only ever use nonce methods with other nonce methods only,\n // no non-nonce methods mixed in\n const firstMethod = queryKey[1].contracts?.[0]?.functionName;\n if (firstMethod && matchedNonceMethods.includes(firstMethod)) {\n return true;\n }\n }\n return false;\n },\n };\n queries.push(nonceQuery);\n }\n\n if (queries.length > 0) {\n await Promise.all(\n queries.map((query) => queryClient.invalidateQueries(query))\n );\n }\n };\n"],"mappings":";;;;;AA8BA,SAASmB,EACPR,GACwE;CACxE,OAAOA,EAAS,OAAO;;AAezB,IAAMe,IAA8B;CAAC;CAAU;CAAW;CAAS;CAAW;AAE9E,SAASC,EACPhB,GAC+D;CAC/D,OAAOA,EAAS,OAAO;;AAezB,IAAaqB,KACVC,MACD,OAAO,EACLJ,eAAY,IACZC,eAAY,IACZC,YAAS,OACiB,EAAE,KAAK;CACjC,IAAMG,IAAmD,EAAE;CAE3D,AAAIJ,KAMFI,EAAQE,KAAKD;EAHXxB,UAAU,CAAC,UAAU;EACrBE,OAAO;EAEIsB,CAAgB;CAK/B,IAAMI,IAA0B,EAAE;CAQlC,IAPIT,KACFS,EAAWH,KAAK,YAAY,EAE1BP,KACFU,EAAWH,KAAK,YAAY,EAG1BG,EAAWC,SAAS,GAAG;EAEzB,IAAMC,IAA8BF;EAoBpCL,EAAQE,KAAKM;GAjBX/B,UAAU,CAAC,eAAe;GAC1BE,OAAO;GACPC,YAAYC,MAAU;IACpB,IAAM,EAAEJ,gBAAaI;IAWrB,OATA,GAAII,EAAuBR,EAAS,IAEhCA,EAAS,GAAGY,gBACZkB,EAAkBE,SAAShC,EAAS,GAAGY,aAAY;;GAS9CmB,CAAkB;;CAGjC,IAAIX,GAAQ;EAEV,IAAMa,IAAgClB;EAmBtCQ,EAAQE,KAAKS;GAhBXlC,UAAU,CAAC,gBAAgB;GAC3BE,OAAO;GACPC,YAAYC,MAAU;IACpB,IAAM,EAAEJ,gBAAaI;IAErB,IAAIY,EAAwBhB,EAAS,EAAE;KAGrC,IAAMmC,IAAcnC,EAAS,GAAGoC,YAAY,IAAIxB;KAChD,IAAIuB,KAAeF,EAAoBD,SAASG,EAAY,EAC1D,OAAO;;IAGX,OAAO;;GAGED,CAAW;;CAG1B,AAAIX,EAAQM,SAAS,KACnB,MAAMQ,QAAQC,IACZf,EAAQgB,KAAKnC,MAAUkB,EAAYkB,kBAAkBpC,EAAM,CAC7D,CAAC"}
1
+ {"version":3,"file":"useInvalidateTokenData.js","names":["NonceMethod","Query","QueryClient","QueryKey","Prettify","erc20Abi","Abi","Address","ContractFunctionArgs","ContractFunctionName","Config","ReadContractQueryKey","GetBalanceQueryKey","ReadContractsQueryKey","LooseQueryMatchToInvalidate","queryKey","Q","exact","predicate","query","ETHBalanceQueryMatch","AbiFunctionName","abi","functionName","Extract","name","PartialReadContractQueryKey","ERC20BalanceQueryKey","ERC20BalanceAllowanceQueryMatch","isReadContractQueryKey","NoncesQueryKey","address","args","NoncesQueryMatch","nonceMethods","isReadContractsQueryKey","TokenFuncsToInvalidate","allowance","balanceOf","nonces","invalidateBalancesAndAllowancesFactory","queryClient","queries","ethBalanceQuery","push","ERC20Func","NonNullable","tokenFuncs","length","matchedERC20Funcs","erc20BalanceQuery","includes","matchedNonceMethods","nonceQuery","firstMethod","contracts","Promise","all","map","invalidateQueries"],"sources":["../../../../src/hooks/tokens/balances/useInvalidateTokenData.ts"],"sourcesContent":["import type { NonceMethod } from \"@/hooks/permit/hooks/permit1/usePermit1Nonce\";\nimport { Query, QueryClient, type QueryKey } from \"@tanstack/react-query\";\nimport type { Prettify } from \"ts-essentials\";\n\nimport {\n erc20Abi,\n type Abi,\n type Address,\n type ContractFunctionArgs,\n type ContractFunctionName,\n} from \"viem\";\nimport { type Config } from \"wagmi\";\nimport {\n type ReadContractQueryKey,\n type GetBalanceQueryKey,\n type ReadContractsQueryKey,\n} from \"wagmi/query\";\n\ntype LooseQueryMatchToInvalidate<Q extends QueryKey> = {\n queryKey: [Q[0]];\n exact: false;\n predicate?: (query: Query) => boolean;\n};\n\ntype ETHBalanceQueryMatch = LooseQueryMatchToInvalidate<\n GetBalanceQueryKey<Config>\n>;\n\ntype AbiFunctionName<\n abi extends Abi | readonly unknown[],\n functionName extends ContractFunctionName<abi, \"pure\" | \"view\">,\n> = { functionName: Extract<abi[number], { name: functionName }>[\"name\"] };\n\n// wagmi v3 ReadContractQueryKey type no longer preserves functionName in the queryKey[0]{}\ntype PartialReadContractQueryKey<\n abi extends Abi | readonly unknown[],\n functionName extends ContractFunctionName<abi, \"pure\" | \"view\">,\n> = [\n ReadContractQueryKey<\n abi,\n functionName,\n ContractFunctionArgs<abi, \"pure\" | \"view\", functionName>,\n Config\n >[0],\n Prettify<AbiFunctionName<abi, functionName>>,\n];\n\ntype ERC20BalanceQueryKey = PartialReadContractQueryKey<\n typeof erc20Abi,\n \"balanceOf\" | \"allowance\"\n>;\n\ntype ERC20BalanceAllowanceQueryMatch =\n LooseQueryMatchToInvalidate<ERC20BalanceQueryKey>;\n\nfunction isReadContractQueryKey(\n queryKey: QueryKey\n): queryKey is PartialReadContractQueryKey<Abi, string> {\n return queryKey[0] === \"readContract\";\n}\n\ntype NoncesQueryKey = ReadContractsQueryKey<\n {\n address: Address;\n abi: typeof erc20Abi;\n functionName: NonceMethod;\n args: [Address];\n }[],\n boolean,\n Config\n>;\n\ntype NoncesQueryMatch = LooseQueryMatchToInvalidate<NoncesQueryKey>;\nconst nonceMethods: NonceMethod[] = [\"nonces\", \"_nonces\", \"nonce\", \"getNonce\"];\n\nfunction isReadContractsQueryKey(\n queryKey: QueryKey\n): queryKey is ReadContractsQueryKey<unknown[], boolean, Config> {\n return queryKey[0] === \"readContracts\";\n}\n\ntype TokenFuncsToInvalidate = {\n allowance?: boolean;\n balanceOf?: boolean;\n nonces?: boolean; // invalidate queries with Permit1 nonces,\n // Permit2 nonces can be safely incremented without syncing with what's on chain\n};\n/**\n * Helper function constructor to invalidate token-related query cache entries.\n * Used to refresh token balances and allowances after transactions that modify them.\n * Can selectively invalidate either balance or allowance queries, or both.\n * Invalidates for all tokens that have their queries currently mounted, which is easier than matching.\n */\nexport const invalidateBalancesAndAllowancesFactory =\n (queryClient: QueryClient) =>\n async ({\n allowance = true,\n balanceOf = true,\n nonces = false,\n }: TokenFuncsToInvalidate = {}) => {\n const queries: LooseQueryMatchToInvalidate<QueryKey>[] = [];\n\n if (balanceOf) {\n const ethBalanceQuery: ETHBalanceQueryMatch = {\n // easier to just match the queryKey base\n queryKey: [\"balance\"],\n exact: false,\n };\n queries.push(ethBalanceQuery);\n }\n\n type ERC20Func = NonNullable<ERC20BalanceQueryKey[1][\"functionName\"]>;\n\n const tokenFuncs: ERC20Func[] = [];\n if (balanceOf) {\n tokenFuncs.push(\"balanceOf\");\n }\n if (allowance) {\n tokenFuncs.push(\"allowance\");\n }\n\n if (tokenFuncs.length > 0) {\n // relax type to allow string[].includes(string)\n const matchedERC20Funcs: string[] = tokenFuncs;\n\n const erc20BalanceQuery: ERC20BalanceAllowanceQueryMatch = {\n queryKey: [\"readContract\"],\n exact: false,\n predicate: (query) => {\n const { queryKey } = query;\n // all queries that read Contract.<anything>\n if (isReadContractQueryKey(queryKey)) {\n if (\n queryKey[1].functionName &&\n matchedERC20Funcs.includes(queryKey[1].functionName)\n // all queries that read Contract.balanceOf or Contract.allowance\n ) {\n return true;\n }\n }\n return false;\n },\n };\n queries.push(erc20BalanceQuery);\n }\n\n if (nonces) {\n // relax type to allow string[].includes(string)\n const matchedNonceMethods: string[] = nonceMethods;\n\n const nonceQuery: NoncesQueryMatch = {\n queryKey: [\"readContracts\"],\n exact: false,\n predicate: (query) => {\n const { queryKey } = query;\n // all queries that read multiple Contract.<anything>\n if (isReadContractsQueryKey(queryKey)) {\n // we only ever use nonce methods with other nonce methods only,\n // no non-nonce methods mixed in\n const firstMethod = queryKey[1].contracts?.[0]?.functionName;\n if (firstMethod && matchedNonceMethods.includes(firstMethod)) {\n return true;\n }\n }\n return false;\n },\n };\n queries.push(nonceQuery);\n }\n\n if (queries.length > 0) {\n await Promise.all(\n queries.map((query) => queryClient.invalidateQueries(query))\n );\n }\n };\n"],"mappings":";;;;;AAuDA,SAAS6B,EACPd,GACsD;CACtD,OAAOA,EAAS,OAAO;;AAezB,IAAMmB,IAA8B;CAAC;CAAU;CAAW;CAAS;CAAW;AAE9E,SAASC,EACPpB,GAC+D;CAC/D,OAAOA,EAAS,OAAO;;AAezB,IAAayB,KACVC,MACD,OAAO,EACLJ,eAAY,IACZC,eAAY,IACZC,YAAS,OACiB,EAAE,KAAK;CACjC,IAAMG,IAAmD,EAAE;CAE3D,AAAIJ,KAMFI,EAAQE,KAAKD;EAHX5B,UAAU,CAAC,UAAU;EACrBE,OAAO;EAEI0B,CAAgB;CAK/B,IAAMI,IAA0B,EAAE;CAQlC,IAPIT,KACFS,EAAWH,KAAK,YAAY,EAE1BP,KACFU,EAAWH,KAAK,YAAY,EAG1BG,EAAWC,SAAS,GAAG;EAEzB,IAAMC,IAA8BF;EAoBpCL,EAAQE,KAAKM;GAjBXnC,UAAU,CAAC,eAAe;GAC1BE,OAAO;GACPC,YAAYC,MAAU;IACpB,IAAM,EAAEJ,gBAAaI;IAWrB,OATA,GAAIU,EAAuBd,EAAS,IAEhCA,EAAS,GAAGQ,gBACZ0B,EAAkBE,SAASpC,EAAS,GAAGQ,aAAY;;GAS9C2B,CAAkB;;CAGjC,IAAIX,GAAQ;EAEV,IAAMa,IAAgClB;EAmBtCQ,EAAQE,KAAKS;GAhBXtC,UAAU,CAAC,gBAAgB;GAC3BE,OAAO;GACPC,YAAYC,MAAU;IACpB,IAAM,EAAEJ,gBAAaI;IAErB,IAAIgB,EAAwBpB,EAAS,EAAE;KAGrC,IAAMuC,IAAcvC,EAAS,GAAGwC,YAAY,IAAIhC;KAChD,IAAI+B,KAAeF,EAAoBD,SAASG,EAAY,EAC1D,OAAO;;IAGX,OAAO;;GAGED,CAAW;;CAG1B,AAAIX,EAAQM,SAAS,KACnB,MAAMQ,QAAQC,IACZf,EAAQgB,KAAKvC,MAAUsB,EAAYkB,kBAAkBxC,EAAM,CAC7D,CAAC"}
@@ -6,7 +6,7 @@ import { amountAfterSlippage as i } from "../../../lib/utils/slippage.js";
6
6
  import { tradeModeToPayAmountWeiAtom as a, tradeModeToTokenAtoms as o } from "../../../core/inputs/state/common.js";
7
7
  import { useSlippage as s } from "../../useSlippage.js";
8
8
  import { c } from "react-compiler-runtime";
9
- import { useAccount as l } from "wagmi";
9
+ import { useConnection as l } from "wagmi";
10
10
  //#region src/hooks/tokens/balances/useIsInsufficientTokenBalance.ts
11
11
  var u = ({ token: e, requiredBalanceWei: t }) => {
12
12
  let { address: i } = l(), { balance: a } = r({
@@ -1 +1 @@
1
- {"version":3,"file":"useIsInsufficientTokenBalance.js","names":["useAccount","useTokenBalance","Token","useAtomValue","amountAfterSlippage","useSwapSide","useSlippage","TradeMode","MEDIUM_STALE_TIME_FOR_REACTIVENESS","tradeModeToPayAmountWeiAtom","tradeModeToTokenAtoms","useIsInsufficientTokenBalance","token","requiredBalanceWei","address","account","balance","queryOptions","refetchInterval","undefined","BigInt","useIsTokenFromInsufficientBalance","tradeMode","$","_c","tokenFromAtom","payAmountWeiAtom","tokenFrom","payAmountWei","swapSide","resolvedSlippage","t0","toFixed","requiredBalanceAfterPossibleSlippage","t1"],"sources":["../../../../src/hooks/tokens/balances/useIsInsufficientTokenBalance.ts"],"sourcesContent":["import { useAccount } from \"wagmi\";\nimport { useTokenBalance } from \"./useTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { type TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\n\nexport const useIsInsufficientTokenBalance = ({\n token,\n requiredBalanceWei,\n}: {\n token?: Token;\n requiredBalanceWei?: string;\n}) => {\n const { address: account } = useAccount();\n const { balance } = useTokenBalance({\n token,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n if (\n requiredBalanceWei === undefined ||\n balance === undefined ||\n !token ||\n !account\n )\n return false;\n\n return balance === 0n || balance < BigInt(requiredBalanceWei);\n};\n\nexport const useIsTokenFromInsufficientBalance = (tradeMode: TradeMode) => {\n const tokenFromAtom = tradeModeToTokenAtoms[tradeMode].tokenFromAtom;\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n\n const tokenFrom = useAtomValue(tokenFromAtom);\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n\n const swapSide = useSwapSide();\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n const requiredBalanceAfterPossibleSlippage =\n swapSide === \"BUY\"\n ? // payAmount + slippage for BUY\n amountAfterSlippage(payAmountWei, resolvedSlippage, swapSide).toFixed(0)\n : // raw payAmount for SELL\n payAmountWei;\n\n return useIsInsufficientTokenBalance({\n token: tokenFrom,\n requiredBalanceWei: requiredBalanceAfterPossibleSlippage,\n });\n};\n"],"mappings":";;;;;;;;;;AAcA,IAAaW,KAAiC,EAC5CC,UACAC,4BAII;CACJ,IAAM,EAAEC,SAASC,MAAYf,GAAY,EACnC,EAAEgB,eAAYf,EAAgB;EAClCW;EACAK,cAAc,EAAEC,iBAAiBV,GAAmC;EACrE,CAAC;CAUF,OAPEK,MAAuBM,KAAAA,KACvBH,MAAYG,KAAAA,KACZ,CAACP,KACD,CAACG,IAEM,KAEFC,MAAY,MAAMA,IAAUI,OAAOP,EAAmB;GAGlDQ,KAAoCC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC/CC,IAAsBf,EAAsBY,GAAUG,eACtDC,IAAyBjB,EAA4Ba,IAErDK,IAAkBxB,EAAasB,EAAc,EAC7CG,IAAqBzB,EAAauB,EAAiB,EAEnDG,IAAiBxB,GAAa,EAC9B,EAAAyB,wBAA6BxB,EAAYgB,EAAU,EAACS;CAAA,AAAAR,EAAA,OAAAK,KAAAL,EAAA,OAAAO,KAAAP,EAAA,OAAAM,KAGlDE,IAAAF,MAAa,QAETzB,EAAoBwB,GAAcE,GAAkBD,EAAS,CAAAG,QAAS,EAE1D,GAJhBJ,GAIgBL,EAAA,KAAAK,GAAAL,EAAA,KAAAO,GAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CALlB,IAAAU,IACEF,GAIiBG;CAKlB,OALkBX,EAAA,OAAAU,KAAAV,EAAA,OAAAI,KAEkBO,IAAA;EAAAtB,OAC5Be;EAASd,oBACIoB;EACrB,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAI,GAAAJ,EAAA,KAAAW,KAAAA,IAAAX,EAAA,IAHMZ,EAA8BuB,EAGnC"}
1
+ {"version":3,"file":"useIsInsufficientTokenBalance.js","names":["useConnection","useTokenBalance","Token","useAtomValue","amountAfterSlippage","useSwapSide","useSlippage","TradeMode","MEDIUM_STALE_TIME_FOR_REACTIVENESS","tradeModeToPayAmountWeiAtom","tradeModeToTokenAtoms","useIsInsufficientTokenBalance","token","requiredBalanceWei","address","account","balance","queryOptions","refetchInterval","undefined","BigInt","useIsTokenFromInsufficientBalance","tradeMode","$","_c","tokenFromAtom","payAmountWeiAtom","tokenFrom","payAmountWei","swapSide","resolvedSlippage","t0","toFixed","requiredBalanceAfterPossibleSlippage","t1"],"sources":["../../../../src/hooks/tokens/balances/useIsInsufficientTokenBalance.ts"],"sourcesContent":["import { useConnection } from \"wagmi\";\nimport { useTokenBalance } from \"./useTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { type TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport {\n tradeModeToPayAmountWeiAtom,\n tradeModeToTokenAtoms,\n} from \"@/core/inputs/state/common\";\n\nexport const useIsInsufficientTokenBalance = ({\n token,\n requiredBalanceWei,\n}: {\n token?: Token;\n requiredBalanceWei?: string;\n}) => {\n const { address: account } = useConnection();\n const { balance } = useTokenBalance({\n token,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n if (\n requiredBalanceWei === undefined ||\n balance === undefined ||\n !token ||\n !account\n )\n return false;\n\n return balance === 0n || balance < BigInt(requiredBalanceWei);\n};\n\nexport const useIsTokenFromInsufficientBalance = (tradeMode: TradeMode) => {\n const tokenFromAtom = tradeModeToTokenAtoms[tradeMode].tokenFromAtom;\n const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];\n\n const tokenFrom = useAtomValue(tokenFromAtom);\n const payAmountWei = useAtomValue(payAmountWeiAtom);\n\n const swapSide = useSwapSide();\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n const requiredBalanceAfterPossibleSlippage =\n swapSide === \"BUY\"\n ? // payAmount + slippage for BUY\n amountAfterSlippage(payAmountWei, resolvedSlippage, swapSide).toFixed(0)\n : // raw payAmount for SELL\n payAmountWei;\n\n return useIsInsufficientTokenBalance({\n token: tokenFrom,\n requiredBalanceWei: requiredBalanceAfterPossibleSlippage,\n });\n};\n"],"mappings":";;;;;;;;;;AAcA,IAAaW,KAAiC,EAC5CC,UACAC,4BAII;CACJ,IAAM,EAAEC,SAASC,MAAYf,GAAe,EACtC,EAAEgB,eAAYf,EAAgB;EAClCW;EACAK,cAAc,EAAEC,iBAAiBV,GAAmC;EACrE,CAAC;CAUF,OAPEK,MAAuBM,KAAAA,KACvBH,MAAYG,KAAAA,KACZ,CAACP,KACD,CAACG,IAEM,KAEFC,MAAY,MAAMA,IAAUI,OAAOP,EAAmB;GAGlDQ,KAAoCC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC/CC,IAAsBf,EAAsBY,GAAUG,eACtDC,IAAyBjB,EAA4Ba,IAErDK,IAAkBxB,EAAasB,EAAc,EAC7CG,IAAqBzB,EAAauB,EAAiB,EAEnDG,IAAiBxB,GAAa,EAC9B,EAAAyB,wBAA6BxB,EAAYgB,EAAU,EAACS;CAAA,AAAAR,EAAA,OAAAK,KAAAL,EAAA,OAAAO,KAAAP,EAAA,OAAAM,KAGlDE,IAAAF,MAAa,QAETzB,EAAoBwB,GAAcE,GAAkBD,EAAS,CAAAG,QAAS,EAE1D,GAJhBJ,GAIgBL,EAAA,KAAAK,GAAAL,EAAA,KAAAO,GAAAP,EAAA,KAAAM,GAAAN,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CALlB,IAAAU,IACEF,GAIiBG;CAKlB,OALkBX,EAAA,OAAAU,KAAAV,EAAA,OAAAI,KAEkBO,IAAA;EAAAtB,OAC5Be;EAASd,oBACIoB;EACrB,EAAAV,EAAA,KAAAU,GAAAV,EAAA,KAAAI,GAAAJ,EAAA,KAAAW,KAAAA,IAAAX,EAAA,IAHMZ,EAA8BuB,EAGnC"}
@@ -5,7 +5,7 @@ import { c as r } from "react-compiler-runtime";
5
5
  import { useQueries as i } from "@tanstack/react-query";
6
6
  import { assert as a } from "ts-essentials";
7
7
  import { isAddress as o } from "viem";
8
- import { useAccount as s } from "wagmi";
8
+ import { useConnection as s } from "wagmi";
9
9
  //#region src/hooks/tokens/balances/useMultichainTokenBalances.ts
10
10
  var c = (o) => {
11
11
  let c = r(10), { addressesMap: d, select: f, intent: p } = o, m = p === void 0 ? "fetch" : p, { address: h } = s(), g = n(), _ = m === "prefetch" ? g : !0, v;
@@ -1 +1 @@
1
- {"version":3,"file":"useMultichainTokenBalances.js","names":["SupportedChainId","useQueries","isAddress","Address","useAccount","constructTokenBalancesQueryOptions","AddressBalanceMap","assert","isSupportedChainId","useAllTokensListsFetched","useMultiChainTokenBalances","t0","$","_c","addressesMap","select","intent","t1","undefined","address","account","allTokensListsFetched","enabled","t2","queries","Object","entries","map","t3","_chainId","addresses","validAddressesLowerCase","_temp","filter","_temp2","chainId","Number","keys","join","tokenAddressesLowercase","queriesResult","t4","acc","queryResult","index","data","chainId_0","reduce","toLowerCase","Lowercase","address_0"],"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\";\nimport { useAllTokensListsFetched } from \"@/tokens/lists/state/effects\";\n\nexport const useMultiChainTokenBalances = <TData>({\n addressesMap,\n select,\n intent = \"fetch\",\n}: {\n addressesMap: Partial<Record<SupportedChainId, string[]>>;\n select?: (data: AddressBalanceMap) => TData;\n intent?: \"fetch\" | \"prefetch\";\n}) => {\n const { address: account } = useAccount();\n\n const allTokensListsFetched = useAllTokensListsFetched();\n\n // don't prefetch until we know all the tokens from tokenLists are fetched,\n // to avoid re-running token balances fetch for incomplete token sets\n const enabled = intent === \"prefetch\" ? allTokensListsFetched : true;\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(\n isSupportedChainId(chainId),\n `chainId ${chainId} is not supported; rest chainIds: ${Object.keys(addressesMap).join(\", \")}`\n );\n\n return constructTokenBalancesQueryOptions({\n tokenAddressesLowercase: validAddressesLowerCase,\n chainId,\n account: account,\n select,\n enabled,\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"],"mappings":";;;;;;;;;AAUA,IAAaU,KAA6BC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAQ,EAAAC,iBAAAC,WAAAC,QAAAC,MAAAN,GAGhDK,IAAAC,MAAAC,KAAAA,IAAA,UAAAD,GAMA,EAAAE,SAAAC,MAA6BhB,GAAY,EAEzCiB,IAA8BZ,GAA0B,EAIxDa,IAAgBN,MAAW,aAAXK,IAAA,IAAqDE;CAAA,AAAAX,EAAA,OAAAQ,KAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAU,KAAAV,EAAA,OAAAG,KAEpCQ,IAAA,EAAAC,SACtBC,OAAMC,QAASZ,EAAa,CAAAa,KAAKC,MAAA;EAAC,IAAA,CAAAC,GAAAC,KAAAF,GACzCG,IAAgCD,EAASH,IAClCK,EAAwD,CAAAC,OACrDC,EAA+D,EAEzEC,IAAgBC,OAAOP,EAAS;EAO/B,OAHDtB,EACEC,EAAmB2B,EAAQ,EAC3B,WAAWA,EAAO,oCAAqCV,OAAMY,KAAMvB,EAAa,CAAAwB,KAAM,KAAK,GAC5F,EAEMjC,EAAmC;GAAAkC,yBACfR;GAAuBI;GAAAf;GAAAL;GAAAO;GAKjD,CAAC;GACH,EACF,EAAAV,EAAA,KAAAQ,GAAAR,EAAA,KAAAE,GAAAF,EAAA,KAAAU,GAAAV,EAAA,KAAAG,GAAAH,EAAA,KAAAW,KAAAA,IAAAX,EAAA;CAvBD,IAAA4B,IAAsBvC,EAAWsB,EAuB/B,EAACK;CAAA,IAAAhB,EAAA,OAAAE,KAAAF,EAAA,OAAA4B,GAAA;EAAA,IAAAC;EAWF7B,AAXEA,EAAA,OAAAE,IASA2B,IAAA7B,EAAA,MAND6B,KAAAC,GAAAC,GAAAC,MAAA;GACE,IAAID,EAAWE,MAAK;IAClB,IAAAC,IAAgBrB,OAAMY,KAAMvB,EAAa,CAAC8B;IAC1CF,EAAIN,OAAOD,EAAQ,IAAIQ,EAAWE;;GACnC,OACMH;KACR9B,EAAA,KAAAE,GAAAF,EAAA,KAAA6B,IAPIb,IAAAY,EAAaO,OAClBN,GAOA,EACF,CAAC,EAAA7B,EAAA,KAAAE,GAAAF,EAAA,KAAA4B,GAAA5B,EAAA,KAAAgB;QAAAA,IAAAhB,EAAA;CAAA,OATMgB;;AA1CiC,SAAAI,EAAAb,GAAA;CAAA,OAoBhBA,EAAO6B,aAAc;;AApBL,SAAAd,EAAAgB,GAAA;CAAA,OAqBkBhD,EAAUiB,EAAQ"}
1
+ {"version":3,"file":"useMultichainTokenBalances.js","names":["SupportedChainId","useQueries","isAddress","Address","useConnection","constructTokenBalancesQueryOptions","AddressBalanceMap","assert","isSupportedChainId","useAllTokensListsFetched","useMultiChainTokenBalances","t0","$","_c","addressesMap","select","intent","t1","undefined","address","account","allTokensListsFetched","enabled","t2","queries","Object","entries","map","t3","_chainId","addresses","validAddressesLowerCase","_temp","filter","_temp2","chainId","Number","keys","join","tokenAddressesLowercase","queriesResult","t4","acc","queryResult","index","data","chainId_0","reduce","toLowerCase","Lowercase","address_0"],"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 { useConnection } from \"wagmi\";\nimport { constructTokenBalancesQueryOptions } from \"./queries\";\nimport type { AddressBalanceMap } from \"./types\";\nimport { assert } from \"ts-essentials\";\nimport { isSupportedChainId } from \"@/lib/web3/wagmi/utils\";\nimport { useAllTokensListsFetched } from \"@/tokens/lists/state/effects\";\n\nexport const useMultiChainTokenBalances = <TData>({\n addressesMap,\n select,\n intent = \"fetch\",\n}: {\n addressesMap: Partial<Record<SupportedChainId, string[]>>;\n select?: (data: AddressBalanceMap) => TData;\n intent?: \"fetch\" | \"prefetch\";\n}) => {\n const { address: account } = useConnection();\n\n const allTokensListsFetched = useAllTokensListsFetched();\n\n // don't prefetch until we know all the tokens from tokenLists are fetched,\n // to avoid re-running token balances fetch for incomplete token sets\n const enabled = intent === \"prefetch\" ? allTokensListsFetched : true;\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(\n isSupportedChainId(chainId),\n `chainId ${chainId} is not supported; rest chainIds: ${Object.keys(addressesMap).join(\", \")}`\n );\n\n return constructTokenBalancesQueryOptions({\n tokenAddressesLowercase: validAddressesLowerCase,\n chainId,\n account: account,\n select,\n enabled,\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"],"mappings":";;;;;;;;;AAUA,IAAaU,KAA6BC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAQ,EAAAC,iBAAAC,WAAAC,QAAAC,MAAAN,GAGhDK,IAAAC,MAAAC,KAAAA,IAAA,UAAAD,GAMA,EAAAE,SAAAC,MAA6BhB,GAAe,EAE5CiB,IAA8BZ,GAA0B,EAIxDa,IAAgBN,MAAW,aAAXK,IAAA,IAAqDE;CAAA,AAAAX,EAAA,OAAAQ,KAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAU,KAAAV,EAAA,OAAAG,KAEpCQ,IAAA,EAAAC,SACtBC,OAAMC,QAASZ,EAAa,CAAAa,KAAKC,MAAA;EAAC,IAAA,CAAAC,GAAAC,KAAAF,GACzCG,IAAgCD,EAASH,IAClCK,EAAwD,CAAAC,OACrDC,EAA+D,EAEzEC,IAAgBC,OAAOP,EAAS;EAO/B,OAHDtB,EACEC,EAAmB2B,EAAQ,EAC3B,WAAWA,EAAO,oCAAqCV,OAAMY,KAAMvB,EAAa,CAAAwB,KAAM,KAAK,GAC5F,EAEMjC,EAAmC;GAAAkC,yBACfR;GAAuBI;GAAAf;GAAAL;GAAAO;GAKjD,CAAC;GACH,EACF,EAAAV,EAAA,KAAAQ,GAAAR,EAAA,KAAAE,GAAAF,EAAA,KAAAU,GAAAV,EAAA,KAAAG,GAAAH,EAAA,KAAAW,KAAAA,IAAAX,EAAA;CAvBD,IAAA4B,IAAsBvC,EAAWsB,EAuB/B,EAACK;CAAA,IAAAhB,EAAA,OAAAE,KAAAF,EAAA,OAAA4B,GAAA;EAAA,IAAAC;EAWF7B,AAXEA,EAAA,OAAAE,IASA2B,IAAA7B,EAAA,MAND6B,KAAAC,GAAAC,GAAAC,MAAA;GACE,IAAID,EAAWE,MAAK;IAClB,IAAAC,IAAgBrB,OAAMY,KAAMvB,EAAa,CAAC8B;IAC1CF,EAAIN,OAAOD,EAAQ,IAAIQ,EAAWE;;GACnC,OACMH;KACR9B,EAAA,KAAAE,GAAAF,EAAA,KAAA6B,IAPIb,IAAAY,EAAaO,OAClBN,GAOA,EACF,CAAC,EAAA7B,EAAA,KAAAE,GAAAF,EAAA,KAAA4B,GAAA5B,EAAA,KAAAgB;QAAAA,IAAAhB,EAAA;CAAA,OATMgB;;AA1CiC,SAAAI,EAAAb,GAAA;CAAA,OAoBhBA,EAAO6B,aAAc;;AApBL,SAAAd,EAAAgB,GAAA;CAAA,OAqBkBhD,EAAUiB,EAAQ"}
@@ -137,7 +137,6 @@ export declare const useERC20Balance: ({ token, queryOptions: _queryOptions, }:
137
137
  }], "balanceOf", readonly [account: `0x${string}`], bigint>;
138
138
  export declare const useNativeBalance: (params?: Omit<UseTokenBalanceInput, "token">) => import('wagmi').UseBalanceReturnType<{
139
139
  decimals: number;
140
- formatted: string;
141
140
  symbol: string;
142
141
  value: bigint;
143
142
  }>;
@@ -175,14 +174,12 @@ export declare const useTokenBalance: ({ token, chainId, queryOptions, }: UseTok
175
174
  isEnabled: boolean;
176
175
  refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{
177
176
  decimals: number;
178
- formatted: string;
179
177
  symbol: string;
180
178
  value: bigint;
181
179
  }, import('viem').GetBalanceErrorType>>;
182
180
  fetchStatus: import('@tanstack/react-query').FetchStatus;
183
181
  promise: Promise<{
184
182
  decimals: number;
185
- formatted: string;
186
183
  symbol: string;
187
184
  value: bigint;
188
185
  }>;
@@ -214,14 +211,12 @@ export declare const useTokenBalance: ({ token, chainId, queryOptions, }: UseTok
214
211
  isEnabled: boolean;
215
212
  refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{
216
213
  decimals: number;
217
- formatted: string;
218
214
  symbol: string;
219
215
  value: bigint;
220
216
  }, import('viem').GetBalanceErrorType>>;
221
217
  fetchStatus: import('@tanstack/react-query').FetchStatus;
222
218
  promise: Promise<{
223
219
  decimals: number;
224
- formatted: string;
225
220
  symbol: string;
226
221
  value: bigint;
227
222
  }>;
@@ -253,14 +248,12 @@ export declare const useTokenBalance: ({ token, chainId, queryOptions, }: UseTok
253
248
  isEnabled: boolean;
254
249
  refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{
255
250
  decimals: number;
256
- formatted: string;
257
251
  symbol: string;
258
252
  value: bigint;
259
253
  }, import('viem').GetBalanceErrorType>>;
260
254
  fetchStatus: import('@tanstack/react-query').FetchStatus;
261
255
  promise: Promise<{
262
256
  decimals: number;
263
- formatted: string;
264
257
  symbol: string;
265
258
  value: bigint;
266
259
  }>;
@@ -292,14 +285,12 @@ export declare const useTokenBalance: ({ token, chainId, queryOptions, }: UseTok
292
285
  isEnabled: boolean;
293
286
  refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{
294
287
  decimals: number;
295
- formatted: string;
296
288
  symbol: string;
297
289
  value: bigint;
298
290
  }, import('viem').GetBalanceErrorType>>;
299
291
  fetchStatus: import('@tanstack/react-query').FetchStatus;
300
292
  promise: Promise<{
301
293
  decimals: number;
302
- formatted: string;
303
294
  symbol: string;
304
295
  value: bigint;
305
296
  }>;
@@ -331,14 +322,12 @@ export declare const useTokenBalance: ({ token, chainId, queryOptions, }: UseTok
331
322
  isEnabled: boolean;
332
323
  refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<{
333
324
  decimals: number;
334
- formatted: string;
335
325
  symbol: string;
336
326
  value: bigint;
337
327
  }, import('viem').GetBalanceErrorType>>;
338
328
  fetchStatus: import('@tanstack/react-query').FetchStatus;
339
329
  promise: Promise<{
340
330
  decimals: number;
341
- formatted: string;
342
331
  symbol: string;
343
332
  value: bigint;
344
333
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/useTokenBalance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,eAAO,MAAM,eAAe,GAAI,yCAG7B,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAsBtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;;;;;EAe7C,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,oBAAoB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,mCAI7B,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCtB,CAAC"}
1
+ {"version":3,"file":"useTokenBalance.d.ts","sourceRoot":"","sources":["../../../../src/hooks/tokens/balances/useTokenBalance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,eAAO,MAAM,eAAe,GAAI,yCAG7B,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAsBtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,SAAS,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC;;;;EAe7C,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,oBAAoB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,mCAI7B,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCtB,CAAC"}
@@ -2,33 +2,33 @@ import { isETH as e } from "../../../tokens/utils/eth.js";
2
2
  import { ONE_MINUTE_MS as t } from "../../../lib/constants/time.js";
3
3
  import { c as n } from "react-compiler-runtime";
4
4
  import { erc20Abi as r, formatUnits as i, isAddress as a } from "viem";
5
- import { useAccount as o, useBalance as s, useReadContract as c } from "wagmi";
5
+ import { useBalance as o, useConnection as s, useReadContract as c } from "wagmi";
6
6
  //#region src/hooks/tokens/balances/useTokenBalance.ts
7
7
  var l = (i) => {
8
- let s = n(15), { token: l, queryOptions: u } = i, { address: d } = o(), f;
9
- s[0] === u ? f = s[1] : (f = u ?? {}, s[0] = u, s[1] = f);
8
+ let o = n(15), { token: l, queryOptions: u } = i, { address: d } = s(), f;
9
+ o[0] === u ? f = o[1] : (f = u ?? {}, o[0] = u, o[1] = f);
10
10
  let p, m;
11
- s[2] === f ? (p = s[3], m = s[4]) : ({enabled: m, ...p} = f, s[2] = f, s[3] = p, s[4] = m);
11
+ o[2] === f ? (p = o[3], m = o[4]) : ({enabled: m, ...p} = f, o[2] = f, o[3] = p, o[4] = m);
12
12
  let h = m === void 0 ? !0 : m, g = l && a(l.address) && !e({ address: l.address }) ? l.address : void 0, _ = l?.network, v;
13
- s[5] === d ? v = s[6] : (v = d ? [d] : void 0, s[5] = d, s[6] = v);
13
+ o[5] === d ? v = o[6] : (v = d ? [d] : void 0, o[5] = d, o[6] = v);
14
14
  let y = !!h && !!g && !!d, b;
15
- s[7] !== p || s[8] !== y ? (b = {
15
+ o[7] !== p || o[8] !== y ? (b = {
16
16
  enabled: y,
17
17
  refetchInterval: t,
18
18
  refetchOnWindowFocus: !1,
19
19
  ...p
20
- }, s[7] = p, s[8] = y, s[9] = b) : b = s[9];
20
+ }, o[7] = p, o[8] = y, o[9] = b) : b = o[9];
21
21
  let x;
22
- return s[10] !== g || s[11] !== _ || s[12] !== v || s[13] !== b ? (x = {
22
+ return o[10] !== g || o[11] !== _ || o[12] !== v || o[13] !== b ? (x = {
23
23
  functionName: "balanceOf",
24
24
  address: g,
25
25
  chainId: _,
26
26
  abi: r,
27
27
  args: v,
28
28
  query: b
29
- }, s[10] = g, s[11] = _, s[12] = v, s[13] = b, s[14] = x) : x = s[14], c(x);
29
+ }, o[10] = g, o[11] = _, o[12] = v, o[13] = b, o[14] = x) : x = o[14], c(x);
30
30
  }, u = (e) => {
31
- let r = n(12), { address: i } = o(), a;
31
+ let r = n(12), { address: i } = s(), a;
32
32
  r[0] === e?.queryOptions ? a = r[1] : (a = e?.queryOptions ?? {}, r[0] = e?.queryOptions, r[1] = a);
33
33
  let c, l;
34
34
  r[2] === a ? (c = r[3], l = r[4]) : ({enabled: l, ...c} = a, r[2] = a, r[3] = c, r[4] = l);
@@ -44,7 +44,7 @@ var l = (i) => {
44
44
  address: i,
45
45
  chainId: d,
46
46
  query: p
47
- }, r[8] = i, r[9] = d, r[10] = p, r[11] = m) : m = r[11], s(m);
47
+ }, r[8] = i, r[9] = d, r[10] = p, r[11] = m) : m = r[11], o(m);
48
48
  }, d = (t) => {
49
49
  let r = n(13), { token: i, chainId: a, queryOptions: o } = t, s = i?.address ? e({ address: i.address }) : void 0, { data: c, ...d } = u({
50
50
  chainId: a ?? i?.network,
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenBalance.js","names":["ONE_MINUTE_MS","SupportedChainId","Token","isETH","erc20Abi","formatUnits","isAddress","useAccount","useReadContract","useBalance","useERC20Balance","t0","$","_c","token","queryOptions","_queryOptions","address","account","t1","t2","enabled","undefined","addressToFetch","t3","network","t4","t5","t6","refetchInterval","refetchOnWindowFocus","t7","functionName","const","chainId","abi","args","query","useNativeBalance","params","UseTokenBalanceInput","Pick","useTokenBalance","requestedNative","data","nativeTokenBalance","nativeBalanceQueryResult","erc20BalanceQueryResult","erc20TokenBalance","balance","getBalanceFromQueries","tokenDecimals","decimals","queryResult","GetBalanceReturnType","formatted","symbol","value","balanceUnit"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"useTokenBalance.js","names":["ONE_MINUTE_MS","SupportedChainId","Token","isETH","erc20Abi","formatUnits","isAddress","useConnection","useReadContract","useBalance","useERC20Balance","t0","$","_c","token","queryOptions","_queryOptions","address","account","t1","t2","enabled","undefined","addressToFetch","t3","network","t4","t5","t6","refetchInterval","refetchOnWindowFocus","t7","functionName","const","chainId","abi","args","query","useNativeBalance","params","UseTokenBalanceInput","Pick","useTokenBalance","requestedNative","data","nativeTokenBalance","nativeBalanceQueryResult","erc20BalanceQueryResult","erc20TokenBalance","balance","getBalanceFromQueries","tokenDecimals","decimals","queryResult","GetBalanceReturnType","symbol","value","balanceUnit"],"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 { useConnection, useReadContract, useBalance } from \"wagmi\";\n\nexport const useERC20Balance = ({\n token,\n queryOptions: _queryOptions,\n}: UseTokenBalanceInput) => {\n const { address: account } = useConnection();\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 } = useConnection();\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 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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokensFromAcross.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAEtF,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,gBAAgB,CAAC;CACxB,GAAG;IAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAYhD"}
1
+ {"version":3,"file":"useTokensFromAcross.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAEtF,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,gBAAgB,CAAC;CACxB,GAAG;IAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAahD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTokensFromAcross.js","names":["isTruthy","SupportedChainId","Token","useGetBridgeInfo","useTokensByAddress","emptyArray","BridgeRoutesMode","useTokensFromAcross","t0","$","_c","fromChainId","toChainId","mode","t1","data","bridgeInfo","error","acrossTokenAddresses","tokensMap","t2","t3","tokenAddress","toLowerCase","map","filter","tokensFromAcross","crossTokens"],"sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"sourcesContent":["import { isTruthy } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGetBridgeInfo } from \"../useBridgeInfo\";\nimport { useTokensByAddress } from \"./useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeRoutesMode } from \"../swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeRoutesMode;\n}): { crossTokens: Token[]; error: Error | null } {\n const { data: bridgeInfo, error } = useGetBridgeInfo({ mode });\n\n const acrossTokenAddresses = bridgeInfo?.[fromChainId]?.[toChainId] ?? emptyArray;\n\n const tokensMap = useTokensByAddress(toChainId);\n\n const tokensFromAcross = acrossTokenAddresses\n .map((tokenAddress) => tokensMap[tokenAddress.toLowerCase()])\n .filter(isTruthy);\n\n return { crossTokens: tokensFromAcross, error };\n}\n"],"mappings":";;;;;;AAQA,SAAOO,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA6B,EAAAC,gBAAAC,cAAAC,YAAAL,GAQnCM;CAAA,AAAAL,EAAA,OAAAI,IAC8DC,IAAAL,EAAA,MAARK,IAAA,EAAAD,SAAQ,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAK;CAA7D,IAAA,EAAAC,MAAAC,GAAAC,aAAoCd,EAAiBW,EAAS,EAE9DI,IAA6BF,IAAaL,KAAeC,MAA5BP,GAE7Bc,IAAkBf,EAAmBQ,EAAU,EAACQ;CAAA,IAAAX,EAAA,OAAAS,KAAAT,EAAA,OAAAU,GAAA;EAAA,IAAAE;EAI7BZ,AAJ6BA,EAAA,OAAAU,IAGcE,IAAAZ,EAAA,MAAvDY,KAAAC,MAAkBH,EAAUG,EAAYC,aAAc,GAACd,EAAA,KAAAU,GAAAV,EAAA,KAAAY,IADrCD,IAAAF,EAAoBM,IACtCH,EAAwD,CAAAI,OACrDzB,EAAS,EAAAS,EAAA,KAAAS,GAAAT,EAAA,KAAAU,GAAAV,EAAA,KAAAW;QAAAA,IAAAX,EAAA;CAFnB,IAAAiB,IAAyBN,GAELC;CAE2B,OAF3BZ,EAAA,OAAAQ,KAAAR,EAAA,OAAAiB,KAEbL,IAAA;EAAAM,aAAeD;EAAgBT;EAAS,EAAAR,EAAA,KAAAQ,GAAAR,EAAA,KAAAiB,GAAAjB,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAAxCY"}
1
+ {"version":3,"file":"useTokensFromAcross.js","names":["isTruthy","SupportedChainId","Token","useGetBridgeInfo","useTokensByAddress","emptyArray","BridgeRoutesMode","useTokensFromAcross","t0","$","_c","fromChainId","toChainId","mode","t1","data","bridgeInfo","error","acrossTokenAddresses","tokensMap","t2","t3","tokenAddress","toLowerCase","map","filter","tokensFromAcross","crossTokens"],"sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"sourcesContent":["import { isTruthy } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGetBridgeInfo } from \"../useBridgeInfo\";\nimport { useTokensByAddress } from \"./useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeRoutesMode } from \"../swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeRoutesMode;\n}): { crossTokens: Token[]; error: Error | null } {\n const { data: bridgeInfo, error } = useGetBridgeInfo({ mode });\n\n const acrossTokenAddresses =\n bridgeInfo?.[fromChainId]?.[toChainId] ?? emptyArray;\n\n const tokensMap = useTokensByAddress(toChainId);\n\n const tokensFromAcross = acrossTokenAddresses\n .map((tokenAddress) => tokensMap[tokenAddress.toLowerCase()])\n .filter(isTruthy);\n\n return { crossTokens: tokensFromAcross, error };\n}\n"],"mappings":";;;;;;AAQA,SAAOO,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA6B,EAAAC,gBAAAC,cAAAC,YAAAL,GAQnCM;CAAA,AAAAL,EAAA,OAAAI,IAC8DC,IAAAL,EAAA,MAARK,IAAA,EAAAD,SAAQ,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAK;CAA7D,IAAA,EAAAC,MAAAC,GAAAC,aAAoCd,EAAiBW,EAAS,EAE9DI,IACEF,IAAaL,KAAeC,MAA5BP,GAEFc,IAAkBf,EAAmBQ,EAAU,EAACQ;CAAA,IAAAX,EAAA,OAAAS,KAAAT,EAAA,OAAAU,GAAA;EAAA,IAAAE;EAI7BZ,AAJ6BA,EAAA,OAAAU,IAGcE,IAAAZ,EAAA,MAAvDY,KAAAC,MAAkBH,EAAUG,EAAYC,aAAc,GAACd,EAAA,KAAAU,GAAAV,EAAA,KAAAY,IADrCD,IAAAF,EAAoBM,IACtCH,EAAwD,CAAAI,OACrDzB,EAAS,EAAAS,EAAA,KAAAS,GAAAT,EAAA,KAAAU,GAAAV,EAAA,KAAAW;QAAAA,IAAAX,EAAA;CAFnB,IAAAiB,IAAyBN,GAELC;CAE2B,OAF3BZ,EAAA,OAAAQ,KAAAR,EAAA,OAAAiB,KAEbL,IAAA;EAAAM,aAAeD;EAAgBT;EAAS,EAAAR,EAAA,KAAAQ,GAAAR,EAAA,KAAAiB,GAAAjB,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAAxCY"}
@@ -1 +1 @@
1
- {"version":3,"file":"useApprove.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/mutations/useApprove.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,eAAe,CACtC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;CAGnB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,yDAMxB,eAAoB,KAAG,gBAmFzB,CAAC"}
1
+ {"version":3,"file":"useApprove.d.ts","sourceRoot":"","sources":["../../../../src/hooks/txs/mutations/useApprove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,eAAe,EACf,OAAO,GAAG,SAAS,GAAG,eAAe,CACtC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;CAGnB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,yDAMxB,eAAoB,KAAG,gBAmFzB,CAAC"}
@@ -2,7 +2,7 @@ import { useConstructGasParams as e } from "../../swap/tradeFlow/common/useConst
2
2
  import { c as t } from "react-compiler-runtime";
3
3
  import { assert as n } from "ts-essentials";
4
4
  import { erc20Abi as r, isAddress as i } from "viem";
5
- import { useAccount as a, useWriteContract as o } from "wagmi";
5
+ import { useConnection as a, useWriteContract as o } from "wagmi";
6
6
  //#region src/hooks/txs/mutations/useApprove.ts
7
7
  var s = (s) => {
8
8
  let c = t(28), l;
@@ -12,7 +12,7 @@ var s = (s) => {
12
12
  onSuccess: p,
13
13
  onError: m
14
14
  } }, c[2] = m, c[3] = p, c[4] = g) : g = c[4];
15
- let { writeContract: _, writeContractAsync: v, isPending: y, isSuccess: b, isError: x, error: S, data: C, reset: w } = o(g), { constructViemGasParams: T } = e(), E = u?.address, D = f?.allowanceToSet, O;
15
+ let { mutate: _, mutateAsync: v, isPending: y, isSuccess: b, isError: x, error: S, data: C, reset: w } = o(g), { constructViemGasParams: T } = e(), E = u?.address, D = f?.allowanceToSet, O;
16
16
  c[5] !== D || c[6] !== T || c[7] !== h || c[8] !== d || c[9] !== E || c[10] !== _ ? (O = (e) => {
17
17
  let t = e?.token?.address || E, a = e?.spender || d, o = e?.allowanceData?.allowanceToSet || D;
18
18
  n(h, "Wallet not connected"), n(t && i(t), "Token is required"), n(a && i(a), "Spender address is required"), n(o, "Amount to approve is required");
@@ -1 +1 @@
1
- {"version":3,"file":"useApprove.js","names":["useWriteContract","erc20Abi","isAddress","Hash","useAccount","assert","AllowanceData","Token","useConstructGasParams","UseApproveInput","token","Pick","spender","allowanceData","onSuccess","hash","onError","error","Error","ApprovalInput","UseApproveResult","approve","params","approveAsync","Promise","isPending","isSuccess","isError","txHash","reset","useApprove","t0","$","_c","t1","undefined","isConnected","t2","mutation","writeContract","writeContractAsync","data","constructViemGasParams","tokenAddress","address","allowanceToSet","t3","_address","_spender","_allowanceToSet","gasParams","abi","functionName","args","t4","params_0","_address_0","_spender_0","_allowanceToSet_0","gasParams_0","t5"],"sources":["../../../../src/hooks/txs/mutations/useApprove.ts"],"sourcesContent":["import { useWriteContract } from \"wagmi\";\nimport { erc20Abi, isAddress, type Hash } from \"viem\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport type { AllowanceData } from \"@/hooks/tokens/allowance/types\";\nimport type { Token } from \"@velora-dex/sdk\";\nimport { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\n\nexport type UseApproveInput = {\n token?: Pick<Token, \"address\">;\n spender?: string;\n allowanceData?: Pick<AllowanceData, \"allowanceToSet\">;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type ApprovalInput = Pick<\n UseApproveInput,\n \"token\" | \"spender\" | \"allowanceData\"\n>;\n\nexport type UseApproveResult = {\n approve: (params?: ApprovalInput) => void;\n approveAsync: (params?: ApprovalInput) => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n // @TODO reset may be useful for retrying after Tx Confirmation error/user rejection,\n // if the hook remains in sope (Comp not remounted)\n};\n\nexport const useApprove = ({\n token,\n spender,\n allowanceData,\n onSuccess,\n onError,\n}: UseApproveInput = {}): UseApproveResult => {\n const { isConnected } = useAccount();\n\n const {\n writeContract,\n writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const tokenAddress = token?.address;\n\n const allowanceToSet = allowanceData?.allowanceToSet;\n\n const approve = (params?: ApprovalInput) => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval\n writeContract({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n const approveAsync = async (params?: ApprovalInput): Promise<Hash> => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval and return the hash\n return writeContractAsync({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n return {\n approve,\n approveAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useApprove.js","names":["erc20Abi","isAddress","Hash","useConnection","useWriteContract","assert","AllowanceData","Token","useConstructGasParams","UseApproveInput","token","Pick","spender","allowanceData","onSuccess","hash","onError","error","Error","ApprovalInput","UseApproveResult","approve","params","approveAsync","Promise","isPending","isSuccess","isError","txHash","reset","useApprove","t0","$","_c","t1","undefined","isConnected","t2","mutation","mutate","writeContract","mutateAsync","writeContractAsync","data","constructViemGasParams","tokenAddress","address","allowanceToSet","t3","_address","_spender","_allowanceToSet","gasParams","abi","functionName","args","t4","params_0","_address_0","_spender_0","_allowanceToSet_0","gasParams_0","t5"],"sources":["../../../../src/hooks/txs/mutations/useApprove.ts"],"sourcesContent":["import { erc20Abi, isAddress, type Hash } from \"viem\";\nimport { useConnection, useWriteContract } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport type { AllowanceData } from \"@/hooks/tokens/allowance/types\";\nimport type { Token } from \"@velora-dex/sdk\";\nimport { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\n\nexport type UseApproveInput = {\n token?: Pick<Token, \"address\">;\n spender?: string;\n allowanceData?: Pick<AllowanceData, \"allowanceToSet\">;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type ApprovalInput = Pick<\n UseApproveInput,\n \"token\" | \"spender\" | \"allowanceData\"\n>;\n\nexport type UseApproveResult = {\n approve: (params?: ApprovalInput) => void;\n approveAsync: (params?: ApprovalInput) => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n // @TODO reset may be useful for retrying after Tx Confirmation error/user rejection,\n // if the hook remains in sope (Comp not remounted)\n};\n\nexport const useApprove = ({\n token,\n spender,\n allowanceData,\n onSuccess,\n onError,\n}: UseApproveInput = {}): UseApproveResult => {\n const { isConnected } = useConnection();\n\n const {\n mutate: writeContract,\n mutateAsync: writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const tokenAddress = token?.address;\n\n const allowanceToSet = allowanceData?.allowanceToSet;\n\n const approve = (params?: ApprovalInput) => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval\n writeContract({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n const approveAsync = async (params?: ApprovalInput): Promise<Hash> => {\n const _address = params?.token?.address || tokenAddress;\n const _spender = params?.spender || spender;\n const _allowanceToSet =\n params?.allowanceData?.allowanceToSet || allowanceToSet;\n\n // Validate inputs using assert for better type safety\n assert(isConnected, \"Wallet not connected\");\n assert(_address && isAddress(_address), \"Token is required\");\n assert(_spender && isAddress(_spender), \"Spender address is required\");\n assert(_allowanceToSet, \"Amount to approve is required\");\n\n const gasParams = constructViemGasParams();\n\n // Execute approval and return the hash\n return writeContractAsync({\n address: _address,\n abi: erc20Abi,\n functionName: \"approve\",\n args: [_spender, _allowanceToSet],\n ...gasParams,\n });\n };\n\n return {\n approve,\n approveAsync,\n isPending,\n isSuccess,\n isError,\n error,\n txHash,\n reset,\n };\n};\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ function s(s) {
21
21
  onSuccess: f,
22
22
  onError: d
23
23
  } }, c[2] = d, c[3] = f, c[4] = m) : m = c[4];
24
- let { writeContract: h, writeContractAsync: g, isPending: _, isSuccess: v, isError: y, error: b, data: x, reset: S } = a(m), { constructViemGasParams: C } = t(), w = e[p], T;
24
+ let { mutate: h, mutateAsync: g, isPending: _, isSuccess: v, isError: y, error: b, data: x, reset: S } = a(m), { constructViemGasParams: C } = t(), w = e[p], T;
25
25
  c[5] === u ? T = c[6] : (T = u ? BigInt(u) : void 0, c[5] = u, c[6] = T);
26
26
  let E = T, D;
27
27
  c[7] !== C || c[8] !== E || c[9] !== w || c[10] !== h ? (D = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useDepositWeth.js","names":["useConstructGasParams","wrappedNativeCurrency","assert","Hash","useChainId","useWriteContract","UseDepositWethInput","amount","onSuccess","hash","onError","error","Error","UseDepositReturn","deposit","depositAsync","Promise","isPending","isSuccess","isError","txHash","reset","minWethAbi","constant","inputs","name","outputs","payable","stateMutability","type","const","useDepositWeth","t0","$","_c","t1","undefined","chainId","t2","mutation","writeContract","writeContractAsync","data","constructViemGasParams","wrappedNativeToken","t3","BigInt","value","t4","gasParams","address","abi","functionName","t5","gasParams_0","t6"],"sources":["../../../../src/hooks/txs/mutations/useDepositWeth.ts"],"sourcesContent":["import { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { assert } from \"ts-essentials\";\nimport type { Hash } from \"viem\";\nimport { useChainId, useWriteContract } from \"wagmi\";\n\nexport type UseDepositWethInput = {\n amount?: string;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type UseDepositReturn = {\n deposit: () => void;\n depositAsync: () => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n};\n\nconst minWethAbi = [\n {\n constant: false,\n inputs: [],\n name: \"deposit\",\n outputs: [],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n\nexport function useDepositWeth({\n amount,\n onError,\n onSuccess,\n}: UseDepositWethInput = {}): UseDepositReturn {\n const chainId = useChainId();\n\n const {\n writeContract,\n writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const wrappedNativeToken = wrappedNativeCurrency[chainId];\n const value = amount ? BigInt(amount) : undefined;\n\n const deposit = (): void => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n writeContract({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n const depositAsync = (): Promise<Hash> => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n return writeContractAsync({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n return {\n deposit,\n depositAsync,\n txHash,\n isPending,\n isSuccess,\n isError,\n error,\n reset,\n };\n}\n"],"mappings":";;;;;;AAuBA,IAAMsB,IAAa,CACjB;CACEC,UAAU;CACVC,QAAQ,EAAE;CACVC,MAAM;CACNC,SAAS,EAAE;CACXC,SAAS;CACTC,iBAAiB;CACjBC,MAAM;CACP,CACF;AAED,SAAOE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IAIoBG,IAAAF,EAAA,MAJIE,IAAAH,MAAAI,KAAAA,IAAA,EAIJ,GAJIJ,GAIJC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAJI,IAAA,EAAA5B,WAAAG,YAAAF,iBAAA2B,GAK7BE,IAAgBjC,GAAY,EAACkC;CAAA,AAAAL,EAAA,OAAAvB,KAAAuB,EAAA,OAAAzB,KAWR8B,IAAA,EAAAC,UACT;EAAA/B;EAAAE;EAGV,EACD,EAAAuB,EAAA,KAAAvB,GAAAuB,EAAA,KAAAzB,GAAAyB,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAdD,IAAA,EAAAO,kBAAAC,uBAAAxB,cAAAC,cAAAC,YAAAR,UAAA+B,MAAAtB,GAAAC,aASIhB,EAAiBiC,EAKnB,EAEF,EAAAK,8BAAmC3C,GAAuB,EAE1D4C,IAA2B3C,EAAsBoC,IAASQ;CAAA,AAAAZ,EAAA,OAAA1B,IACTsC,IAAAZ,EAAA,MAAnCY,IAAAtC,IAASuC,OAAOvC,EAAmB,GAAnC6B,KAAAA,GAAmCH,EAAA,KAAA1B,GAAA0B,EAAA,KAAAY;CAAjD,IAAAE,IAAcF,GAAoCG;CAAA,AAAAf,EAAA,OAAAU,KAAAV,EAAA,OAAAc,KAAAd,EAAA,OAAAW,KAAAX,EAAA,QAAAO,KAElCQ,UAAA;EAKdR,AAJAtC,EAAO0C,GAAoB,iCAAiC,EAI5DJ,EAAc;GAAAU,SACHN;GAAkBO,KACtB7B;GAAU8B,cACD;GAASL;GAAA,GALPJ,GAObM;GACJ,CAAC;IACHhB,EAAA,KAAAU,GAAAV,EAAA,KAAAc,GAAAd,EAAA,KAAAW,GAAAX,EAAA,MAAAO,GAAAP,EAAA,MAAAe,KAAAA,IAAAf,EAAA;CAZD,IAAAnB,IAAgBkC,GAYdK;CAAA,AAAApB,EAAA,QAAAU,KAAAV,EAAA,QAAAc,KAAAd,EAAA,QAAAW,KAAAX,EAAA,QAAAQ,KAEmBY,WACnBnD,EAAO0C,GAAoB,iCAAiC,EAIrDH,EAAmB;EAAAS,SACfN;EAAkBO,KACtB7B;EAAU8B,cACD;EAASL;EAAA,GALPJ,GAObM;EACJ,CAAC,GACHhB,EAAA,MAAAU,GAAAV,EAAA,MAAAc,GAAAd,EAAA,MAAAW,GAAAX,EAAA,MAAAQ,GAAAR,EAAA,MAAAoB,KAAAA,IAAApB,EAAA;CAZD,IAAAlB,IAAqBsC,GAYnBE;CAWD,OAXCtB,EAAA,QAAAnB,KAAAmB,EAAA,QAAAlB,KAAAkB,EAAA,QAAAtB,KAAAsB,EAAA,QAAAd,KAAAc,EAAA,QAAAhB,KAAAgB,EAAA,QAAAf,KAAAe,EAAA,QAAAZ,KAAAY,EAAA,QAAAb,KAEKmC,IAAA;EAAAzC;EAAAC;EAAAK;EAAAH;EAAAC;EAAAC;EAAAR;EAAAU;EASN,EAAAY,EAAA,MAAAnB,GAAAmB,EAAA,MAAAlB,GAAAkB,EAAA,MAAAtB,GAAAsB,EAAA,MAAAd,GAAAc,EAAA,MAAAhB,GAAAgB,EAAA,MAAAf,GAAAe,EAAA,MAAAZ,GAAAY,EAAA,MAAAb,GAAAa,EAAA,MAAAsB,KAAAA,IAAAtB,EAAA,KATMsB"}
1
+ {"version":3,"file":"useDepositWeth.js","names":["useConstructGasParams","wrappedNativeCurrency","assert","Hash","useChainId","useWriteContract","UseDepositWethInput","amount","onSuccess","hash","onError","error","Error","UseDepositReturn","deposit","depositAsync","Promise","isPending","isSuccess","isError","txHash","reset","minWethAbi","constant","inputs","name","outputs","payable","stateMutability","type","const","useDepositWeth","t0","$","_c","t1","undefined","chainId","t2","mutation","mutate","writeContract","mutateAsync","writeContractAsync","data","constructViemGasParams","wrappedNativeToken","t3","BigInt","value","t4","gasParams","address","abi","functionName","t5","gasParams_0","t6"],"sources":["../../../../src/hooks/txs/mutations/useDepositWeth.ts"],"sourcesContent":["import { useConstructGasParams } from \"@/hooks/swap/tradeFlow/common/useConstructGasParams\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { assert } from \"ts-essentials\";\nimport type { Hash } from \"viem\";\nimport { useChainId, useWriteContract } from \"wagmi\";\n\nexport type UseDepositWethInput = {\n amount?: string;\n onSuccess?: (hash: Hash) => void;\n onError?: (error: Error) => void;\n};\n\nexport type UseDepositReturn = {\n deposit: () => void;\n depositAsync: () => Promise<Hash>;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n txHash?: Hash;\n reset: () => void;\n};\n\nconst minWethAbi = [\n {\n constant: false,\n inputs: [],\n name: \"deposit\",\n outputs: [],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\",\n },\n] as const;\n\nexport function useDepositWeth({\n amount,\n onError,\n onSuccess,\n}: UseDepositWethInput = {}): UseDepositReturn {\n const chainId = useChainId();\n\n const {\n mutate: writeContract,\n mutateAsync: writeContractAsync,\n isPending,\n isSuccess,\n isError,\n error,\n data: txHash,\n reset,\n } = useWriteContract({\n mutation: {\n onSuccess,\n onError,\n },\n });\n\n const { constructViemGasParams } = useConstructGasParams();\n\n const wrappedNativeToken = wrappedNativeCurrency[chainId];\n const value = amount ? BigInt(amount) : undefined;\n\n const deposit = (): void => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n writeContract({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n const depositAsync = (): Promise<Hash> => {\n assert(wrappedNativeToken, `wrappedNativeToken is required`);\n\n const gasParams = constructViemGasParams();\n\n return writeContractAsync({\n address: wrappedNativeToken,\n abi: minWethAbi,\n functionName: \"deposit\",\n value,\n ...gasParams,\n });\n };\n\n return {\n deposit,\n depositAsync,\n txHash,\n isPending,\n isSuccess,\n isError,\n error,\n reset,\n };\n}\n"],"mappings":";;;;;;AAuBA,IAAMsB,IAAa,CACjB;CACEC,UAAU;CACVC,QAAQ,EAAE;CACVC,MAAM;CACNC,SAAS,EAAE;CACXC,SAAS;CACTC,iBAAiB;CACjBC,MAAM;CACP,CACF;AAED,SAAOE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,IAIoBG,IAAAF,EAAA,MAJIE,IAAAH,MAAAI,KAAAA,IAAA,EAIJ,GAJIJ,GAIJC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CAJI,IAAA,EAAA5B,WAAAG,YAAAF,iBAAA2B,GAK7BE,IAAgBjC,GAAY,EAACkC;CAAA,AAAAL,EAAA,OAAAvB,KAAAuB,EAAA,OAAAzB,KAWR8B,IAAA,EAAAC,UACT;EAAA/B;EAAAE;EAGV,EACD,EAAAuB,EAAA,KAAAvB,GAAAuB,EAAA,KAAAzB,GAAAyB,EAAA,KAAAK,KAAAA,IAAAL,EAAA;CAdD,IAAA,EAAAO,QAAAC,GAAAC,aAAAC,GAAA1B,cAAAC,cAAAC,YAAAR,UAAAiC,MAAAxB,GAAAC,aASIhB,EAAiBiC,EAKnB,EAEF,EAAAO,8BAAmC7C,GAAuB,EAE1D8C,IAA2B7C,EAAsBoC,IAASU;CAAA,AAAAd,EAAA,OAAA1B,IACTwC,IAAAd,EAAA,MAAnCc,IAAAxC,IAASyC,OAAOzC,EAAmB,GAAnC6B,KAAAA,GAAmCH,EAAA,KAAA1B,GAAA0B,EAAA,KAAAc;CAAjD,IAAAE,IAAcF,GAAoCG;CAAA,AAAAjB,EAAA,OAAAY,KAAAZ,EAAA,OAAAgB,KAAAhB,EAAA,OAAAa,KAAAb,EAAA,QAAAQ,KAElCS,UAAA;EAKdT,AAJAvC,EAAO4C,GAAoB,iCAAiC,EAI5DL,EAAc;GAAAW,SACHN;GAAkBO,KACtB/B;GAAUgC,cACD;GAASL;GAAA,GALPJ,GAObM;GACJ,CAAC;IACHlB,EAAA,KAAAY,GAAAZ,EAAA,KAAAgB,GAAAhB,EAAA,KAAAa,GAAAb,EAAA,MAAAQ,GAAAR,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA;CAZD,IAAAnB,IAAgBoC,GAYdK;CAAA,AAAAtB,EAAA,QAAAY,KAAAZ,EAAA,QAAAgB,KAAAhB,EAAA,QAAAa,KAAAb,EAAA,QAAAU,KAEmBY,WACnBrD,EAAO4C,GAAoB,iCAAiC,EAIrDH,EAAmB;EAAAS,SACfN;EAAkBO,KACtB/B;EAAUgC,cACD;EAASL;EAAA,GALPJ,GAObM;EACJ,CAAC,GACHlB,EAAA,MAAAY,GAAAZ,EAAA,MAAAgB,GAAAhB,EAAA,MAAAa,GAAAb,EAAA,MAAAU,GAAAV,EAAA,MAAAsB,KAAAA,IAAAtB,EAAA;CAZD,IAAAlB,IAAqBwC,GAYnBE;CAWD,OAXCxB,EAAA,QAAAnB,KAAAmB,EAAA,QAAAlB,KAAAkB,EAAA,QAAAtB,KAAAsB,EAAA,QAAAd,KAAAc,EAAA,QAAAhB,KAAAgB,EAAA,QAAAf,KAAAe,EAAA,QAAAZ,KAAAY,EAAA,QAAAb,KAEKqC,IAAA;EAAA3C;EAAAC;EAAAK;EAAAH;EAAAC;EAAAC;EAAAR;EAAAU;EASN,EAAAY,EAAA,MAAAnB,GAAAmB,EAAA,MAAAlB,GAAAkB,EAAA,MAAAtB,GAAAsB,EAAA,MAAAd,GAAAc,EAAA,MAAAhB,GAAAgB,EAAA,MAAAf,GAAAe,EAAA,MAAAZ,GAAAY,EAAA,MAAAb,GAAAa,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA,KATMwB"}
@@ -11,7 +11,7 @@ import { c as re } from "react-compiler-runtime";
11
11
  import { useMutation as ie } from "@tanstack/react-query";
12
12
  import { assert as l } from "ts-essentials";
13
13
  import { TransactionNotFoundError as ae } from "viem";
14
- import { useAccount as oe, useChainId as se } from "wagmi";
14
+ import { useChainId as oe, useConnection as se } from "wagmi";
15
15
  import "@wagmi/core";
16
16
  //#region src/hooks/txs/mutations/useReplaceTx.ts
17
17
  var u = {
@@ -35,7 +35,7 @@ function ce({ action: e, currentFees: t, tx: n }) {
35
35
  }
36
36
  var le = "replaceTx";
37
37
  function f(u) {
38
- let d = re(86), { txHash: f, onSuccess: ue, onError: p, onSettled: m, chainId: de, cancelTxType: h, enabled: fe } = u, pe = fe === void 0 ? !0 : fe, me = se(), g = de ?? me, _ = c(), v = _ && pe, y;
38
+ let d = re(86), { txHash: f, onSuccess: ue, onError: p, onSettled: m, chainId: de, cancelTxType: h, enabled: fe } = u, pe = fe === void 0 ? !0 : fe, me = oe(), g = de ?? me, _ = c(), v = _ && pe, y;
39
39
  d[0] !== g || d[1] !== v || d[2] !== f ? (y = {
40
40
  hash: f,
41
41
  chainId: g,
@@ -75,7 +75,7 @@ function f(u) {
75
75
  isError: N.isError,
76
76
  error: N.error
77
77
  }, d[23] = A, d[24] = N.data, d[25] = N.error, d[26] = N.isError, d[27] = N.isPending, d[28] = N.isSuccess, d[29] = P) : P = d[29];
78
- let F = P, I = r(), L = e("ReplaceTx"), R = s(), z = te(), { address: B } = oe(), { onCancelTx: V } = t(), H;
78
+ let F = P, I = r(), L = e("ReplaceTx"), R = s(), z = te(), { address: B } = se(), { onCancelTx: V } = t(), H;
79
79
  d[30] !== B || d[31] !== h || d[32] !== g || d[33] !== D || d[34] !== I || d[35] !== x || d[36] !== R || d[37] !== z || d[38] !== _ || d[39] !== L || d[40] !== V || d[41] !== k ? (H = async (e) => {
80
80
  let { hash: t, action: n, onTxSent: r, signal: i } = e;
81
81
  l(g != null, "Chain not selected"), l(B, "Account not connected"), l(_, "Wallet does not support replacement txs or txParams.nonce"), k.reset(), i?.throwIfAborted();