@wagmi/core 2.0.0 → 2.0.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 (569) hide show
  1. package/README.md +13 -0
  2. package/actions/package.json +5 -0
  3. package/chains/package.json +5 -0
  4. package/dist/esm/actions/codegen/createReadContract.js +31 -0
  5. package/dist/esm/actions/codegen/createReadContract.js.map +1 -0
  6. package/dist/esm/actions/codegen/createSimulateContract.js +33 -0
  7. package/dist/esm/actions/codegen/createSimulateContract.js.map +1 -0
  8. package/dist/esm/actions/codegen/createWatchContractEvent.js +31 -0
  9. package/dist/esm/actions/codegen/createWatchContractEvent.js.map +1 -0
  10. package/dist/esm/actions/codegen/createWriteContract.js +43 -0
  11. package/dist/esm/actions/codegen/createWriteContract.js.map +1 -0
  12. package/dist/esm/actions/connect.js +15 -19
  13. package/dist/esm/actions/connect.js.map +1 -1
  14. package/dist/esm/actions/disconnect.js +10 -12
  15. package/dist/esm/actions/disconnect.js.map +1 -1
  16. package/dist/esm/actions/estimateFeesPerGas.js +3 -0
  17. package/dist/esm/actions/estimateFeesPerGas.js.map +1 -1
  18. package/dist/esm/actions/estimateGas.js +2 -2
  19. package/dist/esm/actions/estimateGas.js.map +1 -1
  20. package/dist/esm/actions/estimateMaxPriorityFeePerGas.js +12 -0
  21. package/dist/esm/actions/estimateMaxPriorityFeePerGas.js.map +1 -0
  22. package/dist/esm/actions/getAccount.js +6 -1
  23. package/dist/esm/actions/getAccount.js.map +1 -1
  24. package/dist/esm/actions/getBalance.js +14 -5
  25. package/dist/esm/actions/getBalance.js.map +1 -1
  26. package/dist/esm/actions/getBlock.js +15 -0
  27. package/dist/esm/actions/getBlock.js.map +1 -0
  28. package/dist/esm/actions/getBlockNumber.js +3 -1
  29. package/dist/esm/actions/getBlockNumber.js.map +1 -1
  30. package/dist/esm/actions/getBlockTransactionCount.js +11 -0
  31. package/dist/esm/actions/getBlockTransactionCount.js.map +1 -0
  32. package/dist/esm/actions/getChainId.js +2 -1
  33. package/dist/esm/actions/getChainId.js.map +1 -1
  34. package/dist/esm/actions/getClient.js +3 -0
  35. package/dist/esm/actions/getClient.js.map +1 -1
  36. package/dist/esm/actions/getConnections.js +2 -1
  37. package/dist/esm/actions/getConnections.js.map +1 -1
  38. package/dist/esm/actions/getConnectorClient.js +7 -3
  39. package/dist/esm/actions/getConnectorClient.js.map +1 -1
  40. package/dist/esm/actions/getConnectors.js +11 -0
  41. package/dist/esm/actions/getConnectors.js.map +1 -0
  42. package/dist/esm/actions/getEnsAddress.js +3 -1
  43. package/dist/esm/actions/getEnsAddress.js.map +1 -1
  44. package/dist/esm/actions/getEnsAvatar.js +3 -1
  45. package/dist/esm/actions/getEnsAvatar.js.map +1 -1
  46. package/dist/esm/actions/getEnsName.js +3 -1
  47. package/dist/esm/actions/getEnsName.js.map +1 -1
  48. package/dist/esm/actions/getEnsResolver.js +3 -1
  49. package/dist/esm/actions/getEnsResolver.js.map +1 -1
  50. package/dist/esm/actions/getFeeHistory.js +11 -0
  51. package/dist/esm/actions/getFeeHistory.js.map +1 -0
  52. package/dist/esm/actions/getGasPrice.js +11 -0
  53. package/dist/esm/actions/getGasPrice.js.map +1 -0
  54. package/dist/esm/actions/getPublicClient.js +3 -0
  55. package/dist/esm/actions/getPublicClient.js.map +1 -1
  56. package/dist/esm/actions/getToken.js +5 -0
  57. package/dist/esm/actions/getToken.js.map +1 -1
  58. package/dist/esm/actions/getTransaction.js +2 -1
  59. package/dist/esm/actions/getTransaction.js.map +1 -1
  60. package/dist/esm/actions/getTransactionCount.js +11 -0
  61. package/dist/esm/actions/getTransactionCount.js.map +1 -0
  62. package/dist/esm/actions/getWalletClient.js +4 -0
  63. package/dist/esm/actions/getWalletClient.js.map +1 -1
  64. package/dist/esm/actions/multicall.js +2 -0
  65. package/dist/esm/actions/multicall.js.map +1 -1
  66. package/dist/esm/actions/readContract.js +2 -1
  67. package/dist/esm/actions/readContract.js.map +1 -1
  68. package/dist/esm/actions/readContracts.js.map +1 -1
  69. package/dist/esm/actions/reconnect.js +13 -7
  70. package/dist/esm/actions/reconnect.js.map +1 -1
  71. package/dist/esm/actions/sendTransaction.js +5 -8
  72. package/dist/esm/actions/sendTransaction.js.map +1 -1
  73. package/dist/esm/actions/signMessage.js +4 -2
  74. package/dist/esm/actions/signMessage.js.map +1 -1
  75. package/dist/esm/actions/signTypedData.js +2 -2
  76. package/dist/esm/actions/signTypedData.js.map +1 -1
  77. package/dist/esm/actions/simulateContract.js +6 -7
  78. package/dist/esm/actions/simulateContract.js.map +1 -1
  79. package/dist/esm/actions/switchAccount.js +3 -2
  80. package/dist/esm/actions/switchAccount.js.map +1 -1
  81. package/dist/esm/actions/switchChain.js +5 -5
  82. package/dist/esm/actions/switchChain.js.map +1 -1
  83. package/dist/esm/actions/verifyMessage.js +11 -0
  84. package/dist/esm/actions/verifyMessage.js.map +1 -0
  85. package/dist/esm/actions/verifyTypedData.js +12 -0
  86. package/dist/esm/actions/verifyTypedData.js.map +1 -0
  87. package/dist/esm/actions/waitForTransactionReceipt.js +7 -1
  88. package/dist/esm/actions/waitForTransactionReceipt.js.map +1 -1
  89. package/dist/esm/actions/watchAccount.js +1 -1
  90. package/dist/esm/actions/watchAccount.js.map +1 -1
  91. package/dist/esm/actions/watchBlockNumber.js +2 -4
  92. package/dist/esm/actions/watchBlockNumber.js.map +1 -1
  93. package/dist/esm/actions/watchBlocks.js +26 -0
  94. package/dist/esm/actions/watchBlocks.js.map +1 -0
  95. package/dist/esm/actions/watchChainId.js +2 -1
  96. package/dist/esm/actions/watchChainId.js.map +1 -1
  97. package/dist/esm/actions/watchClient.js +2 -1
  98. package/dist/esm/actions/watchClient.js.map +1 -1
  99. package/dist/esm/actions/watchConnections.js +2 -1
  100. package/dist/esm/actions/watchConnections.js.map +1 -1
  101. package/dist/esm/actions/watchConnectors.js +10 -0
  102. package/dist/esm/actions/watchConnectors.js.map +1 -0
  103. package/dist/esm/actions/watchContractEvent.js +6 -4
  104. package/dist/esm/actions/watchContractEvent.js.map +1 -1
  105. package/dist/esm/actions/watchPendingTransactions.js +3 -4
  106. package/dist/esm/actions/watchPendingTransactions.js.map +1 -1
  107. package/dist/esm/actions/watchPublicClient.js +2 -1
  108. package/dist/esm/actions/watchPublicClient.js.map +1 -1
  109. package/dist/esm/actions/writeContract.js +9 -11
  110. package/dist/esm/actions/writeContract.js.map +1 -1
  111. package/dist/esm/connectors/createConnector.js +8 -0
  112. package/dist/esm/connectors/createConnector.js.map +1 -0
  113. package/dist/esm/connectors/injected.js +402 -0
  114. package/dist/esm/connectors/injected.js.map +1 -0
  115. package/dist/esm/connectors/mock.js +131 -0
  116. package/dist/esm/connectors/mock.js.map +1 -0
  117. package/dist/esm/createConfig.js +65 -23
  118. package/dist/esm/createConfig.js.map +1 -1
  119. package/dist/esm/createStorage.js +4 -2
  120. package/dist/esm/createStorage.js.map +1 -1
  121. package/dist/esm/errors/base.js +1 -1
  122. package/dist/esm/errors/base.js.map +1 -1
  123. package/dist/esm/errors/config.js +3 -15
  124. package/dist/esm/errors/config.js.map +1 -1
  125. package/dist/esm/errors/connector.js.map +1 -1
  126. package/dist/esm/exports/actions.js +43 -11
  127. package/dist/esm/exports/actions.js.map +1 -1
  128. package/dist/esm/exports/chains.js +1 -0
  129. package/dist/esm/exports/chains.js.map +1 -1
  130. package/dist/esm/exports/codegen.js +5 -0
  131. package/dist/esm/exports/codegen.js.map +1 -0
  132. package/dist/esm/exports/index.js +67 -18
  133. package/dist/esm/exports/index.js.map +1 -1
  134. package/dist/esm/exports/internal.js +5 -0
  135. package/dist/esm/exports/internal.js.map +1 -1
  136. package/dist/esm/exports/query.js +10 -0
  137. package/dist/esm/exports/query.js.map +1 -1
  138. package/dist/esm/hydrate.js +34 -0
  139. package/dist/esm/hydrate.js.map +1 -0
  140. package/dist/esm/query/disconnect.js +1 -0
  141. package/dist/esm/query/disconnect.js.map +1 -1
  142. package/dist/esm/query/estimateFeesPerGas.js +1 -0
  143. package/dist/esm/query/estimateFeesPerGas.js.map +1 -1
  144. package/dist/esm/query/estimateGas.js +1 -0
  145. package/dist/esm/query/estimateGas.js.map +1 -1
  146. package/dist/esm/query/estimateMaxPriorityFeePerGas.js +19 -0
  147. package/dist/esm/query/estimateMaxPriorityFeePerGas.js.map +1 -0
  148. package/dist/esm/query/getBalance.js +6 -4
  149. package/dist/esm/query/getBalance.js.map +1 -1
  150. package/dist/esm/query/getBlock.js +18 -0
  151. package/dist/esm/query/getBlock.js.map +1 -0
  152. package/dist/esm/query/getBlockNumber.js +1 -0
  153. package/dist/esm/query/getBlockNumber.js.map +1 -1
  154. package/dist/esm/query/getBlockTransactionCount.js +20 -0
  155. package/dist/esm/query/getBlockTransactionCount.js.map +1 -0
  156. package/dist/esm/query/getConnectorClient.js +2 -0
  157. package/dist/esm/query/getConnectorClient.js.map +1 -1
  158. package/dist/esm/query/getEnsAddress.js +1 -0
  159. package/dist/esm/query/getEnsAddress.js.map +1 -1
  160. package/dist/esm/query/getEnsAvatar.js +1 -0
  161. package/dist/esm/query/getEnsAvatar.js.map +1 -1
  162. package/dist/esm/query/getEnsName.js +1 -0
  163. package/dist/esm/query/getEnsName.js.map +1 -1
  164. package/dist/esm/query/getEnsResolver.js +1 -0
  165. package/dist/esm/query/getEnsResolver.js.map +1 -1
  166. package/dist/esm/query/getFeeHistory.js +27 -0
  167. package/dist/esm/query/getFeeHistory.js.map +1 -0
  168. package/dist/esm/query/getGasPrice.js +20 -0
  169. package/dist/esm/query/getGasPrice.js.map +1 -0
  170. package/dist/esm/query/getToken.js +1 -0
  171. package/dist/esm/query/getToken.js.map +1 -1
  172. package/dist/esm/query/getTransaction.js +4 -2
  173. package/dist/esm/query/getTransaction.js.map +1 -1
  174. package/dist/esm/query/getTransactionCount.js +23 -0
  175. package/dist/esm/query/getTransactionCount.js.map +1 -0
  176. package/dist/esm/query/getWalletClient.js +2 -0
  177. package/dist/esm/query/getWalletClient.js.map +1 -1
  178. package/dist/esm/query/infiniteReadContracts.js +25 -0
  179. package/dist/esm/query/infiniteReadContracts.js.map +1 -0
  180. package/dist/esm/query/readContract.js +7 -2
  181. package/dist/esm/query/readContract.js.map +1 -1
  182. package/dist/esm/query/readContracts.js +5 -3
  183. package/dist/esm/query/readContracts.js.map +1 -1
  184. package/dist/esm/query/reconnect.js +2 -0
  185. package/dist/esm/query/reconnect.js.map +1 -1
  186. package/dist/esm/query/sendTransaction.js +1 -0
  187. package/dist/esm/query/sendTransaction.js.map +1 -1
  188. package/dist/esm/query/signTypedData.js +1 -0
  189. package/dist/esm/query/signTypedData.js.map +1 -1
  190. package/dist/esm/query/simulateContract.js +6 -1
  191. package/dist/esm/query/simulateContract.js.map +1 -1
  192. package/dist/esm/query/switchAccount.js +3 -0
  193. package/dist/esm/query/switchAccount.js.map +1 -1
  194. package/dist/esm/query/switchChain.js +2 -0
  195. package/dist/esm/query/switchChain.js.map +1 -1
  196. package/dist/esm/query/types.js +2 -1
  197. package/dist/esm/query/types.js.map +1 -1
  198. package/dist/esm/query/utils.js +13 -0
  199. package/dist/esm/query/utils.js.map +1 -1
  200. package/dist/esm/query/verifyMessage.js +21 -0
  201. package/dist/esm/query/verifyMessage.js.map +1 -0
  202. package/dist/esm/query/verifyTypedData.js +38 -0
  203. package/dist/esm/query/verifyTypedData.js.map +1 -0
  204. package/dist/esm/query/waitForTransactionReceipt.js +3 -0
  205. package/dist/esm/query/waitForTransactionReceipt.js.map +1 -1
  206. package/dist/esm/query/writeContract.js +3 -0
  207. package/dist/esm/query/writeContract.js.map +1 -1
  208. package/dist/esm/transports/connector.js +37 -0
  209. package/dist/esm/transports/connector.js.map +1 -0
  210. package/dist/esm/transports/fallback.js +6 -0
  211. package/dist/esm/transports/fallback.js.map +1 -0
  212. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  213. package/dist/esm/types/chain.js +3 -1
  214. package/dist/esm/types/chain.js.map +1 -1
  215. package/dist/esm/types/properties.js +1 -1
  216. package/dist/esm/types/properties.js.map +1 -1
  217. package/dist/esm/types/register.js +1 -1
  218. package/dist/esm/types/register.js.map +1 -1
  219. package/dist/esm/utils/cookie.js +37 -0
  220. package/dist/esm/utils/cookie.js.map +1 -0
  221. package/dist/esm/version.js +1 -1
  222. package/dist/types/actions/codegen/createReadContract.d.ts +16 -0
  223. package/dist/types/actions/codegen/createReadContract.d.ts.map +1 -0
  224. package/dist/types/actions/codegen/createSimulateContract.d.ts +20 -0
  225. package/dist/types/actions/codegen/createSimulateContract.d.ts.map +1 -0
  226. package/dist/types/actions/codegen/createWatchContractEvent.d.ts +14 -0
  227. package/dist/types/actions/codegen/createWatchContractEvent.d.ts.map +1 -0
  228. package/dist/types/actions/codegen/createWriteContract.d.ts +22 -0
  229. package/dist/types/actions/codegen/createWriteContract.d.ts.map +1 -0
  230. package/dist/types/actions/connect.d.ts +10 -11
  231. package/dist/types/actions/connect.d.ts.map +1 -1
  232. package/dist/types/actions/disconnect.d.ts +7 -6
  233. package/dist/types/actions/disconnect.d.ts.map +1 -1
  234. package/dist/types/actions/estimateFeesPerGas.d.ts +7 -5
  235. package/dist/types/actions/estimateFeesPerGas.d.ts.map +1 -1
  236. package/dist/types/actions/estimateGas.d.ts +7 -5
  237. package/dist/types/actions/estimateGas.d.ts.map +1 -1
  238. package/dist/types/actions/estimateMaxPriorityFeePerGas.d.ts +11 -0
  239. package/dist/types/actions/estimateMaxPriorityFeePerGas.d.ts.map +1 -0
  240. package/dist/types/actions/getAccount.d.ts +6 -2
  241. package/dist/types/actions/getAccount.d.ts.map +1 -1
  242. package/dist/types/actions/getBalance.d.ts +7 -5
  243. package/dist/types/actions/getBalance.d.ts.map +1 -1
  244. package/dist/types/actions/getBlock.d.ts +16 -0
  245. package/dist/types/actions/getBlock.d.ts.map +1 -0
  246. package/dist/types/actions/getBlockNumber.d.ts +7 -7
  247. package/dist/types/actions/getBlockNumber.d.ts.map +1 -1
  248. package/dist/types/actions/getBlockTransactionCount.d.ts +10 -0
  249. package/dist/types/actions/getBlockTransactionCount.d.ts.map +1 -0
  250. package/dist/types/actions/getChainId.d.ts +2 -2
  251. package/dist/types/actions/getChainId.d.ts.map +1 -1
  252. package/dist/types/actions/getClient.d.ts +3 -3
  253. package/dist/types/actions/getClient.d.ts.map +1 -1
  254. package/dist/types/actions/getConnections.d.ts +2 -2
  255. package/dist/types/actions/getConnections.d.ts.map +1 -1
  256. package/dist/types/actions/getConnectorClient.d.ts +6 -5
  257. package/dist/types/actions/getConnectorClient.d.ts.map +1 -1
  258. package/dist/types/actions/getConnectors.d.ts +5 -0
  259. package/dist/types/actions/getConnectors.d.ts.map +1 -0
  260. package/dist/types/actions/getEnsAddress.d.ts +5 -5
  261. package/dist/types/actions/getEnsAddress.d.ts.map +1 -1
  262. package/dist/types/actions/getEnsAvatar.d.ts +5 -5
  263. package/dist/types/actions/getEnsAvatar.d.ts.map +1 -1
  264. package/dist/types/actions/getEnsName.d.ts +5 -5
  265. package/dist/types/actions/getEnsName.d.ts.map +1 -1
  266. package/dist/types/actions/getEnsResolver.d.ts +5 -5
  267. package/dist/types/actions/getEnsResolver.d.ts.map +1 -1
  268. package/dist/types/actions/getFeeHistory.d.ts +10 -0
  269. package/dist/types/actions/getFeeHistory.d.ts.map +1 -0
  270. package/dist/types/actions/getGasPrice.d.ts +10 -0
  271. package/dist/types/actions/getGasPrice.d.ts.map +1 -0
  272. package/dist/types/actions/getPublicClient.d.ts +3 -3
  273. package/dist/types/actions/getPublicClient.d.ts.map +1 -1
  274. package/dist/types/actions/getToken.d.ts +10 -8
  275. package/dist/types/actions/getToken.d.ts.map +1 -1
  276. package/dist/types/actions/getTransaction.d.ts +8 -6
  277. package/dist/types/actions/getTransaction.d.ts.map +1 -1
  278. package/dist/types/actions/getTransactionCount.d.ts +10 -0
  279. package/dist/types/actions/getTransactionCount.d.ts.map +1 -0
  280. package/dist/types/actions/getWalletClient.d.ts +5 -4
  281. package/dist/types/actions/getWalletClient.d.ts.map +1 -1
  282. package/dist/types/actions/multicall.d.ts +5 -4
  283. package/dist/types/actions/multicall.d.ts.map +1 -1
  284. package/dist/types/actions/readContract.d.ts +4 -4
  285. package/dist/types/actions/readContract.d.ts.map +1 -1
  286. package/dist/types/actions/readContracts.d.ts +3 -1
  287. package/dist/types/actions/readContracts.d.ts.map +1 -1
  288. package/dist/types/actions/reconnect.d.ts +5 -4
  289. package/dist/types/actions/reconnect.d.ts.map +1 -1
  290. package/dist/types/actions/sendTransaction.d.ts +7 -5
  291. package/dist/types/actions/sendTransaction.d.ts.map +1 -1
  292. package/dist/types/actions/signMessage.d.ts +7 -5
  293. package/dist/types/actions/signMessage.d.ts.map +1 -1
  294. package/dist/types/actions/signTypedData.d.ts +7 -4
  295. package/dist/types/actions/signTypedData.d.ts.map +1 -1
  296. package/dist/types/actions/simulateContract.d.ts +15 -11
  297. package/dist/types/actions/simulateContract.d.ts.map +1 -1
  298. package/dist/types/actions/switchAccount.d.ts +5 -4
  299. package/dist/types/actions/switchAccount.d.ts.map +1 -1
  300. package/dist/types/actions/switchChain.d.ts +9 -8
  301. package/dist/types/actions/switchChain.d.ts.map +1 -1
  302. package/dist/types/actions/verifyMessage.d.ts +10 -0
  303. package/dist/types/actions/verifyMessage.d.ts.map +1 -0
  304. package/dist/types/actions/verifyTypedData.d.ts +11 -0
  305. package/dist/types/actions/verifyTypedData.d.ts.map +1 -0
  306. package/dist/types/actions/waitForTransactionReceipt.d.ts +9 -6
  307. package/dist/types/actions/waitForTransactionReceipt.d.ts.map +1 -1
  308. package/dist/types/actions/watchAccount.d.ts +1 -1
  309. package/dist/types/actions/watchAccount.d.ts.map +1 -1
  310. package/dist/types/actions/watchBlockNumber.d.ts +1 -1
  311. package/dist/types/actions/watchBlockNumber.d.ts.map +1 -1
  312. package/dist/types/actions/watchBlocks.d.ts +13 -0
  313. package/dist/types/actions/watchBlocks.d.ts.map +1 -0
  314. package/dist/types/actions/watchChainId.d.ts +2 -2
  315. package/dist/types/actions/watchChainId.d.ts.map +1 -1
  316. package/dist/types/actions/watchClient.d.ts +2 -2
  317. package/dist/types/actions/watchClient.d.ts.map +1 -1
  318. package/dist/types/actions/watchConnections.d.ts +2 -2
  319. package/dist/types/actions/watchConnections.d.ts.map +1 -1
  320. package/dist/types/actions/watchConnectors.d.ts +9 -0
  321. package/dist/types/actions/watchConnectors.d.ts.map +1 -0
  322. package/dist/types/actions/watchContractEvent.d.ts +5 -5
  323. package/dist/types/actions/watchContractEvent.d.ts.map +1 -1
  324. package/dist/types/actions/watchPendingTransactions.d.ts +2 -2
  325. package/dist/types/actions/watchPendingTransactions.d.ts.map +1 -1
  326. package/dist/types/actions/watchPublicClient.d.ts +2 -2
  327. package/dist/types/actions/watchPublicClient.d.ts.map +1 -1
  328. package/dist/types/actions/writeContract.d.ts +14 -10
  329. package/dist/types/actions/writeContract.d.ts.map +1 -1
  330. package/dist/types/{createConnector.d.ts → connectors/createConnector.d.ts} +7 -4
  331. package/dist/types/connectors/createConnector.d.ts.map +1 -0
  332. package/dist/types/connectors/injected.d.ts +356 -0
  333. package/dist/types/connectors/injected.d.ts.map +1 -0
  334. package/dist/types/connectors/mock.d.ts +20 -0
  335. package/dist/types/connectors/mock.d.ts.map +1 -0
  336. package/dist/types/createConfig.d.ts +30 -20
  337. package/dist/types/createConfig.d.ts.map +1 -1
  338. package/dist/types/createStorage.d.ts +4 -4
  339. package/dist/types/createStorage.d.ts.map +1 -1
  340. package/dist/types/errors/base.d.ts +13 -7
  341. package/dist/types/errors/base.d.ts.map +1 -1
  342. package/dist/types/errors/config.d.ts +17 -9
  343. package/dist/types/errors/config.d.ts.map +1 -1
  344. package/dist/types/errors/connector.d.ts +6 -0
  345. package/dist/types/errors/connector.d.ts.map +1 -1
  346. package/dist/types/exports/actions.d.ts +56 -25
  347. package/dist/types/exports/actions.d.ts.map +1 -1
  348. package/dist/types/exports/chains.d.ts.map +1 -1
  349. package/dist/types/exports/codegen.d.ts +5 -0
  350. package/dist/types/exports/codegen.d.ts.map +1 -0
  351. package/dist/types/exports/index.d.ts +67 -29
  352. package/dist/types/exports/index.d.ts.map +1 -1
  353. package/dist/types/exports/internal.d.ts +3 -1
  354. package/dist/types/exports/internal.d.ts.map +1 -1
  355. package/dist/types/exports/query.d.ts +9 -0
  356. package/dist/types/exports/query.d.ts.map +1 -1
  357. package/dist/types/hydrate.d.ts +10 -0
  358. package/dist/types/hydrate.d.ts.map +1 -0
  359. package/dist/types/query/connect.d.ts +4 -4
  360. package/dist/types/query/connect.d.ts.map +1 -1
  361. package/dist/types/query/disconnect.d.ts +4 -4
  362. package/dist/types/query/disconnect.d.ts.map +1 -1
  363. package/dist/types/query/estimateFeesPerGas.d.ts +2 -2
  364. package/dist/types/query/estimateFeesPerGas.d.ts.map +1 -1
  365. package/dist/types/query/estimateGas.d.ts +2 -2
  366. package/dist/types/query/estimateGas.d.ts.map +1 -1
  367. package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts +27 -0
  368. package/dist/types/query/estimateMaxPriorityFeePerGas.d.ts.map +1 -0
  369. package/dist/types/query/getBalance.d.ts +2 -2
  370. package/dist/types/query/getBalance.d.ts.map +1 -1
  371. package/dist/types/query/getBlock.d.ts +19 -0
  372. package/dist/types/query/getBlock.d.ts.map +1 -0
  373. package/dist/types/query/getBlockNumber.d.ts +9 -12
  374. package/dist/types/query/getBlockNumber.d.ts.map +1 -1
  375. package/dist/types/query/getBlockTransactionCount.d.ts +18 -0
  376. package/dist/types/query/getBlockTransactionCount.d.ts.map +1 -0
  377. package/dist/types/query/getConnectorClient.d.ts +12 -3
  378. package/dist/types/query/getConnectorClient.d.ts.map +1 -1
  379. package/dist/types/query/getEnsAddress.d.ts +2 -2
  380. package/dist/types/query/getEnsAddress.d.ts.map +1 -1
  381. package/dist/types/query/getEnsAvatar.d.ts +2 -2
  382. package/dist/types/query/getEnsAvatar.d.ts.map +1 -1
  383. package/dist/types/query/getEnsName.d.ts +2 -2
  384. package/dist/types/query/getEnsName.d.ts.map +1 -1
  385. package/dist/types/query/getEnsResolver.d.ts +2 -2
  386. package/dist/types/query/getEnsResolver.d.ts.map +1 -1
  387. package/dist/types/query/getFeeHistory.d.ts +39 -0
  388. package/dist/types/query/getFeeHistory.d.ts.map +1 -0
  389. package/dist/types/query/getGasPrice.d.ts +27 -0
  390. package/dist/types/query/getGasPrice.d.ts.map +1 -0
  391. package/dist/types/query/getToken.d.ts +5 -5
  392. package/dist/types/query/getToken.d.ts.map +1 -1
  393. package/dist/types/query/getTransaction.d.ts +7 -95
  394. package/dist/types/query/getTransaction.d.ts.map +1 -1
  395. package/dist/types/query/getTransactionCount.d.ts +36 -0
  396. package/dist/types/query/getTransactionCount.d.ts.map +1 -0
  397. package/dist/types/query/getWalletClient.d.ts +27 -256
  398. package/dist/types/query/getWalletClient.d.ts.map +1 -1
  399. package/dist/types/query/infiniteReadContracts.d.ts +60 -0
  400. package/dist/types/query/infiniteReadContracts.d.ts.map +1 -0
  401. package/dist/types/query/readContract.d.ts +6 -6
  402. package/dist/types/query/readContract.d.ts.map +1 -1
  403. package/dist/types/query/readContracts.d.ts +15 -15
  404. package/dist/types/query/readContracts.d.ts.map +1 -1
  405. package/dist/types/query/reconnect.d.ts +5 -5
  406. package/dist/types/query/reconnect.d.ts.map +1 -1
  407. package/dist/types/query/sendTransaction.d.ts +4 -4
  408. package/dist/types/query/sendTransaction.d.ts.map +1 -1
  409. package/dist/types/query/signMessage.d.ts +3 -3
  410. package/dist/types/query/signMessage.d.ts.map +1 -1
  411. package/dist/types/query/signTypedData.d.ts +224 -211
  412. package/dist/types/query/signTypedData.d.ts.map +1 -1
  413. package/dist/types/query/simulateContract.d.ts +5 -5
  414. package/dist/types/query/simulateContract.d.ts.map +1 -1
  415. package/dist/types/query/switchAccount.d.ts +5 -5
  416. package/dist/types/query/switchAccount.d.ts.map +1 -1
  417. package/dist/types/query/switchChain.d.ts +6 -6
  418. package/dist/types/query/switchChain.d.ts.map +1 -1
  419. package/dist/types/query/types.d.ts +12 -5
  420. package/dist/types/query/types.d.ts.map +1 -1
  421. package/dist/types/query/utils.d.ts +1 -1
  422. package/dist/types/query/utils.d.ts.map +1 -1
  423. package/dist/types/query/verifyMessage.d.ts +42 -0
  424. package/dist/types/query/verifyMessage.d.ts.map +1 -0
  425. package/dist/types/query/verifyTypedData.d.ts +19 -0
  426. package/dist/types/query/verifyTypedData.d.ts.map +1 -0
  427. package/dist/types/query/waitForTransactionReceipt.d.ts +9 -97
  428. package/dist/types/query/waitForTransactionReceipt.d.ts.map +1 -1
  429. package/dist/types/query/writeContract.d.ts +12 -8
  430. package/dist/types/query/writeContract.d.ts.map +1 -1
  431. package/dist/types/transports/connector.d.ts +15 -0
  432. package/dist/types/transports/connector.d.ts.map +1 -0
  433. package/dist/types/transports/fallback.d.ts +4 -0
  434. package/dist/types/transports/fallback.d.ts.map +1 -0
  435. package/dist/types/types/chain.d.ts +3 -3
  436. package/dist/types/types/chain.d.ts.map +1 -1
  437. package/dist/types/types/properties.d.ts +4 -1
  438. package/dist/types/types/properties.d.ts.map +1 -1
  439. package/dist/types/types/register.d.ts +1 -1
  440. package/dist/types/types/register.d.ts.map +1 -1
  441. package/dist/types/types/utils.d.ts +9 -3
  442. package/dist/types/types/utils.d.ts.map +1 -1
  443. package/dist/types/utils/cookie.d.ts +9 -0
  444. package/dist/types/utils/cookie.d.ts.map +1 -0
  445. package/dist/types/version.d.ts +1 -1
  446. package/internal/package.json +5 -0
  447. package/package.json +25 -27
  448. package/query/package.json +5 -0
  449. package/src/actions/codegen/createReadContract.ts +100 -0
  450. package/src/actions/codegen/createSimulateContract.ts +122 -0
  451. package/src/actions/codegen/createWatchContractEvent.ts +87 -0
  452. package/src/actions/codegen/createWriteContract.ts +142 -0
  453. package/src/actions/connect.ts +32 -32
  454. package/src/actions/disconnect.ts +23 -20
  455. package/src/actions/estimateFeesPerGas.ts +7 -4
  456. package/src/actions/estimateGas.ts +16 -4
  457. package/src/actions/estimateMaxPriorityFeePerGas.ts +41 -0
  458. package/src/actions/getAccount.ts +11 -2
  459. package/src/actions/getBalance.ts +19 -8
  460. package/src/actions/getBlock.ts +71 -0
  461. package/src/actions/getBlockNumber.ts +14 -9
  462. package/src/actions/getBlockTransactionCount.ts +36 -0
  463. package/src/actions/getChainId.ts +2 -2
  464. package/src/actions/getClient.ts +3 -3
  465. package/src/actions/getConnections.ts +2 -2
  466. package/src/actions/getConnectorClient.ts +18 -9
  467. package/src/actions/getConnectors.ts +14 -0
  468. package/src/actions/getEnsAddress.ts +5 -4
  469. package/src/actions/getEnsAvatar.ts +5 -4
  470. package/src/actions/getEnsName.ts +5 -4
  471. package/src/actions/getEnsResolver.ts +5 -4
  472. package/src/actions/getFeeHistory.ts +32 -0
  473. package/src/actions/getGasPrice.ts +31 -0
  474. package/src/actions/getPublicClient.ts +3 -3
  475. package/src/actions/getToken.ts +10 -9
  476. package/src/actions/getTransaction.ts +8 -5
  477. package/src/actions/getTransactionCount.ts +31 -0
  478. package/src/actions/getWalletClient.ts +13 -4
  479. package/src/actions/multicall.ts +6 -3
  480. package/src/actions/readContract.ts +4 -3
  481. package/src/actions/readContracts.ts +4 -4
  482. package/src/actions/reconnect.ts +15 -10
  483. package/src/actions/sendTransaction.ts +20 -13
  484. package/src/actions/signMessage.ts +17 -5
  485. package/src/actions/signTypedData.ts +22 -5
  486. package/src/actions/simulateContract.ts +38 -31
  487. package/src/actions/switchAccount.ts +12 -4
  488. package/src/actions/switchChain.ts +27 -16
  489. package/src/actions/verifyMessage.ts +28 -0
  490. package/src/actions/verifyTypedData.ts +38 -0
  491. package/src/actions/waitForTransactionReceipt.ts +22 -16
  492. package/src/actions/watchAccount.ts +2 -1
  493. package/src/actions/watchBlockNumber.ts +4 -6
  494. package/src/actions/watchBlocks.ts +85 -0
  495. package/src/actions/watchChainId.ts +2 -2
  496. package/src/actions/watchClient.ts +2 -2
  497. package/src/actions/watchConnections.ts +2 -2
  498. package/src/actions/watchConnectors.ts +22 -0
  499. package/src/actions/watchContractEvent.ts +9 -10
  500. package/src/actions/watchPendingTransactions.ts +3 -5
  501. package/src/actions/watchPublicClient.ts +2 -2
  502. package/src/actions/writeContract.ts +52 -44
  503. package/src/{createConnector.ts → connectors/createConnector.ts} +12 -16
  504. package/src/connectors/injected.ts +556 -0
  505. package/src/connectors/mock.ts +176 -0
  506. package/src/createConfig.ts +153 -76
  507. package/src/createStorage.ts +7 -6
  508. package/src/errors/base.ts +9 -6
  509. package/src/errors/config.ts +20 -18
  510. package/src/errors/connector.ts +6 -0
  511. package/src/exports/actions.ts +121 -29
  512. package/src/exports/chains.ts +1 -0
  513. package/src/exports/codegen.ts +7 -0
  514. package/src/exports/index.ts +177 -47
  515. package/src/exports/internal.ts +12 -0
  516. package/src/exports/query.ts +82 -0
  517. package/src/hydrate.ts +42 -0
  518. package/src/query/connect.ts +4 -4
  519. package/src/query/disconnect.ts +5 -5
  520. package/src/query/estimateFeesPerGas.ts +4 -4
  521. package/src/query/estimateGas.ts +5 -5
  522. package/src/query/estimateMaxPriorityFeePerGas.ts +51 -0
  523. package/src/query/getBalance.ts +9 -17
  524. package/src/query/getBlock.ts +84 -0
  525. package/src/query/getBlockNumber.ts +22 -17
  526. package/src/query/getBlockTransactionCount.ts +62 -0
  527. package/src/query/getConnectorClient.ts +5 -4
  528. package/src/query/getEnsAddress.ts +4 -4
  529. package/src/query/getEnsAvatar.ts +4 -4
  530. package/src/query/getEnsName.ts +4 -4
  531. package/src/query/getEnsResolver.ts +4 -4
  532. package/src/query/getFeeHistory.ts +69 -0
  533. package/src/query/getGasPrice.ts +54 -0
  534. package/src/query/getToken.ts +4 -4
  535. package/src/query/getTransaction.ts +7 -13
  536. package/src/query/getTransactionCount.ts +55 -0
  537. package/src/query/getWalletClient.ts +5 -4
  538. package/src/query/infiniteReadContracts.ts +129 -0
  539. package/src/query/readContract.ts +14 -12
  540. package/src/query/readContracts.ts +16 -16
  541. package/src/query/reconnect.ts +6 -6
  542. package/src/query/sendTransaction.ts +5 -5
  543. package/src/query/signMessage.ts +4 -4
  544. package/src/query/signTypedData.ts +20 -8
  545. package/src/query/simulateContract.ts +12 -8
  546. package/src/query/switchAccount.ts +7 -7
  547. package/src/query/switchChain.ts +6 -6
  548. package/src/query/types.ts +63 -34
  549. package/src/query/utils.ts +16 -1
  550. package/src/query/verifyMessage.ts +54 -0
  551. package/src/query/verifyTypedData.ts +81 -0
  552. package/src/query/waitForTransactionReceipt.ts +6 -6
  553. package/src/query/writeContract.ts +39 -10
  554. package/src/transports/connector.ts +87 -0
  555. package/src/transports/fallback.ts +10 -0
  556. package/src/types/chain.ts +5 -4
  557. package/src/types/properties.ts +3 -1
  558. package/src/types/register.ts +1 -1
  559. package/src/types/utils.ts +10 -2
  560. package/src/utils/cookie.ts +34 -0
  561. package/src/version.ts +1 -1
  562. package/dist/esm/createConnector.js +0 -8
  563. package/dist/esm/createConnector.js.map +0 -1
  564. package/dist/esm/utils/assertActiveChain.js +0 -14
  565. package/dist/esm/utils/assertActiveChain.js.map +0 -1
  566. package/dist/types/createConnector.d.ts.map +0 -1
  567. package/dist/types/utils/assertActiveChain.d.ts +0 -8
  568. package/dist/types/utils/assertActiveChain.d.ts.map +0 -1
  569. package/src/utils/assertActiveChain.ts +0 -26
