wagmi 2.0.0 → 2.0.1
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.
- package/README.md +13 -0
- package/actions/package.json +5 -0
- package/chains/package.json +5 -0
- package/codegen/package.json +5 -0
- package/connectors/package.json +5 -0
- package/dist/esm/context.js +6 -11
- package/dist/esm/context.js.map +1 -1
- package/dist/esm/errors/base.js +1 -1
- package/dist/esm/errors/base.js.map +1 -1
- package/dist/esm/errors/context.js +3 -1
- package/dist/esm/errors/context.js.map +1 -1
- package/dist/esm/exports/actions.js +2 -1
- package/dist/esm/exports/actions.js.map +1 -1
- package/dist/esm/exports/chains.js +1 -0
- package/dist/esm/exports/chains.js.map +1 -1
- package/dist/esm/exports/codegen.js +12 -0
- package/dist/esm/exports/codegen.js.map +1 -0
- package/dist/esm/exports/connectors.js +1 -0
- package/dist/esm/exports/connectors.js.map +1 -1
- package/dist/esm/exports/index.js +43 -15
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/exports/query.js +1 -0
- package/dist/esm/exports/query.js.map +1 -1
- package/dist/esm/hooks/codegen/createUseReadContract.js +33 -0
- package/dist/esm/hooks/codegen/createUseReadContract.js.map +1 -0
- package/dist/esm/hooks/codegen/createUseSimulateContract.js +33 -0
- package/dist/esm/hooks/codegen/createUseSimulateContract.js.map +1 -0
- package/dist/esm/hooks/codegen/createUseWatchContractEvent.js +32 -0
- package/dist/esm/hooks/codegen/createUseWatchContractEvent.js.map +1 -0
- package/dist/esm/hooks/codegen/createUseWriteContract.js +95 -0
- package/dist/esm/hooks/codegen/createUseWriteContract.js.map +1 -0
- package/dist/esm/hooks/useAccount.js +1 -1
- package/dist/esm/hooks/useAccount.js.map +1 -1
- package/dist/esm/hooks/useAccountEffect.js +10 -3
- package/dist/esm/hooks/useAccountEffect.js.map +1 -1
- package/dist/esm/hooks/useBalance.js +4 -4
- package/dist/esm/hooks/useBalance.js.map +1 -1
- package/dist/esm/hooks/useBlock.js +36 -0
- package/dist/esm/hooks/useBlock.js.map +1 -0
- package/dist/esm/hooks/useBlockNumber.js +6 -8
- package/dist/esm/hooks/useBlockNumber.js.map +1 -1
- package/dist/esm/hooks/useBlockTransactionCount.js +20 -0
- package/dist/esm/hooks/useBlockTransactionCount.js.map +1 -0
- package/dist/esm/hooks/useChainId.js +2 -2
- package/dist/esm/hooks/useChainId.js.map +1 -1
- package/dist/esm/hooks/useClient.js +1 -1
- package/dist/esm/hooks/useClient.js.map +1 -1
- package/dist/esm/hooks/useConfig.js +1 -1
- package/dist/esm/hooks/useConfig.js.map +1 -1
- package/dist/esm/hooks/useConnect.js +12 -2
- package/dist/esm/hooks/useConnect.js.map +1 -1
- package/dist/esm/hooks/useConnections.js +2 -2
- package/dist/esm/hooks/useConnections.js.map +1 -1
- package/dist/esm/hooks/useConnectorClient.js +2 -3
- package/dist/esm/hooks/useConnectorClient.js.map +1 -1
- package/dist/esm/hooks/useConnectors.js +10 -0
- package/dist/esm/hooks/useConnectors.js.map +1 -0
- package/dist/esm/hooks/useDisconnect.js +1 -1
- package/dist/esm/hooks/useDisconnect.js.map +1 -1
- package/dist/esm/hooks/useEnsAddress.js +4 -4
- package/dist/esm/hooks/useEnsAddress.js.map +1 -1
- package/dist/esm/hooks/useEnsAvatar.js +4 -4
- package/dist/esm/hooks/useEnsAvatar.js.map +1 -1
- package/dist/esm/hooks/useEnsName.js +4 -4
- package/dist/esm/hooks/useEnsName.js.map +1 -1
- package/dist/esm/hooks/useEnsResolver.js +4 -4
- package/dist/esm/hooks/useEnsResolver.js.map +1 -1
- package/dist/esm/hooks/useEstimateFeesPerGas.js +4 -4
- package/dist/esm/hooks/useEstimateFeesPerGas.js.map +1 -1
- package/dist/esm/hooks/useEstimateGas.js +3 -3
- package/dist/esm/hooks/useEstimateGas.js.map +1 -1
- package/dist/esm/hooks/useEstimateMaxPriorityFeePerGas.js +19 -0
- package/dist/esm/hooks/useEstimateMaxPriorityFeePerGas.js.map +1 -0
- package/dist/esm/hooks/useFeeHistory.js +20 -0
- package/dist/esm/hooks/useFeeHistory.js.map +1 -0
- package/dist/esm/hooks/useGasPrice.js +20 -0
- package/dist/esm/hooks/useGasPrice.js.map +1 -0
- package/dist/esm/hooks/useInfiniteReadContracts.js +24 -0
- package/dist/esm/hooks/useInfiniteReadContracts.js.map +1 -0
- package/dist/esm/hooks/usePublicClient.js +1 -1
- package/dist/esm/hooks/usePublicClient.js.map +1 -1
- package/dist/esm/hooks/{useContractRead.js → useReadContract.js} +5 -8
- package/dist/esm/hooks/useReadContract.js.map +1 -0
- package/dist/esm/hooks/{useContractReads.js → useReadContracts.js} +7 -9
- package/dist/esm/hooks/useReadContracts.js.map +1 -0
- package/dist/esm/hooks/useReconnect.js +1 -1
- package/dist/esm/hooks/useReconnect.js.map +1 -1
- package/dist/esm/hooks/useSendTransaction.js +1 -1
- package/dist/esm/hooks/useSendTransaction.js.map +1 -1
- package/dist/esm/hooks/useSignMessage.js +1 -1
- package/dist/esm/hooks/useSignMessage.js.map +1 -1
- package/dist/esm/hooks/useSignTypedData.js +1 -1
- package/dist/esm/hooks/useSignTypedData.js.map +1 -1
- package/dist/esm/hooks/{useContractSimulate.js → useSimulateContract.js} +6 -6
- package/dist/esm/hooks/useSimulateContract.js.map +1 -0
- package/dist/esm/hooks/useSwitchAccount.js +1 -1
- package/dist/esm/hooks/useSwitchAccount.js.map +1 -1
- package/dist/esm/hooks/useSwitchChain.js +1 -1
- package/dist/esm/hooks/useSwitchChain.js.map +1 -1
- package/dist/esm/hooks/useToken.js +8 -4
- package/dist/esm/hooks/useToken.js.map +1 -1
- package/dist/esm/hooks/useTransaction.js +8 -4
- package/dist/esm/hooks/useTransaction.js.map +1 -1
- package/dist/esm/hooks/useTransactionCount.js +19 -0
- package/dist/esm/hooks/useTransactionCount.js.map +1 -0
- package/dist/esm/hooks/useVerifyMessage.js +19 -0
- package/dist/esm/hooks/useVerifyMessage.js.map +1 -0
- package/dist/esm/hooks/useVerifyTypedData.js +25 -0
- package/dist/esm/hooks/useVerifyTypedData.js.map +1 -0
- package/dist/esm/hooks/useWaitForTransactionReceipt.js +9 -5
- package/dist/esm/hooks/useWaitForTransactionReceipt.js.map +1 -1
- package/dist/esm/hooks/useWalletClient.js +2 -3
- package/dist/esm/hooks/useWalletClient.js.map +1 -1
- package/dist/esm/hooks/useWatchBlockNumber.js +1 -1
- package/dist/esm/hooks/useWatchBlockNumber.js.map +1 -1
- package/dist/esm/hooks/useWatchBlocks.js +25 -0
- package/dist/esm/hooks/useWatchBlocks.js.map +1 -0
- package/dist/esm/hooks/useWatchContractEvent.js +1 -1
- package/dist/esm/hooks/useWatchContractEvent.js.map +1 -1
- package/dist/esm/hooks/useWatchPendingTransactions.js +1 -1
- package/dist/esm/hooks/useWatchPendingTransactions.js.map +1 -1
- package/dist/esm/hooks/{useContractWrite.js → useWriteContract.js} +5 -5
- package/dist/esm/hooks/useWriteContract.js.map +1 -0
- package/dist/esm/hydrate.js +28 -0
- package/dist/esm/hydrate.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/types/properties.js +3 -1
- package/dist/esm/types/properties.js.map +1 -1
- package/dist/esm/utils/query.js +10 -1
- package/dist/esm/utils/query.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/context.d.ts +6 -7
- package/dist/types/context.d.ts.map +1 -1
- package/dist/types/errors/base.d.ts +3 -0
- package/dist/types/errors/base.d.ts.map +1 -1
- package/dist/types/errors/context.d.ts +3 -0
- package/dist/types/errors/context.d.ts.map +1 -1
- package/dist/types/exports/actions.d.ts.map +1 -1
- package/dist/types/exports/chains.d.ts.map +1 -1
- package/dist/types/exports/codegen.d.ts +6 -0
- package/dist/types/exports/codegen.d.ts.map +1 -0
- package/dist/types/exports/connectors.d.ts.map +1 -1
- package/dist/types/exports/index.d.ts +33 -10
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/exports/query.d.ts.map +1 -1
- package/dist/types/hooks/codegen/createUseReadContract.d.ts +18 -0
- package/dist/types/hooks/codegen/createUseReadContract.d.ts.map +1 -0
- package/dist/types/hooks/codegen/createUseSimulateContract.d.ts +21 -0
- package/dist/types/hooks/codegen/createUseSimulateContract.d.ts.map +1 -0
- package/dist/types/hooks/codegen/createUseWatchContractEvent.d.ts +14 -0
- package/dist/types/hooks/codegen/createUseWatchContractEvent.d.ts.map +1 -0
- package/dist/types/hooks/codegen/createUseWriteContract.d.ts +27 -0
- package/dist/types/hooks/codegen/createUseWriteContract.d.ts.map +1 -0
- package/dist/types/hooks/useAccount.d.ts +1 -1
- package/dist/types/hooks/useAccount.d.ts.map +1 -1
- package/dist/types/hooks/useAccountEffect.d.ts +2 -2
- package/dist/types/hooks/useAccountEffect.d.ts.map +1 -1
- package/dist/types/hooks/useBalance.d.ts +6 -8
- package/dist/types/hooks/useBalance.d.ts.map +1 -1
- package/dist/types/hooks/useBlock.d.ts +14 -0
- package/dist/types/hooks/useBlock.d.ts.map +1 -0
- package/dist/types/hooks/useBlockNumber.d.ts +8 -9
- package/dist/types/hooks/useBlockNumber.d.ts.map +1 -1
- package/dist/types/hooks/useBlockTransactionCount.d.ts +10 -0
- package/dist/types/hooks/useBlockTransactionCount.d.ts.map +1 -0
- package/dist/types/hooks/useChainId.d.ts +1 -1
- package/dist/types/hooks/useChainId.d.ts.map +1 -1
- package/dist/types/hooks/useClient.d.ts +1 -1
- package/dist/types/hooks/useClient.d.ts.map +1 -1
- package/dist/types/hooks/useConfig.d.ts +1 -1
- package/dist/types/hooks/useConfig.d.ts.map +1 -1
- package/dist/types/hooks/useConnect.d.ts +5 -5
- package/dist/types/hooks/useConnect.d.ts.map +1 -1
- package/dist/types/hooks/useConnections.d.ts +1 -1
- package/dist/types/hooks/useConnections.d.ts.map +1 -1
- package/dist/types/hooks/useConnectorClient.d.ts +4 -4
- package/dist/types/hooks/useConnectorClient.d.ts.map +1 -1
- package/dist/types/hooks/useConnectors.d.ts +7 -0
- package/dist/types/hooks/useConnectors.d.ts.map +1 -0
- package/dist/types/hooks/useDisconnect.d.ts +4 -4
- package/dist/types/hooks/useDisconnect.d.ts.map +1 -1
- package/dist/types/hooks/useEnsAddress.d.ts +6 -8
- package/dist/types/hooks/useEnsAddress.d.ts.map +1 -1
- package/dist/types/hooks/useEnsAvatar.d.ts +6 -8
- package/dist/types/hooks/useEnsAvatar.d.ts.map +1 -1
- package/dist/types/hooks/useEnsName.d.ts +6 -8
- package/dist/types/hooks/useEnsName.d.ts.map +1 -1
- package/dist/types/hooks/useEnsResolver.d.ts +6 -8
- package/dist/types/hooks/useEnsResolver.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateFeesPerGas.d.ts +6 -8
- package/dist/types/hooks/useEstimateFeesPerGas.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateGas.d.ts +6 -8
- package/dist/types/hooks/useEstimateGas.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateMaxPriorityFeePerGas.d.ts +10 -0
- package/dist/types/hooks/useEstimateMaxPriorityFeePerGas.d.ts.map +1 -0
- package/dist/types/hooks/useFeeHistory.d.ts +10 -0
- package/dist/types/hooks/useFeeHistory.d.ts.map +1 -0
- package/dist/types/hooks/useGasPrice.d.ts +10 -0
- package/dist/types/hooks/useGasPrice.d.ts.map +1 -0
- package/dist/types/hooks/useInfiniteReadContracts.d.ts +11 -0
- package/dist/types/hooks/useInfiniteReadContracts.d.ts.map +1 -0
- package/dist/types/hooks/usePublicClient.d.ts +1 -1
- package/dist/types/hooks/usePublicClient.d.ts.map +1 -1
- package/dist/types/hooks/{useContractRead.d.ts → useReadContract.d.ts} +8 -10
- package/dist/types/hooks/useReadContract.d.ts.map +1 -0
- package/dist/types/hooks/useReadContracts.d.ts +11 -0
- package/dist/types/hooks/useReadContracts.d.ts.map +1 -0
- package/dist/types/hooks/useReconnect.d.ts +4 -4
- package/dist/types/hooks/useReconnect.d.ts.map +1 -1
- package/dist/types/hooks/useSendTransaction.d.ts +4 -4
- package/dist/types/hooks/useSendTransaction.d.ts.map +1 -1
- package/dist/types/hooks/useSignMessage.d.ts +4 -4
- package/dist/types/hooks/useSignMessage.d.ts.map +1 -1
- package/dist/types/hooks/useSignTypedData.d.ts +4 -4
- package/dist/types/hooks/useSignTypedData.d.ts.map +1 -1
- package/dist/types/hooks/{useContractSimulate.d.ts → useSimulateContract.d.ts} +8 -10
- package/dist/types/hooks/useSimulateContract.d.ts.map +1 -0
- package/dist/types/hooks/useSwitchAccount.d.ts +4 -4
- package/dist/types/hooks/useSwitchAccount.d.ts.map +1 -1
- package/dist/types/hooks/useSwitchChain.d.ts +4 -4
- package/dist/types/hooks/useSwitchChain.d.ts.map +1 -1
- package/dist/types/hooks/useToken.d.ts +10 -8
- package/dist/types/hooks/useToken.d.ts.map +1 -1
- package/dist/types/hooks/useTransaction.d.ts +6 -8
- package/dist/types/hooks/useTransaction.d.ts.map +1 -1
- package/dist/types/hooks/useTransactionCount.d.ts +11 -0
- package/dist/types/hooks/useTransactionCount.d.ts.map +1 -0
- package/dist/types/hooks/useVerifyMessage.d.ts +11 -0
- package/dist/types/hooks/useVerifyMessage.d.ts.map +1 -0
- package/dist/types/hooks/useVerifyTypedData.d.ts +11 -0
- package/dist/types/hooks/useVerifyTypedData.d.ts.map +1 -0
- package/dist/types/hooks/useWaitForTransactionReceipt.d.ts +6 -8
- package/dist/types/hooks/useWaitForTransactionReceipt.d.ts.map +1 -1
- package/dist/types/hooks/useWalletClient.d.ts +4 -4
- package/dist/types/hooks/useWalletClient.d.ts.map +1 -1
- package/dist/types/hooks/useWatchBlockNumber.d.ts +1 -1
- package/dist/types/hooks/useWatchBlockNumber.d.ts.map +1 -1
- package/dist/types/hooks/useWatchBlocks.d.ts +9 -0
- package/dist/types/hooks/useWatchBlocks.d.ts.map +1 -0
- package/dist/types/hooks/useWatchContractEvent.d.ts +1 -1
- package/dist/types/hooks/useWatchContractEvent.d.ts.map +1 -1
- package/dist/types/hooks/useWatchPendingTransactions.d.ts +1 -1
- package/dist/types/hooks/useWatchPendingTransactions.d.ts.map +1 -1
- package/dist/types/hooks/useWriteContract.d.ts +15 -0
- package/dist/types/hooks/useWriteContract.d.ts.map +1 -0
- package/dist/types/hydrate.d.ts +9 -0
- package/dist/types/hydrate.d.ts.map +1 -0
- package/dist/types/types/properties.d.ts +10 -1
- package/dist/types/types/properties.d.ts.map +1 -1
- package/dist/types/utils/query.d.ts +12 -3
- package/dist/types/utils/query.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +26 -34
- package/query/package.json +5 -0
- package/src/context.ts +15 -14
- package/src/errors/base.ts +2 -1
- package/src/errors/context.ts +6 -1
- package/src/exports/actions.ts +2 -1
- package/src/exports/chains.ts +1 -0
- package/src/exports/codegen.ts +17 -0
- package/src/exports/connectors.ts +1 -0
- package/src/exports/index.ts +135 -37
- package/src/exports/query.ts +1 -0
- package/src/hooks/codegen/createUseReadContract.ts +128 -0
- package/src/hooks/codegen/createUseSimulateContract.ts +121 -0
- package/src/hooks/codegen/createUseWatchContractEvent.ts +98 -0
- package/src/hooks/codegen/createUseWriteContract.ts +290 -0
- package/src/hooks/useAccount.ts +1 -1
- package/src/hooks/useAccountEffect.ts +11 -4
- package/src/hooks/useBalance.ts +14 -21
- package/src/hooks/useBlock.ts +129 -0
- package/src/hooks/useBlockNumber.ts +30 -32
- package/src/hooks/useBlockTransactionCount.ts +65 -0
- package/src/hooks/useChainId.ts +2 -1
- package/src/hooks/useClient.ts +1 -1
- package/src/hooks/useConfig.ts +1 -1
- package/src/hooks/useConnect.ts +21 -6
- package/src/hooks/useConnections.ts +2 -1
- package/src/hooks/useConnectorClient.ts +9 -7
- package/src/hooks/useConnectors.ts +28 -0
- package/src/hooks/useDisconnect.ts +4 -4
- package/src/hooks/useEnsAddress.ts +18 -21
- package/src/hooks/useEnsAvatar.ts +18 -19
- package/src/hooks/useEnsName.ts +14 -21
- package/src/hooks/useEnsResolver.ts +18 -21
- package/src/hooks/useEstimateFeesPerGas.ts +14 -21
- package/src/hooks/useEstimateGas.ts +19 -22
- package/src/hooks/useEstimateMaxPriorityFeePerGas.ts +61 -0
- package/src/hooks/useFeeHistory.ts +62 -0
- package/src/hooks/useGasPrice.ts +60 -0
- package/src/hooks/useInfiniteReadContracts.ts +89 -0
- package/src/hooks/usePublicClient.ts +1 -1
- package/src/hooks/{useContractRead.ts → useReadContract.ts} +22 -25
- package/src/hooks/{useContractReads.ts → useReadContracts.ts} +27 -28
- package/src/hooks/useReconnect.ts +4 -4
- package/src/hooks/useSendTransaction.ts +4 -4
- package/src/hooks/useSignMessage.ts +4 -4
- package/src/hooks/useSignTypedData.ts +4 -4
- package/src/hooks/{useContractSimulate.ts → useSimulateContract.ts} +26 -27
- package/src/hooks/useSwitchAccount.ts +4 -4
- package/src/hooks/useSwitchChain.ts +8 -4
- package/src/hooks/useToken.ts +18 -21
- package/src/hooks/useTransaction.ts +22 -21
- package/src/hooks/useTransactionCount.ts +59 -0
- package/src/hooks/useVerifyMessage.ts +59 -0
- package/src/hooks/useVerifyTypedData.ts +81 -0
- package/src/hooks/useWaitForTransactionReceipt.ts +19 -22
- package/src/hooks/useWalletClient.ts +25 -21
- package/src/hooks/useWatchBlockNumber.ts +1 -1
- package/src/hooks/useWatchBlocks.ts +61 -0
- package/src/hooks/useWatchContractEvent.ts +1 -1
- package/src/hooks/useWatchPendingTransactions.ts +1 -1
- package/src/hooks/{useContractWrite.ts → useWriteContract.ts} +18 -14
- package/src/hydrate.ts +36 -0
- package/src/types/properties.ts +43 -1
- package/src/utils/query.ts +66 -15
- package/src/version.ts +1 -1
- package/dist/esm/hooks/useContractRead.js.map +0 -1
- package/dist/esm/hooks/useContractReads.js.map +0 -1
- package/dist/esm/hooks/useContractSimulate.js.map +0 -1
- package/dist/esm/hooks/useContractWrite.js.map +0 -1
- package/dist/types/hooks/useContractRead.d.ts.map +0 -1
- package/dist/types/hooks/useContractReads.d.ts +0 -13
- package/dist/types/hooks/useContractReads.d.ts.map +0 -1
- package/dist/types/hooks/useContractSimulate.d.ts.map +0 -1
- package/dist/types/hooks/useContractWrite.d.ts +0 -15
- package/dist/types/hooks/useContractWrite.d.ts.map +0 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Config,
|
|
3
|
+
type ResolvedRegister,
|
|
4
|
+
type SimulateContractErrorType,
|
|
5
|
+
type SimulateContractParameters,
|
|
6
|
+
} from '@wagmi/core'
|
|
7
|
+
import { type ScopeKeyParameter, type UnionPartial } from '@wagmi/core/internal'
|
|
8
|
+
import {
|
|
9
|
+
type SimulateContractData,
|
|
10
|
+
type SimulateContractQueryFnData,
|
|
11
|
+
type SimulateContractQueryKey,
|
|
12
|
+
} from '@wagmi/core/query'
|
|
13
|
+
import {
|
|
14
|
+
type Abi,
|
|
15
|
+
type Address,
|
|
16
|
+
type ContractFunctionArgs,
|
|
17
|
+
type ContractFunctionName,
|
|
18
|
+
} from 'viem'
|
|
19
|
+
|
|
20
|
+
import {
|
|
21
|
+
type ConfigParameter,
|
|
22
|
+
type QueryParameter,
|
|
23
|
+
} from '../../types/properties.js'
|
|
24
|
+
import { useAccount } from '../useAccount.js'
|
|
25
|
+
import { useChainId } from '../useChainId.js'
|
|
26
|
+
import {
|
|
27
|
+
type UseSimulateContractReturnType,
|
|
28
|
+
useSimulateContract,
|
|
29
|
+
} from '../useSimulateContract.js'
|
|
30
|
+
|
|
31
|
+
type stateMutability = 'nonpayable' | 'payable'
|
|
32
|
+
|
|
33
|
+
export type CreateUseSimulateContractParameters<
|
|
34
|
+
abi extends Abi | readonly unknown[],
|
|
35
|
+
address extends Address | Record<number, Address> | undefined = undefined,
|
|
36
|
+
functionName extends
|
|
37
|
+
| ContractFunctionName<abi, stateMutability>
|
|
38
|
+
| undefined = undefined,
|
|
39
|
+
> = {
|
|
40
|
+
abi: abi | Abi | readonly unknown[]
|
|
41
|
+
address?: address | Address | Record<number, Address> | undefined
|
|
42
|
+
functionName?:
|
|
43
|
+
| functionName
|
|
44
|
+
| ContractFunctionName<abi, stateMutability>
|
|
45
|
+
| undefined
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type CreateUseSimulateContractReturnType<
|
|
49
|
+
abi extends Abi | readonly unknown[],
|
|
50
|
+
address extends Address | Record<number, Address> | undefined,
|
|
51
|
+
functionName extends ContractFunctionName<abi, stateMutability> | undefined,
|
|
52
|
+
> = <
|
|
53
|
+
name extends functionName extends ContractFunctionName<abi, stateMutability>
|
|
54
|
+
? functionName
|
|
55
|
+
: ContractFunctionName<abi, stateMutability>,
|
|
56
|
+
args extends ContractFunctionArgs<abi, stateMutability, name>,
|
|
57
|
+
config extends Config = ResolvedRegister['config'],
|
|
58
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
59
|
+
selectData = SimulateContractData<abi, name, args, config, chainId>,
|
|
60
|
+
>(
|
|
61
|
+
parameters?: {
|
|
62
|
+
abi?: undefined
|
|
63
|
+
address?: address extends undefined ? Address : undefined
|
|
64
|
+
functionName?: functionName extends undefined ? name : undefined
|
|
65
|
+
chainId?: address extends Record<number, Address>
|
|
66
|
+
?
|
|
67
|
+
| keyof address
|
|
68
|
+
| (chainId extends keyof address ? chainId : never)
|
|
69
|
+
| undefined
|
|
70
|
+
: chainId | number | undefined
|
|
71
|
+
} & UnionPartial<
|
|
72
|
+
// TODO: Take `abi` and `address` from above and omit from below (currently breaks inference)
|
|
73
|
+
SimulateContractParameters<abi, name, args, config, chainId>
|
|
74
|
+
> &
|
|
75
|
+
ScopeKeyParameter &
|
|
76
|
+
ConfigParameter<config> &
|
|
77
|
+
QueryParameter<
|
|
78
|
+
SimulateContractQueryFnData<abi, name, args, config, chainId>,
|
|
79
|
+
SimulateContractErrorType,
|
|
80
|
+
selectData,
|
|
81
|
+
SimulateContractQueryKey<abi, name, args, config, chainId>
|
|
82
|
+
>,
|
|
83
|
+
) => UseSimulateContractReturnType<abi, name, args, config, chainId, selectData>
|
|
84
|
+
|
|
85
|
+
export function createUseSimulateContract<
|
|
86
|
+
const abi extends Abi | readonly unknown[],
|
|
87
|
+
const address extends
|
|
88
|
+
| Address
|
|
89
|
+
| Record<number, Address>
|
|
90
|
+
| undefined = undefined,
|
|
91
|
+
functionName extends
|
|
92
|
+
| ContractFunctionName<abi, stateMutability>
|
|
93
|
+
| undefined = undefined,
|
|
94
|
+
>(
|
|
95
|
+
config: CreateUseSimulateContractParameters<abi, address, functionName>,
|
|
96
|
+
): CreateUseSimulateContractReturnType<abi, address, functionName> {
|
|
97
|
+
if (config.address !== undefined && typeof config.address === 'object')
|
|
98
|
+
return (parameters) => {
|
|
99
|
+
const configChainId = useChainId()
|
|
100
|
+
const account = useAccount()
|
|
101
|
+
const chainId =
|
|
102
|
+
(parameters as { chainId?: number })?.chainId ??
|
|
103
|
+
account.chainId ??
|
|
104
|
+
configChainId
|
|
105
|
+
return useSimulateContract({
|
|
106
|
+
...(parameters as any),
|
|
107
|
+
...(config.functionName ? { functionName: config.functionName } : {}),
|
|
108
|
+
address: config.address?.[chainId],
|
|
109
|
+
abi: config.abi,
|
|
110
|
+
})
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return (parameters) => {
|
|
114
|
+
return useSimulateContract({
|
|
115
|
+
...(parameters as any),
|
|
116
|
+
...(config.address ? { address: config.address } : {}),
|
|
117
|
+
...(config.functionName ? { functionName: config.functionName } : {}),
|
|
118
|
+
abi: config.abi,
|
|
119
|
+
})
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type Config,
|
|
3
|
+
type ResolvedRegister,
|
|
4
|
+
type WatchContractEventParameters,
|
|
5
|
+
} from '@wagmi/core'
|
|
6
|
+
import {
|
|
7
|
+
type UnionEvaluate,
|
|
8
|
+
type UnionOmit,
|
|
9
|
+
type UnionPartial,
|
|
10
|
+
} from '@wagmi/core/internal'
|
|
11
|
+
import { type Abi, type Address, type ContractEventName } from 'viem'
|
|
12
|
+
|
|
13
|
+
import {
|
|
14
|
+
type ConfigParameter,
|
|
15
|
+
type EnabledParameter,
|
|
16
|
+
} from '../../types/properties.js'
|
|
17
|
+
import { useAccount } from '../useAccount.js'
|
|
18
|
+
import { useChainId } from '../useChainId.js'
|
|
19
|
+
import { useWatchContractEvent } from '../useWatchContractEvent.js'
|
|
20
|
+
|
|
21
|
+
export type CreateUseWatchContractEventParameters<
|
|
22
|
+
abi extends Abi | readonly unknown[],
|
|
23
|
+
address extends Address | Record<number, Address> | undefined = undefined,
|
|
24
|
+
eventName extends ContractEventName<abi> | undefined = undefined,
|
|
25
|
+
> = {
|
|
26
|
+
abi: abi | Abi | readonly unknown[]
|
|
27
|
+
address?: address | Address | Record<number, Address> | undefined
|
|
28
|
+
eventName?: eventName | ContractEventName<abi> | undefined
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type CreateUseWatchContractEventReturnType<
|
|
32
|
+
abi extends Abi | readonly unknown[],
|
|
33
|
+
address extends Address | Record<number, Address> | undefined,
|
|
34
|
+
eventName extends ContractEventName<abi> | undefined,
|
|
35
|
+
///
|
|
36
|
+
omittedProperties extends 'abi' | 'address' | 'chainId' | 'eventName' =
|
|
37
|
+
| 'abi'
|
|
38
|
+
| (address extends undefined ? never : 'address')
|
|
39
|
+
| (address extends Record<number, Address> ? 'chainId' : never)
|
|
40
|
+
| (eventName extends undefined ? never : 'eventName'),
|
|
41
|
+
> = <
|
|
42
|
+
name extends eventName extends ContractEventName<abi>
|
|
43
|
+
? eventName
|
|
44
|
+
: ContractEventName<abi>,
|
|
45
|
+
strict extends boolean | undefined = undefined,
|
|
46
|
+
config extends Config = ResolvedRegister['config'],
|
|
47
|
+
chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
48
|
+
>(
|
|
49
|
+
parameters?: UnionEvaluate<
|
|
50
|
+
UnionPartial<
|
|
51
|
+
UnionOmit<
|
|
52
|
+
WatchContractEventParameters<abi, name, strict, config, chainId>,
|
|
53
|
+
omittedProperties
|
|
54
|
+
>
|
|
55
|
+
> &
|
|
56
|
+
ConfigParameter<config> &
|
|
57
|
+
EnabledParameter
|
|
58
|
+
> &
|
|
59
|
+
(address extends Record<number, Address>
|
|
60
|
+
? { chainId?: keyof address | undefined }
|
|
61
|
+
: unknown),
|
|
62
|
+
) => void
|
|
63
|
+
|
|
64
|
+
export function createUseWatchContractEvent<
|
|
65
|
+
const abi extends Abi | readonly unknown[],
|
|
66
|
+
const address extends
|
|
67
|
+
| Address
|
|
68
|
+
| Record<number, Address>
|
|
69
|
+
| undefined = undefined,
|
|
70
|
+
eventName extends ContractEventName<abi> | undefined = undefined,
|
|
71
|
+
>(
|
|
72
|
+
config: CreateUseWatchContractEventParameters<abi, address, eventName>,
|
|
73
|
+
): CreateUseWatchContractEventReturnType<abi, address, eventName> {
|
|
74
|
+
if (config.address !== undefined && typeof config.address === 'object')
|
|
75
|
+
return (parameters) => {
|
|
76
|
+
const configChainId = useChainId()
|
|
77
|
+
const account = useAccount()
|
|
78
|
+
const chainId =
|
|
79
|
+
(parameters as { chainId?: number })?.chainId ??
|
|
80
|
+
account.chainId ??
|
|
81
|
+
configChainId
|
|
82
|
+
return useWatchContractEvent({
|
|
83
|
+
...(parameters as any),
|
|
84
|
+
...(config.eventName ? { eventName: config.eventName } : {}),
|
|
85
|
+
address: config.address?.[chainId],
|
|
86
|
+
abi: config.abi,
|
|
87
|
+
})
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return (parameters) => {
|
|
91
|
+
return useWatchContractEvent({
|
|
92
|
+
...(parameters as any),
|
|
93
|
+
...(config.address ? { address: config.address } : {}),
|
|
94
|
+
...(config.eventName ? { eventName: config.eventName } : {}),
|
|
95
|
+
abi: config.abi,
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import { type MutateOptions } from '@tanstack/react-query'
|
|
2
|
+
import {
|
|
3
|
+
type Config,
|
|
4
|
+
type ResolvedRegister,
|
|
5
|
+
type WriteContractErrorType,
|
|
6
|
+
} from '@wagmi/core'
|
|
7
|
+
import type {
|
|
8
|
+
ChainIdParameter,
|
|
9
|
+
ConnectorParameter,
|
|
10
|
+
Evaluate,
|
|
11
|
+
SelectChains,
|
|
12
|
+
UnionEvaluate,
|
|
13
|
+
UnionOmit,
|
|
14
|
+
} from '@wagmi/core/internal'
|
|
15
|
+
import {
|
|
16
|
+
type WriteContractData,
|
|
17
|
+
type WriteContractVariables,
|
|
18
|
+
} from '@wagmi/core/query'
|
|
19
|
+
import { useCallback } from 'react'
|
|
20
|
+
import {
|
|
21
|
+
type Abi,
|
|
22
|
+
type Account,
|
|
23
|
+
type Address,
|
|
24
|
+
type Chain,
|
|
25
|
+
type ContractFunctionArgs,
|
|
26
|
+
type ContractFunctionName,
|
|
27
|
+
} from 'viem'
|
|
28
|
+
import { type WriteContractParameters as viem_WriteContractParameters } from 'viem/actions'
|
|
29
|
+
|
|
30
|
+
import { useAccount } from '../useAccount.js'
|
|
31
|
+
import { useChainId } from '../useChainId.js'
|
|
32
|
+
import {
|
|
33
|
+
type UseWriteContractParameters,
|
|
34
|
+
type UseWriteContractReturnType as wagmi_UseWriteContractReturnType,
|
|
35
|
+
useWriteContract,
|
|
36
|
+
} from '../useWriteContract.js'
|
|
37
|
+
|
|
38
|
+
type stateMutability = 'nonpayable' | 'payable'
|
|
39
|
+
|
|
40
|
+
export type CreateUseWriteContractParameters<
|
|
41
|
+
abi extends Abi | readonly unknown[],
|
|
42
|
+
address extends Address | Record<number, Address> | undefined = undefined,
|
|
43
|
+
functionName extends
|
|
44
|
+
| ContractFunctionName<abi, stateMutability>
|
|
45
|
+
| undefined = undefined,
|
|
46
|
+
> = {
|
|
47
|
+
abi: abi | Abi | readonly unknown[]
|
|
48
|
+
address?: address | Address | Record<number, Address> | undefined
|
|
49
|
+
functionName?:
|
|
50
|
+
| functionName
|
|
51
|
+
| ContractFunctionName<abi, stateMutability>
|
|
52
|
+
| undefined
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export type CreateUseWriteContractReturnType<
|
|
56
|
+
abi extends Abi | readonly unknown[],
|
|
57
|
+
address extends Address | Record<number, Address> | undefined,
|
|
58
|
+
functionName extends ContractFunctionName<abi, stateMutability> | undefined,
|
|
59
|
+
> = <config extends Config = ResolvedRegister['config'], context = unknown>(
|
|
60
|
+
parameters?: UseWriteContractParameters<config, context>,
|
|
61
|
+
) => Evaluate<
|
|
62
|
+
Omit<
|
|
63
|
+
wagmi_UseWriteContractReturnType<config, context>,
|
|
64
|
+
'writeContract' | 'writeContractAsync'
|
|
65
|
+
> & {
|
|
66
|
+
writeContract: <
|
|
67
|
+
const abi2 extends abi,
|
|
68
|
+
name extends functionName extends ContractFunctionName<
|
|
69
|
+
abi,
|
|
70
|
+
stateMutability
|
|
71
|
+
>
|
|
72
|
+
? functionName
|
|
73
|
+
: ContractFunctionName<abi, stateMutability>,
|
|
74
|
+
args extends ContractFunctionArgs<abi2, stateMutability, name>,
|
|
75
|
+
chainId extends config['chains'][number]['id'],
|
|
76
|
+
>(
|
|
77
|
+
variables: Variables<
|
|
78
|
+
abi2,
|
|
79
|
+
functionName,
|
|
80
|
+
name,
|
|
81
|
+
args,
|
|
82
|
+
config,
|
|
83
|
+
chainId,
|
|
84
|
+
address
|
|
85
|
+
>,
|
|
86
|
+
options?:
|
|
87
|
+
| MutateOptions<
|
|
88
|
+
WriteContractData,
|
|
89
|
+
WriteContractErrorType,
|
|
90
|
+
WriteContractVariables<
|
|
91
|
+
abi2,
|
|
92
|
+
name,
|
|
93
|
+
args,
|
|
94
|
+
config,
|
|
95
|
+
chainId,
|
|
96
|
+
// use `functionName` to make sure it's not union of all possible function names
|
|
97
|
+
name
|
|
98
|
+
>,
|
|
99
|
+
context
|
|
100
|
+
>
|
|
101
|
+
| undefined,
|
|
102
|
+
) => void
|
|
103
|
+
writeContractAsync: <
|
|
104
|
+
const abi2 extends abi,
|
|
105
|
+
name extends functionName extends ContractFunctionName<
|
|
106
|
+
abi,
|
|
107
|
+
stateMutability
|
|
108
|
+
>
|
|
109
|
+
? functionName
|
|
110
|
+
: ContractFunctionName<abi, stateMutability>,
|
|
111
|
+
args extends ContractFunctionArgs<abi2, stateMutability, name>,
|
|
112
|
+
chainId extends config['chains'][number]['id'],
|
|
113
|
+
>(
|
|
114
|
+
variables: Variables<
|
|
115
|
+
abi2,
|
|
116
|
+
functionName,
|
|
117
|
+
name,
|
|
118
|
+
args,
|
|
119
|
+
config,
|
|
120
|
+
chainId,
|
|
121
|
+
address
|
|
122
|
+
>,
|
|
123
|
+
options?:
|
|
124
|
+
| MutateOptions<
|
|
125
|
+
WriteContractData,
|
|
126
|
+
WriteContractErrorType,
|
|
127
|
+
WriteContractVariables<
|
|
128
|
+
abi2,
|
|
129
|
+
name,
|
|
130
|
+
args,
|
|
131
|
+
config,
|
|
132
|
+
chainId,
|
|
133
|
+
// use `functionName` to make sure it's not union of all possible function names
|
|
134
|
+
name
|
|
135
|
+
>,
|
|
136
|
+
context
|
|
137
|
+
>
|
|
138
|
+
| undefined,
|
|
139
|
+
) => Promise<WriteContractData>
|
|
140
|
+
}
|
|
141
|
+
>
|
|
142
|
+
|
|
143
|
+
export function createUseWriteContract<
|
|
144
|
+
const abi extends Abi | readonly unknown[],
|
|
145
|
+
const address extends
|
|
146
|
+
| Address
|
|
147
|
+
| Record<number, Address>
|
|
148
|
+
| undefined = undefined,
|
|
149
|
+
functionName extends
|
|
150
|
+
| ContractFunctionName<abi, stateMutability>
|
|
151
|
+
| undefined = undefined,
|
|
152
|
+
>(
|
|
153
|
+
config: CreateUseWriteContractParameters<abi, address, functionName>,
|
|
154
|
+
): CreateUseWriteContractReturnType<abi, address, functionName> {
|
|
155
|
+
if (config.address !== undefined && typeof config.address === 'object')
|
|
156
|
+
return (parameters) => {
|
|
157
|
+
const result = useWriteContract(parameters)
|
|
158
|
+
const configChainId = useChainId()
|
|
159
|
+
const account = useAccount()
|
|
160
|
+
type Args = Parameters<wagmi_UseWriteContractReturnType['writeContract']>
|
|
161
|
+
return {
|
|
162
|
+
...(result as any),
|
|
163
|
+
writeContract: useCallback(
|
|
164
|
+
(...args: Args) => {
|
|
165
|
+
let chainId
|
|
166
|
+
if (args[0].chainId) chainId = args[0].chainId
|
|
167
|
+
else if (args[0].account && args[0].account === account.address)
|
|
168
|
+
chainId = account.chainId
|
|
169
|
+
else if (args[0].account === undefined) chainId = account.chainId
|
|
170
|
+
else chainId = configChainId
|
|
171
|
+
|
|
172
|
+
const variables = {
|
|
173
|
+
...(args[0] as any),
|
|
174
|
+
address: chainId ? config.address?.[chainId] : undefined,
|
|
175
|
+
abi: config.abi,
|
|
176
|
+
}
|
|
177
|
+
result.writeContract(variables, args[1] as any)
|
|
178
|
+
},
|
|
179
|
+
[
|
|
180
|
+
account.address,
|
|
181
|
+
account.chainId,
|
|
182
|
+
config,
|
|
183
|
+
configChainId,
|
|
184
|
+
result.writeContract,
|
|
185
|
+
],
|
|
186
|
+
),
|
|
187
|
+
writeContractAsync: useCallback(
|
|
188
|
+
(...args: Args) => {
|
|
189
|
+
let chainId
|
|
190
|
+
if (args[0].chainId) chainId = args[0].chainId
|
|
191
|
+
else if (args[0].account && args[0].account === account.address)
|
|
192
|
+
chainId = account.chainId
|
|
193
|
+
else if (args[0].account === undefined) chainId = account.chainId
|
|
194
|
+
else chainId = configChainId
|
|
195
|
+
|
|
196
|
+
const variables = {
|
|
197
|
+
...(args[0] as any),
|
|
198
|
+
address: chainId ? config.address?.[chainId] : undefined,
|
|
199
|
+
abi: config.abi,
|
|
200
|
+
}
|
|
201
|
+
return result.writeContractAsync(variables, args[1] as any)
|
|
202
|
+
},
|
|
203
|
+
[
|
|
204
|
+
account.address,
|
|
205
|
+
account.chainId,
|
|
206
|
+
config,
|
|
207
|
+
configChainId,
|
|
208
|
+
result.writeContractAsync,
|
|
209
|
+
],
|
|
210
|
+
),
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
return (parameters) => {
|
|
215
|
+
const result = useWriteContract(parameters)
|
|
216
|
+
type Args = Parameters<wagmi_UseWriteContractReturnType['writeContract']>
|
|
217
|
+
return {
|
|
218
|
+
...(result as any),
|
|
219
|
+
writeContract: useCallback(
|
|
220
|
+
(...args: Args) => {
|
|
221
|
+
const variables = {
|
|
222
|
+
...(args[0] as any),
|
|
223
|
+
...(config.address ? { address: config.address } : {}),
|
|
224
|
+
...(config.functionName
|
|
225
|
+
? { functionName: config.functionName }
|
|
226
|
+
: {}),
|
|
227
|
+
abi: config.abi,
|
|
228
|
+
}
|
|
229
|
+
result.writeContract(variables, args[1] as any)
|
|
230
|
+
},
|
|
231
|
+
[config, result.writeContract],
|
|
232
|
+
),
|
|
233
|
+
writeContractAsync: useCallback(
|
|
234
|
+
(...args: Args) => {
|
|
235
|
+
const variables = {
|
|
236
|
+
...(args[0] as any),
|
|
237
|
+
...(config.address ? { address: config.address } : {}),
|
|
238
|
+
...(config.functionName
|
|
239
|
+
? { functionName: config.functionName }
|
|
240
|
+
: {}),
|
|
241
|
+
abi: config.abi,
|
|
242
|
+
}
|
|
243
|
+
return result.writeContractAsync(variables, args[1] as any)
|
|
244
|
+
},
|
|
245
|
+
[config, result.writeContractAsync],
|
|
246
|
+
),
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
type Variables<
|
|
252
|
+
abi extends Abi | readonly unknown[],
|
|
253
|
+
functionName extends ContractFunctionName<abi, stateMutability> | undefined,
|
|
254
|
+
name extends ContractFunctionName<abi, stateMutability>,
|
|
255
|
+
args extends ContractFunctionArgs<abi, stateMutability, name>,
|
|
256
|
+
config extends Config,
|
|
257
|
+
chainId extends config['chains'][number]['id'],
|
|
258
|
+
address extends Address | Record<number, Address> | undefined,
|
|
259
|
+
///
|
|
260
|
+
allFunctionNames = ContractFunctionName<abi, stateMutability>,
|
|
261
|
+
chains extends readonly Chain[] = SelectChains<config, chainId>,
|
|
262
|
+
omittedProperties extends 'abi' | 'address' | 'functionName' =
|
|
263
|
+
| 'abi'
|
|
264
|
+
| (address extends undefined ? never : 'address')
|
|
265
|
+
| (functionName extends undefined ? never : 'functionName'),
|
|
266
|
+
> = UnionEvaluate<
|
|
267
|
+
{
|
|
268
|
+
[key in keyof chains]: UnionOmit<
|
|
269
|
+
viem_WriteContractParameters<
|
|
270
|
+
abi,
|
|
271
|
+
name,
|
|
272
|
+
args,
|
|
273
|
+
chains[key],
|
|
274
|
+
Account,
|
|
275
|
+
chains[key],
|
|
276
|
+
allFunctionNames
|
|
277
|
+
>,
|
|
278
|
+
omittedProperties | 'chain'
|
|
279
|
+
>
|
|
280
|
+
}[number] &
|
|
281
|
+
(address extends Record<number, Address>
|
|
282
|
+
? {
|
|
283
|
+
chainId?:
|
|
284
|
+
| keyof address
|
|
285
|
+
| (chainId extends keyof address ? chainId : never)
|
|
286
|
+
| undefined
|
|
287
|
+
}
|
|
288
|
+
: Evaluate<ChainIdParameter<config, chainId>>) &
|
|
289
|
+
ConnectorParameter & { __mode?: 'prepared' }
|
|
290
|
+
>
|
package/src/hooks/useAccount.ts
CHANGED
|
@@ -14,7 +14,7 @@ export type UseAccountParameters = ConfigParameter
|
|
|
14
14
|
|
|
15
15
|
export type UseAccountReturnType = GetAccountReturnType
|
|
16
16
|
|
|
17
|
-
/** https://
|
|
17
|
+
/** https://wagmi.sh/react/api/hooks/useAccount */
|
|
18
18
|
export function useAccount(
|
|
19
19
|
parameters: UseAccountParameters = {},
|
|
20
20
|
): UseAccountReturnType {
|
|
@@ -13,7 +13,7 @@ export type UseAccountEffectParameters = Evaluate<
|
|
|
13
13
|
data: Evaluate<
|
|
14
14
|
Pick<
|
|
15
15
|
Extract<GetAccountReturnType, { status: 'connected' }>,
|
|
16
|
-
'address' | 'addresses' | 'chainId' | 'connector'
|
|
16
|
+
'address' | 'addresses' | 'chain' | 'chainId' | 'connector'
|
|
17
17
|
> & {
|
|
18
18
|
isReconnected: boolean
|
|
19
19
|
}
|
|
@@ -23,7 +23,7 @@ export type UseAccountEffectParameters = Evaluate<
|
|
|
23
23
|
} & ConfigParameter
|
|
24
24
|
>
|
|
25
25
|
|
|
26
|
-
/** https://
|
|
26
|
+
/** https://wagmi.sh/react/api/hooks/useAccountEffect */
|
|
27
27
|
export function useAccountEffect(parameters: UseAccountEffectParameters = {}) {
|
|
28
28
|
const { onConnect, onDisconnect } = parameters
|
|
29
29
|
|
|
@@ -38,12 +38,19 @@ export function useAccountEffect(parameters: UseAccountEffectParameters = {}) {
|
|
|
38
38
|
prevData.address === undefined)) &&
|
|
39
39
|
data.status === 'connected'
|
|
40
40
|
) {
|
|
41
|
-
const { address, addresses, chainId, connector } = data
|
|
41
|
+
const { address, addresses, chain, chainId, connector } = data
|
|
42
42
|
const isReconnected =
|
|
43
43
|
prevData.status === 'reconnecting' ||
|
|
44
44
|
// if `previousAccount.status` is `undefined`, the connector connected immediately.
|
|
45
45
|
prevData.status === undefined
|
|
46
|
-
onConnect?.({
|
|
46
|
+
onConnect?.({
|
|
47
|
+
address,
|
|
48
|
+
addresses,
|
|
49
|
+
chain,
|
|
50
|
+
chainId,
|
|
51
|
+
connector,
|
|
52
|
+
isReconnected,
|
|
53
|
+
})
|
|
47
54
|
} else if (
|
|
48
55
|
prevData.status === 'connected' &&
|
|
49
56
|
data.status === 'disconnected'
|
package/src/hooks/useBalance.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
type Config,
|
|
5
|
-
type
|
|
5
|
+
type GetBalanceErrorType,
|
|
6
6
|
type ResolvedRegister,
|
|
7
7
|
} from '@wagmi/core'
|
|
8
8
|
import type { Evaluate } from '@wagmi/core/internal'
|
|
@@ -14,12 +14,8 @@ import {
|
|
|
14
14
|
} from '@wagmi/core/query'
|
|
15
15
|
import type { GetBalanceQueryFnData } from '@wagmi/core/query'
|
|
16
16
|
|
|
17
|
-
import type { ConfigParameter } from '../types/properties.js'
|
|
18
|
-
import {
|
|
19
|
-
type UseQueryParameters,
|
|
20
|
-
type UseQueryReturnType,
|
|
21
|
-
useQuery,
|
|
22
|
-
} from '../utils/query.js'
|
|
17
|
+
import type { ConfigParameter, QueryParameter } from '../types/properties.js'
|
|
18
|
+
import { type UseQueryReturnType, useQuery } from '../utils/query.js'
|
|
23
19
|
import { useChainId } from './useChainId.js'
|
|
24
20
|
import { useConfig } from './useConfig.js'
|
|
25
21
|
|
|
@@ -28,22 +24,19 @@ export type UseBalanceParameters<
|
|
|
28
24
|
selectData = GetBalanceData,
|
|
29
25
|
> = Evaluate<
|
|
30
26
|
GetBalanceOptions<config> &
|
|
31
|
-
ConfigParameter<config> &
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
>
|
|
39
|
-
| undefined
|
|
40
|
-
}
|
|
27
|
+
ConfigParameter<config> &
|
|
28
|
+
QueryParameter<
|
|
29
|
+
GetBalanceQueryFnData,
|
|
30
|
+
GetBalanceErrorType,
|
|
31
|
+
selectData,
|
|
32
|
+
GetBalanceQueryKey<config>
|
|
33
|
+
>
|
|
41
34
|
>
|
|
42
35
|
|
|
43
36
|
export type UseBalanceReturnType<selectData = GetBalanceData> =
|
|
44
|
-
UseQueryReturnType<selectData,
|
|
37
|
+
UseQueryReturnType<selectData, GetBalanceErrorType>
|
|
45
38
|
|
|
46
|
-
/** https://
|
|
39
|
+
/** https://wagmi.sh/react/api/hooks/useBalance */
|
|
47
40
|
export function useBalance<
|
|
48
41
|
config extends Config = ResolvedRegister['config'],
|
|
49
42
|
selectData = GetBalanceData,
|
|
@@ -55,11 +48,11 @@ export function useBalance<
|
|
|
55
48
|
const config = useConfig(parameters)
|
|
56
49
|
const chainId = useChainId()
|
|
57
50
|
|
|
58
|
-
const
|
|
51
|
+
const options = getBalanceQueryOptions(config, {
|
|
59
52
|
...parameters,
|
|
60
53
|
chainId: parameters.chainId ?? chainId,
|
|
61
54
|
})
|
|
62
55
|
const enabled = Boolean(address && (query.enabled ?? true))
|
|
63
56
|
|
|
64
|
-
return useQuery({ ...
|
|
57
|
+
return useQuery({ ...query, ...options, enabled })
|
|
65
58
|
}
|