viem 0.3.1 → 0.3.3

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 (326) hide show
  1. package/dist/cjs/actions/ens/getEnsAddress.js.map +1 -1
  2. package/dist/cjs/actions/ens/getEnsAvatar.js.map +1 -1
  3. package/dist/cjs/actions/ens/getEnsName.js.map +1 -1
  4. package/dist/cjs/actions/ens/getEnsResolver.js.map +1 -1
  5. package/dist/cjs/actions/ens/getEnsText.js.map +1 -1
  6. package/dist/cjs/actions/getContract.js.map +1 -1
  7. package/dist/cjs/actions/public/estimateContractGas.js.map +1 -1
  8. package/dist/cjs/actions/public/getBalance.js.map +1 -1
  9. package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
  10. package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
  11. package/dist/cjs/actions/public/readContract.js.map +1 -1
  12. package/dist/cjs/actions/public/simulateContract.js.map +1 -1
  13. package/dist/cjs/actions/public/uninstallFilter.js.map +1 -1
  14. package/dist/cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  15. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  16. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  17. package/dist/cjs/actions/public/watchPendingTransactions.js.map +1 -1
  18. package/dist/cjs/actions/test/dropTransaction.js.map +1 -1
  19. package/dist/cjs/actions/test/getAutomine.js.map +1 -1
  20. package/dist/cjs/actions/test/getTxpoolContent.js.map +1 -1
  21. package/dist/cjs/actions/test/getTxpoolStatus.js.map +1 -1
  22. package/dist/cjs/actions/test/impersonateAccount.js.map +1 -1
  23. package/dist/cjs/actions/test/increaseTime.js.map +1 -1
  24. package/dist/cjs/actions/test/inspectTxpool.js.map +1 -1
  25. package/dist/cjs/actions/test/mine.js.map +1 -1
  26. package/dist/cjs/actions/test/removeBlockTimestampInterval.js.map +1 -1
  27. package/dist/cjs/actions/test/reset.js.map +1 -1
  28. package/dist/cjs/actions/test/revert.js.map +1 -1
  29. package/dist/cjs/actions/test/sendUnsignedTransaction.js.map +1 -1
  30. package/dist/cjs/actions/test/setAutomine.js.map +1 -1
  31. package/dist/cjs/actions/test/setBalance.js.map +1 -1
  32. package/dist/cjs/actions/test/setBlockGasLimit.js.map +1 -1
  33. package/dist/cjs/actions/test/setBlockTimestampInterval.js.map +1 -1
  34. package/dist/cjs/actions/test/setCode.js.map +1 -1
  35. package/dist/cjs/actions/test/setCoinbase.js.map +1 -1
  36. package/dist/cjs/actions/test/setIntervalMining.js.map +1 -1
  37. package/dist/cjs/actions/test/setLoggingEnabled.js.map +1 -1
  38. package/dist/cjs/actions/test/setMinGasPrice.js.map +1 -1
  39. package/dist/cjs/actions/test/setNextBlockBaseFeePerGas.js.map +1 -1
  40. package/dist/cjs/actions/test/setNextBlockTimestamp.js.map +1 -1
  41. package/dist/cjs/actions/test/setNonce.js.map +1 -1
  42. package/dist/cjs/actions/test/setRpcUrl.js.map +1 -1
  43. package/dist/cjs/actions/test/setStorageAt.js.map +1 -1
  44. package/dist/cjs/actions/test/snapshot.js.map +1 -1
  45. package/dist/cjs/actions/test/stopImpersonatingAccount.js.map +1 -1
  46. package/dist/cjs/actions/wallet/addChain.js.map +1 -1
  47. package/dist/cjs/actions/wallet/getAddresses.js.map +1 -1
  48. package/dist/cjs/actions/wallet/getPermissions.js.map +1 -1
  49. package/dist/cjs/actions/wallet/requestAddresses.js.map +1 -1
  50. package/dist/cjs/actions/wallet/requestPermissions.js.map +1 -1
  51. package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
  52. package/dist/cjs/actions/wallet/signMessage.js.map +1 -1
  53. package/dist/cjs/actions/wallet/signTypedData.js.map +1 -1
  54. package/dist/cjs/actions/wallet/switchChain.js.map +1 -1
  55. package/dist/cjs/actions/wallet/watchAsset.js.map +1 -1
  56. package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
  57. package/dist/cjs/clients/createPublicClient.js.map +1 -1
  58. package/dist/cjs/clients/createTestClient.js.map +1 -1
  59. package/dist/cjs/clients/createWalletClient.js.map +1 -1
  60. package/dist/cjs/clients/decorators/test.js.map +1 -1
  61. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  62. package/dist/cjs/errors/version.js +1 -1
  63. package/dist/cjs/utils/rpc.js +3 -6
  64. package/dist/cjs/utils/rpc.js.map +1 -1
  65. package/dist/cjs/utils/transaction/serializeTransaction.js +13 -15
  66. package/dist/cjs/utils/transaction/serializeTransaction.js.map +1 -1
  67. package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
  68. package/dist/esm/actions/ens/getEnsAvatar.js.map +1 -1
  69. package/dist/esm/actions/ens/getEnsName.js.map +1 -1
  70. package/dist/esm/actions/ens/getEnsResolver.js.map +1 -1
  71. package/dist/esm/actions/ens/getEnsText.js.map +1 -1
  72. package/dist/esm/actions/getContract.js.map +1 -1
  73. package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
  74. package/dist/esm/actions/public/getBalance.js.map +1 -1
  75. package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
  76. package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
  77. package/dist/esm/actions/public/readContract.js.map +1 -1
  78. package/dist/esm/actions/public/simulateContract.js.map +1 -1
  79. package/dist/esm/actions/public/uninstallFilter.js.map +1 -1
  80. package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
  81. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  82. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  83. package/dist/esm/actions/public/watchPendingTransactions.js.map +1 -1
  84. package/dist/esm/actions/test/dropTransaction.js.map +1 -1
  85. package/dist/esm/actions/test/getAutomine.js.map +1 -1
  86. package/dist/esm/actions/test/getTxpoolContent.js.map +1 -1
  87. package/dist/esm/actions/test/getTxpoolStatus.js.map +1 -1
  88. package/dist/esm/actions/test/impersonateAccount.js.map +1 -1
  89. package/dist/esm/actions/test/increaseTime.js.map +1 -1
  90. package/dist/esm/actions/test/inspectTxpool.js.map +1 -1
  91. package/dist/esm/actions/test/mine.js.map +1 -1
  92. package/dist/esm/actions/test/removeBlockTimestampInterval.js.map +1 -1
  93. package/dist/esm/actions/test/reset.js.map +1 -1
  94. package/dist/esm/actions/test/revert.js.map +1 -1
  95. package/dist/esm/actions/test/sendUnsignedTransaction.js.map +1 -1
  96. package/dist/esm/actions/test/setAutomine.js.map +1 -1
  97. package/dist/esm/actions/test/setBalance.js.map +1 -1
  98. package/dist/esm/actions/test/setBlockGasLimit.js.map +1 -1
  99. package/dist/esm/actions/test/setBlockTimestampInterval.js.map +1 -1
  100. package/dist/esm/actions/test/setCode.js.map +1 -1
  101. package/dist/esm/actions/test/setCoinbase.js.map +1 -1
  102. package/dist/esm/actions/test/setIntervalMining.js.map +1 -1
  103. package/dist/esm/actions/test/setLoggingEnabled.js.map +1 -1
  104. package/dist/esm/actions/test/setMinGasPrice.js.map +1 -1
  105. package/dist/esm/actions/test/setNextBlockBaseFeePerGas.js.map +1 -1
  106. package/dist/esm/actions/test/setNextBlockTimestamp.js.map +1 -1
  107. package/dist/esm/actions/test/setNonce.js.map +1 -1
  108. package/dist/esm/actions/test/setRpcUrl.js.map +1 -1
  109. package/dist/esm/actions/test/setStorageAt.js.map +1 -1
  110. package/dist/esm/actions/test/snapshot.js.map +1 -1
  111. package/dist/esm/actions/test/stopImpersonatingAccount.js.map +1 -1
  112. package/dist/esm/actions/wallet/addChain.js.map +1 -1
  113. package/dist/esm/actions/wallet/getAddresses.js.map +1 -1
  114. package/dist/esm/actions/wallet/getPermissions.js.map +1 -1
  115. package/dist/esm/actions/wallet/requestAddresses.js.map +1 -1
  116. package/dist/esm/actions/wallet/requestPermissions.js.map +1 -1
  117. package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
  118. package/dist/esm/actions/wallet/signMessage.js.map +1 -1
  119. package/dist/esm/actions/wallet/signTypedData.js.map +1 -1
  120. package/dist/esm/actions/wallet/switchChain.js.map +1 -1
  121. package/dist/esm/actions/wallet/watchAsset.js.map +1 -1
  122. package/dist/esm/actions/wallet/writeContract.js.map +1 -1
  123. package/dist/esm/clients/createPublicClient.js.map +1 -1
  124. package/dist/esm/clients/createTestClient.js.map +1 -1
  125. package/dist/esm/clients/createWalletClient.js.map +1 -1
  126. package/dist/esm/clients/decorators/test.js.map +1 -1
  127. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  128. package/dist/esm/errors/version.js +1 -1
  129. package/dist/esm/utils/rpc.js +1 -1
  130. package/dist/esm/utils/rpc.js.map +1 -1
  131. package/dist/esm/utils/transaction/serializeTransaction.js +13 -15
  132. package/dist/esm/utils/transaction/serializeTransaction.js.map +1 -1
  133. package/dist/types/actions/ens/getEnsAddress.d.ts +0 -1
  134. package/dist/types/actions/ens/getEnsAddress.d.ts.map +1 -1
  135. package/dist/types/actions/ens/getEnsAvatar.d.ts +0 -1
  136. package/dist/types/actions/ens/getEnsAvatar.d.ts.map +1 -1
  137. package/dist/types/actions/ens/getEnsName.d.ts +0 -1
  138. package/dist/types/actions/ens/getEnsName.d.ts.map +1 -1
  139. package/dist/types/actions/ens/getEnsResolver.d.ts +0 -1
  140. package/dist/types/actions/ens/getEnsResolver.d.ts.map +1 -1
  141. package/dist/types/actions/ens/getEnsText.d.ts +0 -1
  142. package/dist/types/actions/ens/getEnsText.d.ts.map +1 -1
  143. package/dist/types/actions/getContract.d.ts +104 -2
  144. package/dist/types/actions/getContract.d.ts.map +1 -1
  145. package/dist/types/actions/public/estimateContractGas.d.ts +0 -1
  146. package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
  147. package/dist/types/actions/public/getBalance.d.ts +0 -1
  148. package/dist/types/actions/public/getBalance.d.ts.map +1 -1
  149. package/dist/types/actions/public/getFilterChanges.d.ts +0 -1
  150. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  151. package/dist/types/actions/public/getFilterLogs.d.ts +0 -1
  152. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  153. package/dist/types/actions/public/readContract.d.ts +2 -3
  154. package/dist/types/actions/public/readContract.d.ts.map +1 -1
  155. package/dist/types/actions/public/simulateContract.d.ts +1 -2
  156. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  157. package/dist/types/actions/public/uninstallFilter.d.ts +0 -1
  158. package/dist/types/actions/public/uninstallFilter.d.ts.map +1 -1
  159. package/dist/types/actions/public/waitForTransactionReceipt.d.ts +0 -1
  160. package/dist/types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
  161. package/dist/types/actions/public/watchContractEvent.d.ts +0 -1
  162. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  163. package/dist/types/actions/public/watchEvent.d.ts +0 -1
  164. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  165. package/dist/types/actions/public/watchPendingTransactions.d.ts +0 -1
  166. package/dist/types/actions/public/watchPendingTransactions.d.ts.map +1 -1
  167. package/dist/types/actions/test/dropTransaction.d.ts +22 -0
  168. package/dist/types/actions/test/dropTransaction.d.ts.map +1 -1
  169. package/dist/types/actions/test/getAutomine.d.ts +20 -0
  170. package/dist/types/actions/test/getAutomine.d.ts.map +1 -1
  171. package/dist/types/actions/test/getTxpoolContent.d.ts +22 -0
  172. package/dist/types/actions/test/getTxpoolContent.d.ts.map +1 -1
  173. package/dist/types/actions/test/getTxpoolStatus.d.ts +20 -0
  174. package/dist/types/actions/test/getTxpoolStatus.d.ts.map +1 -1
  175. package/dist/types/actions/test/impersonateAccount.d.ts +22 -0
  176. package/dist/types/actions/test/impersonateAccount.d.ts.map +1 -1
  177. package/dist/types/actions/test/increaseTime.d.ts +22 -0
  178. package/dist/types/actions/test/increaseTime.d.ts.map +1 -1
  179. package/dist/types/actions/test/inspectTxpool.d.ts +20 -0
  180. package/dist/types/actions/test/inspectTxpool.d.ts.map +1 -1
  181. package/dist/types/actions/test/mine.d.ts +20 -0
  182. package/dist/types/actions/test/mine.d.ts.map +1 -1
  183. package/dist/types/actions/test/removeBlockTimestampInterval.d.ts +19 -0
  184. package/dist/types/actions/test/removeBlockTimestampInterval.d.ts.map +1 -1
  185. package/dist/types/actions/test/reset.d.ts +20 -0
  186. package/dist/types/actions/test/reset.d.ts.map +1 -1
  187. package/dist/types/actions/test/revert.d.ts +20 -0
  188. package/dist/types/actions/test/revert.d.ts.map +1 -1
  189. package/dist/types/actions/test/sendUnsignedTransaction.d.ts +25 -0
  190. package/dist/types/actions/test/sendUnsignedTransaction.d.ts.map +1 -1
  191. package/dist/types/actions/test/setAutomine.d.ts +19 -0
  192. package/dist/types/actions/test/setAutomine.d.ts.map +1 -1
  193. package/dist/types/actions/test/setBalance.d.ts +23 -0
  194. package/dist/types/actions/test/setBalance.d.ts.map +1 -1
  195. package/dist/types/actions/test/setBlockGasLimit.d.ts +20 -0
  196. package/dist/types/actions/test/setBlockGasLimit.d.ts.map +1 -1
  197. package/dist/types/actions/test/setBlockTimestampInterval.d.ts +20 -0
  198. package/dist/types/actions/test/setBlockTimestampInterval.d.ts.map +1 -1
  199. package/dist/types/actions/test/setCode.d.ts +23 -0
  200. package/dist/types/actions/test/setCode.d.ts.map +1 -1
  201. package/dist/types/actions/test/setCoinbase.d.ts +22 -0
  202. package/dist/types/actions/test/setCoinbase.d.ts.map +1 -1
  203. package/dist/types/actions/test/setIntervalMining.d.ts +20 -0
  204. package/dist/types/actions/test/setIntervalMining.d.ts.map +1 -1
  205. package/dist/types/actions/test/setLoggingEnabled.d.ts +19 -0
  206. package/dist/types/actions/test/setLoggingEnabled.d.ts.map +1 -1
  207. package/dist/types/actions/test/setMinGasPrice.d.ts +24 -0
  208. package/dist/types/actions/test/setMinGasPrice.d.ts.map +1 -1
  209. package/dist/types/actions/test/setNextBlockBaseFeePerGas.d.ts +22 -0
  210. package/dist/types/actions/test/setNextBlockBaseFeePerGas.d.ts.map +1 -1
  211. package/dist/types/actions/test/setNextBlockTimestamp.d.ts +20 -0
  212. package/dist/types/actions/test/setNextBlockTimestamp.d.ts.map +1 -1
  213. package/dist/types/actions/test/setNonce.d.ts +23 -0
  214. package/dist/types/actions/test/setNonce.d.ts.map +1 -1
  215. package/dist/types/actions/test/setRpcUrl.d.ts +20 -0
  216. package/dist/types/actions/test/setRpcUrl.d.ts.map +1 -1
  217. package/dist/types/actions/test/setStorageAt.d.ts +24 -0
  218. package/dist/types/actions/test/setStorageAt.d.ts.map +1 -1
  219. package/dist/types/actions/test/snapshot.d.ts +19 -0
  220. package/dist/types/actions/test/snapshot.d.ts.map +1 -1
  221. package/dist/types/actions/test/stopImpersonatingAccount.d.ts +22 -0
  222. package/dist/types/actions/test/stopImpersonatingAccount.d.ts.map +1 -1
  223. package/dist/types/actions/wallet/addChain.d.ts +20 -0
  224. package/dist/types/actions/wallet/addChain.d.ts.map +1 -1
  225. package/dist/types/actions/wallet/deployContract.d.ts +1 -1
  226. package/dist/types/actions/wallet/getAddresses.d.ts +20 -0
  227. package/dist/types/actions/wallet/getAddresses.d.ts.map +1 -1
  228. package/dist/types/actions/wallet/getPermissions.d.ts +20 -0
  229. package/dist/types/actions/wallet/getPermissions.d.ts.map +1 -1
  230. package/dist/types/actions/wallet/requestAddresses.d.ts +24 -0
  231. package/dist/types/actions/wallet/requestAddresses.d.ts.map +1 -1
  232. package/dist/types/actions/wallet/requestPermissions.d.ts +26 -3
  233. package/dist/types/actions/wallet/requestPermissions.d.ts.map +1 -1
  234. package/dist/types/actions/wallet/sendTransaction.d.ts +45 -0
  235. package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
  236. package/dist/types/actions/wallet/signMessage.d.ts +46 -0
  237. package/dist/types/actions/wallet/signMessage.d.ts.map +1 -1
  238. package/dist/types/actions/wallet/signTypedData.d.ts +98 -0
  239. package/dist/types/actions/wallet/signTypedData.d.ts.map +1 -1
  240. package/dist/types/actions/wallet/switchChain.d.ts +21 -0
  241. package/dist/types/actions/wallet/switchChain.d.ts.map +1 -1
  242. package/dist/types/actions/wallet/watchAsset.d.ts +28 -0
  243. package/dist/types/actions/wallet/watchAsset.d.ts.map +1 -1
  244. package/dist/types/actions/wallet/writeContract.d.ts +50 -0
  245. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  246. package/dist/types/clients/createPublicClient.d.ts +17 -1
  247. package/dist/types/clients/createPublicClient.d.ts.map +1 -1
  248. package/dist/types/clients/createTestClient.d.ts +20 -0
  249. package/dist/types/clients/createTestClient.d.ts.map +1 -1
  250. package/dist/types/clients/createWalletClient.d.ts +34 -1
  251. package/dist/types/clients/createWalletClient.d.ts.map +1 -1
  252. package/dist/types/clients/decorators/public.d.ts +37 -37
  253. package/dist/types/clients/decorators/test.d.ts +536 -0
  254. package/dist/types/clients/decorators/test.d.ts.map +1 -1
  255. package/dist/types/clients/decorators/wallet.d.ts +389 -2
  256. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  257. package/dist/types/errors/version.d.ts +1 -1
  258. package/dist/types/utils/rpc.d.ts +1 -1
  259. package/dist/types/utils/rpc.d.ts.map +1 -1
  260. package/package.json +1 -1
  261. package/src/actions/ens/getEnsAddress.ts +0 -1
  262. package/src/actions/ens/getEnsAvatar.ts +0 -1
  263. package/src/actions/ens/getEnsName.ts +0 -1
  264. package/src/actions/ens/getEnsResolver.ts +0 -1
  265. package/src/actions/ens/getEnsText.ts +0 -1
  266. package/src/actions/getContract.ts +104 -2
  267. package/src/actions/public/estimateContractGas.ts +0 -1
  268. package/src/actions/public/getBalance.ts +0 -1
  269. package/src/actions/public/getFilterChanges.ts +0 -1
  270. package/src/actions/public/getFilterLogs.ts +0 -1
  271. package/src/actions/public/readContract.ts +2 -3
  272. package/src/actions/public/simulateContract.ts +1 -2
  273. package/src/actions/public/uninstallFilter.ts +0 -1
  274. package/src/actions/public/waitForTransactionReceipt.ts +0 -1
  275. package/src/actions/public/watchContractEvent.ts +0 -1
  276. package/src/actions/public/watchEvent.ts +0 -1
  277. package/src/actions/public/watchPendingTransactions.ts +0 -1
  278. package/src/actions/test/dropTransaction.ts +22 -0
  279. package/src/actions/test/getAutomine.ts +20 -0
  280. package/src/actions/test/getTxpoolContent.ts +22 -0
  281. package/src/actions/test/getTxpoolStatus.ts +20 -0
  282. package/src/actions/test/impersonateAccount.ts +22 -0
  283. package/src/actions/test/increaseTime.ts +22 -0
  284. package/src/actions/test/inspectTxpool.ts +20 -0
  285. package/src/actions/test/mine.ts +20 -0
  286. package/src/actions/test/removeBlockTimestampInterval.ts +19 -0
  287. package/src/actions/test/reset.ts +20 -0
  288. package/src/actions/test/revert.ts +20 -0
  289. package/src/actions/test/sendUnsignedTransaction.ts +25 -0
  290. package/src/actions/test/setAutomine.ts +19 -0
  291. package/src/actions/test/setBalance.ts +23 -0
  292. package/src/actions/test/setBlockGasLimit.ts +20 -0
  293. package/src/actions/test/setBlockTimestampInterval.ts +20 -0
  294. package/src/actions/test/setCode.ts +23 -0
  295. package/src/actions/test/setCoinbase.ts +22 -0
  296. package/src/actions/test/setIntervalMining.ts +20 -0
  297. package/src/actions/test/setLoggingEnabled.ts +19 -0
  298. package/src/actions/test/setMinGasPrice.ts +24 -0
  299. package/src/actions/test/setNextBlockBaseFeePerGas.ts +22 -0
  300. package/src/actions/test/setNextBlockTimestamp.ts +20 -0
  301. package/src/actions/test/setNonce.ts +23 -0
  302. package/src/actions/test/setRpcUrl.ts +20 -0
  303. package/src/actions/test/setStorageAt.ts +24 -0
  304. package/src/actions/test/snapshot.ts +19 -0
  305. package/src/actions/test/stopImpersonatingAccount.ts +22 -0
  306. package/src/actions/wallet/addChain.ts +20 -0
  307. package/src/actions/wallet/deployContract.ts +1 -1
  308. package/src/actions/wallet/getAddresses.ts +20 -0
  309. package/src/actions/wallet/getPermissions.ts +20 -0
  310. package/src/actions/wallet/requestAddresses.ts +24 -0
  311. package/src/actions/wallet/requestPermissions.ts +31 -6
  312. package/src/actions/wallet/sendTransaction.ts +45 -0
  313. package/src/actions/wallet/signMessage.ts +46 -0
  314. package/src/actions/wallet/signTypedData.ts +98 -0
  315. package/src/actions/wallet/switchChain.ts +24 -1
  316. package/src/actions/wallet/watchAsset.ts +28 -0
  317. package/src/actions/wallet/writeContract.ts +50 -0
  318. package/src/clients/createPublicClient.ts +17 -1
  319. package/src/clients/createTestClient.ts +20 -0
  320. package/src/clients/createWalletClient.ts +34 -1
  321. package/src/clients/decorators/public.ts +37 -37
  322. package/src/clients/decorators/test.ts +536 -0
  323. package/src/clients/decorators/wallet.ts +389 -2
  324. package/src/errors/version.ts +1 -1
  325. package/src/utils/rpc.ts +2 -2
  326. package/src/utils/transaction/serializeTransaction.ts +13 -15
