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
@@ -6,5 +6,28 @@ export type SetCodeParameters = {
6
6
  /** The bytecode to set */
7
7
  bytecode: Hex;
8
8
  };
9
+ /**
10
+ * Modifies the bytecode stored at an account's address.
11
+ *
12
+ * - Docs: https://viem.sh/docs/actions/test/setCode.html
13
+ *
14
+ * @param client - Client to use
15
+ * @param parameters – {@link SetCodeParameters}
16
+ *
17
+ * @example
18
+ * import { createTestClient, http } from 'viem'
19
+ * import { foundry } from 'viem/chains'
20
+ * import { setCode } from 'viem/test'
21
+ *
22
+ * const client = createTestClient({
23
+ * mode: 'anvil',
24
+ * chain: 'foundry',
25
+ * transport: http(),
26
+ * })
27
+ * await setCode(client, {
28
+ * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',
29
+ * bytecode: '0x60806040526000600355600019600955600c80546001600160a01b031916737a250d5630b4cf539739df…',
30
+ * })
31
+ */
9
32
  export declare function setCode<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { address, bytecode }: SetCodeParameters): Promise<void>;
10
33
  //# sourceMappingURL=setCode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setCode.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,0BAA0B;IAC1B,QAAQ,EAAE,GAAG,CAAA;CACd,CAAA;AAED,wBAAsB,OAAO,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC5D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,iBAMzC"}
1
+ {"version":3,"file":"setCode.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,0BAA0B;IAC1B,QAAQ,EAAE,GAAG,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,OAAO,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC5D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,iBAMzC"}
@@ -4,5 +4,27 @@ export type SetCoinbaseParameters = {
4
4
  /** The coinbase address. */
5
5
  address: Address;
6
6
  };
7
+ /**
8
+ * Sets the coinbase address to be used in new blocks.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/test/setCoinbase.html
11
+ *
12
+ * @param client - Client to use
13
+ * @param parameters – {@link SetCoinbaseParameters}
14
+ *
15
+ * @example
16
+ * import { createTestClient, http } from 'viem'
17
+ * import { foundry } from 'viem/chains'
18
+ * import { setCoinbase } from 'viem/test'
19
+ *
20
+ * const client = createTestClient({
21
+ * mode: 'anvil',
22
+ * chain: 'foundry',
23
+ * transport: http(),
24
+ * })
25
+ * await setCoinbase(client, {
26
+ * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',
27
+ * })
28
+ */
7
29
  export declare function setCoinbase<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { address }: SetCoinbaseParameters): Promise<void>;
8
30
  //# sourceMappingURL=setCoinbase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setCoinbase.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setCoinbase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAsB,WAAW,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,EAAE,qBAAqB,iBAMnC"}
1
+ {"version":3,"file":"setCoinbase.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setCoinbase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,WAAW,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,EAAE,qBAAqB,iBAMnC"}
@@ -4,5 +4,25 @@ export type SetIntervalMiningParameters = {
4
4
  /** The mining interval. */
5
5
  interval: number;
6
6
  };
7
+ /**
8
+ * Sets the automatic mining interval (in seconds) of blocks. Setting the interval to 0 will disable automatic mining.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/test/setIntervalMining.html
11
+ *
12
+ * @param client - Client to use
13
+ * @param parameters – {@link SetIntervalMiningParameters}
14
+ *
15
+ * @example
16
+ * import { createTestClient, http } from 'viem'
17
+ * import { foundry } from 'viem/chains'
18
+ * import { setIntervalMining } from 'viem/test'
19
+ *
20
+ * const client = createTestClient({
21
+ * mode: 'anvil',
22
+ * chain: 'foundry',
23
+ * transport: http(),
24
+ * })
25
+ * await setIntervalMining(client, { interval: 5 })
26
+ */
7
27
  export declare function setIntervalMining<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { interval }: SetIntervalMiningParameters): Promise<void>;
8
28
  //# sourceMappingURL=setIntervalMining.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setIntervalMining.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setIntervalMining.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,MAAM,2BAA2B,GAAG;IACxC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACtE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,QAAQ,EAAE,EAAE,2BAA2B,iBAM1C"}
