@wagmi/core 3.2.1 → 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 (226) 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/actions/amm.js +1 -1
  78. package/dist/esm/tempo/actions/amm.js.map +1 -1
  79. package/dist/esm/tempo/actions/fee.js +1 -1
  80. package/dist/esm/tempo/actions/fee.js.map +1 -1
  81. package/dist/esm/tempo/actions/nonce.js +1 -1
  82. package/dist/esm/tempo/actions/nonce.js.map +1 -1
  83. package/dist/esm/tempo/actions/utils.js +17 -1
  84. package/dist/esm/tempo/actions/utils.js.map +1 -1
  85. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  86. package/dist/esm/types/query.js +2 -0
  87. package/dist/esm/types/query.js.map +1 -0
  88. package/dist/esm/version.js +1 -1
  89. package/dist/types/actions/prepareTransactionRequest.d.ts +2 -2
  90. package/dist/types/actions/prepareTransactionRequest.d.ts.map +1 -1
  91. package/dist/types/actions/simulateContract.d.ts +5 -3
  92. package/dist/types/actions/simulateContract.d.ts.map +1 -1
  93. package/dist/types/actions/verifyTypedData.d.ts +2 -2
  94. package/dist/types/actions/verifyTypedData.d.ts.map +1 -1
  95. package/dist/types/exports/internal.d.ts +1 -0
  96. package/dist/types/exports/internal.d.ts.map +1 -1
  97. package/dist/types/exports/query.d.ts +34 -34
  98. package/dist/types/exports/query.d.ts.map +1 -1
  99. package/dist/types/query/call.d.ts +34 -13
  100. package/dist/types/query/call.d.ts.map +1 -1
  101. package/dist/types/query/estimateFeesPerGas.d.ts +7 -22
  102. package/dist/types/query/estimateFeesPerGas.d.ts.map +1 -1
  103. package/dist/types/query/estimateGas.d.ts +12 -15
  104. package/dist/types/query/estimateGas.d.ts.map +1 -1
  105. package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts +6 -19
  106. package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts.map +1 -1
  107. package/dist/types/query/getBalance.d.ts +8 -27
  108. package/dist/types/query/getBalance.d.ts.map +1 -1
  109. package/dist/types/query/getBlock.d.ts +13 -13
  110. package/dist/types/query/getBlock.d.ts.map +1 -1
  111. package/dist/types/query/getBlockNumber.d.ts +7 -23
  112. package/dist/types/query/getBlockNumber.d.ts.map +1 -1
  113. package/dist/types/query/getBlockTransactionCount.d.ts +12 -13
  114. package/dist/types/query/getBlockTransactionCount.d.ts.map +1 -1
  115. package/dist/types/query/getBytecode.d.ts +12 -13
  116. package/dist/types/query/getBytecode.d.ts.map +1 -1
  117. package/dist/types/query/getCallsStatus.d.ts +7 -36
  118. package/dist/types/query/getCallsStatus.d.ts.map +1 -1
  119. package/dist/types/query/getCapabilities.d.ts +8 -50
  120. package/dist/types/query/getCapabilities.d.ts.map +1 -1
  121. package/dist/types/query/getConnectorClient.d.ts +11 -521
  122. package/dist/types/query/getConnectorClient.d.ts.map +1 -1
  123. package/dist/types/query/getEnsAddress.d.ts +8 -35
  124. package/dist/types/query/getEnsAddress.d.ts.map +1 -1
  125. package/dist/types/query/getEnsAvatar.d.ts +7 -34
  126. package/dist/types/query/getEnsAvatar.d.ts.map +1 -1
  127. package/dist/types/query/getEnsName.d.ts +8 -35
  128. package/dist/types/query/getEnsName.d.ts.map +1 -1
  129. package/dist/types/query/getEnsResolver.d.ts +8 -29
  130. package/dist/types/query/getEnsResolver.d.ts.map +1 -1
  131. package/dist/types/query/getEnsText.d.ts +9 -36
  132. package/dist/types/query/getEnsText.d.ts.map +1 -1
  133. package/dist/types/query/getFeeHistory.d.ts +9 -30
  134. package/dist/types/query/getFeeHistory.d.ts.map +1 -1
  135. package/dist/types/query/getGasPrice.d.ts +6 -19
  136. package/dist/types/query/getGasPrice.d.ts.map +1 -1
  137. package/dist/types/query/getProof.d.ts +13 -13
  138. package/dist/types/query/getProof.d.ts.map +1 -1
  139. package/dist/types/query/getStorageAt.d.ts +13 -13
  140. package/dist/types/query/getStorageAt.d.ts.map +1 -1
  141. package/dist/types/query/getTransaction.d.ts +16 -15
  142. package/dist/types/query/getTransaction.d.ts.map +1 -1
  143. package/dist/types/query/getTransactionConfirmations.d.ts +9 -13
  144. package/dist/types/query/getTransactionConfirmations.d.ts.map +1 -1
  145. package/dist/types/query/getTransactionCount.d.ts +8 -27
  146. package/dist/types/query/getTransactionCount.d.ts.map +1 -1
  147. package/dist/types/query/getTransactionReceipt.d.ts +7 -24
  148. package/dist/types/query/getTransactionReceipt.d.ts.map +1 -1
  149. package/dist/types/query/getWalletClient.d.ts +11 -31
  150. package/dist/types/query/getWalletClient.d.ts.map +1 -1
  151. package/dist/types/query/infiniteReadContracts.d.ts +13 -13
  152. package/dist/types/query/infiniteReadContracts.d.ts.map +1 -1
  153. package/dist/types/query/prepareTransactionRequest.d.ts +9 -13
  154. package/dist/types/query/prepareTransactionRequest.d.ts.map +1 -1
  155. package/dist/types/query/readContract.d.ts +9 -167
  156. package/dist/types/query/readContract.d.ts.map +1 -1
  157. package/dist/types/query/readContracts.d.ts +18 -60
  158. package/dist/types/query/readContracts.d.ts.map +1 -1
  159. package/dist/types/query/simulateContract.d.ts +11 -14
  160. package/dist/types/query/simulateContract.d.ts.map +1 -1
  161. package/dist/types/query/utils.d.ts +9 -1
  162. package/dist/types/query/utils.d.ts.map +1 -1
  163. package/dist/types/query/verifyMessage.d.ts +8 -43
  164. package/dist/types/query/verifyMessage.d.ts.map +1 -1
  165. package/dist/types/query/verifyTypedData.d.ts +10 -14
  166. package/dist/types/query/verifyTypedData.d.ts.map +1 -1
  167. package/dist/types/query/waitForCallsStatus.d.ts +9 -56
  168. package/dist/types/query/waitForCallsStatus.d.ts.map +1 -1
  169. package/dist/types/query/waitForTransactionReceipt.d.ts +11 -46
  170. package/dist/types/query/waitForTransactionReceipt.d.ts.map +1 -1
  171. package/dist/types/tempo/actions/amm.d.ts.map +1 -1
  172. package/dist/types/tempo/actions/fee.d.ts.map +1 -1
  173. package/dist/types/tempo/actions/nonce.d.ts.map +1 -1
  174. package/dist/types/tempo/actions/utils.d.ts +1 -0
  175. package/dist/types/tempo/actions/utils.d.ts.map +1 -1
  176. package/dist/types/types/query.d.ts +9 -0
  177. package/dist/types/types/query.d.ts.map +1 -0
  178. package/dist/types/version.d.ts +1 -1
  179. package/package.json +1 -1
  180. package/src/actions/prepareTransactionRequest.ts +9 -12
  181. package/src/actions/simulateContract.ts +11 -19
  182. package/src/actions/verifyTypedData.ts +2 -2
  183. package/src/exports/internal.ts +2 -0
  184. package/src/exports/query.ts +34 -0
  185. package/src/query/call.ts +29 -16
  186. package/src/query/estimateFeesPerGas.ts +34 -12
  187. package/src/query/estimateGas.ts +53 -24
  188. package/src/query/estimateMaxPriorityFeePerGas.ts +37 -18
  189. package/src/query/getBalance.ts +38 -20
  190. package/src/query/getBlock.ts +50 -16
  191. package/src/query/getBlockNumber.ts +34 -13
  192. package/src/query/getBlockTransactionCount.ts +34 -15
  193. package/src/query/getBytecode.ts +41 -19
  194. package/src/query/getCallsStatus.ts +36 -21
  195. package/src/query/getCapabilities.ts +40 -18
  196. package/src/query/getConnectorClient.ts +45 -20
  197. package/src/query/getEnsAddress.ts +37 -19
  198. package/src/query/getEnsAvatar.ts +37 -19
  199. package/src/query/getEnsName.ts +37 -19
  200. package/src/query/getEnsResolver.ts +38 -18
  201. package/src/query/getEnsText.ts +44 -19
  202. package/src/query/getFeeHistory.ts +46 -28
  203. package/src/query/getGasPrice.ts +34 -13
  204. package/src/query/getProof.ts +45 -19
  205. package/src/query/getStorageAt.ts +44 -19
  206. package/src/query/getTransaction.ts +51 -19
  207. package/src/query/getTransactionConfirmations.ts +46 -23
  208. package/src/query/getTransactionCount.ts +41 -22
  209. package/src/query/getTransactionReceipt.ts +42 -14
  210. package/src/query/getWalletClient.ts +46 -20
  211. package/src/query/infiniteReadContracts.ts +1 -1
  212. package/src/query/prepareTransactionRequest.ts +45 -17
  213. package/src/query/readContract.ts +55 -36
  214. package/src/query/readContracts.ts +38 -16
  215. package/src/query/simulateContract.ts +68 -33
  216. package/src/query/utils.ts +14 -5
  217. package/src/query/verifyMessage.ts +50 -26
  218. package/src/query/verifyTypedData.ts +65 -38
  219. package/src/query/waitForCallsStatus.ts +47 -25
  220. package/src/query/waitForTransactionReceipt.ts +36 -16
  221. package/src/tempo/actions/amm.ts +2 -2
  222. package/src/tempo/actions/fee.ts +1 -1
  223. package/src/tempo/actions/nonce.ts +1 -1
  224. package/src/tempo/actions/utils.ts +26 -0
  225. package/src/types/query.ts +40 -0
  226. 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 GetFeeHistoryErrorType,