@@ -4,5 +4,50 @@ import type { Formatted, TransactionRequestFormatter } from '../../utils/index.j
4
4
  export type FormattedTransactionRequest<TFormatter extends Formatter | undefined = Formatter> = MergeIntersectionProperties<Omit<Formatted<TFormatter, TransactionRequest, true>, 'from'>, TransactionRequest>;
5
5
  export type SendTransactionParameters<TChain extends Chain | undefined = Chain | undefined, TAccount extends Account | undefined = Account | undefined, TChainOverride extends Chain | undefined = Chain> = FormattedTransactionRequest<TransactionRequestFormatter<TChainOverride>> & GetAccountParameter<TAccount> & GetChain<TChain, TChainOverride>;
6
6
  export type SendTransactionReturnType = Hash;
7
+ /**
8
+ * Creates, signs, and sends a new transaction to the network.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/wallet/sendTransaction.html
11
+ * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/transactions/sending-transactions
12
+ * - JSON-RPC Methods:
13
+ * - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction)
14
+ * - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction)
15
+ *
16
+ * @param client - Client to use
17
+ * @param parameters - {@link SendTransactionParameters}
18
+ * @returns The [Transaction](https://viem.sh/docs/glossary/terms.html#transaction) hash. {@link SendTransactionReturnType}
19
+ *
20
+ * @example
21
+ * import { createWalletClient, custom } from 'viem'
22
+ * import { mainnet } from 'viem/chains'
23
+ * import { sendTransaction } from 'viem/wallet'
24
+ *
25
+ * const client = createWalletClient({
26
+ * chain: mainnet,
27
+ * transport: custom(window.ethereum),
28
+ * })
29
+ * const hash = await sendTransaction(client, {
30
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
31
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
32
+ * value: 1000000000000000000n,
33
+ * })
34
+ *
35
+ * @example
36
+ * // Account Hoisting
37
+ * import { createWalletClient, http } from 'viem'
38
+ * import { privateKeyToAccount } from 'viem/accounts'
39
+ * import { mainnet } from 'viem/chains'
40
+ * import { sendTransaction } from 'viem/wallet'
41
+ *
42
+ * const client = createWalletClient({
43
+ * account: privateKeyToAccount('0x…'),
44
+ * chain: mainnet,
45
+ * transport: http(),
46
+ * })
47
+ * const hash = await sendTransaction(client, {
48
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
49
+ * value: 1000000000000000000n,
50
+ * })
51
+ */
7
52
  export declare function sendTransaction<TChain extends Chain | undefined, TAccount extends Account | undefined, TChainOverride extends Chain | undefined>(client: WalletClient<Transport, TChain, TAccount>, args: SendTransactionParameters<TChain, TAccount, TChainOverride>): Promise<SendTransactionReturnType>;
