@wagmi/core 1.4.1 → 2.0.0-alpha.1

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 (540) hide show
  1. package/README.md +4 -21
  2. package/actions/package.json +5 -0
  3. package/chains/package.json +3 -2
  4. package/dist/esm/actions/connect.js +53 -0
  5. package/dist/esm/actions/connect.js.map +1 -0
  6. package/dist/esm/actions/disconnect.js +49 -0
  7. package/dist/esm/actions/disconnect.js.map +1 -0
  8. package/dist/esm/actions/estimateFeesPerGas.js +24 -0
  9. package/dist/esm/actions/estimateFeesPerGas.js.map +1 -0
  10. package/dist/esm/actions/estimateGas.js +25 -0
  11. package/dist/esm/actions/estimateGas.js.map +1 -0
  12. package/dist/esm/actions/getAccount.js +61 -0
  13. package/dist/esm/actions/getAccount.js.map +1 -0
  14. package/dist/esm/actions/getBalance.js +83 -0
  15. package/dist/esm/actions/getBalance.js.map +1 -0
  16. package/dist/esm/actions/getBlock.js +9 -0
  17. package/dist/esm/actions/getBlock.js.map +1 -0
  18. package/dist/esm/actions/getBlockNumber.js +9 -0
  19. package/dist/esm/actions/getBlockNumber.js.map +1 -0
  20. package/dist/esm/actions/getChainId.js +5 -0
  21. package/dist/esm/actions/getChainId.js.map +1 -0
  22. package/dist/esm/actions/getClient.js +5 -0
  23. package/dist/esm/actions/getClient.js.map +1 -0
  24. package/dist/esm/actions/getConnections.js +13 -0
  25. package/dist/esm/actions/getConnections.js.map +1 -0
  26. package/dist/esm/actions/getConnectorClient.js +42 -0
  27. package/dist/esm/actions/getConnectorClient.js.map +1 -0
  28. package/dist/esm/actions/getEnsAddress.js +9 -0
  29. package/dist/esm/actions/getEnsAddress.js.map +1 -0
  30. package/dist/esm/actions/getEnsAvatar.js +9 -0
  31. package/dist/esm/actions/getEnsAvatar.js.map +1 -0
  32. package/dist/esm/actions/getEnsName.js +9 -0
  33. package/dist/esm/actions/getEnsName.js.map +1 -0
  34. package/dist/esm/actions/getEnsResolver.js +9 -0
  35. package/dist/esm/actions/getEnsResolver.js.map +1 -0
  36. package/dist/esm/actions/getPublicClient.js +6 -0
  37. package/dist/esm/actions/getPublicClient.js.map +1 -0
  38. package/dist/esm/actions/getToken.js +101 -0
  39. package/dist/esm/actions/getToken.js.map +1 -0
  40. package/dist/esm/actions/getTransaction.js +10 -0
  41. package/dist/esm/actions/getTransaction.js.map +1 -0
  42. package/dist/esm/actions/getWalletClient.js +7 -0
  43. package/dist/esm/actions/getWalletClient.js.map +1 -0
  44. package/dist/esm/actions/multicall.js +11 -0
  45. package/dist/esm/actions/multicall.js.map +1 -0
  46. package/dist/esm/actions/readContract.js +10 -0
  47. package/dist/esm/actions/readContract.js.map +1 -0
  48. package/dist/esm/actions/readContracts.js +46 -0
  49. package/dist/esm/actions/readContracts.js.map +1 -0
  50. package/dist/esm/actions/reconnect.js +78 -0
  51. package/dist/esm/actions/reconnect.js.map +1 -0
  52. package/dist/esm/actions/sendTransaction.js +22 -0
  53. package/dist/esm/actions/sendTransaction.js.map +1 -0
  54. package/dist/esm/actions/signMessage.js +10 -0
  55. package/dist/esm/actions/signMessage.js.map +1 -0
  56. package/dist/esm/actions/signTypedData.js +10 -0
  57. package/dist/esm/actions/signTypedData.js.map +1 -0
  58. package/dist/esm/actions/simulateContract.js +33 -0
  59. package/dist/esm/actions/simulateContract.js.map +1 -0
  60. package/dist/esm/actions/switchAccount.js +19 -0
  61. package/dist/esm/actions/switchAccount.js.map +1 -0
  62. package/dist/esm/actions/switchChain.js +23 -0
  63. package/dist/esm/actions/switchChain.js.map +1 -0
  64. package/dist/esm/actions/waitForTransactionReceipt.js +23 -0
  65. package/dist/esm/actions/waitForTransactionReceipt.js.map +1 -0
  66. package/dist/esm/actions/watchAccount.js +18 -0
  67. package/dist/esm/actions/watchAccount.js.map +1 -0
  68. package/dist/esm/actions/watchBlockNumber.js +28 -0
  69. package/dist/esm/actions/watchBlockNumber.js.map +1 -0
  70. package/dist/esm/actions/watchBlocks.js +28 -0
  71. package/dist/esm/actions/watchBlocks.js.map +1 -0
  72. package/dist/esm/actions/watchChainId.js +6 -0
  73. package/dist/esm/actions/watchChainId.js.map +1 -0
  74. package/dist/esm/actions/watchClient.js +11 -0
  75. package/dist/esm/actions/watchClient.js.map +1 -0
  76. package/dist/esm/actions/watchConnections.js +10 -0
  77. package/dist/esm/actions/watchConnections.js.map +1 -0
  78. package/dist/esm/actions/watchContractEvent.js +27 -0
  79. package/dist/esm/actions/watchContractEvent.js.map +1 -0
  80. package/dist/esm/actions/watchPendingTransactions.js +27 -0
  81. package/dist/esm/actions/watchPendingTransactions.js.map +1 -0
  82. package/dist/esm/actions/watchPublicClient.js +11 -0
  83. package/dist/esm/actions/watchPublicClient.js.map +1 -0
  84. package/dist/esm/actions/writeContract.js +31 -0
  85. package/dist/esm/actions/writeContract.js.map +1 -0
  86. package/dist/esm/createConfig.js +218 -0
  87. package/dist/esm/createConfig.js.map +1 -0
  88. package/dist/esm/createConnector.js +8 -0
  89. package/dist/esm/createConnector.js.map +1 -0
  90. package/dist/esm/createEmitter.js +39 -0
  91. package/dist/esm/createEmitter.js.map +1 -0
  92. package/dist/esm/createStorage.js +37 -0
  93. package/dist/esm/createStorage.js.map +1 -0
  94. package/dist/esm/errors/base.js +86 -0
  95. package/dist/esm/errors/base.js.map +1 -0
  96. package/dist/esm/errors/config.js +70 -0
  97. package/dist/esm/errors/config.js.map +1 -0
  98. package/dist/esm/errors/connector.js +24 -0
  99. package/dist/esm/errors/connector.js.map +1 -0
  100. package/dist/esm/exports/actions.js +42 -0
  101. package/dist/esm/exports/actions.js.map +1 -0
  102. package/dist/esm/exports/chains.js +4 -0
  103. package/dist/esm/exports/chains.js.map +1 -0
  104. package/dist/esm/exports/index.js +73 -0
  105. package/dist/esm/exports/index.js.map +1 -0
  106. package/dist/esm/exports/internal.js +11 -0
  107. package/dist/esm/exports/internal.js.map +1 -0
  108. package/dist/esm/exports/query.js +30 -0
  109. package/dist/esm/exports/query.js.map +1 -0
  110. package/dist/esm/query/connect.js +11 -0
  111. package/dist/esm/query/connect.js.map +1 -0
  112. package/dist/esm/query/disconnect.js +10 -0
  113. package/dist/esm/query/disconnect.js.map +1 -0
  114. package/dist/esm/query/estimateFeesPerGas.js +16 -0
  115. package/dist/esm/query/estimateFeesPerGas.js.map +1 -0
  116. package/dist/esm/query/estimateGas.js +20 -0
  117. package/dist/esm/query/estimateGas.js.map +1 -0
  118. package/dist/esm/query/getBalance.js +21 -0
  119. package/dist/esm/query/getBalance.js.map +1 -0
  120. package/dist/esm/query/getBlock.js +17 -0
  121. package/dist/esm/query/getBlock.js.map +1 -0
  122. package/dist/esm/query/getBlockNumber.js +18 -0
  123. package/dist/esm/query/getBlockNumber.js.map +1 -0
  124. package/dist/esm/query/getConnectorClient.js +25 -0
  125. package/dist/esm/query/getConnectorClient.js.map +1 -0
  126. package/dist/esm/query/getEnsAddress.js +18 -0
  127. package/dist/esm/query/getEnsAddress.js.map +1 -0
  128. package/dist/esm/query/getEnsAvatar.js +18 -0
  129. package/dist/esm/query/getEnsAvatar.js.map +1 -0
  130. package/dist/esm/query/getEnsName.js +18 -0
  131. package/dist/esm/query/getEnsName.js.map +1 -0
  132. package/dist/esm/query/getEnsResolver.js +18 -0
  133. package/dist/esm/query/getEnsResolver.js.map +1 -0
  134. package/dist/esm/query/getToken.js +18 -0
  135. package/dist/esm/query/getToken.js.map +1 -0
  136. package/dist/esm/query/getTransaction.js +20 -0
  137. package/dist/esm/query/getTransaction.js.map +1 -0
  138. package/dist/esm/query/getWalletClient.js +22 -0
  139. package/dist/esm/query/getWalletClient.js.map +1 -0
  140. package/dist/esm/query/readContract.js +32 -0
  141. package/dist/esm/query/readContract.js.map +1 -0
  142. package/dist/esm/query/readContracts.js +36 -0
  143. package/dist/esm/query/readContracts.js.map +1 -0
  144. package/dist/esm/query/reconnect.js +10 -0
  145. package/dist/esm/query/reconnect.js.map +1 -0
  146. package/dist/esm/query/sendTransaction.js +11 -0
  147. package/dist/esm/query/sendTransaction.js.map +1 -0
  148. package/dist/esm/query/signMessage.js +13 -0
  149. package/dist/esm/query/signMessage.js.map +1 -0
  150. package/dist/esm/query/signTypedData.js +11 -0
  151. package/dist/esm/query/signTypedData.js.map +1 -0
  152. package/dist/esm/query/simulateContract.js +25 -0
  153. package/dist/esm/query/simulateContract.js.map +1 -0
  154. package/dist/esm/query/switchAccount.js +11 -0
  155. package/dist/esm/query/switchAccount.js.map +1 -0
  156. package/dist/esm/query/switchChain.js +11 -0
  157. package/dist/esm/query/switchChain.js.map +1 -0
  158. package/dist/esm/query/types.js +2 -0
  159. package/dist/esm/query/types.js.map +1 -0
  160. package/dist/esm/query/utils.js +45 -0
  161. package/dist/esm/query/utils.js.map +1 -0
  162. package/dist/esm/query/waitForTransactionReceipt.js +23 -0
  163. package/dist/esm/query/waitForTransactionReceipt.js.map +1 -0
  164. package/dist/esm/query/writeContract.js +11 -0
  165. package/dist/esm/query/writeContract.js.map +1 -0
  166. package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
  167. package/dist/esm/types/chain.js +2 -0
  168. package/dist/esm/types/chain.js.map +1 -0
  169. package/dist/esm/types/properties.js +2 -0
  170. package/dist/esm/types/properties.js.map +1 -0
  171. package/dist/esm/types/register.js +2 -0
  172. package/dist/esm/types/register.js.map +1 -0
  173. package/dist/esm/types/unit.js +2 -0
  174. package/dist/esm/types/unit.js.map +1 -0
  175. package/dist/esm/types/utils.js +2 -0
  176. package/dist/esm/types/utils.js.map +1 -0
  177. package/dist/esm/utils/assertActiveChain.js +14 -0
  178. package/dist/esm/utils/assertActiveChain.js.map +1 -0
  179. package/dist/esm/utils/deepEqual.js +41 -0
  180. package/dist/esm/utils/deepEqual.js.map +1 -0
  181. package/dist/esm/utils/deserialize.js +11 -0
  182. package/dist/esm/utils/deserialize.js.map +1 -0
  183. package/dist/esm/utils/getUnit.js +10 -0
  184. package/dist/esm/utils/getUnit.js.map +1 -0
  185. package/dist/esm/utils/getVersion.js +3 -0
  186. package/dist/esm/utils/getVersion.js.map +1 -0
  187. package/dist/esm/utils/normalizeChainId.js +10 -0
  188. package/dist/esm/utils/normalizeChainId.js.map +1 -0
  189. package/dist/esm/utils/serialize.js +87 -0
  190. package/dist/esm/utils/serialize.js.map +1 -0
  191. package/dist/esm/utils/uid.js +14 -0
  192. package/dist/esm/utils/uid.js.map +1 -0
  193. package/dist/esm/version.js +2 -0
  194. package/dist/esm/version.js.map +1 -0
  195. package/dist/types/actions/connect.d.ts +19 -0
  196. package/dist/types/actions/connect.d.ts.map +1 -0
  197. package/dist/types/actions/disconnect.d.ts +9 -0
  198. package/dist/types/actions/disconnect.d.ts.map +1 -0
  199. package/dist/types/actions/estimateFeesPerGas.d.ts +16 -0
  200. package/dist/types/actions/estimateFeesPerGas.d.ts.map +1 -0
  201. package/dist/types/actions/estimateGas.d.ts +14 -0
  202. package/dist/types/actions/estimateGas.d.ts.map +1 -0
  203. package/dist/types/actions/getAccount.d.ts +46 -0
  204. package/dist/types/actions/getAccount.d.ts.map +1 -0
  205. package/dist/types/actions/getBalance.d.ts +21 -0
  206. package/dist/types/actions/getBalance.d.ts.map +1 -0
  207. package/dist/types/actions/getBlock.d.ts +14 -0
  208. package/dist/types/actions/getBlock.d.ts.map +1 -0
  209. package/dist/types/actions/getBlockNumber.d.ts +10 -0
  210. package/dist/types/actions/getBlockNumber.d.ts.map +1 -0
  211. package/dist/types/actions/getChainId.d.ts +5 -0
  212. package/dist/types/actions/getChainId.d.ts.map +1 -0
  213. package/dist/types/actions/getClient.d.ts +10 -0
  214. package/dist/types/actions/getClient.d.ts.map +1 -0
  215. package/dist/types/actions/getConnections.d.ts +6 -0
  216. package/dist/types/actions/getConnections.d.ts.map +1 -0
  217. package/dist/types/actions/getConnectorClient.d.ts +15 -0
  218. package/dist/types/actions/getConnectorClient.d.ts.map +1 -0
  219. package/dist/types/actions/getEnsAddress.d.ts +10 -0
  220. package/dist/types/actions/getEnsAddress.d.ts.map +1 -0
  221. package/dist/types/actions/getEnsAvatar.d.ts +10 -0
  222. package/dist/types/actions/getEnsAvatar.d.ts.map +1 -0
  223. package/dist/types/actions/getEnsName.d.ts +10 -0
  224. package/dist/types/actions/getEnsName.d.ts.map +1 -0
  225. package/dist/types/actions/getEnsResolver.d.ts +10 -0
  226. package/dist/types/actions/getEnsResolver.d.ts.map +1 -0
  227. package/dist/types/actions/getPublicClient.d.ts +10 -0
  228. package/dist/types/actions/getPublicClient.d.ts.map +1 -0
  229. package/dist/types/actions/getToken.d.ts +22 -0
  230. package/dist/types/actions/getToken.d.ts.map +1 -0
  231. package/dist/types/actions/getTransaction.d.ts +14 -0
  232. package/dist/types/actions/getTransaction.d.ts.map +1 -0
  233. package/dist/types/actions/getWalletClient.d.ts +11 -0
  234. package/dist/types/actions/getWalletClient.d.ts.map +1 -0
  235. package/dist/types/actions/multicall.d.ts +7 -0
  236. package/dist/types/actions/multicall.d.ts.map +1 -0
  237. package/dist/types/actions/readContract.d.ts +11 -0
  238. package/dist/types/actions/readContract.d.ts.map +1 -0
  239. package/dist/types/actions/readContracts.d.ts +10 -0
  240. package/dist/types/actions/readContracts.d.ts.map +1 -0
  241. package/dist/types/actions/reconnect.d.ts +12 -0
  242. package/dist/types/actions/reconnect.d.ts.map +1 -0
  243. package/dist/types/actions/sendTransaction.d.ts +15 -0
  244. package/dist/types/actions/sendTransaction.d.ts.map +1 -0
  245. package/dist/types/actions/signMessage.d.ts +11 -0
  246. package/dist/types/actions/signMessage.d.ts.map +1 -0
  247. package/dist/types/actions/signTypedData.d.ts +10 -0
  248. package/dist/types/actions/signTypedData.d.ts.map +1 -0
  249. package/dist/types/actions/simulateContract.d.ts +21 -0
  250. package/dist/types/actions/simulateContract.d.ts.map +1 -0
  251. package/dist/types/actions/switchAccount.d.ts +14 -0
  252. package/dist/types/actions/switchAccount.d.ts.map +1 -0
  253. package/dist/types/actions/switchChain.d.ts +16 -0
  254. package/dist/types/actions/switchChain.d.ts.map +1 -0
  255. package/dist/types/actions/waitForTransactionReceipt.d.ts +12 -0
  256. package/dist/types/actions/waitForTransactionReceipt.d.ts.map +1 -0
  257. package/dist/types/actions/watchAccount.d.ts +9 -0
  258. package/dist/types/actions/watchAccount.d.ts.map +1 -0
  259. package/dist/types/actions/watchBlockNumber.d.ts +13 -0
  260. package/dist/types/actions/watchBlockNumber.d.ts.map +1 -0
  261. package/dist/types/actions/watchBlocks.d.ts +13 -0
  262. package/dist/types/actions/watchBlocks.d.ts.map +1 -0
  263. package/dist/types/actions/watchChainId.d.ts +9 -0
  264. package/dist/types/actions/watchChainId.d.ts.map +1 -0
  265. package/dist/types/actions/watchClient.d.ts +9 -0
  266. package/dist/types/actions/watchClient.d.ts.map +1 -0
  267. package/dist/types/actions/watchConnections.d.ts +9 -0
  268. package/dist/types/actions/watchConnections.d.ts.map +1 -0
  269. package/dist/types/actions/watchContractEvent.d.ts +13 -0
  270. package/dist/types/actions/watchContractEvent.d.ts.map +1 -0
  271. package/dist/types/actions/watchPendingTransactions.d.ts +13 -0
  272. package/dist/types/actions/watchPendingTransactions.d.ts.map +1 -0
  273. package/dist/types/actions/watchPublicClient.d.ts +9 -0
  274. package/dist/types/actions/watchPublicClient.d.ts.map +1 -0
  275. package/dist/types/actions/writeContract.d.ts +15 -0
  276. package/dist/types/actions/writeContract.d.ts.map +1 -0
  277. package/dist/types/createConfig.d.ts +72 -0
  278. package/dist/types/createConfig.d.ts.map +1 -0
  279. package/dist/types/createConnector.d.ts +57 -0
  280. package/dist/types/createConnector.d.ts.map +1 -0
  281. package/dist/types/createEmitter.d.ts +31 -0
  282. package/dist/types/createEmitter.d.ts.map +1 -0
  283. package/dist/types/createStorage.d.ts +30 -0
  284. package/dist/types/createStorage.d.ts.map +1 -0
  285. package/dist/types/errors/base.d.ts +24 -0
  286. package/dist/types/errors/base.d.ts.map +1 -0
  287. package/dist/types/errors/config.d.ts +34 -0
  288. package/dist/types/errors/config.d.ts.map +1 -0
  289. package/dist/types/errors/connector.d.ts +13 -0
  290. package/dist/types/errors/connector.d.ts.map +1 -0
  291. package/dist/types/exports/actions.d.ts +40 -0
  292. package/dist/types/exports/actions.d.ts.map +1 -0
  293. package/dist/types/exports/chains.d.ts +2 -0
  294. package/dist/types/exports/chains.d.ts.map +1 -0
  295. package/dist/types/exports/index.d.ts +54 -0
  296. package/dist/types/exports/index.d.ts.map +1 -0
  297. package/dist/types/exports/internal.d.ts +5 -0
  298. package/dist/types/exports/internal.d.ts.map +1 -0
  299. package/dist/types/exports/query.d.ts +28 -0
  300. package/dist/types/exports/query.d.ts.map +1 -0
  301. package/dist/types/query/connect.d.ts +15 -0
  302. package/dist/types/query/connect.d.ts.map +1 -0
  303. package/dist/types/query/disconnect.d.ts +12 -0
  304. package/dist/types/query/disconnect.d.ts.map +1 -0
  305. package/dist/types/query/estimateFeesPerGas.d.ts +34 -0
  306. package/dist/types/query/estimateFeesPerGas.d.ts.map +1 -0
  307. package/dist/types/query/estimateGas.d.ts +18 -0
  308. package/dist/types/query/estimateGas.d.ts.map +1 -0
  309. package/dist/types/query/getBalance.d.ts +42 -0
  310. package/dist/types/query/getBalance.d.ts.map +1 -0
  311. package/dist/types/query/getBlock.d.ts +111 -0
  312. package/dist/types/query/getBlock.d.ts.map +1 -0
  313. package/dist/types/query/getBlockNumber.d.ts +34 -0
  314. package/dist/types/query/getBlockNumber.d.ts.map +1 -0
  315. package/dist/types/query/getConnectorClient.d.ts +320 -0
  316. package/dist/types/query/getConnectorClient.d.ts.map +1 -0
  317. package/dist/types/query/getEnsAddress.d.ts +42 -0
  318. package/dist/types/query/getEnsAddress.d.ts.map +1 -0
  319. package/dist/types/query/getEnsAvatar.d.ts +42 -0
  320. package/dist/types/query/getEnsAvatar.d.ts.map +1 -0
  321. package/dist/types/query/getEnsName.d.ts +39 -0
  322. package/dist/types/query/getEnsName.d.ts.map +1 -0
  323. package/dist/types/query/getEnsResolver.d.ts +39 -0
  324. package/dist/types/query/getEnsResolver.d.ts.map +1 -0
  325. package/dist/types/query/getToken.d.ts +33 -0
  326. package/dist/types/query/getToken.d.ts.map +1 -0
  327. package/dist/types/query/getTransaction.d.ts +110 -0
  328. package/dist/types/query/getTransaction.d.ts.map +1 -0
  329. package/dist/types/query/getWalletClient.d.ts +541 -0
  330. package/dist/types/query/getWalletClient.d.ts.map +1 -0
  331. package/dist/types/query/readContract.d.ts +19 -0
  332. package/dist/types/query/readContract.d.ts.map +1 -0
  333. package/dist/types/query/readContracts.d.ts +65 -0
  334. package/dist/types/query/readContracts.d.ts.map +1 -0
  335. package/dist/types/query/reconnect.d.ts +13 -0
  336. package/dist/types/query/reconnect.d.ts.map +1 -0
  337. package/dist/types/query/sendTransaction.d.ts +13 -0
  338. package/dist/types/query/sendTransaction.d.ts.map +1 -0
  339. package/dist/types/query/signMessage.d.ts +17 -0
  340. package/dist/types/query/signMessage.d.ts.map +1 -0
  341. package/dist/types/query/signTypedData.d.ts +219 -0
  342. package/dist/types/query/signTypedData.d.ts.map +1 -0
  343. package/dist/types/query/simulateContract.d.ts +19 -0
  344. package/dist/types/query/simulateContract.d.ts.map +1 -0
  345. package/dist/types/query/switchAccount.d.ts +15 -0
  346. package/dist/types/query/switchAccount.d.ts.map +1 -0
  347. package/dist/types/query/switchChain.d.ts +18 -0
  348. package/dist/types/query/switchChain.d.ts.map +1 -0
  349. package/dist/types/query/types.d.ts +9 -0
  350. package/dist/types/query/types.d.ts.map +1 -0
  351. package/dist/types/query/utils.d.ts +4 -0
  352. package/dist/types/query/utils.d.ts.map +1 -0
  353. package/dist/types/query/waitForTransactionReceipt.d.ts +131 -0
  354. package/dist/types/query/waitForTransactionReceipt.d.ts.map +1 -0
  355. package/dist/types/query/writeContract.d.ts +14 -0
  356. package/dist/types/query/writeContract.d.ts.map +1 -0
  357. package/dist/types/types/chain.d.ts +15 -0
  358. package/dist/types/types/chain.d.ts.map +1 -0
  359. package/dist/types/types/properties.d.ts +11 -0
  360. package/dist/types/types/properties.d.ts.map +1 -0
  361. package/dist/types/types/register.d.ts +8 -0
  362. package/dist/types/types/register.d.ts.map +1 -0
  363. package/dist/types/types/unit.d.ts +2 -0
  364. package/dist/types/types/unit.d.ts.map +1 -0
  365. package/dist/types/types/utils.d.ts +50 -0
  366. package/dist/types/types/utils.d.ts.map +1 -0
  367. package/dist/types/utils/assertActiveChain.d.ts +8 -0
  368. package/dist/types/utils/assertActiveChain.d.ts.map +1 -0
  369. package/dist/types/utils/deepEqual.d.ts +3 -0
  370. package/dist/types/utils/deepEqual.d.ts.map +1 -0
  371. package/dist/types/utils/deserialize.d.ts +4 -0
  372. package/dist/types/utils/deserialize.d.ts.map +1 -0
  373. package/dist/types/utils/getUnit.d.ts +3 -0
  374. package/dist/types/utils/getUnit.d.ts.map +1 -0
  375. package/dist/types/utils/getVersion.d.ts +2 -0
  376. package/dist/types/utils/getVersion.d.ts.map +1 -0
  377. package/dist/types/utils/normalizeChainId.d.ts +2 -0
  378. package/dist/types/utils/normalizeChainId.d.ts.map +1 -0
  379. package/dist/types/utils/serialize.d.ts +16 -0
  380. package/dist/types/utils/serialize.d.ts.map +1 -0
  381. package/dist/types/utils/uid.d.ts +2 -0
  382. package/dist/types/utils/uid.d.ts.map +1 -0
  383. package/dist/types/version.d.ts +2 -0
  384. package/dist/types/version.d.ts.map +1 -0
  385. package/internal/package.json +3 -2
  386. package/package.json +69 -101
  387. package/query/package.json +5 -0
  388. package/src/actions/connect.ts +86 -0
  389. package/src/actions/disconnect.ts +68 -0
  390. package/src/actions/estimateFeesPerGas.ts +76 -0
  391. package/src/actions/estimateGas.ts +62 -0
  392. package/src/actions/getAccount.ts +109 -0
  393. package/src/actions/getBalance.ts +141 -0
  394. package/src/actions/getBlock.ts +63 -0
  395. package/src/actions/getBlockNumber.ts +31 -0
  396. package/src/actions/getChainId.ts +11 -0
  397. package/src/actions/getClient.ts +30 -0
  398. package/src/actions/getConnections.ts +16 -0
  399. package/src/actions/getConnectorClient.ts +96 -0
  400. package/src/actions/getEnsAddress.ts +27 -0
  401. package/src/actions/getEnsAvatar.ts +27 -0
  402. package/src/actions/getEnsName.ts +27 -0
  403. package/src/actions/getEnsResolver.ts +27 -0
  404. package/src/actions/getPublicClient.ts +34 -0
  405. package/src/actions/getToken.ts +140 -0
  406. package/src/actions/getTransaction.ts +44 -0
  407. package/src/actions/getWalletClient.ts +41 -0
  408. package/src/actions/multicall.ts +37 -0
  409. package/src/actions/readContract.ts +55 -0
  410. package/src/actions/readContracts.ts +98 -0
  411. package/src/actions/reconnect.ts +102 -0
  412. package/src/actions/sendTransaction.ts +68 -0
  413. package/src/actions/signMessage.ts +29 -0
  414. package/src/actions/signTypedData.ts +43 -0
  415. package/src/actions/simulateContract.ts +161 -0
  416. package/src/actions/switchAccount.ts +37 -0
  417. package/src/actions/switchChain.ts +63 -0
  418. package/src/actions/waitForTransactionReceipt.ts +69 -0
  419. package/src/actions/watchAccount.ts +32 -0
  420. package/src/actions/watchBlockNumber.ts +78 -0
  421. package/src/actions/watchBlocks.ts +90 -0
  422. package/src/actions/watchChainId.ts +20 -0
  423. package/src/actions/watchClient.ts +34 -0
  424. package/src/actions/watchConnections.ts +26 -0
  425. package/src/actions/watchContractEvent.ts +98 -0
  426. package/src/actions/watchPendingTransactions.ts +79 -0
  427. package/src/actions/watchPublicClient.ts +37 -0
  428. package/src/actions/writeContract.ts +113 -0
  429. package/src/createConfig.ts +382 -0
  430. package/src/createConnector.ts +78 -0
  431. package/src/createEmitter.ts +68 -0
  432. package/src/createStorage.ts +89 -0
  433. package/src/errors/base.ts +71 -0
  434. package/src/errors/config.ts +60 -0
  435. package/src/errors/connector.ts +17 -0
  436. package/src/exports/actions.ts +258 -0
  437. package/src/exports/chains.ts +4 -0
  438. package/src/exports/index.ts +352 -0
  439. package/src/exports/internal.ts +29 -0
  440. package/src/exports/query.ts +229 -0
  441. package/src/query/connect.ts +45 -0
  442. package/src/query/disconnect.ts +43 -0
  443. package/src/query/estimateFeesPerGas.ts +56 -0
  444. package/src/query/estimateGas.ts +55 -0
  445. package/src/query/getBalance.ts +61 -0
  446. package/src/query/getBlock.ts +80 -0
  447. package/src/query/getBlockNumber.ts +55 -0
  448. package/src/query/getConnectorClient.ts +69 -0
  449. package/src/query/getEnsAddress.ts +49 -0
  450. package/src/query/getEnsAvatar.ts +49 -0
  451. package/src/query/getEnsName.ts +49 -0
  452. package/src/query/getEnsResolver.ts +49 -0
  453. package/src/query/getToken.ts +49 -0
  454. package/src/query/getTransaction.ts +75 -0
  455. package/src/query/getWalletClient.ts +65 -0
  456. package/src/query/readContract.ts +88 -0
  457. package/src/query/readContracts.ts +98 -0
  458. package/src/query/reconnect.ts +42 -0
  459. package/src/query/sendTransaction.ts +65 -0
  460. package/src/query/signMessage.ts +42 -0
  461. package/src/query/signTypedData.ts +75 -0
  462. package/src/query/simulateContract.ts +128 -0
  463. package/src/query/switchAccount.ts +52 -0
  464. package/src/query/switchChain.ts +67 -0
  465. package/src/query/types.ts +52 -0
  466. package/src/query/utils.ts +54 -0
  467. package/src/query/waitForTransactionReceipt.ts +71 -0
  468. package/src/query/writeContract.ts +116 -0
  469. package/src/types/chain.ts +25 -0
  470. package/src/types/properties.ts +21 -0
  471. package/src/types/register.ts +8 -0
  472. package/src/types/unit.ts +1 -0
  473. package/src/types/utils.ts +93 -0
  474. package/src/utils/assertActiveChain.ts +26 -0
  475. package/src/utils/deepEqual.ts +43 -0
  476. package/src/utils/deserialize.ts +10 -0
  477. package/src/utils/getUnit.ts +9 -0
  478. package/src/utils/getVersion.ts +3 -0
  479. package/src/utils/normalizeChainId.ts +12 -0
  480. package/src/utils/serialize.ts +116 -0
  481. package/src/utils/uid.ts +14 -0
  482. package/src/version.ts +1 -0
  483. package/connectors/coinbaseWallet/package.json +0 -4
  484. package/connectors/injected/package.json +0 -4
  485. package/connectors/ledger/package.json +0 -4
  486. package/connectors/metaMask/package.json +0 -4
  487. package/connectors/mock/package.json +0 -4
  488. package/connectors/package.json +0 -4
  489. package/connectors/safe/package.json +0 -4
  490. package/connectors/walletConnect/package.json +0 -4
  491. package/connectors/walletConnectLegacy/package.json +0 -4
  492. package/dist/chains.d.ts +0 -2
  493. package/dist/chains.js +0 -2
  494. package/dist/chunk-4E64EZ7V.js +0 -7
  495. package/dist/chunk-BVC4KGLQ.js +0 -8
  496. package/dist/chunk-EQOEZP46.js +0 -6
  497. package/dist/chunk-KFW652VN.js +0 -7
  498. package/dist/chunk-LAFZBYO7.js +0 -2934
  499. package/dist/chunk-MQXBDTVK.js +0 -29
  500. package/dist/connectors/coinbaseWallet.d.ts +0 -1
  501. package/dist/connectors/coinbaseWallet.js +0 -7
  502. package/dist/connectors/index.d.ts +0 -2
  503. package/dist/connectors/index.js +0 -9
  504. package/dist/connectors/injected.d.ts +0 -1
  505. package/dist/connectors/injected.js +0 -7
  506. package/dist/connectors/ledger.d.ts +0 -1
  507. package/dist/connectors/ledger.js +0 -7
  508. package/dist/connectors/metaMask.d.ts +0 -1
  509. package/dist/connectors/metaMask.js +0 -7
  510. package/dist/connectors/mock.d.ts +0 -1
  511. package/dist/connectors/mock.js +0 -9
  512. package/dist/connectors/safe.d.ts +0 -1
  513. package/dist/connectors/safe.js +0 -7
  514. package/dist/connectors/walletConnect.d.ts +0 -1
  515. package/dist/connectors/walletConnect.js +0 -7
  516. package/dist/connectors/walletConnectLegacy.d.ts +0 -1
  517. package/dist/connectors/walletConnectLegacy.js +0 -7
  518. package/dist/index-e744bbc2.d.ts +0 -22
  519. package/dist/index.d.ts +0 -1397
  520. package/dist/index.js +0 -135
  521. package/dist/internal/index.d.ts +0 -24
  522. package/dist/internal/index.js +0 -10
  523. package/dist/internal/test.d.ts +0 -438
  524. package/dist/internal/test.js +0 -160
  525. package/dist/providers/alchemy.d.ts +0 -11
  526. package/dist/providers/alchemy.js +0 -29
  527. package/dist/providers/infura.d.ts +0 -11
  528. package/dist/providers/infura.js +0 -29
  529. package/dist/providers/jsonRpc.d.ts +0 -13
  530. package/dist/providers/jsonRpc.js +0 -28
  531. package/dist/providers/public.d.ts +0 -7
  532. package/dist/providers/public.js +0 -16
  533. package/dist/window.d.ts +0 -7
  534. package/dist/window.js +0 -0
  535. package/internal/test/package.json +0 -4
  536. package/providers/alchemy/package.json +0 -4
  537. package/providers/infura/package.json +0 -4
  538. package/providers/jsonRpc/package.json +0 -4
  539. package/providers/public/package.json +0 -4
  540. package/window/package.json +0 -4