1
+ {"version":3,"file":"setIntervalMining.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setIntervalMining.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,MAAM,2BAA2B,GAAG;IACxC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACtE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,QAAQ,EAAE,EAAE,2BAA2B,iBAM1C"}
@@ -1,4 +1,23 @@
1
1
  import type { TestClient, TestClientMode, Transport } from '../../clients/index.js';
2
2
  import type { Chain } from '../../types/index.js';
3
+ /**
4
+ * Enable or disable logging on the test node network.
5
+ *
6
+ * - Docs: https://viem.sh/docs/actions/test/setLoggingEnabled.html
7
+ *
8
+ * @param client - Client to use
9
+ *
10
+ * @example
11
+ * import { createTestClient, http } from 'viem'
12
+ * import { foundry } from 'viem/chains'
13
+ * import { setLoggingEnabled } from 'viem/test'
14
+ *
15
+ * const client = createTestClient({
16
+ * mode: 'anvil',
17
+ * chain: 'foundry',
18
+ * transport: http(),
19
+ * })
20
+ * await setLoggingEnabled(client)
21
+ */
3
22
  export declare function setLoggingEnabled<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, enabled: boolean): Promise<void>;
4
23
  //# sourceMappingURL=setLoggingEnabled.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setLoggingEnabled.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setLoggingEnabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACtE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,OAAO,EAAE,OAAO,iBAMjB"}
1
+ {"version":3,"file":"setLoggingEnabled.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setLoggingEnabled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACtE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,OAAO,EAAE,OAAO,iBAMjB"}
@@ -4,5 +4,29 @@ export type SetMinGasPriceParameters = {
4
4
  /** The gas price. */
5
5
  gasPrice: bigint;
6
6
  };
7
+ /**
8
+ * Change the minimum gas price accepted by the network (in wei).
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/test/setMinGasPrice.html
11
+ *
12
+ * Note: `setMinGasPrice` can only be used on clients that do not have EIP-1559 enabled.
13
+ *
14
+ * @param client - Client to use
15
+ * @param parameters – {@link SetBlockGasLimitParameters}
16
+ *
17
+ * @example
18
+ * import { createTestClient, http, parseGwei } from 'viem'
19
+ * import { foundry } from 'viem/chains'
20
+ * import { setMinGasPrice } from 'viem/test'
21
+ *
22
+ * const client = createTestClient({
23
+ * mode: 'anvil',
24
+ * chain: 'foundry',
25
+ * transport: http(),
26
+ * })
27
+ * await setMinGasPrice(client, {
28
+ * gasPrice: parseGwei('20'),
29
+ * })
30
+ */
7
31
  export declare function setMinGasPrice<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { gasPrice }: SetMinGasPriceParameters): Promise<void>;
8
32
  //# sourceMappingURL=setMinGasPrice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setMinGasPrice.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setMinGasPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAsB,cAAc,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACnE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,QAAQ,EAAE,EAAE,wBAAwB,iBAMvC"}
1
+ {"version":3,"file":"setMinGasPrice.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setMinGasPrice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,wBAAwB,GAAG;IACrC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,cAAc,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACnE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,QAAQ,EAAE,EAAE,wBAAwB,iBAMvC"}
@@ -4,5 +4,27 @@ export type SetNextBlockBaseFeePerGasParameters = {
4
4
  /** Base fee per gas (in wei). */
5
5
  baseFeePerGas: bigint;
6
6
  };
7
+ /**
8
+ * Sets the next block's base fee per gas.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/test/setNextBlockBaseFeePerGas.html
11
+ *
12
+ * @param client - Client to use
13
+ * @param parameters – {@link SetNextBlockBaseFeePerGasParameters}
14
+ *
15
+ * @example
16
+ * import { createTestClient, http, parseGwei } from 'viem'
17
+ * import { foundry } from 'viem/chains'
18
+ * import { setNextBlockBaseFeePerGas } from 'viem/test'
19
+ *
20
+ * const client = createTestClient({
21
+ * mode: 'anvil',
22
+ * chain: 'foundry',
23
+ * transport: http(),
24
+ * })
25
+ * await setNextBlockBaseFeePerGas(client, {
26
+ * baseFeePerGas: parseGwei('20'),
27
+ * })
28
+ */
7
29
  export declare function setNextBlockBaseFeePerGas<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { baseFeePerGas }: SetNextBlockBaseFeePerGasParameters): Promise<void>;