8
53
  //# sourceMappingURL=sendTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sendTransaction.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/sendTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAOrE,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,2BAA2B,EAC3B,kBAAkB,EAEnB,MAAM,sBAAsB,CAAA;AAU7B,OAAO,KAAK,EACV,SAAS,EACT,2BAA2B,EAC5B,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,2BAA2B,CACrC,UAAU,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IAClD,2BAA2B,CAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAC7D,kBAAkB,CACnB,CAAA;AAED,MAAM,MAAM,yBAAyB,CACnC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,IAC9C,2BAA2B,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,GAC1E,mBAAmB,CAAC,QAAQ,CAAC,GAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAElC,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAE5C,wBAAsB,eAAe,CACnC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EACpC,cAAc,SAAS,KAAK,GAAG,SAAS,EAExC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,GAChE,OAAO,CAAC,yBAAyB,CAAC,CAyFpC"}
1
+ {"version":3,"file":"sendTransaction.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/sendTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAOrE,OAAO,KAAK,EACV,OAAO,EACP,mBAAmB,EACnB,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,2BAA2B,EAC3B,kBAAkB,EAEnB,MAAM,sBAAsB,CAAA;AAU7B,OAAO,KAAK,EACV,SAAS,EACT,2BAA2B,EAC5B,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,2BAA2B,CACrC,UAAU,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IAClD,2BAA2B,CAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,EAC7D,kBAAkB,CACnB,CAAA;AAED,MAAM,MAAM,yBAAyB,CACnC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,IAC9C,2BAA2B,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC,GAC1E,mBAAmB,CAAC,QAAQ,CAAC,GAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;AAElC,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAsB,eAAe,CACnC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EACpC,cAAc,SAAS,KAAK,GAAG,SAAS,EAExC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,IAAI,EAAE,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,GAChE,OAAO,CAAC,yBAAyB,CAAC,CAyFpC"}
@@ -4,5 +4,51 @@ export type SignMessageParameters<TAccount extends Account | undefined = Account
4
4
  message: string;
