viem 0.0.1-alpha.15 → 0.0.1-alpha.17

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 (457) hide show
  1. package/dist/chains.d.ts +1 -1
  2. package/dist/chains.js +6 -5
  3. package/dist/chains.js.map +1 -0
  4. package/dist/chains.mjs +2 -1
  5. package/dist/chains.mjs.map +1 -0
  6. package/dist/{chunk-IMYI7Z6M.js → chunk-BL2ZZ7UN.js} +14 -13
  7. package/dist/chunk-BL2ZZ7UN.js.map +1 -0
  8. package/dist/{chunk-KGXH5DYI.js → chunk-EOY65E5E.js} +36 -12
  9. package/dist/chunk-EOY65E5E.js.map +1 -0
  10. package/dist/{chunk-HTYEJEWI.js → chunk-EVOCIEHK.js} +109 -52
  11. package/dist/chunk-EVOCIEHK.js.map +1 -0
  12. package/dist/{chunk-SX7GPOCZ.mjs → chunk-HF44N2P3.mjs} +2 -1
  13. package/dist/chunk-HF44N2P3.mjs.map +1 -0
  14. package/dist/{chunk-PHAG5KUF.mjs → chunk-JNAHFK7Z.mjs} +26 -2
  15. package/dist/chunk-JNAHFK7Z.mjs.map +1 -0
  16. package/dist/{chunk-EMQSYKNY.js → chunk-KCXMY4FZ.js} +12 -11
  17. package/dist/chunk-KCXMY4FZ.js.map +1 -0
  18. package/dist/{chunk-2HENAFQN.mjs → chunk-KQI5IRRL.mjs} +3 -1
  19. package/dist/chunk-KQI5IRRL.mjs.map +1 -0
  20. package/dist/{chunk-PPDHFNFM.mjs → chunk-KWHCOWNW.mjs} +63 -6
  21. package/dist/chunk-KWHCOWNW.mjs.map +1 -0
  22. package/dist/{chunk-NYXBQHNJ.mjs → chunk-WQFS6KDQ.mjs} +2 -1
  23. package/dist/chunk-WQFS6KDQ.mjs.map +1 -0
  24. package/dist/{chunk-QMLDI5JU.js → chunk-XEGTPY6M.js} +3 -1
  25. package/dist/chunk-XEGTPY6M.js.map +1 -0
  26. package/dist/clients/index.d.ts +7 -7
  27. package/dist/clients/index.js +4 -3
  28. package/dist/clients/index.js.map +1 -0
  29. package/dist/clients/index.mjs +3 -2
  30. package/dist/clients/index.mjs.map +1 -0
  31. package/dist/{createClient-cd948138.d.ts → createClient-aadeff37.d.ts} +1 -1
  32. package/dist/{createPublicClient-989a0556.d.ts → createPublicClient-88f35518.d.ts} +2 -2
  33. package/dist/{createTestClient-81507f58.d.ts → createTestClient-fbf66ec2.d.ts} +2 -2
  34. package/dist/{createWalletClient-43f801b9.d.ts → createWalletClient-b13dabd6.d.ts} +2 -2
  35. package/dist/{eip1193-4330b722.d.ts → eip1193-3a40c941.d.ts} +9 -6
  36. package/dist/index.d.ts +47 -16
  37. package/dist/index.js +11 -6
  38. package/dist/index.js.map +1 -0
  39. package/dist/index.mjs +14 -9
  40. package/dist/index.mjs.map +1 -0
  41. package/dist/{parseGwei-f2d23de6.d.ts → parseGwei-e6f49667.d.ts} +2 -2
  42. package/dist/public.d.ts +9 -9
  43. package/dist/public.js +5 -4
  44. package/dist/public.js.map +1 -0
  45. package/dist/public.mjs +6 -5
  46. package/dist/public.mjs.map +1 -0
  47. package/dist/{rpc-b77c5aee.d.ts → rpc-858670f1.d.ts} +12 -1
  48. package/dist/{sendTransaction-7a9d241a.d.ts → sendTransaction-bd109cd4.d.ts} +3 -3
  49. package/dist/{stopImpersonatingAccount-8113150e.d.ts → stopImpersonatingAccount-6603ebdd.d.ts} +2 -2
  50. package/dist/test.d.ts +5 -5
  51. package/dist/test.js +4 -3
  52. package/dist/test.js.map +1 -0
  53. package/dist/test.mjs +3 -2
  54. package/dist/test.mjs.map +1 -0
  55. package/dist/{transactionReceipt-5d332aab.d.ts → transactionReceipt-86c1094c.d.ts} +30 -4
  56. package/dist/{transactionRequest-327eb7c2.d.ts → transactionRequest-8e970b0e.d.ts} +1 -1
  57. package/dist/utils/index.d.ts +5 -5
  58. package/dist/utils/index.js +3 -2
  59. package/dist/utils/index.js.map +1 -0
  60. package/dist/utils/index.mjs +2 -1
  61. package/dist/utils/index.mjs.map +1 -0
  62. package/dist/wallet.d.ts +7 -7
  63. package/dist/wallet.js +4 -3
  64. package/dist/wallet.js.map +1 -0
  65. package/dist/wallet.mjs +3 -2
  66. package/dist/wallet.mjs.map +1 -0
  67. package/dist/{watchAsset-0088384c.d.ts → watchAsset-7ef25553.d.ts} +3 -3
  68. package/dist/{watchPendingTransactions-670a7ca3.d.ts → watchPendingTransactions-2563071e.d.ts} +26 -11
  69. package/dist/{webSocket-9a3b0b26.d.ts → webSocket-2a77cdb3.d.ts} +2 -2
  70. package/dist/window.d.ts +2 -2
  71. package/dist/window.js +1 -1
  72. package/dist/window.js.map +1 -0
  73. package/dist/window.mjs +1 -0
  74. package/dist/window.mjs.map +1 -0
  75. package/package.json +3 -1
  76. package/src/_test/abis.ts +1225 -0
  77. package/src/_test/bench.ts +15 -0
  78. package/src/_test/constants.ts +63 -0
  79. package/src/_test/globalSetup.ts +11 -0
  80. package/src/_test/index.ts +20 -0
  81. package/src/_test/setup.ts +8 -0
  82. package/src/_test/utils.ts +112 -0
  83. package/src/actions/index.test.ts +74 -0
  84. package/src/actions/index.ts +162 -0
  85. package/src/actions/public/call.bench.ts +48 -0
  86. package/src/actions/public/call.test.ts +99 -0
  87. package/src/actions/public/call.ts +96 -0
  88. package/src/actions/public/createBlockFilter.bench.ts +11 -0
  89. package/src/actions/public/createBlockFilter.test.ts +9 -0
  90. package/src/actions/public/createBlockFilter.ts +14 -0
  91. package/src/actions/public/createEventFilter.test.ts +245 -0
  92. package/src/actions/public/createEventFilter.ts +79 -0
  93. package/src/actions/public/createPendingTransactionFilter.bench.ts +11 -0
  94. package/src/actions/public/createPendingTransactionFilter.test.ts +9 -0
  95. package/src/actions/public/createPendingTransactionFilter.ts +14 -0
  96. package/src/actions/public/deployContract.test.ts +56 -0
  97. package/src/actions/public/deployContract.ts +39 -0
  98. package/src/actions/public/estimateGas.bench.ts +46 -0
  99. package/src/actions/public/estimateGas.test.ts +92 -0
  100. package/src/actions/public/estimateGas.ts +61 -0
  101. package/src/actions/public/getBalance.test.ts +83 -0
  102. package/src/actions/public/getBalance.ts +37 -0
  103. package/src/actions/public/getBlock.bench.ts +28 -0
  104. package/src/actions/public/getBlock.test.ts +575 -0
  105. package/src/actions/public/getBlock.ts +66 -0
  106. package/src/actions/public/getBlockNumber.bench.ts +28 -0
  107. package/src/actions/public/getBlockNumber.test.ts +27 -0
  108. package/src/actions/public/getBlockNumber.ts +32 -0
  109. package/src/actions/public/getBlockTransactionCount.bench.ts +15 -0
  110. package/src/actions/public/getBlockTransactionCount.test.ts +57 -0
  111. package/src/actions/public/getBlockTransactionCount.ts +53 -0
  112. package/src/actions/public/getBytecode.test.ts +27 -0
  113. package/src/actions/public/getBytecode.ts +32 -0
  114. package/src/actions/public/getChainId.bench.ts +15 -0
  115. package/src/actions/public/getChainId.test.ts +8 -0
  116. package/src/actions/public/getChainId.ts +7 -0
  117. package/src/actions/public/getFeeHistory.bench.ts +18 -0
  118. package/src/actions/public/getFeeHistory.test.ts +137 -0
  119. package/src/actions/public/getFeeHistory.ts +44 -0
  120. package/src/actions/public/getFilterChanges.bench.ts +13 -0
  121. package/src/actions/public/getFilterChanges.test.ts +187 -0
  122. package/src/actions/public/getFilterChanges.ts +23 -0
  123. package/src/actions/public/getFilterLogs.test.ts +102 -0
  124. package/src/actions/public/getFilterLogs.ts +20 -0
  125. package/src/actions/public/getGasPrice.bench.ts +28 -0
  126. package/src/actions/public/getGasPrice.test.ts +8 -0
  127. package/src/actions/public/getGasPrice.ts +15 -0
  128. package/src/actions/public/getLogs.test.ts +105 -0
  129. package/src/actions/public/getLogs.ts +83 -0
  130. package/src/actions/public/getTransaction.bench.ts +33 -0
  131. package/src/actions/public/getTransaction.test.ts +311 -0
  132. package/src/actions/public/getTransaction.ts +96 -0
  133. package/src/actions/public/getTransactionConfirmations.test.ts +69 -0
  134. package/src/actions/public/getTransactionConfirmations.ts +39 -0
  135. package/src/actions/public/getTransactionCount.test.ts +56 -0
  136. package/src/actions/public/getTransactionCount.ts +34 -0
  137. package/src/actions/public/getTransactionReceipt.bench.ts +33 -0
  138. package/src/actions/public/getTransactionReceipt.test.ts +217 -0
  139. package/src/actions/public/getTransactionReceipt.ts +35 -0
  140. package/src/actions/public/index.test.ts +37 -0
  141. package/src/actions/public/index.ts +123 -0
  142. package/src/actions/public/simulateContract.bench.ts +31 -0
  143. package/src/actions/public/simulateContract.test.ts +238 -0
  144. package/src/actions/public/simulateContract.ts +102 -0
  145. package/src/actions/public/uninstallFilter.bench.ts +13 -0
  146. package/src/actions/public/uninstallFilter.test.ts +65 -0
  147. package/src/actions/public/uninstallFilter.ts +17 -0
  148. package/src/actions/public/waitForTransactionReceipt.test.ts +322 -0
  149. package/src/actions/public/waitForTransactionReceipt.ts +171 -0
  150. package/src/actions/public/watchBlockNumber.test.ts +166 -0
  151. package/src/actions/public/watchBlockNumber.ts +79 -0
  152. package/src/actions/public/watchBlocks.test.ts +185 -0
  153. package/src/actions/public/watchBlocks.ts +95 -0
  154. package/src/actions/public/watchPendingTransactions.test.ts +116 -0
  155. package/src/actions/public/watchPendingTransactions.ts +73 -0
  156. package/src/actions/test/dropTransaction.test.ts +34 -0
  157. package/src/actions/test/dropTransaction.ts +17 -0
  158. package/src/actions/test/getAutomine.test.ts +14 -0
  159. package/src/actions/test/getAutomine.ts +11 -0
  160. package/src/actions/test/getTxpoolContent.test.ts +45 -0
  161. package/src/actions/test/getTxpoolContent.ts +7 -0
  162. package/src/actions/test/getTxpoolStatus.test.ts +41 -0
  163. package/src/actions/test/getTxpoolStatus.ts +12 -0
  164. package/src/actions/test/impersonateAccount.test.ts +28 -0
  165. package/src/actions/test/impersonateAccount.ts +17 -0
  166. package/src/actions/test/increaseTime.test.ts +18 -0
  167. package/src/actions/test/increaseTime.ts +17 -0
  168. package/src/actions/test/index.test.ts +38 -0
  169. package/src/actions/test/index.ts +77 -0
  170. package/src/actions/test/inspectTxpool.test.ts +50 -0
  171. package/src/actions/test/inspectTxpool.ts +7 -0
  172. package/src/actions/test/mine.test.ts +20 -0
  173. package/src/actions/test/mine.ts +16 -0
  174. package/src/actions/test/removeBlockTimestampInterval.test.ts +23 -0
  175. package/src/actions/test/removeBlockTimestampInterval.ts +7 -0
  176. package/src/actions/test/reset.test.ts +19 -0
  177. package/src/actions/test/reset.ts +18 -0
  178. package/src/actions/test/revert.test.ts +39 -0
  179. package/src/actions/test/revert.ts +14 -0
  180. package/src/actions/test/sendUnsignedTransaction.test.ts +52 -0
  181. package/src/actions/test/sendUnsignedTransaction.ts +19 -0
  182. package/src/actions/test/setAutomine.test.ts +14 -0
  183. package/src/actions/test/setAutomine.ts +8 -0
  184. package/src/actions/test/setBalance.test.ts +29 -0
  185. package/src/actions/test/setBalance.ts +20 -0
  186. package/src/actions/test/setBlockGasLimit.test.ts +21 -0
  187. package/src/actions/test/setBlockGasLimit.ts +17 -0
  188. package/src/actions/test/setBlockTimestampInterval.test.ts +23 -0
  189. package/src/actions/test/setBlockTimestampInterval.ts +16 -0
  190. package/src/actions/test/setCode.test.ts +26 -0
  191. package/src/actions/test/setCode.ts +19 -0
  192. package/src/actions/test/setCoinbase.test.ts +11 -0
  193. package/src/actions/test/setCoinbase.ts +17 -0
  194. package/src/actions/test/setIntervalMining.test.ts +30 -0
  195. package/src/actions/test/setIntervalMining.ts +16 -0
  196. package/src/actions/test/setLoggingEnabled.test.ts +10 -0
  197. package/src/actions/test/setLoggingEnabled.ts +8 -0
  198. package/src/actions/test/setMinGasPrice.test.ts +22 -0
  199. package/src/actions/test/setMinGasPrice.ts +17 -0
  200. package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +23 -0
  201. package/src/actions/test/setNextBlockBaseFeePerGas.ts +17 -0
  202. package/src/actions/test/setNextBlockTimestamp.test.ts +19 -0
  203. package/src/actions/test/setNextBlockTimestamp.ts +17 -0
  204. package/src/actions/test/setNonce.test.ts +28 -0
  205. package/src/actions/test/setNonce.ts +20 -0
  206. package/src/actions/test/setRpcUrl.test.ts +9 -0
  207. package/src/actions/test/setRpcUrl.ts +8 -0
  208. package/src/actions/test/setStorageAt.test.ts +36 -0
  209. package/src/actions/test/setStorageAt.ts +26 -0
  210. package/src/actions/test/snapshot.test.ts +18 -0
  211. package/src/actions/test/snapshot.ts +7 -0
  212. package/src/actions/test/stopImpersonatingAccount.test.ts +31 -0
  213. package/src/actions/test/stopImpersonatingAccount.ts +17 -0
  214. package/src/actions/wallet/addChain.test.ts +14 -0
  215. package/src/actions/wallet/addChain.ts +21 -0
  216. package/src/actions/wallet/getAccounts.test.ts +22 -0
  217. package/src/actions/wallet/getAccounts.ts +7 -0
  218. package/src/actions/wallet/getPermissions.test.ts +24 -0
  219. package/src/actions/wallet/getPermissions.ts +9 -0
  220. package/src/actions/wallet/index.test.ts +20 -0
  221. package/src/actions/wallet/index.ts +30 -0
  222. package/src/actions/wallet/requestAccounts.test.ts +13 -0
  223. package/src/actions/wallet/requestAccounts.ts +7 -0
  224. package/src/actions/wallet/requestPermissions.test.ts +26 -0
  225. package/src/actions/wallet/requestPermissions.ts +19 -0
  226. package/src/actions/wallet/sendTransaction.bench.ts +57 -0
  227. package/src/actions/wallet/sendTransaction.test.ts +440 -0
  228. package/src/actions/wallet/sendTransaction.ts +76 -0
  229. package/src/actions/wallet/signMessage.test.ts +62 -0
  230. package/src/actions/wallet/signMessage.ts +35 -0
  231. package/src/actions/wallet/switchChain.test.ts +22 -0
  232. package/src/actions/wallet/switchChain.ts +19 -0
  233. package/src/actions/wallet/watchAsset.test.ts +41 -0
  234. package/src/actions/wallet/watchAsset.ts +16 -0
  235. package/src/actions/wallet/writeContract.test.ts +54 -0
  236. package/src/actions/wallet/writeContract.ts +61 -0
  237. package/src/chains.test.ts +1134 -0
  238. package/src/chains.ts +167 -0
  239. package/src/clients/createClient.test.ts +295 -0
  240. package/src/clients/createClient.ts +81 -0
  241. package/src/clients/createPublicClient.test.ts +165 -0
  242. package/src/clients/createPublicClient.ts +49 -0
  243. package/src/clients/createTestClient.test.ts +145 -0
  244. package/src/clients/createTestClient.ts +72 -0
  245. package/src/clients/createWalletClient.test.ts +121 -0
  246. package/src/clients/createWalletClient.ts +54 -0
  247. package/src/clients/index.test.ts +19 -0
  248. package/src/clients/index.ts +31 -0
  249. package/src/clients/transports/createTransport.test.ts +58 -0
  250. package/src/clients/transports/createTransport.ts +48 -0
  251. package/src/clients/transports/custom.test.ts +98 -0
  252. package/src/clients/transports/custom.ts +34 -0
  253. package/src/clients/transports/fallback.test.ts +223 -0
  254. package/src/clients/transports/fallback.ts +48 -0
  255. package/src/clients/transports/http.test.ts +110 -0
  256. package/src/clients/transports/http.ts +51 -0
  257. package/src/clients/transports/index.test.ts +15 -0
  258. package/src/clients/transports/index.ts +17 -0
  259. package/src/clients/transports/webSocket.test.ts +164 -0
  260. package/src/clients/transports/webSocket.ts +117 -0
  261. package/src/constants.test.ts +27 -0
  262. package/src/constants.ts +18 -0
  263. package/src/errors/abi.test.ts +83 -0
  264. package/src/errors/abi.ts +238 -0
  265. package/src/errors/address.test.ts +14 -0
  266. package/src/errors/address.ts +9 -0
  267. package/src/errors/base.test.ts +72 -0
  268. package/src/errors/base.ts +57 -0
  269. package/src/errors/block.test.ts +24 -0
  270. package/src/errors/block.ts +18 -0
  271. package/src/errors/contract.ts +125 -0
  272. package/src/errors/data.ts +20 -0
  273. package/src/errors/encoding.ts +60 -0
  274. package/src/errors/index.ts +77 -0
  275. package/src/errors/log.ts +8 -0
  276. package/src/errors/request.test.ts +331 -0
  277. package/src/errors/request.ts +163 -0
  278. package/src/errors/rpc.test.ts +88 -0
  279. package/src/errors/rpc.ts +113 -0
  280. package/src/errors/transaction.test.ts +83 -0
  281. package/src/errors/transaction.ts +54 -0
  282. package/src/errors/transport.test.ts +12 -0
  283. package/src/errors/transport.ts +12 -0
  284. package/src/index.test.ts +210 -0
  285. package/src/index.ts +359 -0
  286. package/src/public.ts +80 -0
  287. package/src/test.ts +51 -0
  288. package/src/types/block.ts +71 -0
  289. package/src/types/contract.ts +327 -0
  290. package/src/types/eip1193.ts +1041 -0
  291. package/src/types/fee.ts +47 -0
  292. package/src/types/filter.ts +8 -0
  293. package/src/types/index.ts +72 -0
  294. package/src/types/log.ts +22 -0
  295. package/src/types/misc.ts +5 -0
  296. package/src/types/rpc.ts +35 -0
  297. package/src/types/transaction.ts +145 -0
  298. package/src/types/utils.ts +67 -0
  299. package/src/types/window.ts +9 -0
  300. package/src/utils/abi/decodeAbi.bench.ts +135 -0
  301. package/src/utils/abi/decodeAbi.test.ts +1615 -0
  302. package/src/utils/abi/decodeAbi.ts +296 -0
  303. package/src/utils/abi/decodeDeployData.test.ts +159 -0
  304. package/src/utils/abi/decodeDeployData.ts +41 -0
  305. package/src/utils/abi/decodeErrorResult.test.ts +130 -0
  306. package/src/utils/abi/decodeErrorResult.ts +28 -0
  307. package/src/utils/abi/decodeFunctionData.test.ts +140 -0
  308. package/src/utils/abi/decodeFunctionData.ts +29 -0
  309. package/src/utils/abi/decodeFunctionResult.test.ts +262 -0
  310. package/src/utils/abi/decodeFunctionResult.ts +53 -0
  311. package/src/utils/abi/encodeAbi.bench.ts +163 -0
  312. package/src/utils/abi/encodeAbi.test.ts +1414 -0
  313. package/src/utils/abi/encodeAbi.ts +258 -0
  314. package/src/utils/abi/encodeDeployData.test.ts +131 -0
  315. package/src/utils/abi/encodeDeployData.ts +37 -0
  316. package/src/utils/abi/encodeErrorResult.test.ts +197 -0
  317. package/src/utils/abi/encodeErrorResult.ts +40 -0
  318. package/src/utils/abi/encodeEventTopics.test.ts +348 -0
  319. package/src/utils/abi/encodeEventTopics.ts +69 -0
  320. package/src/utils/abi/encodeFunctionData.test.ts +140 -0
  321. package/src/utils/abi/encodeFunctionData.ts +38 -0
  322. package/src/utils/abi/encodeFunctionResult.test.ts +284 -0
  323. package/src/utils/abi/encodeFunctionResult.ts +39 -0
  324. package/src/utils/abi/formatAbiItemWithArgs.test.ts +291 -0
  325. package/src/utils/abi/formatAbiItemWithArgs.ts +27 -0
  326. package/src/utils/abi/formatAbiItemWithParams.test.ts +335 -0
  327. package/src/utils/abi/formatAbiItemWithParams.ts +41 -0
  328. package/src/utils/abi/getAbiItem.ts +5 -0
  329. package/src/utils/abi/index.test.ts +23 -0
  330. package/src/utils/abi/index.ts +38 -0
  331. package/src/utils/address/getAddress.bench.ts +22 -0
  332. package/src/utils/address/getAddress.test.ts +46 -0
  333. package/src/utils/address/getAddress.ts +28 -0
  334. package/src/utils/address/getContractAddress.bench.ts +20 -0
  335. package/src/utils/address/getContractAddress.test.ts +78 -0
  336. package/src/utils/address/getContractAddress.ts +59 -0
  337. package/src/utils/address/index.test.ts +17 -0
  338. package/src/utils/address/index.ts +16 -0
  339. package/src/utils/address/isAddress.test.ts +10 -0
  340. package/src/utils/address/isAddress.ts +10 -0
  341. package/src/utils/address/isAddressEqual.test.ts +55 -0
  342. package/src/utils/address/isAddressEqual.ts +6 -0
  343. package/src/utils/buildRequest.test.ts +365 -0
  344. package/src/utils/buildRequest.ts +45 -0
  345. package/src/utils/contract/extractFunctionParts.test.ts +109 -0
  346. package/src/utils/contract/extractFunctionParts.ts +27 -0
  347. package/src/utils/contract/getContractError.test.ts +97 -0
  348. package/src/utils/contract/getContractError.ts +70 -0
  349. package/src/utils/contract/index.test.ts +15 -0
  350. package/src/utils/contract/index.ts +8 -0
  351. package/src/utils/data/concat.test.ts +35 -0
  352. package/src/utils/data/concat.ts +34 -0
  353. package/src/utils/data/index.test.ts +23 -0
  354. package/src/utils/data/index.ts +13 -0
  355. package/src/utils/data/isBytes.test.ts +9 -0
  356. package/src/utils/data/isBytes.ts +7 -0
  357. package/src/utils/data/isHex.test.ts +13 -0
  358. package/src/utils/data/isHex.ts +5 -0
  359. package/src/utils/data/pad.bench.ts +39 -0
  360. package/src/utils/data/pad.test.ts +367 -0
  361. package/src/utils/data/pad.ts +53 -0
  362. package/src/utils/data/size.test.ts +18 -0
  363. package/src/utils/data/size.ts +13 -0
  364. package/src/utils/data/slice.test.ts +203 -0
  365. package/src/utils/data/slice.ts +60 -0
  366. package/src/utils/data/trim.bench.ts +50 -0
  367. package/src/utils/data/trim.test.ts +175 -0
  368. package/src/utils/data/trim.ts +33 -0
  369. package/src/utils/encoding/decodeBytes.bench.ts +40 -0
  370. package/src/utils/encoding/decodeBytes.test.ts +144 -0
  371. package/src/utils/encoding/decodeBytes.ts +63 -0
  372. package/src/utils/encoding/decodeHex.bench.ts +24 -0
  373. package/src/utils/encoding/decodeHex.test.ts +167 -0
  374. package/src/utils/encoding/decodeHex.ts +76 -0
  375. package/src/utils/encoding/decodeRlp.bench.ts +34 -0
  376. package/src/utils/encoding/decodeRlp.test.ts +350 -0
  377. package/src/utils/encoding/decodeRlp.ts +121 -0
  378. package/src/utils/encoding/encodeBytes.bench.ts +41 -0
  379. package/src/utils/encoding/encodeBytes.test.ts +676 -0
  380. package/src/utils/encoding/encodeBytes.ts +59 -0
  381. package/src/utils/encoding/encodeHex.bench.ts +60 -0
  382. package/src/utils/encoding/encodeHex.test.ts +232 -0
  383. package/src/utils/encoding/encodeHex.ts +104 -0
  384. package/src/utils/encoding/encodeRlp.bench.ts +54 -0
  385. package/src/utils/encoding/encodeRlp.test.ts +254 -0
  386. package/src/utils/encoding/encodeRlp.ts +48 -0
  387. package/src/utils/encoding/index.test.ts +32 -0
  388. package/src/utils/encoding/index.ts +36 -0
  389. package/src/utils/formatters/block.bench.ts +51 -0
  390. package/src/utils/formatters/block.test.ts +115 -0
  391. package/src/utils/formatters/block.ts +36 -0
  392. package/src/utils/formatters/extract.test.ts +14 -0
  393. package/src/utils/formatters/extract.ts +18 -0
  394. package/src/utils/formatters/feeHistory.test.ts +66 -0
  395. package/src/utils/formatters/feeHistory.ts +12 -0
  396. package/src/utils/formatters/format.test.ts +93 -0
  397. package/src/utils/formatters/format.ts +53 -0
  398. package/src/utils/formatters/index.test.ts +17 -0
  399. package/src/utils/formatters/index.ts +24 -0
  400. package/src/utils/formatters/log.test.ts +79 -0
  401. package/src/utils/formatters/log.ts +12 -0
  402. package/src/utils/formatters/transaction.test.ts +271 -0
  403. package/src/utils/formatters/transaction.ts +51 -0
  404. package/src/utils/formatters/transactionReceipt.bench.ts +73 -0
  405. package/src/utils/formatters/transactionReceipt.test.ts +151 -0
  406. package/src/utils/formatters/transactionReceipt.ts +54 -0
  407. package/src/utils/formatters/transactionRequest.bench.ts +29 -0
  408. package/src/utils/formatters/transactionRequest.test.ts +237 -0
  409. package/src/utils/formatters/transactionRequest.ts +47 -0
  410. package/src/utils/hash/getEventSignature.test.ts +61 -0
  411. package/src/utils/hash/getEventSignature.ts +4 -0
  412. package/src/utils/hash/getFunctionSignature.test.ts +22 -0
  413. package/src/utils/hash/getFunctionSignature.ts +5 -0
  414. package/src/utils/hash/hashFunction.test.ts +65 -0
  415. package/src/utils/hash/hashFunction.ts +12 -0
  416. package/src/utils/hash/index.test.ts +13 -0
  417. package/src/utils/hash/index.ts +5 -0
  418. package/src/utils/hash/keccak256.test.ts +59 -0
  419. package/src/utils/hash/keccak256.ts +23 -0
  420. package/src/utils/index.test.ts +87 -0
  421. package/src/utils/index.ts +126 -0
  422. package/src/utils/observe.test.ts +176 -0
  423. package/src/utils/observe.ts +66 -0
  424. package/src/utils/poll.test.ts +127 -0
  425. package/src/utils/poll.ts +42 -0
  426. package/src/utils/promise/index.test.ts +14 -0
  427. package/src/utils/promise/index.ts +3 -0
  428. package/src/utils/promise/withCache.test.ts +97 -0
  429. package/src/utils/promise/withCache.ts +73 -0
  430. package/src/utils/promise/withRetry.test.ts +231 -0
  431. package/src/utils/promise/withRetry.ts +61 -0
  432. package/src/utils/promise/withTimeout.test.ts +37 -0
  433. package/src/utils/promise/withTimeout.ts +39 -0
  434. package/src/utils/rpc.test.ts +992 -0
  435. package/src/utils/rpc.ts +292 -0
  436. package/src/utils/stringify.test.ts +13 -0
  437. package/src/utils/stringify.ts +5 -0
  438. package/src/utils/uid.ts +14 -0
  439. package/src/utils/unit/formatEther.test.ts +75 -0
  440. package/src/utils/unit/formatEther.ts +6 -0
  441. package/src/utils/unit/formatGwei.test.ts +32 -0
  442. package/src/utils/unit/formatGwei.ts +6 -0
  443. package/src/utils/unit/formatUnit.bench.ts +26 -0
  444. package/src/utils/unit/formatUnit.test.ts +40 -0
  445. package/src/utils/unit/formatUnit.ts +16 -0
  446. package/src/utils/unit/index.test.ts +16 -0
  447. package/src/utils/unit/index.ts +6 -0
  448. package/src/utils/unit/parseEther.test.ts +126 -0
  449. package/src/utils/unit/parseEther.ts +6 -0
  450. package/src/utils/unit/parseGwei.test.ts +50 -0
  451. package/src/utils/unit/parseGwei.ts +6 -0
  452. package/src/utils/unit/parseUnit.bench.ts +26 -0
  453. package/src/utils/unit/parseUnit.test.ts +54 -0
  454. package/src/utils/unit/parseUnit.ts +27 -0
  455. package/src/utils/wait.ts +3 -0
  456. package/src/wallet.ts +23 -0
  457. package/src/window.ts +1 -0
