@wagmi/core 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/dist/esm/actions/prepareTransactionRequest.js.map +1 -1
  2. package/dist/esm/actions/simulateContract.js.map +1 -1
  3. package/dist/esm/exports/internal.js.map +1 -1
  4. package/dist/esm/exports/query.js.map +1 -1
  5. package/dist/esm/query/call.js +4 -3
  6. package/dist/esm/query/call.js.map +1 -1
  7. package/dist/esm/query/estimateFeesPerGas.js +3 -2
  8. package/dist/esm/query/estimateFeesPerGas.js.map +1 -1
  9. package/dist/esm/query/estimateGas.js +12 -7
  10. package/dist/esm/query/estimateGas.js.map +1 -1
  11. package/dist/esm/query/estimateMaxPriorityFeePerGas.js +3 -2
  12. package/dist/esm/query/estimateMaxPriorityFeePerGas.js.map +1 -1
  13. package/dist/esm/query/getBalance.js +6 -4
  14. package/dist/esm/query/getBalance.js.map +1 -1
  15. package/dist/esm/query/getBlock.js +3 -2
  16. package/dist/esm/query/getBlock.js.map +1 -1
  17. package/dist/esm/query/getBlockNumber.js +3 -2
  18. package/dist/esm/query/getBlockNumber.js.map +1 -1
  19. package/dist/esm/query/getBlockTransactionCount.js +3 -2
  20. package/dist/esm/query/getBlockTransactionCount.js.map +1 -1
  21. package/dist/esm/query/getBytecode.js +10 -5
  22. package/dist/esm/query/getBytecode.js.map +1 -1
  23. package/dist/esm/query/getCallsStatus.js +6 -8
  24. package/dist/esm/query/getCallsStatus.js.map +1 -1
  25. package/dist/esm/query/getCapabilities.js +6 -8
  26. package/dist/esm/query/getCapabilities.js.map +1 -1
  27. package/dist/esm/query/getConnectorClient.js +7 -9
  28. package/dist/esm/query/getConnectorClient.js.map +1 -1
  29. package/dist/esm/query/getEnsAddress.js +6 -4
  30. package/dist/esm/query/getEnsAddress.js.map +1 -1
  31. package/dist/esm/query/getEnsAvatar.js +6 -4
  32. package/dist/esm/query/getEnsAvatar.js.map +1 -1
  33. package/dist/esm/query/getEnsName.js +6 -4
  34. package/dist/esm/query/getEnsName.js.map +1 -1
  35. package/dist/esm/query/getEnsResolver.js +6 -4
  36. package/dist/esm/query/getEnsResolver.js.map +1 -1
  37. package/dist/esm/query/getEnsText.js +10 -4
  38. package/dist/esm/query/getEnsText.js.map +1 -1
  39. package/dist/esm/query/getFeeHistory.js +10 -6
  40. package/dist/esm/query/getFeeHistory.js.map +1 -1
  41. package/dist/esm/query/getGasPrice.js +3 -2
  42. package/dist/esm/query/getGasPrice.js.map +1 -1
  43. package/dist/esm/query/getProof.js +13 -5
  44. package/dist/esm/query/getProof.js.map +1 -1
  45. package/dist/esm/query/getStorageAt.js +11 -5
  46. package/dist/esm/query/getStorageAt.js.map +1 -1
  47. package/dist/esm/query/getTransaction.js +14 -8
  48. package/dist/esm/query/getTransaction.js.map +1 -1
  49. package/dist/esm/query/getTransactionConfirmations.js +8 -5
  50. package/dist/esm/query/getTransactionConfirmations.js.map +1 -1
  51. package/dist/esm/query/getTransactionCount.js +6 -4
  52. package/dist/esm/query/getTransactionCount.js.map +1 -1
  53. package/dist/esm/query/getTransactionReceipt.js +10 -5
  54. package/dist/esm/query/getTransactionReceipt.js.map +1 -1
  55. package/dist/esm/query/getWalletClient.js +12 -9
  56. package/dist/esm/query/getWalletClient.js.map +1 -1
  57. package/dist/esm/query/infiniteReadContracts.js +1 -1
  58. package/dist/esm/query/infiniteReadContracts.js.map +1 -1
  59. package/dist/esm/query/prepareTransactionRequest.js +7 -5
  60. package/dist/esm/query/prepareTransactionRequest.js.map +1 -1
  61. package/dist/esm/query/readContract.js +18 -21
  62. package/dist/esm/query/readContract.js.map +1 -1
  63. package/dist/esm/query/readContracts.js +5 -4
  64. package/dist/esm/query/readContracts.js.map +1 -1
  65. package/dist/esm/query/simulateContract.js +18 -10
  66. package/dist/esm/query/simulateContract.js.map +1 -1
  67. package/dist/esm/query/utils.js +3 -1
  68. package/dist/esm/query/utils.js.map +1 -1
  69. package/dist/esm/query/verifyMessage.js +20 -7
  70. package/dist/esm/query/verifyMessage.js.map +1 -1
  71. package/dist/esm/query/verifyTypedData.js +20 -13
  72. package/dist/esm/query/verifyTypedData.js.map +1 -1
  73. package/dist/esm/query/waitForCallsStatus.js +14 -11
  74. package/dist/esm/query/waitForCallsStatus.js.map +1 -1
  75. package/dist/esm/query/waitForTransactionReceipt.js +6 -4
  76. package/dist/esm/query/waitForTransactionReceipt.js.map +1 -1
  77. package/dist/esm/tempo/Connectors.js +39 -30
  78. package/dist/esm/tempo/Connectors.js.map +1 -1
  79. package/dist/esm/tempo/actions/amm.js +1 -1
  80. package/dist/esm/tempo/actions/amm.js.map +1 -1
  81. package/dist/esm/tempo/actions/fee.js +1 -1
  82. package/dist/esm/tempo/actions/fee.js.map +1 -1
  83. package/dist/esm/tempo/actions/nonce.js +1 -1
  84. package/dist/esm/tempo/actions/nonce.js.map +1 -1
  85. package/dist/esm/tempo/actions/utils.js +17 -1
  86. package/dist/esm/tempo/actions/utils.js.map +1 -1
  87. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  88. package/dist/esm/types/query.js +2 -0
  89. package/dist/esm/types/query.js.map +1 -0
  90. package/dist/esm/version.js +1 -1
  91. package/dist/types/actions/prepareTransactionRequest.d.ts +2 -2
  92. package/dist/types/actions/prepareTransactionRequest.d.ts.map +1 -1
  93. package/dist/types/actions/simulateContract.d.ts +5 -3
  94. package/dist/types/actions/simulateContract.d.ts.map +1 -1
  95. package/dist/types/actions/verifyTypedData.d.ts +2 -2
  96. package/dist/types/actions/verifyTypedData.d.ts.map +1 -1
  97. package/dist/types/exports/internal.d.ts +1 -0
  98. package/dist/types/exports/internal.d.ts.map +1 -1
  99. package/dist/types/exports/query.d.ts +34 -34
  100. package/dist/types/exports/query.d.ts.map +1 -1
  101. package/dist/types/query/call.d.ts +34 -13
  102. package/dist/types/query/call.d.ts.map +1 -1
  103. package/dist/types/query/estimateFeesPerGas.d.ts +7 -22
  104. package/dist/types/query/estimateFeesPerGas.d.ts.map +1 -1
  105. package/dist/types/query/estimateGas.d.ts +12 -15
  106. package/dist/types/query/estimateGas.d.ts.map +1 -1
  107. package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts +6 -19
  108. package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts.map +1 -1
  109. package/dist/types/query/getBalance.d.ts +8 -27
  110. package/dist/types/query/getBalance.d.ts.map +1 -1
  111. package/dist/types/query/getBlock.d.ts +13 -13
  112. package/dist/types/query/getBlock.d.ts.map +1 -1
  113. package/dist/types/query/getBlockNumber.d.ts +7 -23
  114. package/dist/types/query/getBlockNumber.d.ts.map +1 -1
  115. package/dist/types/query/getBlockTransactionCount.d.ts +12 -13
  116. package/dist/types/query/getBlockTransactionCount.d.ts.map +1 -1
  117. package/dist/types/query/getBytecode.d.ts +12 -13
  118. package/dist/types/query/getBytecode.d.ts.map +1 -1
  119. package/dist/types/query/getCallsStatus.d.ts +7 -36
  120. package/dist/types/query/getCallsStatus.d.ts.map +1 -1
  121. package/dist/types/query/getCapabilities.d.ts +8 -50
  122. package/dist/types/query/getCapabilities.d.ts.map +1 -1
  123. package/dist/types/query/getConnectorClient.d.ts +11 -521
  124. package/dist/types/query/getConnectorClient.d.ts.map +1 -1
  125. package/dist/types/query/getEnsAddress.d.ts +8 -35
  126. package/dist/types/query/getEnsAddress.d.ts.map +1 -1
  127. package/dist/types/query/getEnsAvatar.d.ts +7 -34
  128. package/dist/types/query/getEnsAvatar.d.ts.map +1 -1
  129. package/dist/types/query/getEnsName.d.ts +8 -35
  130. package/dist/types/query/getEnsName.d.ts.map +1 -1
  131. package/dist/types/query/getEnsResolver.d.ts +8 -29
  132. package/dist/types/query/getEnsResolver.d.ts.map +1 -1
  133. package/dist/types/query/getEnsText.d.ts +9 -36
  134. package/dist/types/query/getEnsText.d.ts.map +1 -1
  135. package/dist/types/query/getFeeHistory.d.ts +9 -30
  136. package/dist/types/query/getFeeHistory.d.ts.map +1 -1
  137. package/dist/types/query/getGasPrice.d.ts +6 -19
  138. package/dist/types/query/getGasPrice.d.ts.map +1 -1
  139. package/dist/types/query/getProof.d.ts +13 -13
  140. package/dist/types/query/getProof.d.ts.map +1 -1
  141. package/dist/types/query/getStorageAt.d.ts +13 -13
  142. package/dist/types/query/getStorageAt.d.ts.map +1 -1
  143. package/dist/types/query/getTransaction.d.ts +16 -15
  144. package/dist/types/query/getTransaction.d.ts.map +1 -1
  145. package/dist/types/query/getTransactionConfirmations.d.ts +9 -13
  146. package/dist/types/query/getTransactionConfirmations.d.ts.map +1 -1
  147. package/dist/types/query/getTransactionCount.d.ts +8 -27
  148. package/dist/types/query/getTransactionCount.d.ts.map +1 -1
  149. package/dist/types/query/getTransactionReceipt.d.ts +7 -24
  150. package/dist/types/query/getTransactionReceipt.d.ts.map +1 -1
  151. package/dist/types/query/getWalletClient.d.ts +11 -31
  152. package/dist/types/query/getWalletClient.d.ts.map +1 -1
  153. package/dist/types/query/infiniteReadContracts.d.ts +13 -13
  154. package/dist/types/query/infiniteReadContracts.d.ts.map +1 -1
  155. package/dist/types/query/prepareTransactionRequest.d.ts +9 -13
  156. package/dist/types/query/prepareTransactionRequest.d.ts.map +1 -1
  157. package/dist/types/query/readContract.d.ts +9 -167
  158. package/dist/types/query/readContract.d.ts.map +1 -1
  159. package/dist/types/query/readContracts.d.ts +18 -60
  160. package/dist/types/query/readContracts.d.ts.map +1 -1
  161. package/dist/types/query/simulateContract.d.ts +11 -14
  162. package/dist/types/query/simulateContract.d.ts.map +1 -1
  163. package/dist/types/query/utils.d.ts +9 -1
  164. package/dist/types/query/utils.d.ts.map +1 -1
  165. package/dist/types/query/verifyMessage.d.ts +8 -43
  166. package/dist/types/query/verifyMessage.d.ts.map +1 -1
  167. package/dist/types/query/verifyTypedData.d.ts +10 -14
  168. package/dist/types/query/verifyTypedData.d.ts.map +1 -1
  169. package/dist/types/query/waitForCallsStatus.d.ts +9 -56
  170. package/dist/types/query/waitForCallsStatus.d.ts.map +1 -1
  171. package/dist/types/query/waitForTransactionReceipt.d.ts +11 -46
  172. package/dist/types/query/waitForTransactionReceipt.d.ts.map +1 -1
  173. package/dist/types/tempo/Connectors.d.ts.map +1 -1
  174. package/dist/types/tempo/actions/amm.d.ts.map +1 -1
  175. package/dist/types/tempo/actions/fee.d.ts.map +1 -1
  176. package/dist/types/tempo/actions/nonce.d.ts.map +1 -1
  177. package/dist/types/tempo/actions/utils.d.ts +1 -0
  178. package/dist/types/tempo/actions/utils.d.ts.map +1 -1
  179. package/dist/types/types/query.d.ts +9 -0
  180. package/dist/types/types/query.d.ts.map +1 -0
  181. package/dist/types/version.d.ts +1 -1
  182. package/package.json +1 -1
  183. package/src/actions/prepareTransactionRequest.ts +9 -12
  184. package/src/actions/simulateContract.ts +11 -19
  185. package/src/actions/verifyTypedData.ts +2 -2
  186. package/src/exports/internal.ts +2 -0
  187. package/src/exports/query.ts +34 -0
  188. package/src/query/call.ts +29 -16
  189. package/src/query/estimateFeesPerGas.ts +34 -12
  190. package/src/query/estimateGas.ts +53 -24
  191. package/src/query/estimateMaxPriorityFeePerGas.ts +37 -18
  192. package/src/query/getBalance.ts +38 -20
  193. package/src/query/getBlock.ts +50 -16
  194. package/src/query/getBlockNumber.ts +34 -13
  195. package/src/query/getBlockTransactionCount.ts +34 -15
  196. package/src/query/getBytecode.ts +41 -19
  197. package/src/query/getCallsStatus.ts +36 -21
  198. package/src/query/getCapabilities.ts +40 -18
  199. package/src/query/getConnectorClient.ts +45 -20
  200. package/src/query/getEnsAddress.ts +37 -19
  201. package/src/query/getEnsAvatar.ts +37 -19
  202. package/src/query/getEnsName.ts +37 -19
  203. package/src/query/getEnsResolver.ts +38 -18
  204. package/src/query/getEnsText.ts +44 -19
  205. package/src/query/getFeeHistory.ts +46 -28
  206. package/src/query/getGasPrice.ts +34 -13
  207. package/src/query/getProof.ts +45 -19
  208. package/src/query/getStorageAt.ts +44 -19
  209. package/src/query/getTransaction.ts +51 -19
  210. package/src/query/getTransactionConfirmations.ts +46 -23
  211. package/src/query/getTransactionCount.ts +41 -22
  212. package/src/query/getTransactionReceipt.ts +42 -14
  213. package/src/query/getWalletClient.ts +46 -20
  214. package/src/query/infiniteReadContracts.ts +1 -1
  215. package/src/query/prepareTransactionRequest.ts +45 -17
  216. package/src/query/readContract.ts +55 -36
  217. package/src/query/readContracts.ts +38 -16
  218. package/src/query/simulateContract.ts +68 -33
  219. package/src/query/utils.ts +14 -5
  220. package/src/query/verifyMessage.ts +50 -26
  221. package/src/query/verifyTypedData.ts +65 -38
  222. package/src/query/waitForCallsStatus.ts +47 -25
  223. package/src/query/waitForTransactionReceipt.ts +36 -16
  224. package/src/tempo/Connectors.ts +48 -38
  225. package/src/tempo/actions/amm.ts +2 -2
  226. package/src/tempo/actions/fee.ts +1 -1
  227. package/src/tempo/actions/nonce.ts +1 -1
  228. package/src/tempo/actions/utils.ts +26 -0
  229. package/src/types/query.ts +40 -0
  230. package/src/version.ts +1 -1
