@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 GetCallsStatusErrorType,
5
3
  type GetCallsStatusParameters,
@@ -7,44 +5,61 @@ import {
7
5
  getCallsStatus,
8
6
  } from '../actions/getCallsStatus.js'
9
7
  import type { Config } from '../createConfig.js'
10
- import { ConnectorNotConnectedError } from '../errors/config.js'
11
8
  import { filterQueryOptions } from '../query/utils.js'
12
9
  import type { ScopeKeyParameter } from '../types/properties.js'
10
+ import type { QueryOptions, QueryParameter } from '../types/query.js'
13
11
  import type { Compute } from '../types/utils.js'
14
12
 
15
- export type GetCallsStatusOptions = Compute<
13
+ export type GetCallsStatusOptions<selectData = GetCallsStatusData> = Compute<
16
14
  GetCallsStatusParameters & ScopeKeyParameter
17
- >
15
+ > &
16
+ QueryParameter<
17
+ GetCallsStatusQueryFnData,
18
+ GetCallsStatusErrorType,
19
+ selectData,
20
+ GetCallsStatusQueryKey
21
+ >
18
22
 
19
- export function getCallsStatusQueryOptions<config extends Config>(
23
+ export function getCallsStatusQueryOptions<
24
+ config extends Config,
25
+ selectData = GetCallsStatusData,
26
+ >(
20
27
  config: config,
21
- options: GetCallsStatusOptions,
22
- ) {
28
+ options: GetCallsStatusOptions<selectData>,
29
+ ): GetCallsStatusQueryOptions<selectData> {
23
30
  return {
24
- async queryFn({ queryKey }) {
25
- const { scopeKey: _, ...parameters } = queryKey[1]
31
+ ...options.query,
32
+ enabled: Boolean(
33
+ options.connector?.getProvider && (options.query?.enabled ?? true),
34
+ ),
35
+ queryFn: async (context) => {
36
+ if (!options.connector?.getProvider)
37
+ throw new Error('connector is required')
38
+ const [, { connectorUid: _, scopeKey: __, ...parameters }] =
39
+ context.queryKey
26
40
  const status = await getCallsStatus(config, parameters)
27
41
  return status
28
42
  },
29
43
  queryKey: getCallsStatusQueryKey(options),
30
- retry(failureCount, error) {
31
- if (error instanceof ConnectorNotConnectedError) return false
32
- return failureCount < 3
33
- },
34
- } as const satisfies QueryOptions<
35
- GetCallsStatusQueryFnData,
36
- GetCallsStatusErrorType,
37
- GetCallsStatusData,
38
- GetCallsStatusQueryKey
39
- >
44
+ }
40
45
  }
41
46
 
42
47
  export type GetCallsStatusQueryFnData = GetCallsStatusReturnType
43
48
 
44
49
  export type GetCallsStatusData = GetCallsStatusQueryFnData
45
50
 
46
- export function getCallsStatusQueryKey(options: GetCallsStatusOptions) {
51
+ export function getCallsStatusQueryKey(
52
+ options: Compute<GetCallsStatusParameters & ScopeKeyParameter>,
53
+ ) {
47
54
  return ['callsStatus', filterQueryOptions(options)] as const
48
55
  }
49
56
 
50
57
  export type GetCallsStatusQueryKey = ReturnType<typeof getCallsStatusQueryKey>
58
+
59
+ export type GetCallsStatusQueryOptions<selectData = GetCallsStatusData> =
60
+ QueryOptions<
61
+ GetCallsStatusQueryFnData,
62
+ GetCallsStatusErrorType,
63
+ selectData,
64
+ GetCallsStatusQueryKey
65
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetCapabilitiesErrorType,
5
3
  type GetCapabilitiesParameters,
@@ -7,39 +5,48 @@ import {
7
5
  getCapabilities,
8
6
  } from '../actions/getCapabilities.js'
9
7
  import type { Config } from '../createConfig.js'
10
- import { ConnectorNotConnectedError } from '../errors/config.js'
11
8
  import { filterQueryOptions } from '../query/utils.js'
12
9
  import type { ScopeKeyParameter } from '../types/properties.js'
10
+ import type { QueryOptions, QueryParameter } from '../types/query.js'
13
11
  import type { Compute, ExactPartial } from '../types/utils.js'
14
12
 
15
13
  export type GetCapabilitiesOptions<
16
14
  config extends Config = Config,
17
15
  chainId extends config['chains'][number]['id'] | undefined = undefined,
16
+ selectData = GetCapabilitiesData<config, chainId>,
18
17
  > = Compute<
19
18
  ExactPartial<GetCapabilitiesParameters<config, chainId>> & ScopeKeyParameter
20
- >
19
+ > &
20
+ QueryParameter<
21
+ GetCapabilitiesQueryFnData<config, chainId>,
22
+ GetCapabilitiesErrorType,
23
+ selectData,
24
+ GetCapabilitiesQueryKey<config, chainId>
25
+ >
21
26
 
22
27
  export function getCapabilitiesQueryOptions<
23
28
  config extends Config,
24
29
  chainId extends config['chains'][number]['id'] | undefined = undefined,
25
- >(config: config, options: GetCapabilitiesOptions<config, chainId> = {}) {
30
+ selectData = GetCapabilitiesData<config, chainId>,
31
+ >(
32
+ config: config,
33
+ options: GetCapabilitiesOptions<config, chainId, selectData> = {},
34
+ ): GetCapabilitiesQueryOptions<config, chainId, selectData> {
26
35
  return {
27
- async queryFn({ queryKey }) {
28
- const { scopeKey: _, ...parameters } = queryKey[1]
36
+ ...options.query,
37
+ enabled: Boolean(
38
+ options.connector?.getProvider && (options.query?.enabled ?? true),
39
+ ),
40
+ queryFn: async (context) => {
41
+ if (!options.connector?.getProvider)
42
+ throw new Error('connector is required')
43
+ const [, { connectorUid: _, scopeKey: __, ...parameters }] =
44
+ context.queryKey
29
45
  const capabilities = await getCapabilities(config, parameters)
30
46
  return capabilities
31
47
  },
32
48
  queryKey: getCapabilitiesQueryKey(options),
33
- retry(failureCount, error) {
34
- if (error instanceof ConnectorNotConnectedError) return false
35
- return failureCount < 3
36
- },
37
- } as const satisfies QueryOptions<
38
- GetCapabilitiesQueryFnData<config, chainId>,
39
- GetCapabilitiesErrorType,
40
- GetCapabilitiesData<config, chainId>,
41
- GetCapabilitiesQueryKey<config, chainId>
42
- >
49
+ }
43
50
  }
44
51
 
45
52
  export type GetCapabilitiesQueryFnData<
@@ -55,7 +62,11 @@ export type GetCapabilitiesData<
55
62
  export function getCapabilitiesQueryKey<
56
63
  config extends Config,
57
64
  chainId extends config['chains'][number]['id'] | undefined = undefined,
58
- >(options: GetCapabilitiesOptions<config, chainId> = {}) {
65
+ >(
66
+ options: Compute<
67
+ ExactPartial<GetCapabilitiesParameters<config, chainId>> & ScopeKeyParameter
68
+ > = {},
69
+ ) {
59
70
  return ['capabilities', filterQueryOptions(options)] as const
60
71
  }
61
72
 
@@ -63,3 +74,14 @@ export type GetCapabilitiesQueryKey<
63
74
  config extends Config,
64
75
  chainId extends config['chains'][number]['id'] | undefined = undefined,
65
76
  > = ReturnType<typeof getCapabilitiesQueryKey<config, chainId>>
77
+
78
+ export type GetCapabilitiesQueryOptions<
79
+ config extends Config,
80
+ chainId extends config['chains'][number]['id'] | undefined = undefined,
81
+ selectData = GetCapabilitiesData<config, chainId>,
82
+ > = QueryOptions<
83
+ GetCapabilitiesQueryFnData<config, chainId>,
84
+ GetCapabilitiesErrorType,
85
+ selectData,
86
+ GetCapabilitiesQueryKey<config, chainId>
87
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetConnectorClientErrorType,
5
3
  type GetConnectorClientParameters,
@@ -8,38 +6,53 @@ import {
8
6
  } from '../actions/getConnectorClient.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 GetConnectorClientOptions<
15
14
  config extends Config,
16
15
  chainId extends config['chains'][number]['id'],
16
+ selectData = GetConnectorClientData<config, chainId>,
17
17
  > = Compute<
18
18
  ExactPartial<GetConnectorClientParameters<config, chainId>> &
19
19
  ScopeKeyParameter
20
- >
20
+ > &
21
+ Omit<
22
+ QueryParameter<
23
+ GetConnectorClientQueryFnData<config, chainId>,
24
+ GetConnectorClientErrorType,
25
+ selectData,
26
+ GetConnectorClientQueryKey<config, chainId>
27
+ >,
28
+ 'gcTime' | 'staleTime'
29
+ >
21
30
 
22
31
  export function getConnectorClientQueryOptions<
23
32
  config extends Config,
24
33
  chainId extends config['chains'][number]['id'],
25
- >(config: config, options: GetConnectorClientOptions<config, chainId> = {}) {
34
+ selectData = GetConnectorClientData<config, chainId>,
35
+ >(
36
+ config: config,
37
+ options: GetConnectorClientOptions<config, chainId, selectData> = {},
38
+ ): GetConnectorClientQueryOptions<config, chainId, selectData> {
26
39
  return {
40
+ ...options.query,
41
+ enabled: Boolean(
42
+ options.connector?.getProvider && (options.query?.enabled ?? true),
43
+ ),
27
44
  gcTime: 0,
28
- async queryFn({ queryKey }) {
29
- const { connector } = options
30
- const { connectorUid: _, scopeKey: _s, ...parameters } = queryKey[1]
45
+ queryFn: async (context) => {
46
+ const [, { connectorUid: _, scopeKey: __, ...parameters }] =
47
+ context.queryKey
31
48
  return getConnectorClient(config, {
32
49
  ...parameters,
33
- connector,
50
+ connector: options.connector,
34
51
  }) as unknown as Promise<GetConnectorClientReturnType<config, chainId>>
35
52
  },
36
53
  queryKey: getConnectorClientQueryKey(options),
37
- } as const satisfies QueryOptions<
38
- GetConnectorClientQueryFnData<config, chainId>,
39
- GetConnectorClientErrorType,
40
- GetConnectorClientData<config, chainId>,
41
- GetConnectorClientQueryKey<config, chainId>
42
- >
54
+ staleTime: Number.POSITIVE_INFINITY,
55
+ }
43
56
  }
44
57
 
45
58
  export type GetConnectorClientQueryFnData<
@@ -55,15 +68,27 @@ export type GetConnectorClientData<
55
68
  export function getConnectorClientQueryKey<
56
69
  config extends Config,
57
70
  chainId extends config['chains'][number]['id'],
58
- >(options: GetConnectorClientOptions<config, chainId> = {}) {
59
- const { connector, ...parameters } = options
60
- return [
61
- 'connectorClient',
62
- { ...filterQueryOptions(parameters), connectorUid: connector?.uid },
63
- ] as const
71
+ >(
72
+ options: Compute<
73
+ ExactPartial<GetConnectorClientParameters<config, chainId>> &
74
+ ScopeKeyParameter
75
+ > = {},
76
+ ) {
77
+ return ['connectorClient', filterQueryOptions(options)] as const
64
78
  }
65
79
 
66
80
  export type GetConnectorClientQueryKey<
67
81
  config extends Config,
68
82
  chainId extends config['chains'][number]['id'],
69
83
  > = ReturnType<typeof getConnectorClientQueryKey<config, chainId>>
84
+
85
+ export type GetConnectorClientQueryOptions<
86
+ config extends Config,
87
+ chainId extends config['chains'][number]['id'],
88
+ selectData = GetConnectorClientData<config, chainId>,
89
+ > = QueryOptions<
90
+ GetConnectorClientQueryFnData<config, chainId>,
91
+ GetConnectorClientErrorType,
92
+ selectData,
93
+ GetConnectorClientQueryKey<config, chainId>
94
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetEnsAddressErrorType,
5
3
  type GetEnsAddressParameters,
@@ -8,30 +6,38 @@ import {
8
6
  } from '../actions/getEnsAddress.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 GetEnsAddressOptions<config extends Config> = Compute<
15
- ExactPartial<GetEnsAddressParameters<config>> & ScopeKeyParameter
16
- >
13
+ export type GetEnsAddressOptions<
14
+ config extends Config,
15
+ selectData = GetEnsAddressData,
16
+ > = Compute<ExactPartial<GetEnsAddressParameters<config>> & ScopeKeyParameter> &
17
+ QueryParameter<
18
+ GetEnsAddressQueryFnData,
19
+ GetEnsAddressErrorType,
20
+ selectData,
21
+ GetEnsAddressQueryKey<config>
22
+ >
17
23
 
18
- export function getEnsAddressQueryOptions<config extends Config>(
24
+ export function getEnsAddressQueryOptions<
25
+ config extends Config,
26
+ selectData = GetEnsAddressData,
27
+ >(
19
28
  config: config,
20
- options: GetEnsAddressOptions<config> = {},
21
- ) {
29
+ options: GetEnsAddressOptions<config, selectData> = {},
30
+ ): GetEnsAddressQueryOptions<config, selectData> {
22
31
  return {
23
- async queryFn({ queryKey }) {
24
- const { name, scopeKey: _, ...parameters } = queryKey[1]
25
- if (!name) throw new Error('name is required')
26
- return getEnsAddress(config, { ...parameters, name })
32
+ ...options.query,
33
+ enabled: Boolean(options.name && (options.query?.enabled ?? true)),
34
+ queryFn: async (context) => {
35
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
36
+ if (!parameters.name) throw new Error('name is required')
37
+ return getEnsAddress(config, { ...parameters, name: parameters.name })
27
38
  },
28
39
  queryKey: getEnsAddressQueryKey(options),
29
- } as const satisfies QueryOptions<
30
- GetEnsAddressQueryFnData,
31
- GetEnsAddressErrorType,
32
- GetEnsAddressData,
33
- GetEnsAddressQueryKey<config>
34
- >
40
+ }
35
41
  }
36
42
 
37
43
  export type GetEnsAddressQueryFnData = GetEnsAddressReturnType
@@ -39,7 +45,9 @@ export type GetEnsAddressQueryFnData = GetEnsAddressReturnType
39
45
  export type GetEnsAddressData = GetEnsAddressQueryFnData
40
46
 
41
47
  export function getEnsAddressQueryKey<config extends Config>(
42
- options: GetEnsAddressOptions<config> = {},
48
+ options: Compute<
49
+ ExactPartial<GetEnsAddressParameters<config>> & ScopeKeyParameter
50
+ > = {},
43
51
  ) {
44
52
  return ['ensAddress', filterQueryOptions(options)] as const
45
53
  }
@@ -47,3 +55,13 @@ export function getEnsAddressQueryKey<config extends Config>(
47
55
  export type GetEnsAddressQueryKey<config extends Config> = ReturnType<
48
56
  typeof getEnsAddressQueryKey<config>
49
57
  >
58
+
59
+ export type GetEnsAddressQueryOptions<
60
+ config extends Config,
61
+ selectData = GetEnsAddressData,
62
+ > = QueryOptions<
63
+ GetEnsAddressQueryFnData,
64
+ GetEnsAddressErrorType,
65
+ selectData,
66
+ GetEnsAddressQueryKey<config>
67
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetEnsAvatarErrorType,
5
3
  type GetEnsAvatarParameters,
@@ -8,30 +6,38 @@ import {
8
6
  } from '../actions/getEnsAvatar.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 GetEnsAvatarOptions<config extends Config> = Compute<
15
- ExactPartial<GetEnsAvatarParameters<config>> & ScopeKeyParameter
16
- >
13
+ export type GetEnsAvatarOptions<
14
+ config extends Config,
15
+ selectData = GetEnsAvatarData,
16
+ > = Compute<ExactPartial<GetEnsAvatarParameters<config>> & ScopeKeyParameter> &
17
+ QueryParameter<
18
+ GetEnsAvatarQueryFnData,
19
+ GetEnsAvatarErrorType,
20
+ selectData,
21
+ GetEnsAvatarQueryKey<config>
22
+ >
17
23
 
18
- export function getEnsAvatarQueryOptions<config extends Config>(
24
+ export function getEnsAvatarQueryOptions<
25
+ config extends Config,
26
+ selectData = GetEnsAvatarData,
27
+ >(
19
28
  config: config,
20
- options: GetEnsAvatarOptions<config> = {},
21
- ) {
29
+ options: GetEnsAvatarOptions<config, selectData> = {},
30
+ ): GetEnsAvatarQueryOptions<config, selectData> {
22
31
  return {
23
- async queryFn({ queryKey }) {
24
- const { name, scopeKey: _, ...parameters } = queryKey[1]
25
- if (!name) throw new Error('name is required')
26
- return getEnsAvatar(config, { ...parameters, name })
32
+ ...options.query,
33
+ enabled: Boolean(options.name && (options.query?.enabled ?? true)),
34
+ queryFn: async (context) => {
35
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
36
+ if (!parameters.name) throw new Error('name is required')
37
+ return getEnsAvatar(config, { ...parameters, name: parameters.name })
27
38
  },
28
39
  queryKey: getEnsAvatarQueryKey(options),
29
- } as const satisfies QueryOptions<
30
- GetEnsAvatarQueryFnData,
31
- GetEnsAvatarErrorType,
32
- GetEnsAvatarData,
33
- GetEnsAvatarQueryKey<config>
34
- >
40
+ }
35
41
  }
36
42
 
37
43
  export type GetEnsAvatarQueryFnData = GetEnsAvatarReturnType
@@ -39,7 +45,9 @@ export type GetEnsAvatarQueryFnData = GetEnsAvatarReturnType
39
45
  export type GetEnsAvatarData = GetEnsAvatarQueryFnData
40
46
 
41
47
  export function getEnsAvatarQueryKey<config extends Config>(
42
- options: GetEnsAvatarOptions<config> = {},
48
+ options: Compute<
49
+ ExactPartial<GetEnsAvatarParameters<config>> & ScopeKeyParameter
50
+ > = {},
43
51
  ) {
44
52
  return ['ensAvatar', filterQueryOptions(options)] as const
45
53
  }
@@ -47,3 +55,13 @@ export function getEnsAvatarQueryKey<config extends Config>(
47
55
  export type GetEnsAvatarQueryKey<config extends Config> = ReturnType<
48
56
  typeof getEnsAvatarQueryKey<config>
49
57
  >
58
+
59
+ export type GetEnsAvatarQueryOptions<
60
+ config extends Config,
61
+ selectData = GetEnsAvatarData,
62
+ > = QueryOptions<
63
+ GetEnsAvatarQueryFnData,
64
+ GetEnsAvatarErrorType,
65
+ selectData,
66
+ GetEnsAvatarQueryKey<config>
67
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetEnsNameErrorType,
5
3
  type GetEnsNameParameters,
@@ -8,30 +6,38 @@ import {
8
6
  } from '../actions/getEnsName.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 GetEnsNameOptions<config extends Config> = Compute<
15
- ExactPartial<GetEnsNameParameters<config>> & ScopeKeyParameter
16
- >
13
+ export type GetEnsNameOptions<
14
+ config extends Config,
15
+ selectData = GetEnsNameData,
16
+ > = Compute<ExactPartial<GetEnsNameParameters<config>> & ScopeKeyParameter> &
17
+ QueryParameter<
18
+ GetEnsNameQueryFnData,
19
+ GetEnsNameErrorType,
20
+ selectData,
21
+ GetEnsNameQueryKey<config>
22
+ >
17
23
 
18
- export function getEnsNameQueryOptions<config extends Config>(
24
+ export function getEnsNameQueryOptions<
25
+ config extends Config,
26
+ selectData = GetEnsNameData,
27
+ >(
19
28
  config: config,
20
- options: GetEnsNameOptions<config> = {},
21
- ) {
29
+ options: GetEnsNameOptions<config, selectData> = {},
30
+ ): GetEnsNameQueryOptions<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
- return getEnsName(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
+ return getEnsName(config, { ...parameters, address: parameters.address })
27
38
  },
28
39
  queryKey: getEnsNameQueryKey(options),
29
- } as const satisfies QueryOptions<
30
- GetEnsNameQueryFnData,
31
- GetEnsNameErrorType,
32
- GetEnsNameData,
33
- GetEnsNameQueryKey<config>
34
- >
40
+ }
35
41
  }
36
42
 
37
43
  export type GetEnsNameQueryFnData = GetEnsNameReturnType
@@ -39,7 +45,9 @@ export type GetEnsNameQueryFnData = GetEnsNameReturnType
39
45
  export type GetEnsNameData = GetEnsNameQueryFnData
40
46
 
41
47
  export function getEnsNameQueryKey<config extends Config>(
42
- options: GetEnsNameOptions<config> = {},
48
+ options: Compute<
49
+ ExactPartial<GetEnsNameParameters<config>> & ScopeKeyParameter
50
+ > = {},
43
51
  ) {
44
52
  return ['ensName', filterQueryOptions(options)] as const
45
53
  }
@@ -47,3 +55,13 @@ export function getEnsNameQueryKey<config extends Config>(
47
55
  export type GetEnsNameQueryKey<config extends Config> = ReturnType<
48
56
  typeof getEnsNameQueryKey<config>
49
57
  >
58
+
59
+ export type GetEnsNameQueryOptions<
60
+ config extends Config,
61
+ selectData = GetEnsNameData,
62
+ > = QueryOptions<
63
+ GetEnsNameQueryFnData,
64
+ GetEnsNameErrorType,
65
+ selectData,
66
+ GetEnsNameQueryKey<config>
67
+ >
@@ -1,5 +1,3 @@
1
- import type { QueryOptions } from '@tanstack/query-core'
2
-
3
1
  import {
4
2
  type GetEnsResolverErrorType,
5
3
  type GetEnsResolverParameters,
@@ -8,30 +6,40 @@ import {
8
6
  } from '../actions/getEnsResolver.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 GetEnsResolverOptions<config extends Config> = Compute<
13
+ export type GetEnsResolverOptions<
14
+ config extends Config,
15
+ selectData = GetEnsResolverData,
16
+ > = Compute<
15
17
  ExactPartial<GetEnsResolverParameters<config>> & ScopeKeyParameter
16
- >
18
+ > &
19
+ QueryParameter<
20
+ GetEnsResolverQueryFnData,
21
+ GetEnsResolverErrorType,
22
+ selectData,
23
+ GetEnsResolverQueryKey<config>
24
+ >
17
25
 
18
- export function getEnsResolverQueryOptions<config extends Config>(
26
+ export function getEnsResolverQueryOptions<
27
+ config extends Config,
28
+ selectData = GetEnsResolverData,
29
+ >(
19
30
  config: config,
20
- options: GetEnsResolverOptions<config> = {},
21
- ) {
31
+ options: GetEnsResolverOptions<config, selectData> = {},
32
+ ): GetEnsResolverQueryOptions<config, selectData> {
22
33
  return {
23
- async queryFn({ queryKey }) {
24
- const { name, scopeKey: _, ...parameters } = queryKey[1]
25
- if (!name) throw new Error('name is required')
26
- return getEnsResolver(config, { ...parameters, name })
34
+ ...options.query,
35
+ enabled: Boolean(options.name && (options.query?.enabled ?? true)),
36
+ queryFn: async (context) => {
37
+ const [, { scopeKey: _, ...parameters }] = context.queryKey
38
+ if (!parameters.name) throw new Error('name is required')
39
+ return getEnsResolver(config, { ...parameters, name: parameters.name })
27
40
  },
28
41
  queryKey: getEnsResolverQueryKey(options),
29
- } as const satisfies QueryOptions<
30
- GetEnsResolverQueryFnData,
31
- GetEnsResolverErrorType,
32
- GetEnsResolverData,
33
- GetEnsResolverQueryKey<config>
34
- >
42
+ }
35
43
  }
36
44
 
37
45
  export type GetEnsResolverQueryFnData = GetEnsResolverReturnType
@@ -39,7 +47,9 @@ export type GetEnsResolverQueryFnData = GetEnsResolverReturnType
39
47
  export type GetEnsResolverData = GetEnsResolverQueryFnData
40
48
 
41
49
  export function getEnsResolverQueryKey<config extends Config>(
42
- options: GetEnsResolverOptions<config> = {},
50
+ options: Compute<
51
+ ExactPartial<GetEnsResolverParameters<config>> & ScopeKeyParameter
52
+ > = {},
43
53
  ) {
44
54
  return ['ensResolver', filterQueryOptions(options)] as const
45
55
  }
@@ -47,3 +57,13 @@ export function getEnsResolverQueryKey<config extends Config>(
47
57
  export type GetEnsResolverQueryKey<config extends Config> = ReturnType<
48
58
  typeof getEnsResolverQueryKey<config>
49
59
  >
60
+
61
+ export type GetEnsResolverQueryOptions<
62
+ config extends Config,
63
+ selectData = GetEnsResolverData,
64
+ > = QueryOptions<
65
+ GetEnsResolverQueryFnData,
66
+ GetEnsResolverErrorType,
67
+ selectData,
68
+ GetEnsResolverQueryKey<config>
69
+ >