viem 0.0.1-alpha.2 → 0.0.1-alpha.21

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 (483) hide show
  1. package/chains/package.json +1 -1
  2. package/clients/package.json +1 -1
  3. package/dist/{rpc-655c0ba4.d.ts → chain-32f56cfa.d.ts} +78 -17
  4. package/dist/chain-f12cdc7f.d.ts +5 -0
  5. package/dist/chains.d.ts +1291 -74
  6. package/dist/chains.js +125 -129
  7. package/dist/chains.js.map +1 -0
  8. package/dist/chains.mjs +129 -0
  9. package/dist/chains.mjs.map +1 -0
  10. package/dist/{chunk-YQRTXQ2G.js → chunk-46BO7YAQ.mjs} +3 -15
  11. package/dist/chunk-46BO7YAQ.mjs.map +1 -0
  12. package/dist/chunk-57ZOFERP.mjs +256 -0
  13. package/dist/chunk-57ZOFERP.mjs.map +1 -0
  14. package/dist/{chunk-3EOU525X.js → chunk-62VTYU2V.mjs} +1207 -564
  15. package/dist/chunk-62VTYU2V.mjs.map +1 -0
  16. package/dist/{chunk-4HNVS7AM.js → chunk-DGO77E2H.mjs} +330 -539
  17. package/dist/chunk-DGO77E2H.mjs.map +1 -0
  18. package/dist/chunk-DSPMAIDO.mjs +176 -0
  19. package/dist/chunk-DSPMAIDO.mjs.map +1 -0
  20. package/dist/chunk-EC3NUIJE.js +176 -0
  21. package/dist/chunk-EC3NUIJE.js.map +1 -0
  22. package/dist/chunk-KEHGSYDO.js +259 -0
  23. package/dist/chunk-KEHGSYDO.js.map +1 -0
  24. package/dist/chunk-KZMJR27B.js +889 -0
  25. package/dist/chunk-KZMJR27B.js.map +1 -0
  26. package/dist/chunk-O2GYLJVD.js +2689 -0
  27. package/dist/chunk-O2GYLJVD.js.map +1 -0
  28. package/dist/chunk-W7BWWAC4.js +256 -0
  29. package/dist/chunk-W7BWWAC4.js.map +1 -0
  30. package/dist/clients/index.d.ts +8 -7
  31. package/dist/clients/index.js +24 -25
  32. package/dist/clients/index.js.map +1 -0
  33. package/dist/clients/index.mjs +24 -0
  34. package/dist/clients/index.mjs.map +1 -0
  35. package/dist/contract-9af4608b.d.ts +142 -0
  36. package/dist/createClient-5d316c7e.d.ts +62 -0
  37. package/dist/createPublicClient-9d2b42e1.d.ts +19 -0
  38. package/dist/createTestClient-79498dab.d.ts +34 -0
  39. package/dist/createWalletClient-f69a5230.d.ts +30 -0
  40. package/dist/{eip1193-8f7c22ce.d.ts → eip1193-6c485d63.d.ts} +13 -10
  41. package/dist/index.d.ts +424 -11
  42. package/dist/index.js +395 -292
  43. package/dist/index.js.map +1 -0
  44. package/dist/index.mjs +395 -0
  45. package/dist/index.mjs.map +1 -0
  46. package/dist/{parseGwei-fd7a0f7d.d.ts → parseGwei-4308ad80.d.ts} +82 -139
  47. package/dist/public.d.ts +11 -0
  48. package/dist/public.js +59 -0
  49. package/dist/public.js.map +1 -0
  50. package/dist/public.mjs +59 -0
  51. package/dist/public.mjs.map +1 -0
  52. package/dist/{rpc-3c0e3985.d.ts → rpc-26932bae.d.ts} +1 -38
  53. package/dist/sendTransaction-1c8290a9.d.ts +12 -0
  54. package/dist/stopImpersonatingAccount-7781842a.d.ts +156 -0
  55. package/dist/test.d.ts +6 -0
  56. package/dist/test.js +60 -0
  57. package/dist/test.js.map +1 -0
  58. package/dist/test.mjs +60 -0
  59. package/dist/test.mjs.map +1 -0
  60. package/dist/transactionRequest-341b6ed2.d.ts +15 -0
  61. package/dist/utils/index.d.ts +51 -8
  62. package/dist/utils/index.js +171 -156
  63. package/dist/utils/index.js.map +1 -0
  64. package/dist/utils/index.mjs +171 -0
  65. package/dist/utils/index.mjs.map +1 -0
  66. package/dist/wallet.d.ts +8 -0
  67. package/dist/wallet.js +24 -0
  68. package/dist/wallet.js.map +1 -0
  69. package/dist/wallet.mjs +24 -0
  70. package/dist/wallet.mjs.map +1 -0
  71. package/dist/watchAsset-afaad3c7.d.ts +38 -0
  72. package/dist/{watchAsset-04ab8db5.d.ts → watchPendingTransactions-3b722547.d.ts} +67 -217
  73. package/dist/{webSocket-c6e0d26f.d.ts → webSocket-b180e679.d.ts} +4 -9
  74. package/dist/window.d.ts +3 -2
  75. package/dist/window.js +1 -0
  76. package/dist/window.js.map +1 -0
  77. package/dist/window.mjs +1 -0
  78. package/dist/window.mjs.map +1 -0
  79. package/package.json +30 -66
  80. package/src/_test/abis.ts +1413 -0
  81. package/src/_test/bench.ts +15 -0
  82. package/src/_test/constants.ts +60 -0
  83. package/src/_test/globalSetup.ts +11 -0
  84. package/src/_test/index.ts +23 -0
  85. package/src/_test/setup.ts +8 -0
  86. package/src/_test/utils.ts +112 -0
  87. package/src/actions/index.test.ts +78 -0
  88. package/src/actions/index.ts +174 -0
  89. package/src/actions/public/call.bench.ts +48 -0
  90. package/src/actions/public/call.test.ts +99 -0
  91. package/src/actions/public/call.ts +97 -0
  92. package/src/actions/public/createBlockFilter.bench.ts +11 -0
  93. package/src/actions/public/createBlockFilter.test.ts +9 -0
  94. package/src/actions/public/createBlockFilter.ts +14 -0
  95. package/src/actions/public/createContractEventFilter.test.ts +119 -0
  96. package/src/actions/public/createContractEventFilter.ts +69 -0
  97. package/src/actions/public/createEventFilter.test.ts +245 -0
  98. package/src/actions/public/createEventFilter.ts +76 -0
  99. package/src/actions/public/createPendingTransactionFilter.bench.ts +11 -0
  100. package/src/actions/public/createPendingTransactionFilter.test.ts +9 -0
  101. package/src/actions/public/createPendingTransactionFilter.ts +14 -0
  102. package/src/actions/public/deployContract.test.ts +56 -0
  103. package/src/actions/public/deployContract.ts +38 -0
  104. package/src/actions/public/estimateGas.bench.ts +46 -0
  105. package/src/actions/public/estimateGas.test.ts +92 -0
  106. package/src/actions/public/estimateGas.ts +61 -0
  107. package/src/actions/public/getBalance.test.ts +83 -0
  108. package/src/actions/public/getBalance.ts +37 -0
  109. package/src/actions/public/getBlock.bench.ts +28 -0
  110. package/src/actions/public/getBlock.test.ts +575 -0
  111. package/src/actions/public/getBlock.ts +65 -0
  112. package/src/actions/public/getBlockNumber.bench.ts +28 -0
  113. package/src/actions/public/getBlockNumber.test.ts +27 -0
  114. package/src/actions/public/getBlockNumber.ts +32 -0
  115. package/src/actions/public/getBlockTransactionCount.bench.ts +15 -0
  116. package/src/actions/public/getBlockTransactionCount.test.ts +57 -0
  117. package/src/actions/public/getBlockTransactionCount.ts +52 -0
  118. package/src/actions/public/getBytecode.test.ts +27 -0
  119. package/src/actions/public/getBytecode.ts +32 -0
  120. package/src/actions/public/getChainId.bench.ts +15 -0
  121. package/src/actions/public/getChainId.test.ts +8 -0
  122. package/src/actions/public/getChainId.ts +7 -0
  123. package/src/actions/public/getFeeHistory.bench.ts +18 -0
  124. package/src/actions/public/getFeeHistory.test.ts +137 -0
  125. package/src/actions/public/getFeeHistory.ts +44 -0
  126. package/src/actions/public/getFilterChanges.bench.ts +13 -0
  127. package/src/actions/public/getFilterChanges.test.ts +189 -0
  128. package/src/actions/public/getFilterChanges.ts +23 -0
  129. package/src/actions/public/getFilterLogs.test.ts +104 -0
  130. package/src/actions/public/getFilterLogs.ts +20 -0
  131. package/src/actions/public/getGasPrice.bench.ts +28 -0
  132. package/src/actions/public/getGasPrice.test.ts +8 -0
  133. package/src/actions/public/getGasPrice.ts +15 -0
  134. package/src/actions/public/getLogs.test.ts +107 -0
  135. package/src/actions/public/getLogs.ts +84 -0
  136. package/src/actions/public/getStorageAt.test.ts +34 -0
  137. package/src/actions/public/getStorageAt.ts +32 -0
  138. package/src/actions/public/getTransaction.bench.ts +33 -0
  139. package/src/actions/public/getTransaction.test.ts +311 -0
  140. package/src/actions/public/getTransaction.ts +95 -0
  141. package/src/actions/public/getTransactionConfirmations.test.ts +69 -0
  142. package/src/actions/public/getTransactionConfirmations.ts +38 -0
  143. package/src/actions/public/getTransactionCount.test.ts +56 -0
  144. package/src/actions/public/getTransactionCount.ts +34 -0
  145. package/src/actions/public/getTransactionReceipt.bench.ts +33 -0
  146. package/src/actions/public/getTransactionReceipt.test.ts +179 -0
  147. package/src/actions/public/getTransactionReceipt.ts +34 -0
  148. package/src/actions/public/index.test.ts +43 -0
  149. package/src/actions/public/index.ts +149 -0
  150. package/src/actions/public/readContract.test.ts +128 -0
  151. package/src/actions/public/readContract.ts +87 -0
  152. package/src/actions/public/simulateContract.bench.ts +31 -0
  153. package/src/actions/public/simulateContract.test.ts +238 -0
  154. package/src/actions/public/simulateContract.ts +98 -0
  155. package/src/actions/public/uninstallFilter.bench.ts +13 -0
  156. package/src/actions/public/uninstallFilter.test.ts +65 -0
  157. package/src/actions/public/uninstallFilter.ts +17 -0
  158. package/src/actions/public/waitForTransactionReceipt.test.ts +322 -0
  159. package/src/actions/public/waitForTransactionReceipt.ts +170 -0
  160. package/src/actions/public/watchBlockNumber.test.ts +166 -0
  161. package/src/actions/public/watchBlockNumber.ts +79 -0
  162. package/src/actions/public/watchBlocks.test.ts +210 -0
  163. package/src/actions/public/watchBlocks.ts +114 -0
  164. package/src/actions/public/watchContractEvent.test.ts +301 -0
  165. package/src/actions/public/watchContractEvent.ts +108 -0
  166. package/src/actions/public/watchEvent.test.ts +190 -0
  167. package/src/actions/public/watchEvent.ts +95 -0
  168. package/src/actions/public/watchPendingTransactions.test.ts +116 -0
  169. package/src/actions/public/watchPendingTransactions.ts +74 -0
  170. package/src/actions/test/dropTransaction.test.ts +34 -0
  171. package/src/actions/test/dropTransaction.ts +17 -0
  172. package/src/actions/test/getAutomine.test.ts +14 -0
  173. package/src/actions/test/getAutomine.ts +11 -0
  174. package/src/actions/test/getTxpoolContent.test.ts +45 -0
  175. package/src/actions/test/getTxpoolContent.ts +7 -0
  176. package/src/actions/test/getTxpoolStatus.test.ts +41 -0
  177. package/src/actions/test/getTxpoolStatus.ts +12 -0
  178. package/src/actions/test/impersonateAccount.test.ts +28 -0
  179. package/src/actions/test/impersonateAccount.ts +17 -0
  180. package/src/actions/test/increaseTime.test.ts +18 -0
  181. package/src/actions/test/increaseTime.ts +17 -0
  182. package/src/actions/test/index.test.ts +38 -0
  183. package/src/actions/test/index.ts +77 -0
  184. package/src/actions/test/inspectTxpool.test.ts +50 -0
  185. package/src/actions/test/inspectTxpool.ts +7 -0
  186. package/src/actions/test/mine.test.ts +20 -0
  187. package/src/actions/test/mine.ts +16 -0
  188. package/src/actions/test/removeBlockTimestampInterval.test.ts +23 -0
  189. package/src/actions/test/removeBlockTimestampInterval.ts +7 -0
  190. package/src/actions/test/reset.test.ts +19 -0
  191. package/src/actions/test/reset.ts +18 -0
  192. package/src/actions/test/revert.test.ts +39 -0
  193. package/src/actions/test/revert.ts +14 -0
  194. package/src/actions/test/sendUnsignedTransaction.test.ts +52 -0
  195. package/src/actions/test/sendUnsignedTransaction.ts +19 -0
  196. package/src/actions/test/setAutomine.test.ts +14 -0
  197. package/src/actions/test/setAutomine.ts +8 -0
  198. package/src/actions/test/setBalance.test.ts +29 -0
  199. package/src/actions/test/setBalance.ts +20 -0
  200. package/src/actions/test/setBlockGasLimit.test.ts +21 -0
  201. package/src/actions/test/setBlockGasLimit.ts +17 -0
  202. package/src/actions/test/setBlockTimestampInterval.test.ts +23 -0
  203. package/src/actions/test/setBlockTimestampInterval.ts +16 -0
  204. package/src/actions/test/setCode.test.ts +26 -0
  205. package/src/actions/test/setCode.ts +19 -0
  206. package/src/actions/test/setCoinbase.test.ts +11 -0
  207. package/src/actions/test/setCoinbase.ts +17 -0
  208. package/src/actions/test/setIntervalMining.test.ts +30 -0
  209. package/src/actions/test/setIntervalMining.ts +16 -0
  210. package/src/actions/test/setLoggingEnabled.test.ts +10 -0
  211. package/src/actions/test/setLoggingEnabled.ts +8 -0
  212. package/src/actions/test/setMinGasPrice.test.ts +22 -0
  213. package/src/actions/test/setMinGasPrice.ts +17 -0
  214. package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +23 -0
  215. package/src/actions/test/setNextBlockBaseFeePerGas.ts +17 -0
  216. package/src/actions/test/setNextBlockTimestamp.test.ts +19 -0
  217. package/src/actions/test/setNextBlockTimestamp.ts +17 -0
  218. package/src/actions/test/setNonce.test.ts +28 -0
  219. package/src/actions/test/setNonce.ts +20 -0
  220. package/src/actions/test/setRpcUrl.test.ts +9 -0
  221. package/src/actions/test/setRpcUrl.ts +8 -0
  222. package/src/actions/test/setStorageAt.test.ts +36 -0
  223. package/src/actions/test/setStorageAt.ts +26 -0
  224. package/src/actions/test/snapshot.test.ts +18 -0
  225. package/src/actions/test/snapshot.ts +7 -0
  226. package/src/actions/test/stopImpersonatingAccount.test.ts +31 -0
  227. package/src/actions/test/stopImpersonatingAccount.ts +17 -0
  228. package/src/actions/wallet/addChain.test.ts +14 -0
  229. package/src/actions/wallet/addChain.ts +21 -0
  230. package/src/actions/wallet/getAccounts.test.ts +22 -0
  231. package/src/actions/wallet/getAccounts.ts +7 -0
  232. package/src/actions/wallet/getPermissions.test.ts +24 -0
  233. package/src/actions/wallet/getPermissions.ts +9 -0
  234. package/src/actions/wallet/index.test.ts +20 -0
  235. package/src/actions/wallet/index.ts +30 -0
  236. package/src/actions/wallet/requestAccounts.test.ts +13 -0
  237. package/src/actions/wallet/requestAccounts.ts +7 -0
  238. package/src/actions/wallet/requestPermissions.test.ts +26 -0
  239. package/src/actions/wallet/requestPermissions.ts +19 -0
  240. package/src/actions/wallet/sendTransaction.bench.ts +57 -0
  241. package/src/actions/wallet/sendTransaction.test.ts +440 -0
  242. package/src/actions/wallet/sendTransaction.ts +77 -0
  243. package/src/actions/wallet/signMessage.test.ts +62 -0
  244. package/src/actions/wallet/signMessage.ts +35 -0
  245. package/src/actions/wallet/switchChain.test.ts +22 -0
  246. package/src/actions/wallet/switchChain.ts +19 -0
  247. package/src/actions/wallet/watchAsset.test.ts +41 -0
  248. package/src/actions/wallet/watchAsset.ts +16 -0
  249. package/src/actions/wallet/writeContract.test.ts +54 -0
  250. package/src/actions/wallet/writeContract.ts +56 -0
  251. package/src/chains.test.ts +1912 -0
  252. package/src/chains.ts +99 -0
  253. package/src/clients/createClient.test.ts +295 -0
  254. package/src/clients/createClient.ts +81 -0
  255. package/src/clients/createPublicClient.test.ts +165 -0
  256. package/src/clients/createPublicClient.ts +49 -0
  257. package/src/clients/createTestClient.test.ts +145 -0
  258. package/src/clients/createTestClient.ts +72 -0
  259. package/src/clients/createWalletClient.test.ts +121 -0
  260. package/src/clients/createWalletClient.ts +54 -0
  261. package/src/clients/index.test.ts +19 -0
  262. package/src/clients/index.ts +31 -0
  263. package/src/clients/transports/createTransport.test.ts +58 -0
  264. package/src/clients/transports/createTransport.ts +48 -0
  265. package/src/clients/transports/custom.test.ts +98 -0
  266. package/src/clients/transports/custom.ts +34 -0
  267. package/src/clients/transports/fallback.test.ts +223 -0
  268. package/src/clients/transports/fallback.ts +48 -0
  269. package/src/clients/transports/http.test.ts +110 -0
  270. package/src/clients/transports/http.ts +51 -0
  271. package/src/clients/transports/index.test.ts +15 -0
  272. package/src/clients/transports/index.ts +17 -0
  273. package/src/clients/transports/webSocket.test.ts +164 -0
  274. package/src/clients/transports/webSocket.ts +117 -0
  275. package/src/errors/abi.test.ts +83 -0
  276. package/src/errors/abi.ts +238 -0
  277. package/src/errors/address.test.ts +14 -0
  278. package/src/errors/address.ts +9 -0
  279. package/src/errors/base.test.ts +72 -0
  280. package/src/errors/base.ts +57 -0
  281. package/src/errors/block.test.ts +24 -0
  282. package/src/errors/block.ts +18 -0
  283. package/src/errors/contract.ts +125 -0
  284. package/src/errors/data.ts +20 -0
  285. package/src/errors/encoding.ts +60 -0
  286. package/src/errors/index.ts +77 -0
  287. package/src/errors/log.ts +8 -0
  288. package/src/errors/request.test.ts +331 -0
  289. package/src/errors/request.ts +163 -0
  290. package/src/errors/rpc.test.ts +88 -0
  291. package/src/errors/rpc.ts +113 -0
  292. package/src/errors/transaction.test.ts +83 -0
  293. package/src/errors/transaction.ts +54 -0
  294. package/src/errors/transport.test.ts +12 -0
  295. package/src/errors/transport.ts +12 -0
  296. package/src/index.test.ts +214 -0
  297. package/src/index.ts +373 -0
  298. package/src/public.ts +80 -0
  299. package/src/test.ts +51 -0
  300. package/src/types/block.ts +71 -0
  301. package/src/types/chain.ts +6 -0
  302. package/src/types/contract.ts +342 -0
  303. package/src/types/eip1193.ts +1041 -0
  304. package/src/types/fee.ts +47 -0
  305. package/src/types/filter.ts +8 -0
  306. package/src/types/formatter.ts +23 -0
  307. package/src/types/index.ts +78 -0
  308. package/src/types/log.ts +22 -0
  309. package/src/types/misc.ts +5 -0
  310. package/src/types/rpc.ts +35 -0
  311. package/src/types/transaction.ts +145 -0
  312. package/src/types/utils.ts +67 -0
  313. package/src/types/window.ts +9 -0
  314. package/src/utils/abi/decodeAbi.bench.ts +135 -0
  315. package/src/utils/abi/decodeAbi.test.ts +1615 -0
  316. package/src/utils/abi/decodeAbi.ts +296 -0
  317. package/src/utils/abi/decodeDeployData.test.ts +159 -0
  318. package/src/utils/abi/decodeDeployData.ts +41 -0
  319. package/src/utils/abi/decodeErrorResult.test.ts +130 -0
  320. package/src/utils/abi/decodeErrorResult.ts +28 -0
  321. package/src/utils/abi/decodeFunctionData.test.ts +140 -0
  322. package/src/utils/abi/decodeFunctionData.ts +29 -0
  323. package/src/utils/abi/decodeFunctionResult.test.ts +262 -0
  324. package/src/utils/abi/decodeFunctionResult.ts +53 -0
  325. package/src/utils/abi/encodeAbi.bench.ts +163 -0
  326. package/src/utils/abi/encodeAbi.test.ts +1448 -0
  327. package/src/utils/abi/encodeAbi.ts +264 -0
  328. package/src/utils/abi/encodeDeployData.test.ts +131 -0
  329. package/src/utils/abi/encodeDeployData.ts +37 -0
  330. package/src/utils/abi/encodeErrorResult.test.ts +197 -0
  331. package/src/utils/abi/encodeErrorResult.ts +40 -0
  332. package/src/utils/abi/encodeEventTopics.test.ts +348 -0
  333. package/src/utils/abi/encodeEventTopics.ts +69 -0
  334. package/src/utils/abi/encodeFunctionData.test.ts +140 -0
  335. package/src/utils/abi/encodeFunctionData.ts +38 -0
  336. package/src/utils/abi/encodeFunctionResult.test.ts +284 -0
  337. package/src/utils/abi/encodeFunctionResult.ts +39 -0
  338. package/src/utils/abi/formatAbiItem.test.ts +335 -0
  339. package/src/utils/abi/formatAbiItem.ts +41 -0
  340. package/src/utils/abi/formatAbiItemWithArgs.test.ts +291 -0
  341. package/src/utils/abi/formatAbiItemWithArgs.ts +27 -0
  342. package/src/utils/abi/getAbiItem.ts +5 -0
  343. package/src/utils/abi/index.test.ts +23 -0
  344. package/src/utils/abi/index.ts +38 -0
  345. package/src/utils/address/getAddress.bench.ts +22 -0
  346. package/src/utils/address/getAddress.test.ts +46 -0
  347. package/src/utils/address/getAddress.ts +28 -0
  348. package/src/utils/address/getContractAddress.bench.ts +20 -0
  349. package/src/utils/address/getContractAddress.test.ts +78 -0
  350. package/src/utils/address/getContractAddress.ts +59 -0
  351. package/src/utils/address/index.test.ts +17 -0
  352. package/src/utils/address/index.ts +16 -0
  353. package/src/utils/address/isAddress.test.ts +10 -0
  354. package/src/utils/address/isAddress.ts +10 -0
  355. package/src/utils/address/isAddressEqual.test.ts +55 -0
  356. package/src/utils/address/isAddressEqual.ts +6 -0
  357. package/src/utils/buildRequest.test.ts +365 -0
  358. package/src/utils/buildRequest.ts +45 -0
  359. package/src/utils/chain.test.ts +43 -0
  360. package/src/utils/chain.ts +8 -0
  361. package/src/utils/contract/extractFunctionParts.test.ts +109 -0
  362. package/src/utils/contract/extractFunctionParts.ts +27 -0
  363. package/src/utils/contract/getContractError.test.ts +97 -0
  364. package/src/utils/contract/getContractError.ts +66 -0
  365. package/src/utils/contract/index.test.ts +15 -0
  366. package/src/utils/contract/index.ts +8 -0
  367. package/src/utils/data/concat.test.ts +35 -0
  368. package/src/utils/data/concat.ts +34 -0
  369. package/src/utils/data/index.test.ts +23 -0
  370. package/src/utils/data/index.ts +13 -0
  371. package/src/utils/data/isBytes.test.ts +9 -0
  372. package/src/utils/data/isBytes.ts +7 -0
  373. package/src/utils/data/isHex.test.ts +13 -0
  374. package/src/utils/data/isHex.ts +5 -0
  375. package/src/utils/data/pad.bench.ts +39 -0
  376. package/src/utils/data/pad.test.ts +367 -0
  377. package/src/utils/data/pad.ts +53 -0
  378. package/src/utils/data/size.test.ts +18 -0
  379. package/src/utils/data/size.ts +13 -0
  380. package/src/utils/data/slice.test.ts +203 -0
  381. package/src/utils/data/slice.ts +60 -0
  382. package/src/utils/data/trim.bench.ts +50 -0
  383. package/src/utils/data/trim.test.ts +175 -0
  384. package/src/utils/data/trim.ts +33 -0
  385. package/src/utils/encoding/decodeBytes.bench.ts +40 -0
  386. package/src/utils/encoding/decodeBytes.test.ts +144 -0
  387. package/src/utils/encoding/decodeBytes.ts +63 -0
  388. package/src/utils/encoding/decodeHex.bench.ts +24 -0
  389. package/src/utils/encoding/decodeHex.test.ts +167 -0
  390. package/src/utils/encoding/decodeHex.ts +76 -0
  391. package/src/utils/encoding/decodeRlp.bench.ts +34 -0
  392. package/src/utils/encoding/decodeRlp.test.ts +350 -0
  393. package/src/utils/encoding/decodeRlp.ts +121 -0
  394. package/src/utils/encoding/encodeBytes.bench.ts +41 -0
  395. package/src/utils/encoding/encodeBytes.test.ts +676 -0
  396. package/src/utils/encoding/encodeBytes.ts +59 -0
  397. package/src/utils/encoding/encodeHex.bench.ts +60 -0
  398. package/src/utils/encoding/encodeHex.test.ts +232 -0
  399. package/src/utils/encoding/encodeHex.ts +104 -0
  400. package/src/utils/encoding/encodeRlp.bench.ts +54 -0
  401. package/src/utils/encoding/encodeRlp.test.ts +254 -0
  402. package/src/utils/encoding/encodeRlp.ts +48 -0
  403. package/src/utils/encoding/index.test.ts +32 -0
  404. package/src/utils/encoding/index.ts +36 -0
  405. package/src/utils/formatters/block.bench.ts +51 -0
  406. package/src/utils/formatters/block.test.ts +115 -0
  407. package/src/utils/formatters/block.ts +37 -0
  408. package/src/utils/formatters/extract.test.ts +14 -0
  409. package/src/utils/formatters/extract.ts +18 -0
  410. package/src/utils/formatters/feeHistory.test.ts +66 -0
  411. package/src/utils/formatters/feeHistory.ts +12 -0
  412. package/src/utils/formatters/format.test.ts +93 -0
  413. package/src/utils/formatters/format.ts +90 -0
  414. package/src/utils/formatters/index.test.ts +27 -0
  415. package/src/utils/formatters/index.ts +34 -0
  416. package/src/utils/formatters/log.test.ts +79 -0
  417. package/src/utils/formatters/log.ts +12 -0
  418. package/src/utils/formatters/transaction.test.ts +271 -0
  419. package/src/utils/formatters/transaction.ts +63 -0
  420. package/src/utils/formatters/transactionReceipt.bench.ts +73 -0
  421. package/src/utils/formatters/transactionReceipt.test.ts +151 -0
  422. package/src/utils/formatters/transactionReceipt.ts +63 -0
  423. package/src/utils/formatters/transactionRequest.bench.ts +29 -0
  424. package/src/utils/formatters/transactionRequest.test.ts +237 -0
  425. package/src/utils/formatters/transactionRequest.ts +56 -0
  426. package/src/utils/hash/getEventSignature.test.ts +61 -0
  427. package/src/utils/hash/getEventSignature.ts +4 -0
  428. package/src/utils/hash/getFunctionSignature.test.ts +22 -0
  429. package/src/utils/hash/getFunctionSignature.ts +5 -0
  430. package/src/utils/hash/hashFunction.test.ts +65 -0
  431. package/src/utils/hash/hashFunction.ts +12 -0
  432. package/src/utils/hash/index.test.ts +13 -0
  433. package/src/utils/hash/index.ts +5 -0
  434. package/src/utils/hash/keccak256.test.ts +59 -0
  435. package/src/utils/hash/keccak256.ts +23 -0
  436. package/src/utils/index.test.ts +110 -0
  437. package/src/utils/index.ts +137 -0
  438. package/src/utils/observe.test.ts +176 -0
  439. package/src/utils/observe.ts +66 -0
  440. package/src/utils/poll.test.ts +127 -0
  441. package/src/utils/poll.ts +42 -0
  442. package/src/utils/promise/index.test.ts +14 -0
  443. package/src/utils/promise/index.ts +3 -0
  444. package/src/utils/promise/withCache.test.ts +97 -0
  445. package/src/utils/promise/withCache.ts +73 -0
  446. package/src/utils/promise/withRetry.test.ts +231 -0
  447. package/src/utils/promise/withRetry.ts +61 -0
  448. package/src/utils/promise/withTimeout.test.ts +37 -0
  449. package/src/utils/promise/withTimeout.ts +39 -0
  450. package/src/utils/rpc.test.ts +992 -0
  451. package/src/utils/rpc.ts +292 -0
  452. package/src/utils/stringify.test.ts +13 -0
  453. package/src/utils/stringify.ts +5 -0
  454. package/src/utils/uid.ts +14 -0
  455. package/src/utils/unit/constants.test.ts +22 -0
  456. package/src/utils/unit/constants.ts +12 -0
  457. package/src/utils/unit/formatEther.test.ts +75 -0
  458. package/src/utils/unit/formatEther.ts +6 -0
  459. package/src/utils/unit/formatGwei.test.ts +32 -0
  460. package/src/utils/unit/formatGwei.ts +6 -0
  461. package/src/utils/unit/formatUnit.bench.ts +26 -0
  462. package/src/utils/unit/formatUnit.test.ts +40 -0
  463. package/src/utils/unit/formatUnit.ts +16 -0
  464. package/src/utils/unit/index.test.ts +28 -0
  465. package/src/utils/unit/index.ts +7 -0
  466. package/src/utils/unit/parseEther.test.ts +126 -0
  467. package/src/utils/unit/parseEther.ts +6 -0
  468. package/src/utils/unit/parseGwei.test.ts +50 -0
  469. package/src/utils/unit/parseGwei.ts +6 -0
  470. package/src/utils/unit/parseUnit.bench.ts +26 -0
  471. package/src/utils/unit/parseUnit.test.ts +54 -0
  472. package/src/utils/unit/parseUnit.ts +27 -0
  473. package/src/utils/wait.ts +3 -0
  474. package/src/wallet.ts +23 -0
  475. package/src/window.ts +1 -0
  476. package/utils/package.json +1 -1
  477. package/window/package.json +1 -1
  478. package/actions/package.json +0 -4
  479. package/dist/BaseError-7688f84e.d.ts +0 -18
  480. package/dist/actions/index.d.ts +0 -8
  481. package/dist/actions/index.js +0 -123
  482. package/dist/createWalletClient-915223f3.d.ts +0 -130
  483. package/dist/transactionRequest-ade896ac.d.ts +0 -44