@@ -0,0 +1,65 @@
1
+ import type { MutateOptions, MutationOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type SendTransactionError,
5
+ type SendTransactionParameters,
6
+ type SendTransactionReturnType,
7
+ sendTransaction,
8
+ } from '../actions/sendTransaction.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import type { Evaluate } from '../types/utils.js'
11
+
12
+ export function sendTransactionMutationOptions<config extends Config>(
13
+ config: config,
14
+ ) {
15
+ return {
16
+ mutationFn(variables) {
17
+ return sendTransaction(config, variables)
18
+ },
19
+ mutationKey: ['sendTransaction'],
20
+ } as const satisfies MutationOptions<
21
+ SendTransactionData,
22
+ SendTransactionError,
23
+ SendTransactionVariables<config, config['chains'][number]['id']>
24
+ >
25
+ }
26
+
27
+ export type SendTransactionData = Evaluate<SendTransactionReturnType>
28
+
29
+ export type SendTransactionVariables<
30
+ config extends Config,
31
+ chainId extends config['chains'][number]['id'],
32
+ > = SendTransactionParameters<config, chainId>
33
+
34
+ export type SendTransactionMutate<config extends Config, context = unknown> = <
35
+ chainId extends config['chains'][number]['id'],
36
+ >(
37
+ variables: SendTransactionVariables<config, chainId>,
38
+ options?:
39
+ | Evaluate<
40
+ MutateOptions<
41
+ SendTransactionData,
42
+ SendTransactionError,
43
+ Evaluate<SendTransactionVariables<config, chainId>>,
44
+ context
45
+ >
46
+ >
47
+ | undefined,
48
+ ) => void
49
+
50
+ export type SendTransactionMutateAsync<
51
+ config extends Config,
52
+ context = unknown,
53
+ > = <chainId extends config['chains'][number]['id']>(
54
+ variables: SendTransactionVariables<config, chainId>,
55
+ options?:
56
+ | Evaluate<
57
+ MutateOptions<
58
+ SendTransactionData,
59
+ SendTransactionError,
60
+ Evaluate<SendTransactionVariables<config, chainId>>,
61
+ context
62
+ >
63
+ >
64
+ | undefined,
65
+ ) => Promise<SendTransactionData>
@@ -0,0 +1,42 @@
1
+ import type { MutationOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type SignMessageError,
5
+ type SignMessageParameters,
6
+ type SignMessageReturnType,
7
+ signMessage,
8
+ } from '../actions/signMessage.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import { type Evaluate } from '../types/utils.js'
11
+ import { type Mutate, type MutateAsync } from './types.js'
12
+
13
+ export function signMessageMutationOptions(config: Config) {
14
+ return {
15
+ mutationFn(variables) {
16
+ return signMessage(config, variables)
17
+ },
18
+ mutationKey: ['signMessage'],
19
+ } as const satisfies MutationOptions<
20
+ SignMessageData,
21
+ SignMessageError,
22
+ SignMessageVariables
23
+ >
24
+ }
25
+
26
+ export type SignMessageData = SignMessageReturnType
27
+
28
+ export type SignMessageVariables = Evaluate<SignMessageParameters>
29
+
30
+ export type SignMessageMutate<context = unknown> = Mutate<
31
+ SignMessageData,
32
+ SignMessageError,
33
+ SignMessageVariables,
34
+ context
35
+ >
36
+
37
+ export type SignMessageMutateAsync<context = unknown> = MutateAsync<
38
+ SignMessageData,
39
+ SignMessageError,
40
+ SignMessageVariables,
41
+ context
42
+ >
@@ -0,0 +1,75 @@
1
+ import type { MutateOptions, MutationOptions } from '@tanstack/query-core'
2
+
3
+ import type { TypedData } from 'viem'
4
+ import {
5
+ type SignTypedDataError,
6
+ type SignTypedDataParameters,
7
+ type SignTypedDataReturnType,
8
+ signTypedData,
9
+ } from '../actions/signTypedData.js'
10
+ import { type Config } from '../createConfig.js'
11
+ import type { Evaluate } from '../types/utils.js'
12
+
13
+ export function signTypedDataMutationOptions<config extends Config>(
14
+ config: config,
15
+ ) {
16
+ return {
17
+ mutationFn(variables) {
18
+ return signTypedData(config, variables)
19
+ },
20
+ mutationKey: ['signTypedData'],
21
+ } as const satisfies MutationOptions<
22
+ SignTypedDataData,
23
+ SignTypedDataError,
24
+ SignTypedDataVariables
25
+ >
26
+ }
27
+
28
+ export type SignTypedDataData = Evaluate<SignTypedDataReturnType>
29
+
30
+ export type SignTypedDataVariables<
31
+ typedData extends TypedData | Record<string, unknown> = TypedData,
32
+ primaryType extends keyof typedData | 'EIP712Domain' = keyof typedData,
33
+ ///
34
+ primaryTypes = typedData extends TypedData ? keyof typedData : string,
35
+ > = SignTypedDataParameters<typedData, primaryType, primaryTypes>
36
+
37
+ export type SignTypedDataMutate<context = unknown> = <
38
+ const typedData extends TypedData | Record<string, unknown>,
39
+ primaryType extends keyof typedData | 'EIP712Domain',
40
+ >(
41
+ variables: SignTypedDataVariables<typedData, primaryType>,
42
+ options?:
43
+ | MutateOptions<
44
+ SignTypedDataData,
45
+ SignTypedDataError,
46
+ SignTypedDataVariables<
47
+ typedData,
48
+ primaryType,
49
+ // use `primaryType` to make sure it's not union of all possible primary types
50
+ primaryType
51
+ >,
52
+ context
53
+ >
54
+ | undefined,
55
+ ) => void
56
+
57
+ export type SignTypedDataMutateAsync<context = unknown> = <
58
+ const typedData extends TypedData | Record<string, unknown>,
59
+ primaryType extends keyof typedData | 'EIP712Domain',
60
+ >(
61
+ variables: SignTypedDataVariables<typedData, primaryType>,
62
+ options?:
63
+ | MutateOptions<
64
+ SignTypedDataData,
65
+ SignTypedDataError,
66
+ SignTypedDataVariables<
67
+ typedData,
68
+ primaryType,
69
+ // use `primaryType` to make sure it's not union of all possible primary types
70
+ primaryType
71
+ >,
72
+ context
73
+ >
74
+ | undefined,
75
+ ) => Promise<SignTypedDataData>
@@ -0,0 +1,128 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+ import type { Abi, ContractFunctionArgs, ContractFunctionName } from 'viem'
3
+
4
+ import {
5
+ type SimulateContractError,
6
+ type SimulateContractParameters,
7
+ type SimulateContractReturnType,
8
+ simulateContract,
9
+ } from '../actions/simulateContract.js'
10
+ import type { Config } from '../createConfig.js'
11
+ import type { UnionPartial } from '../types/utils.js'
12
+ import type { ScopeKeyParameter } from './types.js'
13
+ import { filterQueryOptions } from './utils.js'
14
+
15
+ export type SimulateContractOptions<
16
+ abi extends Abi | readonly unknown[],
17
+ functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>,
18
+ args extends ContractFunctionArgs<
19
+ abi,
20
+ 'nonpayable' | 'payable',
21
+ functionName
22
+ >,
23
+ config extends Config,
24
+ chainId extends config['chains'][number]['id'] | undefined,
25
+ > = UnionPartial<
26
+ SimulateContractParameters<abi, functionName, args, config, chainId>
27
+ > &
28
+ ScopeKeyParameter
29
+
30
+ export function simulateContractQueryOptions<
31
+ const abi extends Abi | readonly unknown[],
32
+ functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>,
33
+ args extends ContractFunctionArgs<
34
+ abi,
35
+ 'nonpayable' | 'payable',
36
+ functionName
37
+ >,
38
+ config extends Config,
39
+ chainId extends config['chains'][number]['id'] | undefined,
40
+ >(
41
+ config: config,
42
+ options: SimulateContractOptions<
43
+ abi,
44
+ functionName,
45
+ args,
46
+ config,
47
+ chainId
48
+ > = {} as any,
49
+ ) {
50
+ return {
51
+ async queryFn({ queryKey }) {
52
+ const { abi, connector } = options
53
+ if (!abi) throw new Error('abi is required')
54
+ const { scopeKey: _, ...parameters } = queryKey[1]
55
+ const { address, functionName } = parameters
56
+ if (!address) throw new Error('address is required')
57
+ if (!functionName) throw new Error('functionName is required')
58
+ return simulateContract(config, { abi, connector, ...parameters } as any)
59
+ },
60
+ queryKey: simulateContractQueryKey(options),
61
+ } as const satisfies QueryOptions<
62
+ SimulateContractQueryFnData<abi, functionName, args, config, chainId>,
63
+ SimulateContractError,
64
+ SimulateContractData<abi, functionName, args, config, chainId>,
65
+ SimulateContractQueryKey<abi, functionName, args, config, chainId>
66
+ >
67
+ }
68
+
69
+ export type SimulateContractQueryFnData<
70
+ abi extends Abi | readonly unknown[],
71
+ functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>,
72
+ args extends ContractFunctionArgs<
73
+ abi,
74
+ 'nonpayable' | 'payable',
75
+ functionName
76
+ >,
77
+ config extends Config,
78
+ chainId extends config['chains'][number]['id'] | undefined,
79
+ > = SimulateContractReturnType<abi, functionName, args, config, chainId>
80
+
81
+ export type SimulateContractData<
82
+ abi extends Abi | readonly unknown[],
83
+ functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>,
84
+ args extends ContractFunctionArgs<
85
+ abi,
86
+ 'nonpayable' | 'payable',
87
+ functionName
88
+ >,
89
+ config extends Config,
90
+ chainId extends config['chains'][number]['id'] | undefined,
91
+ > = SimulateContractQueryFnData<abi, functionName, args, config, chainId>
92
+
93
+ export function simulateContractQueryKey<
94
+ abi extends Abi | readonly unknown[],
95
+ functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>,
96
+ args extends ContractFunctionArgs<
97
+ abi,
98
+ 'nonpayable' | 'payable',
99
+ functionName
100
+ >,
101
+ config extends Config,
102
+ chainId extends config['chains'][number]['id'] | undefined,
103
+ >(
104
+ options: SimulateContractOptions<
105
+ abi,
106
+ functionName,
107
+ args,
108
+ config,
109
+ chainId
110
+ > = {} as any,
111
+ ) {
112
+ const { abi: _, connector: _c, ...rest } = options
113
+ return ['simulateContract', filterQueryOptions(rest)] as const
114
+ }
115
+
116
+ export type SimulateContractQueryKey<
117
+ abi extends Abi | readonly unknown[],
118
+ functionName extends ContractFunctionName<abi, 'nonpayable' | 'payable'>,
119
+ args extends ContractFunctionArgs<
120
+ abi,
121
+ 'nonpayable' | 'payable',
122
+ functionName
123
+ >,
124
+ config extends Config,
125
+ chainId extends config['chains'][number]['id'] | undefined,
126
+ > = ReturnType<
127
+ typeof simulateContractQueryKey<abi, functionName, args, config, chainId>
128
+ >
@@ -0,0 +1,52 @@
1
+ import type { MutationOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type SwitchAccountError,
5
+ type SwitchAccountParameters,
6
+ type SwitchAccountReturnType,
7
+ switchAccount,
8
+ } from '../actions/switchAccount.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import type { Evaluate } from '../types/utils.js'
11
+ import type { Mutate, MutateAsync } from './types.js'
12
+
13
+ export function switchAccountMutationOptions<config extends Config>(
14
+ config: config,
15
+ ) {
16
+ return {
17
+ mutationFn(variables) {
18
+ return switchAccount(config, variables)
19
+ },
20
+ mutationKey: ['switchAccount'],
21
+ } as const satisfies MutationOptions<
22
+ SwitchAccountData<config>,
23
+ SwitchAccountError,
24
+ SwitchAccountVariables
25
+ >
26
+ }
27
+
28
+ export type SwitchAccountData<config extends Config> = Evaluate<
29
+ SwitchAccountReturnType<config>
30
+ >
31
+
32
+ export type SwitchAccountVariables = Evaluate<SwitchAccountParameters>
33
+
34
+ export type SwitchAccountMutate<
35
+ config extends Config,
36
+ context = unknown,
37
+ > = Mutate<
38
+ SwitchAccountData<config>,
39
+ SwitchAccountError,
40
+ SwitchAccountVariables,
41
+ context
42
+ >
43
+
44
+ export type SwitchAccountMutateAsync<
45
+ config extends Config,
46
+ context = unknown,
47
+ > = MutateAsync<
48
+ SwitchAccountData<config>,
49
+ SwitchAccountError,
50
+ SwitchAccountVariables,
51
+ context
52
+ >
@@ -0,0 +1,67 @@
1
+ import type { MutateOptions, MutationOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type SwitchChainError,
5
+ type SwitchChainParameters,
6
+ type SwitchChainReturnType,
7
+ switchChain,
8
+ } from '../actions/switchChain.js'
9
+ import { type Config } from '../createConfig.js'
10
+ import type { Evaluate } from '../types/utils.js'
11
+
12
+ export function switchChainMutationOptions<config extends Config>(
13
+ config: config,
14
+ ) {
15
+ return {
16
+ mutationFn(variables) {
17
+ return switchChain(config, variables)
18
+ },
19
+ mutationKey: ['switchChain'],
20
+ } as const satisfies MutationOptions<
21
+ SwitchChainData<config, config['chains'][number]['id']>,
22
+ SwitchChainError,
23
+ SwitchChainVariables<config, config['chains'][number]['id']>
24
+ >
25
+ }
26
+
27
+ export type SwitchChainData<
28
+ config extends Config,
29
+ chainId extends config['chains'][number]['id'],
30
+ > = Evaluate<SwitchChainReturnType<config, chainId>>
31
+
32
+ export type SwitchChainVariables<
33
+ config extends Config,
34
+ chainId extends config['chains'][number]['id'],
35
+ > = Evaluate<SwitchChainParameters<config, chainId>>
36
+
37
+ export type SwitchChainMutate<config extends Config, context = unknown> = <
38
+ chainId extends config['chains'][number]['id'],
39
+ >(
40
+ variables: SwitchChainVariables<config, chainId>,
41
+ options?:
42
+ | Evaluate<
43
+ MutateOptions<
44
+ SwitchChainData<config, chainId>,
45
+ SwitchChainError,
46
+ Evaluate<SwitchChainVariables<config, chainId>>,
47
+ context
48
+ >
49
+ >
50
+ | undefined,
51
+ ) => void
52
+
53
+ export type SwitchChainMutateAsync<config extends Config, context = unknown> = <
54
+ chainId extends config['chains'][number]['id'],
55
+ >(
56
+ variables: SwitchChainVariables<config, chainId>,
57
+ options?:
58
+ | Evaluate<
59
+ MutateOptions<
60
+ SwitchChainData<config, chainId>,
61
+ SwitchChainError,
62
+ Evaluate<SwitchChainVariables<config, chainId>>,
63
+ context
64
+ >
65
+ >
66
+ | undefined,
67
+ ) => Promise<SwitchChainData<config, chainId>>
@@ -0,0 +1,52 @@
1
+ import type { Evaluate } from '../types/utils.js'
2
+
3
+ export type ScopeKeyParameter = { scopeKey?: string | undefined }
4
+
5
+ type MutateFn<
6
+ data = unknown,
7
+ error = unknown,
8
+ variables = void,
9
+ context = unknown,
10
+ > = undefined extends variables
11
+ ? (
12
+ variables?: variables,
13
+ options?:
14
+ | Evaluate<
15
+ import('@tanstack/query-core').MutateOptions<
16
+ data,
17
+ error,
18
+ variables,
19
+ context
20
+ >
21
+ >
22
+ | undefined,
23
+ ) => Promise<data>
24
+ : (
25
+ variables: variables,
26
+ options?:
27
+ | Evaluate<
28
+ import('@tanstack/query-core').MutateOptions<
29
+ data,
30
+ error,
31
+ variables,
32
+ context
33
+ >
34
+ >
35
+ | undefined,
36
+ ) => Promise<data>
37
+
38
+ export type Mutate<
39
+ data = unknown,
40
+ error = unknown,
41
+ variables = void,
42
+ context = unknown,
43
+ > = (
44
+ ...args: Parameters<MutateFn<data, error, Evaluate<variables>, context>>
45
+ ) => void
46
+
47
+ export type MutateAsync<
48
+ data = unknown,
49
+ error = unknown,
50
+ variables = void,
51
+ context = unknown,
52
+ > = MutateFn<data, error, Evaluate<variables>, context>
@@ -0,0 +1,54 @@
1
+ import type { QueryKey } from '@tanstack/query-core'
2
+
3
+ export function hashFn(queryKey: QueryKey): string {
4
+ return JSON.stringify(queryKey, (_, value) => {
5
+ if (isPlainObject(value))
6
+ return Object.keys(value)
7
+ .sort()
8
+ .reduce((result, key) => {
9
+ result[key] = value[key]
10
+ return result
11
+ }, {} as any)
12
+ if (typeof value === 'bigint') return value.toString()
13
+ return value
14
+ })
15
+ }
16
+
17
+ function isPlainObject(o: any): o is Object {
18
+ if (!hasObjectPrototype(o)) {
19
+ return false
20
+ }
21
+
22
+ // If has modified constructor
23
+ const ctor = o.constructor
24
+ if (typeof ctor === 'undefined') return true
25
+
26
+ // If has modified prototype
27
+ const prot = ctor.prototype
28
+ if (!hasObjectPrototype(prot)) return false
29
+
30
+ // If constructor does not have an Object-specific method
31
+ // biome-ignore lint/suspicious/noPrototypeBuiltins: <explanation>
32
+ if (!prot.hasOwnProperty('isPrototypeOf')) return false
33
+
34
+ // Most likely a plain Object
35
+ return true
36
+ }
37
+
38
+ function hasObjectPrototype(o: any): boolean {
39
+ return Object.prototype.toString.call(o) === '[object Object]'
40
+ }
41
+
42
+ export function filterQueryOptions<type extends Record<string, unknown>>(
43
+ options: type,
44
+ ): type {
45
+ // destructuring is super fast
46
+ // biome-ignore format: no formatting
47
+ const {
48
+ // biome-ignore lint/correctness/noUnusedVariables: remove properties
49
+ config, connector, query,
50
+ ...rest
51
+ } = options
52
+
53
+ return rest as type
54
+ }
@@ -0,0 +1,71 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type WaitForTransactionReceiptError,
5
+ type WaitForTransactionReceiptParameters,
6
+ type WaitForTransactionReceiptReturnType,
7
+ waitForTransactionReceipt,
8
+ } from '../actions/waitForTransactionReceipt.js'
9
+ import type { Config } from '../createConfig.js'
10
+ import type { Evaluate, ExactPartial } from '../types/utils.js'
11
+ import type { ScopeKeyParameter } from './types.js'
12
+ import { filterQueryOptions } from './utils.js'
13
+
14
+ export type WaitForTransactionReceiptOptions<
15
+ config extends Config,
16
+ chainId extends config['chains'][number]['id'],
17
+ > = Evaluate<
18
+ ExactPartial<WaitForTransactionReceiptParameters<config, chainId>> &
19
+ ScopeKeyParameter
20
+ >
21
+
22
+ export function waitForTransactionReceiptQueryOptions<
23
+ config extends Config,
24
+ chainId extends config['chains'][number]['id'],
25
+ >(
26
+ config: Config,
27
+ options: WaitForTransactionReceiptOptions<config, chainId> = {},
28
+ ) {
29
+ return {
30
+ async queryFn({ queryKey }) {
31
+ const { hash, ...parameters } = queryKey[1]
32
+ if (!hash) throw new Error('hash is required')
33
+ return waitForTransactionReceipt(config, {
34
+ ...parameters,
35
+ onReplaced: options.onReplaced,
36
+ hash,
37
+ }) as unknown as Promise<
38
+ WaitForTransactionReceiptReturnType<config, chainId>
39
+ >
40
+ },
41
+ queryKey: waitForTransactionReceiptQueryKey(options),
42
+ } as const satisfies QueryOptions<
43
+ WaitForTransactionReceiptQueryFnData<config, chainId>,
44
+ WaitForTransactionReceiptError,
45
+ WaitForTransactionReceiptData<config, chainId>,
46
+ WaitForTransactionReceiptQueryKey<config, chainId>
47
+ >
48
+ }
49
+
50
+ export type WaitForTransactionReceiptQueryFnData<
51
+ config extends Config,
52
+ chainId extends config['chains'][number]['id'],
53
+ > = WaitForTransactionReceiptReturnType<config, chainId>
54
+
55
+ export type WaitForTransactionReceiptData<
56
+ config extends Config,
57
+ chainId extends config['chains'][number]['id'],
58
+ > = WaitForTransactionReceiptQueryFnData<config, chainId>
59
+
60
+ export function waitForTransactionReceiptQueryKey<
61
+ config extends Config,
62
+ chainId extends config['chains'][number]['id'],
63
+ >(options: WaitForTransactionReceiptOptions<config, chainId> = {}) {
64
+ const { onReplaced: _, ...rest } = options
65
+ return ['waitForTransactionReceipt', filterQueryOptions(rest)] as const
66
+ }
67
+
68
+ export type WaitForTransactionReceiptQueryKey<
69
+ config extends Config,
70
+ chainId extends config['chains'][number]['id'],
71
+ > = ReturnType<typeof waitForTransactionReceiptQueryKey<config, chainId>>