wagmi 3.3.4 → 3.4.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/dist/esm/exports/index.js +3 -0
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/hooks/codegen/createUseWriteContract.js +2 -0
- package/dist/esm/hooks/codegen/createUseWriteContract.js.map +1 -1
- package/dist/esm/hooks/useBalance.js +0 -1
- package/dist/esm/hooks/useBalance.js.map +1 -1
- package/dist/esm/hooks/useBlobBaseFee.js +16 -0
- package/dist/esm/hooks/useBlobBaseFee.js.map +1 -0
- package/dist/esm/hooks/useBlock.js +0 -1
- package/dist/esm/hooks/useBlock.js.map +1 -1
- package/dist/esm/hooks/useBlockNumber.js +0 -1
- package/dist/esm/hooks/useBlockNumber.js.map +1 -1
- package/dist/esm/hooks/useBlockTransactionCount.js +0 -1
- package/dist/esm/hooks/useBlockTransactionCount.js.map +1 -1
- package/dist/esm/hooks/useBytecode.js +0 -1
- package/dist/esm/hooks/useBytecode.js.map +1 -1
- package/dist/esm/hooks/useCall.js +0 -1
- package/dist/esm/hooks/useCall.js.map +1 -1
- package/dist/esm/hooks/useCallsStatus.js +0 -1
- package/dist/esm/hooks/useCallsStatus.js.map +1 -1
- package/dist/esm/hooks/useCapabilities.js +0 -1
- package/dist/esm/hooks/useCapabilities.js.map +1 -1
- package/dist/esm/hooks/useConnect.js +2 -5
- package/dist/esm/hooks/useConnect.js.map +1 -1
- package/dist/esm/hooks/useContractEvents.js +16 -0
- package/dist/esm/hooks/useContractEvents.js.map +1 -0
- package/dist/esm/hooks/useDeployContract.js +2 -4
- package/dist/esm/hooks/useDeployContract.js.map +1 -1
- package/dist/esm/hooks/useDisconnect.js +2 -2
- package/dist/esm/hooks/useDisconnect.js.map +1 -1
- package/dist/esm/hooks/useEnsAddress.js +0 -1
- package/dist/esm/hooks/useEnsAddress.js.map +1 -1
- package/dist/esm/hooks/useEnsAvatar.js +0 -1
- package/dist/esm/hooks/useEnsAvatar.js.map +1 -1
- package/dist/esm/hooks/useEnsName.js +0 -1
- package/dist/esm/hooks/useEnsName.js.map +1 -1
- package/dist/esm/hooks/useEnsResolver.js +0 -1
- package/dist/esm/hooks/useEnsResolver.js.map +1 -1
- package/dist/esm/hooks/useEnsText.js +0 -1
- package/dist/esm/hooks/useEnsText.js.map +1 -1
- package/dist/esm/hooks/useEstimateFeesPerGas.js +0 -1
- package/dist/esm/hooks/useEstimateFeesPerGas.js.map +1 -1
- package/dist/esm/hooks/useEstimateGas.js +0 -1
- package/dist/esm/hooks/useEstimateGas.js.map +1 -1
- package/dist/esm/hooks/useEstimateMaxPriorityFeePerGas.js +0 -1
- package/dist/esm/hooks/useEstimateMaxPriorityFeePerGas.js.map +1 -1
- package/dist/esm/hooks/useFeeHistory.js +0 -1
- package/dist/esm/hooks/useFeeHistory.js.map +1 -1
- package/dist/esm/hooks/useGasPrice.js +0 -1
- package/dist/esm/hooks/useGasPrice.js.map +1 -1
- package/dist/esm/hooks/usePrepareTransactionRequest.js +0 -1
- package/dist/esm/hooks/usePrepareTransactionRequest.js.map +1 -1
- package/dist/esm/hooks/useProof.js +0 -1
- package/dist/esm/hooks/useProof.js.map +1 -1
- package/dist/esm/hooks/useReadContract.js +0 -1
- package/dist/esm/hooks/useReadContract.js.map +1 -1
- package/dist/esm/hooks/useReadContracts.js +0 -1
- package/dist/esm/hooks/useReadContracts.js.map +1 -1
- package/dist/esm/hooks/useReconnect.js +2 -2
- package/dist/esm/hooks/useReconnect.js.map +1 -1
- package/dist/esm/hooks/useSendCalls.js +2 -4
- package/dist/esm/hooks/useSendCalls.js.map +1 -1
- package/dist/esm/hooks/useSendCallsSync.js +2 -4
- package/dist/esm/hooks/useSendCallsSync.js.map +1 -1
- package/dist/esm/hooks/useSendTransaction.js +2 -2
- package/dist/esm/hooks/useSendTransaction.js.map +1 -1
- package/dist/esm/hooks/useSendTransactionSync.js +2 -2
- package/dist/esm/hooks/useSendTransactionSync.js.map +1 -1
- package/dist/esm/hooks/useShowCallsStatus.js +2 -2
- package/dist/esm/hooks/useShowCallsStatus.js.map +1 -1
- package/dist/esm/hooks/useSignMessage.js +2 -2
- package/dist/esm/hooks/useSignMessage.js.map +1 -1
- package/dist/esm/hooks/useSignTypedData.js +2 -4
- package/dist/esm/hooks/useSignTypedData.js.map +1 -1
- package/dist/esm/hooks/useSimulateContract.js +0 -1
- package/dist/esm/hooks/useSimulateContract.js.map +1 -1
- package/dist/esm/hooks/useStorageAt.js +0 -1
- package/dist/esm/hooks/useStorageAt.js.map +1 -1
- package/dist/esm/hooks/useSwitchChain.js +2 -4
- package/dist/esm/hooks/useSwitchChain.js.map +1 -1
- package/dist/esm/hooks/useSwitchConnection.js +2 -4
- package/dist/esm/hooks/useSwitchConnection.js.map +1 -1
- package/dist/esm/hooks/useTransaction.js +0 -1
- package/dist/esm/hooks/useTransaction.js.map +1 -1
- package/dist/esm/hooks/useTransactionConfirmations.js +0 -1
- package/dist/esm/hooks/useTransactionConfirmations.js.map +1 -1
- package/dist/esm/hooks/useTransactionCount.js +0 -1
- package/dist/esm/hooks/useTransactionCount.js.map +1 -1
- package/dist/esm/hooks/useTransactionReceipt.js +0 -1
- package/dist/esm/hooks/useTransactionReceipt.js.map +1 -1
- package/dist/esm/hooks/useVerifyMessage.js +0 -1
- package/dist/esm/hooks/useVerifyMessage.js.map +1 -1
- package/dist/esm/hooks/useVerifyTypedData.js +0 -1
- package/dist/esm/hooks/useVerifyTypedData.js.map +1 -1
- package/dist/esm/hooks/useWaitForCallsStatus.js +0 -1
- package/dist/esm/hooks/useWaitForCallsStatus.js.map +1 -1
- package/dist/esm/hooks/useWaitForTransactionReceipt.js +0 -1
- package/dist/esm/hooks/useWaitForTransactionReceipt.js.map +1 -1
- package/dist/esm/hooks/useWatchAsset.js +2 -2
- package/dist/esm/hooks/useWatchAsset.js.map +1 -1
- package/dist/esm/hooks/useWatchBlockNumber.js +8 -5
- package/dist/esm/hooks/useWatchBlockNumber.js.map +1 -1
- package/dist/esm/hooks/useWatchBlocks.js +8 -5
- package/dist/esm/hooks/useWatchBlocks.js.map +1 -1
- package/dist/esm/hooks/useWatchContractEvent.js +21 -9
- package/dist/esm/hooks/useWatchContractEvent.js.map +1 -1
- package/dist/esm/hooks/useWatchPendingTransactions.js +8 -5
- package/dist/esm/hooks/useWatchPendingTransactions.js.map +1 -1
- package/dist/esm/hooks/useWriteContract.js +2 -4
- package/dist/esm/hooks/useWriteContract.js.map +1 -1
- package/dist/esm/hooks/useWriteContractSync.js +16 -0
- package/dist/esm/hooks/useWriteContractSync.js.map +1 -0
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/utils/query.js +2 -0
- package/dist/esm/utils/query.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/exports/index.d.ts +3 -0
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/hooks/codegen/createUseWriteContract.d.ts.map +1 -1
- package/dist/types/hooks/useBalance.d.ts.map +1 -1
- package/dist/types/hooks/useBlobBaseFee.d.ts +10 -0
- package/dist/types/hooks/useBlobBaseFee.d.ts.map +1 -0
- package/dist/types/hooks/useBlock.d.ts.map +1 -1
- package/dist/types/hooks/useBlockNumber.d.ts.map +1 -1
- package/dist/types/hooks/useBlockTransactionCount.d.ts.map +1 -1
- package/dist/types/hooks/useBytecode.d.ts.map +1 -1
- package/dist/types/hooks/useCall.d.ts.map +1 -1
- package/dist/types/hooks/useCallsStatus.d.ts.map +1 -1
- package/dist/types/hooks/useCapabilities.d.ts.map +1 -1
- package/dist/types/hooks/useConnect.d.ts +4 -8
- package/dist/types/hooks/useConnect.d.ts.map +1 -1
- package/dist/types/hooks/useContractEvents.d.ts +11 -0
- package/dist/types/hooks/useContractEvents.d.ts.map +1 -0
- package/dist/types/hooks/useDeployContract.d.ts +4 -8
- package/dist/types/hooks/useDeployContract.d.ts.map +1 -1
- package/dist/types/hooks/useDisconnect.d.ts +4 -8
- package/dist/types/hooks/useDisconnect.d.ts.map +1 -1
- package/dist/types/hooks/useEnsAddress.d.ts.map +1 -1
- package/dist/types/hooks/useEnsAvatar.d.ts.map +1 -1
- package/dist/types/hooks/useEnsName.d.ts.map +1 -1
- package/dist/types/hooks/useEnsResolver.d.ts.map +1 -1
- package/dist/types/hooks/useEnsText.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateFeesPerGas.d.ts.map +1 -1
- package/dist/types/hooks/useEstimateMaxPriorityFeePerGas.d.ts.map +1 -1
- package/dist/types/hooks/useFeeHistory.d.ts.map +1 -1
- package/dist/types/hooks/useGasPrice.d.ts.map +1 -1
- package/dist/types/hooks/usePrepareTransactionRequest.d.ts.map +1 -1
- package/dist/types/hooks/useProof.d.ts.map +1 -1
- package/dist/types/hooks/useReadContract.d.ts.map +1 -1
- package/dist/types/hooks/useReadContracts.d.ts.map +1 -1
- package/dist/types/hooks/useReconnect.d.ts +5 -8
- package/dist/types/hooks/useReconnect.d.ts.map +1 -1
- package/dist/types/hooks/useSendCalls.d.ts +4 -8
- package/dist/types/hooks/useSendCalls.d.ts.map +1 -1
- package/dist/types/hooks/useSendCallsSync.d.ts +4 -8
- package/dist/types/hooks/useSendCallsSync.d.ts.map +1 -1
- package/dist/types/hooks/useSendTransaction.d.ts +4 -8
- package/dist/types/hooks/useSendTransaction.d.ts.map +1 -1
- package/dist/types/hooks/useSendTransactionSync.d.ts +4 -8
- package/dist/types/hooks/useSendTransactionSync.d.ts.map +1 -1
- package/dist/types/hooks/useShowCallsStatus.d.ts +4 -8
- package/dist/types/hooks/useShowCallsStatus.d.ts.map +1 -1
- package/dist/types/hooks/useSignMessage.d.ts +4 -8
- package/dist/types/hooks/useSignMessage.d.ts.map +1 -1
- package/dist/types/hooks/useSignTypedData.d.ts +4 -8
- package/dist/types/hooks/useSignTypedData.d.ts.map +1 -1
- package/dist/types/hooks/useSimulateContract.d.ts.map +1 -1
- package/dist/types/hooks/useStorageAt.d.ts.map +1 -1
- package/dist/types/hooks/useSwitchChain.d.ts +4 -8
- package/dist/types/hooks/useSwitchChain.d.ts.map +1 -1
- package/dist/types/hooks/useSwitchConnection.d.ts +4 -8
- package/dist/types/hooks/useSwitchConnection.d.ts.map +1 -1
- package/dist/types/hooks/useTransaction.d.ts.map +1 -1
- package/dist/types/hooks/useTransactionConfirmations.d.ts.map +1 -1
- package/dist/types/hooks/useTransactionCount.d.ts.map +1 -1
- package/dist/types/hooks/useTransactionReceipt.d.ts.map +1 -1
- package/dist/types/hooks/useVerifyMessage.d.ts.map +1 -1
- package/dist/types/hooks/useVerifyTypedData.d.ts.map +1 -1
- package/dist/types/hooks/useWaitForCallsStatus.d.ts.map +1 -1
- package/dist/types/hooks/useWaitForTransactionReceipt.d.ts.map +1 -1
- package/dist/types/hooks/useWatchAsset.d.ts +4 -8
- package/dist/types/hooks/useWatchAsset.d.ts.map +1 -1
- package/dist/types/hooks/useWatchBlockNumber.d.ts.map +1 -1
- package/dist/types/hooks/useWatchBlocks.d.ts.map +1 -1
- package/dist/types/hooks/useWatchContractEvent.d.ts.map +1 -1
- package/dist/types/hooks/useWatchPendingTransactions.d.ts.map +1 -1
- package/dist/types/hooks/useWriteContract.d.ts +4 -8
- package/dist/types/hooks/useWriteContract.d.ts.map +1 -1
- package/dist/types/hooks/useWriteContractSync.d.ts +15 -0
- package/dist/types/hooks/useWriteContractSync.d.ts.map +1 -0
- package/dist/types/utils/query.d.ts +11 -8
- package/dist/types/utils/query.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/exports/index.ts +18 -0
- package/src/hooks/codegen/createUseWriteContract.ts +2 -0
- package/src/hooks/useBalance.ts +0 -1
- package/src/hooks/useBlobBaseFee.ts +46 -0
- package/src/hooks/useBlock.ts +0 -1
- package/src/hooks/useBlockNumber.ts +0 -1
- package/src/hooks/useBlockTransactionCount.ts +0 -1
- package/src/hooks/useBytecode.ts +0 -1
- package/src/hooks/useCall.ts +0 -1
- package/src/hooks/useCallsStatus.ts +0 -1
- package/src/hooks/useCapabilities.ts +0 -1
- package/src/hooks/useConnect.ts +8 -27
- package/src/hooks/useContractEvents.ts +111 -0
- package/src/hooks/useDeployContract.ts +9 -26
- package/src/hooks/useDisconnect.ts +12 -24
- package/src/hooks/useEnsAddress.ts +0 -1
- package/src/hooks/useEnsAvatar.ts +0 -1
- package/src/hooks/useEnsName.ts +0 -1
- package/src/hooks/useEnsResolver.ts +0 -1
- package/src/hooks/useEnsText.ts +0 -1
- package/src/hooks/useEstimateFeesPerGas.ts +0 -1
- package/src/hooks/useEstimateGas.ts +0 -1
- package/src/hooks/useEstimateMaxPriorityFeePerGas.ts +0 -1
- package/src/hooks/useFeeHistory.ts +0 -1
- package/src/hooks/useGasPrice.ts +0 -1
- package/src/hooks/usePrepareTransactionRequest.ts +0 -1
- package/src/hooks/useProof.ts +0 -1
- package/src/hooks/useReadContract.ts +0 -1
- package/src/hooks/useReadContracts.ts +0 -1
- package/src/hooks/useReconnect.ts +13 -24
- package/src/hooks/useSendCalls.ts +9 -26
- package/src/hooks/useSendCallsSync.ts +9 -26
- package/src/hooks/useSendTransaction.ts +9 -24
- package/src/hooks/useSendTransactionSync.ts +9 -22
- package/src/hooks/useShowCallsStatus.ts +9 -24
- package/src/hooks/useSignMessage.ts +12 -24
- package/src/hooks/useSignTypedData.ts +9 -24
- package/src/hooks/useSimulateContract.ts +0 -1
- package/src/hooks/useStorageAt.ts +0 -1
- package/src/hooks/useSwitchChain.ts +9 -26
- package/src/hooks/useSwitchConnection.ts +9 -26
- package/src/hooks/useTransaction.ts +0 -1
- package/src/hooks/useTransactionConfirmations.ts +0 -1
- package/src/hooks/useTransactionCount.ts +0 -1
- package/src/hooks/useTransactionReceipt.ts +0 -1
- package/src/hooks/useVerifyMessage.ts +0 -1
- package/src/hooks/useVerifyTypedData.ts +0 -1
- package/src/hooks/useWaitForCallsStatus.ts +0 -1
- package/src/hooks/useWaitForTransactionReceipt.ts +0 -1
- package/src/hooks/useWatchAsset.ts +12 -24
- package/src/hooks/useWatchBlockNumber.ts +10 -7
- package/src/hooks/useWatchBlocks.ts +10 -7
- package/src/hooks/useWatchContractEvent.ts +23 -10
- package/src/hooks/useWatchPendingTransactions.ts +10 -7
- package/src/hooks/useWriteContract.ts +9 -30
- package/src/hooks/useWriteContractSync.ts +65 -0
- package/src/utils/query.ts +37 -31
- package/src/version.ts +1 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
2
|
import { useMutation } from '@tanstack/react-query'
|
|
4
3
|
import type {
|
|
5
4
|
Config,
|
|
@@ -12,33 +11,19 @@ import {
|
|
|
12
11
|
type SwitchConnectionData,
|
|
13
12
|
type SwitchConnectionMutate,
|
|
14
13
|
type SwitchConnectionMutateAsync,
|
|
14
|
+
type SwitchConnectionOptions,
|
|
15
15
|
type SwitchConnectionVariables,
|
|
16
16
|
switchConnectionMutationOptions,
|
|
17
17
|
} from '@wagmi/core/query'
|
|
18
|
-
|
|
19
18
|
import type { ConfigParameter } from '../types/properties.js'
|
|
20
|
-
import type {
|
|
21
|
-
UseMutationParameters,
|
|
22
|
-
UseMutationReturnType,
|
|
23
|
-
} from '../utils/query.js'
|
|
19
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
24
20
|
import { useConfig } from './useConfig.js'
|
|
25
21
|
import { useConnections } from './useConnections.js'
|
|
26
22
|
|
|
27
23
|
export type UseSwitchConnectionParameters<
|
|
28
24
|
config extends Config = Config,
|
|
29
25
|
context = unknown,
|
|
30
|
-
> = Compute<
|
|
31
|
-
ConfigParameter<config> & {
|
|
32
|
-
mutation?:
|
|
33
|
-
| UseMutationParameters<
|
|
34
|
-
SwitchConnectionData<config>,
|
|
35
|
-
SwitchConnectionErrorType,
|
|
36
|
-
SwitchConnectionVariables,
|
|
37
|
-
context
|
|
38
|
-
>
|
|
39
|
-
| undefined
|
|
40
|
-
}
|
|
41
|
-
>
|
|
26
|
+
> = Compute<ConfigParameter<config> & SwitchConnectionOptions<config, context>>
|
|
42
27
|
|
|
43
28
|
export type UseSwitchConnectionReturnType<
|
|
44
29
|
config extends Config = Config,
|
|
@@ -48,12 +33,12 @@ export type UseSwitchConnectionReturnType<
|
|
|
48
33
|
SwitchConnectionData<config>,
|
|
49
34
|
SwitchConnectionErrorType,
|
|
50
35
|
SwitchConnectionVariables,
|
|
51
|
-
context
|
|
36
|
+
context,
|
|
37
|
+
SwitchConnectionMutate<config, context>,
|
|
38
|
+
SwitchConnectionMutateAsync<config, context>
|
|
52
39
|
> & {
|
|
53
40
|
/** @deprecated use `useConnections` instead */
|
|
54
41
|
connectors: readonly Connector[]
|
|
55
|
-
mutate: SwitchConnectionMutate<config, context>
|
|
56
|
-
mutateAsync: SwitchConnectionMutateAsync<config, context>
|
|
57
42
|
/** @deprecated use `mutate` instead */
|
|
58
43
|
switchAccount: SwitchConnectionMutate<config, context>
|
|
59
44
|
/** @deprecated use `mutateAsync` instead */
|
|
@@ -73,16 +58,14 @@ export function useSwitchConnection<
|
|
|
73
58
|
parameters: UseSwitchConnectionParameters<config, context> = {},
|
|
74
59
|
): UseSwitchConnectionReturnType<config, context> {
|
|
75
60
|
const config = useConfig(parameters)
|
|
76
|
-
const
|
|
77
|
-
const mutation = useMutation(
|
|
61
|
+
const options = switchConnectionMutationOptions(config, parameters)
|
|
62
|
+
const mutation = useMutation(options)
|
|
78
63
|
type Return = UseSwitchConnectionReturnType<config, context>
|
|
79
64
|
return {
|
|
80
|
-
...mutation,
|
|
65
|
+
...(mutation as Return),
|
|
81
66
|
connectors: useConnections({ config }).map(
|
|
82
67
|
(connection) => connection.connector,
|
|
83
68
|
),
|
|
84
|
-
mutate: mutation.mutate as Return['mutate'],
|
|
85
|
-
mutateAsync: mutation.mutateAsync as Return['mutateAsync'],
|
|
86
69
|
switchAccount: mutation.mutate as Return['mutate'],
|
|
87
70
|
switchAccountAsync: mutation.mutateAsync as Return['mutateAsync'],
|
|
88
71
|
switchConnection: mutation.mutate as Return['mutate'],
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
2
|
import { useMutation } from '@tanstack/react-query'
|
|
4
3
|
import type { WatchAssetErrorType } from '@wagmi/core'
|
|
5
4
|
import type { Compute } from '@wagmi/core/internal'
|
|
@@ -7,28 +6,16 @@ import {
|
|
|
7
6
|
type WatchAssetData,
|
|
8
7
|
type WatchAssetMutate,
|
|
9
8
|
type WatchAssetMutateAsync,
|
|
9
|
+
type WatchAssetOptions,
|
|
10
10
|
type WatchAssetVariables,
|
|
11
11
|
watchAssetMutationOptions,
|
|
12
12
|
} from '@wagmi/core/query'
|
|
13
|
-
|
|
14
13
|
import type { ConfigParameter } from '../types/properties.js'
|
|
15
|
-
import type {
|
|
16
|
-
UseMutationParameters,
|
|
17
|
-
UseMutationReturnType,
|
|
18
|
-
} from '../utils/query.js'
|
|
14
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
19
15
|
import { useConfig } from './useConfig.js'
|
|
20
16
|
|
|
21
17
|
export type UseWatchAssetParameters<context = unknown> = Compute<
|
|
22
|
-
ConfigParameter &
|
|
23
|
-
mutation?:
|
|
24
|
-
| UseMutationParameters<
|
|
25
|
-
WatchAssetData,
|
|
26
|
-
WatchAssetErrorType,
|
|
27
|
-
WatchAssetVariables,
|
|
28
|
-
context
|
|
29
|
-
>
|
|
30
|
-
| undefined
|
|
31
|
-
}
|
|
18
|
+
ConfigParameter & WatchAssetOptions<context>
|
|
32
19
|
>
|
|
33
20
|
|
|
34
21
|
export type UseWatchAssetReturnType<context = unknown> = Compute<
|
|
@@ -36,10 +23,10 @@ export type UseWatchAssetReturnType<context = unknown> = Compute<
|
|
|
36
23
|
WatchAssetData,
|
|
37
24
|
WatchAssetErrorType,
|
|
38
25
|
WatchAssetVariables,
|
|
39
|
-
context
|
|
26
|
+
context,
|
|
27
|
+
WatchAssetMutate<context>,
|
|
28
|
+
WatchAssetMutateAsync<context>
|
|
40
29
|
> & {
|
|
41
|
-
mutate: WatchAssetMutate<context>
|
|
42
|
-
mutateAsync: WatchAssetMutateAsync<context>
|
|
43
30
|
/** @deprecated use `mutate` instead */
|
|
44
31
|
watchAsset: WatchAssetMutate<context>
|
|
45
32
|
/** @deprecated use `mutateAsync` instead */
|
|
@@ -52,11 +39,12 @@ export function useWatchAsset<context = unknown>(
|
|
|
52
39
|
parameters: UseWatchAssetParameters<context> = {},
|
|
53
40
|
): UseWatchAssetReturnType<context> {
|
|
54
41
|
const config = useConfig(parameters)
|
|
55
|
-
const
|
|
56
|
-
const mutation = useMutation(
|
|
42
|
+
const options = watchAssetMutationOptions(config, parameters)
|
|
43
|
+
const mutation = useMutation(options)
|
|
44
|
+
type Return = UseWatchAssetReturnType<context>
|
|
57
45
|
return {
|
|
58
|
-
...mutation,
|
|
59
|
-
watchAsset: mutation.mutate,
|
|
60
|
-
watchAssetAsync: mutation.mutateAsync,
|
|
46
|
+
...(mutation as Return),
|
|
47
|
+
watchAsset: mutation.mutate as Return['mutate'],
|
|
48
|
+
watchAssetAsync: mutation.mutateAsync as Return['mutateAsync'],
|
|
61
49
|
}
|
|
62
50
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
2
|
import {
|
|
4
3
|
type Config,
|
|
5
4
|
type ResolvedRegister,
|
|
@@ -7,8 +6,7 @@ import {
|
|
|
7
6
|
watchBlockNumber,
|
|
8
7
|
} from '@wagmi/core'
|
|
9
8
|
import type { UnionCompute, UnionExactPartial } from '@wagmi/core/internal'
|
|
10
|
-
import { useEffect } from 'react'
|
|
11
|
-
|
|
9
|
+
import { useEffect, useRef } from 'react'
|
|
12
10
|
import type { ConfigParameter, EnabledParameter } from '../types/properties.js'
|
|
13
11
|
import { useChainId } from './useChainId.js'
|
|
14
12
|
import { useConfig } from './useConfig.js'
|
|
@@ -39,23 +37,28 @@ export function useWatchBlockNumber<
|
|
|
39
37
|
const configChainId = useChainId({ config })
|
|
40
38
|
const chainId = parameters.chainId ?? configChainId
|
|
41
39
|
|
|
40
|
+
const onBlockNumberRef = useRef(onBlockNumber)
|
|
41
|
+
const onErrorRef = useRef(rest.onError)
|
|
42
|
+
onBlockNumberRef.current = onBlockNumber
|
|
43
|
+
onErrorRef.current = rest.onError
|
|
44
|
+
|
|
42
45
|
// TODO(react@19): cleanup
|
|
43
46
|
// biome-ignore lint/correctness/useExhaustiveDependencies: `rest` changes every render so only including properties in dependency array
|
|
44
47
|
useEffect(() => {
|
|
45
48
|
if (!enabled) return
|
|
46
|
-
if (!
|
|
49
|
+
if (!onBlockNumberRef.current) return
|
|
47
50
|
return watchBlockNumber(config, {
|
|
48
51
|
...(rest as any),
|
|
49
52
|
chainId,
|
|
50
|
-
onBlockNumber,
|
|
53
|
+
onBlockNumber: (blockNumber, prevBlockNumber) =>
|
|
54
|
+
onBlockNumberRef.current?.(blockNumber, prevBlockNumber),
|
|
55
|
+
onError: (error) => onErrorRef.current?.(error),
|
|
51
56
|
})
|
|
52
57
|
}, [
|
|
53
58
|
chainId,
|
|
54
59
|
config,
|
|
55
60
|
enabled,
|
|
56
|
-
onBlockNumber,
|
|
57
61
|
///
|
|
58
|
-
rest.onError,
|
|
59
62
|
rest.emitMissed,
|
|
60
63
|
rest.emitOnBegin,
|
|
61
64
|
rest.poll,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
2
|
import {
|
|
4
3
|
type Config,
|
|
5
4
|
type ResolvedRegister,
|
|
@@ -7,9 +6,8 @@ import {
|
|
|
7
6
|
watchBlocks,
|
|
8
7
|
} from '@wagmi/core'
|
|
9
8
|
import type { UnionCompute, UnionExactPartial } from '@wagmi/core/internal'
|
|
10
|
-
import { useEffect } from 'react'
|
|
9
|
+
import { useEffect, useRef } from 'react'
|
|
11
10
|
import type { BlockTag } from 'viem'
|
|
12
|
-
|
|
13
11
|
import type { ConfigParameter, EnabledParameter } from '../types/properties.js'
|
|
14
12
|
import { useChainId } from './useChainId.js'
|
|
15
13
|
import { useConfig } from './useConfig.js'
|
|
@@ -51,27 +49,32 @@ export function useWatchBlocks<
|
|
|
51
49
|
const configChainId = useChainId({ config })
|
|
52
50
|
const chainId = parameters.chainId ?? configChainId
|
|
53
51
|
|
|
52
|
+
const onBlockRef = useRef(onBlock)
|
|
53
|
+
const onErrorRef = useRef(rest.onError)
|
|
54
|
+
onBlockRef.current = onBlock
|
|
55
|
+
onErrorRef.current = rest.onError
|
|
56
|
+
|
|
54
57
|
// TODO(react@19): cleanup
|
|
55
58
|
// biome-ignore lint/correctness/useExhaustiveDependencies: `rest` changes every render so only including properties in dependency array
|
|
56
59
|
useEffect(() => {
|
|
57
60
|
if (!enabled) return
|
|
58
|
-
if (!
|
|
61
|
+
if (!onBlockRef.current) return
|
|
59
62
|
return watchBlocks(config, {
|
|
60
63
|
...(rest as any),
|
|
61
64
|
chainId,
|
|
62
|
-
onBlock,
|
|
65
|
+
onBlock: (block, prevBlock) =>
|
|
66
|
+
onBlockRef.current?.(block as any, prevBlock as any),
|
|
67
|
+
onError: (error) => onErrorRef.current?.(error),
|
|
63
68
|
})
|
|
64
69
|
}, [
|
|
65
70
|
chainId,
|
|
66
71
|
config,
|
|
67
72
|
enabled,
|
|
68
|
-
onBlock,
|
|
69
73
|
///
|
|
70
74
|
rest.blockTag,
|
|
71
75
|
rest.emitMissed,
|
|
72
76
|
rest.emitOnBegin,
|
|
73
77
|
rest.includeTransactions,
|
|
74
|
-
rest.onError,
|
|
75
78
|
rest.poll,
|
|
76
79
|
rest.pollingInterval,
|
|
77
80
|
rest.syncConnectedChain,
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
2
|
import {
|
|
4
3
|
type Config,
|
|
4
|
+
deepEqual,
|
|
5
5
|
type ResolvedRegister,
|
|
6
6
|
type WatchContractEventParameters,
|
|
7
7
|
watchContractEvent,
|
|
8
8
|
} from '@wagmi/core'
|
|
9
9
|
import type { UnionCompute, UnionExactPartial } from '@wagmi/core/internal'
|
|
10
|
-
import { useEffect } from 'react'
|
|
10
|
+
import { useEffect, useRef } from 'react'
|
|
11
11
|
import type { Abi, ContractEventName } from 'viem'
|
|
12
|
-
|
|
13
12
|
import type { ConfigParameter, EnabledParameter } from '../types/properties.js'
|
|
14
13
|
import { useChainId } from './useChainId.js'
|
|
15
14
|
import { useConfig } from './useConfig.js'
|
|
@@ -54,29 +53,43 @@ export function useWatchContractEvent<
|
|
|
54
53
|
const configChainId = useChainId({ config })
|
|
55
54
|
const chainId = parameters.chainId ?? configChainId
|
|
56
55
|
|
|
56
|
+
const onLogsRef = useRef(onLogs)
|
|
57
|
+
const onErrorRef = useRef(rest.onError)
|
|
58
|
+
onLogsRef.current = onLogs
|
|
59
|
+
onErrorRef.current = rest.onError
|
|
60
|
+
|
|
61
|
+
const abiRef = useRef(rest.abi)
|
|
62
|
+
const addressRef = useRef(rest.address)
|
|
63
|
+
const argsRef = useRef(rest.args)
|
|
64
|
+
if (!abiRef.current || !deepEqual(abiRef.current, rest.abi))
|
|
65
|
+
abiRef.current = rest.abi
|
|
66
|
+
if (!addressRef.current || !deepEqual(addressRef.current, rest.address))
|
|
67
|
+
addressRef.current = rest.address
|
|
68
|
+
if (!argsRef.current || !deepEqual(argsRef.current, rest.args))
|
|
69
|
+
argsRef.current = rest.args
|
|
70
|
+
|
|
57
71
|
// TODO(react@19): cleanup
|
|
58
72
|
// biome-ignore lint/correctness/useExhaustiveDependencies: `rest` changes every render so only including properties in dependency array
|
|
59
73
|
useEffect(() => {
|
|
60
74
|
if (!enabled) return
|
|
61
|
-
if (!
|
|
75
|
+
if (!onLogsRef.current) return
|
|
62
76
|
return watchContractEvent(config, {
|
|
63
77
|
...(rest as any),
|
|
64
78
|
chainId,
|
|
65
|
-
onLogs,
|
|
79
|
+
onLogs: (logs) => onLogsRef.current?.(logs as any),
|
|
80
|
+
onError: (error) => onErrorRef.current?.(error),
|
|
66
81
|
})
|
|
67
82
|
}, [
|
|
68
83
|
chainId,
|
|
69
84
|
config,
|
|
70
85
|
enabled,
|
|
71
|
-
onLogs,
|
|
72
86
|
///
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
87
|
+
abiRef.current,
|
|
88
|
+
addressRef.current,
|
|
89
|
+
argsRef.current,
|
|
76
90
|
rest.batch,
|
|
77
91
|
rest.eventName,
|
|
78
92
|
rest.fromBlock,
|
|
79
|
-
rest.onError,
|
|
80
93
|
rest.poll,
|
|
81
94
|
rest.pollingInterval,
|
|
82
95
|
rest.strict,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
2
|
import {
|
|
4
3
|
type Config,
|
|
5
4
|
type ResolvedRegister,
|
|
@@ -7,8 +6,7 @@ import {
|
|
|
7
6
|
watchPendingTransactions,
|
|
8
7
|
} from '@wagmi/core'
|
|
9
8
|
import type { UnionCompute, UnionExactPartial } from '@wagmi/core/internal'
|
|
10
|
-
import { useEffect } from 'react'
|
|
11
|
-
|
|
9
|
+
import { useEffect, useRef } from 'react'
|
|
12
10
|
import type { ConfigParameter, EnabledParameter } from '../types/properties.js'
|
|
13
11
|
import { useChainId } from './useChainId.js'
|
|
14
12
|
import { useConfig } from './useConfig.js'
|
|
@@ -42,24 +40,29 @@ export function useWatchPendingTransactions<
|
|
|
42
40
|
const configChainId = useChainId({ config })
|
|
43
41
|
const chainId = parameters.chainId ?? configChainId
|
|
44
42
|
|
|
43
|
+
const onTransactionsRef = useRef(onTransactions)
|
|
44
|
+
const onErrorRef = useRef(rest.onError)
|
|
45
|
+
onTransactionsRef.current = onTransactions
|
|
46
|
+
onErrorRef.current = rest.onError
|
|
47
|
+
|
|
45
48
|
// TODO(react@19): cleanup
|
|
46
49
|
// biome-ignore lint/correctness/useExhaustiveDependencies: `rest` changes every render so only including properties in dependency array
|
|
47
50
|
useEffect(() => {
|
|
48
51
|
if (!enabled) return
|
|
49
|
-
if (!
|
|
52
|
+
if (!onTransactionsRef.current) return
|
|
50
53
|
return watchPendingTransactions(config, {
|
|
51
54
|
...(rest as any),
|
|
52
55
|
chainId,
|
|
53
|
-
onTransactions
|
|
56
|
+
onTransactions: (transactions) =>
|
|
57
|
+
onTransactionsRef.current?.(transactions),
|
|
58
|
+
onError: (error) => onErrorRef.current?.(error),
|
|
54
59
|
})
|
|
55
60
|
}, [
|
|
56
61
|
chainId,
|
|
57
62
|
config,
|
|
58
63
|
enabled,
|
|
59
|
-
onTransactions,
|
|
60
64
|
///
|
|
61
65
|
rest.batch,
|
|
62
|
-
rest.onError,
|
|
63
66
|
rest.poll,
|
|
64
67
|
rest.pollingInterval,
|
|
65
68
|
rest.syncConnectedChain,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
2
|
import { useMutation } from '@tanstack/react-query'
|
|
4
3
|
import type {
|
|
5
4
|
Config,
|
|
@@ -10,37 +9,19 @@ import {
|
|
|
10
9
|
type WriteContractData,
|
|
11
10
|
type WriteContractMutate,
|
|
12
11
|
type WriteContractMutateAsync,
|
|
12
|
+
type WriteContractOptions,
|
|
13
13
|
type WriteContractVariables,
|
|
14
14
|
writeContractMutationOptions,
|
|
15
15
|
} from '@wagmi/core/query'
|
|
16
16
|
import type { Abi } from 'viem'
|
|
17
|
-
|
|
18
17
|
import type { ConfigParameter } from '../types/properties.js'
|
|
19
|
-
import type {
|
|
20
|
-
UseMutationParameters,
|
|
21
|
-
UseMutationReturnType,
|
|
22
|
-
} from '../utils/query.js'
|
|
18
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
23
19
|
import { useConfig } from './useConfig.js'
|
|
24
20
|
|
|
25
21
|
export type UseWriteContractParameters<
|
|
26
22
|
config extends Config = Config,
|
|
27
23
|
context = unknown,
|
|
28
|
-
> = ConfigParameter<config> &
|
|
29
|
-
mutation?:
|
|
30
|
-
| UseMutationParameters<
|
|
31
|
-
WriteContractData,
|
|
32
|
-
WriteContractErrorType,
|
|
33
|
-
WriteContractVariables<
|
|
34
|
-
Abi,
|
|
35
|
-
string,
|
|
36
|
-
readonly unknown[],
|
|
37
|
-
config,
|
|
38
|
-
config['chains'][number]['id']
|
|
39
|
-
>,
|
|
40
|
-
context
|
|
41
|
-
>
|
|
42
|
-
| undefined
|
|
43
|
-
}
|
|
24
|
+
> = ConfigParameter<config> & WriteContractOptions<config, context>
|
|
44
25
|
|
|
45
26
|
export type UseWriteContractReturnType<
|
|
46
27
|
config extends Config = Config,
|
|
@@ -55,10 +36,10 @@ export type UseWriteContractReturnType<
|
|
|
55
36
|
config,
|
|
56
37
|
config['chains'][number]['id']
|
|
57
38
|
>,
|
|
58
|
-
context
|
|
39
|
+
context,
|
|
40
|
+
WriteContractMutate<config, context>,
|
|
41
|
+
WriteContractMutateAsync<config, context>
|
|
59
42
|
> & {
|
|
60
|
-
mutate: WriteContractMutate<config, context>
|
|
61
|
-
mutateAsync: WriteContractMutateAsync<config, context>
|
|
62
43
|
/** @deprecated use `mutate` instead */
|
|
63
44
|
writeContract: WriteContractMutate<config, context>
|
|
64
45
|
/** @deprecated use `mutateAsync` instead */
|
|
@@ -73,13 +54,11 @@ export function useWriteContract<
|
|
|
73
54
|
parameters: UseWriteContractParameters<config, context> = {},
|
|
74
55
|
): UseWriteContractReturnType<config, context> {
|
|
75
56
|
const config = useConfig(parameters)
|
|
76
|
-
const
|
|
77
|
-
const mutation = useMutation(
|
|
57
|
+
const options = writeContractMutationOptions(config, parameters)
|
|
58
|
+
const mutation = useMutation(options)
|
|
78
59
|
type Return = UseWriteContractReturnType<config, context>
|
|
79
60
|
return {
|
|
80
|
-
...mutation,
|
|
81
|
-
mutate: mutation.mutate as Return['mutate'],
|
|
82
|
-
mutateAsync: mutation.mutateAsync as Return['mutateAsync'],
|
|
61
|
+
...(mutation as Return),
|
|
83
62
|
writeContract: mutation.mutate as Return['mutate'],
|
|
84
63
|
writeContractAsync: mutation.mutateAsync as Return['mutateAsync'],
|
|
85
64
|
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { useMutation } from '@tanstack/react-query'
|
|
3
|
+
import type {
|
|
4
|
+
Config,
|
|
5
|
+
ResolvedRegister,
|
|
6
|
+
WriteContractSyncErrorType,
|
|
7
|
+
} from '@wagmi/core'
|
|
8
|
+
import {
|
|
9
|
+
type WriteContractSyncData,
|
|
10
|
+
type WriteContractSyncMutate,
|
|
11
|
+
type WriteContractSyncMutateAsync,
|
|
12
|
+
type WriteContractSyncOptions,
|
|
13
|
+
type WriteContractSyncVariables,
|
|
14
|
+
writeContractSyncMutationOptions,
|
|
15
|
+
} from '@wagmi/core/query'
|
|
16
|
+
import type { Abi } from 'viem'
|
|
17
|
+
import type { ConfigParameter } from '../types/properties.js'
|
|
18
|
+
import type { UseMutationReturnType } from '../utils/query.js'
|
|
19
|
+
import { useConfig } from './useConfig.js'
|
|
20
|
+
|
|
21
|
+
export type UseWriteContractSyncParameters<
|
|
22
|
+
config extends Config = Config,
|
|
23
|
+
context = unknown,
|
|
24
|
+
> = ConfigParameter<config> & WriteContractSyncOptions<config, context>
|
|
25
|
+
|
|
26
|
+
export type UseWriteContractSyncReturnType<
|
|
27
|
+
config extends Config = Config,
|
|
28
|
+
context = unknown,
|
|
29
|
+
> = UseMutationReturnType<
|
|
30
|
+
WriteContractSyncData,
|
|
31
|
+
WriteContractSyncErrorType,
|
|
32
|
+
WriteContractSyncVariables<
|
|
33
|
+
Abi,
|
|
34
|
+
string,
|
|
35
|
+
readonly unknown[],
|
|
36
|
+
config,
|
|
37
|
+
config['chains'][number]['id']
|
|
38
|
+
>,
|
|
39
|
+
context,
|
|
40
|
+
WriteContractSyncMutate<config, context>,
|
|
41
|
+
WriteContractSyncMutateAsync<config, context>
|
|
42
|
+
> & {
|
|
43
|
+
/** @deprecated use `mutate` instead */
|
|
44
|
+
writeContractSync: WriteContractSyncMutate<config, context>
|
|
45
|
+
/** @deprecated use `mutateAsync` instead */
|
|
46
|
+
writeContractSyncAsync: WriteContractSyncMutateAsync<config, context>
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** https://wagmi.sh/react/api/hooks/useWriteContractSync */
|
|
50
|
+
export function useWriteContractSync<
|
|
51
|
+
config extends Config = ResolvedRegister['config'],
|
|
52
|
+
context = unknown,
|
|
53
|
+
>(
|
|
54
|
+
parameters: UseWriteContractSyncParameters<config, context> = {},
|
|
55
|
+
): UseWriteContractSyncReturnType<config, context> {
|
|
56
|
+
const config = useConfig(parameters)
|
|
57
|
+
const options = writeContractSyncMutationOptions(config, parameters)
|
|
58
|
+
const mutation = useMutation(options)
|
|
59
|
+
type Return = UseWriteContractSyncReturnType<config, context>
|
|
60
|
+
return {
|
|
61
|
+
...(mutation as Return),
|
|
62
|
+
writeContractSync: mutation.mutate as Return['mutate'],
|
|
63
|
+
writeContractSyncAsync: mutation.mutateAsync as Return['mutateAsync'],
|
|
64
|
+
}
|
|
65
|
+
}
|