8
30
  //# sourceMappingURL=setNextBlockBaseFeePerGas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setNextBlockBaseFeePerGas.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setNextBlockBaseFeePerGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,mCAAmC,GAAG;IAChD,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,aAAa,EAAE,EAAE,mCAAmC,iBAMvD"}
1
+ {"version":3,"file":"setNextBlockBaseFeePerGas.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setNextBlockBaseFeePerGas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,mCAAmC,GAAG;IAChD,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,aAAa,EAAE,EAAE,mCAAmC,iBAMvD"}
@@ -4,5 +4,25 @@ export type SetNextBlockTimestampParameters = {
4
4
  /** The timestamp (in seconds). */
5
5
  timestamp: bigint;
6
6
  };
7
+ /**
8
+ * Sets the next block's timestamp.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/test/setNextBlockTimestamp.html
11
+ *
12
+ * @param client - Client to use
13
+ * @param parameters – {@link SetNextBlockTimestampParameters}
14
+ *
15
+ * @example
16
+ * import { createTestClient, http } from 'viem'
17
+ * import { foundry } from 'viem/chains'
18
+ * import { setNextBlockTimestamp } from 'viem/test'
19
+ *
20
+ * const client = createTestClient({
21
+ * mode: 'anvil',
22
+ * chain: 'foundry',
23
+ * transport: http(),
24
+ * })
25
+ * await setNextBlockTimestamp(client, { timestamp: 1671744314n })
26
+ */
7
27
  export declare function setNextBlockTimestamp<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { timestamp }: SetNextBlockTimestampParameters): Promise<void>;
8
28
  //# sourceMappingURL=setNextBlockTimestamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setNextBlockTimestamp.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setNextBlockTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,wBAAsB,qBAAqB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC1E,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,SAAS,EAAE,EAAE,+BAA+B,iBAM/C"}
1
+ {"version":3,"file":"setNextBlockTimestamp.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setNextBlockTimestamp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC1E,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,SAAS,EAAE,EAAE,+BAA+B,iBAM/C"}
@@ -6,5 +6,28 @@ export type SetNonceParameters = {
6
6
  /** The nonce to set. */
7
7
  nonce: number;
8
8
  };
9
+ /**
10
+ * Modifies (overrides) the nonce of an account.
11
+ *
12
+ * - Docs: https://viem.sh/docs/actions/test/setNonce.html
13
+ *
14
+ * @param client - Client to use
15
+ * @param parameters – {@link SetNonceParameters}
16
+ *
17
+ * @example
18
+ * import { createTestClient, http } from 'viem'
19
+ * import { foundry } from 'viem/chains'
20
+ * import { setNonce } from 'viem/test'
21
+ *
22
+ * const client = createTestClient({
23
+ * mode: 'anvil',
24
+ * chain: 'foundry',
25
+ * transport: http(),
26
+ * })
27
+ * await setNonce(client, {
28
+ * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
29
+ * nonce: 420,
30
+ * })
31
+ */
9
32
  export declare function setNonce<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { address, nonce }: SetNonceParameters): Promise<void>;
10
33
  //# sourceMappingURL=setNonce.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setNonce.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setNonce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAsB,QAAQ,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC7D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,kBAAkB,iBAMvC"}
1
+ {"version":3,"file":"setNonce.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setNonce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,QAAQ,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC7D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,kBAAkB,iBAMvC"}
@@ -1,4 +1,24 @@
1
1
  import type { TestClient, TestClientMode, Transport } from '../../clients/index.js';
2
2
  import type { Chain } from '../../types/index.js';