5
5
  };
6
6
  export type SignMessageReturnType = Hex;
7
+ /**
8
+ * Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/wallet/signMessage.html
11
+ * - JSON-RPC Methods:
12
+ * - JSON-RPC Accounts: [`personal_sign`](https://docs.metamask.io/guide/signing-data.html#personal-sign)
13
+ * - Local Accounts: Signs locally. No JSON-RPC request.
14
+ *
15
+ * With the calculated signature, you can:
16
+ * - use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage) to verify the signature,
17
+ * - use [`recoverMessageAddress`](https://viem.sh/docs/utilities/recoverMessageAddress) to recover the signing address from a signature.
18
+ *
19
+ * @param client - Client to use
20
+ * @param parameters - {@link SignMessageParameters}
21
+ * @returns The signed message. {@link SignMessageReturnType}
22
+ *
23
+ * @example
24
+ * import { createWalletClient, custom } from 'viem'
25
+ * import { mainnet } from 'viem/chains'
26
+ * import { signMessage } from 'viem/wallet'
27
+ *
28
+ * const client = createWalletClient({
29
+ * chain: mainnet,
30
+ * transport: custom(window.ethereum),
31
+ * })
32
+ * const signature = await signMessage(client, {
33
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
34
+ * message: 'hello world',
35
+ * })
36
+ *
37
+ * @example
38
+ * // Account Hoisting
39
+ * import { createWalletClient, custom } from 'viem'
40
+ * import { privateKeyToAccount } from 'viem/accounts'
41
+ * import { mainnet } from 'viem/chains'
42
+ * import { signMessage } from 'viem/wallet'
43
+ *
44
+ * const client = createWalletClient({
45
+ * account: privateKeyToAccount('0x…'),
46
+ * chain: mainnet,
47
+ * transport: custom(window.ethereum),
48
+ * })
49
+ * const signature = await signMessage(client, {
50
+ * message: 'hello world',
51
+ * })
52
+ */
7
53
  export declare function signMessage<TChain extends Chain | undefined, TAccount extends Account | undefined>(client: WalletClient<Transport, TChain, TAccount>, { account: account_, message, }: SignMessageParameters<TAccount>): Promise<SignMessageReturnType>;