5
3
  type GetFeeHistoryParameters,
@@ -8,48 +6,53 @@ import {
8
6
  } from '../actions/getFeeHistory.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
13
  export type GetFeeHistoryOptions<
15
14
  config extends Config,
16
15
  chainId extends config['chains'][number]['id'],
16
+ selectData = GetFeeHistoryData,
17
17
  > = Compute<
18
- PartialBy<
19
- GetFeeHistoryParameters<config, chainId>,
20
- 'blockCount' | 'rewardPercentiles'
21
- > &
22
- ScopeKeyParameter
23
- >
18
+ ExactPartial<GetFeeHistoryParameters<config, chainId>> & ScopeKeyParameter
19
+ > &
20
+ QueryParameter<
21
+ GetFeeHistoryQueryFnData,
22
+ GetFeeHistoryErrorType,
23
+ selectData,
24
+ GetFeeHistoryQueryKey<config, chainId>
25
+ >
24
26
 
25
27
  export function getFeeHistoryQueryOptions<
26
28
  config extends Config,
27
29
  chainId extends config['chains'][number]['id'],
28
- >(config: config, options: GetFeeHistoryOptions<config, chainId> = {}) {
30
+ selectData = GetFeeHistoryData,
31
+ >(
32
+ config: config,
33
+ options: GetFeeHistoryOptions<config, chainId, selectData> = {},
34
+ ): GetFeeHistoryQueryOptions<config, chainId, selectData> {
29
35
  return {
30
- async queryFn({ queryKey }) {
31
- const {
32
- blockCount,
33
- rewardPercentiles,
34
- scopeKey: _,
35
- ...parameters
36
- } = queryKey[1]
37
- if (!blockCount) throw new Error('blockCount is required')
38
- if (!rewardPercentiles) throw new Error('rewardPercentiles is required')
36
+ ...options.query,
37
+ enabled: Boolean(
38
+ options.blockCount &&
39
+ options.rewardPercentiles &&
40
+ (options.query?.enabled ?? true),
41
+ ),
42
+ queryFn: async (context) => {
43
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
44
+ if (!parameters.blockCount) throw new Error('blockCount is required')
45
+ if (!parameters.rewardPercentiles)
46
+ throw new Error('rewardPercentiles is required')
39
47
  const feeHistory = await getFeeHistory(config, {
40
48
  ...(parameters as GetFeeHistoryParameters),
41
- blockCount,
42
- rewardPercentiles,
49
+ blockCount: parameters.blockCount,
50
+ rewardPercentiles: parameters.rewardPercentiles,
43
51
  })
44
52
  return feeHistory ?? null
45
53
  },
46
54
  queryKey: getFeeHistoryQueryKey(options),
47
- } as const satisfies QueryOptions<
48
- GetFeeHistoryQueryFnData,
49
- GetFeeHistoryErrorType,
50
- GetFeeHistoryData,
51
- GetFeeHistoryQueryKey<config, chainId>
52
- >
55
+ }
53
56
  }
54
57
 
55
58
  export type GetFeeHistoryQueryFnData = GetFeeHistoryReturnType
@@ -59,7 +62,11 @@ export type GetFeeHistoryData = GetFeeHistoryQueryFnData
59
62
  export function getFeeHistoryQueryKey<
60
63
  config extends Config,
61
64
  chainId extends config['chains'][number]['id'],
62
- >(options: GetFeeHistoryOptions<config, chainId> = {}) {
65
+ >(
66
+ options: Compute<
67
+ ExactPartial<GetFeeHistoryParameters<config, chainId>> & ScopeKeyParameter
68
+ > = {},
69
+ ) {
63
70
  return ['feeHistory', filterQueryOptions(options)] as const
64
71
  }
65
72
 
@@ -67,3 +74,14 @@ export type GetFeeHistoryQueryKey<
67
74
  config extends Config,
68
75
  chainId extends config['chains'][number]['id'],
69
76
  > = ReturnType<typeof getFeeHistoryQueryKey<config, chainId>>
77
+
78
+ export type GetFeeHistoryQueryOptions<
79
+ config extends Config,
80
+ chainId extends config['chains'][number]['id'],
81
+ selectData = GetFeeHistoryData,
82
+ > = QueryOptions<
83
+ GetFeeHistoryQueryFnData,
84
+ GetFeeHistoryErrorType,
85
+ selectData,
86
+ GetFeeHistoryQueryKey<config, chainId>
87
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetGasPriceErrorType,
5
3
  type GetGasPriceParameters,
@@ -8,33 +6,41 @@ import {
8
6
  } from '../actions/getGasPrice.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 GetGasPriceOptions<
15
14
  config extends Config,
16
15
  chainId extends config['chains'][number]['id'],
16
+ selectData = GetGasPriceData,
17
17
  > = Compute<
18
18
  ExactPartial<GetGasPriceParameters<config, chainId>> & ScopeKeyParameter
19
- >
19
+ > &
20
+ QueryParameter<
21
+ GetGasPriceQueryFnData,
22
+ GetGasPriceErrorType,
23
+ selectData,
24
+ GetGasPriceQueryKey<config, chainId>
25
+ >
20
26
 
21
27
  export function getGasPriceQueryOptions<
22
28
  config extends Config,
23
29
  chainId extends config['chains'][number]['id'],
24
- >(config: config, options: GetGasPriceOptions<config, chainId> = {}) {
30
+ selectData = GetGasPriceData,
31
+ >(
32
+ config: config,
33
+ options: GetGasPriceOptions<config, chainId, selectData> = {},
34
+ ): GetGasPriceQueryOptions<config, chainId, selectData> {
25
35
  return {
26
- async queryFn({ queryKey }) {
27
- const { scopeKey: _, ...parameters } = queryKey[1]
36
+ ...options.query,
37
+ queryFn: async (context) => {
38
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
28
39
  const gasPrice = await getGasPrice(config, parameters)
29
40
  return gasPrice ?? null
30
41
  },
31
42
  queryKey: getGasPriceQueryKey(options),
32
- } as const satisfies QueryOptions<
33
- GetGasPriceQueryFnData,
34
- GetGasPriceErrorType,
35
- GetGasPriceData,
36
- GetGasPriceQueryKey<config, chainId>
37
- >
43
+ }
38
44
  }
39
45
 
40
46
  export type GetGasPriceQueryFnData = GetGasPriceReturnType
@@ -44,7 +50,11 @@ export type GetGasPriceData = GetGasPriceQueryFnData
44
50
  export function getGasPriceQueryKey<
45
51
  config extends Config,
46
52
  chainId extends config['chains'][number]['id'],
47
- >(options: GetGasPriceOptions<config, chainId> = {}) {
53
+ >(
54
+ options: Compute<
55
+ ExactPartial<GetGasPriceParameters<config, chainId>> & ScopeKeyParameter
56
+ > = {},
57
+ ) {
48
58
  return ['gasPrice', filterQueryOptions(options)] as const
49
59
  }
50
60
 
@@ -52,3 +62,14 @@ export type GetGasPriceQueryKey<
52
62
  config extends Config,
53
63
  chainId extends config['chains'][number]['id'],
54
64
  > = ReturnType<typeof getGasPriceQueryKey<config, chainId>>
65
+
66
+ export type GetGasPriceQueryOptions<
67
+ config extends Config,
68
+ chainId extends config['chains'][number]['id'],
69
+ selectData = GetGasPriceData,
70
+ > = QueryOptions<
71
+ GetGasPriceQueryFnData,
72
+ GetGasPriceErrorType,
73
+ selectData,
74
+ GetGasPriceQueryKey<config, chainId>
75
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetProofErrorType,
5
3
  type GetProofParameters,
@@ -8,31 +6,47 @@ import {
8
6
  } from '../actions/getProof.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 GetProofOptions<config extends Config> = Compute<
15
- ExactPartial<GetProofParameters<config>> & ScopeKeyParameter
16
- >
13
+ export type GetProofOptions<
14
+ config extends Config,
15
+ selectData = GetProofData,
16
+ > = Compute<ExactPartial<GetProofParameters<config>> & ScopeKeyParameter> &
17
+ QueryParameter<
18
+ GetProofQueryFnData,
19
+ GetProofErrorType,
20
+ selectData,
21
+ GetProofQueryKey<config>
22
+ >
17
23
 
18
- export function getProofQueryOptions<config extends Config>(
24
+ export function getProofQueryOptions<
25
+ config extends Config,
26
+ selectData = GetProofData,
27
+ >(
19
28
  config: config,
20
- options: GetProofOptions<config> = {},
21
- ) {
29
+ options: GetProofOptions<config, selectData> = {},
30
+ ): GetProofQueryOptions<config, selectData> {
22
31
  return {
23
- async queryFn({ queryKey }) {
24
- const { address, scopeKey: _, storageKeys, ...parameters } = queryKey[1]
25
- if (!address || !storageKeys)
32
+ ...options.query,
33
+ enabled: Boolean(
34
+ options.address &&
35
+ options.storageKeys &&
36
+ (options.query?.enabled ?? true),
37
+ ),
38
+ queryFn: async (context) => {
39
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
40
+ if (!parameters.address || !parameters.storageKeys)
26
41
  throw new Error('address and storageKeys are required')
27
- return getProof(config, { ...parameters, address, storageKeys })
42
+ return getProof(config, {
43
+ ...(parameters as GetProofParameters),
44
+ address: parameters.address,
45
+ storageKeys: parameters.storageKeys,
46
+ })
28
47
  },
29
48
  queryKey: getProofQueryKey(options),
30
- } as const satisfies QueryOptions<
31
- GetProofQueryFnData,
32
- GetProofErrorType,
33
- GetProofData,
34
- GetProofQueryKey<config>
35
- >
49
+ }
36
50
  }
37
51
 
38
52
  export type GetProofQueryFnData = GetProofReturnType
@@ -40,7 +54,9 @@ export type GetProofQueryFnData = GetProofReturnType
40
54
  export type GetProofData = GetProofQueryFnData
41
55
 
42
56
  export function getProofQueryKey<config extends Config>(
43
- options: GetProofOptions<config>,
57
+ options: Compute<
58
+ ExactPartial<GetProofParameters<config>> & ScopeKeyParameter
59
+ > = {},
44
60
  ) {
45
61
  return ['getProof', filterQueryOptions(options)] as const
46
62
  }
@@ -48,3 +64,13 @@ export function getProofQueryKey<config extends Config>(
48
64
  export type GetProofQueryKey<config extends Config> = ReturnType<
49
65
  typeof getProofQueryKey<config>
50
66
  >
67
+
68
+ export type GetProofQueryOptions<
69
+ config extends Config,
70
+ selectData = GetProofData,
71
+ > = QueryOptions<
72
+ GetProofQueryFnData,
73
+ GetProofErrorType,
74
+ selectData,
75
+ GetProofQueryKey<config>
76
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetStorageAtErrorType,
5
3
  type GetStorageAtParameters,
@@ -8,30 +6,45 @@ import {
8
6
  } from '../actions/getStorageAt.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 GetStorageAtOptions<config extends Config> = Compute<
15
- ExactPartial<GetStorageAtParameters<config>> & ScopeKeyParameter
16
- >
13
+ export type GetStorageAtOptions<
14
+ config extends Config,
15
+ selectData = GetStorageAtData,
16
+ > = Compute<ExactPartial<GetStorageAtParameters<config>> & ScopeKeyParameter> &
17
+ QueryParameter<
18
+ GetStorageAtQueryFnData,
19
+ GetStorageAtErrorType,
20
+ selectData,
21
+ GetStorageAtQueryKey<config>
22
+ >
17
23
 
18
- export function getStorageAtQueryOptions<config extends Config>(
24
+ export function getStorageAtQueryOptions<
25
+ config extends Config,
26
+ selectData = GetStorageAtData,
27
+ >(
19
28
  config: config,
20
- options: GetStorageAtOptions<config> = {},
21
- ) {
29
+ options: GetStorageAtOptions<config, selectData> = {},
30
+ ): GetStorageAtQueryOptions<config, selectData> {
22
31
  return {
23
- queryFn({ queryKey }) {
24
- const { address, slot, scopeKey: _, ...parameters } = queryKey[1]
25
- if (!address || !slot) throw new Error('address and slot are required')
26
- return getStorageAt(config, { ...parameters, address, slot })
32
+ ...options.query,
33
+ enabled: Boolean(
34
+ options.address && options.slot && (options.query?.enabled ?? true),
35
+ ),
36
+ queryFn: async (context) => {
37
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
38
+ if (!parameters.address || !parameters.slot)
39
+ throw new Error('address and slot are required')
40
+ return getStorageAt(config, {
41
+ ...(parameters as GetStorageAtParameters),
42
+ address: parameters.address,
43
+ slot: parameters.slot,
44
+ })
27
45
  },
28
46
  queryKey: getStorageAtQueryKey(options),
29
- } as const satisfies QueryOptions<
30
- GetStorageAtQueryFnData,
31
- GetStorageAtErrorType,
32
- GetStorageAtData,
33
- GetStorageAtQueryKey<config>
34
- >
47
+ }
35
48
  }
36
49
 
37
50
  export type GetStorageAtQueryFnData = GetStorageAtReturnType
@@ -39,7 +52,9 @@ export type GetStorageAtQueryFnData = GetStorageAtReturnType
39
52
  export type GetStorageAtData = GetStorageAtQueryFnData
40
53
 
41
54
  export function getStorageAtQueryKey<config extends Config>(
42
- options: GetStorageAtOptions<config>,
55
+ options: Compute<
56
+ ExactPartial<GetStorageAtParameters<config>> & ScopeKeyParameter
57
+ > = {},
43
58
  ) {
44
59
  return ['getStorageAt', filterQueryOptions(options)] as const
45
60
  }
@@ -47,3 +62,13 @@ export function getStorageAtQueryKey<config extends Config>(
47
62
  export type GetStorageAtQueryKey<config extends Config> = ReturnType<
48
63
  typeof getStorageAtQueryKey<config>
49
64
  >
65
+
66
+ export type GetStorageAtQueryOptions<
67
+ config extends Config,
68
+ selectData = GetStorageAtData,
69
+ > = QueryOptions<
70
+ GetStorageAtQueryFnData,
71
+ GetStorageAtErrorType,
72
+ selectData,
73
+ GetStorageAtQueryKey<config>
74
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetTransactionErrorType,
5
3
  type GetTransactionParameters,
@@ -8,42 +6,61 @@ import {
8
6
  } from '../actions/getTransaction.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 GetTransactionOptions<
15
14
  config extends Config,
16
15
  chainId extends config['chains'][number]['id'],
16
+ selectData = GetTransactionData<config, chainId>,
17
17
  > = Compute<
18
18
  ExactPartial<GetTransactionParameters<config, chainId>> & ScopeKeyParameter
19
- >
19
+ > &
20
+ QueryParameter<
21
+ GetTransactionQueryFnData<config, chainId>,
22
+ GetTransactionErrorType,
23
+ selectData,
24
+ GetTransactionQueryKey<config, chainId>
25
+ >
20
26
 
21
27
  export function getTransactionQueryOptions<
22
28
  config extends Config,
23
29
  chainId extends config['chains'][number]['id'],
24
- >(config: config, options: GetTransactionOptions<config, chainId> = {}) {
30
+ selectData = GetTransactionData<config, chainId>,
31
+ >(
32
+ config: config,
33
+ options: GetTransactionOptions<config, chainId, selectData> = {},
34
+ ): GetTransactionQueryOptions<config, chainId, selectData> {
25
35
  return {
26
- async queryFn({ queryKey }) {
27
- const { blockHash, blockNumber, blockTag, hash, index } = queryKey[1]
28
- if (!blockHash && !blockNumber && !blockTag && !hash)
29
- throw new Error('blockHash, blockNumber, blockTag, or hash is required')
30
- if (!hash && !index)
36
+ ...options.query,
37
+ enabled: Boolean(
38
+ (options.hash ||
39
+ (options.index &&
40
+ (options.blockHash || options.blockNumber || options.blockTag))) &&
41
+ (options.query?.enabled ?? true),
42
+ ),
43
+ queryFn: async (context) => {
44
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
45
+ if (
46
+ !(
47
+ parameters.hash ||
48
+ (parameters.index &&
49
+ (parameters.blockHash ||
50
+ parameters.blockNumber ||
51
+ parameters.blockTag))
52
+ )
53
+ )
31
54
  throw new Error(
32
- 'index is required for blockHash, blockNumber, or blockTag',
55
+ 'hash OR index AND blockHash, blockNumber, blockTag is required',
33
56
  )
34
- const { scopeKey: _, ...rest } = queryKey[1]
35
57
  return getTransaction(
36
58
  config,
37
- rest as GetTransactionParameters,
59
+ parameters as GetTransactionParameters,
38
60
  ) as unknown as Promise<GetTransactionQueryFnData<config, chainId>>
39
61
  },
40
62
  queryKey: getTransactionQueryKey(options),
41
- } as const satisfies QueryOptions<
42
- GetTransactionQueryFnData<config, chainId>,
43
- GetTransactionErrorType,
44
- GetTransactionData<config, chainId>,
45
- GetTransactionQueryKey<config, chainId>
46
- >
63
+ }
47
64
  }
48
65
 
49
66
  export type GetTransactionQueryFnData<
@@ -59,7 +76,11 @@ export type GetTransactionData<
59
76
  export function getTransactionQueryKey<
60
77
  config extends Config,
61
78
  chainId extends config['chains'][number]['id'],
62
- >(options: GetTransactionOptions<config, chainId> = {}) {
79
+ >(
80
+ options: Compute<
81
+ ExactPartial<GetTransactionParameters<config, chainId>> & ScopeKeyParameter
82
+ > = {},
83
+ ) {
63
84
  return ['transaction', filterQueryOptions(options)] as const
64
85
  }
65
86
 
@@ -67,3 +88,14 @@ export type GetTransactionQueryKey<
67
88
  config extends Config,
68
89
  chainId extends config['chains'][number]['id'],
69
90
  > = ReturnType<typeof getTransactionQueryKey<config, chainId>>
91
+
92
+ export type GetTransactionQueryOptions<
93
+ config extends Config,
94
+ chainId extends config['chains'][number]['id'],
95
+ selectData = GetTransactionData<config, chainId>,
96
+ > = QueryOptions<
97
+ GetTransactionQueryFnData<config, chainId>,
98
+ GetTransactionErrorType,
99
+ selectData,
100
+ GetTransactionQueryKey<config, chainId>
101
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetTransactionConfirmationsErrorType,
5
3
  type GetTransactionConfirmationsParameters,
@@ -8,6 +6,7 @@ import {
8
6
  } from '../actions/getTransactionConfirmations.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 { UnionExactPartial } from '../types/utils.js'
12
11
  import { filterQueryOptions } from './utils.js'
13
12
 
@@ -16,43 +15,49 @@ export type GetTransactionConfirmationsOptions<
16
15
  chainId extends
17
16
  | config['chains'][number]['id']
18
17
  | undefined = config['chains'][number]['id'],
18
+ selectData = GetTransactionConfirmationsData,
19
19
  > = UnionExactPartial<GetTransactionConfirmationsParameters<config, chainId>> &
20
- ScopeKeyParameter
20
+ ScopeKeyParameter &
21
+ QueryParameter<
22
+ GetTransactionConfirmationsQueryFnData,
23
+ GetTransactionConfirmationsErrorType,
24
+ selectData,
25
+ GetTransactionConfirmationsQueryKey<config, chainId>
26
+ >
21
27
 
22
28
  export function getTransactionConfirmationsQueryOptions<
23
29
  config extends Config,
24
30
  chainId extends
25
31
  | config['chains'][number]['id']
26
32
  | undefined = config['chains'][number]['id'],
33
+ selectData = GetTransactionConfirmationsData,
27
34
  >(
28
35
  config: config,
29
- options: GetTransactionConfirmationsOptions<config, chainId> = {} as any,
30
- ) {
36
+ options: GetTransactionConfirmationsOptions<
37
+ config,
38
+ chainId,
39
+ selectData
40
+ > = {} as any,
41
+ ): GetTransactionConfirmationsQueryOptions<config, chainId, selectData> {
31
42
  return {
32
- async queryFn({ queryKey }) {
33
- const {
34
- hash,
35
- transactionReceipt,
36
- scopeKey: _,
37
- ...parameters
38
- } = queryKey[1]
39
- if (!hash && !transactionReceipt)
43
+ ...options.query,
44
+ enabled: Boolean(
45
+ (options.hash || options.transactionReceipt) &&
46
+ (options.query?.enabled ?? true),
47
+ ),
48
+ queryFn: async (context) => {
49
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
50
+ if (!parameters.hash && !parameters.transactionReceipt)
40
51
  throw new Error('hash or transactionReceipt is required')
41
-
42
52
  const confirmations = await getTransactionConfirmations(config, {
43
- hash,
44
- transactionReceipt,
45
53
  ...(parameters as any),
54
+ hash: parameters.hash,
55
+ transactionReceipt: parameters.transactionReceipt,
46
56
  })
47
57
  return confirmations ?? null
48
58
  },
49
59
  queryKey: getTransactionConfirmationsQueryKey(options),
50
- } as const satisfies QueryOptions<
51
- GetTransactionConfirmationsQueryFnData,
52
- GetTransactionConfirmationsErrorType,
53
- GetTransactionConfirmationsData,
54
- GetTransactionConfirmationsQueryKey<config, chainId>
55
- >
60
+ }
56
61
  }
57
62
 
58
63
  export type GetTransactionConfirmationsQueryFnData =
@@ -66,7 +71,12 @@ export function getTransactionConfirmationsQueryKey<
66
71
  chainId extends
67
72
  | config['chains'][number]['id']
68
73
  | undefined = config['chains'][number]['id'],
69
- >(options: GetTransactionConfirmationsOptions<config, chainId> = {} as any) {
74
+ >(
75
+ options: UnionExactPartial<
76
+ GetTransactionConfirmationsParameters<config, chainId>
77
+ > &
78
+ ScopeKeyParameter = {} as any,
79
+ ) {
70
80
  return ['transactionConfirmations', filterQueryOptions(options)] as const
71
81
  }
72
82
 
@@ -76,3 +86,16 @@ export type GetTransactionConfirmationsQueryKey<
76
86
  | config['chains'][number]['id']
77
87
  | undefined = config['chains'][number]['id'],
78
88
  > = ReturnType<typeof getTransactionConfirmationsQueryKey<config, chainId>>
89
+
90
+ export type GetTransactionConfirmationsQueryOptions<
91
+ config extends Config,
92
+ chainId extends
93
+ | config['chains'][number]['id']
94
+ | undefined = config['chains'][number]['id'],
95
+ selectData = GetTransactionConfirmationsData,
96
+ > = QueryOptions<
97
+ GetTransactionConfirmationsQueryFnData,
98
+ GetTransactionConfirmationsErrorType,
99
+ selectData,
100
+ GetTransactionConfirmationsQueryKey<config, chainId>
101
+ >