package/dist/chains.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { R as RpcBlock, d as Block, q as RpcTransaction, D as Transaction, r as RpcTransactionReceipt, T as TransactionReceipt, v as TransactionRequest, s as RpcTransactionRequest, N as TransactionType, H as Hex } from './rpc-b77c5aee.js';
1
+ import { R as RpcBlock, f as Block, q as RpcTransaction, D as Transaction, r as RpcTransactionReceipt, T as TransactionReceipt, v as TransactionRequest, s as RpcTransactionRequest, N as TransactionType, b as Hex } from './rpc-858670f1.js';
2
2
  import { Chain as Chain$1 } from '@wagmi/chains';
3
3
 
4
4
  type Formatter<TSource = any, TTarget = any> = (value: TSource & {
package/dist/chains.js CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkQMLDI5JUjs = require('./chunk-QMLDI5JU.js');
6
+ var _chunkXEGTPY6Mjs = require('./chunk-XEGTPY6M.js');
7
7
 
8
8
  // src/chains.ts
9
9
 
@@ -48,13 +48,13 @@ function defineFormatter({
48
48
  };
49
49
  };
50
50
  }
51
- var defineBlock = defineFormatter({ format: _chunkQMLDI5JUjs.formatBlock });
52
- var defineTransaction = defineFormatter({ format: _chunkQMLDI5JUjs.formatTransaction });
51
+ var defineBlock = defineFormatter({ format: _chunkXEGTPY6Mjs.formatBlock });
52
+ var defineTransaction = defineFormatter({ format: _chunkXEGTPY6Mjs.formatTransaction });
53
53
  var defineTransactionRequest = defineFormatter({
54
- format: _chunkQMLDI5JUjs.formatTransactionRequest
54
+ format: _chunkXEGTPY6Mjs.formatTransactionRequest
55
55
  });
56
56
  var defineTransactionReceipt = defineFormatter({
57
- format: _chunkQMLDI5JUjs.formatTransactionReceipt
57
+ format: _chunkXEGTPY6Mjs.formatTransactionReceipt
58
58
  });
59
59
  var arbitrumGoerli = defineChain(_chains.arbitrumGoerli);
60
60
  var arbitrum = defineChain(_chains.arbitrum);
@@ -132,3 +132,4 @@ var sepolia = defineChain(_chains.sepolia);
132
132
 
133
133
 
134
134
  exports.arbitrum = arbitrum; exports.arbitrumGoerli = arbitrumGoerli; exports.avalanche = avalanche; exports.avalancheFuji = avalancheFuji; exports.bsc = bsc; exports.bscTestnet = bscTestnet; exports.celo = celo; exports.defineBlock = defineBlock; exports.defineChain = defineChain; exports.defineTransaction = defineTransaction; exports.defineTransactionReceipt = defineTransactionReceipt; exports.defineTransactionRequest = defineTransactionRequest; exports.fantom = fantom; exports.fantomTestnet = fantomTestnet; exports.foundry = foundry; exports.goerli = goerli; exports.hardhat = hardhat; exports.localhost = localhost; exports.mainnet = mainnet; exports.optimism = optimism; exports.optimismGoerli = optimismGoerli; exports.polygon = polygon; exports.polygonMumbai = polygonMumbai; exports.sepolia = sepolia;
135
+ //# sourceMappingURL=chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chains.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: Remove chain formatter implementation once @wagmi/chains supports it.\n\nimport type { Chain as Chain_ } from '@wagmi/chains'\nimport {\n arbitrumGoerli as arbitrumGoerli_,\n arbitrum as arbitrum_,\n avalancheFuji as avalancheFuji_,\n avalanche as avalanche_,\n bscTestnet as bscTestnet_,\n bsc as bsc_,\n fantomTestnet as fantomTestnet_,\n fantom as fantom_,\n foundry as foundry_,\n goerli as goerli_,\n hardhat as hardhat_,\n localhost as localhost_,\n mainnet as mainnet_,\n optimismGoerli as optimismGoerli_,\n optimism as optimism_,\n polygonMumbai as polygonMumbai_,\n polygon as polygon_,\n sepolia as sepolia_,\n} from '@wagmi/chains'\n\nimport type {\n Address,\n Block,\n Hex,\n Quantity,\n RpcBlock,\n RpcTransaction,\n RpcTransactionReceipt,\n RpcTransactionRequest,\n Transaction,\n TransactionReceipt,\n TransactionRequest,\n} from './types'\nimport {\n formatBlock,\n formatTransaction,\n formatTransactionRequest,\n} from './utils'\nimport { formatTransactionReceipt } from './utils/formatters/transactionReceipt'\n\nexport type Formatter<TSource = any, TTarget = any> = (\n value: TSource & { [key: string]: unknown },\n) => TTarget\n\nexport type Formatters = {\n block?: Formatter<RpcBlock, Block>\n transaction?: Formatter<RpcTransaction, Transaction>\n transactionReceipt?: Formatter<RpcTransactionReceipt, TransactionReceipt>\n transactionRequest?: Formatter<TransactionRequest, RpcTransactionRequest>\n}\n\nexport type Chain<TFormatters extends Formatters = Formatters> = Chain_ & {\n formatters?: TFormatters\n}\n\nexport function defineChain<\n TFormatters extends Formatters = Formatters,\n TChain extends Chain<TFormatters> = Chain<TFormatters>,\n>(chain: TChain) {\n return chain\n}\n\nfunction defineFormatter<TSource extends Record<string, unknown>, TFormatted>({\n format,\n}: {\n format: (data: TSource) => TFormatted\n}) {\n return <\n TFormat extends Formatter<\n TSource,\n Partial<TFormatted> & { [key: string]: unknown }\n >,\n TExclude extends (keyof TSource)[] = [],\n >({\n exclude,\n format: formatOverride,\n }: {\n exclude?: TExclude\n format?: TFormat\n }) =>\n (data: TSource & { [key: string]: unknown }) => {\n const formatted = format(data)\n if (exclude) {\n for (const key of exclude) {\n delete (formatted as any)[key]\n }\n }\n return {\n ...formatted,\n ...formatOverride?.(data),\n } as TFormatted &\n ReturnType<TFormat> & {\n [K in TExclude[number]]: never\n }\n }\n}\n\nexport const defineBlock = defineFormatter({ format: formatBlock })\nexport const defineTransaction = defineFormatter({ format: formatTransaction })\nexport const defineTransactionRequest = defineFormatter({\n format: formatTransactionRequest,\n})\nexport const defineTransactionReceipt = defineFormatter({\n format: formatTransactionReceipt,\n})\n\nexport const arbitrumGoerli = defineChain(arbitrumGoerli_)\nexport const arbitrum = defineChain(arbitrum_)\nexport const avalancheFuji = defineChain(avalancheFuji_)\nexport const avalanche = defineChain(avalanche_)\nexport const bscTestnet = defineChain(bscTestnet_)\nexport const bsc = defineChain(bsc_)\nexport const celo = defineChain({\n id: 42220,\n name: 'Celo',\n network: 'celo',\n nativeCurrency: { name: 'Celo', symbol: 'CELO', decimals: 18 },\n rpcUrls: {\n public: { http: ['https://rpc.ankr.com/celo'] },\n default: { http: ['https://rpc.ankr.com/celo'] },\n },\n formatters: {\n block: defineBlock({\n exclude: ['difficulty', 'gasLimit', 'mixHash', 'nonce', 'uncles'],\n format: (block) => ({\n randomness: block.randomness as {\n committed: Hex\n revealed: Hex\n },\n }),\n }),\n transaction: defineTransaction({\n format: (transaction) => ({\n feeCurrency: transaction.feeCurrency as Address | null,\n gatewayFee: transaction.gatewayFee\n ? BigInt(transaction.gatewayFee as Quantity)\n : null,\n gatewayFeeRecipient: transaction.gatewayFeeRecipient as Address | null,\n }),\n }),\n transactionRequest: defineTransactionRequest({\n format: (transactionRequest) => ({\n feeCurrency: transactionRequest.feeCurrency as Address | undefined,\n gatewayFee: transactionRequest.gatewayFee as Quantity | undefined,\n gatewayFeeRecipient: transactionRequest.gatewayFeeRecipient as\n | Address\n | undefined,\n }),\n }),\n },\n})\nexport const fantomTestnet = defineChain(fantomTestnet_)\nexport const fantom = defineChain(fantom_)\nexport const foundry = defineChain(foundry_)\nexport const goerli = defineChain(goerli_)\nexport const hardhat = defineChain(hardhat_)\nexport const localhost = defineChain(localhost_)\nexport const mainnet = defineChain(mainnet_)\nexport const optimismGoerli = defineChain(optimismGoerli_)\nexport const optimism = defineChain(optimism_)\nexport const polygonMumbai = defineChain(polygonMumbai_)\nexport const polygon = defineChain(polygon_)\nexport const sepolia = defineChain(sepolia_)\n"]}
package/dist/chains.mjs CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  formatTransaction,
4
4
  formatTransactionReceipt,
5
5
  formatTransactionRequest
6
- } from "./chunk-2HENAFQN.mjs";
6
+ } from "./chunk-KQI5IRRL.mjs";
7
7
 