@@ -0,0 +1,30 @@
1
+ import { S as SignableRequests, W as WalletRequests } from './eip1193-6c485d63.js';
2
+ import { T as Transport, a as ClientConfig, C as Client } from './createClient-5d316c7e.js';
3
+ import { J as Chain } from './chain-32f56cfa.js';
4
+
5
+ type WalletClientConfig<TTransport extends Transport = Transport, TChain extends Chain = Chain> = {
6
+ chain?: ClientConfig<TTransport, TChain>['chain'];
7
+ /** The key of the Wallet Client. */
8
+ key?: ClientConfig['key'];
9
+ /** The name of the Wallet Client. */
10
+ name?: ClientConfig['name'];
11
+ /** Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. */
12
+ pollingInterval?: ClientConfig['pollingInterval'];
13
+ transport: ClientConfig<TTransport, TChain>['transport'];
14
+ };
15
+ type WalletClient<TTransport extends Transport = Transport, TChain extends Chain = Chain> = Client<TTransport, TChain, SignableRequests & WalletRequests>;
16
+ /**
17
+ * @description Creates a wallet client with a given transport.
18
+ *
19
+ * - Only has access to "wallet" & "signable" EIP-1474 RPC methods
20
+ * (ie. `eth_sendTransaction`, `eth_requestAccounts`, etc).
21
+ *
22
+ * @example
23
+ * import { createWalletClient, custom } from 'viem'
24
+ * const client = createWalletClient(
25
+ * custom(window.ethereum)
26
+ * )
27
+ */
28
+ declare function createWalletClient<TTransport extends Transport, TChain extends Chain>({ transport, key, name, pollingInterval, }: WalletClientConfig<TTransport, TChain>): WalletClient<TTransport, TChain>;
29
+
30
+ export { WalletClient as W, WalletClientConfig as a, createWalletClient as c };
@@ -1,4 +1,4 @@
1
- import { A as Address, k as Hash, Q as Quantity, s as RpcTransactionRequest, m as RpcBlockNumber, d as BlockTag, l as RpcBlockIdentifier, H as Hex, P as RpcEstimateGasParameters, n as RpcFeeHistory, R as RpcBlock, p as RpcLog, q as RpcTransaction, r as RpcTransactionReceipt, u as RpcUncle } from './rpc-655c0ba4.js';
1
+ import { A as Address, H as Hash, X as Quantity, q as RpcTransactionRequest, k as RpcBlockNumber, a as BlockTag, j as RpcBlockIdentifier, b as Hex, Y as RpcEstimateGasParameters, l as RpcFeeHistory, R as RpcBlock, n as RpcLog, Z as LogTopic, o as RpcTransaction, p as RpcTransactionReceipt, r as RpcUncle } from './chain-32f56cfa.js';
2
2
 