3
+ /**
4
+ * Sets the backend RPC URL.
5
+ *
6
+ * - Docs: https://viem.sh/docs/actions/test/setRpcUrl.html
7
+ *
8
+ * @param client - Client to use
9
+ * @param jsonRpcUrl – RPC URL
10
+ *
11
+ * @example
12
+ * import { createTestClient, http } from 'viem'
13
+ * import { foundry } from 'viem/chains'
14
+ * import { setRpcUrl } from 'viem/test'
15
+ *
16
+ * const client = createTestClient({
17
+ * mode: 'anvil',
18
+ * chain: 'foundry',
19
+ * transport: http(),
20
+ * })
21
+ * await setRpcUrl(client, 'https://eth-mainnet.g.alchemy.com/v2')
22
+ */
3
23
  export declare function setRpcUrl<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, jsonRpcUrl: string): Promise<void>;
4
24
  //# sourceMappingURL=setRpcUrl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setRpcUrl.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setRpcUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,wBAAsB,SAAS,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC9D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,UAAU,EAAE,MAAM,iBAMnB"}
1
+ {"version":3,"file":"setRpcUrl.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setRpcUrl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,SAAS,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC9D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,UAAU,EAAE,MAAM,iBAMnB"}
@@ -8,5 +8,29 @@ export type SetStorageAtParameters = {
8
8
  /** The value to store as a 32 byte hex string. */
9
9
  value: Hex;
10
10
  };
11
+ /**
12
+ * Writes to a slot of an account's storage.
13
+ *
14
+ * - Docs: https://viem.sh/docs/actions/test/setStorageAt.html
15
+ *
16
+ * @param client - Client to use
17
+ * @param parameters – {@link SetStorageAtParameters}
18
+ *
19
+ * @example
20
+ * import { createTestClient, http } from 'viem'
21
+ * import { foundry } from 'viem/chains'
22
+ * import { setStorageAt } from 'viem/test'
23
+ *
24
+ * const client = createTestClient({
25
+ * mode: 'anvil',
26
+ * chain: 'foundry',
27
+ * transport: http(),
28
+ * })
29
+ * await setStorageAt(client, {
30
+ * address: '0xe846c6fcf817734ca4527b28ccb4aea2b6663c79',
31
+ * index: 2,
32
+ * value: '0x0000000000000000000000000000000000000000000000000000000000000069',
33
+ * })
34
+ */
11
35
  export declare function setStorageAt<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { address, index, value }: SetStorageAtParameters): Promise<void>;
12
36
  //# sourceMappingURL=setStorageAt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setStorageAt.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setStorageAt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAGrE,MAAM,MAAM,sBAAsB,GAAG;IACnC,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,kDAAkD;IAClD,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,wBAAsB,YAAY,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACjE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,sBAAsB,iBAUlD"}
1
+ {"version":3,"file":"setStorageAt.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/setStorageAt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAGrE,MAAM,MAAM,sBAAsB,GAAG;IACnC,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,kDAAkD;IAClD,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,YAAY,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EACjE,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,sBAAsB,iBAUlD"}
@@ -1,4 +1,23 @@
1
1
  import type { TestClient, TestClientMode, Transport } from '../../clients/index.js';
2
2
  import type { Chain } from '../../types/index.js';
3
+ /**
4
+ * Snapshot the state of the blockchain at the current block.
5
+ *
6
+ * - Docs: https://viem.sh/docs/actions/test/snapshot.html
7
+ *
8
+ * @param client - Client to use
9
+ *
10
+ * @example
11
+ * import { createTestClient, http } from 'viem'
12
+ * import { foundry } from 'viem/chains'
13
+ * import { snapshot } from 'viem/test'
14
+ *
15
+ * const client = createTestClient({
16
+ * mode: 'anvil',
17
+ * chain: 'foundry',
18
+ * transport: http(),
19
+ * })
20
+ * await snapshot(client)
21
+ */
3
22
  export declare function snapshot<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>): Promise<`0x${string}`>;
4
23
  //# sourceMappingURL=snapshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,wBAAsB,QAAQ,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC7D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,0BAKtD"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,QAAQ,CAAC,MAAM,SAAS,KAAK,GAAG,SAAS,EAC7D,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,0BAKtD"}