8
8
  // src/chains.ts
9
9
  import {
@@ -132,3 +132,4 @@ export {
132
132
  polygonMumbai,
133
133
  sepolia
134
134
  };
135
+ //# sourceMappingURL=chains.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chains.ts"],"sourcesContent":["// TODO: Remove chain formatter implementation once @wagmi/chains supports it.\n\nimport type { Chain as Chain_ } from '@wagmi/chains'\nimport {\n arbitrumGoerli as arbitrumGoerli_,\n arbitrum as arbitrum_,\n avalancheFuji as avalancheFuji_,\n avalanche as avalanche_,\n bscTestnet as bscTestnet_,\n bsc as bsc_,\n fantomTestnet as fantomTestnet_,\n fantom as fantom_,\n foundry as foundry_,\n goerli as goerli_,\n hardhat as hardhat_,\n localhost as localhost_,\n mainnet as mainnet_,\n optimismGoerli as optimismGoerli_,\n optimism as optimism_,\n polygonMumbai as polygonMumbai_,\n polygon as polygon_,\n sepolia as sepolia_,\n} from '@wagmi/chains'\n\nimport type {\n Address,\n Block,\n Hex,\n Quantity,\n RpcBlock,\n RpcTransaction,\n RpcTransactionReceipt,\n RpcTransactionRequest,\n Transaction,\n TransactionReceipt,\n TransactionRequest,\n} from './types'\nimport {\n formatBlock,\n formatTransaction,\n formatTransactionRequest,\n} from './utils'\nimport { formatTransactionReceipt } from './utils/formatters/transactionReceipt'\n\nexport type Formatter<TSource = any, TTarget = any> = (\n value: TSource & { [key: string]: unknown },\n) => TTarget\n\nexport type Formatters = {\n block?: Formatter<RpcBlock, Block>\n transaction?: Formatter<RpcTransaction, Transaction>\n transactionReceipt?: Formatter<RpcTransactionReceipt, TransactionReceipt>\n transactionRequest?: Formatter<TransactionRequest, RpcTransactionRequest>\n}\n\nexport type Chain<TFormatters extends Formatters = Formatters> = Chain_ & {\n formatters?: TFormatters\n}\n\nexport function defineChain<\n TFormatters extends Formatters = Formatters,\n TChain extends Chain<TFormatters> = Chain<TFormatters>,\n>(chain: TChain) {\n return chain\n}\n\nfunction defineFormatter<TSource extends Record<string, unknown>, TFormatted>({\n format,\n}: {\n format: (data: TSource) => TFormatted\n}) {\n return <\n TFormat extends Formatter<\n TSource,\n Partial<TFormatted> & { [key: string]: unknown }\n >,\n TExclude extends (keyof TSource)[] = [],\n >({\n exclude,\n format: formatOverride,\n }: {\n exclude?: TExclude\n format?: TFormat\n }) =>\n (data: TSource & { [key: string]: unknown }) => {\n const formatted = format(data)\n if (exclude) {\n for (const key of exclude) {\n delete (formatted as any)[key]\n }\n }\n return {\n ...formatted,\n ...formatOverride?.(data),\n } as TFormatted &\n ReturnType<TFormat> & {\n [K in TExclude[number]]: never\n }\n }\n}\n\nexport const defineBlock = defineFormatter({ format: formatBlock })\nexport const defineTransaction = defineFormatter({ format: formatTransaction })\nexport const defineTransactionRequest = defineFormatter({\n format: formatTransactionRequest,\n})\nexport const defineTransactionReceipt = defineFormatter({\n format: formatTransactionReceipt,\n})\n\nexport const arbitrumGoerli = defineChain(arbitrumGoerli_)\nexport const arbitrum = defineChain(arbitrum_)\nexport const avalancheFuji = defineChain(avalancheFuji_)\nexport const avalanche = defineChain(avalanche_)\nexport const bscTestnet = defineChain(bscTestnet_)\nexport const bsc = defineChain(bsc_)\nexport const celo = defineChain({\n id: 42220,\n name: 'Celo',\n network: 'celo',\n nativeCurrency: { name: 'Celo', symbol: 'CELO', decimals: 18 },\n rpcUrls: {\n public: { http: ['https://rpc.ankr.com/celo'] },\n default: { http: ['https://rpc.ankr.com/celo'] },\n },\n formatters: {\n block: defineBlock({\n exclude: ['difficulty', 'gasLimit', 'mixHash', 'nonce', 'uncles'],\n format: (block) => ({\n randomness: block.randomness as {\n committed: Hex\n revealed: Hex\n },\n }),\n }),\n transaction: defineTransaction({\n format: (transaction) => ({\n feeCurrency: transaction.feeCurrency as Address | null,\n gatewayFee: transaction.gatewayFee\n ? BigInt(transaction.gatewayFee as Quantity)\n : null,\n gatewayFeeRecipient: transaction.gatewayFeeRecipient as Address | null,\n }),\n }),\n transactionRequest: defineTransactionRequest({\n format: (transactionRequest) => ({\n feeCurrency: transactionRequest.feeCurrency as Address | undefined,\n gatewayFee: transactionRequest.gatewayFee as Quantity | undefined,\n gatewayFeeRecipient: transactionRequest.gatewayFeeRecipient as\n | Address\n | undefined,\n }),\n }),\n },\n})\nexport const fantomTestnet = defineChain(fantomTestnet_)\nexport const fantom = defineChain(fantom_)\nexport const foundry = defineChain(foundry_)\nexport const goerli = defineChain(goerli_)\nexport const hardhat = defineChain(hardhat_)\nexport const localhost = defineChain(localhost_)\nexport const mainnet = defineChain(mainnet_)\nexport const optimismGoerli = defineChain(optimismGoerli_)\nexport const optimism = defineChain(optimism_)\nexport const polygonMumbai = defineChain(polygonMumbai_)\nexport const polygon = defineChain(polygon_)\nexport const sepolia = defineChain(sepolia_)\n"],"mappings":"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","names":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkQMLDI5JUjs = require('./chunk-QMLDI5JU.js');
5
+ var _chunkXEGTPY6Mjs = require('./chunk-XEGTPY6M.js');
6
6
 
7
7
  // src/actions/test/dropTransaction.ts
8
8
  async function dropTransaction(client, { hash }) {
@@ -32,8 +32,8 @@ async function getTxpoolStatus(client) {
32
32
  method: "txpool_status"
33
33
  });
34
34
  return {
35
- pending: _chunkQMLDI5JUjs.hexToNumber.call(void 0, pending),
36
- queued: _chunkQMLDI5JUjs.hexToNumber.call(void 0, queued)
35
+ pending: _chunkXEGTPY6Mjs.hexToNumber.call(void 0, pending),
36
+ queued: _chunkXEGTPY6Mjs.hexToNumber.call(void 0, queued)
37
37
  };
38
38
  }