3
3
  declare class RpcError extends Error {
4
4
  code: number;
@@ -35,7 +35,7 @@ type Chain = {
35
35
  symbol: string;
36
36
  decimals: number;
37
37
  };
38
- rpcUrls: string[];
38
+ rpcUrls: readonly string[];
39
39
  blockExplorerUrls?: string[];
40
40
  iconUrls?: string[];
41
41
  };
@@ -331,22 +331,25 @@ type PublicRequests = {
331
331
  * @description Returns a list of all logs based on a filter object
332
332
  * @link https://eips.ethereum.org/EIPS/eip-1474
333
333
  * @example
334
- * provider.request({ method: 'eth_getLogs', params: [{ ... }] })
334
+ * provider.request({ method: 'eth_getLogs', params: [{ fromBlock: '0x...', toBlock: '0x...', address: '0x...', topics: ['0x...'] }] })
335
335
  * // => [{ ... }, { ... }]
336
336
  * */
337
337
  method: 'eth_getLogs';
338
338
  params: [
339
- filter: {
339
+ parameters: {
340
340
  address?: Address | Address[];
341
- topics?: Hex[];
341
+ topics?: LogTopic[];
342
342
  } & ({
343
343
  fromBlock?: RpcBlockNumber | BlockTag;
344
344
  toBlock?: RpcBlockNumber | BlockTag;
345
+ blockHash?: never;
345
346
  } | {
347
+ fromBlock?: never;
348
+ toBlock?: never;
346
349
  blockHash?: Hash;
347
350
  })
348
351
  ];
349
- }): Promise<RpcLog>;
352
+ }): Promise<RpcLog[]>;
350
353
  request(args: {
351
354
  /**
352
355
  * @description Returns the value from a storage position at an address
@@ -361,7 +364,7 @@ type PublicRequests = {
361
364
  index: Quantity,
362
365
  block: RpcBlockNumber | BlockTag | RpcBlockIdentifier
363
366
  ];
364
- }): Promise<RpcLog>;
367
+ }): Promise<Hex>;
365
368
  request(args: {
366
369
  /**
367
370
  * @description Returns information about a transaction specified by block hash and transaction index
@@ -405,7 +408,7 @@ type PublicRequests = {
405
408
  * */
406
409
  method: 'eth_getTransactionCount';
407
410
  params: [address: Address, block: RpcBlockNumber | BlockTag | RpcBlockIdentifier];
408
- }): Promise<Quantity | null>;
411
+ }): Promise<Quantity>;
409
412
  request(args: {
410
413
  /**
411
414
  * @description Returns the receipt of a transaction specified by hash
@@ -486,7 +489,7 @@ type PublicRequests = {
486
489
  fromBlock?: RpcBlockNumber | BlockTag;
487
490
  toBlock?: RpcBlockNumber | BlockTag;
488
491
  address?: Address | Address[];
489
- topics?: (Hex | Hex[] | null)[];
492
+ topics?: LogTopic[];
490
493
  }
491
494
  ];
492
495
  }): Promise<Quantity>;
@@ -984,4 +987,4 @@ type WalletRequests = {
984
987
  };
985
988
  type Requests = PublicRequests & SignableRequests & WalletRequests;
986
989
 
987
- export { Events as E, PublicRequests as P, Requests as R, SignableRequests as S, TestRequests as T, WalletPermission as W, WatchAssetParams as a, WalletRequests as b };
990
+ export { Events as E, PublicRequests as P, Requests as R, SignableRequests as S, TestRequests as T, WalletRequests as W, WalletPermission as a, WatchAssetParams as b };
package/dist/index.d.ts CHANGED
@@ -1,12 +1,425 @@
1
- export { C as CallArgs, a as CallResponse, b as CreateBlockFilterResponse, c as CreatePendingTransactionFilterResponse, D as DropTransactionArgs, E as EstimateGasArgs, d as EstimateGasResponse, G as GetBalanceArgs, e as GetBalanceResponse, f as GetBlockArgs, g as GetBlockNumberArgs, h as GetBlockNumberResponse, i as GetBlockResponse, j as GetBlockTransactionCountArgs, k as GetBlockTransactionCountResponse, l as GetFeeHistoryArgs, m as GetFeeHistoryResponse, n as GetFilterChangesArgs, o as GetFilterChangesResponse, p as GetFilterLogsArgs, q as GetFilterLogsResponse, r as GetGasPriceResponse, s as GetPermissionsResponse, t as GetTransactionArgs, u as GetTransactionConfirmationsArgs, v as GetTransactionConfirmationsResponse, w as GetTransactionCountArgs, x as GetTransactionCountResponse, z as GetTransactionReceiptArgs, A as GetTransactionReceiptResponse, y as GetTransactionResponse, I as ImpersonateAccountArgs, B as IncreaseTimeArgs, M as MineArgs, O as OnBlock, F as OnBlockNumber, H as OnBlockNumberResponse, J as OnBlockResponse, K as OnTransactions, L as OnTransactionsResponse, N as RequestPermissionsResponse, R as ResetArgs, P as RevertArgs, S as SendTransactionArgs, Q as SendTransactionResponse, T as SendUnsignedTransactionArgs, U as SendUnsignedTransactionResponse, V as SetBalanceArgs, W as SetBlockGasLimitArgs, $ as SetBlockTimestampIntervalArgs, X as SetCodeArgs, Y as SetCoinbaseArgs, Z as SetIntervalMiningArgs, _ as SetMinGasPriceArgs, a1 as SetNextBlockBaseFeePerGasArgs, a0 as SetNextBlockTimestampArgs, a2 as SetNonceArgs, a3 as SetStorageAtArgs, a4 as SignMessageArgs, a5 as SignMessageResponse, a6 as StopImpersonatingAccountArgs, a7 as SwitchChainArgs, a8 as UninstallFilterArgs, a9 as UninstallFilterResponse, aa as WaitForTransactionReceiptArgs, ab as WaitForTransactionReceiptResponse, ac as WatchAssetArgs, ad as WatchAssetResponse, ae as WatchBlockNumberArgs, af as WatchBlocksArgs, ag as WatchPendingTransactionsArgs, ah as addChain, ai as call, aj as createBlockFilter, ak as createPendingTransactionFilter, am as dropTransaction, al as estimateGas, an as getAccounts, ao as getAutomine, ap as getBalance, aq as getBlock, ar as getBlockNumber, as as getBlockTransactionCount, at as getChainId, au as getFeeHistory, av as getFilterChanges, aw as getFilterLogs, ax as getGasPrice, ay as getPermissions, az as getTransaction, aA as getTransactionConfirmations, aB as getTransactionCount, aC as getTransactionReceipt, aD as getTxpoolContent, aE as getTxpoolStatus, aF as impersonateAccount, aG as increaseTime, aH as inspectTxpool, aI as mine, aJ as removeBlockTimestampInterval, aL as requestAccounts, aM as requestPermissions, aK as reset, aN as revert, aO as sendTransaction, aP as sendUnsignedTransaction, aQ as setAutomine, aR as setBalance, aS as setBlockGasLimit, aT as setBlockTimestampInterval, aU as setCode, aV as setCoinbase, aW as setIntervalMining, aX as setLoggingEnabled, aY as setMinGasPrice, aZ as setNextBlockBaseFeePerGas, a_ as setNextBlockTimestamp, a$ as setNonce, b0 as setStorageAt, b1 as signMessage, b2 as snapshot, b3 as stopImpersonatingAccount, b4 as switchChain, b5 as uninstallFilter, b6 as waitForTransactionReceipt, b7 as watchAsset, b8 as watchBlockNumber, b9 as watchBlocks, ba as watchPendingTransactions } from './watchAsset-04ab8db5.js';
2
- export { C as Client, a as ClientConfig, P as PublicClient, b as PublicClientConfig, T as TestClient, c as TestClientConfig, d as Transport, e as TransportConfig, W as WalletClient, f as WalletClientConfig, g as createClient, h as createPublicClient, i as createTestClient, j as createTransport, k as createWalletClient } from './createWalletClient-915223f3.js';
3
- export { C as CustomTransport, a as CustomTransportConfig, F as FallbackTransport, b as FallbackTransportConfig, H as HttpTransport, c as HttpTransportConfig, U as UrlRequiredError, W as WebSocketTransport, d as WebSocketTransportConfig, e as custom, f as fallback, h as http, w as webSocket } from './webSocket-c6e0d26f.js';
4
- export { a as AccessList, A as Address, B as Block, b as BlockIdentifier, c as BlockNumber, d as BlockTag, f as ByteArray, F as FeeHistory, h as FeeValues, i as FeeValuesEIP1559, j as FeeValuesLegacy, k as Hash, H as Hex, L as Log, R as RpcBlock, l as RpcBlockIdentifier, m as RpcBlockNumber, n as RpcFeeHistory, o as RpcFeeValues, p as RpcLog, q as RpcTransaction, r as RpcTransactionReceipt, s as RpcTransactionRequest, u as RpcUncle, D as Transaction, E as TransactionBase, G as TransactionEIP1559, I as TransactionEIP2930, J as TransactionLegacy, T as TransactionReceipt, v as TransactionRequest, x as TransactionRequestBase, y as TransactionRequestEIP1559, z as TransactionRequestEIP2930, C as TransactionRequestLegacy, U as Uncle, e as etherUnits, g as gweiUnits, t as transactionType, w as weiUnits } from './rpc-655c0ba4.js';
5
- export { A as AbiDecodingDataSizeInvalidError, a as AbiEncodingArrayLengthMismatchError, b as AbiEncodingLengthMismatchError, E as EncodeRlpResponse, G as GetContractAddressOptions, d as GetCreate2AddressOptions, c as GetCreateAddressOptions, g as InternalRpcError, I as InvalidAbiDecodingTypeError, e as InvalidAbiEncodingTypeError, f as InvalidArrayError, h as InvalidInputRpcError, i as InvalidParamsRpcError, j as InvalidRequestRpcError, J as JsonRpcVersionUnsupportedError, L as LimitExceededRpcError, M as MethodNotFoundRpcError, k as MethodNotSupportedRpcError, P as ParseRpcError, R as ResourceNotFoundRpcError, l as ResourceUnavailableRpcError, m as RpcRequestError, T as TransactionRejectedRpcError, p as boolToBytes, q as boolToHex, r as bytesToBigint, s as bytesToBool, n as bytesToHex, t as bytesToNumber, o as bytesToString, u as decodeAbi, v as decodeBytes, w as decodeHex, x as decodeRlp, y as encodeAbi, z as encodeBytes, B as encodeFunctionParams, C as encodeHex, D as encodeRlp, S as formatEther, a8 as formatGwei, a9 as formatUnit, F as getAddress, H as getContractAddress, N as getCreate2Address, K as getCreateAddress, O as getEventSignature, Q as getFunctionSignature, Y as hexToBigInt, Z as hexToBool, _ as hexToBytes, aa as hexToNumber, $ as hexToString, U as isAddress, V as isAddressEqual, W as isBytes, X as isHex, a0 as keccak256, a1 as numberToBytes, ab as numberToHex, a2 as pad, a3 as padBytes, a4 as padHex, a5 as parseEther, a6 as parseGwei, a7 as parseUnit, ac as size, ad as slice, ae as sliceBytes, af as sliceHex, ag as stringToBytes, ah as stringToHex, ai as trim } from './parseGwei-fd7a0f7d.js';
6
- export { B as BaseError } from './BaseError-7688f84e.js';
7
- export { F as FormattedBlock, a as FormattedTransaction, b as FormattedTransactionRequest, f as formatBlock, c as formatTransaction, d as formatTransactionRequest } from './transactionRequest-ade896ac.js';
8
- export { H as HttpRequestError, R as RpcError, T as TimeoutError } from './rpc-3c0e3985.js';
9
- import './chains.js';
1
+ import { F as Filter, C as CallArgs } from './watchPendingTransactions-3b722547.js';
2
+ export { C as CallArgs, a as CallResponse, b as CreateBlockFilterResponse, c as CreatePendingTransactionFilterResponse, D as DeployContractArgs, e as DeployContractResponse, E as EstimateGasArgs, d as EstimateGasResponse, G as GetBalanceArgs, f as GetBalanceResponse, g as GetBlockArgs, h as GetBlockNumberArgs, i as GetBlockNumberResponse, j as GetBlockResponse, k as GetBlockTransactionCountArgs, l as GetBlockTransactionCountResponse, m as GetBytecodeArgs, n as GetBytecodeResponse, o as GetFeeHistoryArgs, p as GetFeeHistoryResponse, q as GetFilterChangesArgs, r as GetFilterChangesResponse, s as GetFilterLogsArgs, t as GetFilterLogsResponse, u as GetGasPriceResponse, v as GetTransactionArgs, w as GetTransactionConfirmationsArgs, x as GetTransactionConfirmationsResponse, y as GetTransactionCountArgs, z as GetTransactionCountResponse, B as GetTransactionReceiptArgs, H as GetTransactionReceiptResponse, A as GetTransactionResponse, O as OnBlock, I as OnBlockNumber, J as OnBlockNumberResponse, K as OnBlockResponse, L as OnTransactions, M as OnTransactionsResponse, S as SimulateContractArgs, N as SimulateContractResponse, U as UninstallFilterArgs, P as UninstallFilterResponse, W as WaitForTransactionReceiptArgs, Q as WaitForTransactionReceiptResponse, R as WatchBlockNumberArgs, T as WatchBlocksArgs, V as WatchPendingTransactionsArgs, X as WriteContractArgs, Y as WriteContractResponse, Z as call, _ as createBlockFilter, $ as createPendingTransactionFilter, a0 as deployContract, a1 as estimateGas, a2 as getBalance, a3 as getBlock, a4 as getBlockNumber, a5 as getBlockTransactionCount, a6 as getBytecode, a7 as getChainId, a8 as getFeeHistory, a9 as getFilterChanges, aa as getFilterLogs, ab as getGasPrice, ac as getTransaction, ad as getTransactionConfirmations, ae as getTransactionCount, af as getTransactionReceipt, ag as simulateContract, ah as uninstallFilter, ai as waitForTransactionReceipt, aj as watchBlockNumber, ak as watchBlocks, al as watchPendingTransactions, am as writeContract } from './watchPendingTransactions-3b722547.js';
3
+ import { A as Address, B as BlockNumber, a as BlockTag, H as Hash, L as Log, b as Hex, c as ByteArray } from './chain-32f56cfa.js';
4
+ export { d as AccessList, A as Address, e as Block, f as BlockIdentifier, B as BlockNumber, a as BlockTag, c as ByteArray, F as FeeHistory, g as FeeValues, h as FeeValuesEIP1559, i as FeeValuesLegacy, E as FormattedTransaction, H as Hash, b as Hex, L as Log, R as RpcBlock, j as RpcBlockIdentifier, k as RpcBlockNumber, l as RpcFeeHistory, m as RpcFeeValues, n as RpcLog, o as RpcTransaction, p as RpcTransactionReceipt, q as RpcTransactionRequest, r as RpcUncle, x as Transaction, y as TransactionBase, z as TransactionEIP1559, C as TransactionEIP2930, D as TransactionLegacy, T as TransactionReceipt, s as TransactionRequest, t as TransactionRequestBase, u as TransactionRequestEIP1559, v as TransactionRequestEIP2930, w as TransactionRequestLegacy, U as Uncle, G as formatTransaction, I as transactionType } from './chain-32f56cfa.js';
5
+ import { E as EventDefinition, a as ExtractArgsFromEventDefinition, b as ExtractEventNameFromAbi, c as ExtractEventArgsFromAbi, d as ExtractFunctionNameFromAbi, e as ExtractArgsFromAbi, f as ExtractResultFromAbi } from './contract-9af4608b.js';
6
+ export { A as AbiItem, F as FormattedBlock, g as formatBlock } from './contract-9af4608b.js';
7
+ import { P as PublicClient } from './createPublicClient-9d2b42e1.js';
8
+ export { P as PublicClient, a as PublicClientConfig, c as createPublicClient } from './createPublicClient-9d2b42e1.js';
9
+ import { Abi } from 'abitype';
10
+ export { C as Client, a as ClientConfig, T as Transport, b as TransportConfig, c as createClient, d as createTransport } from './createClient-5d316c7e.js';
11
+ export { C as CustomTransport, a as CustomTransportConfig, F as FallbackTransport, b as FallbackTransportConfig, H as HttpTransport, c as HttpTransportConfig, W as WebSocketTransport, d as WebSocketTransportConfig, e as custom, f as fallback, h as http, w as webSocket } from './webSocket-b180e679.js';
12
+ export { T as TestClient, a as TestClientConfig, c as createTestClient } from './createTestClient-79498dab.js';
13
+ export { W as WalletClient, a as WalletClientConfig, c as createWalletClient } from './createWalletClient-f69a5230.js';
14
+ export { D as DropTransactionArgs, I as ImpersonateAccountArgs, a as IncreaseTimeArgs, M as MineArgs, R as ResetArgs, b as RevertArgs, S as SendUnsignedTransactionArgs, c as SendUnsignedTransactionResponse, d as SetBalanceArgs, e as SetBlockGasLimitArgs, j as SetBlockTimestampIntervalArgs, f as SetCodeArgs, g as SetCoinbaseArgs, h as SetIntervalMiningArgs, i as SetMinGasPriceArgs, l as SetNextBlockBaseFeePerGasArgs, k as SetNextBlockTimestampArgs, m as SetNonceArgs, n as SetStorageAtArgs, o as StopImpersonatingAccountArgs, p as dropTransaction, q as getAutomine, r as getTxpoolContent, s as getTxpoolStatus, t as impersonateAccount, u as increaseTime, v as inspectTxpool, w as mine, x as removeBlockTimestampInterval, y as reset, z as revert, A as sendUnsignedTransaction, B as setAutomine, C as setBalance, E as setBlockGasLimit, F as setBlockTimestampInterval, G as setCode, H as setCoinbase, J as setIntervalMining, K as setLoggingEnabled, L as setMinGasPrice, N as setNextBlockBaseFeePerGas, O as setNextBlockTimestamp, P as setNonce, Q as setStorageAt, T as snapshot, U as stopImpersonatingAccount } from './stopImpersonatingAccount-7781842a.js';
15
+ export { G as GetPermissionsResponse, R as RequestPermissionsResponse, S as SignMessageArgs, a as SignMessageResponse, b as SwitchChainArgs, W as WatchAssetArgs, c as WatchAssetResponse, d as addChain, g as getAccounts, e as getPermissions, r as requestAccounts, f as requestPermissions, s as signMessage, h as switchChain, w as watchAsset } from './watchAsset-afaad3c7.js';
16
+ export { S as SendTransactionArgs, a as SendTransactionResponse, s as sendTransaction } from './sendTransaction-1c8290a9.js';
17
+ export { D as DecodeAbiArgs, a as DecodeErrorResultArgs, b as DecodeFunctionDataArgs, c as DecodeFunctionResultArgs, d as DecodeFunctionResultResponse, E as EncodeAbiArgs, e as EncodeDeployDataArgs, f as EncodeErrorResultArgs, g as EncodeEventTopicsArgs, h as EncodeFunctionDataArgs, i as EncodeFunctionResultArgs, l as EncodeRlpResponse, G as GetContractAddressOptions, k as GetCreate2AddressOptions, j as GetCreateAddressOptions, o as boolToBytes, p as boolToHex, q as bytesToBigint, r as bytesToBool, m as bytesToHex, s as bytesToNumber, n as bytesToString, t as decodeAbi, u as decodeBytes, v as decodeErrorResult, w as decodeFunctionData, x as decodeFunctionResult, y as decodeHex, z as decodeRlp, A as encodeAbi, B as encodeBytes, C as encodeDeployData, F as encodeErrorResult, H as encodeEventTopics, I as encodeFunctionData, J as encodeFunctionResult, K as encodeHex, L as encodeRlp, M as etherUnits, U as formatEther, a9 as formatGwei, aa as formatUnit, N as getAddress, O as getContractAddress, Q as getCreate2Address, P as getCreateAddress, R as getEventSignature, S as getFunctionSignature, T as gweiUnits, Z as hexToBigInt, _ as hexToBool, $ as hexToBytes, ab as hexToNumber, a0 as hexToString, V as isAddress, W as isAddressEqual, X as isBytes, Y as isHex, a1 as keccak256, a2 as numberToBytes, ac as numberToHex, a3 as pad, a4 as padBytes, a5 as padHex, a6 as parseEther, a7 as parseGwei, a8 as parseUnit, ad as size, ae as slice, af as sliceBytes, ag as sliceHex, ah as stringToBytes, ai as stringToHex, aj as trim, ak as weiUnits } from './parseGwei-4308ad80.js';
18
+ export { F as FormattedTransactionRequest, f as formatTransactionRequest } from './transactionRequest-341b6ed2.js';
10
19
  import '@wagmi/chains';
11
- import './eip1193-8f7c22ce.js';
12
- import 'abitype';
20
+ import './eip1193-6c485d63.js';
21
+ import './rpc-26932bae.js';
22
+
23
+ type EventFilterArgs<TEventDefinition extends EventDefinition> = ExtractArgsFromEventDefinition<TEventDefinition>;
24
+ type CreateEventFilterArgs<TEventDefinition extends EventDefinition> = {
25
+ address?: Address | Address[];
26
+ fromBlock?: BlockNumber | BlockTag;
27
+ toBlock?: BlockNumber | BlockTag;
28
+ } & ({
29
+ event: TEventDefinition;
30
+ args?: EventFilterArgs<TEventDefinition>;
31
+ } | {
32
+ event?: never;
33
+ args?: never;
34
+ });
35
+ type CreateEventFilterResponse = Filter<'event'>;
36
+ declare function createEventFilter<TEventDefinition extends EventDefinition>(client: PublicClient, { address, event, args, fromBlock, toBlock, }?: CreateEventFilterArgs<TEventDefinition>): Promise<CreateEventFilterResponse>;
37
+
38
+ type CreateContractEventFilterArgs<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = any> = {
39
+ address?: Address | Address[];
40
+ abi: TAbi;
41
+ eventName: ExtractEventNameFromAbi<TAbi, TEventName>;
42
+ fromBlock?: BlockNumber | BlockTag;
43
+ toBlock?: BlockNumber | BlockTag;
44
+ } & ExtractEventArgsFromAbi<TAbi, TEventName>;
45
+ type CreateContractEventFilterResponse = Filter<'event'>;
46
+ declare function createContractEventFilter<TAbi extends Abi | readonly unknown[] = Abi, TEventName extends string = any>(client: PublicClient, { address, abi, args, eventName, fromBlock, toBlock, }: CreateContractEventFilterArgs<TAbi, TEventName>): Promise<CreateContractEventFilterResponse>;
47
+
48
+ type GetLogsArgs<TEventDefinition extends EventDefinition> = {
49
+ /** Address or list of addresses from which logs originated */
50
+ address?: Address | Address[];
51
+ } & ({
52
+ event: TEventDefinition;
53
+ args?: EventFilterArgs<TEventDefinition>;
54
+ } | {
55
+ event?: never;
56
+ args?: never;
57
+ }) & ({
58
+ /** Block number or tag after which to include logs */
59
+ fromBlock?: BlockNumber<bigint> | BlockTag;
60
+ /** Block number or tag before which to include logs */
61
+ toBlock?: BlockNumber<bigint> | BlockTag;
62
+ blockHash?: never;
63
+ } | {
64
+ fromBlock?: never;
65
+ toBlock?: never;
66
+ /** Hash of block to include logs from */
67
+ blockHash?: Hash;
68
+ });
69
+ type GetLogsResponse = Log[];
70
+ /**
71
+ * @description Returns a collection of event logs.
72
+ */
73
+ declare function getLogs<TEventDefinition extends EventDefinition>(client: PublicClient, { address, blockHash, fromBlock, toBlock, event, args, }?: GetLogsArgs<TEventDefinition>): Promise<GetLogsResponse>;
74
+
75
+ type GetStorageAtArgs = {
76
+ address: Address;
77
+ slot: Hex;
78
+ } & ({
79
+ blockNumber?: never;
80
+ blockTag?: BlockTag;
81
+ } | {
82
+ blockNumber?: bigint;
83
+ blockTag?: never;
84
+ });
85
+ type GetStorageAtResponse = Hex | undefined;
86
+ declare function getStorageAt(client: PublicClient, { address, blockNumber, blockTag, slot }: GetStorageAtArgs): Promise<GetStorageAtResponse>;
87
+
88
+ type ReadContractArgs<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = any> = Omit<CallArgs, 'accessList' | 'chain' | 'from' | 'gas' | 'gasPrice' | 'maxFeePerGas' | 'maxPriorityFeePerGas' | 'nonce' | 'to' | 'data' | 'value'> & {
89
+ address: Address;
90
+ abi: TAbi;
91
+ functionName: ExtractFunctionNameFromAbi<TAbi, TFunctionName, 'pure' | 'view'>;
92
+ } & ExtractArgsFromAbi<TAbi, TFunctionName>;
93
+ type ReadContractResponse<TAbi extends Abi | readonly unknown[] = Abi, TFunctionName extends string = string> = ExtractResultFromAbi<TAbi, TFunctionName>;
94
+ declare function readContract<TAbi extends Abi = Abi, TFunctionName extends string = any>(client: PublicClient, { abi, address, args, functionName, ...callRequest }: ReadContractArgs<TAbi, TFunctionName>): Promise<ReadContractResponse<TAbi, TFunctionName>>;
95
+
96
+ type BaseErrorArgs = {
97
+ docsPath?: string;
98
+ } & ({
99
+ cause?: never;
100
+ details?: string;
101
+ } | {
102
+ cause: BaseError | Error;
103
+ details?: never;
104
+ });
105
+ declare class BaseError extends Error {
106
+ humanMessage: string;
107
+ details: string;
108
+ docsPath?: string;
109
+ name: string;
110
+ constructor(humanMessage: string, args?: BaseErrorArgs);
111
+ }
112
+
113
+ declare class AbiConstructorNotFoundError extends BaseError {
114
+ name: string;
115
+ constructor({ docsPath }: {
116
+ docsPath: string;
117
+ });
118
+ }
119
+ declare class AbiConstructorParamsNotFoundError extends BaseError {
120
+ name: string;
121
+ constructor({ docsPath }: {
122
+ docsPath: string;
123
+ });
124
+ }
125
+ declare class AbiDecodingDataSizeInvalidError extends BaseError {
126
+ name: string;
127
+ constructor(size: number);
128
+ }
129
+ declare class AbiEncodingArrayLengthMismatchError extends BaseError {
130
+ name: string;
131
+ constructor({ expectedLength, givenLength, type, }: {
132
+ expectedLength: number;
133
+ givenLength: number;
134
+ type: string;
135
+ });
136
+ }
137
+ declare class AbiEncodingLengthMismatchError extends BaseError {
138
+ name: string;
139
+ constructor({ expectedLength, givenLength, }: {
140
+ expectedLength: number;
141
+ givenLength: number;
142
+ });
143
+ }
144
+ declare class AbiErrorInputsNotFoundError extends BaseError {
145
+ name: string;
146
+ constructor(errorName: string, { docsPath }: {
147
+ docsPath: string;
148
+ });
149
+ }
150
+ declare class AbiErrorNotFoundError extends BaseError {
151
+ name: string;
152
+ constructor(errorName: string, { docsPath }: {
153
+ docsPath: string;
154
+ });
155
+ }
156
+ declare class AbiErrorSignatureNotFoundError extends BaseError {
157
+ name: string;
158
+ constructor(signature: Hex, { docsPath }: {
159
+ docsPath: string;
160
+ });
161
+ }
162
+ declare class AbiEventNotFoundError extends BaseError {
163
+ name: string;
164
+ constructor(eventName: string, { docsPath }: {
165
+ docsPath: string;
166
+ });
167
+ }
168
+ declare class AbiFunctionNotFoundError extends BaseError {
169
+ name: string;
170
+ constructor(functionName: string, { docsPath }: {
171
+ docsPath: string;
172
+ });
173
+ }
174
+ declare class AbiFunctionOutputsNotFoundError extends BaseError {
175
+ name: string;
176
+ constructor(functionName: string, { docsPath }: {
177
+ docsPath: string;
178
+ });
179
+ }
180
+ declare class AbiFunctionSignatureNotFoundError extends BaseError {
181
+ name: string;
182
+ constructor(signature: Hex, { docsPath }: {
183
+ docsPath: string;
184
+ });
185
+ }
186
+ declare class InvalidAbiEncodingTypeError extends BaseError {
187
+ name: string;
188
+ constructor(type: string, { docsPath }: {
189
+ docsPath: string;
190
+ });
191
+ }
192
+ declare class InvalidAbiDecodingTypeError extends BaseError {
193
+ name: string;
194
+ constructor(type: string, { docsPath }: {
195
+ docsPath: string;
196
+ });
197
+ }
198
+ declare class InvalidArrayError extends BaseError {
199
+ name: string;
200
+ constructor(value: unknown);
201
+ }
202
+ declare class InvalidDefinitionTypeError extends BaseError {
203
+ name: string;
204
+ constructor(type: string);
205
+ }
206
+
207
+ declare class InvalidAddressError extends BaseError {
208
+ name: string;
209
+ constructor({ address }: {
210
+ address: Address;
211
+ });
212
+ }
213
+
214
+ declare class BlockNotFoundError extends BaseError {
215
+ name: string;
216
+ constructor({ blockHash, blockNumber, }: {
217
+ blockHash?: Hash;
218
+ blockNumber?: bigint;
219
+ });
220
+ }
221
+
222
+ declare class SizeExceedsPaddingSizeError extends BaseError {
223
+ name: string;
224
+ constructor({ size, targetSize, type, }: {
225
+ size: number;
226
+ targetSize: number;
227
+ type: 'hex' | 'bytes';
228
+ });
229
+ }
230
+
231
+ declare class DataLengthTooLongError extends BaseError {
232
+ name: string;
233
+ constructor({ consumed, length }: {
234
+ consumed: number;
235
+ length: number;
236
+ });
237
+ }
238
+ declare class DataLengthTooShortError extends BaseError {
239
+ name: string;
240
+ constructor({ length, dataLength }: {
241
+ length: number;
242
+ dataLength: number;
243
+ });
244
+ }
245
+ declare class InvalidBytesBooleanError extends BaseError {
246
+ name: string;
247
+ constructor(bytes: ByteArray);
248
+ }
249
+ declare class InvalidHexBooleanError extends BaseError {
250
+ name: string;
251
+ constructor(hex: Hex);
252
+ }
253
+ declare class InvalidHexValueError extends BaseError {
254
+ name: string;
255
+ constructor(value: Hex);
256
+ }
257
+ declare class OffsetOutOfBoundsError extends BaseError {
258
+ name: string;
259
+ constructor({ nextOffset, offset }: {
260
+ nextOffset: number;
261
+ offset: number;
262
+ });
263
+ }
264
+
265
+ declare class FilterTypeNotSupportedError extends BaseError {
266
+ name: string;
267
+ constructor(type: string);
268
+ }
269
+
270
+ declare class HttpRequestError extends BaseError {
271
+ name: string;
272
+ status: number;
273
+ constructor({ body, details, status, url, }: {
274
+ body: {
275
+ [key: string]: unknown;
276
+ };
277
+ details: string;
278
+ status: number;
279
+ url: string;
280
+ });
281
+ }
282
+ declare class WebSocketRequestError extends BaseError {
283
+ name: string;
284
+ constructor({ body, details, url, }: {
285
+ body: {
286
+ [key: string]: unknown;
287
+ };
288
+ details: string;
289
+ url: string;
290
+ });
291
+ }
292
+ declare class RpcError extends BaseError {
293
+ code: number;
294
+ name: string;
295
+ constructor({ body, error, url, }: {
296
+ body: {
297
+ [key: string]: unknown;
298
+ };
299
+ error: {
300
+ code: number;
301
+ message: string;
302
+ };
303
+ url: string;
304
+ });
305
+ }
306
+ declare class TimeoutError extends BaseError {
307
+ name: string;
308
+ constructor({ body, url, }: {
309
+ body: {
310
+ [key: string]: unknown;
311
+ };
312
+ url: string;
313
+ });
314
+ }
315
+
316
+ declare class RequestError extends BaseError {
317
+ constructor(err: Error, { docsPath, humanMessage }: {
318
+ docsPath?: string;
319
+ humanMessage: string;
320
+ });
321
+ }
322
+ declare class RpcRequestError extends RequestError {
323
+ code: number;
324
+ constructor(err: RpcError, { docsPath, humanMessage }: {
325
+ docsPath?: string;
326
+ humanMessage: string;
327
+ });
328
+ }
329
+ declare class ParseRpcError extends RpcRequestError {
330
+ name: string;
331
+ code: number;
332
+ constructor(err: RpcError);
333
+ }
334
+ declare class InvalidRequestRpcError extends RpcRequestError {
335
+ name: string;
336
+ code: number;
337
+ constructor(err: RpcError);
338
+ }
339
+ declare class MethodNotFoundRpcError extends RpcRequestError {
340
+ name: string;
341
+ code: number;
342
+ constructor(err: RpcError);
343
+ }
344
+ declare class InvalidParamsRpcError extends RpcRequestError {
345
+ name: string;
346
+ code: number;
347
+ constructor(err: RpcError);
348
+ }
349
+ declare class InternalRpcError extends RpcRequestError {
350
+ name: string;
351
+ code: number;
352
+ constructor(err: RpcError);
353
+ }
354
+ declare class InvalidInputRpcError extends RpcRequestError {
355
+ name: string;
356
+ code: number;
357
+ constructor(err: RpcError);
358
+ }
359
+ declare class ResourceNotFoundRpcError extends RpcRequestError {
360
+ name: string;
361
+ code: number;
362
+ constructor(err: RpcError);
363
+ }
364
+ declare class ResourceUnavailableRpcError extends RpcRequestError {
365
+ name: string;
366
+ code: number;
367
+ constructor(err: RpcError);
368
+ }
369
+ declare class TransactionRejectedRpcError extends RpcRequestError {
370
+ name: string;
371
+ code: number;
372
+ constructor(err: RpcError);
373
+ }
374
+ declare class MethodNotSupportedRpcError extends RpcRequestError {
375
+ name: string;
376
+ code: number;
377
+ constructor(err: RpcError);
378
+ }
379
+ declare class LimitExceededRpcError extends RpcRequestError {
380
+ name: string;
381
+ code: number;
382
+ constructor(err: RpcError);
383
+ }
384
+ declare class JsonRpcVersionUnsupportedError extends RpcRequestError {
385
+ name: string;
386
+ code: number;
387
+ constructor(err: RpcError);
388
+ }
389
+ declare class UnknownRpcError extends RequestError {
390
+ name: string;
391
+ constructor(err: Error);
392
+ }
393
+
394
+ declare class InvalidGasArgumentsError extends BaseError {
395
+ name: string;
396
+ constructor();
397
+ }
398
+ declare class TransactionNotFoundError extends BaseError {
399
+ name: string;
400
+ constructor({ blockHash, blockNumber, blockTag, hash, index, }: {
401
+ blockHash?: Hash;
402
+ blockNumber?: bigint;
403
+ blockTag?: BlockTag;
404
+ hash?: Hash;
405
+ index?: number;
406
+ });
407
+ }
408
+ declare class TransactionReceiptNotFoundError extends BaseError {
409
+ name: string;
410
+ constructor({ hash }: {
411
+ hash: Hash;
412
+ });
413
+ }
414
+ declare class WaitForTransactionReceiptTimeoutError extends BaseError {
415
+ name: string;
416
+ constructor({ hash }: {
417
+ hash: Hash;
418
+ });
419
+ }
420
+
421
+ declare class UrlRequiredError extends BaseError {
422
+ constructor();
423
+ }
424
+
425
+ export { AbiConstructorNotFoundError, AbiConstructorParamsNotFoundError, AbiDecodingDataSizeInvalidError, AbiEncodingArrayLengthMismatchError, AbiEncodingLengthMismatchError, AbiErrorInputsNotFoundError, AbiErrorNotFoundError, AbiErrorSignatureNotFoundError, AbiEventNotFoundError, AbiFunctionNotFoundError, AbiFunctionOutputsNotFoundError, AbiFunctionSignatureNotFoundError, BaseError, BlockNotFoundError, CreateContractEventFilterArgs, CreateContractEventFilterResponse, CreateEventFilterArgs, CreateEventFilterResponse, DataLengthTooLongError, DataLengthTooShortError, FilterTypeNotSupportedError, GetLogsArgs, GetLogsResponse, GetStorageAtArgs, GetStorageAtResponse, HttpRequestError, InternalRpcError, InvalidAbiDecodingTypeError, InvalidAbiEncodingTypeError, InvalidAddressError, InvalidArrayError, InvalidBytesBooleanError, InvalidDefinitionTypeError, InvalidGasArgumentsError, InvalidHexBooleanError, InvalidHexValueError, InvalidInputRpcError, InvalidParamsRpcError, InvalidRequestRpcError, JsonRpcVersionUnsupportedError, LimitExceededRpcError, MethodNotFoundRpcError, MethodNotSupportedRpcError, OffsetOutOfBoundsError, ParseRpcError, ReadContractArgs, ReadContractResponse, RequestError, ResourceNotFoundRpcError, ResourceUnavailableRpcError, RpcError, RpcRequestError, SizeExceedsPaddingSizeError, TimeoutError, TransactionNotFoundError, TransactionReceiptNotFoundError, TransactionRejectedRpcError, UnknownRpcError, UrlRequiredError, WaitForTransactionReceiptTimeoutError, WebSocketRequestError, createContractEventFilter, createEventFilter, getLogs, getStorageAt, readContract };