viem 0.0.1-alpha.14 → 0.0.1-alpha.16

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 (456) hide show
  1. package/dist/chains.js +6 -5
  2. package/dist/chains.js.map +1 -0
  3. package/dist/chains.mjs +2 -1
  4. package/dist/chains.mjs.map +1 -0
  5. package/dist/chunk-4XREGFHD.js +153 -0
  6. package/dist/chunk-4XREGFHD.js.map +1 -0
  7. package/dist/{chunk-DUNJAMH5.mjs → chunk-B7A2CAHU.mjs} +95 -480
  8. package/dist/chunk-B7A2CAHU.mjs.map +1 -0
  9. package/dist/{chunk-6Z62LPKB.js → chunk-EWTLCB3N.js} +18 -6
  10. package/dist/chunk-EWTLCB3N.js.map +1 -0
  11. package/dist/chunk-KCMYVU3Z.mjs +153 -0
  12. package/dist/chunk-KCMYVU3Z.mjs.map +1 -0
  13. package/dist/{chunk-KB6CBNKW.mjs → chunk-KM6AFT2K.mjs} +18 -6
  14. package/dist/chunk-KM6AFT2K.mjs.map +1 -0
  15. package/dist/chunk-LQXQPPTU.js +256 -0
  16. package/dist/chunk-LQXQPPTU.js.map +1 -0
  17. package/dist/{chunk-5TCPFLFT.mjs → chunk-TSJ3OOJW.mjs} +2 -1
  18. package/dist/chunk-TSJ3OOJW.mjs.map +1 -0
  19. package/dist/chunk-U7QDLGQL.mjs +256 -0
  20. package/dist/chunk-U7QDLGQL.mjs.map +1 -0
  21. package/dist/{chunk-VUNR7KGG.js → chunk-WTXKCAG7.js} +146 -531
  22. package/dist/chunk-WTXKCAG7.js.map +1 -0
  23. package/dist/{chunk-E7IQYTLV.js → chunk-XJKOJIX3.js} +12 -11
  24. package/dist/chunk-XJKOJIX3.js.map +1 -0
  25. package/dist/clients/index.d.ts +6 -3
  26. package/dist/clients/index.js +4 -3
  27. package/dist/clients/index.js.map +1 -0
  28. package/dist/clients/index.mjs +3 -2
  29. package/dist/clients/index.mjs.map +1 -0
  30. package/dist/createClient-cd948138.d.ts +62 -0
  31. package/dist/createPublicClient-989a0556.d.ts +19 -0
  32. package/dist/createTestClient-81507f58.d.ts +34 -0
  33. package/dist/createWalletClient-43f801b9.d.ts +30 -0
  34. package/dist/{eip1193-c001fcd5.d.ts → eip1193-4330b722.d.ts} +1 -1
  35. package/dist/index.d.ts +13 -6
  36. package/dist/index.js +9 -4
  37. package/dist/index.js.map +1 -0
  38. package/dist/index.mjs +34 -29
  39. package/dist/index.mjs.map +1 -0
  40. package/dist/{parseGwei-21f98a29.d.ts → parseGwei-f2d23de6.d.ts} +1 -1
  41. package/dist/public.d.ts +12 -0
  42. package/dist/public.js +59 -0
  43. package/dist/public.js.map +1 -0
  44. package/dist/public.mjs +59 -0
  45. package/dist/public.mjs.map +1 -0
  46. package/dist/sendTransaction-7a9d241a.d.ts +13 -0
  47. package/dist/stopImpersonatingAccount-8113150e.d.ts +156 -0
  48. package/dist/test.d.ts +7 -0
  49. package/dist/test.js +60 -0
  50. package/dist/test.js.map +1 -0
  51. package/dist/test.mjs +60 -0
  52. package/dist/test.mjs.map +1 -0
  53. package/dist/{transactionRequest-1d4e4385.d.ts → transactionReceipt-5d332aab.d.ts} +4 -32
  54. package/dist/transactionRequest-327eb7c2.d.ts +33 -0
  55. package/dist/utils/index.d.ts +4 -3
  56. package/dist/utils/index.js +3 -2
  57. package/dist/utils/index.js.map +1 -0
  58. package/dist/utils/index.mjs +2 -1
  59. package/dist/utils/index.mjs.map +1 -0
  60. package/dist/wallet.d.ts +9 -0
  61. package/dist/wallet.js +24 -0
  62. package/dist/wallet.js.map +1 -0
  63. package/dist/wallet.mjs +24 -0
  64. package/dist/wallet.mjs.map +1 -0
  65. package/dist/watchAsset-0088384c.d.ts +39 -0
  66. package/dist/{stopImpersonatingAccount-fcc5a678.d.ts → watchPendingTransactions-670a7ca3.d.ts} +7 -197
  67. package/dist/{webSocket-3385e295.d.ts → webSocket-9a3b0b26.d.ts} +1 -1
  68. package/dist/window.d.ts +1 -1
  69. package/dist/window.js +1 -1
  70. package/dist/window.js.map +1 -0
  71. package/dist/window.mjs +1 -0
  72. package/dist/window.mjs.map +1 -0
  73. package/package.json +18 -6
  74. package/src/_test/abis.ts +1225 -0
  75. package/src/_test/bench.ts +15 -0
  76. package/src/_test/constants.ts +63 -0
  77. package/src/_test/globalSetup.ts +11 -0
  78. package/src/_test/index.ts +20 -0
  79. package/src/_test/setup.ts +8 -0
  80. package/src/_test/utils.ts +112 -0
  81. package/src/actions/index.test.ts +72 -0
  82. package/src/actions/index.ts +156 -0
  83. package/src/actions/public/call.bench.ts +48 -0
  84. package/src/actions/public/call.test.ts +99 -0
  85. package/src/actions/public/call.ts +96 -0
  86. package/src/actions/public/callContract.bench.ts +24 -0
  87. package/src/actions/public/callContract.test.ts +285 -0
  88. package/src/actions/public/callContract.ts +80 -0
  89. package/src/actions/public/createBlockFilter.bench.ts +11 -0
  90. package/src/actions/public/createBlockFilter.test.ts +9 -0
  91. package/src/actions/public/createBlockFilter.ts +14 -0
  92. package/src/actions/public/createEventFilter.test.ts +245 -0
  93. package/src/actions/public/createEventFilter.ts +81 -0
  94. package/src/actions/public/createPendingTransactionFilter.bench.ts +11 -0
  95. package/src/actions/public/createPendingTransactionFilter.test.ts +9 -0
  96. package/src/actions/public/createPendingTransactionFilter.ts +14 -0
  97. package/src/actions/public/deployContract.test.ts +56 -0
  98. package/src/actions/public/deployContract.ts +39 -0
  99. package/src/actions/public/estimateGas.bench.ts +46 -0
  100. package/src/actions/public/estimateGas.test.ts +92 -0
  101. package/src/actions/public/estimateGas.ts +61 -0
  102. package/src/actions/public/getBalance.test.ts +83 -0
  103. package/src/actions/public/getBalance.ts +37 -0
  104. package/src/actions/public/getBlock.bench.ts +28 -0
  105. package/src/actions/public/getBlock.test.ts +575 -0
  106. package/src/actions/public/getBlock.ts +66 -0
  107. package/src/actions/public/getBlockNumber.bench.ts +28 -0
  108. package/src/actions/public/getBlockNumber.test.ts +27 -0
  109. package/src/actions/public/getBlockNumber.ts +32 -0
  110. package/src/actions/public/getBlockTransactionCount.bench.ts +15 -0
  111. package/src/actions/public/getBlockTransactionCount.test.ts +57 -0
  112. package/src/actions/public/getBlockTransactionCount.ts +53 -0
  113. package/src/actions/public/getBytecode.test.ts +27 -0
  114. package/src/actions/public/getBytecode.ts +32 -0
  115. package/src/actions/public/getChainId.bench.ts +15 -0
  116. package/src/actions/public/getChainId.test.ts +8 -0
  117. package/src/actions/public/getChainId.ts +7 -0
  118. package/src/actions/public/getFeeHistory.bench.ts +18 -0
  119. package/src/actions/public/getFeeHistory.test.ts +137 -0
  120. package/src/actions/public/getFeeHistory.ts +44 -0
  121. package/src/actions/public/getFilterChanges.bench.ts +13 -0
  122. package/src/actions/public/getFilterChanges.test.ts +187 -0
  123. package/src/actions/public/getFilterChanges.ts +23 -0
  124. package/src/actions/public/getFilterLogs.test.ts +102 -0
  125. package/src/actions/public/getFilterLogs.ts +20 -0
  126. package/src/actions/public/getGasPrice.bench.ts +28 -0
  127. package/src/actions/public/getGasPrice.test.ts +8 -0
  128. package/src/actions/public/getGasPrice.ts +15 -0
  129. package/src/actions/public/getTransaction.bench.ts +33 -0
  130. package/src/actions/public/getTransaction.test.ts +311 -0
  131. package/src/actions/public/getTransaction.ts +96 -0
  132. package/src/actions/public/getTransactionConfirmations.test.ts +69 -0
  133. package/src/actions/public/getTransactionConfirmations.ts +39 -0
  134. package/src/actions/public/getTransactionCount.test.ts +56 -0
  135. package/src/actions/public/getTransactionCount.ts +34 -0
  136. package/src/actions/public/getTransactionReceipt.bench.ts +33 -0
  137. package/src/actions/public/getTransactionReceipt.test.ts +217 -0
  138. package/src/actions/public/getTransactionReceipt.ts +35 -0
  139. package/src/actions/public/index.test.ts +36 -0
  140. package/src/actions/public/index.ts +120 -0
  141. package/src/actions/public/uninstallFilter.bench.ts +13 -0
  142. package/src/actions/public/uninstallFilter.test.ts +65 -0
  143. package/src/actions/public/uninstallFilter.ts +17 -0
  144. package/src/actions/public/waitForTransactionReceipt.test.ts +322 -0
  145. package/src/actions/public/waitForTransactionReceipt.ts +171 -0
  146. package/src/actions/public/watchBlockNumber.test.ts +166 -0
  147. package/src/actions/public/watchBlockNumber.ts +79 -0
  148. package/src/actions/public/watchBlocks.test.ts +185 -0
  149. package/src/actions/public/watchBlocks.ts +95 -0
  150. package/src/actions/public/watchPendingTransactions.test.ts +116 -0
  151. package/src/actions/public/watchPendingTransactions.ts +73 -0
  152. package/src/actions/test/dropTransaction.test.ts +34 -0
  153. package/src/actions/test/dropTransaction.ts +17 -0
  154. package/src/actions/test/getAutomine.test.ts +14 -0
  155. package/src/actions/test/getAutomine.ts +11 -0
  156. package/src/actions/test/getTxpoolContent.test.ts +45 -0
  157. package/src/actions/test/getTxpoolContent.ts +7 -0
  158. package/src/actions/test/getTxpoolStatus.test.ts +41 -0
  159. package/src/actions/test/getTxpoolStatus.ts +12 -0
  160. package/src/actions/test/impersonateAccount.test.ts +28 -0
  161. package/src/actions/test/impersonateAccount.ts +17 -0
  162. package/src/actions/test/increaseTime.test.ts +18 -0
  163. package/src/actions/test/increaseTime.ts +17 -0
  164. package/src/actions/test/index.test.ts +38 -0
  165. package/src/actions/test/index.ts +77 -0
  166. package/src/actions/test/inspectTxpool.test.ts +50 -0
  167. package/src/actions/test/inspectTxpool.ts +7 -0
  168. package/src/actions/test/mine.test.ts +20 -0
  169. package/src/actions/test/mine.ts +16 -0
  170. package/src/actions/test/removeBlockTimestampInterval.test.ts +23 -0
  171. package/src/actions/test/removeBlockTimestampInterval.ts +7 -0
  172. package/src/actions/test/reset.test.ts +19 -0
  173. package/src/actions/test/reset.ts +18 -0
  174. package/src/actions/test/revert.test.ts +39 -0
  175. package/src/actions/test/revert.ts +14 -0
  176. package/src/actions/test/sendUnsignedTransaction.test.ts +52 -0
  177. package/src/actions/test/sendUnsignedTransaction.ts +19 -0
  178. package/src/actions/test/setAutomine.test.ts +14 -0
  179. package/src/actions/test/setAutomine.ts +8 -0
  180. package/src/actions/test/setBalance.test.ts +29 -0
  181. package/src/actions/test/setBalance.ts +20 -0
  182. package/src/actions/test/setBlockGasLimit.test.ts +21 -0
  183. package/src/actions/test/setBlockGasLimit.ts +17 -0
  184. package/src/actions/test/setBlockTimestampInterval.test.ts +23 -0
  185. package/src/actions/test/setBlockTimestampInterval.ts +16 -0
  186. package/src/actions/test/setCode.test.ts +26 -0
  187. package/src/actions/test/setCode.ts +19 -0
  188. package/src/actions/test/setCoinbase.test.ts +11 -0
  189. package/src/actions/test/setCoinbase.ts +17 -0
  190. package/src/actions/test/setIntervalMining.test.ts +30 -0
  191. package/src/actions/test/setIntervalMining.ts +16 -0
  192. package/src/actions/test/setLoggingEnabled.test.ts +10 -0
  193. package/src/actions/test/setLoggingEnabled.ts +8 -0
  194. package/src/actions/test/setMinGasPrice.test.ts +22 -0
  195. package/src/actions/test/setMinGasPrice.ts +17 -0
  196. package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +23 -0
  197. package/src/actions/test/setNextBlockBaseFeePerGas.ts +17 -0
  198. package/src/actions/test/setNextBlockTimestamp.test.ts +19 -0
  199. package/src/actions/test/setNextBlockTimestamp.ts +17 -0
  200. package/src/actions/test/setNonce.test.ts +28 -0
  201. package/src/actions/test/setNonce.ts +20 -0
  202. package/src/actions/test/setRpcUrl.test.ts +9 -0
  203. package/src/actions/test/setRpcUrl.ts +8 -0
  204. package/src/actions/test/setStorageAt.test.ts +36 -0
  205. package/src/actions/test/setStorageAt.ts +26 -0
  206. package/src/actions/test/snapshot.test.ts +18 -0
  207. package/src/actions/test/snapshot.ts +7 -0
  208. package/src/actions/test/stopImpersonatingAccount.test.ts +31 -0
  209. package/src/actions/test/stopImpersonatingAccount.ts +17 -0
  210. package/src/actions/wallet/addChain.test.ts +14 -0
  211. package/src/actions/wallet/addChain.ts +21 -0
  212. package/src/actions/wallet/getAccounts.test.ts +22 -0
  213. package/src/actions/wallet/getAccounts.ts +7 -0
  214. package/src/actions/wallet/getPermissions.test.ts +24 -0
  215. package/src/actions/wallet/getPermissions.ts +9 -0
  216. package/src/actions/wallet/index.test.ts +19 -0
  217. package/src/actions/wallet/index.ts +27 -0
  218. package/src/actions/wallet/requestAccounts.test.ts +13 -0
  219. package/src/actions/wallet/requestAccounts.ts +7 -0
  220. package/src/actions/wallet/requestPermissions.test.ts +26 -0
  221. package/src/actions/wallet/requestPermissions.ts +19 -0
  222. package/src/actions/wallet/sendTransaction.bench.ts +57 -0
  223. package/src/actions/wallet/sendTransaction.test.ts +440 -0
  224. package/src/actions/wallet/sendTransaction.ts +76 -0
  225. package/src/actions/wallet/signMessage.test.ts +62 -0
  226. package/src/actions/wallet/signMessage.ts +35 -0
  227. package/src/actions/wallet/switchChain.test.ts +22 -0
  228. package/src/actions/wallet/switchChain.ts +19 -0
  229. package/src/actions/wallet/watchAsset.test.ts +41 -0
  230. package/src/actions/wallet/watchAsset.ts +16 -0
  231. package/src/chains.test.ts +1134 -0
  232. package/src/chains.ts +167 -0
  233. package/src/clients/createClient.test.ts +295 -0
  234. package/src/clients/createClient.ts +81 -0
  235. package/src/clients/createPublicClient.test.ts +165 -0
  236. package/src/clients/createPublicClient.ts +49 -0
  237. package/src/clients/createTestClient.test.ts +145 -0
  238. package/src/clients/createTestClient.ts +72 -0
  239. package/src/clients/createWalletClient.test.ts +121 -0
  240. package/src/clients/createWalletClient.ts +54 -0
  241. package/src/clients/index.test.ts +19 -0
  242. package/src/clients/index.ts +31 -0
  243. package/src/clients/transports/createTransport.test.ts +58 -0
  244. package/src/clients/transports/createTransport.ts +48 -0
  245. package/src/clients/transports/custom.test.ts +98 -0
  246. package/src/clients/transports/custom.ts +34 -0
  247. package/src/clients/transports/fallback.test.ts +223 -0
  248. package/src/clients/transports/fallback.ts +48 -0
  249. package/src/clients/transports/http.test.ts +110 -0
  250. package/src/clients/transports/http.ts +51 -0
  251. package/src/clients/transports/index.test.ts +15 -0
  252. package/src/clients/transports/index.ts +17 -0
  253. package/src/clients/transports/webSocket.test.ts +164 -0
  254. package/src/clients/transports/webSocket.ts +117 -0
  255. package/src/constants.test.ts +27 -0
  256. package/src/constants.ts +18 -0
  257. package/src/errors/abi.test.ts +83 -0
  258. package/src/errors/abi.ts +238 -0
  259. package/src/errors/address.test.ts +14 -0
  260. package/src/errors/address.ts +9 -0
  261. package/src/errors/base.test.ts +72 -0
  262. package/src/errors/base.ts +57 -0
  263. package/src/errors/block.test.ts +24 -0
  264. package/src/errors/block.ts +18 -0
  265. package/src/errors/contract.ts +125 -0
  266. package/src/errors/data.ts +20 -0
  267. package/src/errors/encoding.ts +60 -0
  268. package/src/errors/index.ts +77 -0
  269. package/src/errors/log.ts +8 -0
  270. package/src/errors/request.test.ts +331 -0
  271. package/src/errors/request.ts +163 -0
  272. package/src/errors/rpc.test.ts +88 -0
  273. package/src/errors/rpc.ts +113 -0
  274. package/src/errors/transaction.test.ts +83 -0
  275. package/src/errors/transaction.ts +54 -0
  276. package/src/errors/transport.test.ts +12 -0
  277. package/src/errors/transport.ts +12 -0
  278. package/src/index.test.ts +208 -0
  279. package/src/index.ts +353 -0
  280. package/src/public.ts +80 -0
  281. package/src/test.ts +51 -0
  282. package/src/types/block.ts +71 -0
  283. package/src/types/contract.ts +327 -0
  284. package/src/types/eip1193.ts +1038 -0
  285. package/src/types/fee.ts +47 -0
  286. package/src/types/filter.ts +8 -0
  287. package/src/types/index.ts +72 -0
  288. package/src/types/log.ts +22 -0
  289. package/src/types/misc.ts +4 -0
  290. package/src/types/rpc.ts +35 -0
  291. package/src/types/transaction.ts +145 -0
  292. package/src/types/utils.ts +67 -0
  293. package/src/types/window.ts +9 -0
  294. package/src/utils/abi/decodeAbi.bench.ts +135 -0
  295. package/src/utils/abi/decodeAbi.test.ts +1615 -0
  296. package/src/utils/abi/decodeAbi.ts +296 -0
  297. package/src/utils/abi/decodeDeployData.test.ts +159 -0
  298. package/src/utils/abi/decodeDeployData.ts +41 -0
  299. package/src/utils/abi/decodeErrorResult.test.ts +130 -0
  300. package/src/utils/abi/decodeErrorResult.ts +28 -0
  301. package/src/utils/abi/decodeFunctionData.test.ts +140 -0
  302. package/src/utils/abi/decodeFunctionData.ts +29 -0
  303. package/src/utils/abi/decodeFunctionResult.test.ts +262 -0
  304. package/src/utils/abi/decodeFunctionResult.ts +53 -0
  305. package/src/utils/abi/encodeAbi.bench.ts +163 -0
  306. package/src/utils/abi/encodeAbi.test.ts +1414 -0
  307. package/src/utils/abi/encodeAbi.ts +258 -0
  308. package/src/utils/abi/encodeDeployData.test.ts +131 -0
  309. package/src/utils/abi/encodeDeployData.ts +37 -0
  310. package/src/utils/abi/encodeErrorResult.test.ts +197 -0
  311. package/src/utils/abi/encodeErrorResult.ts +40 -0
  312. package/src/utils/abi/encodeEventTopics.test.ts +348 -0
  313. package/src/utils/abi/encodeEventTopics.ts +69 -0
  314. package/src/utils/abi/encodeFunctionData.test.ts +140 -0
  315. package/src/utils/abi/encodeFunctionData.ts +38 -0
  316. package/src/utils/abi/encodeFunctionResult.test.ts +284 -0
  317. package/src/utils/abi/encodeFunctionResult.ts +39 -0
  318. package/src/utils/abi/formatAbiItemWithArgs.test.ts +291 -0
  319. package/src/utils/abi/formatAbiItemWithArgs.ts +27 -0
  320. package/src/utils/abi/formatAbiItemWithParams.test.ts +335 -0
  321. package/src/utils/abi/formatAbiItemWithParams.ts +41 -0
  322. package/src/utils/abi/getAbiItem.ts +5 -0
  323. package/src/utils/abi/index.test.ts +23 -0
  324. package/src/utils/abi/index.ts +38 -0
  325. package/src/utils/address/getAddress.bench.ts +22 -0
  326. package/src/utils/address/getAddress.test.ts +46 -0
  327. package/src/utils/address/getAddress.ts +28 -0
  328. package/src/utils/address/getContractAddress.bench.ts +20 -0
  329. package/src/utils/address/getContractAddress.test.ts +78 -0
  330. package/src/utils/address/getContractAddress.ts +59 -0
  331. package/src/utils/address/index.test.ts +17 -0
  332. package/src/utils/address/index.ts +16 -0
  333. package/src/utils/address/isAddress.test.ts +10 -0
  334. package/src/utils/address/isAddress.ts +10 -0
  335. package/src/utils/address/isAddressEqual.test.ts +55 -0
  336. package/src/utils/address/isAddressEqual.ts +6 -0
  337. package/src/utils/buildRequest.test.ts +365 -0
  338. package/src/utils/buildRequest.ts +45 -0
  339. package/src/utils/contract/extractFunctionParts.test.ts +109 -0
  340. package/src/utils/contract/extractFunctionParts.ts +27 -0
  341. package/src/utils/contract/getContractError.test.ts +97 -0
  342. package/src/utils/contract/getContractError.ts +70 -0
  343. package/src/utils/contract/index.test.ts +15 -0
  344. package/src/utils/contract/index.ts +8 -0
  345. package/src/utils/data/concat.test.ts +35 -0
  346. package/src/utils/data/concat.ts +34 -0
  347. package/src/utils/data/index.test.ts +23 -0
  348. package/src/utils/data/index.ts +13 -0
  349. package/src/utils/data/isBytes.test.ts +9 -0
  350. package/src/utils/data/isBytes.ts +7 -0
  351. package/src/utils/data/isHex.test.ts +13 -0
  352. package/src/utils/data/isHex.ts +5 -0
  353. package/src/utils/data/pad.bench.ts +39 -0
  354. package/src/utils/data/pad.test.ts +367 -0
  355. package/src/utils/data/pad.ts +53 -0
  356. package/src/utils/data/size.test.ts +18 -0
  357. package/src/utils/data/size.ts +13 -0
  358. package/src/utils/data/slice.test.ts +203 -0
  359. package/src/utils/data/slice.ts +60 -0
  360. package/src/utils/data/trim.bench.ts +50 -0
  361. package/src/utils/data/trim.test.ts +175 -0
  362. package/src/utils/data/trim.ts +33 -0
  363. package/src/utils/encoding/decodeBytes.bench.ts +40 -0
  364. package/src/utils/encoding/decodeBytes.test.ts +144 -0
  365. package/src/utils/encoding/decodeBytes.ts +63 -0
  366. package/src/utils/encoding/decodeHex.bench.ts +24 -0
  367. package/src/utils/encoding/decodeHex.test.ts +167 -0
  368. package/src/utils/encoding/decodeHex.ts +76 -0
  369. package/src/utils/encoding/decodeRlp.bench.ts +34 -0
  370. package/src/utils/encoding/decodeRlp.test.ts +350 -0
  371. package/src/utils/encoding/decodeRlp.ts +121 -0
  372. package/src/utils/encoding/encodeBytes.bench.ts +41 -0
  373. package/src/utils/encoding/encodeBytes.test.ts +676 -0
  374. package/src/utils/encoding/encodeBytes.ts +59 -0
  375. package/src/utils/encoding/encodeHex.bench.ts +60 -0
  376. package/src/utils/encoding/encodeHex.test.ts +232 -0
  377. package/src/utils/encoding/encodeHex.ts +104 -0
  378. package/src/utils/encoding/encodeRlp.bench.ts +54 -0
  379. package/src/utils/encoding/encodeRlp.test.ts +254 -0
  380. package/src/utils/encoding/encodeRlp.ts +48 -0
  381. package/src/utils/encoding/index.test.ts +32 -0
  382. package/src/utils/encoding/index.ts +36 -0
  383. package/src/utils/formatters/block.bench.ts +51 -0
  384. package/src/utils/formatters/block.test.ts +115 -0
  385. package/src/utils/formatters/block.ts +36 -0
  386. package/src/utils/formatters/extract.test.ts +14 -0
  387. package/src/utils/formatters/extract.ts +18 -0
  388. package/src/utils/formatters/feeHistory.test.ts +66 -0
  389. package/src/utils/formatters/feeHistory.ts +12 -0
  390. package/src/utils/formatters/format.test.ts +93 -0
  391. package/src/utils/formatters/format.ts +53 -0
  392. package/src/utils/formatters/index.test.ts +17 -0
  393. package/src/utils/formatters/index.ts +24 -0
  394. package/src/utils/formatters/log.test.ts +79 -0
  395. package/src/utils/formatters/log.ts +12 -0
  396. package/src/utils/formatters/transaction.test.ts +271 -0
  397. package/src/utils/formatters/transaction.ts +51 -0
  398. package/src/utils/formatters/transactionReceipt.bench.ts +73 -0
  399. package/src/utils/formatters/transactionReceipt.test.ts +151 -0
  400. package/src/utils/formatters/transactionReceipt.ts +54 -0
  401. package/src/utils/formatters/transactionRequest.bench.ts +29 -0
  402. package/src/utils/formatters/transactionRequest.test.ts +237 -0
  403. package/src/utils/formatters/transactionRequest.ts +47 -0
  404. package/src/utils/hash/getEventSignature.test.ts +61 -0
  405. package/src/utils/hash/getEventSignature.ts +4 -0
  406. package/src/utils/hash/getFunctionSignature.test.ts +22 -0
  407. package/src/utils/hash/getFunctionSignature.ts +5 -0
  408. package/src/utils/hash/hashFunction.test.ts +65 -0
  409. package/src/utils/hash/hashFunction.ts +12 -0
  410. package/src/utils/hash/index.test.ts +13 -0
  411. package/src/utils/hash/index.ts +5 -0
  412. package/src/utils/hash/keccak256.test.ts +59 -0
  413. package/src/utils/hash/keccak256.ts +23 -0
  414. package/src/utils/index.test.ts +87 -0
  415. package/src/utils/index.ts +126 -0
  416. package/src/utils/observe.test.ts +176 -0
  417. package/src/utils/observe.ts +66 -0
  418. package/src/utils/poll.test.ts +127 -0
  419. package/src/utils/poll.ts +42 -0
  420. package/src/utils/promise/index.test.ts +14 -0
  421. package/src/utils/promise/index.ts +3 -0
  422. package/src/utils/promise/withCache.test.ts +97 -0
  423. package/src/utils/promise/withCache.ts +73 -0
  424. package/src/utils/promise/withRetry.test.ts +231 -0
  425. package/src/utils/promise/withRetry.ts +61 -0
  426. package/src/utils/promise/withTimeout.test.ts +37 -0
  427. package/src/utils/promise/withTimeout.ts +39 -0
  428. package/src/utils/rpc.test.ts +992 -0
  429. package/src/utils/rpc.ts +292 -0
  430. package/src/utils/stringify.test.ts +13 -0
  431. package/src/utils/stringify.ts +5 -0
  432. package/src/utils/uid.ts +14 -0
  433. package/src/utils/unit/formatEther.test.ts +75 -0
  434. package/src/utils/unit/formatEther.ts +6 -0
  435. package/src/utils/unit/formatGwei.test.ts +32 -0
  436. package/src/utils/unit/formatGwei.ts +6 -0
  437. package/src/utils/unit/formatUnit.bench.ts +26 -0
  438. package/src/utils/unit/formatUnit.test.ts +40 -0
  439. package/src/utils/unit/formatUnit.ts +16 -0
  440. package/src/utils/unit/index.test.ts +16 -0
  441. package/src/utils/unit/index.ts +6 -0
  442. package/src/utils/unit/parseEther.test.ts +126 -0
  443. package/src/utils/unit/parseEther.ts +6 -0
  444. package/src/utils/unit/parseGwei.test.ts +50 -0
  445. package/src/utils/unit/parseGwei.ts +6 -0
  446. package/src/utils/unit/parseUnit.bench.ts +26 -0
  447. package/src/utils/unit/parseUnit.test.ts +54 -0
  448. package/src/utils/unit/parseUnit.ts +27 -0
  449. package/src/utils/wait.ts +3 -0
  450. package/src/wallet.ts +23 -0
  451. package/src/window.ts +1 -0
  452. package/actions/package.json +0 -4
  453. package/dist/actions/index.d.ts +0 -8
  454. package/dist/actions/index.js +0 -129
  455. package/dist/actions/index.mjs +0 -129
  456. package/dist/createWalletClient-3f9fa8b6.d.ts +0 -130