@@ -0,0 +1,54 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type GetGasPriceErrorType,
5
+ type GetGasPriceParameters,
6
+ type GetGasPriceReturnType,
7
+ getGasPrice,
8
+ } from '../actions/getGasPrice.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import { type ScopeKeyParameter } from '../types/properties.js'
11
+ import { type Evaluate, type ExactPartial } from '../types/utils.js'
12
+ import { filterQueryOptions } from './utils.js'
13
+
14
+ export type GetGasPriceOptions<
15
+ config extends Config,
16
+ chainId extends config['chains'][number]['id'],
17
+ > = Evaluate<
18
+ ExactPartial<GetGasPriceParameters<config, chainId>> & ScopeKeyParameter
19
+ >
20
+
21
+ export function getGasPriceQueryOptions<
22
+ config extends Config,
23
+ chainId extends config['chains'][number]['id'],
24
+ >(config: config, options: GetGasPriceOptions<config, chainId> = {}) {
25
+ return {
26
+ async queryFn({ queryKey }) {
27
+ const { scopeKey: _, ...parameters } = queryKey[1]
28
+ const gasPrice = await getGasPrice(config, parameters)
29
+ return gasPrice ?? null
30
+ },
31
+ queryKey: getGasPriceQueryKey(options),
32
+ } as const satisfies QueryOptions<
33
+ GetGasPriceQueryFnData,
34
+ GetGasPriceErrorType,
35
+ GetGasPriceData,
36
+ GetGasPriceQueryKey<config, chainId>
37
+ >
38
+ }
39
+
40
+ export type GetGasPriceQueryFnData = GetGasPriceReturnType
41
+
42
+ export type GetGasPriceData = GetGasPriceQueryFnData
43
+
44
+ export function getGasPriceQueryKey<
45
+ config extends Config,
46
+ chainId extends config['chains'][number]['id'],
47
+ >(options: GetGasPriceOptions<config, chainId> = {}) {
48
+ return ['gasPrice', filterQueryOptions(options)] as const
49
+ }
50
+
51
+ export type GetGasPriceQueryKey<
52
+ config extends Config,
53
+ chainId extends config['chains'][number]['id'],
54
+ > = ReturnType<typeof getGasPriceQueryKey<config, chainId>>
@@ -1,14 +1,14 @@
1
1
  import { type QueryOptions } from '@tanstack/query-core'