8
54
  //# sourceMappingURL=signMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,GAAG,EACJ,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,qBAAqB,CAC/B,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD,mBAAmB,CAAC,QAAQ,CAAC,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEvC,wBAAsB,WAAW,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,OAAO,EAAE,QAAyB,EAClC,OAAO,GACR,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
1
+ {"version":3,"file":"signMessage.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/signMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,GAAG,EACJ,MAAM,sBAAsB,CAAA;AAG7B,MAAM,MAAM,qBAAqB,CAC/B,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,IACxD,mBAAmB,CAAC,QAAQ,CAAC,GAAG;IAClC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,WAAW,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,OAAO,EAAE,QAAyB,EAClC,OAAO,GACR,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAWhC"}
@@ -5,6 +5,104 @@ export type SignTypedDataParameters<TTypedData extends TypedData | {
5
5
  [key: string]: unknown;
6
6
  } = TypedData, TPrimaryType extends string = string, TAccount extends Account | undefined = undefined> = GetAccountParameter<TAccount> & TypedDataDefinition<TTypedData, TPrimaryType>;
7
7
  export type SignTypedDataReturnType = Hex;
8
+ /**
9
+ * Signs typed data and calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`.
10
+ *
11
+ * - Docs: https://viem.sh/docs/actions/wallet/signTypedData.html
12
+ * - JSON-RPC Methods:
13
+ * - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data.html#signtypeddata-v4)
14
+ * - Local Accounts: Signs locally. No JSON-RPC request.
15
+ *
16
+ * @param client - Client to use
17
+ * @param parameters - {@link SignTypedDataParameters}
18
+ * @returns The signed data. {@link SignTypedDataReturnType}
19
+ *
20
+ * @example
21
+ * import { createWalletClient, custom } from 'viem'
22
+ * import { mainnet } from 'viem/chains'
23
+ * import { signTypedData } from 'viem/wallet'
24
+ *
25
+ * const client = createWalletClient({
26
+ * chain: mainnet,
27
+ * transport: custom(window.ethereum),
28
+ * })
29
+ * const signature = await signTypedData(client, {
30
+ * account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
31
+ * domain: {
32
+ * name: 'Ether Mail',
33
+ * version: '1',
34
+ * chainId: 1,
35
+ * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
36
+ * },
37
+ * types: {
38
+ * Person: [
39
+ * { name: 'name', type: 'string' },
40
+ * { name: 'wallet', type: 'address' },
41
+ * ],
42
+ * Mail: [
43
+ * { name: 'from', type: 'Person' },
44
+ * { name: 'to', type: 'Person' },
45
+ * { name: 'contents', type: 'string' },
46
+ * ],
47
+ * },
48
+ * primaryType: 'Mail',
49
+ * message: {
50
+ * from: {
51
+ * name: 'Cow',
52
+ * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
53
+ * },
54
+ * to: {
55
+ * name: 'Bob',
56
+ * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
57
+ * },
58
+ * contents: 'Hello, Bob!',
59
+ * },
60
+ * })
61
+ *
62
+ * @example
63
+ * // Account Hoisting
64
+ * import { createWalletClient, http } from 'viem'
65
+ * import { privateKeyToAccount } from 'viem/accounts'
66
+ * import { mainnet } from 'viem/chains'
67
+ * import { signTypedData } from 'viem/wallet'
68
+ *
69
+ * const client = createWalletClient({
70
+ * account: privateKeyToAccount('0x…'),
71
+ * chain: mainnet,
72
+ * transport: http(),
73
+ * })
74
+ * const signature = await signTypedData(client, {
75
+ * domain: {
76
+ * name: 'Ether Mail',
77
+ * version: '1',
78
+ * chainId: 1,
79
+ * verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
80
+ * },
81
+ * types: {
82
+ * Person: [
83
+ * { name: 'name', type: 'string' },
84
+ * { name: 'wallet', type: 'address' },
85
+ * ],
86
+ * Mail: [
87
+ * { name: 'from', type: 'Person' },
88
+ * { name: 'to', type: 'Person' },
89
+ * { name: 'contents', type: 'string' },
90
+ * ],
91
+ * },
92
+ * primaryType: 'Mail',
93
+ * message: {
94
+ * from: {
95
+ * name: 'Cow',
96
+ * wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
97
+ * },
98
+ * to: {
99
+ * name: 'Bob',
100
+ * wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
101
+ * },
102
+ * contents: 'Hello, Bob!',
103
+ * },
104
+ * })
105
+ */
8
106
  export declare function signTypedData<TTypedData extends TypedData | {
9
107
  [key: string]: unknown;
10
108
  }, TPrimaryType extends string, TChain extends Chain | undefined, TAccount extends Account | undefined>(client: WalletClient<Transport, TChain, TAccount>, { account: account_, domain, message, primaryType, types: types_, }: SignTypedDataParameters<TTypedData, TPrimaryType, TAccount>): Promise<SignTypedDataReturnType>;
