@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
@@ -1,7 +1,11 @@
1
- import type { Address } from 'viem'
1
+ import { type Address } from 'viem'
2
2
 
3
3
  import { type Config, type Connector } from '../createConfig.js'
4
- import { ConnectorNotConnectedError } from '../errors/config.js'
4
+ import type { BaseError, ErrorType } from '../errors/base.js'
5
+ import {
6
+ ConnectorNotConnectedError,
7
+ type ConnectorNotConnectedErrorType,
8
+ } from '../errors/config.js'
5
9
 
6
10
  export type SwitchAccountParameters = {
7
11
  connector: Connector
@@ -14,14 +18,18 @@ export type SwitchAccountReturnType<config extends Config = Config> = {
14
18
  | (number extends config['chains'][number]['id'] ? number : number & {})
15
19
  }
16
20
 
17
- export type SwitchAccountError = ConnectorNotConnectedError | Error
21
+ export type SwitchAccountErrorType =
22
+ | ConnectorNotConnectedErrorType
23
+ | BaseError
24
+ | ErrorType
18
25
 
19
- /** https://alpha.wagmi.sh/core/api/actions/switchAccount */
26
+ /** https://wagmi.sh/core/api/actions/switchAccount */
20
27
  export async function switchAccount<config extends Config>(
21
28
  config: config,
22
29
  parameters: SwitchAccountParameters,
23
30
  ): Promise<SwitchAccountReturnType<config>> {
24
31
  const { connector } = parameters
32
+
25
33
  const connection = config.state.connections.get(connector.uid)
26
34
  if (!connection) throw new ConnectorNotConnectedError()
27
35
 
@@ -1,23 +1,29 @@
1
1
  import {
2
- SwitchChainError as SwitchChainError_,
3
- UserRejectedRequestError,
2
+ type SwitchChainErrorType as viem_SwitchChainErrorType,
3
+ type UserRejectedRequestErrorType,
4
4
  } from 'viem'
5
5
 
6
6
  import { type Config } from '../createConfig.js'
7
- import type { BaseError } from '../errors/base.js'
8
- import { ChainNotConfiguredError } from '../errors/config.js'
9
- import { SwitchChainNotSupportedError } from '../errors/connector.js'
10
- import { type ProviderNotFoundError } from '../errors/connector.js'
7
+ import type { BaseErrorType, ErrorType } from '../errors/base.js'
8
+ import {
9
+ ChainNotConfiguredError,
10
+ type ChainNotConfiguredErrorType,
11
+ } from '../errors/config.js'
12
+ import {
13
+ type ProviderNotFoundErrorType,
14
+ SwitchChainNotSupportedError,
15
+ type SwitchChainNotSupportedErrorType,
16
+ } from '../errors/connector.js'
11
17
  import type { ConnectorParameter } from '../types/properties.js'
12
- import type { Evaluate } from '../types/utils.js'
18
+ import { type Evaluate } from '../types/utils.js'
13
19
 
14
20
  export type SwitchChainParameters<
15
21
  config extends Config = Config,
16
22
  chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
17
23
  > = Evaluate<
18
- {
24
+ ConnectorParameter & {
19
25
  chainId: chainId | config['chains'][number]['id']
20
- } & ConnectorParameter
26
+ }
21
27
  >
22
28
 
23
29
  export type SwitchChainReturnType<
@@ -28,14 +34,19 @@ export type SwitchChainReturnType<
28
34
  { id: Config extends config ? number : chainId }
29
35
  >
30
36
 
31
- export type SwitchChainError =
32
- | ProviderNotFoundError
33
- | SwitchChainError_
34
- | UserRejectedRequestError
35
- | BaseError
36
- | Error
37
+ export type SwitchChainErrorType =
38
+ | SwitchChainNotSupportedErrorType
39
+ | ChainNotConfiguredErrorType
40
+ // connector.switchChain()
41
+ | ProviderNotFoundErrorType
42
+ | UserRejectedRequestErrorType
43
+ // base
44
+ | BaseErrorType
45
+ | ErrorType
46
+ // viem
47
+ | viem_SwitchChainErrorType
37
48
 
38
- /** https://alpha.wagmi.sh/core/api/actions/switchChain */
49
+ /** https://wagmi.sh/core/api/actions/switchChain */
39
50
  export async function switchChain<
40
51
  config extends Config,
41
52
  chainId extends config['chains'][number]['id'],
@@ -0,0 +1,28 @@
1
+ import {
2
+ type VerifyMessageErrorType as viem_VerifyMessageErrorType,
3
+ type VerifyMessageParameters as viem_VerifyMessageParameters,
4
+ type VerifyMessageReturnType as viem_VerifyMessageReturnType,
5
+ verifyMessage as viem_verifyMessage,
6
+ } from 'viem/actions'
7
+
8
+ import { type Config } from '../createConfig.js'
9
+ import { type ChainIdParameter } from '../types/properties.js'
10
+ import { type Evaluate } from '../types/utils.js'
11
+
12
+ export type VerifyMessageParameters<config extends Config = Config> = Evaluate<
13
+ viem_VerifyMessageParameters & ChainIdParameter<config>
14
+ >
15
+
16
+ export type VerifyMessageReturnType = viem_VerifyMessageReturnType
17
+
18
+ export type VerifyMessageErrorType = viem_VerifyMessageErrorType
19
+
20
+ /** https://wagmi.sh/core/api/actions/verifyMessage */
21
+ export async function verifyMessage<config extends Config>(
22
+ config: config,
23
+ parameters: VerifyMessageParameters<config>,
24
+ ): Promise<VerifyMessageReturnType> {
25
+ const { chainId, ...rest } = parameters
26
+ const client = config.getClient({ chainId })
27
+ return viem_verifyMessage(client, rest)
28
+ }
@@ -0,0 +1,38 @@
1
+ import { type TypedData } from 'viem'
2
+ import {
3
+ type VerifyTypedDataErrorType as viem_VerifyTypedDataErrorType,
4
+ type VerifyTypedDataParameters as viem_VerifyTypedDataParameters,
5
+ type VerifyTypedDataReturnType as viem_VerifyTypedDataReturnType,
6
+ verifyTypedData as viem_verifyTypedData,
7
+ } from 'viem/actions'
8
+
9
+ import { type Config } from '../createConfig.js'
10
+ import { type ChainIdParameter } from '../types/properties.js'
11
+ import { type Evaluate } from '../types/utils.js'
12
+
13
+ export type VerifyTypedDataParameters<
14
+ typedData extends TypedData | Record<string, unknown> = TypedData,
15
+ primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData,
16
+ config extends Config = Config,
17
+ > = Evaluate<
18
+ viem_VerifyTypedDataParameters<typedData, primaryType> &
19
+ ChainIdParameter<config>
20
+ >
21
+
22
+ export type VerifyTypedDataReturnType = viem_VerifyTypedDataReturnType
23
+
24
+ export type VerifyTypedDataErrorType = viem_VerifyTypedDataErrorType
25
+
26
+ /** https://wagmi.sh/core/api/actions/verifyTypedData */
27
+ export async function verifyTypedData<
28
+ config extends Config,
29
+ const typedData extends TypedData | Record<string, unknown>,
30
+ primaryType extends keyof typedData | 'EIP712Domain',
31
+ >(
32
+ config: config,
33
+ parameters: VerifyTypedDataParameters<typedData, primaryType, config>,
34
+ ): Promise<VerifyTypedDataReturnType> {
35
+ const { chainId, ...rest } = parameters
36
+ const client = config.getClient({ chainId })
37
+ return viem_verifyTypedData(client, rest as viem_VerifyTypedDataParameters)
38
+ }
@@ -1,20 +1,18 @@
1
- import type {
2
- CallParameters,
3
- Chain,
4
- WaitForTransactionReceiptParameters as viem_WaitForTransactionReceiptParameters,
5
- WaitForTransactionReceiptReturnType as viem_WaitForTransactionReceiptReturnType,
6
- } from 'viem'
1
+ import type { CallParameters, Chain } from 'viem'
7
2
  import { hexToString } from 'viem'
8
3
  import {
4
+ type WaitForTransactionReceiptErrorType as viem_WaitForTransactionReceiptErrorType,
5
+ type WaitForTransactionReceiptParameters as viem_WaitForTransactionReceiptParameters,
6
+ type WaitForTransactionReceiptReturnType as viem_WaitForTransactionReceiptReturnType,
9
7
  call,
10
8
  getTransaction,
11
9
  waitForTransactionReceipt as viem_waitForTransactionReceipt,
12
10
  } from 'viem/actions'
13
11
 
14
- import type { Config } from '../createConfig.js'
12
+ import { type Config } from '../createConfig.js'
15
13
  import type { SelectChains } from '../types/chain.js'
16
- import type { ChainIdParameter } from '../types/properties.js'
17
- import type { Evaluate } from '../types/utils.js'
14
+ import { type ChainIdParameter } from '../types/properties.js'
15
+ import { type Evaluate, type IsNarrowable } from '../types/utils.js'
18
16
 
19
17
  export type WaitForTransactionReceiptParameters<
20
18
  config extends Config = Config,
@@ -30,11 +28,14 @@ export type WaitForTransactionReceiptReturnType<
30
28
  chains extends readonly Chain[] = SelectChains<config, chainId>,
31
29
  > = Evaluate<
32
30
  {
33
- [key in keyof chains]: viem_WaitForTransactionReceiptReturnType<chains[key]>
31
+ [key in keyof chains]: viem_WaitForTransactionReceiptReturnType<
32
+ IsNarrowable<chains[key], Chain> extends true ? chains[key] : undefined
33
+ > & { chainId: chains[key]['id'] }
34
34
  }[number]
35
35
  >
36
36
 
37
- export type WaitForTransactionReceiptError = Error
37
+ export type WaitForTransactionReceiptErrorType =
38
+ viem_WaitForTransactionReceiptErrorType
38
39
 
39
40
  export async function waitForTransactionReceipt<
40
41
  config extends Config,
@@ -44,12 +45,13 @@ export async function waitForTransactionReceipt<
44
45
  parameters: WaitForTransactionReceiptParameters<config, chainId>,
45
46
  ): Promise<WaitForTransactionReceiptReturnType<config, chainId>> {
46
47
  const { chainId, timeout = 0, ...rest } = parameters
47
- const client = config.getClient({ chainId })
48
48
 
49
+ const client = config.getClient({ chainId })
49
50
  const receipt = await viem_waitForTransactionReceipt(client, {
50
51
  ...rest,
51
52
  timeout,
52
53
  })
54
+
53
55
  if (receipt.status === 'reverted') {
54
56
  const txn = await getTransaction(client, { hash: receipt.transactionHash })
55
57
  const code = (await call(client, {
@@ -62,8 +64,12 @@ export async function waitForTransactionReceipt<
62
64
  const reason = hexToString(`0x${code.substring(138)}`)
63
65
  throw new Error(reason)
64
66
  }
65
- return receipt as unknown as WaitForTransactionReceiptReturnType<
66
- config,
67
- chainId
68
- >
67
+
68
+ return {
69
+ ...(receipt as unknown as WaitForTransactionReceiptReturnType<
70
+ config,
71
+ chainId
72
+ >),
73
+ chainId: client.chain.id,
74
+ }
69
75
  }
@@ -11,12 +11,13 @@ export type WatchAccountParameters = {
11
11
 
12
12
  export type WatchAccountReturnType = () => void
13
13
 
14
- /** https://alpha.wagmi.sh/core/api/actions/watchAccount */
14
+ /** https://wagmi.sh/core/api/actions/watchAccount */
15
15
  export function watchAccount(
16
16
  config: Config,
17
17
  parameters: WatchAccountParameters,
18
18
  ): WatchAccountReturnType {
19
19
  const { onChange } = parameters
20
+
20
21
  return config.subscribe(() => getAccount(config), onChange, {
21
22
  equalityFn(a, b) {
22
23
  const { connector: aConnector, ...aRest } = a
@@ -35,7 +35,7 @@ export type WatchBlockNumberParameters<
35
35
  export type WatchBlockNumberReturnType = viem_WatchBlockNumberReturnType
36
36
 
37
37
  // TODO: wrap in viem's `observe` to avoid duplicate invocations.
38
- /** https://alpha.wagmi.sh/core/api/actions/watchBlockNumber */
38
+ /** https://wagmi.sh/core/api/actions/watchBlockNumber */
39
39
  export function watchBlockNumber<
40
40
  config extends Config,
41
41
  chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
@@ -44,7 +44,7 @@ export function watchBlockNumber<
44
44
  parameters: WatchBlockNumberParameters<config, chainId>,
45
45
  ): WatchBlockNumberReturnType {
46
46
  const { syncConnectedChain = config._internal.syncConnectedChain, ...rest } =
47
- parameters
47
+ parameters as WatchBlockNumberParameters
48
48
 
49
49
  let unwatch: WatchBlockNumberReturnType | undefined
50
50
  const listener = (chainId: number | undefined) => {
@@ -53,7 +53,7 @@ export function watchBlockNumber<
53
53
  const client = config.getClient({ chainId })
54
54
  unwatch = viem_watchBlockNumber(
55
55
  client,
56
- rest as unknown as viem_WatchBlockNumberParameters,
56
+ rest as viem_WatchBlockNumberParameters,
57
57
  )
58
58
  return unwatch
59
59
  }
@@ -66,9 +66,7 @@ export function watchBlockNumber<
66
66
  if (syncConnectedChain && !parameters.chainId)
67
67
  unsubscribe = config.subscribe(
68
68
  ({ chainId }) => chainId,
69
- async (chainId) => {
70
- return listener(chainId)
71
- },
69
+ async (chainId) => listener(chainId),
72
70
  )
73
71
 
74
72
  return () => {
@@ -0,0 +1,85 @@
1
+ import {
2
+ type WatchBlocksParameters as viem_WatchBlocksParameters,
3
+ type WatchBlocksReturnType as viem_WatchBlocksReturnType,
4
+ watchBlocks as viem_watchBlocks,
5
+ } from 'viem/actions'
6
+
7
+ import type { BlockTag, Chain, Transport, WebSocketTransport } from 'viem'
8
+ import { type Config } from '../createConfig.js'
9
+ import type { SelectChains } from '../types/chain.js'
10
+ import type {
11
+ ChainIdParameter,
12
+ SyncConnectedChainParameter,
13
+ } from '../types/properties.js'
14
+ import type { IsNarrowable, UnionEvaluate } from '../types/utils.js'
15
+
16
+ export type WatchBlocksParameters<
17
+ includeTransactions extends boolean = false,
18
+ blockTag extends BlockTag = 'latest',
19
+ config extends Config = Config,
20
+ chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
21
+ ///
22
+ chains extends readonly Chain[] = SelectChains<config, chainId>,
23
+ > = {
24
+ [key in keyof chains]: UnionEvaluate<
25
+ viem_WatchBlocksParameters<
26
+ config['_internal']['transports'][chains[key]['id']] extends infer transport extends Transport
27
+ ? Transport extends transport
28
+ ? WebSocketTransport
29
+ : transport
30
+ : WebSocketTransport,
31
+ IsNarrowable<chains[key], Chain> extends true ? chains[key] : undefined,
32
+ includeTransactions,
33
+ blockTag
34
+ > &
35
+ ChainIdParameter<config, chainId> &
36
+ SyncConnectedChainParameter
37
+ >
38
+ }[number]
39
+
40
+ export type WatchBlocksReturnType = viem_WatchBlocksReturnType
41
+
42
+ // TODO: wrap in viem's `observe` to avoid duplicate invocations.
43
+ /** https://wagmi.sh/core/actions/watchBlocks */
44
+ export function watchBlocks<
45
+ config extends Config,
46
+ chainId extends config['chains'][number]['id'] = config['chains'][number]['id'],
47
+ includeTransactions extends boolean = false,
48
+ blockTag extends BlockTag = 'latest',
49
+ >(
50
+ config: config,
51
+ parameters: WatchBlocksParameters<
52
+ includeTransactions,
53
+ blockTag,
54
+ config,
55
+ chainId
56
+ >,
57
+ ): WatchBlocksReturnType {
58
+ const { syncConnectedChain = config._internal.syncConnectedChain, ...rest } =
59
+ parameters as WatchBlocksParameters
60
+
61
+ let unwatch: WatchBlocksReturnType | undefined
62
+ const listener = (chainId: number | undefined) => {
63
+ if (unwatch) unwatch()
64
+
65
+ const client = config.getClient({ chainId })
66
+ unwatch = viem_watchBlocks(client, rest as viem_WatchBlocksParameters)
67
+ return unwatch
68
+ }
69
+
70
+ // set up listener for block number changes
71
+ const unlisten = listener(parameters.chainId)
72
+
73
+ // set up subscriber for connected chain changes
74
+ let unsubscribe: (() => void) | undefined
75
+ if (syncConnectedChain && !parameters.chainId)
76
+ unsubscribe = config.subscribe(
77
+ ({ chainId }) => chainId,
78
+ async (chainId) => listener(chainId),
79
+ )
80
+
81
+ return () => {
82
+ unlisten?.()
83
+ unsubscribe?.()
84
+ }
85
+ }
@@ -1,4 +1,4 @@
1
- import type { Config } from '../createConfig.js'
1
+ import { type Config } from '../createConfig.js'
2
2
  import type { GetChainIdReturnType } from './getChainId.js'
3
3
 
4
4
  export type WatchChainIdParameters<config extends Config = Config> = {
@@ -10,7 +10,7 @@ export type WatchChainIdParameters<config extends Config = Config> = {
10
10
 
11
11
  export type WatchChainIdReturnType = () => void
12
12
 
13
- /** https://alpha.wagmi.sh/core/api/actions/watchChainId */
13
+ /** https://wagmi.sh/core/api/actions/watchChainId */
14
14
  export function watchChainId<config extends Config>(
15
15
  config: config,
16
16
  parameters: WatchChainIdParameters<config>,
@@ -1,4 +1,4 @@
1
- import type { Config } from '../createConfig.js'
1
+ import { type Config } from '../createConfig.js'
2
2
  import { type GetClientReturnType, getClient } from './getClient.js'
3
3
 
4
4
  export type WatchClientParameters<
@@ -13,7 +13,7 @@ export type WatchClientParameters<
13
13
 
14
14
  export type WatchClientReturnType = () => void
15
15
 
16
- /** https://alpha.wagmi.sh/core/api/actions/watchClient */
16
+ /** https://wagmi.sh/core/api/actions/watchClient */
17
17
  export function watchClient<
18
18
  config extends Config,
19
19
  chainId extends config['chains'][number]['id'],
@@ -1,4 +1,4 @@
1
- import type { Config } from '../createConfig.js'
1
+ import { type Config } from '../createConfig.js'
2
2
  import { deepEqual } from '../utils/deepEqual.js'
3
3
  import {
4
4
  type GetConnectionsReturnType,
@@ -14,7 +14,7 @@ export type WatchConnectionsParameters = {
14
14
 
15
15
  export type WatchConnectionsReturnType = () => void
16
16
 
17
- /** https://alpha.wagmi.sh/core/api/actions/watchConnections */
17
+ /** https://wagmi.sh/core/api/actions/watchConnections */
18
18
  export function watchConnections(
19
19
  config: Config,
20
20
  parameters: WatchConnectionsParameters,
@@ -0,0 +1,22 @@
1
+ import { type Config } from '../createConfig.js'
2
+ import { type GetConnectorsReturnType } from './getConnectors.js'
3
+
4
+ export type WatchConnectorsParameters = {
5
+ onChange(
6
+ connections: GetConnectorsReturnType,
7
+ prevConnectors: GetConnectorsReturnType,
8
+ ): void
9
+ }
10
+
11
+ export type WatchConnectorsReturnType = () => void
12
+
13
+ /** https://wagmi.sh/core/api/actions/watchConnectors */
14
+ export function watchConnectors(
15
+ config: Config,
16
+ parameters: WatchConnectorsParameters,
17
+ ): WatchConnectorsReturnType {
18
+ const { onChange } = parameters
19
+ return config._internal.connectors.subscribe((connectors, prevConnectors) => {
20
+ onChange(Object.values(connectors), prevConnectors)
21
+ })
22
+ }
@@ -10,13 +10,14 @@ import {
10
10
  type WatchContractEventReturnType as viem_WatchContractEventReturnType,
11
11
  watchContractEvent as viem_watchContractEvent,
12
12
  } from 'viem/actions'
13
- import type { Config } from '../createConfig.js'
14
- import type { SelectChains } from '../types/chain.js'
15
- import type {
16
- ChainIdParameter,
17
- SyncConnectedChainParameter,
13
+
14
+ import { type Config } from '../createConfig.js'
15
+ import { type SelectChains } from '../types/chain.js'
16
+ import {
17
+ type ChainIdParameter,
18
+ type SyncConnectedChainParameter,
18
19
  } from '../types/properties.js'
19
- import type { UnionEvaluate } from '../types/utils.js'
20
+ import { type UnionEvaluate } from '../types/utils.js'
20
21
 
21
22
  export type WatchContractEventParameters<
22
23
  abi extends Abi | readonly unknown[] = Abi,
@@ -46,7 +47,7 @@ export type WatchContractEventParameters<
46
47
  export type WatchContractEventReturnType = viem_WatchContractEventReturnType
47
48
 
48
49
  // TODO: wrap in viem's `observe` to avoid duplicate invocations.
49
- /** https://alpha.wagmi.sh/core/api/actions/watchContractEvent */
50
+ /** https://wagmi.sh/core/api/actions/watchContractEvent */
50
51
  export function watchContractEvent<
51
52
  config extends Config,
52
53
  chainId extends config['chains'][number]['id'],
@@ -86,9 +87,7 @@ export function watchContractEvent<
86
87
  if (syncConnectedChain && !parameters.chainId)
87
88
  unsubscribe = config.subscribe(
88
89
  ({ chainId }) => chainId,
89
- async (chainId) => {
90
- return listener(chainId)
91
- },
90
+ async (chainId) => listener(chainId),
92
91
  )
93
92
 
94
93
  return () => {
@@ -5,7 +5,7 @@ import {
5
5
  watchPendingTransactions as viem_watchPendingTransactions,
6
6
  } from 'viem/actions'
7
7
 
8
- import type { Config } from '../createConfig.js'
8
+ import { type Config } from '../createConfig.js'
9
9
  import type { SelectChains } from '../types/chain.js'
10
10
  import type {
11
11
  ChainIdParameter,
@@ -36,7 +36,7 @@ export type WatchPendingTransactionsReturnType =
36
36
  viem_WatchPendingTransactionsReturnType
37
37
 
38
38
  // TODO: wrap in viem's `observe` to avoid duplicate invocations.
39
- /** https://alpha.wagmi.sh/core/api/actions/watchPendingTransactions */
39
+ /** https://wagmi.sh/core/api/actions/watchPendingTransactions */
40
40
  export function watchPendingTransactions<
41
41
  config extends Config,
42
42
  chainId extends config['chains'][number]['id'],
@@ -67,9 +67,7 @@ export function watchPendingTransactions<
67
67
  if (syncConnectedChain && !parameters.chainId)
68
68
  unsubscribe = config.subscribe(
69
69
  ({ chainId }) => chainId,
70
- async (chainId) => {
71
- return listener(chainId)
72
- },
70
+ async (chainId) => listener(chainId),
73
71
  )
74
72
 
75
73
  return () => {
@@ -1,4 +1,4 @@
1
- import type { Config } from '../createConfig.js'
1
+ import { type Config } from '../createConfig.js'
2
2
  import {
3
3
  type GetPublicClientReturnType,
4
4
  getPublicClient,
@@ -16,7 +16,7 @@ export type WatchPublicClientParameters<
16
16
 
17
17
  export type WatchPublicClientReturnType = () => void
18
18
 
19
- /** https://alpha.wagmi.sh/core/api/actions/watchPublicClient */
19
+ /** https://wagmi.sh/core/api/actions/watchPublicClient */
20
20
  export function watchPublicClient<
21
21
  config extends Config,
22
22
  chainId extends config['chains'][number]['id'],