2
2
 
3
3
  import {
4
- type GetTokenError,
4
+ type GetTokenErrorType,
5
5
  type GetTokenParameters,
6
6
  type GetTokenReturnType,
7
7
  getToken,
8
8
  } from '../actions/getToken.js'
9
- import type { Config } from '../createConfig.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import type { ScopeKeyParameter } from '../types/properties.js'
10
11
  import type { Evaluate, ExactPartial } from '../types/utils.js'
11
- import type { ScopeKeyParameter } from './types.js'
12
12
  import { filterQueryOptions } from './utils.js'
13
13
 
14
14
  export type GetTokenOptions<config extends Config> = Evaluate<
@@ -28,7 +28,7 @@ export function getTokenQueryOptions<config extends Config>(
28
28
  queryKey: getTokenQueryKey(options),
29
29
  } as const satisfies QueryOptions<
30
30
  GetTokenQueryFnData,
31
- GetTokenError,
31
+ GetTokenErrorType,
32
32
  GetTokenData,
33
33
  GetTokenQueryKey<config>
34
34
  >
@@ -1,14 +1,14 @@
1
1
  import { type QueryOptions } from '@tanstack/query-core'
2
2
 
3
3
  import {
4
- type GetTransactionError,
4
+ type GetTransactionErrorType,
5
5
  type GetTransactionParameters,
6
6
  type GetTransactionReturnType,
7
7
  getTransaction,
8
8
  } from '../actions/getTransaction.js'
