@wagmi/core 1.4.1 → 2.0.0

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 (523) hide show
  1. package/dist/esm/actions/connect.js +53 -0
  2. package/dist/esm/actions/connect.js.map +1 -0
  3. package/dist/esm/actions/disconnect.js +49 -0
  4. package/dist/esm/actions/disconnect.js.map +1 -0
  5. package/dist/esm/actions/estimateFeesPerGas.js +24 -0
  6. package/dist/esm/actions/estimateFeesPerGas.js.map +1 -0
  7. package/dist/esm/actions/estimateGas.js +25 -0
  8. package/dist/esm/actions/estimateGas.js.map +1 -0
  9. package/dist/esm/actions/getAccount.js +61 -0
  10. package/dist/esm/actions/getAccount.js.map +1 -0
  11. package/dist/esm/actions/getBalance.js +83 -0
  12. package/dist/esm/actions/getBalance.js.map +1 -0
  13. package/dist/esm/actions/getBlockNumber.js +9 -0
  14. package/dist/esm/actions/getBlockNumber.js.map +1 -0
  15. package/dist/esm/actions/getChainId.js +5 -0
  16. package/dist/esm/actions/getChainId.js.map +1 -0
  17. package/dist/esm/actions/getClient.js +5 -0
  18. package/dist/esm/actions/getClient.js.map +1 -0
  19. package/dist/esm/actions/getConnections.js +13 -0
  20. package/dist/esm/actions/getConnections.js.map +1 -0
  21. package/dist/esm/actions/getConnectorClient.js +42 -0
  22. package/dist/esm/actions/getConnectorClient.js.map +1 -0
  23. package/dist/esm/actions/getEnsAddress.js +9 -0
  24. package/dist/esm/actions/getEnsAddress.js.map +1 -0
  25. package/dist/esm/actions/getEnsAvatar.js +9 -0
  26. package/dist/esm/actions/getEnsAvatar.js.map +1 -0
  27. package/dist/esm/actions/getEnsName.js +9 -0
  28. package/dist/esm/actions/getEnsName.js.map +1 -0
  29. package/dist/esm/actions/getEnsResolver.js +9 -0
  30. package/dist/esm/actions/getEnsResolver.js.map +1 -0
  31. package/dist/esm/actions/getPublicClient.js +6 -0
  32. package/dist/esm/actions/getPublicClient.js.map +1 -0
  33. package/dist/esm/actions/getToken.js +101 -0
  34. package/dist/esm/actions/getToken.js.map +1 -0
  35. package/dist/esm/actions/getTransaction.js +10 -0
  36. package/dist/esm/actions/getTransaction.js.map +1 -0
  37. package/dist/esm/actions/getWalletClient.js +7 -0
  38. package/dist/esm/actions/getWalletClient.js.map +1 -0
  39. package/dist/esm/actions/multicall.js +11 -0
  40. package/dist/esm/actions/multicall.js.map +1 -0
  41. package/dist/esm/actions/readContract.js +10 -0
  42. package/dist/esm/actions/readContract.js.map +1 -0
  43. package/dist/esm/actions/readContracts.js +46 -0
  44. package/dist/esm/actions/readContracts.js.map +1 -0
  45. package/dist/esm/actions/reconnect.js +78 -0
  46. package/dist/esm/actions/reconnect.js.map +1 -0
  47. package/dist/esm/actions/sendTransaction.js +22 -0
  48. package/dist/esm/actions/sendTransaction.js.map +1 -0
  49. package/dist/esm/actions/signMessage.js +10 -0
  50. package/dist/esm/actions/signMessage.js.map +1 -0
  51. package/dist/esm/actions/signTypedData.js +10 -0
  52. package/dist/esm/actions/signTypedData.js.map +1 -0
  53. package/dist/esm/actions/simulateContract.js +33 -0
  54. package/dist/esm/actions/simulateContract.js.map +1 -0
  55. package/dist/esm/actions/switchAccount.js +19 -0
  56. package/dist/esm/actions/switchAccount.js.map +1 -0
  57. package/dist/esm/actions/switchChain.js +23 -0
  58. package/dist/esm/actions/switchChain.js.map +1 -0
  59. package/dist/esm/actions/waitForTransactionReceipt.js +23 -0
  60. package/dist/esm/actions/waitForTransactionReceipt.js.map +1 -0
  61. package/dist/esm/actions/watchAccount.js +18 -0
  62. package/dist/esm/actions/watchAccount.js.map +1 -0
  63. package/dist/esm/actions/watchBlockNumber.js +28 -0
  64. package/dist/esm/actions/watchBlockNumber.js.map +1 -0
  65. package/dist/esm/actions/watchChainId.js +6 -0
  66. package/dist/esm/actions/watchChainId.js.map +1 -0
  67. package/dist/esm/actions/watchClient.js +11 -0
  68. package/dist/esm/actions/watchClient.js.map +1 -0
  69. package/dist/esm/actions/watchConnections.js +10 -0
  70. package/dist/esm/actions/watchConnections.js.map +1 -0
  71. package/dist/esm/actions/watchContractEvent.js +27 -0
  72. package/dist/esm/actions/watchContractEvent.js.map +1 -0
  73. package/dist/esm/actions/watchPendingTransactions.js +27 -0
  74. package/dist/esm/actions/watchPendingTransactions.js.map +1 -0
  75. package/dist/esm/actions/watchPublicClient.js +11 -0
  76. package/dist/esm/actions/watchPublicClient.js.map +1 -0
  77. package/dist/esm/actions/writeContract.js +31 -0
  78. package/dist/esm/actions/writeContract.js.map +1 -0
  79. package/dist/esm/createConfig.js +218 -0
  80. package/dist/esm/createConfig.js.map +1 -0
  81. package/dist/esm/createConnector.js +8 -0
  82. package/dist/esm/createConnector.js.map +1 -0
  83. package/dist/esm/createEmitter.js +39 -0
  84. package/dist/esm/createEmitter.js.map +1 -0
  85. package/dist/esm/createStorage.js +37 -0
  86. package/dist/esm/createStorage.js.map +1 -0
  87. package/dist/esm/errors/base.js +86 -0
  88. package/dist/esm/errors/base.js.map +1 -0
  89. package/dist/esm/errors/config.js +70 -0
  90. package/dist/esm/errors/config.js.map +1 -0
  91. package/dist/esm/errors/connector.js +24 -0
  92. package/dist/esm/errors/connector.js.map +1 -0
  93. package/dist/esm/exports/actions.js +42 -0
  94. package/dist/esm/exports/actions.js.map +1 -0
  95. package/dist/esm/exports/chains.js +4 -0
  96. package/dist/esm/exports/chains.js.map +1 -0
  97. package/dist/esm/exports/index.js +71 -0
  98. package/dist/esm/exports/index.js.map +1 -0
  99. package/dist/esm/exports/internal.js +11 -0
  100. package/dist/esm/exports/internal.js.map +1 -0
  101. package/dist/esm/exports/query.js +29 -0
  102. package/dist/esm/exports/query.js.map +1 -0
  103. package/dist/esm/query/connect.js +11 -0
  104. package/dist/esm/query/connect.js.map +1 -0
  105. package/dist/esm/query/disconnect.js +10 -0
  106. package/dist/esm/query/disconnect.js.map +1 -0
  107. package/dist/esm/query/estimateFeesPerGas.js +16 -0
  108. package/dist/esm/query/estimateFeesPerGas.js.map +1 -0
  109. package/dist/esm/query/estimateGas.js +20 -0
  110. package/dist/esm/query/estimateGas.js.map +1 -0
  111. package/dist/esm/query/getBalance.js +21 -0
  112. package/dist/esm/query/getBalance.js.map +1 -0
  113. package/dist/esm/query/getBlockNumber.js +18 -0
  114. package/dist/esm/query/getBlockNumber.js.map +1 -0
  115. package/dist/esm/query/getConnectorClient.js +24 -0
  116. package/dist/esm/query/getConnectorClient.js.map +1 -0
  117. package/dist/esm/query/getEnsAddress.js +18 -0
  118. package/dist/esm/query/getEnsAddress.js.map +1 -0
  119. package/dist/esm/query/getEnsAvatar.js +18 -0
  120. package/dist/esm/query/getEnsAvatar.js.map +1 -0
  121. package/dist/esm/query/getEnsName.js +18 -0
  122. package/dist/esm/query/getEnsName.js.map +1 -0
  123. package/dist/esm/query/getEnsResolver.js +18 -0
  124. package/dist/esm/query/getEnsResolver.js.map +1 -0
  125. package/dist/esm/query/getToken.js +18 -0
  126. package/dist/esm/query/getToken.js.map +1 -0
  127. package/dist/esm/query/getTransaction.js +20 -0
  128. package/dist/esm/query/getTransaction.js.map +1 -0
  129. package/dist/esm/query/getWalletClient.js +21 -0
  130. package/dist/esm/query/getWalletClient.js.map +1 -0
  131. package/dist/esm/query/readContract.js +32 -0
  132. package/dist/esm/query/readContract.js.map +1 -0
  133. package/dist/esm/query/readContracts.js +36 -0
  134. package/dist/esm/query/readContracts.js.map +1 -0
  135. package/dist/esm/query/reconnect.js +10 -0
  136. package/dist/esm/query/reconnect.js.map +1 -0
  137. package/dist/esm/query/sendTransaction.js +11 -0
  138. package/dist/esm/query/sendTransaction.js.map +1 -0
  139. package/dist/esm/query/signMessage.js +13 -0
  140. package/dist/esm/query/signMessage.js.map +1 -0
  141. package/dist/esm/query/signTypedData.js +11 -0
  142. package/dist/esm/query/signTypedData.js.map +1 -0
  143. package/dist/esm/query/simulateContract.js +25 -0
  144. package/dist/esm/query/simulateContract.js.map +1 -0
  145. package/dist/esm/query/switchAccount.js +11 -0
  146. package/dist/esm/query/switchAccount.js.map +1 -0
  147. package/dist/esm/query/switchChain.js +11 -0
  148. package/dist/esm/query/switchChain.js.map +1 -0
  149. package/dist/esm/query/types.js +2 -0
  150. package/dist/esm/query/types.js.map +1 -0
  151. package/dist/esm/query/utils.js +45 -0
  152. package/dist/esm/query/utils.js.map +1 -0
  153. package/dist/esm/query/waitForTransactionReceipt.js +23 -0
  154. package/dist/esm/query/waitForTransactionReceipt.js.map +1 -0
  155. package/dist/esm/query/writeContract.js +11 -0
  156. package/dist/esm/query/writeContract.js.map +1 -0
  157. package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
  158. package/dist/esm/types/chain.js +2 -0
  159. package/dist/esm/types/chain.js.map +1 -0
  160. package/dist/esm/types/properties.js +2 -0
  161. package/dist/esm/types/properties.js.map +1 -0
  162. package/dist/esm/types/register.js +2 -0
  163. package/dist/esm/types/register.js.map +1 -0
  164. package/dist/esm/types/unit.js +2 -0
  165. package/dist/esm/types/unit.js.map +1 -0
  166. package/dist/esm/types/utils.js +2 -0
  167. package/dist/esm/types/utils.js.map +1 -0
  168. package/dist/esm/utils/assertActiveChain.js +14 -0
  169. package/dist/esm/utils/assertActiveChain.js.map +1 -0
  170. package/dist/esm/utils/deepEqual.js +41 -0
  171. package/dist/esm/utils/deepEqual.js.map +1 -0
  172. package/dist/esm/utils/deserialize.js +11 -0
  173. package/dist/esm/utils/deserialize.js.map +1 -0
  174. package/dist/esm/utils/getUnit.js +10 -0
  175. package/dist/esm/utils/getUnit.js.map +1 -0
  176. package/dist/esm/utils/getVersion.js +3 -0
  177. package/dist/esm/utils/getVersion.js.map +1 -0
  178. package/dist/esm/utils/normalizeChainId.js +10 -0
  179. package/dist/esm/utils/normalizeChainId.js.map +1 -0
  180. package/dist/esm/utils/serialize.js +87 -0
  181. package/dist/esm/utils/serialize.js.map +1 -0
  182. package/dist/esm/utils/uid.js +14 -0
  183. package/dist/esm/utils/uid.js.map +1 -0
  184. package/dist/esm/version.js +2 -0
  185. package/dist/esm/version.js.map +1 -0
  186. package/dist/types/actions/connect.d.ts +19 -0
  187. package/dist/types/actions/connect.d.ts.map +1 -0
  188. package/dist/types/actions/disconnect.d.ts +9 -0
  189. package/dist/types/actions/disconnect.d.ts.map +1 -0
  190. package/dist/types/actions/estimateFeesPerGas.d.ts +16 -0
  191. package/dist/types/actions/estimateFeesPerGas.d.ts.map +1 -0
  192. package/dist/types/actions/estimateGas.d.ts +14 -0
  193. package/dist/types/actions/estimateGas.d.ts.map +1 -0
  194. package/dist/types/actions/getAccount.d.ts +46 -0
  195. package/dist/types/actions/getAccount.d.ts.map +1 -0
  196. package/dist/types/actions/getBalance.d.ts +21 -0
  197. package/dist/types/actions/getBalance.d.ts.map +1 -0
  198. package/dist/types/actions/getBlockNumber.d.ts +10 -0
  199. package/dist/types/actions/getBlockNumber.d.ts.map +1 -0
  200. package/dist/types/actions/getChainId.d.ts +5 -0
  201. package/dist/types/actions/getChainId.d.ts.map +1 -0
  202. package/dist/types/actions/getClient.d.ts +10 -0
  203. package/dist/types/actions/getClient.d.ts.map +1 -0
  204. package/dist/types/actions/getConnections.d.ts +6 -0
  205. package/dist/types/actions/getConnections.d.ts.map +1 -0
  206. package/dist/types/actions/getConnectorClient.d.ts +15 -0
  207. package/dist/types/actions/getConnectorClient.d.ts.map +1 -0
  208. package/dist/types/actions/getEnsAddress.d.ts +10 -0
  209. package/dist/types/actions/getEnsAddress.d.ts.map +1 -0
  210. package/dist/types/actions/getEnsAvatar.d.ts +10 -0
  211. package/dist/types/actions/getEnsAvatar.d.ts.map +1 -0
  212. package/dist/types/actions/getEnsName.d.ts +10 -0
  213. package/dist/types/actions/getEnsName.d.ts.map +1 -0
  214. package/dist/types/actions/getEnsResolver.d.ts +10 -0
  215. package/dist/types/actions/getEnsResolver.d.ts.map +1 -0
  216. package/dist/types/actions/getPublicClient.d.ts +10 -0
  217. package/dist/types/actions/getPublicClient.d.ts.map +1 -0
  218. package/dist/types/actions/getToken.d.ts +22 -0
  219. package/dist/types/actions/getToken.d.ts.map +1 -0
  220. package/dist/types/actions/getTransaction.d.ts +14 -0
  221. package/dist/types/actions/getTransaction.d.ts.map +1 -0
  222. package/dist/types/actions/getWalletClient.d.ts +11 -0
  223. package/dist/types/actions/getWalletClient.d.ts.map +1 -0
  224. package/dist/types/actions/multicall.d.ts +7 -0
  225. package/dist/types/actions/multicall.d.ts.map +1 -0
  226. package/dist/types/actions/readContract.d.ts +11 -0
  227. package/dist/types/actions/readContract.d.ts.map +1 -0
  228. package/dist/types/actions/readContracts.d.ts +10 -0
  229. package/dist/types/actions/readContracts.d.ts.map +1 -0
  230. package/dist/types/actions/reconnect.d.ts +12 -0
  231. package/dist/types/actions/reconnect.d.ts.map +1 -0
  232. package/dist/types/actions/sendTransaction.d.ts +15 -0
  233. package/dist/types/actions/sendTransaction.d.ts.map +1 -0
  234. package/dist/types/actions/signMessage.d.ts +11 -0
  235. package/dist/types/actions/signMessage.d.ts.map +1 -0
  236. package/dist/types/actions/signTypedData.d.ts +10 -0
  237. package/dist/types/actions/signTypedData.d.ts.map +1 -0
  238. package/dist/types/actions/simulateContract.d.ts +21 -0
  239. package/dist/types/actions/simulateContract.d.ts.map +1 -0
  240. package/dist/types/actions/switchAccount.d.ts +14 -0
  241. package/dist/types/actions/switchAccount.d.ts.map +1 -0
  242. package/dist/types/actions/switchChain.d.ts +16 -0
  243. package/dist/types/actions/switchChain.d.ts.map +1 -0
  244. package/dist/types/actions/waitForTransactionReceipt.d.ts +12 -0
  245. package/dist/types/actions/waitForTransactionReceipt.d.ts.map +1 -0
  246. package/dist/types/actions/watchAccount.d.ts +9 -0
  247. package/dist/types/actions/watchAccount.d.ts.map +1 -0
  248. package/dist/types/actions/watchBlockNumber.d.ts +13 -0
  249. package/dist/types/actions/watchBlockNumber.d.ts.map +1 -0
  250. package/dist/types/actions/watchChainId.d.ts +9 -0
  251. package/dist/types/actions/watchChainId.d.ts.map +1 -0
  252. package/dist/types/actions/watchClient.d.ts +9 -0
  253. package/dist/types/actions/watchClient.d.ts.map +1 -0
  254. package/dist/types/actions/watchConnections.d.ts +9 -0
  255. package/dist/types/actions/watchConnections.d.ts.map +1 -0
  256. package/dist/types/actions/watchContractEvent.d.ts +13 -0
  257. package/dist/types/actions/watchContractEvent.d.ts.map +1 -0
  258. package/dist/types/actions/watchPendingTransactions.d.ts +13 -0
  259. package/dist/types/actions/watchPendingTransactions.d.ts.map +1 -0
  260. package/dist/types/actions/watchPublicClient.d.ts +9 -0
  261. package/dist/types/actions/watchPublicClient.d.ts.map +1 -0
  262. package/dist/types/actions/writeContract.d.ts +15 -0
  263. package/dist/types/actions/writeContract.d.ts.map +1 -0
  264. package/dist/types/createConfig.d.ts +72 -0
  265. package/dist/types/createConfig.d.ts.map +1 -0
  266. package/dist/types/createConnector.d.ts +57 -0
  267. package/dist/types/createConnector.d.ts.map +1 -0
  268. package/dist/types/createEmitter.d.ts +31 -0
  269. package/dist/types/createEmitter.d.ts.map +1 -0
  270. package/dist/types/createStorage.d.ts +30 -0
  271. package/dist/types/createStorage.d.ts.map +1 -0
  272. package/dist/types/errors/base.d.ts +24 -0
  273. package/dist/types/errors/base.d.ts.map +1 -0
  274. package/dist/types/errors/config.d.ts +34 -0
  275. package/dist/types/errors/config.d.ts.map +1 -0
  276. package/dist/types/errors/connector.d.ts +13 -0
  277. package/dist/types/errors/connector.d.ts.map +1 -0
  278. package/dist/types/exports/actions.d.ts +40 -0
  279. package/dist/types/exports/actions.d.ts.map +1 -0
  280. package/dist/types/exports/chains.d.ts +2 -0
  281. package/dist/types/exports/chains.d.ts.map +1 -0
  282. package/dist/types/exports/index.d.ts +52 -0
  283. package/dist/types/exports/index.d.ts.map +1 -0
  284. package/dist/types/exports/internal.d.ts +5 -0
  285. package/dist/types/exports/internal.d.ts.map +1 -0
  286. package/dist/types/exports/query.d.ts +27 -0
  287. package/dist/types/exports/query.d.ts.map +1 -0
  288. package/dist/types/query/connect.d.ts +15 -0
  289. package/dist/types/query/connect.d.ts.map +1 -0
  290. package/dist/types/query/disconnect.d.ts +12 -0
  291. package/dist/types/query/disconnect.d.ts.map +1 -0
  292. package/dist/types/query/estimateFeesPerGas.d.ts +34 -0
  293. package/dist/types/query/estimateFeesPerGas.d.ts.map +1 -0
  294. package/dist/types/query/estimateGas.d.ts +18 -0
  295. package/dist/types/query/estimateGas.d.ts.map +1 -0
  296. package/dist/types/query/getBalance.d.ts +42 -0
  297. package/dist/types/query/getBalance.d.ts.map +1 -0
  298. package/dist/types/query/getBlockNumber.d.ts +34 -0
  299. package/dist/types/query/getBlockNumber.d.ts.map +1 -0
  300. package/dist/types/query/getConnectorClient.d.ts +319 -0
  301. package/dist/types/query/getConnectorClient.d.ts.map +1 -0
  302. package/dist/types/query/getEnsAddress.d.ts +42 -0
  303. package/dist/types/query/getEnsAddress.d.ts.map +1 -0
  304. package/dist/types/query/getEnsAvatar.d.ts +42 -0
  305. package/dist/types/query/getEnsAvatar.d.ts.map +1 -0
  306. package/dist/types/query/getEnsName.d.ts +39 -0
  307. package/dist/types/query/getEnsName.d.ts.map +1 -0
  308. package/dist/types/query/getEnsResolver.d.ts +39 -0
  309. package/dist/types/query/getEnsResolver.d.ts.map +1 -0
  310. package/dist/types/query/getToken.d.ts +33 -0
  311. package/dist/types/query/getToken.d.ts.map +1 -0
  312. package/dist/types/query/getTransaction.d.ts +110 -0
  313. package/dist/types/query/getTransaction.d.ts.map +1 -0
  314. package/dist/types/query/getWalletClient.d.ts +540 -0
  315. package/dist/types/query/getWalletClient.d.ts.map +1 -0
  316. package/dist/types/query/readContract.d.ts +19 -0
  317. package/dist/types/query/readContract.d.ts.map +1 -0
  318. package/dist/types/query/readContracts.d.ts +65 -0
  319. package/dist/types/query/readContracts.d.ts.map +1 -0
  320. package/dist/types/query/reconnect.d.ts +13 -0
  321. package/dist/types/query/reconnect.d.ts.map +1 -0
  322. package/dist/types/query/sendTransaction.d.ts +13 -0
  323. package/dist/types/query/sendTransaction.d.ts.map +1 -0
  324. package/dist/types/query/signMessage.d.ts +17 -0
  325. package/dist/types/query/signMessage.d.ts.map +1 -0
  326. package/dist/types/query/signTypedData.d.ts +219 -0
  327. package/dist/types/query/signTypedData.d.ts.map +1 -0
  328. package/dist/types/query/simulateContract.d.ts +19 -0
  329. package/dist/types/query/simulateContract.d.ts.map +1 -0
  330. package/dist/types/query/switchAccount.d.ts +15 -0
  331. package/dist/types/query/switchAccount.d.ts.map +1 -0
  332. package/dist/types/query/switchChain.d.ts +18 -0
  333. package/dist/types/query/switchChain.d.ts.map +1 -0
  334. package/dist/types/query/types.d.ts +9 -0
  335. package/dist/types/query/types.d.ts.map +1 -0
  336. package/dist/types/query/utils.d.ts +4 -0
  337. package/dist/types/query/utils.d.ts.map +1 -0
  338. package/dist/types/query/waitForTransactionReceipt.d.ts +131 -0
  339. package/dist/types/query/waitForTransactionReceipt.d.ts.map +1 -0
  340. package/dist/types/query/writeContract.d.ts +14 -0
  341. package/dist/types/query/writeContract.d.ts.map +1 -0
  342. package/dist/types/types/chain.d.ts +15 -0
  343. package/dist/types/types/chain.d.ts.map +1 -0
  344. package/dist/types/types/properties.d.ts +11 -0
  345. package/dist/types/types/properties.d.ts.map +1 -0
  346. package/dist/types/types/register.d.ts +8 -0
  347. package/dist/types/types/register.d.ts.map +1 -0
  348. package/dist/types/types/unit.d.ts +2 -0
  349. package/dist/types/types/unit.d.ts.map +1 -0
  350. package/dist/types/types/utils.d.ts +41 -0
  351. package/dist/types/types/utils.d.ts.map +1 -0
  352. package/dist/types/utils/assertActiveChain.d.ts +8 -0
  353. package/dist/types/utils/assertActiveChain.d.ts.map +1 -0
  354. package/dist/types/utils/deepEqual.d.ts +3 -0
  355. package/dist/types/utils/deepEqual.d.ts.map +1 -0
  356. package/dist/types/utils/deserialize.d.ts +4 -0
  357. package/dist/types/utils/deserialize.d.ts.map +1 -0
  358. package/dist/types/utils/getUnit.d.ts +3 -0
  359. package/dist/types/utils/getUnit.d.ts.map +1 -0
  360. package/dist/types/utils/getVersion.d.ts +2 -0
  361. package/dist/types/utils/getVersion.d.ts.map +1 -0
  362. package/dist/types/utils/normalizeChainId.d.ts +2 -0
  363. package/dist/types/utils/normalizeChainId.d.ts.map +1 -0
  364. package/dist/types/utils/serialize.d.ts +16 -0
  365. package/dist/types/utils/serialize.d.ts.map +1 -0
  366. package/dist/types/utils/uid.d.ts +2 -0
  367. package/dist/types/utils/uid.d.ts.map +1 -0
  368. package/dist/types/version.d.ts +2 -0
  369. package/dist/types/version.d.ts.map +1 -0
  370. package/package.json +65 -101
  371. package/src/actions/connect.ts +86 -0
  372. package/src/actions/disconnect.ts +68 -0
  373. package/src/actions/estimateFeesPerGas.ts +76 -0
  374. package/src/actions/estimateGas.ts +62 -0
  375. package/src/actions/getAccount.ts +109 -0
  376. package/src/actions/getBalance.ts +141 -0
  377. package/src/actions/getBlockNumber.ts +27 -0
  378. package/src/actions/getChainId.ts +11 -0
  379. package/src/actions/getClient.ts +30 -0
  380. package/src/actions/getConnections.ts +16 -0
  381. package/src/actions/getConnectorClient.ts +96 -0
  382. package/src/actions/getEnsAddress.ts +27 -0
  383. package/src/actions/getEnsAvatar.ts +27 -0
  384. package/src/actions/getEnsName.ts +27 -0
  385. package/src/actions/getEnsResolver.ts +27 -0
  386. package/src/actions/getPublicClient.ts +34 -0
  387. package/src/actions/getToken.ts +140 -0
  388. package/src/actions/getTransaction.ts +44 -0
  389. package/src/actions/getWalletClient.ts +41 -0
  390. package/src/actions/multicall.ts +37 -0
  391. package/src/actions/readContract.ts +55 -0
  392. package/src/actions/readContracts.ts +98 -0
  393. package/src/actions/reconnect.ts +102 -0
  394. package/src/actions/sendTransaction.ts +68 -0
  395. package/src/actions/signMessage.ts +29 -0
  396. package/src/actions/signTypedData.ts +36 -0
  397. package/src/actions/simulateContract.ts +161 -0
  398. package/src/actions/switchAccount.ts +37 -0
  399. package/src/actions/switchChain.ts +63 -0
  400. package/src/actions/waitForTransactionReceipt.ts +69 -0
  401. package/src/actions/watchAccount.ts +32 -0
  402. package/src/actions/watchBlockNumber.ts +78 -0
  403. package/src/actions/watchChainId.ts +20 -0
  404. package/src/actions/watchClient.ts +34 -0
  405. package/src/actions/watchConnections.ts +26 -0
  406. package/src/actions/watchContractEvent.ts +98 -0
  407. package/src/actions/watchPendingTransactions.ts +79 -0
  408. package/src/actions/watchPublicClient.ts +37 -0
  409. package/src/actions/writeContract.ts +111 -0
  410. package/src/createConfig.ts +382 -0
  411. package/src/createConnector.ts +78 -0
  412. package/src/createEmitter.ts +68 -0
  413. package/src/createStorage.ts +89 -0
  414. package/src/errors/base.ts +71 -0
  415. package/src/errors/config.ts +60 -0
  416. package/src/errors/connector.ts +17 -0
  417. package/src/exports/actions.ts +258 -0
  418. package/src/exports/chains.ts +4 -0
  419. package/src/exports/index.ts +339 -0
  420. package/src/exports/internal.ts +28 -0
  421. package/src/exports/query.ts +220 -0
  422. package/src/query/connect.ts +45 -0
  423. package/src/query/disconnect.ts +43 -0
  424. package/src/query/estimateFeesPerGas.ts +56 -0
  425. package/src/query/estimateGas.ts +55 -0
  426. package/src/query/getBalance.ts +61 -0
  427. package/src/query/getBlockNumber.ts +50 -0
  428. package/src/query/getConnectorClient.ts +68 -0
  429. package/src/query/getEnsAddress.ts +49 -0
  430. package/src/query/getEnsAvatar.ts +49 -0
  431. package/src/query/getEnsName.ts +49 -0
  432. package/src/query/getEnsResolver.ts +49 -0
  433. package/src/query/getToken.ts +49 -0
  434. package/src/query/getTransaction.ts +75 -0
  435. package/src/query/getWalletClient.ts +64 -0
  436. package/src/query/readContract.ts +88 -0
  437. package/src/query/readContracts.ts +98 -0
  438. package/src/query/reconnect.ts +42 -0
  439. package/src/query/sendTransaction.ts +65 -0
  440. package/src/query/signMessage.ts +42 -0
  441. package/src/query/signTypedData.ts +63 -0
  442. package/src/query/simulateContract.ts +128 -0
  443. package/src/query/switchAccount.ts +52 -0
  444. package/src/query/switchChain.ts +67 -0
  445. package/src/query/types.ts +52 -0
  446. package/src/query/utils.ts +54 -0
  447. package/src/query/waitForTransactionReceipt.ts +71 -0
  448. package/src/query/writeContract.ts +91 -0
  449. package/src/types/chain.ts +25 -0
  450. package/src/types/properties.ts +21 -0
  451. package/src/types/register.ts +8 -0
  452. package/src/types/unit.ts +1 -0
  453. package/src/types/utils.ts +85 -0
  454. package/src/utils/assertActiveChain.ts +26 -0
  455. package/src/utils/deepEqual.ts +43 -0
  456. package/src/utils/deserialize.ts +10 -0
  457. package/src/utils/getUnit.ts +9 -0
  458. package/src/utils/getVersion.ts +3 -0
  459. package/src/utils/normalizeChainId.ts +12 -0
  460. package/src/utils/serialize.ts +116 -0
  461. package/src/utils/uid.ts +14 -0
  462. package/src/version.ts +1 -0
  463. package/README.md +0 -30
  464. package/chains/package.json +0 -4
  465. package/connectors/coinbaseWallet/package.json +0 -4
  466. package/connectors/injected/package.json +0 -4
  467. package/connectors/ledger/package.json +0 -4
  468. package/connectors/metaMask/package.json +0 -4
  469. package/connectors/mock/package.json +0 -4
  470. package/connectors/package.json +0 -4
  471. package/connectors/safe/package.json +0 -4
  472. package/connectors/walletConnect/package.json +0 -4
  473. package/connectors/walletConnectLegacy/package.json +0 -4
  474. package/dist/chains.d.ts +0 -2
  475. package/dist/chains.js +0 -2
  476. package/dist/chunk-4E64EZ7V.js +0 -7
  477. package/dist/chunk-BVC4KGLQ.js +0 -8
  478. package/dist/chunk-EQOEZP46.js +0 -6
  479. package/dist/chunk-KFW652VN.js +0 -7
  480. package/dist/chunk-LAFZBYO7.js +0 -2934
  481. package/dist/chunk-MQXBDTVK.js +0 -29
  482. package/dist/connectors/coinbaseWallet.d.ts +0 -1
  483. package/dist/connectors/coinbaseWallet.js +0 -7
  484. package/dist/connectors/index.d.ts +0 -2
  485. package/dist/connectors/index.js +0 -9
  486. package/dist/connectors/injected.d.ts +0 -1
  487. package/dist/connectors/injected.js +0 -7
  488. package/dist/connectors/ledger.d.ts +0 -1
  489. package/dist/connectors/ledger.js +0 -7
  490. package/dist/connectors/metaMask.d.ts +0 -1
  491. package/dist/connectors/metaMask.js +0 -7
  492. package/dist/connectors/mock.d.ts +0 -1
  493. package/dist/connectors/mock.js +0 -9
  494. package/dist/connectors/safe.d.ts +0 -1
  495. package/dist/connectors/safe.js +0 -7
  496. package/dist/connectors/walletConnect.d.ts +0 -1
  497. package/dist/connectors/walletConnect.js +0 -7
  498. package/dist/connectors/walletConnectLegacy.d.ts +0 -1
  499. package/dist/connectors/walletConnectLegacy.js +0 -7
  500. package/dist/index-e744bbc2.d.ts +0 -22
  501. package/dist/index.d.ts +0 -1397
  502. package/dist/index.js +0 -135
  503. package/dist/internal/index.d.ts +0 -24
  504. package/dist/internal/index.js +0 -10
  505. package/dist/internal/test.d.ts +0 -438
  506. package/dist/internal/test.js +0 -160
  507. package/dist/providers/alchemy.d.ts +0 -11
  508. package/dist/providers/alchemy.js +0 -29
  509. package/dist/providers/infura.d.ts +0 -11
  510. package/dist/providers/infura.js +0 -29
  511. package/dist/providers/jsonRpc.d.ts +0 -13
  512. package/dist/providers/jsonRpc.js +0 -28
  513. package/dist/providers/public.d.ts +0 -7
  514. package/dist/providers/public.js +0 -16
  515. package/dist/window.d.ts +0 -7
  516. package/dist/window.js +0 -0
  517. package/internal/package.json +0 -4
  518. package/internal/test/package.json +0 -4
  519. package/providers/alchemy/package.json +0 -4
  520. package/providers/infura/package.json +0 -4
  521. package/providers/jsonRpc/package.json +0 -4
  522. package/providers/public/package.json +0 -4
  523. package/window/package.json +0 -4
