@wagmi/core 3.2.1 → 3.2.3
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/actions/deployContract.js +7 -1
- package/dist/esm/actions/deployContract.js.map +1 -1
- package/dist/esm/actions/prepareTransactionRequest.js.map +1 -1
- package/dist/esm/actions/sendTransaction.js +7 -1
- package/dist/esm/actions/sendTransaction.js.map +1 -1
- package/dist/esm/actions/sendTransactionSync.js +7 -1
- package/dist/esm/actions/sendTransactionSync.js.map +1 -1
- package/dist/esm/actions/simulateContract.js.map +1 -1
- package/dist/esm/actions/writeContract.js +7 -1
- package/dist/esm/actions/writeContract.js.map +1 -1
- package/dist/esm/exports/internal.js.map +1 -1
- package/dist/esm/exports/query.js.map +1 -1
- package/dist/esm/query/call.js +4 -3
- package/dist/esm/query/call.js.map +1 -1
- package/dist/esm/query/estimateFeesPerGas.js +3 -2
- package/dist/esm/query/estimateFeesPerGas.js.map +1 -1
- package/dist/esm/query/estimateGas.js +12 -7
- package/dist/esm/query/estimateGas.js.map +1 -1
- package/dist/esm/query/estimateMaxPriorityFeePerGas.js +3 -2
- package/dist/esm/query/estimateMaxPriorityFeePerGas.js.map +1 -1
- package/dist/esm/query/getBalance.js +6 -4
- package/dist/esm/query/getBalance.js.map +1 -1
- package/dist/esm/query/getBlock.js +3 -2
- package/dist/esm/query/getBlock.js.map +1 -1
- package/dist/esm/query/getBlockNumber.js +3 -2
- package/dist/esm/query/getBlockNumber.js.map +1 -1
- package/dist/esm/query/getBlockTransactionCount.js +3 -2
- package/dist/esm/query/getBlockTransactionCount.js.map +1 -1
- package/dist/esm/query/getBytecode.js +10 -5
- package/dist/esm/query/getBytecode.js.map +1 -1
- package/dist/esm/query/getCallsStatus.js +6 -8
- package/dist/esm/query/getCallsStatus.js.map +1 -1
- package/dist/esm/query/getCapabilities.js +6 -8
- package/dist/esm/query/getCapabilities.js.map +1 -1
- package/dist/esm/query/getConnectorClient.js +7 -9
- package/dist/esm/query/getConnectorClient.js.map +1 -1
- package/dist/esm/query/getEnsAddress.js +6 -4
- package/dist/esm/query/getEnsAddress.js.map +1 -1
- package/dist/esm/query/getEnsAvatar.js +6 -4
- package/dist/esm/query/getEnsAvatar.js.map +1 -1
- package/dist/esm/query/getEnsName.js +6 -4
- package/dist/esm/query/getEnsName.js.map +1 -1
- package/dist/esm/query/getEnsResolver.js +6 -4
- package/dist/esm/query/getEnsResolver.js.map +1 -1
- package/dist/esm/query/getEnsText.js +10 -4
- package/dist/esm/query/getEnsText.js.map +1 -1
- package/dist/esm/query/getFeeHistory.js +10 -6
- package/dist/esm/query/getFeeHistory.js.map +1 -1
- package/dist/esm/query/getGasPrice.js +3 -2
- package/dist/esm/query/getGasPrice.js.map +1 -1
- package/dist/esm/query/getProof.js +13 -5
- package/dist/esm/query/getProof.js.map +1 -1
- package/dist/esm/query/getStorageAt.js +11 -5
- package/dist/esm/query/getStorageAt.js.map +1 -1
- package/dist/esm/query/getTransaction.js +14 -8
- package/dist/esm/query/getTransaction.js.map +1 -1
- package/dist/esm/query/getTransactionConfirmations.js +8 -5
- package/dist/esm/query/getTransactionConfirmations.js.map +1 -1
- package/dist/esm/query/getTransactionCount.js +6 -4
- package/dist/esm/query/getTransactionCount.js.map +1 -1
- package/dist/esm/query/getTransactionReceipt.js +10 -5
- package/dist/esm/query/getTransactionReceipt.js.map +1 -1
- package/dist/esm/query/getWalletClient.js +12 -9
- package/dist/esm/query/getWalletClient.js.map +1 -1
- package/dist/esm/query/infiniteReadContracts.js +1 -1
- package/dist/esm/query/infiniteReadContracts.js.map +1 -1
- package/dist/esm/query/prepareTransactionRequest.js +7 -5
- package/dist/esm/query/prepareTransactionRequest.js.map +1 -1
- package/dist/esm/query/readContract.js +18 -21
- package/dist/esm/query/readContract.js.map +1 -1
- package/dist/esm/query/readContracts.js +5 -4
- package/dist/esm/query/readContracts.js.map +1 -1
- package/dist/esm/query/simulateContract.js +18 -10
- package/dist/esm/query/simulateContract.js.map +1 -1
- package/dist/esm/query/utils.js +3 -1
- package/dist/esm/query/utils.js.map +1 -1
- package/dist/esm/query/verifyMessage.js +20 -7
- package/dist/esm/query/verifyMessage.js.map +1 -1
- package/dist/esm/query/verifyTypedData.js +20 -13
- package/dist/esm/query/verifyTypedData.js.map +1 -1
- package/dist/esm/query/waitForCallsStatus.js +14 -11
- package/dist/esm/query/waitForCallsStatus.js.map +1 -1
- package/dist/esm/query/waitForTransactionReceipt.js +6 -4
- package/dist/esm/query/waitForTransactionReceipt.js.map +1 -1
- package/dist/esm/tempo/Connectors.js +4 -2
- package/dist/esm/tempo/Connectors.js.map +1 -1
- package/dist/esm/tempo/KeyManager.js +49 -1
- package/dist/esm/tempo/KeyManager.js.map +1 -1
- package/dist/esm/tempo/actions/amm.js +1 -1
- package/dist/esm/tempo/actions/amm.js.map +1 -1
- package/dist/esm/tempo/actions/fee.js +1 -1
- package/dist/esm/tempo/actions/fee.js.map +1 -1
- package/dist/esm/tempo/actions/nonce.js +1 -1
- package/dist/esm/tempo/actions/nonce.js.map +1 -1
- package/dist/esm/tempo/actions/utils.js +17 -1
- package/dist/esm/tempo/actions/utils.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/types/query.js +2 -0
- package/dist/esm/types/query.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/actions/deployContract.d.ts.map +1 -1
- package/dist/types/actions/prepareTransactionRequest.d.ts +2 -2
- package/dist/types/actions/prepareTransactionRequest.d.ts.map +1 -1
- package/dist/types/actions/sendTransaction.d.ts.map +1 -1
- package/dist/types/actions/sendTransactionSync.d.ts.map +1 -1
- package/dist/types/actions/simulateContract.d.ts +5 -3
- package/dist/types/actions/simulateContract.d.ts.map +1 -1
- package/dist/types/actions/verifyTypedData.d.ts +2 -2
- package/dist/types/actions/verifyTypedData.d.ts.map +1 -1
- package/dist/types/actions/writeContract.d.ts.map +1 -1
- package/dist/types/exports/internal.d.ts +1 -0
- package/dist/types/exports/internal.d.ts.map +1 -1
- package/dist/types/exports/query.d.ts +34 -34
- package/dist/types/exports/query.d.ts.map +1 -1
- package/dist/types/query/call.d.ts +34 -13
- package/dist/types/query/call.d.ts.map +1 -1
- package/dist/types/query/estimateFeesPerGas.d.ts +7 -22
- package/dist/types/query/estimateFeesPerGas.d.ts.map +1 -1
- package/dist/types/query/estimateGas.d.ts +12 -15
- package/dist/types/query/estimateGas.d.ts.map +1 -1
- package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts +6 -19
- package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts.map +1 -1
- package/dist/types/query/getBalance.d.ts +8 -27
- package/dist/types/query/getBalance.d.ts.map +1 -1
- package/dist/types/query/getBlock.d.ts +13 -13
- package/dist/types/query/getBlock.d.ts.map +1 -1
- package/dist/types/query/getBlockNumber.d.ts +7 -23
- package/dist/types/query/getBlockNumber.d.ts.map +1 -1
- package/dist/types/query/getBlockTransactionCount.d.ts +12 -13
- package/dist/types/query/getBlockTransactionCount.d.ts.map +1 -1
- package/dist/types/query/getBytecode.d.ts +12 -13
- package/dist/types/query/getBytecode.d.ts.map +1 -1
- package/dist/types/query/getCallsStatus.d.ts +7 -36
- package/dist/types/query/getCallsStatus.d.ts.map +1 -1
- package/dist/types/query/getCapabilities.d.ts +8 -50
- package/dist/types/query/getCapabilities.d.ts.map +1 -1
- package/dist/types/query/getConnectorClient.d.ts +11 -521
- package/dist/types/query/getConnectorClient.d.ts.map +1 -1
- package/dist/types/query/getEnsAddress.d.ts +8 -35
- package/dist/types/query/getEnsAddress.d.ts.map +1 -1
- package/dist/types/query/getEnsAvatar.d.ts +7 -34
- package/dist/types/query/getEnsAvatar.d.ts.map +1 -1
- package/dist/types/query/getEnsName.d.ts +8 -35
- package/dist/types/query/getEnsName.d.ts.map +1 -1
- package/dist/types/query/getEnsResolver.d.ts +8 -29
- package/dist/types/query/getEnsResolver.d.ts.map +1 -1
- package/dist/types/query/getEnsText.d.ts +9 -36
- package/dist/types/query/getEnsText.d.ts.map +1 -1
- package/dist/types/query/getFeeHistory.d.ts +9 -30
- package/dist/types/query/getFeeHistory.d.ts.map +1 -1
- package/dist/types/query/getGasPrice.d.ts +6 -19
- package/dist/types/query/getGasPrice.d.ts.map +1 -1
- package/dist/types/query/getProof.d.ts +13 -13
- package/dist/types/query/getProof.d.ts.map +1 -1
- package/dist/types/query/getStorageAt.d.ts +13 -13
- package/dist/types/query/getStorageAt.d.ts.map +1 -1
- package/dist/types/query/getTransaction.d.ts +16 -15
- package/dist/types/query/getTransaction.d.ts.map +1 -1
- package/dist/types/query/getTransactionConfirmations.d.ts +9 -13
- package/dist/types/query/getTransactionConfirmations.d.ts.map +1 -1
- package/dist/types/query/getTransactionCount.d.ts +8 -27
- package/dist/types/query/getTransactionCount.d.ts.map +1 -1
- package/dist/types/query/getTransactionReceipt.d.ts +7 -24
- package/dist/types/query/getTransactionReceipt.d.ts.map +1 -1
- package/dist/types/query/getWalletClient.d.ts +11 -31
- package/dist/types/query/getWalletClient.d.ts.map +1 -1
- package/dist/types/query/infiniteReadContracts.d.ts +13 -13
- package/dist/types/query/infiniteReadContracts.d.ts.map +1 -1
- package/dist/types/query/prepareTransactionRequest.d.ts +9 -13
- package/dist/types/query/prepareTransactionRequest.d.ts.map +1 -1
- package/dist/types/query/readContract.d.ts +9 -167
- package/dist/types/query/readContract.d.ts.map +1 -1
- package/dist/types/query/readContracts.d.ts +18 -60
- package/dist/types/query/readContracts.d.ts.map +1 -1
- package/dist/types/query/simulateContract.d.ts +11 -14
- package/dist/types/query/simulateContract.d.ts.map +1 -1
- package/dist/types/query/utils.d.ts +9 -1
- package/dist/types/query/utils.d.ts.map +1 -1
- package/dist/types/query/verifyMessage.d.ts +8 -43
- package/dist/types/query/verifyMessage.d.ts.map +1 -1
- package/dist/types/query/verifyTypedData.d.ts +10 -14
- package/dist/types/query/verifyTypedData.d.ts.map +1 -1
- package/dist/types/query/waitForCallsStatus.d.ts +9 -56
- package/dist/types/query/waitForCallsStatus.d.ts.map +1 -1
- package/dist/types/query/waitForTransactionReceipt.d.ts +11 -46
- package/dist/types/query/waitForTransactionReceipt.d.ts.map +1 -1
- package/dist/types/tempo/Connectors.d.ts.map +1 -1
- package/dist/types/tempo/KeyManager.d.ts.map +1 -1
- package/dist/types/tempo/actions/amm.d.ts.map +1 -1
- package/dist/types/tempo/actions/fee.d.ts.map +1 -1
- package/dist/types/tempo/actions/nonce.d.ts.map +1 -1
- package/dist/types/tempo/actions/utils.d.ts +1 -0
- package/dist/types/tempo/actions/utils.d.ts.map +1 -1
- package/dist/types/types/query.d.ts +9 -0
- package/dist/types/types/query.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/actions/deployContract.ts +7 -1
- package/src/actions/prepareTransactionRequest.ts +9 -12
- package/src/actions/sendTransaction.ts +7 -1
- package/src/actions/sendTransactionSync.ts +7 -1
- package/src/actions/simulateContract.ts +11 -19
- package/src/actions/verifyTypedData.ts +2 -2
- package/src/actions/writeContract.ts +7 -1
- package/src/exports/internal.ts +2 -0
- package/src/exports/query.ts +34 -0
- package/src/query/call.ts +29 -16
- package/src/query/estimateFeesPerGas.ts +34 -12
- package/src/query/estimateGas.ts +53 -24
- package/src/query/estimateMaxPriorityFeePerGas.ts +37 -18
- package/src/query/getBalance.ts +38 -20
- package/src/query/getBlock.ts +50 -16
- package/src/query/getBlockNumber.ts +34 -13
- package/src/query/getBlockTransactionCount.ts +34 -15
- package/src/query/getBytecode.ts +41 -19
- package/src/query/getCallsStatus.ts +36 -21
- package/src/query/getCapabilities.ts +40 -18
- package/src/query/getConnectorClient.ts +45 -20
- package/src/query/getEnsAddress.ts +37 -19
- package/src/query/getEnsAvatar.ts +37 -19
- package/src/query/getEnsName.ts +37 -19
- package/src/query/getEnsResolver.ts +38 -18
- package/src/query/getEnsText.ts +44 -19
- package/src/query/getFeeHistory.ts +46 -28
- package/src/query/getGasPrice.ts +34 -13
- package/src/query/getProof.ts +45 -19
- package/src/query/getStorageAt.ts +44 -19
- package/src/query/getTransaction.ts +51 -19
- package/src/query/getTransactionConfirmations.ts +46 -23
- package/src/query/getTransactionCount.ts +41 -22
- package/src/query/getTransactionReceipt.ts +42 -14
- package/src/query/getWalletClient.ts +46 -20
- package/src/query/infiniteReadContracts.ts +1 -1
- package/src/query/prepareTransactionRequest.ts +45 -17
- package/src/query/readContract.ts +55 -36
- package/src/query/readContracts.ts +38 -16
- package/src/query/simulateContract.ts +68 -33
- package/src/query/utils.ts +14 -5
- package/src/query/verifyMessage.ts +50 -26
- package/src/query/verifyTypedData.ts +65 -38
- package/src/query/waitForCallsStatus.ts +47 -25
- package/src/query/waitForTransactionReceipt.ts +36 -16
- package/src/tempo/Connectors.ts +3 -4
- package/src/tempo/KeyManager.ts +64 -1
- package/src/tempo/actions/amm.ts +2 -2
- package/src/tempo/actions/fee.ts +1 -1
- package/src/tempo/actions/nonce.ts +1 -1
- package/src/tempo/actions/utils.ts +26 -0
- package/src/types/query.ts +40 -0
- package/src/version.ts +1 -1
package/src/query/estimateGas.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { QueryOptions } from '@tanstack/query-core'
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
type EstimateGasErrorType,
|
|
5
3
|
type EstimateGasParameters,
|
|
@@ -8,34 +6,50 @@ import {
|
|
|
8
6
|
} from '../actions/estimateGas.js'
|
|
9
7
|
import type { Config } from '../createConfig.js'
|
|
10
8
|
import type { ScopeKeyParameter } from '../types/properties.js'
|
|
11
|
-
import type {
|
|
9
|
+
import type { QueryOptions, QueryParameter } from '../types/query.js'
|
|
10
|
+
import type { Compute, UnionExactPartial } from '../types/utils.js'
|
|
12
11
|
import { filterQueryOptions } from './utils.js'
|
|
13
12
|
|
|
14
13
|
export type EstimateGasOptions<
|
|
15
14
|
config extends Config,
|
|
16
|
-
chainId extends config['chains'][number]['id'] | undefined,
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
16
|
+
selectData = EstimateGasData,
|
|
17
|
+
> = Compute<
|
|
18
|
+
UnionExactPartial<EstimateGasParameters<config, chainId>> & ScopeKeyParameter
|
|
19
|
+
> &
|
|
20
|
+
QueryParameter<
|
|
21
|
+
EstimateGasQueryFnData,
|
|
22
|
+
EstimateGasErrorType,
|
|
23
|
+
selectData,
|
|
24
|
+
EstimateGasQueryKey<config, chainId>
|
|
25
|
+
>
|
|
19
26
|
|
|
20
27
|
export function estimateGasQueryOptions<
|
|
21
28
|
config extends Config,
|
|
22
|
-
chainId extends config['chains'][number]['id'],
|
|
23
|
-
|
|
29
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
30
|
+
selectData = EstimateGasData,
|
|
31
|
+
>(
|
|
32
|
+
config: config,
|
|
33
|
+
options: EstimateGasOptions<config, chainId, selectData> = {} as any,
|
|
34
|
+
): EstimateGasQueryOptions<config, chainId, selectData> {
|
|
24
35
|
return {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
36
|
+
...options.query,
|
|
37
|
+
enabled: Boolean(
|
|
38
|
+
(options.account || options.connector) &&
|
|
39
|
+
(options.query?.enabled ?? true),
|
|
40
|
+
),
|
|
41
|
+
queryFn: async (context) => {
|
|
42
|
+
const [, { scopeKey: _, ...parameters }] = context.queryKey
|
|
43
|
+
if (!parameters.account && !options.connector)
|
|
29
44
|
throw new Error('account or connector is required')
|
|
30
|
-
return estimateGas(config, {
|
|
45
|
+
return estimateGas(config, {
|
|
46
|
+
...(parameters as any),
|
|
47
|
+
account: parameters.account,
|
|
48
|
+
connector: options.connector,
|
|
49
|
+
})
|
|
31
50
|
},
|
|
32
51
|
queryKey: estimateGasQueryKey(options),
|
|
33
|
-
}
|
|
34
|
-
EstimateGasQueryFnData,
|
|
35
|
-
EstimateGasErrorType,
|
|
36
|
-
EstimateGasData,
|
|
37
|
-
EstimateGasQueryKey<config, chainId>
|
|
38
|
-
>
|
|
52
|
+
}
|
|
39
53
|
}
|
|
40
54
|
|
|
41
55
|
export type EstimateGasQueryFnData = EstimateGasReturnType
|
|
@@ -44,13 +58,28 @@ export type EstimateGasData = EstimateGasQueryFnData
|
|
|
44
58
|
|
|
45
59
|
export function estimateGasQueryKey<
|
|
46
60
|
config extends Config,
|
|
47
|
-
chainId extends config['chains'][number]['id'] | undefined,
|
|
48
|
-
>(
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
62
|
+
>(
|
|
63
|
+
options: Compute<
|
|
64
|
+
UnionExactPartial<EstimateGasParameters<config, chainId>> &
|
|
65
|
+
ScopeKeyParameter
|
|
66
|
+
> = {} as any,
|
|
67
|
+
) {
|
|
68
|
+
return ['estimateGas', filterQueryOptions(options)] as const
|
|
51
69
|
}
|
|
52
70
|
|
|
53
71
|
export type EstimateGasQueryKey<
|
|
54
72
|
config extends Config,
|
|
55
|
-
chainId extends config['chains'][number]['id'] | undefined,
|
|
73
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
56
74
|
> = ReturnType<typeof estimateGasQueryKey<config, chainId>>
|
|
75
|
+
|
|
76
|
+
export type EstimateGasQueryOptions<
|
|
77
|
+
config extends Config,
|
|
78
|
+
chainId extends config['chains'][number]['id'] | undefined = undefined,
|
|
79
|
+
selectData = EstimateGasData,
|
|
80
|
+
> = QueryOptions<
|
|
81
|
+
EstimateGasQueryFnData,
|
|
82
|
+
EstimateGasErrorType,
|
|
83
|
+
selectData,
|
|
84
|
+
EstimateGasQueryKey<config, chainId>
|
|
85
|
+
>
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { QueryOptions } from '@tanstack/query-core'
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
type EstimateMaxPriorityFeePerGasErrorType,
|
|
5
3
|
type EstimateMaxPriorityFeePerGasParameters,
|
|
@@ -8,31 +6,39 @@ import {
|
|
|
8
6
|
} from '../actions/estimateMaxPriorityFeePerGas.js'
|
|
9
7
|
import type { Config } from '../createConfig.js'
|
|
10
8
|
import type { ScopeKeyParameter } from '../types/properties.js'
|
|
9
|
+
import type { QueryOptions, QueryParameter } from '../types/query.js'
|
|
11
10
|
import type { Compute, ExactPartial } from '../types/utils.js'
|
|
12
11
|
import { filterQueryOptions } from './utils.js'
|
|
13
12
|
|
|
14
|
-
export type EstimateMaxPriorityFeePerGasOptions<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
export type EstimateMaxPriorityFeePerGasOptions<
|
|
14
|
+
config extends Config,
|
|
15
|
+
selectData = EstimateMaxPriorityFeePerGasData,
|
|
16
|
+
> = Compute<
|
|
17
|
+
ExactPartial<EstimateMaxPriorityFeePerGasParameters<config>> &
|
|
18
|
+
ScopeKeyParameter
|
|
19
|
+
> &
|
|
20
|
+
QueryParameter<
|
|
21
|
+
EstimateMaxPriorityFeePerGasQueryFnData,
|
|
22
|
+
EstimateMaxPriorityFeePerGasErrorType,
|
|
23
|
+
selectData,
|
|
24
|
+
EstimateMaxPriorityFeePerGasQueryKey<config>
|
|
18
25
|
>
|
|
19
26
|
|
|
20
|
-
export function estimateMaxPriorityFeePerGasQueryOptions<
|
|
27
|
+
export function estimateMaxPriorityFeePerGasQueryOptions<
|
|
28
|
+
config extends Config,
|
|
29
|
+
selectData = EstimateMaxPriorityFeePerGasData,
|
|
30
|
+
>(
|
|
21
31
|
config: config,
|
|
22
|
-
options: EstimateMaxPriorityFeePerGasOptions<config> = {},
|
|
23
|
-
) {
|
|
32
|
+
options: EstimateMaxPriorityFeePerGasOptions<config, selectData> = {},
|
|
33
|
+
): EstimateMaxPriorityFeePerGasQueryOptions<config, selectData> {
|
|
24
34
|
return {
|
|
25
|
-
|
|
26
|
-
|
|
35
|
+
...options.query,
|
|
36
|
+
queryFn: async (context) => {
|
|
37
|
+
const [, { scopeKey: _, ...parameters }] = context.queryKey
|
|
27
38
|
return estimateMaxPriorityFeePerGas(config, parameters)
|
|
28
39
|
},
|
|
29
40
|
queryKey: estimateMaxPriorityFeePerGasQueryKey(options),
|
|
30
|
-
}
|
|
31
|
-
EstimateMaxPriorityFeePerGasQueryFnData,
|
|
32
|
-
EstimateMaxPriorityFeePerGasErrorType,
|
|
33
|
-
EstimateMaxPriorityFeePerGasData,
|
|
34
|
-
EstimateMaxPriorityFeePerGasQueryKey<config>
|
|
35
|
-
>
|
|
41
|
+
}
|
|
36
42
|
}
|
|
37
43
|
|
|
38
44
|
export type EstimateMaxPriorityFeePerGasQueryFnData =
|
|
@@ -42,10 +48,23 @@ export type EstimateMaxPriorityFeePerGasData =
|
|
|
42
48
|
EstimateMaxPriorityFeePerGasQueryFnData
|
|
43
49
|
|
|
44
50
|
export function estimateMaxPriorityFeePerGasQueryKey<config extends Config>(
|
|
45
|
-
options:
|
|
51
|
+
options: Compute<
|
|
52
|
+
ExactPartial<EstimateMaxPriorityFeePerGasParameters<config>> &
|
|
53
|
+
ScopeKeyParameter
|
|
54
|
+
> = {},
|
|
46
55
|
) {
|
|
47
56
|
return ['estimateMaxPriorityFeePerGas', filterQueryOptions(options)] as const
|
|
48
57
|
}
|
|
49
58
|
|
|
50
59
|
export type EstimateMaxPriorityFeePerGasQueryKey<config extends Config> =
|
|
51
60
|
ReturnType<typeof estimateMaxPriorityFeePerGasQueryKey<config>>
|
|
61
|
+
|
|
62
|
+
export type EstimateMaxPriorityFeePerGasQueryOptions<
|
|
63
|
+
config extends Config,
|
|
64
|
+
selectData = EstimateMaxPriorityFeePerGasData,
|
|
65
|
+
> = QueryOptions<
|
|
66
|
+
EstimateMaxPriorityFeePerGasQueryFnData,
|
|
67
|
+
EstimateMaxPriorityFeePerGasErrorType,
|
|
68
|
+
selectData,
|
|
69
|
+
EstimateMaxPriorityFeePerGasQueryKey<config>
|
|
70
|
+
>
|
package/src/query/getBalance.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { QueryOptions } from '@tanstack/query-core'
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
type GetBalanceErrorType,
|
|
5
3
|
type GetBalanceParameters,
|
|
@@ -8,34 +6,42 @@ import {
|
|
|
8
6
|
} from '../actions/getBalance.js'
|
|
9
7
|
import type { Config } from '../createConfig.js'
|
|
10
8
|
import type { ScopeKeyParameter } from '../types/properties.js'
|
|
11
|
-
import type {
|
|
9
|
+
import type { QueryOptions, QueryParameter } from '../types/query.js'
|
|
10
|
+
import type { Compute, ExactPartial } from '../types/utils.js'
|
|
12
11
|
import { filterQueryOptions } from './utils.js'
|
|
13
12
|
|
|
14
|
-
export type GetBalanceOptions<
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
export type GetBalanceOptions<
|
|
14
|
+
config extends Config,
|
|
15
|
+
selectData = GetBalanceData,
|
|
16
|
+
> = Compute<ExactPartial<GetBalanceParameters<config>> & ScopeKeyParameter> &
|
|
17
|
+
QueryParameter<
|
|
18
|
+
GetBalanceQueryFnData,
|
|
19
|
+
GetBalanceErrorType,
|
|
20
|
+
selectData,
|
|
21
|
+
GetBalanceQueryKey<config>
|
|
22
|
+
>
|
|
17
23
|
|
|
18
|
-
export function getBalanceQueryOptions<
|
|
24
|
+
export function getBalanceQueryOptions<
|
|
25
|
+
config extends Config,
|
|
26
|
+
selectData = GetBalanceData,
|
|
27
|
+
>(
|
|
19
28
|
config: config,
|
|
20
|
-
options: GetBalanceOptions<config> = {},
|
|
21
|
-
) {
|
|
29
|
+
options: GetBalanceOptions<config, selectData> = {},
|
|
30
|
+
): GetBalanceQueryOptions<config, selectData> {
|
|
22
31
|
return {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
...options.query,
|
|
33
|
+
enabled: Boolean(options.address && (options.query?.enabled ?? true)),
|
|
34
|
+
queryFn: async (context) => {
|
|
35
|
+
const [, { scopeKey: _, ...parameters }] = context.queryKey
|
|
36
|
+
if (!parameters.address) throw new Error('address is required')
|
|
26
37
|
const balance = await getBalance(config, {
|
|
27
38
|
...(parameters as GetBalanceParameters),
|
|
28
|
-
address,
|
|
39
|
+
address: parameters.address,
|
|
29
40
|
})
|
|
30
41
|
return balance ?? null
|
|
31
42
|
},
|
|
32
43
|
queryKey: getBalanceQueryKey(options),
|
|
33
|
-
}
|
|
34
|
-
GetBalanceQueryFnData,
|
|
35
|
-
GetBalanceErrorType,
|
|
36
|
-
GetBalanceData,
|
|
37
|
-
GetBalanceQueryKey<config>
|
|
38
|
-
>
|
|
44
|
+
}
|
|
39
45
|
}
|
|
40
46
|
|
|
41
47
|
export type GetBalanceQueryFnData = Compute<GetBalanceReturnType>
|
|
@@ -43,7 +49,9 @@ export type GetBalanceQueryFnData = Compute<GetBalanceReturnType>
|
|
|
43
49
|
export type GetBalanceData = GetBalanceQueryFnData
|
|
44
50
|
|
|
45
51
|
export function getBalanceQueryKey<config extends Config>(
|
|
46
|
-
options:
|
|
52
|
+
options: Compute<
|
|
53
|
+
ExactPartial<GetBalanceParameters<config>> & ScopeKeyParameter
|
|
54
|
+
> = {},
|
|
47
55
|
) {
|
|
48
56
|
return ['balance', filterQueryOptions(options)] as const
|
|
49
57
|
}
|
|
@@ -51,3 +59,13 @@ export function getBalanceQueryKey<config extends Config>(
|
|
|
51
59
|
export type GetBalanceQueryKey<config extends Config> = ReturnType<
|
|
52
60
|
typeof getBalanceQueryKey<config>
|
|
53
61
|
>
|
|
62
|
+
|
|
63
|
+
export type GetBalanceQueryOptions<
|
|
64
|
+
config extends Config,
|
|
65
|
+
selectData = GetBalanceData,
|
|
66
|
+
> = QueryOptions<
|
|
67
|
+
GetBalanceQueryFnData,
|
|
68
|
+
GetBalanceErrorType,
|
|
69
|
+
selectData,
|
|
70
|
+
GetBalanceQueryKey<config>
|
|
71
|
+
>
|
package/src/query/getBlock.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { QueryOptions } from '@tanstack/query-core'
|
|
2
1
|
import type { BlockTag } from 'viem'
|
|
3
2
|
|
|
4
3
|
import {
|
|
@@ -9,6 +8,7 @@ import {
|
|
|
9
8
|
} from '../actions/getBlock.js'
|
|
10
9
|
import type { Config } from '../createConfig.js'
|
|
11
10
|
import type { ScopeKeyParameter } from '../types/properties.js'
|
|
11
|
+
import type { QueryOptions, QueryParameter } from '../types/query.js'
|
|
12
12
|
import type { Compute, ExactPartial } from '../types/utils.js'
|
|
13
13
|
import { filterQueryOptions } from './utils.js'
|
|
14
14
|
|
|
@@ -18,35 +18,51 @@ export type GetBlockOptions<
|
|
|
18
18
|
config extends Config,
|
|
19
19
|
chainId extends
|
|
20
20
|
config['chains'][number]['id'] = config['chains'][number]['id'],
|
|
21
|
+
selectData = GetBlockData<includeTransactions, blockTag, config, chainId>,
|
|
21
22
|
> = Compute<
|
|
22
23
|
ExactPartial<
|
|
23
24
|
GetBlockParameters<includeTransactions, blockTag, config, chainId>
|
|
24
25
|
> &
|
|
25
26
|
ScopeKeyParameter
|
|
26
|
-
>
|
|
27
|
+
> &
|
|
28
|
+
QueryParameter<
|
|
29
|
+
GetBlockQueryFnData<includeTransactions, blockTag, config, chainId>,
|
|
30
|
+
GetBlockErrorType,
|
|
31
|
+
selectData,
|
|
32
|
+
GetBlockQueryKey<includeTransactions, blockTag, config, chainId>
|
|
33
|
+
>
|
|
27
34
|
|
|
28
35
|
export function getBlockQueryOptions<
|
|
29
36
|
config extends Config,
|
|
30
37
|
chainId extends config['chains'][number]['id'],
|
|
31
|
-
includeTransactions extends boolean,
|
|
32
|
-
blockTag extends BlockTag,
|
|
38
|
+
includeTransactions extends boolean = false,
|
|
39
|
+
blockTag extends BlockTag = 'latest',
|
|
40
|
+
selectData = GetBlockData<includeTransactions, blockTag, config, chainId>,
|
|
33
41
|
>(
|
|
34
42
|
config: config,
|
|
35
|
-
options: GetBlockOptions<
|
|
36
|
-
|
|
43
|
+
options: GetBlockOptions<
|
|
44
|
+
includeTransactions,
|
|
45
|
+
blockTag,
|
|
46
|
+
config,
|
|
47
|
+
chainId,
|
|
48
|
+
selectData
|
|
49
|
+
> = {},
|
|
50
|
+
): GetBlockQueryOptions<
|
|
51
|
+
includeTransactions,
|
|
52
|
+
blockTag,
|
|
53
|
+
config,
|
|
54
|
+
chainId,
|
|
55
|
+
selectData
|
|
56
|
+
> {
|
|
37
57
|
return {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const
|
|
58
|
+
...options.query,
|
|
59
|
+
queryFn: async (context) => {
|
|
60
|
+
const [, { scopeKey: _, ...parameters }] = context.queryKey
|
|
61
|
+
const block = await getBlock(config, parameters as any)
|
|
41
62
|
return (block ?? null) as any
|
|
42
63
|
},
|
|
43
64
|
queryKey: getBlockQueryKey(options),
|
|
44
|
-
}
|
|
45
|
-
GetBlockQueryFnData<includeTransactions, blockTag, config, chainId>,
|
|
46
|
-
GetBlockErrorType,
|
|
47
|
-
GetBlockData<includeTransactions, blockTag, config, chainId>,
|
|
48
|
-
GetBlockQueryKey<includeTransactions, blockTag, config, chainId>
|
|
49
|
-
>
|
|
65
|
+
}
|
|
50
66
|
}
|
|
51
67
|
|
|
52
68
|
export type GetBlockQueryFnData<
|
|
@@ -69,7 +85,12 @@ export function getBlockQueryKey<
|
|
|
69
85
|
includeTransactions extends boolean = false,
|
|
70
86
|
blockTag extends BlockTag = 'latest',
|
|
71
87
|
>(
|
|
72
|
-
options:
|
|
88
|
+
options: Compute<
|
|
89
|
+
ExactPartial<
|
|
90
|
+
GetBlockParameters<includeTransactions, blockTag, config, chainId>
|
|
91
|
+
> &
|
|
92
|
+
ScopeKeyParameter
|
|
93
|
+
> = {},
|
|
73
94
|
) {
|
|
74
95
|
return ['block', filterQueryOptions(options)] as const
|
|
75
96
|
}
|
|
@@ -82,3 +103,16 @@ export type GetBlockQueryKey<
|
|
|
82
103
|
> = ReturnType<
|
|
83
104
|
typeof getBlockQueryKey<config, chainId, includeTransactions, blockTag>
|
|
84
105
|
>
|
|
106
|
+
|
|
107
|
+
export type GetBlockQueryOptions<
|
|
108
|
+
includeTransactions extends boolean,
|
|
109
|
+
blockTag extends BlockTag,
|
|
110
|
+
config extends Config,
|
|
111
|
+
chainId extends config['chains'][number]['id'],
|
|
112
|
+
selectData = GetBlockData<includeTransactions, blockTag, config, chainId>,
|
|
113
|
+
> = QueryOptions<
|
|
114
|
+
GetBlockQueryFnData<includeTransactions, blockTag, config, chainId>,
|
|
115
|
+
GetBlockErrorType,
|
|
116
|
+
selectData,
|
|
117
|
+
GetBlockQueryKey<includeTransactions, blockTag, config, chainId>
|
|
118
|
+
>
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { QueryOptions } from '@tanstack/query-core'
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
type GetBlockNumberErrorType,
|
|
5
3
|
type GetBlockNumberParameters,
|
|
@@ -8,34 +6,42 @@ import {
|
|
|
8
6
|
} from '../actions/getBlockNumber.js'
|
|
9
7
|
import type { Config } from '../createConfig.js'
|
|
10
8
|
import type { ScopeKeyParameter } from '../types/properties.js'
|
|
9
|
+
import type { QueryOptions, QueryParameter } from '../types/query.js'
|
|
11
10
|
import type { Compute, ExactPartial } from '../types/utils.js'
|
|
12
11
|
import { filterQueryOptions } from './utils.js'
|
|
13
12
|
|
|
14
13
|
export type GetBlockNumberOptions<
|
|
15
14
|
config extends Config,
|
|
16
15
|
chainId extends config['chains'][number]['id'],
|
|
16
|
+
selectData = GetBlockNumberData,
|
|
17
17
|
> = Compute<
|
|
18
18
|
ExactPartial<GetBlockNumberParameters<config, chainId>> & ScopeKeyParameter
|
|
19
|
-
>
|
|
19
|
+
> &
|
|
20
|
+
QueryParameter<
|
|
21
|
+
GetBlockNumberQueryFnData,
|
|
22
|
+
GetBlockNumberErrorType,
|
|
23
|
+
selectData,
|
|
24
|
+
GetBlockNumberQueryKey<config, chainId>
|
|
25
|
+
>
|
|
20
26
|
|
|
21
27
|
export function getBlockNumberQueryOptions<
|
|
22
28
|
config extends Config,
|
|
23
29
|
chainId extends config['chains'][number]['id'],
|
|
24
|
-
|
|
30
|
+
selectData = GetBlockNumberData,
|
|
31
|
+
>(
|
|
32
|
+
config: config,
|
|
33
|
+
options: GetBlockNumberOptions<config, chainId, selectData> = {},
|
|
34
|
+
): GetBlockNumberQueryOptions<config, chainId, selectData> {
|
|
25
35
|
return {
|
|
36
|
+
...options.query,
|
|
26
37
|
gcTime: 0,
|
|
27
|
-
async
|
|
28
|
-
const { scopeKey: _, ...parameters } = queryKey
|
|
38
|
+
queryFn: async (context) => {
|
|
39
|
+
const [, { scopeKey: _, ...parameters }] = context.queryKey
|
|
29
40
|
const blockNumber = await getBlockNumber(config, parameters)
|
|
30
41
|
return blockNumber ?? null
|
|
31
42
|
},
|
|
32
43
|
queryKey: getBlockNumberQueryKey(options),
|
|
33
|
-
}
|
|
34
|
-
GetBlockNumberQueryFnData,
|
|
35
|
-
GetBlockNumberErrorType,
|
|
36
|
-
GetBlockNumberData,
|
|
37
|
-
GetBlockNumberQueryKey<config, chainId>
|
|
38
|
-
>
|
|
44
|
+
}
|
|
39
45
|
}
|
|
40
46
|
|
|
41
47
|
export type GetBlockNumberQueryFnData = GetBlockNumberReturnType
|
|
@@ -45,7 +51,11 @@ export type GetBlockNumberData = GetBlockNumberQueryFnData
|
|
|
45
51
|
export function getBlockNumberQueryKey<
|
|
46
52
|
config extends Config,
|
|
47
53
|
chainId extends config['chains'][number]['id'],
|
|
48
|
-
>(
|
|
54
|
+
>(
|
|
55
|
+
options: Compute<
|
|
56
|
+
ExactPartial<GetBlockNumberParameters<config, chainId>> & ScopeKeyParameter
|
|
57
|
+
> = {},
|
|
58
|
+
) {
|
|
49
59
|
return ['blockNumber', filterQueryOptions(options)] as const
|
|
50
60
|
}
|
|
51
61
|
|
|
@@ -53,3 +63,14 @@ export type GetBlockNumberQueryKey<
|
|
|
53
63
|
config extends Config,
|
|
54
64
|
chainId extends config['chains'][number]['id'],
|
|
55
65
|
> = ReturnType<typeof getBlockNumberQueryKey<config, chainId>>
|
|
66
|
+
|
|
67
|
+
export type GetBlockNumberQueryOptions<
|
|
68
|
+
config extends Config,
|
|
69
|
+
chainId extends config['chains'][number]['id'],
|
|
70
|
+
selectData = GetBlockNumberData,
|
|
71
|
+
> = QueryOptions<
|
|
72
|
+
GetBlockNumberQueryFnData,
|
|
73
|
+
GetBlockNumberErrorType,
|
|
74
|
+
selectData,
|
|
75
|
+
GetBlockNumberQueryKey<config, chainId>
|
|
76
|
+
>
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { QueryOptions } from '@tanstack/query-core'
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
type GetBlockTransactionCountErrorType,
|
|
5
3
|
type GetBlockTransactionCountParameters,
|
|
@@ -8,40 +6,45 @@ import {
|
|
|
8
6
|
} from '../actions/getBlockTransactionCount.js'
|
|
9
7
|
import type { Config } from '../createConfig.js'
|
|
10
8
|
import type { ScopeKeyParameter } from '../types/properties.js'
|
|
9
|
+
import type { QueryOptions, QueryParameter } from '../types/query.js'
|
|
11
10
|
import type { ExactPartial, UnionCompute } from '../types/utils.js'
|
|
12
11
|
import { filterQueryOptions } from './utils.js'
|
|
13
12
|
|
|
14
13
|
export type GetBlockTransactionCountOptions<
|
|
15
14
|
config extends Config,
|
|
16
15
|
chainId extends config['chains'][number]['id'],
|
|
16
|
+
selectData = GetBlockTransactionCountData,
|
|
17
17
|
> = UnionCompute<
|
|
18
18
|
ExactPartial<GetBlockTransactionCountParameters<config, chainId>> &
|
|
19
19
|
ScopeKeyParameter
|
|
20
|
-
>
|
|
20
|
+
> &
|
|
21
|
+
QueryParameter<
|
|
22
|
+
GetBlockTransactionCountQueryFnData,
|
|
23
|
+
GetBlockTransactionCountErrorType,
|
|
24
|
+
selectData,
|
|
25
|
+
GetBlockTransactionCountQueryKey<config, chainId>
|
|
26
|
+
>
|
|
21
27
|
|
|
22
28
|
export function getBlockTransactionCountQueryOptions<
|
|
23
29
|
config extends Config,
|
|
24
30
|
chainId extends config['chains'][number]['id'],
|
|
31
|
+
selectData = GetBlockTransactionCountData,
|
|
25
32
|
>(
|
|
26
33
|
config: config,
|
|
27
|
-
options: GetBlockTransactionCountOptions<config, chainId> = {},
|
|
28
|
-
) {
|
|
34
|
+
options: GetBlockTransactionCountOptions<config, chainId, selectData> = {},
|
|
35
|
+
): GetBlockTransactionCountQueryOptions<config, chainId, selectData> {
|
|
29
36
|
return {
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
...options.query,
|
|
38
|
+
queryFn: async (context) => {
|
|
39
|
+
const [, { scopeKey: _, ...parameters }] = context.queryKey
|
|
32
40
|
const blockTransactionCount = await getBlockTransactionCount(
|
|
33
41
|
config,
|
|
34
|
-
parameters,
|
|
42
|
+
parameters as any,
|
|
35
43
|
)
|
|
36
44
|
return blockTransactionCount ?? null
|
|
37
45
|
},
|
|
38
46
|
queryKey: getBlockTransactionCountQueryKey(options),
|
|
39
|
-
}
|
|
40
|
-
GetBlockTransactionCountQueryFnData,
|
|
41
|
-
GetBlockTransactionCountErrorType,
|
|
42
|
-
GetBlockTransactionCountData,
|
|
43
|
-
GetBlockTransactionCountQueryKey<config, chainId>
|
|
44
|
-
>
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
export type GetBlockTransactionCountQueryFnData =
|
|
@@ -52,7 +55,12 @@ export type GetBlockTransactionCountData = GetBlockTransactionCountQueryFnData
|
|
|
52
55
|
export function getBlockTransactionCountQueryKey<
|
|
53
56
|
config extends Config,
|
|
54
57
|
chainId extends config['chains'][number]['id'],
|
|
55
|
-
>(
|
|
58
|
+
>(
|
|
59
|
+
options: UnionCompute<
|
|
60
|
+
ExactPartial<GetBlockTransactionCountParameters<config, chainId>> &
|
|
61
|
+
ScopeKeyParameter
|
|
62
|
+
> = {},
|
|
63
|
+
) {
|
|
56
64
|
return ['blockTransactionCount', filterQueryOptions(options)] as const
|
|
57
65
|
}
|
|
58
66
|
|
|
@@ -60,3 +68,14 @@ export type GetBlockTransactionCountQueryKey<
|
|
|
60
68
|
config extends Config,
|
|
61
69
|
chainId extends config['chains'][number]['id'],
|
|
62
70
|
> = ReturnType<typeof getBlockTransactionCountQueryKey<config, chainId>>
|
|
71
|
+
|
|
72
|
+
export type GetBlockTransactionCountQueryOptions<
|
|
73
|
+
config extends Config,
|
|
74
|
+
chainId extends config['chains'][number]['id'],
|
|
75
|
+
selectData = GetBlockTransactionCountData,
|
|
76
|
+
> = QueryOptions<
|
|
77
|
+
GetBlockTransactionCountQueryFnData,
|
|
78
|
+
GetBlockTransactionCountErrorType,
|
|
79
|
+
selectData,
|
|
80
|
+
GetBlockTransactionCountQueryKey<config, chainId>
|
|
81
|
+
>
|
package/src/query/getBytecode.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { QueryOptions } from '@tanstack/query-core'
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
type GetBytecodeErrorType,
|
|
5
3
|
type GetBytecodeParameters,
|
|
@@ -8,38 +6,52 @@ import {
|
|
|
8
6
|
} from '../actions/getBytecode.js'
|
|
9
7
|
import type { Config } from '../createConfig.js'
|
|
10
8
|
import type { ScopeKeyParameter } from '../types/properties.js'
|
|
9
|
+
import type { QueryOptions, QueryParameter } from '../types/query.js'
|
|
11
10
|
import type { Compute, ExactPartial } from '../types/utils.js'
|
|
12
11
|
import { filterQueryOptions } from './utils.js'
|
|
13
12
|
|
|
14
|
-
export type GetBytecodeOptions<
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
export type GetBytecodeOptions<
|
|
14
|
+
config extends Config,
|
|
15
|
+
selectData = GetBytecodeData,
|
|
16
|
+
> = Compute<ExactPartial<GetBytecodeParameters<config>> & ScopeKeyParameter> &
|
|
17
|
+
QueryParameter<
|
|
18
|
+
GetBytecodeQueryFnData,
|
|
19
|
+
GetBytecodeErrorType,
|
|
20
|
+
selectData,
|
|
21
|
+
GetBytecodeQueryKey<config>
|
|
22
|
+
>
|
|
17
23
|
|
|
18
|
-
export function getBytecodeQueryOptions<
|
|
24
|
+
export function getBytecodeQueryOptions<
|
|
25
|
+
config extends Config,
|
|
26
|
+
selectData = GetBytecodeData,
|
|
27
|
+
>(
|
|
19
28
|
config: config,
|
|
20
|
-
options: GetBytecodeOptions<config> = {},
|
|
21
|
-
) {
|
|
29
|
+
options: GetBytecodeOptions<config, selectData> = {},
|
|
30
|
+
): GetBytecodeQueryOptions<config, selectData> {
|
|
22
31
|
return {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
32
|
+
...options.query,
|
|
33
|
+
enabled: Boolean(options.address && (options.query?.enabled ?? true)),
|
|
34
|
+
queryFn: async (context) => {
|
|
35
|
+
const [, { scopeKey: _, ...parameters }] = context.queryKey
|
|
36
|
+
if (!parameters.address) throw new Error('address is required')
|
|
37
|
+
const bytecode = await getBytecode(config, {
|
|
38
|
+
...(parameters as any),
|
|
39
|
+
address: parameters.address,
|
|
40
|
+
})
|
|
27
41
|
return (bytecode ?? null) as any
|
|
28
42
|
},
|
|
29
43
|
queryKey: getBytecodeQueryKey(options),
|
|
30
|
-
}
|
|
31
|
-
GetBytecodeQueryFnData,
|
|
32
|
-
GetBytecodeErrorType,
|
|
33
|
-
GetBytecodeData,
|
|
34
|
-
GetBytecodeQueryKey<config>
|
|
35
|
-
>
|
|
44
|
+
}
|
|
36
45
|
}
|
|
46
|
+
|
|
37
47
|
export type GetBytecodeQueryFnData = GetBytecodeReturnType
|
|
38
48
|
|
|
39
49
|
export type GetBytecodeData = GetBytecodeQueryFnData
|
|
40
50
|
|
|
41
51
|
export function getBytecodeQueryKey<config extends Config>(
|
|
42
|
-
options:
|
|
52
|
+
options: Compute<
|
|
53
|
+
ExactPartial<GetBytecodeParameters<config>> & ScopeKeyParameter
|
|
54
|
+
> = {},
|
|
43
55
|
) {
|
|
44
56
|
return ['getBytecode', filterQueryOptions(options)] as const
|
|
45
57
|
}
|
|
@@ -47,3 +59,13 @@ export function getBytecodeQueryKey<config extends Config>(
|
|
|
47
59
|
export type GetBytecodeQueryKey<config extends Config> = ReturnType<
|
|
48
60
|
typeof getBytecodeQueryKey<config>
|
|
49
61
|
>
|
|
62
|
+
|
|
63
|
+
export type GetBytecodeQueryOptions<
|
|
64
|
+
config extends Config,
|
|
65
|
+
selectData = GetBytecodeData,
|
|
66
|
+
> = QueryOptions<
|
|
67
|
+
GetBytecodeQueryFnData,
|
|
68
|
+
GetBytecodeErrorType,
|
|
69
|
+
selectData,
|
|
70
|
+
GetBytecodeQueryKey<config>
|
|
71
|
+
>
|