9
- import type { Config } from '../createConfig.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import type { ScopeKeyParameter } from '../types/properties.js'
10
11
  import type { Evaluate, ExactPartial } from '../types/utils.js'
11
- import type { ScopeKeyParameter } from './types.js'
12
12
  import { filterQueryOptions } from './utils.js'
13
13
 
14
14
  export type GetTransactionOptions<
@@ -24,29 +24,23 @@ export function getTransactionQueryOptions<
24
24
  >(config: config, options: GetTransactionOptions<config, chainId> = {}) {
25
25
  return {
26
26
  async queryFn({ queryKey }) {
27
- const {
28
- blockHash,
29
- blockNumber,
30
- blockTag,
31
- hash,
32
- index,
33
- scopeKey: _,
34
- } = queryKey[1]
27
+ const { blockHash, blockNumber, blockTag, hash, index } = queryKey[1]
35
28
  if (!blockHash && !blockNumber && !blockTag && !hash)
36
29
  throw new Error('blockHash, blockNumber, blockTag, or hash is required')
37
30
  if (!hash && !index)
38
31
  throw new Error(
39
32
  'index is required for blockHash, blockNumber, or blockTag',
40
33
  )
34
+ const { scopeKey: _, ...rest } = queryKey[1]
41
35
  return getTransaction(
42
36
  config,
43
- queryKey[1] as GetTransactionParameters,
37
+ rest as GetTransactionParameters,
44
38
  ) as unknown as Promise<GetTransactionQueryFnData<config, chainId>>
45
39
  },
46
40
  queryKey: getTransactionQueryKey(options),
47
41
  } as const satisfies QueryOptions<
48
42
  GetTransactionQueryFnData<config, chainId>,
49
- GetTransactionError,
43
+ GetTransactionErrorType,
50
44
  GetTransactionData<config, chainId>,
51
45
  GetTransactionQueryKey<config, chainId>
52
46
  >
@@ -0,0 +1,55 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type GetTransactionCountErrorType,
5
+ type GetTransactionCountParameters,
6
+ type GetTransactionCountReturnType,
7
+ getTransactionCount,
8
+ } from '../actions/getTransactionCount.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import type { ScopeKeyParameter } from '../types/properties.js'
11
+ import type { Evaluate, PartialBy } from '../types/utils.js'
12
+ import { filterQueryOptions } from './utils.js'
13
+
14
+ export type GetTransactionCountOptions<config extends Config> = Evaluate<
15
+ PartialBy<GetTransactionCountParameters<config>, 'address'> &
16
+ ScopeKeyParameter
17
+ >
18
+
19
+ export function getTransactionCountQueryOptions<config extends Config>(
20
+ config: config,
21
+ options: GetTransactionCountOptions<config> = {},
22
+ ) {
23
+ return {
24
+ async queryFn({ queryKey }) {
25
+ const { address, scopeKey: _, ...parameters } = queryKey[1]
26
+ if (!address) throw new Error('address is required')
27
+ const transactionCount = await getTransactionCount(config, {
28
+ ...(parameters as GetTransactionCountParameters),
29
+ address,
30
+ })
31
+ return transactionCount ?? null
32
+ },
33
+ queryKey: getTransactionCountQueryKey(options),
34
+ } as const satisfies QueryOptions<
35
+ GetTransactionCountQueryFnData,
36
+ GetTransactionCountErrorType,
37
+ GetTransactionCountData,
38
+ GetTransactionCountQueryKey<config>
39
+ >
40
+ }
41
+
42
+ export type GetTransactionCountQueryFnData =
43
+ Evaluate<GetTransactionCountReturnType>
44
+
45
+ export type GetTransactionCountData = GetTransactionCountQueryFnData
46
+
47
+ export function getTransactionCountQueryKey<config extends Config>(
48
+ options: GetTransactionCountOptions<config> = {},
49
+ ) {
50
+ return ['transactionCount', filterQueryOptions(options)] as const
51
+ }
52
+
53
+ export type GetTransactionCountQueryKey<config extends Config> = ReturnType<
54
+ typeof getTransactionCountQueryKey<config>
55
+ >
@@ -1,14 +1,14 @@
1
1
  import { type QueryOptions } from '@tanstack/query-core'