@@ -0,0 +1,49 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type GetEnsNameError,
5
+ type GetEnsNameParameters,
6
+ type GetEnsNameReturnType,
7
+ getEnsName,
8
+ } from '../actions/getEnsName.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 GetEnsNameOptions<config extends Config> = Evaluate<
15
+ ExactPartial<GetEnsNameParameters<config>> & ScopeKeyParameter
16
+ >
17
+
18
+ export function getEnsNameQueryOptions<config extends Config>(
19
+ config: config,
20
+ options: GetEnsNameOptions<config> = {},
21
+ ) {
22
+ return {
23
+ async queryFn({ queryKey }) {
24
+ const { address, scopeKey: _, ...parameters } = queryKey[1]
25
+ if (!address) throw new Error('address is required')
26
+ return getEnsName(config, { ...parameters, address })
27
+ },
28
+ queryKey: getEnsNameQueryKey(options),
29
+ } as const satisfies QueryOptions<
30
+ GetEnsNameQueryFnData,
31
+ GetEnsNameError,
32
+ GetEnsNameData,
33
+ GetEnsNameQueryKey<config>
34
+ >
35
+ }
36
+
37
+ export type GetEnsNameQueryFnData = GetEnsNameReturnType
38
+
39
+ export type GetEnsNameData = GetEnsNameQueryFnData
40
+
41
+ export function getEnsNameQueryKey<config extends Config>(
42
+ options: GetEnsNameOptions<config> = {},
43
+ ) {
44
+ return ['ensName', filterQueryOptions(options)] as const
45
+ }
46
+
47
+ export type GetEnsNameQueryKey<config extends Config> = ReturnType<
48
+ typeof getEnsNameQueryKey<config>
49
+ >
@@ -0,0 +1,49 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type GetEnsResolverError,
5
+ type GetEnsResolverParameters,
6
+ type GetEnsResolverReturnType,
7
+ getEnsResolver,
8
+ } from '../actions/getEnsResolver.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 GetEnsResolverOptions<config extends Config> = Evaluate<
15
+ ExactPartial<GetEnsResolverParameters<config>> & ScopeKeyParameter
16
+ >
17
+
18
+ export function getEnsResolverQueryOptions<config extends Config>(
19
+ config: config,
20
+ options: GetEnsResolverOptions<config> = {},
21
+ ) {
22
+ return {
23
+ async queryFn({ queryKey }) {
24
+ const { name, scopeKey: _, ...parameters } = queryKey[1]
25
+ if (!name) throw new Error('name is required')
26
+ return getEnsResolver(config, { ...parameters, name })
27
+ },
28
+ queryKey: getEnsResolverQueryKey(options),
29
+ } as const satisfies QueryOptions<
30
+ GetEnsResolverQueryFnData,
31
+ GetEnsResolverError,
32
+ GetEnsResolverData,
33
+ GetEnsResolverQueryKey<config>
34
+ >
35
+ }
36
+
37
+ export type GetEnsResolverQueryFnData = GetEnsResolverReturnType
38
+
39
+ export type GetEnsResolverData = GetEnsResolverQueryFnData
40
+
41
+ export function getEnsResolverQueryKey<config extends Config>(
42
+ options: GetEnsResolverOptions<config> = {},
43
+ ) {
44
+ return ['ensResolver', filterQueryOptions(options)] as const
45
+ }
46
+
47
+ export type GetEnsResolverQueryKey<config extends Config> = ReturnType<
48
+ typeof getEnsResolverQueryKey<config>
49
+ >
@@ -0,0 +1,49 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type GetTokenError,
5
+ type GetTokenParameters,
6
+ type GetTokenReturnType,
7
+ getToken,
8
+ } from '../actions/getToken.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 GetTokenOptions<config extends Config> = Evaluate<
15
+ ExactPartial<GetTokenParameters<config>> & ScopeKeyParameter
16
+ >
17
+
18
+ export function getTokenQueryOptions<config extends Config>(
19
+ config: config,
20
+ options: GetTokenOptions<config> = {},
21
+ ) {
22
+ return {
23
+ async queryFn({ queryKey }) {
24
+ const { address, scopeKey: _, ...parameters } = queryKey[1]
25
+ if (!address) throw new Error('address is required')
26
+ return getToken(config, { ...parameters, address })
27
+ },
28
+ queryKey: getTokenQueryKey(options),
29
+ } as const satisfies QueryOptions<
30
+ GetTokenQueryFnData,
31
+ GetTokenError,
32
+ GetTokenData,
33
+ GetTokenQueryKey<config>
34
+ >
35
+ }
36
+
37
+ export type GetTokenQueryFnData = GetTokenReturnType
38
+
39
+ export type GetTokenData = GetTokenQueryFnData
40
+
41
+ export function getTokenQueryKey<config extends Config>(
42
+ options: GetTokenOptions<config> = {},
43
+ ) {
44
+ return ['token', filterQueryOptions(options)] as const
45
+ }
46
+
47
+ export type GetTokenQueryKey<config extends Config> = ReturnType<
48
+ typeof getTokenQueryKey<config>
49
+ >
@@ -0,0 +1,75 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type GetTransactionError,
5
+ type GetTransactionParameters,
6
+ type GetTransactionReturnType,
7
+ getTransaction,
8
+ } from '../actions/getTransaction.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 GetTransactionOptions<
15
+ config extends Config,
16
+ chainId extends config['chains'][number]['id'],
17
+ > = Evaluate<
18
+ ExactPartial<GetTransactionParameters<config, chainId>> & ScopeKeyParameter
19
+ >
20
+
21
+ export function getTransactionQueryOptions<
22
+ config extends Config,
23
+ chainId extends config['chains'][number]['id'],
24
+ >(config: config, options: GetTransactionOptions<config, chainId> = {}) {
25
+ return {
26
+ async queryFn({ queryKey }) {
27
+ const {
28
+ blockHash,
29
+ blockNumber,
30
+ blockTag,
31
+ hash,
32
+ index,
33
+ scopeKey: _,
34
+ } = queryKey[1]
35
+ if (!blockHash && !blockNumber && !blockTag && !hash)
36
+ throw new Error('blockHash, blockNumber, blockTag, or hash is required')
37
+ if (!hash && !index)
38
+ throw new Error(
39
+ 'index is required for blockHash, blockNumber, or blockTag',
40
+ )
41
+ return getTransaction(
42
+ config,
43
+ queryKey[1] as GetTransactionParameters,
44
+ ) as unknown as Promise<GetTransactionQueryFnData<config, chainId>>
45
+ },
46
+ queryKey: getTransactionQueryKey(options),
47
+ } as const satisfies QueryOptions<
48
+ GetTransactionQueryFnData<config, chainId>,
49
+ GetTransactionError,
50
+ GetTransactionData<config, chainId>,
51
+ GetTransactionQueryKey<config, chainId>
52
+ >
53
+ }
54
+
55
+ export type GetTransactionQueryFnData<
56
+ config extends Config,
57
+ chainId extends config['chains'][number]['id'],
58
+ > = GetTransactionReturnType<config, chainId>
59
+
60
+ export type GetTransactionData<
61
+ config extends Config,
62
+ chainId extends config['chains'][number]['id'],
63
+ > = GetTransactionQueryFnData<config, chainId>
64
+
65
+ export function getTransactionQueryKey<
66
+ config extends Config,
67
+ chainId extends config['chains'][number]['id'],
68
+ >(options: GetTransactionOptions<config, chainId> = {}) {
69
+ return ['transaction', filterQueryOptions(options)] as const
70
+ }
71
+
72
+ export type GetTransactionQueryKey<
73
+ config extends Config,
74
+ chainId extends config['chains'][number]['id'],
75
+ > = ReturnType<typeof getTransactionQueryKey<config, chainId>>
@@ -0,0 +1,64 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type GetWalletClientError,
5
+ type GetWalletClientParameters,
6
+ type GetWalletClientReturnType,
7
+ getWalletClient,
8
+ } from '../actions/getWalletClient.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 GetWalletClientOptions<
15
+ config extends Config,
16
+ chainId extends config['chains'][number]['id'],
17
+ > = Evaluate<
18
+ ExactPartial<GetWalletClientParameters<config, chainId>> & ScopeKeyParameter
19
+ >
20
+
21
+ export function getWalletClientQueryOptions<
22
+ config extends Config,
23
+ chainId extends config['chains'][number]['id'],
24
+ >(config: config, options: GetWalletClientOptions<config, chainId> = {}) {
25
+ return {
26
+ async queryFn({ queryKey }) {
27
+ const { connector } = options
28
+ const { connectorUid: _, scopeKey: _s, ...parameters } = queryKey[1]
29
+ return getWalletClient(config, { ...parameters, connector })
30
+ },
31
+ queryKey: getWalletClientQueryKey(options),
32
+ } as const satisfies QueryOptions<
33
+ GetWalletClientQueryFnData<config, chainId>,
34
+ GetWalletClientError,
35
+ GetWalletClientData<config, chainId>,
36
+ GetWalletClientQueryKey<config, chainId>
37
+ >
38
+ }
39
+
40
+ export type GetWalletClientQueryFnData<
41
+ config extends Config,
42
+ chainId extends config['chains'][number]['id'],
43
+ > = GetWalletClientReturnType<config, chainId>
44
+
45
+ export type GetWalletClientData<
46
+ config extends Config,
47
+ chainId extends config['chains'][number]['id'],
48
+ > = GetWalletClientQueryFnData<config, chainId>
49
+
50
+ export function getWalletClientQueryKey<
51
+ config extends Config,
52
+ chainId extends config['chains'][number]['id'],
53
+ >(options: GetWalletClientOptions<config, chainId> = {}) {
54
+ const { connector, ...parameters } = options
55
+ return [
56
+ 'walletClient',
57
+ { ...filterQueryOptions(parameters), connectorUid: connector?.uid },
58
+ ] as const
59
+ }
60
+
61
+ export type GetWalletClientQueryKey<
62
+ config extends Config,
63
+ chainId extends config['chains'][number]['id'],
64
+ > = ReturnType<typeof getWalletClientQueryKey<config, chainId>>
@@ -0,0 +1,88 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+ import {
3
+ type Abi,
4
+ type ContractFunctionArgs,
5
+ type ContractFunctionName,
6
+ } from 'viem'
7
+
8
+ import {
9
+ type ReadContractError,
10
+ type ReadContractParameters,
11
+ type ReadContractReturnType,
12
+ readContract,
13
+ } from '../actions/readContract.js'
14
+ import type { Config } from '../createConfig.js'
15
+ import type { UnionPartial } from '../types/utils.js'
16
+ import type { ScopeKeyParameter } from './types.js'
17
+ import { filterQueryOptions } from './utils.js'
18
+
19
+ export type ReadContractOptions<
20
+ abi extends Abi | readonly unknown[],
21
+ functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
22
+ args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
23
+ config extends Config,
24
+ > = UnionPartial<ReadContractParameters<abi, functionName, args, config>> &
25
+ ScopeKeyParameter
26
+
27
+ export function readContractQueryOptions<
28
+ config extends Config,
29
+ const abi extends Abi | readonly unknown[],
30
+ functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
31
+ args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
32
+ >(
33
+ config: Config,
34
+ options: ReadContractOptions<abi, functionName, args, config> = {} as any,
35
+ ) {
36
+ return {
37
+ async queryFn({ queryKey }) {
38
+ const abi = options.abi as Abi
39
+ if (!abi) throw new Error('abi is required')
40
+ const { address, functionName, scopeKey: _, ...parameters } = queryKey[1]
41
+ if (!address) throw new Error('address is required')
42
+ if (!functionName) throw new Error('functionName is required')
43
+ const args = parameters.args as readonly unknown[]
44
+ return (await readContract(config, {
45
+ abi,
46
+ address,
47
+ functionName,
48
+ args,
49
+ ...parameters,
50
+ })) as ReadContractData<abi, functionName, args>
51
+ },
52
+ queryKey: readContractQueryKey(options),
53
+ } as const satisfies QueryOptions<
54
+ ReadContractQueryFnData<abi, functionName, args>,
55
+ ReadContractError,
56
+ ReadContractData<abi, functionName, args>,
57
+ ReadContractQueryKey<config, abi, functionName, args>
58
+ >
59
+ }
60
+
61
+ export type ReadContractQueryFnData<
62
+ abi extends Abi | readonly unknown[],
63
+ functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
64
+ args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
65
+ > = ReadContractReturnType<abi, functionName, args>
66
+
67
+ export type ReadContractData<
68
+ abi extends Abi | readonly unknown[],
69
+ functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
70
+ args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
71
+ > = ReadContractQueryFnData<abi, functionName, args>
72
+
73
+ export function readContractQueryKey<
74
+ const abi extends Abi | readonly unknown[],
75
+ functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
76
+ args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
77
+ config extends Config,
78
+ >(options: ReadContractOptions<abi, functionName, args, config> = {} as any) {
79
+ const { abi: _, ...rest } = options
80
+ return ['readContract', filterQueryOptions(rest)] as const
81
+ }
82
+
83
+ export type ReadContractQueryKey<
84
+ config extends Config,
85
+ abi extends Abi | readonly unknown[],
86
+ functionName extends ContractFunctionName<abi, 'pure' | 'view'>,
87
+ args extends ContractFunctionArgs<abi, 'pure' | 'view', functionName>,
88
+ > = ReturnType<typeof readContractQueryKey<abi, functionName, args, config>>
@@ -0,0 +1,98 @@
1
+ import { type QueryOptions } from '@tanstack/query-core'
2
+ import {
3
+ type ContractFunctionParameters,
4
+ type MulticallParameters as viem_MulticallParameters,
5
+ } from 'viem'
6
+
7
+ import {
8
+ type ReadContractsError,
9
+ type ReadContractsReturnType,
10
+ readContracts,
11
+ } from '../actions/readContracts.js'
12
+ import type { Config } from '../createConfig.js'
13
+ import type { ChainIdParameter } from '../types/properties.js'
14
+ import type { ExactPartial } from '../types/utils.js'
15
+ import type { ScopeKeyParameter } from './types.js'
16
+ import { filterQueryOptions } from './utils.js'
17
+
18
+ export type ReadContractsOptions<
19
+ config extends Config,
20
+ contracts extends readonly unknown[],
21
+ allowFailure extends boolean,
22
+ > = ExactPartial<
23
+ viem_MulticallParameters<
24
+ contracts,
25
+ allowFailure,
26
+ { optional: true; properties: ChainIdParameter<config> }
27
+ >
28
+ > &
29
+ ScopeKeyParameter
30
+
31
+ export function readContractsQueryOptions<
32
+ config extends Config,
33
+ const contracts extends readonly unknown[],
34
+ allowFailure extends boolean = true,
35
+ >(
36
+ config: Config,
37
+ options: ReadContractsOptions<config, contracts, allowFailure> &
38
+ ChainIdParameter<config> = {},
39
+ ) {
40
+ return {
41
+ async queryFn({ queryKey }) {
42
+ const contracts: ContractFunctionParameters[] = []
43
+ const length = queryKey[1].contracts.length
44
+ for (let i = 0; i < length; i++) {
45
+ const contract = queryKey[1].contracts[i]!
46
+ const abi = (options.contracts?.[i] as ContractFunctionParameters).abi
47
+ contracts.push({ ...contract, abi })
48
+ }
49
+ const { scopeKey: _, ...parameters } = queryKey[1]
50
+ return (await readContracts(config, {
51
+ ...parameters,
52
+ contracts,
53
+ })) as ReadContractsData<contracts, allowFailure>
54
+ },
55
+ queryKey: readContractsQueryKey(options as any),
56
+ } as const satisfies QueryOptions<
57
+ ReadContractsQueryFnData<contracts, allowFailure>,
58
+ ReadContractsError,
59
+ ReadContractsData<contracts, allowFailure>,
60
+ ReadContractsQueryKey<config, contracts, allowFailure>
61
+ >
62
+ }
63
+
64
+ export type ReadContractsQueryFnData<
65
+ contracts extends readonly unknown[],
66
+ allowFailure extends boolean,
67
+ > = ReadContractsReturnType<contracts, allowFailure>
68
+
69
+ export type ReadContractsData<
70
+ contracts extends readonly unknown[],
71
+ allowFailure extends boolean,
72
+ > = ReadContractsQueryFnData<contracts, allowFailure>
73
+
74
+ export function readContractsQueryKey<
75
+ config extends Config,
76
+ const contracts extends readonly unknown[],
77
+ allowFailure extends boolean,
78
+ >(
79
+ options: ReadContractsOptions<config, contracts, allowFailure> &
80
+ ChainIdParameter<config> = {},
81
+ ) {
82
+ const contracts = []
83
+ for (const contract of (options.contracts ??
84
+ []) as ContractFunctionParameters[]) {
85
+ const { abi: _, ...rest } = contract
86
+ contracts.push({ ...rest, chainId: options.chainId })
87
+ }
88
+ return [
89
+ 'readContracts',
90
+ filterQueryOptions({ ...options, contracts }),
91
+ ] as const
92
+ }
93
+
94
+ export type ReadContractsQueryKey<
95
+ config extends Config,
96
+ contracts extends readonly unknown[],
97
+ allowFailure extends boolean,
98
+ > = ReturnType<typeof readContractsQueryKey<config, contracts, allowFailure>>
@@ -0,0 +1,42 @@
1
+ import type { MutationOptions } from '@tanstack/query-core'
2
+
3
+ import {
4
+ type ReconnectError,
5
+ type ReconnectParameters,
6
+ type ReconnectReturnType,
7
+ reconnect,
8
+ } from '../actions/reconnect.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 reconnectMutationOptions(config: Config) {
14
+ return {
15
+ mutationFn(variables) {
16
+ return reconnect(config, variables)
17
+ },
18
+ mutationKey: ['reconnect'],
19
+ } as const satisfies MutationOptions<
20
+ ReconnectData,
21
+ ReconnectError,
22
+ ReconnectVariables
23
+ >
24
+ }
25
+
26
+ export type ReconnectData = Evaluate<ReconnectReturnType>
27
+
28
+ export type ReconnectVariables = ReconnectParameters | undefined
29
+
30
+ export type ReconnectMutate<context = unknown> = Mutate<
31
+ ReconnectData,
32
+ ReconnectError,
33
+ ReconnectVariables,
34
+ context
35
+ >
36
+
37
+ export type ReconnectMutateAsync<context = unknown> = MutateAsync<
38
+ ReconnectData,
39
+ ReconnectError,
40
+ ReconnectVariables,
41
+ context
42
+ >
@@ -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,63 @@
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
+ > = SignTypedDataParameters<typedData, primaryType>
34
+
35
+ export type SignTypedDataMutate<context = unknown> = <
36
+ const typedData extends TypedData | Record<string, unknown>,
37
+ primaryType extends keyof typedData | 'EIP712Domain',
38
+ >(
39
+ variables: SignTypedDataVariables<typedData, primaryType>,
40
+ options?:
41
+ | MutateOptions<
42
+ SignTypedDataData,
43
+ SignTypedDataError,
44
+ SignTypedDataVariables<typedData, primaryType>,
45
+ context
46
+ >
47
+ | undefined,
48
+ ) => void
49
+
50
+ export type SignTypedDataMutateAsync<context = unknown> = <
51
+ const typedData extends TypedData | Record<string, unknown>,
52
+ primaryType extends keyof typedData | 'EIP712Domain',
53
+ >(
54
+ variables: SignTypedDataVariables<typedData, primaryType>,
55
+ options?:
56
+ | MutateOptions<
57
+ SignTypedDataData,
58
+ SignTypedDataError,
59
+ SignTypedDataVariables<typedData, primaryType>,
60
+ context
61
+ >
62
+ | undefined,
63
+ ) => Promise<SignTypedDataData>