package/dist/chains.js CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk6Z62LPKBjs = require('./chunk-6Z62LPKB.js');
6
+ var _chunkEWTLCB3Njs = require('./chunk-EWTLCB3N.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: _chunk6Z62LPKBjs.formatBlock });
52
- var defineTransaction = defineFormatter({ format: _chunk6Z62LPKBjs.formatTransaction });
51
+ var defineBlock = defineFormatter({ format: _chunkEWTLCB3Njs.formatBlock });
52
+ var defineTransaction = defineFormatter({ format: _chunkEWTLCB3Njs.formatTransaction });
53
53
  var defineTransactionRequest = defineFormatter({
54
- format: _chunk6Z62LPKBjs.formatTransactionRequest
54
+ format: _chunkEWTLCB3Njs.formatTransactionRequest
55
55
  });
56
56
  var defineTransactionReceipt = defineFormatter({
57
- format: _chunk6Z62LPKBjs.formatTransactionReceipt
57
+ format: _chunkEWTLCB3Njs.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-KB6CBNKW.mjs";
6
+ } from "./chunk-KM6AFT2K.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":[]}
@@ -0,0 +1,153 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+ var _chunkEWTLCB3Njs = require('./chunk-EWTLCB3N.js');
12
+
13
+ // src/actions/wallet/addChain.ts
14
+ async function addChain(client, chain) {
15
+ const { id, name, nativeCurrency, rpcUrls, blockExplorers } = chain;
16
+ await client.request({
17
+ method: "wallet_addEthereumChain",
18
+ params: [
19
+ {
20
+ chainId: _chunkEWTLCB3Njs.numberToHex.call(void 0, id),
21
+ chainName: name,
22
+ nativeCurrency,
23
+ rpcUrls: rpcUrls.default.http,
24
+ blockExplorerUrls: blockExplorers ? Object.values(blockExplorers).map(({ url }) => url) : void 0
25
+ }
26
+ ]
27
+ });
28
+ }
29
+
30
+ // src/actions/wallet/getAccounts.ts
31
+ async function getAccounts(client) {
32
+ const addresses = await client.request({ method: "eth_accounts" });
33
+ return addresses.map((address) => _chunkEWTLCB3Njs.checksumAddress.call(void 0, address));
34
+ }
35
+
36
+ // src/actions/wallet/getPermissions.ts
37
+ async function getPermissions(client) {
38
+ const permissions = await client.request({ method: "wallet_getPermissions" });
39
+ return permissions;
40
+ }
41
+
42
+ // src/actions/wallet/requestAccounts.ts
43
+ async function requestAccounts(client) {
44
+ const addresses = await client.request({ method: "eth_requestAccounts" });
45
+ return addresses.map((address) => _chunkEWTLCB3Njs.getAddress.call(void 0, address));
46
+ }
47
+
48
+ // src/actions/wallet/requestPermissions.ts
49
+ async function requestPermissions(client, permissions) {
50
+ return client.request({
51
+ method: "wallet_requestPermissions",
52
+ params: [permissions]
53
+ });
54
+ }
55
+
56
+ // src/actions/wallet/sendTransaction.ts
57
+ async function sendTransaction(client, {
58
+ chain,
59
+ from,
60
+ accessList,
61
+ data,
62
+ gas,
63
+ gasPrice,
64
+ maxFeePerGas,
65
+ maxPriorityFeePerGas,
66
+ nonce,
67
+ to,
68
+ value,
69
+ ...rest
70
+ }) {
71
+ if (maxFeePerGas !== void 0 && maxPriorityFeePerGas !== void 0 && maxFeePerGas < maxPriorityFeePerGas)
72
+ throw new (0, _chunkEWTLCB3Njs.InvalidGasArgumentsError)();
73
+ const formatter = _optionalChain([chain, 'optionalAccess', _ => _.formatters, 'optionalAccess', _2 => _2.transactionRequest]);
74
+ const request_ = _chunkEWTLCB3Njs.format.call(void 0,
75
+ {
76
+ from,
77
+ accessList,
78
+ data,
79
+ gas,
80
+ gasPrice,
81
+ maxFeePerGas,
82
+ maxPriorityFeePerGas,
83
+ nonce,
84
+ to,
85
+ value,
86
+ ..._chunkEWTLCB3Njs.extract.call(void 0, rest, { formatter })
87
+ },
88
+ {
89
+ formatter: formatter || _chunkEWTLCB3Njs.formatTransactionRequest
90
+ }
91
+ );
92
+ const hash = await client.request({
93
+ method: "eth_sendTransaction",
94
+ params: [request_]
95
+ });
96
+ return hash;
97
+ }
98
+
99
+ // src/actions/wallet/signMessage.ts
100
+ async function signMessage(client, { from, data: data_ }) {
101
+ let data;
102
+ if (typeof data_ === "string") {
103
+ if (!data_.startsWith("0x"))
104
+ throw new (0, _chunkEWTLCB3Njs.BaseError)(
105
+ `data ("${data_}") must be a hex value. Encode it first to a hex with the \`encodeHex\` util.`,
106
+ {
107
+ docsPath: "/TODO"
108
+ }
109
+ );
110
+ data = data_;
111
+ } else {
112
+ data = _chunkEWTLCB3Njs.encodeHex.call(void 0, data_);
113
+ }
114
+ const signed = await client.request({
115
+ method: "personal_sign",
116
+ params: [data, from]
117
+ });
118
+ return signed;
119
+ }
120
+
121
+ // src/actions/wallet/switchChain.ts
122
+ async function switchChain(client, { id }) {
123
+ await client.request({
124
+ method: "wallet_switchEthereumChain",
125
+ params: [
126
+ {
127
+ chainId: _chunkEWTLCB3Njs.numberToHex.call(void 0, id)
128
+ }
129
+ ]
130
+ });
131
+ }
132
+
133
+ // src/actions/wallet/watchAsset.ts
134
+ async function watchAsset(client, params) {
135
+ const added = await client.request({
136
+ method: "wallet_watchAsset",
137
+ params: [params]
138
+ });
139
+ return added;
140
+ }
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
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;
153
+ //# sourceMappingURL=chunk-4XREGFHD.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"],"names":[],"mappings":"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","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"]}