2
2
 
3
3
  import {
4
- type GetWalletClientError,
4
+ type GetWalletClientErrorType,
5
5
  type GetWalletClientParameters,
6
6
  type GetWalletClientReturnType,
7
7
  getWalletClient,
8
8
  } from '../actions/getWalletClient.js'
9
- import type { Config } from '../createConfig.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import type { ScopeKeyParameter } from '../types/properties.js'
10
11
  import type { Evaluate, ExactPartial } from '../types/utils.js'
11
- import type { ScopeKeyParameter } from './types.js'
12
12
  import { filterQueryOptions } from './utils.js'
13
13
 
14
14
  export type GetWalletClientOptions<
@@ -23,6 +23,7 @@ export function getWalletClientQueryOptions<
23
23
  chainId extends config['chains'][number]['id'],
24
24
  >(config: config, options: GetWalletClientOptions<config, chainId> = {}) {
25
25
  return {
26
+ gcTime: 0,
26
27
  async queryFn({ queryKey }) {
27
28
  const { connector } = options
28
29
  const { connectorUid: _, scopeKey: _s, ...parameters } = queryKey[1]
@@ -31,7 +32,7 @@ export function getWalletClientQueryOptions<
31
32
  queryKey: getWalletClientQueryKey(options),
32
33
  } as const satisfies QueryOptions<
33
34
  GetWalletClientQueryFnData<config, chainId>,
34
- GetWalletClientError,
35
+ GetWalletClientErrorType,
35
36
  GetWalletClientData<config, chainId>,
36
37
  GetWalletClientQueryKey<config, chainId>
37
38
  >
@@ -0,0 +1,129 @@
1
+ import type { ContractFunctionParameters } from 'viem'
2
+ import {
3
+ type ReadContractsErrorType,
4
+ type ReadContractsParameters,
5
+ type ReadContractsReturnType,
6
+ readContracts,
7
+ } from '../actions/readContracts.js'
8
+ import { type Config } from '../createConfig.js'
9
+ import {
10
+ type ChainIdParameter,
11
+ type ScopeKeyParameter,
12
+ } from '../types/properties.js'
13
+ import { type Omit } from '../types/utils.js'
14
+ import { type InfiniteQueryOptions } from './types.js'
15
+ import { filterQueryOptions } from './utils.js'
16
+
17
+ export type InfiniteReadContractsOptions<
18
+ contracts extends readonly unknown[],
19
+ allowFailure extends boolean,
20
+ pageParam,
21
+ config extends Config,
22
+ > = {
23
+ cacheKey: string
24
+ contracts(
25
+ pageParam: pageParam,
26
+ ): ReadContractsParameters<contracts, allowFailure, config>['contracts']
27
+ } & Omit<
28
+ ReadContractsParameters<contracts, allowFailure, config>,
29
+ 'contracts'
30
+ > &
31
+ ScopeKeyParameter
32
+
33
+ export function infiniteReadContractsQueryOptions<
34
+ config extends Config,
35
+ const contracts extends readonly ContractFunctionParameters[],
36
+ allowFailure extends boolean = true,
37
+ pageParam = unknown,
38
+ >(
39
+ config: config,
40
+ options: InfiniteReadContractsOptions<
41
+ contracts,
42
+ allowFailure,
43
+ pageParam,
44
+ config
45
+ > &
46
+ ChainIdParameter<config> &
47
+ RequiredPageParamsParameters<contracts, allowFailure, pageParam>,
48
+ ) {
49
+ return {
50
+ ...options.query,
51
+ async queryFn({ pageParam, queryKey }) {
52
+ const { contracts } = options
53
+ const { cacheKey: _, scopeKey: _s, ...parameters } = queryKey[1]
54
+ return (await readContracts(config, {
55
+ ...parameters,
56
+ contracts: contracts(
57
+ pageParam,
58
+ ) as readonly ContractFunctionParameters[],
59
+ })) as ReadContractsReturnType<contracts, allowFailure>
60
+ },
61
+ queryKey: infiniteReadContractsQueryKey(options),
62
+ } as const satisfies InfiniteQueryOptions<
63
+ InfiniteReadContractsQueryFnData<contracts, allowFailure>,
64
+ ReadContractsErrorType,
65
+ InfiniteReadContractsData<contracts, allowFailure>,
66
+ InfiniteReadContractsData<contracts, allowFailure>,
67
+ InfiniteReadContractsQueryKey<contracts, allowFailure, pageParam, config>,
68
+ pageParam
69
+ >
70
+ }
71
+
72
+ type RequiredPageParamsParameters<
73
+ contracts extends readonly unknown[],
74
+ allowFailure extends boolean,
75
+ pageParam,
76
+ > = {
77
+ query: {
78
+ initialPageParam: pageParam
79
+ getNextPageParam(
80
+ lastPage: InfiniteReadContractsQueryFnData<contracts, allowFailure>,
81
+ allPages: InfiniteReadContractsQueryFnData<contracts, allowFailure>[],
82
+ lastPageParam: pageParam,
83
+ allPageParams: pageParam[],
84
+ ): pageParam | undefined | null
85
+ }
86
+ }
87
+
88
+ export type InfiniteReadContractsQueryFnData<
89
+ contracts extends readonly unknown[],
90
+ allowFailure extends boolean,
91
+ > = ReadContractsReturnType<contracts, allowFailure>
92
+
93
+ export type InfiniteReadContractsData<
94
+ contracts extends readonly unknown[],
95
+ allowFailure extends boolean,
96
+ > = InfiniteReadContractsQueryFnData<contracts, allowFailure>
97
+
98
+ export function infiniteReadContractsQueryKey<
99
+ config extends Config,
100
+ const contracts extends readonly unknown[],
101
+ allowFailure extends boolean,
102
+ pageParam,
103
+ >(
104
+ options: InfiniteReadContractsOptions<
105
+ contracts,
106
+ allowFailure,
107
+ pageParam,
108
+ config
109
+ > &
110
+ ChainIdParameter<config> &
111
+ RequiredPageParamsParameters<contracts, allowFailure, pageParam>,
112
+ ) {
113
+ const { contracts: _, query: _q, ...parameters } = options
114
+ return ['infiniteReadContracts', filterQueryOptions(parameters)] as const
115
+ }
116
+
117
+ export type InfiniteReadContractsQueryKey<
118
+ contracts extends readonly unknown[],
119
+ allowFailure extends boolean,
120
+ pageParam,
121
+ config extends Config,
122
+ > = ReturnType<
123
+ typeof infiniteReadContractsQueryKey<
124
+ config,
125
+ contracts,
126
+ allowFailure,
127
+ pageParam
128
+ >
129
+ >
@@ -6,14 +6,14 @@ import {
6
6
  } from 'viem'
7
7
 
8
8
  import {
9
- type ReadContractError,
9
+ type ReadContractErrorType,
10
10
  type ReadContractParameters,
11
11
  type ReadContractReturnType,
12
12
  readContract,
13
13
  } from '../actions/readContract.js'
14
- import type { Config } from '../createConfig.js'
15
- import type { UnionPartial } from '../types/utils.js'
16
- import type { ScopeKeyParameter } from './types.js'
14
+ import { type Config } from '../createConfig.js'
15
+ import { type ScopeKeyParameter } from '../types/properties.js'
16
+ import { type UnionPartial } from '../types/utils.js'
17
17
  import { filterQueryOptions } from './utils.js'
18
18
 
19
19
  export type ReadContractOptions<
@@ -30,10 +30,12 @@ export function readContractQueryOptions<
30
30
  functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
31
31
  args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
32
32
  >(
33
- config: Config,
33
+ config: config,
34
34
  options: ReadContractOptions<abi, functionName, args, config> = {} as any,
35
35
  ) {
36
36
  return {
37
+ // TODO: Support `signal` once Viem actions allow passthrough
38
+ // https://tkdodo.eu/blog/why-you-want-react-query#bonus-cancellation
37
39
  async queryFn({ queryKey }) {
38
40
  const abi = options.abi as Abi
39
41
  if (!abi) throw new Error('abi is required')
@@ -41,20 +43,20 @@ export function readContractQueryOptions<
41
43
  if (!address) throw new Error('address is required')
42
44
  if (!functionName) throw new Error('functionName is required')
43
45
  const args = parameters.args as readonly unknown[]
44
- return (await readContract(config, {
46
+ return readContract(config, {
45
47
  abi,
46
48
  address,
47
49
  functionName,
48
50
  args,
49
51
  ...parameters,
50
- })) as ReadContractData<abi, functionName, args>
52
+ }) as Promise<ReadContractData<abi, functionName, args>>
51
53
  },
52
54
  queryKey: readContractQueryKey(options),
53
55
  } as const satisfies QueryOptions<
54
56
  ReadContractQueryFnData<abi, functionName, args>,
55
- ReadContractError,
57
+ ReadContractErrorType,
56
58
  ReadContractData<abi, functionName, args>,
57
- ReadContractQueryKey<config, abi, functionName, args>
59
+ ReadContractQueryKey<abi, functionName, args, config>
58
60
  >
59
61
  }
60
62
 
@@ -71,18 +73,18 @@ export type ReadContractData<
71
73
  > = ReadContractQueryFnData<abi, functionName, args>
72
74
 
73
75
  export function readContractQueryKey<
76
+ config extends Config,
74
77
  const abi extends Abi | readonly unknown[],
75
78
  functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
76
79
  args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
77
- config extends Config,
78
80
  >(options: ReadContractOptions<abi, functionName, args, config> = {} as any) {
79
81
  const { abi: _, ...rest } = options
80
82
  return ['readContract', filterQueryOptions(rest)] as const
81
83
  }
82
84
 
83
85
  export type ReadContractQueryKey<
84
- config extends Config,
85
86
  abi extends Abi | readonly unknown[],
86
87
  functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
87
88
  args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
88
- > = ReturnType<typeof readContractQueryKey<abi, functionName, args, config>>
89
+ config extends Config,
90
+ > = ReturnType<typeof readContractQueryKey<config, abi, functionName, args>>
@@ -5,20 +5,20 @@ import {
5
5
  } from 'viem'
6
6
 
7
7
  import {
8
- type ReadContractsError,
8
+ type ReadContractsErrorType,
9
9
  type ReadContractsReturnType,
10
10
  readContracts,
11
11
  } from '../actions/readContracts.js'
12
- import type { Config } from '../createConfig.js'
13
- import type { ChainIdParameter } from '../types/properties.js'
12
+ import { type Config } from '../createConfig.js'
13
+ import { type ChainIdParameter } from '../types/properties.js'
14
+ import type { ScopeKeyParameter } from '../types/properties.js'
14
15
  import type { ExactPartial } from '../types/utils.js'
15
- import type { ScopeKeyParameter } from './types.js'
16
16
  import { filterQueryOptions } from './utils.js'
17
17
 
18
18
  export type ReadContractsOptions<
19
- config extends Config,
20
19
  contracts extends readonly unknown[],
21
20
  allowFailure extends boolean,
21
+ config extends Config,
22
22
  > = ExactPartial<
23
23
  viem_MulticallParameters<
24
24
  contracts,
@@ -33,8 +33,8 @@ export function readContractsQueryOptions<
33
33
  const contracts extends readonly unknown[],
34
34
  allowFailure extends boolean = true,
35
35
  >(
36
- config: Config,
37
- options: ReadContractsOptions<config, contracts, allowFailure> &
36
+ config: config,
37
+ options: ReadContractsOptions<contracts, allowFailure, config> &
38
38
  ChainIdParameter<config> = {},
39
39
  ) {
40
40
  return {
@@ -47,17 +47,17 @@ export function readContractsQueryOptions<
47
47
  contracts.push({ ...contract, abi })
48
48
  }
49
49
  const { scopeKey: _, ...parameters } = queryKey[1]
50
- return (await readContracts(config, {
50
+ return readContracts(config, {
51
51
  ...parameters,
52
52
  contracts,
53
- })) as ReadContractsData<contracts, allowFailure>
53
+ }) as Promise<ReadContractsReturnType<contracts, allowFailure>>
54
54
  },
55
- queryKey: readContractsQueryKey(options as any),
55
+ queryKey: readContractsQueryKey(options),
56
56
  } as const satisfies QueryOptions<
57
57
  ReadContractsQueryFnData<contracts, allowFailure>,
58
- ReadContractsError,
58
+ ReadContractsErrorType,
59
59
  ReadContractsData<contracts, allowFailure>,
60
- ReadContractsQueryKey<config, contracts, allowFailure>
60
+ ReadContractsQueryKey<contracts, allowFailure, config>
61
61
  >
62
62
  }