@@ -1 +1 @@
1
- {"version":3,"file":"signTypedData.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/signTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,GAAG,EACH,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,MAAM,uBAAuB,CACjC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,EACrE,YAAY,SAAS,MAAM,GAAG,MAAM,EACpC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,IAC9C,mBAAmB,CAAC,QAAQ,CAAC,GAC/B,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;AAE/C,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAEzC,wBAAsB,aAAa,CACjC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACzD,YAAY,SAAS,MAAM,EAC3B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,OAAO,EAAE,QAAyB,EAClC,MAAM,EACN,OAAO,EACP,WAAW,EACX,KAAK,EAAE,MAAM,GACd,EAAE,uBAAuB,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,CA8ClC"}
1
+ {"version":3,"file":"signTypedData.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/signTypedData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,GAAG,EACH,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,MAAM,uBAAuB,CACjC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,SAAS,EACrE,YAAY,SAAS,MAAM,GAAG,MAAM,EACpC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,IAC9C,mBAAmB,CAAC,QAAQ,CAAC,GAC/B,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;AAE/C,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AACH,wBAAsB,aAAa,CACjC,UAAU,SAAS,SAAS,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACzD,YAAY,SAAS,MAAM,EAC3B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,OAAO,EAAE,QAAyB,EAClC,MAAM,EACN,OAAO,EACP,WAAW,EACX,KAAK,EAAE,MAAM,GACd,EAAE,uBAAuB,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,GAC7D,OAAO,CAAC,uBAAuB,CAAC,CA8ClC"}
@@ -1,7 +1,28 @@
1
1
  import type { Transport, WalletClient } from '../../clients/index.js';
2
2
  import type { Account, Chain } from '../../types/index.js';
3
3
  export type SwitchChainParameters = {
4
+ /** ID of Chain to switch to */
4
5
  id: Chain['id'];
5
6
  };
7
+ /**
8
+ * Switch the target chain in a wallet.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/wallet/switchChain.html
11
+ * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326)
12
+ *
13
+ * @param client - Client to use
14
+ * @param parameters - {@link SwitchChainParameters}
15
+ *
16
+ * @example
17
+ * import { createWalletClient, custom } from 'viem'
18
+ * import { mainnet, optimism } from 'viem/chains'
19
+ * import { switchChain } from 'viem/wallet'
20
+ *
21
+ * const client = createWalletClient({
22
+ * chain: mainnet,
23
+ * transport: custom(window.ethereum),
24
+ * })
25
+ * await switchChain(client, { id: optimism.id })
26
+ */
6
27
  export declare function switchChain<TChain extends Chain | undefined, TAccount extends Account | undefined = undefined>(client: WalletClient<Transport, TChain, TAccount>, { id }: SwitchChainParameters): Promise<void>;
7
28
  //# sourceMappingURL=switchChain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"switchChain.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/switchChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,qBAAqB,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CAAE,CAAA;AAEvD,wBAAsB,WAAW,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EAAE,EAAE,EAAE,EAAE,qBAAqB,iBAU9B"}
1
+ {"version":3,"file":"switchChain.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/switchChain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,+BAA+B;IAC/B,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CAChB,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EAAE,EAAE,EAAE,EAAE,qBAAqB,iBAU9B"}
@@ -3,5 +3,33 @@ import type { Account, Chain } from '../../types/index.js';
3
3
  import type { WatchAssetParams } from '../../types/eip1193.js';
4
4
  export type WatchAssetParameters = WatchAssetParams;
5
5
  export type WatchAssetReturnType = boolean;
6
+ /**
7
+ * Adds an EVM chain to the wallet.
8
+ *
9
+ * - Docs: https://viem.sh/docs/actions/wallet/watchAsset.html
10
+ * - JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747)
11
+ *
12
+ * @param client - Client to use
13
+ * @param parameters - {@link WatchAssetParameters}
14
+ * @returns Boolean indicating if the token was successfully added. {@link WatchAssetReturnType}
15
+ *
16
+ * @example
17
+ * import { createWalletClient, custom } from 'viem'
18
+ * import { mainnet } from 'viem/chains'
19
+ * import { watchAsset } from 'viem/wallet'
20
+ *
21
+ * const client = createWalletClient({
22
+ * chain: mainnet,
23
+ * transport: custom(window.ethereum),
24
+ * })
25
+ * const success = await watchAsset(client, {
26
+ * type: 'ERC20',
27
+ * options: {
28
+ * address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
29
+ * decimals: 18,
30
+ * symbol: 'WETH',
31
+ * },
32
+ * })
33
+ */
6
34
  export declare function watchAsset<TChain extends Chain | undefined, TAccount extends Account | undefined = undefined>(client: WalletClient<Transport, TChain, TAccount>, params: WatchAssetParameters): Promise<WatchAssetReturnType>;
7
35
  //# sourceMappingURL=watchAsset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchAsset.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/watchAsset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAA;AACnD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAE1C,wBAAsB,UAAU,CAC9B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