39
39
 
@@ -49,7 +49,7 @@ async function impersonateAccount(client, { address }) {
49
49
  async function increaseTime(client, { seconds }) {
50
50
  return await client.request({
51
51
  method: "evm_increaseTime",
52
- params: [_chunkQMLDI5JUjs.numberToHex.call(void 0, seconds)]
52
+ params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, seconds)]
53
53
  });
54
54
  }
55
55
 
@@ -64,7 +64,7 @@ async function inspectTxpool(client) {
64
64
  async function mine(client, { blocks, interval }) {
65
65
  return await client.request({
66
66
  method: `${client.mode}_mine`,
67
- params: [_chunkQMLDI5JUjs.numberToHex.call(void 0, blocks), _chunkQMLDI5JUjs.numberToHex.call(void 0, interval || 0)]
67
+ params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, blocks), _chunkXEGTPY6Mjs.numberToHex.call(void 0, interval || 0)]
68
68
  });
69
69
  }
70
70
 
@@ -93,7 +93,7 @@ async function revert(client, { id }) {
93
93
 
94
94
  // src/actions/test/sendUnsignedTransaction.ts
95
95
  async function sendUnsignedTransaction(client, request) {
96
- const request_ = _chunkQMLDI5JUjs.formatTransactionRequest.call(void 0, request);
96
+ const request_ = _chunkXEGTPY6Mjs.formatTransactionRequest.call(void 0, request);
97
97
  const hash = await client.request({
98
98
  method: "eth_sendUnsignedTransaction",
99
99
  params: [request_]
@@ -113,7 +113,7 @@ async function setAutomine(client, enabled) {
113
113
  async function setBalance(client, { address, value }) {
114
114
  return await client.request({
115
115
  method: `${client.mode}_setBalance`,
116
- params: [address, _chunkQMLDI5JUjs.numberToHex.call(void 0, value)]
116
+ params: [address, _chunkXEGTPY6Mjs.numberToHex.call(void 0, value)]
117
117
  });
118
118
  }
119
119
 
@@ -121,7 +121,7 @@ async function setBalance(client, { address, value }) {
121
121
  async function setBlockGasLimit(client, { gasLimit }) {
122
122
  return await client.request({
123
123
  method: "evm_setBlockGasLimit",
124
- params: [_chunkQMLDI5JUjs.numberToHex.call(void 0, gasLimit)]
124
+ params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, gasLimit)]
125
125
  });
126
126
  }
127
127
 
@@ -169,7 +169,7 @@ async function setLoggingEnabled(client, enabled) {
169
169
  async function setMinGasPrice(client, { gasPrice }) {
170
170
  return await client.request({
171
171
  method: `${client.mode}_setMinGasPrice`,
172
- params: [_chunkQMLDI5JUjs.numberToHex.call(void 0, gasPrice)]
172
+ params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, gasPrice)]
173
173
  });
174
174
  }
175
175
 
@@ -177,7 +177,7 @@ async function setMinGasPrice(client, { gasPrice }) {
177
177
  async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {
178
178
  return await client.request({
179
179
  method: `${client.mode}_setNextBlockBaseFeePerGas`,
180
- params: [_chunkQMLDI5JUjs.numberToHex.call(void 0, baseFeePerGas)]
180
+ params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, baseFeePerGas)]
181
181
  });
182
182
  }
183
183
 
@@ -185,7 +185,7 @@ async function setNextBlockBaseFeePerGas(client, { baseFeePerGas }) {
185
185
  async function setNextBlockTimestamp(client, { timestamp }) {
186
186
  return await client.request({
187
187
  method: "evm_setNextBlockTimestamp",
188
- params: [_chunkQMLDI5JUjs.numberToHex.call(void 0, timestamp)]
188
+ params: [_chunkXEGTPY6Mjs.numberToHex.call(void 0, timestamp)]
189
189
  });
190
190
  }
191
191
 
@@ -193,7 +193,7 @@ async function setNextBlockTimestamp(client, { timestamp }) {
193
193
  async function setNonce(client, { address, nonce }) {
194
194
  return await client.request({
195
195
  method: `${client.mode}_setNonce`,
196
- params: [address, _chunkQMLDI5JUjs.numberToHex.call(void 0, nonce)]
196
+ params: [address, _chunkXEGTPY6Mjs.numberToHex.call(void 0, nonce)]
197
197
  });
198
198
  }
199
199
 
@@ -203,7 +203,7 @@ async function setStorageAt(client, { address, index, value }) {
203
203
  method: `${client.mode}_setStorageAt`,
204
204
  params: [
205
205
  address,
206
- typeof index === "number" ? _chunkQMLDI5JUjs.numberToHex.call(void 0, index) : index,
206
+ typeof index === "number" ? _chunkXEGTPY6Mjs.numberToHex.call(void 0, index) : index,
207
207
  value
208
208
  ]
209
209
  });
@@ -253,3 +253,4 @@ async function stopImpersonatingAccount(client, { address }) {
253
253
 
254
254
 
255
255
  exports.dropTransaction = dropTransaction; exports.getAutomine = getAutomine; exports.getTxpoolContent = getTxpoolContent; exports.getTxpoolStatus = getTxpoolStatus; exports.impersonateAccount = impersonateAccount; exports.increaseTime = increaseTime; exports.inspectTxpool = inspectTxpool; exports.mine = mine; exports.removeBlockTimestampInterval = removeBlockTimestampInterval; exports.reset = reset; exports.revert = revert; exports.sendUnsignedTransaction = sendUnsignedTransaction; exports.setAutomine = setAutomine; exports.setBalance = setBalance; exports.setBlockGasLimit = setBlockGasLimit; exports.setBlockTimestampInterval = setBlockTimestampInterval; exports.setCode = setCode; exports.setCoinbase = setCoinbase; exports.setIntervalMining = setIntervalMining; exports.setLoggingEnabled = setLoggingEnabled; exports.setMinGasPrice = setMinGasPrice; exports.setNextBlockBaseFeePerGas = setNextBlockBaseFeePerGas; exports.setNextBlockTimestamp = setNextBlockTimestamp; exports.setNonce = setNonce; exports.setStorageAt = setStorageAt; exports.snapshot = snapshot; exports.stopImpersonatingAccount = stopImpersonatingAccount;
256
+ //# sourceMappingURL=chunk-BL2ZZ7UN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/actions/test/dropTransaction.ts","../src/actions/test/getAutomine.ts","../src/actions/test/getTxpoolContent.ts","../src/actions/test/getTxpoolStatus.ts","../src/actions/test/impersonateAccount.ts","../src/actions/test/increaseTime.ts","../src/actions/test/inspectTxpool.ts","../src/actions/test/mine.ts","../src/actions/test/removeBlockTimestampInterval.ts","../src/actions/test/reset.ts","../src/actions/test/revert.ts","../src/actions/test/sendUnsignedTransaction.ts","../src/actions/test/setAutomine.ts","../src/actions/test/setBalance.ts","../src/actions/test/setBlockGasLimit.ts","../src/actions/test/setBlockTimestampInterval.ts","../src/actions/test/setCode.ts","../src/actions/test/setCoinbase.ts","../src/actions/test/setIntervalMining.ts","../src/actions/test/setLoggingEnabled.ts","../src/actions/test/setMinGasPrice.ts","../src/actions/test/setNextBlockBaseFeePerGas.ts","../src/actions/test/setNextBlockTimestamp.ts","../src/actions/test/setNonce.ts","../src/actions/test/setStorageAt.ts","../src/actions/test/snapshot.ts","../src/actions/test/stopImpersonatingAccount.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TestClient } from '../../clients'\nimport type { Hash } from '../../types'\n\nexport type DropTransactionArgs = {\n /** The hash of the transaction to drop. */\n hash: Hash\n}\n\nexport async function dropTransaction(\n client: TestClient,\n { hash }: DropTransactionArgs,\n) {\n return await client.request({\n method: `${client.mode}_dropTransaction`,\n params: [hash],\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport type GetAutomineResponse = boolean\n\nexport async function getAutomine(\n client: TestClient,\n): Promise<GetAutomineResponse> {\n return await client.request({\n method: `${client.mode}_getAutomine`,\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport async function getTxpoolContent(client: TestClient) {\n return await client.request({\n method: 'txpool_content',\n })\n}\n","import type { TestClient } from '../../clients'\nimport { hexToNumber } from '../../utils'\n\nexport async function getTxpoolStatus(client: TestClient) {\n const { pending, queued } = await client.request({\n method: 'txpool_status',\n })\n return {\n pending: hexToNumber(pending),\n queued: hexToNumber(queued),\n }\n}\n","import type { TestClient } from '../../clients'\nimport type { Address } from '../../types'\n\nexport type ImpersonateAccountArgs = {\n /** The account to impersonate. */\n address: Address\n}\n\nexport async function impersonateAccount(\n client: TestClient,\n { address }: ImpersonateAccountArgs,\n) {\n return await client.request({\n method: `${client.mode}_impersonateAccount`,\n params: [address],\n })\n}\n","import type { TestClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type IncreaseTimeArgs = {\n /** The amount of seconds to jump forward in time. */\n seconds: number\n}\n\nexport async function increaseTime(\n client: TestClient,\n { seconds }: IncreaseTimeArgs,\n) {\n return await client.request({\n method: 'evm_increaseTime',\n params: [numberToHex(seconds)],\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport async function inspectTxpool(client: TestClient) {\n return await client.request({\n method: 'txpool_inspect',\n })\n}\n","import type { TestClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type MineArgs = {\n /** Number of blocks to mine. */\n blocks: number\n /** Interval between each block in seconds. */\n interval?: number\n}\n\nexport async function mine(client: TestClient, { blocks, interval }: MineArgs) {\n return await client.request({\n method: `${client.mode}_mine`,\n params: [numberToHex(blocks), numberToHex(interval || 0)],\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport async function removeBlockTimestampInterval(client: TestClient) {\n return await client.request({\n method: `${client.mode}_removeBlockTimestampInterval`,\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport type ResetArgs = {\n /** The block number to reset from. */\n blockNumber?: bigint\n /** The JSON RPC URL. */\n jsonRpcUrl?: string\n}\n\nexport async function reset(\n client: TestClient,\n { blockNumber, jsonRpcUrl }: ResetArgs = {},\n) {\n return await client.request({\n method: `${client.mode}_reset`,\n params: [{ forking: { blockNumber: Number(blockNumber), jsonRpcUrl } }],\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Quantity } from '../../types'\n\nexport type RevertArgs = {\n /** The snapshot ID to revert to. */\n id: Quantity\n}\n\nexport async function revert(client: TestClient, { id }: RevertArgs) {\n return await client.request({\n method: 'evm_revert',\n params: [id],\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Hash, TransactionRequest } from '../../types'\nimport { formatTransactionRequest } from '../../utils'\n\nexport type SendUnsignedTransactionArgs = TransactionRequest\n\nexport type SendUnsignedTransactionResponse = Hash\n\nexport async function sendUnsignedTransaction(\n client: TestClient,\n request: SendUnsignedTransactionArgs,\n): Promise<SendUnsignedTransactionResponse> {\n const request_ = formatTransactionRequest(request)\n const hash = await client.request({\n method: 'eth_sendUnsignedTransaction',\n params: [request_],\n })\n return hash\n}\n","import type { TestClient } from '../../clients'\n\nexport async function setAutomine(client: TestClient, enabled: boolean) {\n return await client.request({\n method: 'evm_setAutomine',\n params: [enabled],\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Address } from '../../types'\nimport { numberToHex } from '../../utils'\n\nexport type SetBalanceArgs = {\n /** The account address. */\n address: Address\n /** Amount (in wei) to set */\n value: bigint\n}\n\nexport async function setBalance(\n client: TestClient,\n { address, value }: SetBalanceArgs,\n) {\n return await client.request({\n method: `${client.mode}_setBalance`,\n params: [address, numberToHex(value)],\n })\n}\n","import type { TestClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type SetBlockGasLimitArgs = {\n /** Gas limit (in wei). */\n gasLimit: bigint\n}\n\nexport async function setBlockGasLimit(\n client: TestClient,\n { gasLimit }: SetBlockGasLimitArgs,\n) {\n return await client.request({\n method: 'evm_setBlockGasLimit',\n params: [numberToHex(gasLimit)],\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport type SetBlockTimestampIntervalArgs = {\n /** The interval (in seconds). */\n interval: number\n}\n\nexport async function setBlockTimestampInterval(\n client: TestClient,\n { interval }: SetBlockTimestampIntervalArgs,\n) {\n return await client.request({\n method: `${client.mode}_setBlockTimestampInterval`,\n params: [interval],\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Address, Hex } from '../../types'\n\nexport type SetCodeArgs = {\n /** The account address. */\n address: Address\n /** The bytecode to set */\n bytecode: Hex\n}\n\nexport async function setCode(\n client: TestClient,\n { address, bytecode }: SetCodeArgs,\n) {\n return await client.request({\n method: `${client.mode}_setCode`,\n params: [address, bytecode],\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Address } from '../../types'\n\nexport type SetCoinbaseArgs = {\n /** The coinbase address. */\n address: Address\n}\n\nexport async function setCoinbase(\n client: TestClient,\n { address }: SetCoinbaseArgs,\n) {\n return await client.request({\n method: `${client.mode}_setCoinbase`,\n params: [address],\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport type SetIntervalMiningArgs = {\n /** The mining interval. */\n interval: number\n}\n\nexport async function setIntervalMining(\n client: TestClient,\n { interval }: SetIntervalMiningArgs,\n) {\n return await client.request({\n method: 'evm_setIntervalMining',\n params: [interval],\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport async function setLoggingEnabled(client: TestClient, enabled: boolean) {\n return await client.request({\n method: `${client.mode}_setLoggingEnabled`,\n params: [enabled],\n })\n}\n","import type { TestClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type SetMinGasPriceArgs = {\n /** The gas price. */\n gasPrice: bigint\n}\n\nexport async function setMinGasPrice(\n client: TestClient,\n { gasPrice }: SetMinGasPriceArgs,\n) {\n return await client.request({\n method: `${client.mode}_setMinGasPrice`,\n params: [numberToHex(gasPrice)],\n })\n}\n","import type { TestClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type SetNextBlockBaseFeePerGasArgs = {\n /** Base fee per gas (in wei). */\n baseFeePerGas: bigint\n}\n\nexport async function setNextBlockBaseFeePerGas(\n client: TestClient,\n { baseFeePerGas }: SetNextBlockBaseFeePerGasArgs,\n) {\n return await client.request({\n method: `${client.mode}_setNextBlockBaseFeePerGas`,\n params: [numberToHex(baseFeePerGas)],\n })\n}\n","import type { TestClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type SetNextBlockTimestampArgs = {\n /** The timestamp (in seconds). */\n timestamp: bigint\n}\n\nexport async function setNextBlockTimestamp(\n client: TestClient,\n { timestamp }: SetNextBlockTimestampArgs,\n) {\n return await client.request({\n method: 'evm_setNextBlockTimestamp',\n params: [numberToHex(timestamp)],\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Address } from '../../types'\nimport { numberToHex } from '../../utils'\n\nexport type SetNonceArgs = {\n /** The account address. */\n address: Address\n /** The nonce to set. */\n nonce: number\n}\n\nexport async function setNonce(\n client: TestClient,\n { address, nonce }: SetNonceArgs,\n) {\n return await client.request({\n method: `${client.mode}_setNonce`,\n params: [address, numberToHex(nonce)],\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Address, Hash, Hex } from '../../types'\nimport { numberToHex } from '../../utils'\n\nexport type SetStorageAtArgs = {\n /** The account address. */\n address: Address\n /** The storage slot (index). Can either be a number or hash value. */\n index: number | Hash\n /** The value to store as a 32 byte hex string. */\n value: Hex\n}\n\nexport async function setStorageAt(\n client: TestClient,\n { address, index, value }: SetStorageAtArgs,\n) {\n return await client.request({\n method: `${client.mode}_setStorageAt`,\n params: [\n address,\n typeof index === 'number' ? numberToHex(index) : index,\n value,\n ],\n })\n}\n","import type { TestClient } from '../../clients'\n\nexport async function snapshot(client: TestClient) {\n return await client.request({\n method: 'evm_snapshot',\n })\n}\n","import type { TestClient } from '../../clients'\nimport type { Address } from '../../types'\n\nexport type StopImpersonatingAccountArgs = {\n /** The account to impersonate. */\n address: Address\n}\n\nexport async function stopImpersonatingAccount(\n client: TestClient,\n { address }: StopImpersonatingAccountArgs,\n) {\n return await client.request({\n method: `${client.mode}_stopImpersonatingAccount`,\n params: [address],\n })\n}\n"]}
@@ -8,7 +8,8 @@
8
8
 
9
9
 
10
10
 
11
- var _chunkQMLDI5JUjs = require('./chunk-QMLDI5JU.js');
11
+
12
+ var _chunkXEGTPY6Mjs = require('./chunk-XEGTPY6M.js');
12
13
 
13
14
  // src/actions/wallet/addChain.ts
14
15
  async function addChain(client, chain) {
@@ -17,7 +18,7 @@ async function addChain(client, chain) {
17
18
  method: "wallet_addEthereumChain",
18
19
  params: [
19
20
  {
20
- chainId: _chunkQMLDI5JUjs.numberToHex.call(void 0, id),
21
+ chainId: _chunkXEGTPY6Mjs.numberToHex.call(void 0, id),
21
22
  chainName: name,
22
23
  nativeCurrency,
23
24
  rpcUrls: rpcUrls.default.http,
@@ -30,7 +31,7 @@ async function addChain(client, chain) {
30
31
  // src/actions/wallet/getAccounts.ts
31
32
  async function getAccounts(client) {
32
33
  const addresses = await client.request({ method: "eth_accounts" });
33
- return addresses.map((address) => _chunkQMLDI5JUjs.checksumAddress.call(void 0, address));
34
+ return addresses.map((address) => _chunkXEGTPY6Mjs.checksumAddress.call(void 0, address));
34
35
  }
35
36
 
36
37
  // src/actions/wallet/getPermissions.ts
@@ -42,7 +43,7 @@ async function getPermissions(client) {
42
43
  // src/actions/wallet/requestAccounts.ts
43
44
  async function requestAccounts(client) {
44
45
  const addresses = await client.request({ method: "eth_requestAccounts" });
45
- return addresses.map((address) => _chunkQMLDI5JUjs.getAddress.call(void 0, address));
46
+ return addresses.map((address) => _chunkXEGTPY6Mjs.getAddress.call(void 0, address));
46
47
  }
47
48
 
48
49
  // src/actions/wallet/requestPermissions.ts
@@ -69,9 +70,9 @@ async function sendTransaction(client, {
69
70
  ...rest
70
71
  }) {
71
72
  if (maxFeePerGas !== void 0 && maxPriorityFeePerGas !== void 0 && maxFeePerGas < maxPriorityFeePerGas)
72
- throw new (0, _chunkQMLDI5JUjs.InvalidGasArgumentsError)();
73
+ throw new (0, _chunkXEGTPY6Mjs.InvalidGasArgumentsError)();
73
74
  const formatter = _optionalChain([chain, 'optionalAccess', _ => _.formatters, 'optionalAccess', _2 => _2.transactionRequest]);
74
- const request_ = _chunkQMLDI5JUjs.format.call(void 0,
75
+ const request_ = _chunkXEGTPY6Mjs.format.call(void 0,
75
76
  {
76
77
  from,
77
78
  accessList,
@@ -83,10 +84,10 @@ async function sendTransaction(client, {
83
84
  nonce,
84
85
  to,
85
86
  value,
86
- ..._chunkQMLDI5JUjs.extract.call(void 0, rest, { formatter })
87
+ ..._chunkXEGTPY6Mjs.extract.call(void 0, rest, { formatter })
87
88
  },
88
89
  {
89
- formatter: formatter || _chunkQMLDI5JUjs.formatTransactionRequest
90
+ formatter: formatter || _chunkXEGTPY6Mjs.formatTransactionRequest
90
91
  }
91
92
  );
92
93
  const hash = await client.request({
@@ -101,7 +102,7 @@ async function signMessage(client, { from, data: data_ }) {
101
102
  let data;
102
103
  if (typeof data_ === "string") {
103
104
  if (!data_.startsWith("0x"))
104
- throw new (0, _chunkQMLDI5JUjs.BaseError)(
105
+ throw new (0, _chunkXEGTPY6Mjs.BaseError)(
105
106
  `data ("${data_}") must be a hex value. Encode it first to a hex with the \`encodeHex\` util.`,
106
107
  {
107
108
  docsPath: "/TODO"
@@ -109,7 +110,7 @@ async function signMessage(client, { from, data: data_ }) {
109
110
  );
110
111
  data = data_;
111
112
  } else {
112
- data = _chunkQMLDI5JUjs.encodeHex.call(void 0, data_);
113
+ data = _chunkXEGTPY6Mjs.encodeHex.call(void 0, data_);
113
114
  }
114
115
  const signed = await client.request({
115
116
  method: "personal_sign",
@@ -124,7 +125,7 @@ async function switchChain(client, { id }) {
124
125
  method: "wallet_switchEthereumChain",
125
126
  params: [
126
127
  {
127
- chainId: _chunkQMLDI5JUjs.numberToHex.call(void 0, id)
128
+ chainId: _chunkXEGTPY6Mjs.numberToHex.call(void 0, id)
128
129
  }
129
130
  ]
130
131
  });
@@ -139,6 +140,28 @@ async function watchAsset(client, params) {
139
140
  return added;
140
141
  }
141
142
 
143
+ // src/actions/wallet/writeContract.ts
144
+ async function writeContract(client, {
145
+ abi,
146
+ address,
147
+ args,
148
+ functionName,
149
+ ...request
150
+ }) {
151
+ const data = _chunkXEGTPY6Mjs.encodeFunctionData.call(void 0, {
152
+ abi,
153
+ args,
154
+ functionName
155
+ });
156
+ const hash = await sendTransaction(client, {
157
+ data,
158
+ to: address,
159
+ ...request
160
+ });
161
+ return hash;
162
+ }
163
+
164
+
142
165
 
143
166
 
144
167
 
@@ -149,4 +172,5 @@ async function watchAsset(client, params) {
149
172
 
150
173
 
151
174
 
152
- exports.addChain = addChain; exports.getAccounts = getAccounts; exports.getPermissions = getPermissions; exports.requestAccounts = requestAccounts; exports.requestPermissions = requestPermissions; exports.sendTransaction = sendTransaction; exports.signMessage = signMessage; exports.switchChain = switchChain; exports.watchAsset = watchAsset;
175
+ exports.addChain = addChain; exports.getAccounts = getAccounts; exports.getPermissions = getPermissions; exports.requestAccounts = requestAccounts; exports.requestPermissions = requestPermissions; exports.sendTransaction = sendTransaction; exports.signMessage = signMessage; exports.switchChain = switchChain; exports.watchAsset = watchAsset; exports.writeContract = writeContract;
176
+ //# sourceMappingURL=chunk-EOY65E5E.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/actions/wallet/addChain.ts","../src/actions/wallet/getAccounts.ts","../src/actions/wallet/getPermissions.ts","../src/actions/wallet/requestAccounts.ts","../src/actions/wallet/requestPermissions.ts","../src/actions/wallet/sendTransaction.ts","../src/actions/wallet/signMessage.ts","../src/actions/wallet/switchChain.ts","../src/actions/wallet/watchAsset.ts","../src/actions/wallet/writeContract.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,eAAsB,SAAS,QAAsB,OAAc;AACjE,QAAM,EAAE,IAAI,MAAM,gBAAgB,SAAS,eAAe,IAAI;AAC9D,QAAM,OAAO,QAAQ;AAAA,IACnB,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN;AAAA,QACE,SAAS,YAAY,EAAE;AAAA,QACvB,WAAW;AAAA,QACX;AAAA,QACA,SAAS,QAAQ,QAAQ;AAAA,QACzB,mBAAmB,iBACf,OAAO,OAAO,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,MAAM,GAAG,IAClD;AAAA,MACN;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;ACjBA,eAAsB,YAAY,QAAsB;AACtD,QAAM,YAAY,MAAM,OAAO,QAAQ,EAAE,QAAQ,eAAe,CAAC;AACjE,SAAO,UAAU,IAAI,CAAC,YAAY,gBAAgB,OAAO,CAAC;AAC5D;;;ACDA,eAAsB,eAAe,QAAsB;AACzD,QAAM,cAAc,MAAM,OAAO,QAAQ,EAAE,QAAQ,wBAAwB,CAAC;AAC5E,SAAO;AACT;;;ACLA,eAAsB,gBAAgB,QAAsB;AAC1D,QAAM,YAAY,MAAM,OAAO,QAAQ,EAAE,QAAQ,sBAAsB,CAAC;AACxE,SAAO,UAAU,IAAI,CAAC,YAAY,WAAW,OAAO,CAAC;AACvD;;;ACIA,eAAsB,mBACpB,QACA,aACA;AACA,SAAO,OAAO,QAAQ;AAAA,IACpB,QAAQ;AAAA,IACR,QAAQ,CAAC,WAAW;AAAA,EACtB,CAAC;AACH;;;ACOA,eAAsB,gBACpB,QACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AACL,GACkC;AAClC,MACE,iBAAiB,UACjB,yBAAyB,UACzB,eAAe;AAEf,UAAM,IAAI,yBAAyB;AAErC,QAAM,YAAY,OAAO,YAAY;AACrC,QAAM,WAAW;AAAA,IACf;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,GAAG,QAAQ,MAAM,EAAE,UAAU,CAAC;AAAA,IAChC;AAAA,IACA;AAAA,MACE,WAAW,aAAa;AAAA,IAC1B;AAAA,EACF;AAEA,QAAM,OAAO,MAAM,OAAO,QAAQ;AAAA,IAChC,QAAQ;AAAA,IACR,QAAQ,CAAC,QAAQ;AAAA,EACnB,CAAC;AACD,SAAO;AACT;;;AC/DA,eAAsB,YACpB,QACA,EAAE,MAAM,MAAM,MAAM,GACU;AAC9B,MAAI;AACJ,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI,CAAC,MAAM,WAAW,IAAI;AACxB,YAAM,IAAI;AAAA,QACR,UAAU;AAAA,QACV;AAAA,UACE,UAAU;AAAA,QACZ;AAAA,MACF;AACF,WAAO;AAAA,EACT,OAAO;AACL,WAAO,UAAU,KAAK;AAAA,EACxB;AACA,QAAM,SAAS,MAAM,OAAO,QAAQ;AAAA,IAClC,QAAQ;AAAA,IACR,QAAQ,CAAC,MAAM,IAAI;AAAA,EACrB,CAAC;AACD,SAAO;AACT;;;AC5BA,eAAsB,YACpB,QACA,EAAE,GAAG,GACL;AACA,QAAM,OAAO,QAAQ;AAAA,IACnB,QAAQ;AAAA,IACR,QAAQ;AAAA,MACN;AAAA,QACE,SAAS,YAAY,EAAE;AAAA,MACzB;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;ACZA,eAAsB,WACpB,QACA,QAC6B;AAC7B,QAAM,QAAQ,MAAM,OAAO,QAAQ;AAAA,IACjC,QAAQ;AAAA,IACR,QAAQ,CAAC,MAAM;AAAA,EACjB,CAAC;AACD,SAAO;AACT;;;ACoBA,eAAsB,cAKpB,QACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,KACG;AACL,GACgC;AAChC,QAAM,OAAO,mBAAmB;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAA2D;AAC3D,QAAM,OAAO,MAAM,gBAAgB,QAAQ;AAAA,IACzC;AAAA,IACA,IAAI;AAAA,IACJ,GAAG;AAAA,EACL,CAA2C;AAC3C,SAAO;AACT","sourcesContent":["import type { Chain } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport async function addChain(client: WalletClient, chain: Chain) {\n const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain\n await client.request({\n method: 'wallet_addEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n chainName: name,\n nativeCurrency,\n rpcUrls: rpcUrls.default.http,\n blockExplorerUrls: blockExplorers\n ? Object.values(blockExplorers).map(({ url }) => url)\n : undefined,\n },\n ],\n })\n}\n","import type { WalletClient } from '../../clients'\nimport { checksumAddress } from '../../utils/address'\n\nexport async function getAccounts(client: WalletClient) {\n const addresses = await client.request({ method: 'eth_accounts' })\n return addresses.map((address) => checksumAddress(address))\n}\n","import type { WalletClient } from '../../clients'\nimport type { WalletPermission } from '../../types/eip1193'\n\nexport type GetPermissionsResponse = WalletPermission[]\n\nexport async function getPermissions(client: WalletClient) {\n const permissions = await client.request({ method: 'wallet_getPermissions' })\n return permissions\n}\n","import type { WalletClient } from '../../clients'\nimport { getAddress } from '../../utils'\n\nexport async function requestAccounts(client: WalletClient) {\n const addresses = await client.request({ method: 'eth_requestAccounts' })\n return addresses.map((address) => getAddress(address))\n}\n","import type { WalletClient } from '../../clients'\nimport type { WalletPermission } from '../../types/eip1193'\n\nexport type RequestPermissionsArgs = {\n eth_accounts: Record<string, any>\n} & {\n [key: string]: Record<string, any>\n}\nexport type RequestPermissionsResponse = WalletPermission[]\n\nexport async function requestPermissions(\n client: WalletClient,\n permissions: RequestPermissionsArgs,\n) {\n return client.request({\n method: 'wallet_requestPermissions',\n params: [permissions],\n })\n}\n","import type { Chain, Formatter } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport { InvalidGasArgumentsError } from '../../errors'\nimport type {\n Hash,\n MergeIntersectionProperties,\n TransactionRequest,\n} from '../../types'\nimport type { Formatted, TransactionRequestFormatter } from '../../utils'\nimport { extract, format, formatTransactionRequest } from '../../utils'\n\nexport type FormattedTransactionRequest<\n TFormatter extends Formatter | undefined = Formatter,\n> = MergeIntersectionProperties<\n Formatted<TFormatter, TransactionRequest, true>,\n TransactionRequest\n>\n\nexport type SendTransactionArgs<TChain extends Chain = Chain> =\n FormattedTransactionRequest<TransactionRequestFormatter<TChain>> & {\n chain?: TChain\n }\n\nexport type SendTransactionResponse = Hash\n\nexport async function sendTransaction<TChain extends Chain>(\n client: WalletClient,\n {\n chain,\n from,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n ...rest\n }: SendTransactionArgs<TChain>,\n): Promise<SendTransactionResponse> {\n if (\n maxFeePerGas !== undefined &&\n maxPriorityFeePerGas !== undefined &&\n maxFeePerGas < maxPriorityFeePerGas\n )\n throw new InvalidGasArgumentsError()\n\n const formatter = chain?.formatters?.transactionRequest\n const request_ = format(\n {\n from,\n accessList,\n data,\n gas,\n gasPrice,\n maxFeePerGas,\n maxPriorityFeePerGas,\n nonce,\n to,\n value,\n // Pick out extra data that might exist on the chain's transaction request type.\n ...extract(rest, { formatter }),\n } as TransactionRequest,\n {\n formatter: formatter || formatTransactionRequest,\n },\n )\n\n const hash = await client.request({\n method: 'eth_sendTransaction',\n params: [request_],\n })\n return hash\n}\n","import type { WalletClient } from '../../clients'\nimport { BaseError } from '../../errors'\nimport type { Address, ByteArray, Hex } from '../../types'\nimport { encodeHex } from '../../utils'\n\nexport type SignMessageArgs = {\n from: Address\n data: Hex | ByteArray\n}\n\nexport type SignMessageResponse = Hex\n\nexport async function signMessage(\n client: WalletClient,\n { from, data: data_ }: SignMessageArgs,\n): Promise<SignMessageResponse> {\n let data\n if (typeof data_ === 'string') {\n if (!data_.startsWith('0x'))\n throw new BaseError(\n `data (\"${data_}\") must be a hex value. Encode it first to a hex with the \\`encodeHex\\` util.`,\n {\n docsPath: '/TODO',\n },\n )\n data = data_\n } else {\n data = encodeHex(data_)\n }\n const signed = await client.request({\n method: 'personal_sign',\n params: [data, from],\n })\n return signed\n}\n","import type { Chain } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport { numberToHex } from '../../utils'\n\nexport type SwitchChainArgs = { id: Chain['id'] }\n\nexport async function switchChain(\n client: WalletClient,\n { id }: SwitchChainArgs,\n) {\n await client.request({\n method: 'wallet_switchEthereumChain',\n params: [\n {\n chainId: numberToHex(id),\n },\n ],\n })\n}\n","import type { WalletClient } from '../../clients'\nimport type { WatchAssetParams } from '../../types/eip1193'\n\nexport type WatchAssetArgs = WatchAssetParams\nexport type WatchAssetResponse = boolean\n\nexport async function watchAsset(\n client: WalletClient,\n params: WatchAssetParams,\n): Promise<WatchAssetResponse> {\n const added = await client.request({\n method: 'wallet_watchAsset',\n params: [params],\n })\n return added\n}\n","import { Abi } from 'abitype'\n\nimport type { Chain, Formatter } from '../../chains'\nimport type { WalletClient } from '../../clients'\nimport type {\n Address,\n ExtractArgsFromAbi,\n ExtractFunctionNameFromAbi,\n GetValue,\n} from '../../types'\nimport { EncodeFunctionDataArgs, encodeFunctionData } from '../../utils'\nimport {\n FormattedTransactionRequest,\n sendTransaction,\n SendTransactionArgs,\n SendTransactionResponse,\n} from './sendTransaction'\n\nexport type FormattedWriteContract<\n TFormatter extends Formatter | undefined = Formatter,\n> = FormattedTransactionRequest<TFormatter>\n\nexport type WriteContractArgs<\n TChain extends Chain = Chain,\n TAbi extends Abi | readonly unknown[] = Abi,\n TFunctionName extends string = any,\n> = Omit<SendTransactionArgs<TChain>, 'to' | 'data' | 'value'> & {\n address: Address\n abi: TAbi\n functionName: ExtractFunctionNameFromAbi<TAbi, TFunctionName>\n value?: GetValue<TAbi, TFunctionName, SendTransactionArgs<TChain>['value']>\n} & ExtractArgsFromAbi<TAbi, TFunctionName>\n\nexport type WriteContractResponse = SendTransactionResponse\n\nexport async function writeContract<\n TChain extends Chain,\n TAbi extends Abi = Abi,\n TFunctionName extends string = any,\n>(\n client: WalletClient,\n {\n abi,\n address,\n args,\n functionName,\n ...request\n }: WriteContractArgs<TChain, TAbi, TFunctionName>,\n): Promise<WriteContractResponse> {\n const data = encodeFunctionData({\n abi,\n args,\n functionName,\n } as unknown as EncodeFunctionDataArgs<TAbi, TFunctionName>)\n const hash = await sendTransaction(client, {\n data,\n to: address,\n ...request,\n } as unknown as SendTransactionArgs<TChain>)\n return hash\n}\n"]}