63
63
 
@@ -76,14 +76,14 @@ export function readContractsQueryKey<
76
76
  const contracts extends readonly unknown[],
77
77
  allowFailure extends boolean,
78
78
  >(
79
- options: ReadContractsOptions<config, contracts, allowFailure> &
79
+ options: ReadContractsOptions<contracts, allowFailure, config> &
80
80
  ChainIdParameter<config> = {},
81
81
  ) {
82
82
  const contracts = []
83
83
  for (const contract of (options.contracts ??
84
- []) as ContractFunctionParameters[]) {
84
+ []) as (ContractFunctionParameters & { chainId: number })[]) {
85
85
  const { abi: _, ...rest } = contract
86
- contracts.push({ ...rest, chainId: options.chainId })
86
+ contracts.push({ ...rest, chainId: rest.chainId ?? options.chainId })
87
87
  }
88
88
  return [
89
89
  'readContracts',
@@ -92,7 +92,7 @@ export function readContractsQueryKey<
92
92
  }
93
93
 
94
94
  export type ReadContractsQueryKey<
95
- config extends Config,
96
95
  contracts extends readonly unknown[],
97
96
  allowFailure extends boolean,
97
+ config extends Config,
98
98
  > = ReturnType<typeof readContractsQueryKey<config, contracts, allowFailure>>