1
+ {"version":3,"file":"watchAsset.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/watchAsset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAA;AACnD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,UAAU,CAC9B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
@@ -4,5 +4,55 @@ import type { Account, Chain, ContractFunctionConfig, GetChain, GetValue } from
4
4
  import type { SendTransactionParameters, SendTransactionReturnType } from './sendTransaction.js';
5
5
  export type WriteContractParameters<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string, TChain extends Chain | undefined = Chain, TAccount extends Account | undefined = undefined, TChainOverride extends Chain | undefined = undefined> = ContractFunctionConfig<TAbi, TFunctionName, 'payable' | 'nonpayable'> & Omit<SendTransactionParameters<TChain, TAccount, TChainOverride>, 'chain' | 'to' | 'data' | 'value'> & GetChain<TChain, TChainOverride> & GetValue<TAbi, TFunctionName, SendTransactionParameters<TChain>['value']>;
6
6
  export type WriteContractReturnType = SendTransactionReturnType;
7
+ /**
8
+ * Executes a write function on a contract.
9
+ *
10
+ * - Docs: https://viem.sh/docs/contract/writeContract.html
11
+ * - Examples: https://stackblitz.com/github/wagmi-dev/viem/tree/main/examples/contracts/writing-to-contracts
12
+ *
13
+ * A "write" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms) is needed to be broadcast in order to change the state.
14
+ *
15
+ * Internally, uses a [Wallet Client](https://viem.sh/docs/clients/wallet) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData).
16
+ *
17
+ * __Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract.html#usage) before you execute it.__
18
+ *
19
+ * @param client - Client to use
20
+ * @param parameters - {@link WriteContractParameters}
21
+ * @returns A [Transaction Hash](https://viem.sh/docs/glossary/terms#hash). {@link WriteContractReturnType}
22
+ *
23
+ * @example
24
+ * import { createWalletClient, custom, parseAbi } from 'viem'
25
+ * import { mainnet } from 'viem/chains'
26
+ * import { writeContract } from 'viem/contract'
27
+ *
28
+ * const client = createWalletClient({
29
+ * chain: mainnet,
30
+ * transport: custom(window.ethereum),
31
+ * })
32
+ * const hash = await writeContract(client, {
33
+ * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
34
+ * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),
35
+ * functionName: 'mint',
36
+ * args: [69420],
37
+ * })
38
+ *
39
+ * @example
40
+ * // With Validation
41
+ * import { createWalletClient, http, parseAbi } from 'viem'
42
+ * import { mainnet } from 'viem/chains'
43
+ * import { simulateContract, writeContract } from 'viem/contract'
44
+ *
45
+ * const client = createWalletClient({
46
+ * chain: mainnet,
47
+ * transport: http(),
48
+ * })
49
+ * const { request } = await simulateContract(client, {
50
+ * address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2',
51
+ * abi: parseAbi(['function mint(uint32 tokenId) nonpayable']),
52
+ * functionName: 'mint',
53
+ * args: [69420],
54
+ * }
55
+ * const hash = await writeContract(client, request)
56
+ */
7
57
  export declare function writeContract<TChain extends Chain | undefined, TAccount extends Account | undefined, TAbi extends Abi | readonly unknown[], TFunctionName extends string, TChainOverride extends Chain | undefined = undefined>(client: WalletClient<Transport, TChain, TAccount>, { abi, address, args, functionName, ...request }: WriteContractParameters<TAbi, TFunctionName, TChain, TAccount, TChainOverride>): Promise<WriteContractReturnType>;
8
58
  //# sourceMappingURL=writeContract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"writeContract.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/writeContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACT,MAAM,sBAAsB,CAAA;AAI7B,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,uBAAuB,CACjC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,aAAa,SAAS,MAAM,GAAG,MAAM,EACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,EACxC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,IAClD,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,GAAG,YAAY,CAAC,GACvE,IAAI,CACF,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,EAC3D,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAClC,GACD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,GAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAE3E,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAE/D,wBAAsB,aAAa,CACjC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EACpC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,EAC5B,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,GAAG,OAAO,EACX,EAAE,uBAAuB,CACxB,IAAI,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,cAAc,CACf,GACA,OAAO,CAAC,uBAAuB,CAAC,CAYlC"}
1
+ {"version":3,"file":"writeContract.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/writeContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EACV,OAAO,EACP,KAAK,EACL,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACT,MAAM,sBAAsB,CAAA;AAI7B,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,uBAAuB,CACjC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,GAAG,GAAG,EAC3C,aAAa,SAAS,MAAM,GAAG,MAAM,EACrC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,EACxC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,IAClD,sBAAsB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,GAAG,YAAY,CAAC,GACvE,IAAI,CACF,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,EAC3D,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAClC,GACD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,GAChC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAE3E,MAAM,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,aAAa,CACjC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EACpC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EACrC,aAAa,SAAS,MAAM,EAC5B,cAAc,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAEpD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EACE,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,GAAG,OAAO,EACX,EAAE,uBAAuB,CACxB,IAAI,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,cAAc,CACf,GACA,OAAO,CAAC,uBAAuB,CAAC,CAYlC"}
@@ -6,7 +6,23 @@ import type { Chain, Prettify } from '../types/index.js';
6
6
  export type PublicClientConfig<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined> = Pick<ClientConfig<TTransport, TChain>, 'chain' | 'key' | 'name' | 'pollingInterval' | 'transport'>;
7
7
  export type PublicClient<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TIncludeActions extends boolean = true> = Prettify<Client<TTransport, PublicRequests, TChain> & (TIncludeActions extends true ? PublicActions<TTransport, TChain> : unknown)>;
8
8
  /**
9
- * @description Creates a public client with a given transport.
9
+ * Creates a Public Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/clients/chains).
10
+ *
11
+ * - Docs: https://viem.sh/docs/clients/public.html
12
+ *
13
+ * A Public Client is an interface to "public" [JSON-RPC API](https://ethereum.org/en/developers/docs/apis/json-rpc/) methods such as retrieving block numbers, transactions, reading from smart contracts, etc through [Public Actions](/docs/actions/public/introduction).
14
+ *
15
+ * @param config - {@link PublicClientConfig}
16
+ * @returns A Public Client. {@link PublicClient}
17
+ *
18
+ * @example
19
+ * import { createPublicClient, http } from 'viem'
20
+ * import { mainnet } from 'viem/chains'
21
+ *
22
+ * const client = createPublicClient({
23
+ * chain: mainnet,
24
+ * transport: http(),
25
+ * })
10
26
  */
11
27
  export declare function createPublicClient<TTransport extends Transport, TChain extends Chain | undefined = undefined>({ chain, key, name, transport, pollingInterval, }: PublicClientConfig<TTransport, TChain>): PublicClient<TTransport, TChain, true>;
12
28
  //# sourceMappingURL=createPublicClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPublicClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createPublicClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,MAAM,kBAAkB,CAC5B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,IAAI,CACN,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CAC3D,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,eAAe,SAAS,OAAO,GAAG,IAAI,IACpC,QAAQ,CACV,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,GACxC,CAAC,eAAe,SAAS,IAAI,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAC/E,CAAA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC5C,EACA,KAAK,EACL,GAAc,EACd,IAAsB,EACtB,SAAS,EACT,eAAe,GAChB,EAAE,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,YAAY,CACtD,UAAU,EACV,MAAM,EACN,IAAI,CACL,CAaA"}
1
+ {"version":3,"file":"createPublicClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createPublicClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,MAAM,kBAAkB,CAC5B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,IAAI,CACN,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CAC3D,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,eAAe,SAAS,OAAO,GAAG,IAAI,IACpC,QAAQ,CACV,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,GACxC,CAAC,eAAe,SAAS,IAAI,GAAG,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAC/E,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC5C,EACA,KAAK,EACL,GAAc,EACd,IAAsB,EACtB,SAAS,EACT,eAAe,GAChB,EAAE,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,YAAY,CACtD,UAAU,EACV,MAAM,EACN,IAAI,CACL,CAaA"}
@@ -14,5 +14,25 @@ export type TestClient<TMode extends TestClientMode = TestClientMode, TTransport
14
14
  /**
15
15
  * @description Creates a test client with a given transport.
16
16
  */
17
+ /**
18
+ * Creates a Test Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/clients/chains).
19
+ *
20
+ * - Docs: https://viem.sh/docs/clients/test.html
21
+ *
22
+ * A Test Client is an interface to "test" JSON-RPC API methods accessible through a local Ethereum test node such as [Anvil](https://book.getfoundry.sh/anvil/) or [Hardhat](https://hardhat.org/) such as mining blocks, impersonating accounts, setting fees, etc through [Test Actions](https://viem.sh/docs/actions/test/introduction).
23
+ *
24
+ * @param config - {@link TestClientConfig}
25
+ * @returns A Test Client. {@link TestClient}
26
+ *
27
+ * @example
28
+ * import { createTestClient, custom } from 'viem'
29
+ * import { foundry } from 'viem/chains'
30
+ *
31
+ * const client = createTestClient({
32
+ * mode: 'anvil',
33
+ * chain: foundry,
34
+ * transport: http(),
35
+ * })
36
+ */
17
37
  export declare function createTestClient<TMode extends TestClientMode, TTransport extends Transport, TChain extends Chain | undefined = undefined>({ chain, key, name, mode, pollingInterval, transport, }: TestClientConfig<TMode, TTransport, TChain>): TestClient<TMode, TTransport, TChain, true>;
18
38
  //# sourceMappingURL=createTestClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createTestClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createTestClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEhE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAA;AAEhD,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,IAAI,CACN,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CAC3D,GAAG;IACF,8DAA8D;IAC9D,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,eAAe,SAAS,OAAO,GAAG,IAAI,IACpC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACjD,CAAC,eAAe,SAAS,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,GAAG;IACvD,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,cAAc,EAC5B,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC5C,EACA,KAAK,EACL,GAAY,EACZ,IAAoB,EACpB,IAAI,EACJ,eAAe,EACf,SAAS,GACV,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,UAAU,CACzD,KAAK,EACL,UAAU,EACV,MAAM,EACN,IAAI,CACL,CAgBA"}
1
+ {"version":3,"file":"createTestClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createTestClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAEhE,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,CAAA;AAEhD,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,IAClD,IAAI,CACN,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CAC3D,GAAG;IACF,8DAA8D;IAC9D,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,CACpB,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,eAAe,SAAS,OAAO,GAAG,IAAI,IACpC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACjD,CAAC,eAAe,SAAS,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,GAAG;IACvD,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAEH;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS,cAAc,EAC5B,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC5C,EACA,KAAK,EACL,GAAY,EACZ,IAAoB,EACpB,IAAI,EACJ,eAAe,EACf,SAAS,GACV,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,UAAU,CACzD,KAAK,EACL,UAAU,EACV,MAAM,EACN,IAAI,CACL,CAgBA"}
@@ -12,7 +12,40 @@ export type WalletClient<TTransport extends Transport = Transport, TChain extend
12
12
  account: TAccount;
13
13
  }>;