@@ -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 { UnionExactPartial } from '../types/utils.js'
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
- > = UnionExactPartial<EstimateGasParameters<config, chainId>> &
18
- ScopeKeyParameter
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
- >(config: config, options: EstimateGasOptions<config, chainId> = {} as any) {
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
- async queryFn({ queryKey }) {
26
- const { connector } = options
27
- const { account, scopeKey: _, ...parameters } = queryKey[1]
28
- if (!account && !connector)
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, { account, connector, ...(parameters as any) })
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
- } as const satisfies QueryOptions<
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
- >(options: EstimateGasOptions<config, chainId> = {} as any) {
49
- const { connector: _, ...rest } = options
50
- return ['estimateGas', filterQueryOptions(rest)] as const
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<config extends Config> =
15
- Compute<
16
- ExactPartial<EstimateMaxPriorityFeePerGasParameters<config>> &
17
- ScopeKeyParameter
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<config extends Config>(
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
- async queryFn({ queryKey }) {
26
- const { scopeKey: _, ...parameters } = queryKey[1]
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
- } as const satisfies QueryOptions<
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: EstimateMaxPriorityFeePerGasOptions<config> = {},
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
+ >
@@ -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 { Compute, PartialBy } from '../types/utils.js'
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<config extends Config> = Compute<
15
- PartialBy<GetBalanceParameters<config>, 'address'> & ScopeKeyParameter
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<config extends Config>(
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
- async queryFn({ queryKey }) {
24
- const { address, scopeKey: _, ...parameters } = queryKey[1]
25
- if (!address) throw new Error('address is required')
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
- } as const satisfies QueryOptions<
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: GetBalanceOptions<config> = {},
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
+ >
@@ -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<includeTransactions, blockTag, config, chainId> = {},
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
- async queryFn({ queryKey }) {
39
- const { scopeKey: _, ...parameters } = queryKey[1]
40
- const block = await getBlock(config, parameters)
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
- } as const satisfies QueryOptions<
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: GetBlockOptions<includeTransactions, blockTag, config, chainId> = {},
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
- >(config: config, options: GetBlockNumberOptions<config, chainId> = {}) {
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 queryFn({ queryKey }) {
28
- const { scopeKey: _, ...parameters } = queryKey[1]
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
- } as const satisfies QueryOptions<
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
- >(options: GetBlockNumberOptions<config, chainId> = {}) {
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
- async queryFn({ queryKey }) {
31
- const { scopeKey: _, ...parameters } = queryKey[1]
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
- } as const satisfies QueryOptions<
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
- >(options: GetBlockTransactionCountOptions<config, chainId> = {}) {
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
+ >
@@ -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<config extends Config> = Compute<
15
- ExactPartial<GetBytecodeParameters<config>> & ScopeKeyParameter
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<config extends Config>(
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
- async queryFn({ queryKey }) {
24
- const { address, scopeKey: _, ...parameters } = queryKey[1]
25
- if (!address) throw new Error('address is required')
26
- const bytecode = await getBytecode(config, { ...parameters, address })
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
- } as const satisfies QueryOptions<
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: GetBytecodeOptions<config>,
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
+ >