@@ -1,13 +1,13 @@
1
1
  import type { MutationOptions } from '@tanstack/query-core'
2
2
 
3
3
  import {
4
- type ReconnectError,
4
+ type ReconnectErrorType,
5
5
  type ReconnectParameters,
6
6
  type ReconnectReturnType,
7
7
  reconnect,
8
8
  } from '../actions/reconnect.js'
9
- import type { Config } from '../createConfig.js'
10
- import type { Evaluate } from '../types/utils.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import { type Evaluate } from '../types/utils.js'
11
11
  import type { Mutate, MutateAsync } from './types.js'
12
12
 
13
13
  export function reconnectMutationOptions(config: Config) {
@@ -18,7 +18,7 @@ export function reconnectMutationOptions(config: Config) {
18
18
  mutationKey: ['reconnect'],
19
19
  } as const satisfies MutationOptions<
20
20
  ReconnectData,
21
- ReconnectError,
21
+ ReconnectErrorType,
22
22
  ReconnectVariables
23
23
  >
24
24
  }
@@ -29,14 +29,14 @@ export type ReconnectVariables = ReconnectParameters | undefined
29
29
 
30
30
  export type ReconnectMutate<context = unknown> = Mutate<
31
31
  ReconnectData,
32
- ReconnectError,
32
+ ReconnectErrorType,
33
33
  ReconnectVariables,