14
14
  /**
15
- * @description Creates a wallet client with a given transport.
15
+ * Creates a Wallet Client with a given [Transport](https://viem.sh/docs/clients/intro) configured for a [Chain](https://viem.sh/docs/clients/chains).
16
+ *
17
+ * - Docs: https://viem.sh/docs/clients/wallet.html
18
+ *
19
+ * A Wallet Client is an interface to interact with [Ethereum Account(s)](https://ethereum.org/en/glossary/#account) and provides the ability to retrieve accounts, execute transactions, sign messages, etc. through [Wallet Actions](https://viem.sh/docs/actions/wallet/introduction).
20
+ *
21
+ * The Wallet Client supports signing over:
22
+ * - [JSON-RPC Accounts](https://viem.sh/docs/clients/wallet.html#json-rpc-accounts) (e.g. Browser Extension Wallets, WalletConnect, etc).
23
+ * - [Local Accounts](https://viem.sh/docs/clients/wallet.html#local-accounts-private-key-mnemonic-etc) (e.g. private key/mnemonic wallets).
24
+ *
25
+ * @param config - {@link WalletClientConfig}
26
+ * @returns A Wallet Client. {@link WalletClient}
27
+ *
28
+ * @example
29
+ * // JSON-RPC Account
30
+ * import { createWalletClient, custom } from 'viem'
31
+ * import { mainnet } from 'viem/chains'
32
+ *
33
+ * const client = createWalletClient({
34
+ * chain: mainnet,
35
+ * transport: custom(window.ethereum),
36
+ * })
37
+ *
38
+ * @example
39
+ * // Local Account
40
+ * import { createWalletClient, custom } from 'viem'
41
+ * import { privateKeyToAccount } from 'viem/accounts'
42
+ * import { mainnet } from 'viem/chains'
43
+ *
44
+ * const client = createWalletClient({
45
+ * account: privateKeyToAccount('0x…')
46
+ * chain: mainnet,
47
+ * transport: http(),
48
+ * })
16
49
  */
17
50
  export declare function createWalletClient<TTransport extends Transport, TChain extends Chain | undefined = undefined, TAccountOrAddress extends Account | Address | undefined = undefined>({ account, chain, transport, key, name, pollingInterval, }: WalletClientConfig<TTransport, TChain, TAccountOrAddress>): WalletClient<TTransport, TChain, TAccountOrAddress extends Address ? Prettify<JsonRpcAccount<TAccountOrAddress>> : TAccountOrAddress, true>;
18
51
  //# sourceMappingURL=createWalletClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createWalletClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createWalletClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,MAAM,kBAAkB,CAC5B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,iBAAiB,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GACnD,OAAO,GACP,OAAO,GACP,SAAS,IACX,IAAI,CACN,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CAC3D,GAAG;IACF,sHAAsH;IACtH,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,eAAe,SAAS,OAAO,GAAG,IAAI,IACpC,QAAQ,CACV,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,GAClC,CAAC,eAAe,SAAS,IAAI,GACzB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,GAC/B,OAAO,CAAC,GAAG;IACb,gDAAgD;IAChD,OAAO,EAAE,QAAQ,CAAA;CAClB,CACJ,CAAA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC5C,iBAAiB,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,EACnE,EACA,OAAO,EACP,KAAK,EACL,SAAS,EACT,GAAc,EACd,IAAsB,EACtB,eAAe,GAChB,EAAE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAAG,YAAY,CACzE,UAAU,EACV,MAAM,EACN,iBAAiB,SAAS,OAAO,GAC7B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,GAC3C,iBAAiB,EACrB,IAAI,CACL,CAsBA"}
1
+ {"version":3,"file":"createWalletClient.d.ts","sourceRoot":"","sources":["../../../src/clients/createWalletClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACP,KAAK,EACL,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,MAAM,kBAAkB,CAC5B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,iBAAiB,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GACnD,OAAO,GACP,OAAO,GACP,SAAS,IACX,IAAI,CACN,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,EAChC,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,iBAAiB,GAAG,WAAW,CAC3D,GAAG;IACF,sHAAsH;IACtH,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,YAAY,CACtB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,EAC1D,eAAe,SAAS,OAAO,GAAG,IAAI,IACpC,QAAQ,CACV,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,GAClC,CAAC,eAAe,SAAS,IAAI,GACzB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,GAC/B,OAAO,CAAC,GAAG;IACb,gDAAgD;IAChD,OAAO,EAAE,QAAQ,CAAA;CAClB,CACJ,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,SAAS,SAAS,EAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,SAAS,EAC5C,iBAAiB,SAAS,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,EACnE,EACA,OAAO,EACP,KAAK,EACL,SAAS,EACT,GAAc,EACd,IAAsB,EACtB,eAAe,GAChB,EAAE,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAAG,YAAY,CACzE,UAAU,EACV,MAAM,EACN,iBAAiB,SAAS,OAAO,GAC7B,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,GAC3C,iBAAiB,EACrB,IAAI,CACL,CAsBA"}