@@ -4,5 +4,27 @@ export type StopImpersonatingAccountParameters = {
4
4
  /** The account to impersonate. */
5
5
  address: Address;
6
6
  };
7
+ /**
8
+ * Stop impersonating an account after having previously used [`impersonateAccount`](https://viem.sh/docs/actions/test/impersonateAccount).
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/test/stopImpersonatingAccount.html
11
+ *
12
+ * @param client - Client to use
13
+ * @param parameters – {@link StopImpersonatingAccountParameters}
14
+ *
15
+ * @example
16
+ * import { createTestClient, http } from 'viem'
17
+ * import { foundry } from 'viem/chains'
18
+ * import { stopImpersonatingAccount } from 'viem/test'
19
+ *
20
+ * const client = createTestClient({
21
+ * mode: 'anvil',
22
+ * chain: 'foundry',
23
+ * transport: http(),
24
+ * })
25
+ * await stopImpersonatingAccount(client, {
26
+ * address: '0xa5cc3c03994DB5b0d9A5eEdD10CabaB0813678AC',
27
+ * })
28
+ */
7
29
  export declare function stopImpersonatingAccount<TChain extends Chain | undefined>(client: TestClient<TestClientMode, Transport, TChain>, { address }: StopImpersonatingAccountParameters): Promise<void>;
8
30
  //# sourceMappingURL=stopImpersonatingAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stopImpersonatingAccount.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/stopImpersonatingAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,kCAAkC,GAAG;IAC/C,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,EAAE,kCAAkC,iBAMhD"}