34
34
  context
35
35
  >
36
36
 
37
37
  export type ReconnectMutateAsync<context = unknown> = MutateAsync<
38
38
  ReconnectData,
39
- ReconnectError,
39
+ ReconnectErrorType,
40
40
  ReconnectVariables,
41
41
  context
42
42
  >
@@ -1,13 +1,13 @@
1
1
  import type { MutateOptions, MutationOptions } from '@tanstack/query-core'
2
2
 
3
3
  import {
4
- type SendTransactionError,
4
+ type SendTransactionErrorType,
5
5
  type SendTransactionParameters,
6
6
  type SendTransactionReturnType,
7
7
  sendTransaction,
8
8
  } from '../actions/sendTransaction.js'
9
9
  import { type Config } from '../createConfig.js'
10
- import type { Evaluate } from '../types/utils.js'
10
+ import { type Evaluate } from '../types/utils.js'
11
11
 
12
12
  export function sendTransactionMutationOptions<config extends Config>(
13
13
  config: config,
@@ -19,7 +19,7 @@ export function sendTransactionMutationOptions<config extends Config>(
19
19
  mutationKey: ['sendTransaction'],
20
20
  } as const satisfies MutationOptions<
21
21
  SendTransactionData,
22
- SendTransactionError,
22
+ SendTransactionErrorType,
23
23
  SendTransactionVariables<config, config['chains'][number]['id']>
24
24
  >
25
25
  }
@@ -39,7 +39,7 @@ export type SendTransactionMutate<config extends Config, context = unknown> = <
39
39
  | Evaluate<
40
40
  MutateOptions<
41
41
  SendTransactionData,
42
- SendTransactionError,
42
+ SendTransactionErrorType,
43
43
  Evaluate<SendTransactionVariables<config, chainId>>,
44
44
  context
45
45
  >
@@ -56,7 +56,7 @@ export type SendTransactionMutateAsync<
56
56
  | Evaluate<
57
57
  MutateOptions<
58
58
  SendTransactionData,
59
- SendTransactionError,
59
+ SendTransactionErrorType,
60
60
  Evaluate<SendTransactionVariables<config, chainId>>,
61
61
  context
62
62
  >
@@ -1,7 +1,7 @@
1
1
  import type { MutationOptions } from '@tanstack/query-core'
2
2
 
3
3
  import {
4
- type SignMessageError,
4
+ type SignMessageErrorType,
5
5
  type SignMessageParameters,
6
6
  type SignMessageReturnType,
7
7
  signMessage,
@@ -18,7 +18,7 @@ export function signMessageMutationOptions(config: Config) {
18
18
  mutationKey: ['signMessage'],
19
19
  } as const satisfies MutationOptions<
20
20
  SignMessageData,
21
- SignMessageError,
21
+ SignMessageErrorType,
22
22
  SignMessageVariables
23
23
  >
24
24
  }
@@ -29,14 +29,14 @@ export type SignMessageVariables = Evaluate<SignMessageParameters>
29
29
 
30
30
  export type SignMessageMutate<context = unknown> = Mutate<
31
31
  SignMessageData,
32
- SignMessageError,
32
+ SignMessageErrorType,
33
33
  SignMessageVariables,
34
34
  context
35
35
  >
36
36
 
37
37
  export type SignMessageMutateAsync<context = unknown> = MutateAsync<
38
38
  SignMessageData,
39
- SignMessageError,
39
+ SignMessageErrorType,
40
40
  SignMessageVariables,
41
41
  context
42
42
  >