1
+ {"version":3,"file":"stopImpersonatingAccount.d.ts","sourceRoot":"","sources":["../../../../src/actions/test/stopImpersonatingAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,MAAM,kCAAkC,GAAG;IAC/C,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,SAAS,KAAK,GAAG,SAAS,EAEhC,MAAM,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,EACrD,EAAE,OAAO,EAAE,EAAE,kCAAkC,iBAMhD"}
@@ -1,7 +1,27 @@
1
1
  import type { Transport, WalletClient } from '../../clients/index.js';
2
2
  import type { Account, Chain } from '../../types/index.js';
3
3
  export type AddChainParameters = {
4
+ /** The chain to add to the wallet. */
4
5
  chain: Chain;
5
6
  };
7
+ /**
8
+ * Adds an EVM chain to the wallet.
9
+ *
10
+ * - Docs: https://viem.sh/docs/actions/wallet/addChain.html
11
+ * - JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085)
12
+ *
13
+ * @param client - Client to use
14
+ * @param parameters - {@link AddChainParameters}
15
+ *
16
+ * @example
17
+ * import { createWalletClient, custom } from 'viem'
18
+ * import { optimism } from 'viem/chains'
19
+ * import { addChain } from 'viem/wallet'
20
+ *
21
+ * const client = createWalletClient({
22
+ * transport: custom(window.ethereum),
23
+ * })
24
+ * await addChain(client, { chain: optimism })
25
+ */
6
26
  export declare function addChain<TChain extends Chain | undefined, TAccount extends Account | undefined>(client: WalletClient<Transport, TChain, TAccount>, { chain }: AddChainParameters): Promise<void>;
7
27
  //# sourceMappingURL=addChain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addChain.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/addChain.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,kBAAkB,GAAG;IAC/B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,wBAAsB,QAAQ,CAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EAAE,KAAK,EAAE,EAAE,kBAAkB,iBAiB9B"}
1
+ {"version":3,"file":"addChain.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/addChain.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,kBAAkB,GAAG;IAC/B,sCAAsC;IACtC,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,QAAQ,CAC5B,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,EAEpC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EACjD,EAAE,KAAK,EAAE,EAAE,kBAAkB,iBAiB9B"}
@@ -24,7 +24,7 @@ export type DeployContractReturnType = SendTransactionReturnType;
24
24
  * import { deployContract } from 'viem/contract'
25
25
  *
26
26
  * const client = createWalletClient({
27
- * account = privateKeyToAccount('0x…'),
27
+ * account: privateKeyToAccount('0x…'),
28
28
  * chain: mainnet,
29
29
  * transport: http(),
30
30
  * })
@@ -2,5 +2,25 @@ import type { Address } from 'abitype';
2
2
  import type { Transport, WalletClient } from '../../clients/index.js';
3
3
  import type { Account, Chain } from '../../types/index.js';
4
4
  export type GetAddressesReturnType = Address[];
5
+ /**
6
+ * Returns a list of account addresses owned by the wallet or client.
7
+ *
8
+ * - Docs: https://viem.sh/docs/actions/wallet/getAddresses.html
9
+ * - JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts)
10
+ *
11
+ * @param client - Client to use
12
+ * @returns List of account addresses owned by the wallet or client. {@link GetAddressesReturnType}
13
+ *
14
+ * @example
15
+ * import { createWalletClient, custom } from 'viem'
16
+ * import { mainnet } from 'viem/chains'
17
+ * import { getAddresses } from 'viem/wallet'
18
+ *
19
+ * const client = createWalletClient({
20
+ * chain: mainnet,
21
+ * transport: custom(window.ethereum),
22
+ * })
23
+ * const accounts = await getAddresses(client)
24
+ */
5
25
  export declare function getAddresses<TChain extends Chain | undefined, TAccount extends Account | undefined = undefined>(client: WalletClient<Transport, TChain, TAccount>): Promise<GetAddressesReturnType>;
6
26
  //# sourceMappingURL=getAddresses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAddresses.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/getAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,sBAAsB,GAAG,OAAO,EAAE,CAAA;AAE9C,wBAAsB,YAAY,CAChC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAChD,OAAO,CAAC,sBAAsB,CAAC,CAGjC"}
1
+ {"version":3,"file":"getAddresses.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/getAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,sBAAsB,GAAG,OAAO,EAAE,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAChC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAChD,OAAO,CAAC,sBAAsB,CAAC,CAGjC"}
@@ -2,5 +2,25 @@ import type { Transport, WalletClient } from '../../clients/index.js';
2
2
  import type { Account, Chain } from '../../types/index.js';
3
3
  import type { WalletPermission } from '../../types/eip1193.js';
4
4
  export type GetPermissionsReturnType = WalletPermission[];
5
+ /**
6
+ * Gets the wallets current permissions.
7
+ *
8
+ * - Docs: https://viem.sh/docs/actions/wallet/getPermissions.html
9
+ * - JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255)
10
+ *
11
+ * @param client - Client to use
12
+ * @returns The wallet permissions. {@link GetPermissionsReturnType}
13
+ *
14
+ * @example
15
+ * import { createWalletClient, custom } from 'viem'
16
+ * import { mainnet } from 'viem/chains'
17
+ * import { getPermissions } from 'viem/wallet'
18
+ *
19
+ * const client = createWalletClient({
20
+ * chain: mainnet,
21
+ * transport: custom(window.ethereum),
22
+ * })
23
+ * const permissions = await getPermissions(client)
24
+ */
5
25
  export declare function getPermissions<TChain extends Chain | undefined, TAccount extends Account | undefined = undefined>(client: WalletClient<Transport, TChain, TAccount>): Promise<WalletPermission[]>;
6
26
  //# sourceMappingURL=getPermissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPermissions.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/getPermissions.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,wBAAwB,GAAG,gBAAgB,EAAE,CAAA;AAEzD,wBAAsB,cAAc,CAClC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,+BAGlD"}
1
+ {"version":3,"file":"getPermissions.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/getPermissions.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,wBAAwB,GAAG,gBAAgB,EAAE,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAClC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAChD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,+BAGlD"}
@@ -2,5 +2,29 @@ import type { Address } from 'abitype';
2
2
  import type { Transport, WalletClient } from '../../clients/index.js';
3
3
  import type { Account, Chain } from '../../types/index.js';
4
4
  export type RequestAddressesReturnType = Address[];
5
+ /**
6
+ * Requests a list of accounts managed by a wallet.
7
+ *
8
+ * - Docs: https://viem.sh/docs/actions/wallet/requestAddresses.html
9
+ * - JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102)
10
+ *
11
+ * Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses).
12
+ *
13
+ * This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts.
14
+ *
15
+ * @param client - Client to use
16
+ * @returns List of accounts managed by a wallet {@link RequestAddressesReturnType}
17
+ *
18
+ * @example
19
+ * import { createWalletClient, custom } from 'viem'
20
+ * import { mainnet } from 'viem/chains'
21
+ * import { requestAddresses } from 'viem/wallet'
22
+ *
23
+ * const client = createWalletClient({
24
+ * chain: mainnet,
25
+ * transport: custom(window.ethereum),
26
+ * })
27
+ * const accounts = await requestAddresses(client)
28
+ */
5
29
  export declare function requestAddresses<TChain extends Chain | undefined, TAccount extends Account | undefined = undefined>(client: WalletClient<Transport, TChain, TAccount>): Promise<RequestAddressesReturnType>;
6
30
  //# sourceMappingURL=requestAddresses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestAddresses.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/requestAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,0BAA0B,GAAG,OAAO,EAAE,CAAA;AAElD,wBAAsB,gBAAgB,CACpC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAChD,OAAO,CAAC,0BAA0B,CAAC,CAGrC"}
1
+ {"version":3,"file":"requestAddresses.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/requestAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAG1D,MAAM,MAAM,0BAA0B,GAAG,OAAO,EAAE,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,SAAS,KAAK,GAAG,SAAS,EAChC,QAAQ,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAEhD,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,GAChD,OAAO,CAAC,0BAA0B,CAAC,CAGrC"}
@@ -1,11 +1,34 @@
1
1
  import type { Transport, WalletClient } from '../../clients/index.js';
2
- import type { Account, Chain } from '../../types/index.js';
2
+ import type { Account, Chain, Prettify } from '../../types/index.js';
3
3
  import type { WalletPermission } from '../../types/eip1193.js';
4
- export type RequestPermissionsParameters = {
4
+ export type RequestPermissionsParameters = Prettify<{
5
5
  eth_accounts: Record<string, any>;
6
6
  } & {
7
7
  [key: string]: Record<string, any>;
8
- };
8
+ }>;
9
9
  export type RequestPermissionsReturnType = WalletPermission[];
10
+ /**
11
+ * Requests permissions for a wallet.
12
+ *
13
+ * - Docs: https://viem.sh/docs/actions/wallet/requestPermissions.html
14
+ * - JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255)
15
+ *
16
+ * @param client - Client to use
17
+ * @param parameters - {@link RequestPermissionsParameters}
18
+ * @returns The wallet permissions. {@link RequestPermissionsReturnType}
19
+ *
20
+ * @example
21
+ * import { createWalletClient, custom } from 'viem'
22
+ * import { mainnet } from 'viem/chains'
23
+ * import { requestPermissions } from 'viem/wallet'
24
+ *
25
+ * const client = createWalletClient({
26
+ * chain: mainnet,
27
+ * transport: custom(window.ethereum),
28
+ * })
29
+ * const permissions = await requestPermissions(client, {
30
+ * eth_accounts: {}
31
+ * })
32
+ */
10
33
  export declare function requestPermissions<TChain extends Chain | undefined, TAccount extends Account | undefined = undefined>(client: WalletClient<Transport, TChain, TAccount>, permissions: RequestPermissionsParameters): Promise<WalletPermission[]>;
11
34
  //# sourceMappingURL=requestPermissions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestPermissions.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/requestPermissions.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,4BAA4B,GAAG;IACzC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAClC,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACnC,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG,gBAAgB,EAAE,CAAA;AAE7D,wBAAsB,kBAAkB,CACtC,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,WAAW,EAAE,4BAA4B,+BAM1C"}
1
+ {"version":3,"file":"requestPermissions.d.ts","sourceRoot":"","sources":["../../../../src/actions/wallet/requestPermissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CACjD;IACE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAClC,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACnC,CACF,CAAA;AACD,MAAM,MAAM,4BAA4B,GAAG,gBAAgB,EAAE,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,kBAAkB,CACtC,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,WAAW,EAAE,4BAA4B,+BAM1C"}