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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/chains/package.json +1 -1
  2. package/clients/package.json +1 -1
  3. package/dist/{rpc-655c0ba4.d.ts → chain-32f56cfa.d.ts} +78 -17
  4. package/dist/chain-f12cdc7f.d.ts +5 -0
  5. package/dist/chains.d.ts +1291 -74
  6. package/dist/chains.js +125 -129
  7. package/dist/chains.js.map +1 -0
  8. package/dist/chains.mjs +129 -0
  9. package/dist/chains.mjs.map +1 -0
  10. package/dist/{chunk-YQRTXQ2G.js → chunk-46BO7YAQ.mjs} +3 -15
  11. package/dist/chunk-46BO7YAQ.mjs.map +1 -0
  12. package/dist/chunk-57ZOFERP.mjs +256 -0
  13. package/dist/chunk-57ZOFERP.mjs.map +1 -0
  14. package/dist/{chunk-3EOU525X.js → chunk-62VTYU2V.mjs} +1207 -564
  15. package/dist/chunk-62VTYU2V.mjs.map +1 -0
  16. package/dist/{chunk-4HNVS7AM.js → chunk-DGO77E2H.mjs} +330 -539
  17. package/dist/chunk-DGO77E2H.mjs.map +1 -0
  18. package/dist/chunk-DSPMAIDO.mjs +176 -0
  19. package/dist/chunk-DSPMAIDO.mjs.map +1 -0
  20. package/dist/chunk-EC3NUIJE.js +176 -0
  21. package/dist/chunk-EC3NUIJE.js.map +1 -0
  22. package/dist/chunk-KEHGSYDO.js +259 -0
  23. package/dist/chunk-KEHGSYDO.js.map +1 -0
  24. package/dist/chunk-KZMJR27B.js +889 -0
  25. package/dist/chunk-KZMJR27B.js.map +1 -0
  26. package/dist/chunk-O2GYLJVD.js +2689 -0
  27. package/dist/chunk-O2GYLJVD.js.map +1 -0
  28. package/dist/chunk-W7BWWAC4.js +256 -0
  29. package/dist/chunk-W7BWWAC4.js.map +1 -0
  30. package/dist/clients/index.d.ts +8 -7
  31. package/dist/clients/index.js +24 -25
  32. package/dist/clients/index.js.map +1 -0
  33. package/dist/clients/index.mjs +24 -0
  34. package/dist/clients/index.mjs.map +1 -0
  35. package/dist/contract-9af4608b.d.ts +142 -0
  36. package/dist/createClient-5d316c7e.d.ts +62 -0
  37. package/dist/createPublicClient-9d2b42e1.d.ts +19 -0
  38. package/dist/createTestClient-79498dab.d.ts +34 -0
  39. package/dist/createWalletClient-f69a5230.d.ts +30 -0
  40. package/dist/{eip1193-8f7c22ce.d.ts → eip1193-6c485d63.d.ts} +13 -10
  41. package/dist/index.d.ts +424 -11
  42. package/dist/index.js +395 -292
  43. package/dist/index.js.map +1 -0
  44. package/dist/index.mjs +395 -0
  45. package/dist/index.mjs.map +1 -0
  46. package/dist/{parseGwei-fd7a0f7d.d.ts → parseGwei-4308ad80.d.ts} +82 -139
  47. package/dist/public.d.ts +11 -0
  48. package/dist/public.js +59 -0
  49. package/dist/public.js.map +1 -0
  50. package/dist/public.mjs +59 -0
  51. package/dist/public.mjs.map +1 -0
  52. package/dist/{rpc-3c0e3985.d.ts → rpc-26932bae.d.ts} +1 -38
  53. package/dist/sendTransaction-1c8290a9.d.ts +12 -0
  54. package/dist/stopImpersonatingAccount-7781842a.d.ts +156 -0
  55. package/dist/test.d.ts +6 -0
  56. package/dist/test.js +60 -0
  57. package/dist/test.js.map +1 -0
  58. package/dist/test.mjs +60 -0
  59. package/dist/test.mjs.map +1 -0
  60. package/dist/transactionRequest-341b6ed2.d.ts +15 -0
  61. package/dist/utils/index.d.ts +51 -8
  62. package/dist/utils/index.js +171 -156
  63. package/dist/utils/index.js.map +1 -0
  64. package/dist/utils/index.mjs +171 -0
  65. package/dist/utils/index.mjs.map +1 -0
  66. package/dist/wallet.d.ts +8 -0
  67. package/dist/wallet.js +24 -0
  68. package/dist/wallet.js.map +1 -0
  69. package/dist/wallet.mjs +24 -0
  70. package/dist/wallet.mjs.map +1 -0
  71. package/dist/watchAsset-afaad3c7.d.ts +38 -0
  72. package/dist/{watchAsset-04ab8db5.d.ts → watchPendingTransactions-3b722547.d.ts} +67 -217
  73. package/dist/{webSocket-c6e0d26f.d.ts → webSocket-b180e679.d.ts} +4 -9
  74. package/dist/window.d.ts +3 -2
  75. package/dist/window.js +1 -0
  76. package/dist/window.js.map +1 -0
  77. package/dist/window.mjs +1 -0
  78. package/dist/window.mjs.map +1 -0
  79. package/package.json +30 -66
  80. package/src/_test/abis.ts +1413 -0
  81. package/src/_test/bench.ts +15 -0
  82. package/src/_test/constants.ts +60 -0
  83. package/src/_test/globalSetup.ts +11 -0
  84. package/src/_test/index.ts +23 -0
  85. package/src/_test/setup.ts +8 -0
  86. package/src/_test/utils.ts +112 -0
  87. package/src/actions/index.test.ts +78 -0
  88. package/src/actions/index.ts +174 -0
  89. package/src/actions/public/call.bench.ts +48 -0
  90. package/src/actions/public/call.test.ts +99 -0
  91. package/src/actions/public/call.ts +97 -0
  92. package/src/actions/public/createBlockFilter.bench.ts +11 -0
  93. package/src/actions/public/createBlockFilter.test.ts +9 -0
  94. package/src/actions/public/createBlockFilter.ts +14 -0
  95. package/src/actions/public/createContractEventFilter.test.ts +119 -0
  96. package/src/actions/public/createContractEventFilter.ts +69 -0
  97. package/src/actions/public/createEventFilter.test.ts +245 -0
  98. package/src/actions/public/createEventFilter.ts +76 -0
  99. package/src/actions/public/createPendingTransactionFilter.bench.ts +11 -0
  100. package/src/actions/public/createPendingTransactionFilter.test.ts +9 -0
  101. package/src/actions/public/createPendingTransactionFilter.ts +14 -0
  102. package/src/actions/public/deployContract.test.ts +56 -0
  103. package/src/actions/public/deployContract.ts +38 -0
  104. package/src/actions/public/estimateGas.bench.ts +46 -0
  105. package/src/actions/public/estimateGas.test.ts +92 -0
  106. package/src/actions/public/estimateGas.ts +61 -0
  107. package/src/actions/public/getBalance.test.ts +83 -0
  108. package/src/actions/public/getBalance.ts +37 -0
  109. package/src/actions/public/getBlock.bench.ts +28 -0
  110. package/src/actions/public/getBlock.test.ts +575 -0
  111. package/src/actions/public/getBlock.ts +65 -0
  112. package/src/actions/public/getBlockNumber.bench.ts +28 -0
  113. package/src/actions/public/getBlockNumber.test.ts +27 -0
  114. package/src/actions/public/getBlockNumber.ts +32 -0
  115. package/src/actions/public/getBlockTransactionCount.bench.ts +15 -0
  116. package/src/actions/public/getBlockTransactionCount.test.ts +57 -0
  117. package/src/actions/public/getBlockTransactionCount.ts +52 -0
  118. package/src/actions/public/getBytecode.test.ts +27 -0
  119. package/src/actions/public/getBytecode.ts +32 -0
  120. package/src/actions/public/getChainId.bench.ts +15 -0
  121. package/src/actions/public/getChainId.test.ts +8 -0
  122. package/src/actions/public/getChainId.ts +7 -0
  123. package/src/actions/public/getFeeHistory.bench.ts +18 -0
  124. package/src/actions/public/getFeeHistory.test.ts +137 -0
  125. package/src/actions/public/getFeeHistory.ts +44 -0
  126. package/src/actions/public/getFilterChanges.bench.ts +13 -0
  127. package/src/actions/public/getFilterChanges.test.ts +189 -0
  128. package/src/actions/public/getFilterChanges.ts +23 -0
  129. package/src/actions/public/getFilterLogs.test.ts +104 -0
  130. package/src/actions/public/getFilterLogs.ts +20 -0
  131. package/src/actions/public/getGasPrice.bench.ts +28 -0
  132. package/src/actions/public/getGasPrice.test.ts +8 -0
  133. package/src/actions/public/getGasPrice.ts +15 -0
  134. package/src/actions/public/getLogs.test.ts +107 -0
  135. package/src/actions/public/getLogs.ts +84 -0
  136. package/src/actions/public/getStorageAt.test.ts +34 -0
  137. package/src/actions/public/getStorageAt.ts +32 -0
  138. package/src/actions/public/getTransaction.bench.ts +33 -0
  139. package/src/actions/public/getTransaction.test.ts +311 -0
  140. package/src/actions/public/getTransaction.ts +95 -0
  141. package/src/actions/public/getTransactionConfirmations.test.ts +69 -0
  142. package/src/actions/public/getTransactionConfirmations.ts +38 -0
  143. package/src/actions/public/getTransactionCount.test.ts +56 -0
  144. package/src/actions/public/getTransactionCount.ts +34 -0
  145. package/src/actions/public/getTransactionReceipt.bench.ts +33 -0
  146. package/src/actions/public/getTransactionReceipt.test.ts +179 -0
  147. package/src/actions/public/getTransactionReceipt.ts +34 -0
  148. package/src/actions/public/index.test.ts +43 -0
  149. package/src/actions/public/index.ts +149 -0
  150. package/src/actions/public/readContract.test.ts +128 -0
  151. package/src/actions/public/readContract.ts +87 -0
  152. package/src/actions/public/simulateContract.bench.ts +31 -0
  153. package/src/actions/public/simulateContract.test.ts +238 -0
  154. package/src/actions/public/simulateContract.ts +98 -0
  155. package/src/actions/public/uninstallFilter.bench.ts +13 -0
  156. package/src/actions/public/uninstallFilter.test.ts +65 -0
  157. package/src/actions/public/uninstallFilter.ts +17 -0
  158. package/src/actions/public/waitForTransactionReceipt.test.ts +322 -0
  159. package/src/actions/public/waitForTransactionReceipt.ts +170 -0
  160. package/src/actions/public/watchBlockNumber.test.ts +166 -0
  161. package/src/actions/public/watchBlockNumber.ts +79 -0
  162. package/src/actions/public/watchBlocks.test.ts +210 -0
  163. package/src/actions/public/watchBlocks.ts +114 -0
  164. package/src/actions/public/watchContractEvent.test.ts +301 -0
  165. package/src/actions/public/watchContractEvent.ts +108 -0
  166. package/src/actions/public/watchEvent.test.ts +190 -0
  167. package/src/actions/public/watchEvent.ts +95 -0
  168. package/src/actions/public/watchPendingTransactions.test.ts +116 -0
  169. package/src/actions/public/watchPendingTransactions.ts +74 -0
  170. package/src/actions/test/dropTransaction.test.ts +34 -0
  171. package/src/actions/test/dropTransaction.ts +17 -0
  172. package/src/actions/test/getAutomine.test.ts +14 -0
  173. package/src/actions/test/getAutomine.ts +11 -0
  174. package/src/actions/test/getTxpoolContent.test.ts +45 -0
  175. package/src/actions/test/getTxpoolContent.ts +7 -0
  176. package/src/actions/test/getTxpoolStatus.test.ts +41 -0
  177. package/src/actions/test/getTxpoolStatus.ts +12 -0
  178. package/src/actions/test/impersonateAccount.test.ts +28 -0
  179. package/src/actions/test/impersonateAccount.ts +17 -0
  180. package/src/actions/test/increaseTime.test.ts +18 -0
  181. package/src/actions/test/increaseTime.ts +17 -0
  182. package/src/actions/test/index.test.ts +38 -0
  183. package/src/actions/test/index.ts +77 -0
  184. package/src/actions/test/inspectTxpool.test.ts +50 -0
  185. package/src/actions/test/inspectTxpool.ts +7 -0
  186. package/src/actions/test/mine.test.ts +20 -0
  187. package/src/actions/test/mine.ts +16 -0
  188. package/src/actions/test/removeBlockTimestampInterval.test.ts +23 -0
  189. package/src/actions/test/removeBlockTimestampInterval.ts +7 -0
  190. package/src/actions/test/reset.test.ts +19 -0
  191. package/src/actions/test/reset.ts +18 -0
  192. package/src/actions/test/revert.test.ts +39 -0
  193. package/src/actions/test/revert.ts +14 -0
  194. package/src/actions/test/sendUnsignedTransaction.test.ts +52 -0
  195. package/src/actions/test/sendUnsignedTransaction.ts +19 -0
  196. package/src/actions/test/setAutomine.test.ts +14 -0
  197. package/src/actions/test/setAutomine.ts +8 -0
  198. package/src/actions/test/setBalance.test.ts +29 -0
  199. package/src/actions/test/setBalance.ts +20 -0
  200. package/src/actions/test/setBlockGasLimit.test.ts +21 -0
  201. package/src/actions/test/setBlockGasLimit.ts +17 -0
  202. package/src/actions/test/setBlockTimestampInterval.test.ts +23 -0
  203. package/src/actions/test/setBlockTimestampInterval.ts +16 -0
  204. package/src/actions/test/setCode.test.ts +26 -0
  205. package/src/actions/test/setCode.ts +19 -0
  206. package/src/actions/test/setCoinbase.test.ts +11 -0
  207. package/src/actions/test/setCoinbase.ts +17 -0
  208. package/src/actions/test/setIntervalMining.test.ts +30 -0
  209. package/src/actions/test/setIntervalMining.ts +16 -0
  210. package/src/actions/test/setLoggingEnabled.test.ts +10 -0
  211. package/src/actions/test/setLoggingEnabled.ts +8 -0
  212. package/src/actions/test/setMinGasPrice.test.ts +22 -0
  213. package/src/actions/test/setMinGasPrice.ts +17 -0
  214. package/src/actions/test/setNextBlockBaseFeePerGas.test.ts +23 -0
  215. package/src/actions/test/setNextBlockBaseFeePerGas.ts +17 -0
  216. package/src/actions/test/setNextBlockTimestamp.test.ts +19 -0
  217. package/src/actions/test/setNextBlockTimestamp.ts +17 -0
  218. package/src/actions/test/setNonce.test.ts +28 -0
  219. package/src/actions/test/setNonce.ts +20 -0
  220. package/src/actions/test/setRpcUrl.test.ts +9 -0
  221. package/src/actions/test/setRpcUrl.ts +8 -0
  222. package/src/actions/test/setStorageAt.test.ts +36 -0
  223. package/src/actions/test/setStorageAt.ts +26 -0
  224. package/src/actions/test/snapshot.test.ts +18 -0
  225. package/src/actions/test/snapshot.ts +7 -0
  226. package/src/actions/test/stopImpersonatingAccount.test.ts +31 -0
  227. package/src/actions/test/stopImpersonatingAccount.ts +17 -0
  228. package/src/actions/wallet/addChain.test.ts +14 -0
  229. package/src/actions/wallet/addChain.ts +21 -0
  230. package/src/actions/wallet/getAccounts.test.ts +22 -0
  231. package/src/actions/wallet/getAccounts.ts +7 -0
  232. package/src/actions/wallet/getPermissions.test.ts +24 -0
  233. package/src/actions/wallet/getPermissions.ts +9 -0
  234. package/src/actions/wallet/index.test.ts +20 -0
  235. package/src/actions/wallet/index.ts +30 -0
  236. package/src/actions/wallet/requestAccounts.test.ts +13 -0
  237. package/src/actions/wallet/requestAccounts.ts +7 -0
  238. package/src/actions/wallet/requestPermissions.test.ts +26 -0
  239. package/src/actions/wallet/requestPermissions.ts +19 -0
  240. package/src/actions/wallet/sendTransaction.bench.ts +57 -0
  241. package/src/actions/wallet/sendTransaction.test.ts +440 -0
  242. package/src/actions/wallet/sendTransaction.ts +77 -0
  243. package/src/actions/wallet/signMessage.test.ts +62 -0
  244. package/src/actions/wallet/signMessage.ts +35 -0
  245. package/src/actions/wallet/switchChain.test.ts +22 -0
  246. package/src/actions/wallet/switchChain.ts +19 -0
  247. package/src/actions/wallet/watchAsset.test.ts +41 -0
  248. package/src/actions/wallet/watchAsset.ts +16 -0
  249. package/src/actions/wallet/writeContract.test.ts +54 -0
  250. package/src/actions/wallet/writeContract.ts +56 -0
  251. package/src/chains.test.ts +1912 -0
  252. package/src/chains.ts +99 -0
  253. package/src/clients/createClient.test.ts +295 -0
  254. package/src/clients/createClient.ts +81 -0
  255. package/src/clients/createPublicClient.test.ts +165 -0
  256. package/src/clients/createPublicClient.ts +49 -0
  257. package/src/clients/createTestClient.test.ts +145 -0
  258. package/src/clients/createTestClient.ts +72 -0
  259. package/src/clients/createWalletClient.test.ts +121 -0
  260. package/src/clients/createWalletClient.ts +54 -0
  261. package/src/clients/index.test.ts +19 -0
  262. package/src/clients/index.ts +31 -0
  263. package/src/clients/transports/createTransport.test.ts +58 -0
  264. package/src/clients/transports/createTransport.ts +48 -0
  265. package/src/clients/transports/custom.test.ts +98 -0
  266. package/src/clients/transports/custom.ts +34 -0
  267. package/src/clients/transports/fallback.test.ts +223 -0
  268. package/src/clients/transports/fallback.ts +48 -0
  269. package/src/clients/transports/http.test.ts +110 -0
  270. package/src/clients/transports/http.ts +51 -0
  271. package/src/clients/transports/index.test.ts +15 -0
  272. package/src/clients/transports/index.ts +17 -0
  273. package/src/clients/transports/webSocket.test.ts +164 -0
  274. package/src/clients/transports/webSocket.ts +117 -0
  275. package/src/errors/abi.test.ts +83 -0
  276. package/src/errors/abi.ts +238 -0
  277. package/src/errors/address.test.ts +14 -0
  278. package/src/errors/address.ts +9 -0
  279. package/src/errors/base.test.ts +72 -0
  280. package/src/errors/base.ts +57 -0
  281. package/src/errors/block.test.ts +24 -0
  282. package/src/errors/block.ts +18 -0
  283. package/src/errors/contract.ts +125 -0
  284. package/src/errors/data.ts +20 -0
  285. package/src/errors/encoding.ts +60 -0
  286. package/src/errors/index.ts +77 -0
  287. package/src/errors/log.ts +8 -0
  288. package/src/errors/request.test.ts +331 -0
  289. package/src/errors/request.ts +163 -0
  290. package/src/errors/rpc.test.ts +88 -0
  291. package/src/errors/rpc.ts +113 -0
  292. package/src/errors/transaction.test.ts +83 -0
  293. package/src/errors/transaction.ts +54 -0
  294. package/src/errors/transport.test.ts +12 -0
  295. package/src/errors/transport.ts +12 -0
  296. package/src/index.test.ts +214 -0
  297. package/src/index.ts +373 -0
  298. package/src/public.ts +80 -0
  299. package/src/test.ts +51 -0
  300. package/src/types/block.ts +71 -0
  301. package/src/types/chain.ts +6 -0
  302. package/src/types/contract.ts +342 -0
  303. package/src/types/eip1193.ts +1041 -0
  304. package/src/types/fee.ts +47 -0
  305. package/src/types/filter.ts +8 -0
  306. package/src/types/formatter.ts +23 -0
  307. package/src/types/index.ts +78 -0
  308. package/src/types/log.ts +22 -0
  309. package/src/types/misc.ts +5 -0
  310. package/src/types/rpc.ts +35 -0
  311. package/src/types/transaction.ts +145 -0
  312. package/src/types/utils.ts +67 -0
  313. package/src/types/window.ts +9 -0
  314. package/src/utils/abi/decodeAbi.bench.ts +135 -0
  315. package/src/utils/abi/decodeAbi.test.ts +1615 -0
  316. package/src/utils/abi/decodeAbi.ts +296 -0
  317. package/src/utils/abi/decodeDeployData.test.ts +159 -0
  318. package/src/utils/abi/decodeDeployData.ts +41 -0
  319. package/src/utils/abi/decodeErrorResult.test.ts +130 -0
  320. package/src/utils/abi/decodeErrorResult.ts +28 -0
  321. package/src/utils/abi/decodeFunctionData.test.ts +140 -0
  322. package/src/utils/abi/decodeFunctionData.ts +29 -0
  323. package/src/utils/abi/decodeFunctionResult.test.ts +262 -0
  324. package/src/utils/abi/decodeFunctionResult.ts +53 -0
  325. package/src/utils/abi/encodeAbi.bench.ts +163 -0
  326. package/src/utils/abi/encodeAbi.test.ts +1448 -0
  327. package/src/utils/abi/encodeAbi.ts +264 -0
  328. package/src/utils/abi/encodeDeployData.test.ts +131 -0
  329. package/src/utils/abi/encodeDeployData.ts +37 -0
  330. package/src/utils/abi/encodeErrorResult.test.ts +197 -0
  331. package/src/utils/abi/encodeErrorResult.ts +40 -0
  332. package/src/utils/abi/encodeEventTopics.test.ts +348 -0
  333. package/src/utils/abi/encodeEventTopics.ts +69 -0
  334. package/src/utils/abi/encodeFunctionData.test.ts +140 -0
  335. package/src/utils/abi/encodeFunctionData.ts +38 -0
  336. package/src/utils/abi/encodeFunctionResult.test.ts +284 -0
  337. package/src/utils/abi/encodeFunctionResult.ts +39 -0
  338. package/src/utils/abi/formatAbiItem.test.ts +335 -0
  339. package/src/utils/abi/formatAbiItem.ts +41 -0
  340. package/src/utils/abi/formatAbiItemWithArgs.test.ts +291 -0
  341. package/src/utils/abi/formatAbiItemWithArgs.ts +27 -0
  342. package/src/utils/abi/getAbiItem.ts +5 -0
  343. package/src/utils/abi/index.test.ts +23 -0
  344. package/src/utils/abi/index.ts +38 -0
  345. package/src/utils/address/getAddress.bench.ts +22 -0
  346. package/src/utils/address/getAddress.test.ts +46 -0
  347. package/src/utils/address/getAddress.ts +28 -0
  348. package/src/utils/address/getContractAddress.bench.ts +20 -0
  349. package/src/utils/address/getContractAddress.test.ts +78 -0
  350. package/src/utils/address/getContractAddress.ts +59 -0
  351. package/src/utils/address/index.test.ts +17 -0
  352. package/src/utils/address/index.ts +16 -0
  353. package/src/utils/address/isAddress.test.ts +10 -0
  354. package/src/utils/address/isAddress.ts +10 -0
  355. package/src/utils/address/isAddressEqual.test.ts +55 -0
  356. package/src/utils/address/isAddressEqual.ts +6 -0
  357. package/src/utils/buildRequest.test.ts +365 -0
  358. package/src/utils/buildRequest.ts +45 -0
  359. package/src/utils/chain.test.ts +43 -0
  360. package/src/utils/chain.ts +8 -0
  361. package/src/utils/contract/extractFunctionParts.test.ts +109 -0
  362. package/src/utils/contract/extractFunctionParts.ts +27 -0
  363. package/src/utils/contract/getContractError.test.ts +97 -0
  364. package/src/utils/contract/getContractError.ts +66 -0
  365. package/src/utils/contract/index.test.ts +15 -0
  366. package/src/utils/contract/index.ts +8 -0
  367. package/src/utils/data/concat.test.ts +35 -0
  368. package/src/utils/data/concat.ts +34 -0
  369. package/src/utils/data/index.test.ts +23 -0
  370. package/src/utils/data/index.ts +13 -0
  371. package/src/utils/data/isBytes.test.ts +9 -0
  372. package/src/utils/data/isBytes.ts +7 -0
  373. package/src/utils/data/isHex.test.ts +13 -0
  374. package/src/utils/data/isHex.ts +5 -0
  375. package/src/utils/data/pad.bench.ts +39 -0
  376. package/src/utils/data/pad.test.ts +367 -0
  377. package/src/utils/data/pad.ts +53 -0
  378. package/src/utils/data/size.test.ts +18 -0
  379. package/src/utils/data/size.ts +13 -0
  380. package/src/utils/data/slice.test.ts +203 -0
  381. package/src/utils/data/slice.ts +60 -0
  382. package/src/utils/data/trim.bench.ts +50 -0
  383. package/src/utils/data/trim.test.ts +175 -0
  384. package/src/utils/data/trim.ts +33 -0
  385. package/src/utils/encoding/decodeBytes.bench.ts +40 -0
  386. package/src/utils/encoding/decodeBytes.test.ts +144 -0
  387. package/src/utils/encoding/decodeBytes.ts +63 -0
  388. package/src/utils/encoding/decodeHex.bench.ts +24 -0
  389. package/src/utils/encoding/decodeHex.test.ts +167 -0
  390. package/src/utils/encoding/decodeHex.ts +76 -0
  391. package/src/utils/encoding/decodeRlp.bench.ts +34 -0
  392. package/src/utils/encoding/decodeRlp.test.ts +350 -0
  393. package/src/utils/encoding/decodeRlp.ts +121 -0
  394. package/src/utils/encoding/encodeBytes.bench.ts +41 -0
  395. package/src/utils/encoding/encodeBytes.test.ts +676 -0
  396. package/src/utils/encoding/encodeBytes.ts +59 -0
  397. package/src/utils/encoding/encodeHex.bench.ts +60 -0
  398. package/src/utils/encoding/encodeHex.test.ts +232 -0
  399. package/src/utils/encoding/encodeHex.ts +104 -0
  400. package/src/utils/encoding/encodeRlp.bench.ts +54 -0
  401. package/src/utils/encoding/encodeRlp.test.ts +254 -0
  402. package/src/utils/encoding/encodeRlp.ts +48 -0
  403. package/src/utils/encoding/index.test.ts +32 -0
  404. package/src/utils/encoding/index.ts +36 -0
  405. package/src/utils/formatters/block.bench.ts +51 -0
  406. package/src/utils/formatters/block.test.ts +115 -0
  407. package/src/utils/formatters/block.ts +37 -0
  408. package/src/utils/formatters/extract.test.ts +14 -0
  409. package/src/utils/formatters/extract.ts +18 -0
  410. package/src/utils/formatters/feeHistory.test.ts +66 -0
  411. package/src/utils/formatters/feeHistory.ts +12 -0
  412. package/src/utils/formatters/format.test.ts +93 -0
  413. package/src/utils/formatters/format.ts +90 -0
  414. package/src/utils/formatters/index.test.ts +27 -0
  415. package/src/utils/formatters/index.ts +34 -0
  416. package/src/utils/formatters/log.test.ts +79 -0
  417. package/src/utils/formatters/log.ts +12 -0
  418. package/src/utils/formatters/transaction.test.ts +271 -0
  419. package/src/utils/formatters/transaction.ts +63 -0
  420. package/src/utils/formatters/transactionReceipt.bench.ts +73 -0
  421. package/src/utils/formatters/transactionReceipt.test.ts +151 -0
  422. package/src/utils/formatters/transactionReceipt.ts +63 -0
  423. package/src/utils/formatters/transactionRequest.bench.ts +29 -0
  424. package/src/utils/formatters/transactionRequest.test.ts +237 -0
  425. package/src/utils/formatters/transactionRequest.ts +56 -0
  426. package/src/utils/hash/getEventSignature.test.ts +61 -0
  427. package/src/utils/hash/getEventSignature.ts +4 -0
  428. package/src/utils/hash/getFunctionSignature.test.ts +22 -0
  429. package/src/utils/hash/getFunctionSignature.ts +5 -0
  430. package/src/utils/hash/hashFunction.test.ts +65 -0
  431. package/src/utils/hash/hashFunction.ts +12 -0
  432. package/src/utils/hash/index.test.ts +13 -0
  433. package/src/utils/hash/index.ts +5 -0
  434. package/src/utils/hash/keccak256.test.ts +59 -0
  435. package/src/utils/hash/keccak256.ts +23 -0
  436. package/src/utils/index.test.ts +110 -0
  437. package/src/utils/index.ts +137 -0
  438. package/src/utils/observe.test.ts +176 -0
  439. package/src/utils/observe.ts +66 -0
  440. package/src/utils/poll.test.ts +127 -0
  441. package/src/utils/poll.ts +42 -0
  442. package/src/utils/promise/index.test.ts +14 -0
  443. package/src/utils/promise/index.ts +3 -0
  444. package/src/utils/promise/withCache.test.ts +97 -0
  445. package/src/utils/promise/withCache.ts +73 -0
  446. package/src/utils/promise/withRetry.test.ts +231 -0
  447. package/src/utils/promise/withRetry.ts +61 -0
  448. package/src/utils/promise/withTimeout.test.ts +37 -0
  449. package/src/utils/promise/withTimeout.ts +39 -0
  450. package/src/utils/rpc.test.ts +992 -0
  451. package/src/utils/rpc.ts +292 -0
  452. package/src/utils/stringify.test.ts +13 -0
  453. package/src/utils/stringify.ts +5 -0
  454. package/src/utils/uid.ts +14 -0
  455. package/src/utils/unit/constants.test.ts +22 -0
  456. package/src/utils/unit/constants.ts +12 -0
  457. package/src/utils/unit/formatEther.test.ts +75 -0
  458. package/src/utils/unit/formatEther.ts +6 -0
  459. package/src/utils/unit/formatGwei.test.ts +32 -0
  460. package/src/utils/unit/formatGwei.ts +6 -0
  461. package/src/utils/unit/formatUnit.bench.ts +26 -0
  462. package/src/utils/unit/formatUnit.test.ts +40 -0
  463. package/src/utils/unit/formatUnit.ts +16 -0
  464. package/src/utils/unit/index.test.ts +28 -0
  465. package/src/utils/unit/index.ts +7 -0
  466. package/src/utils/unit/parseEther.test.ts +126 -0
  467. package/src/utils/unit/parseEther.ts +6 -0
  468. package/src/utils/unit/parseGwei.test.ts +50 -0
  469. package/src/utils/unit/parseGwei.ts +6 -0
  470. package/src/utils/unit/parseUnit.bench.ts +26 -0
  471. package/src/utils/unit/parseUnit.test.ts +54 -0
  472. package/src/utils/unit/parseUnit.ts +27 -0
  473. package/src/utils/wait.ts +3 -0
  474. package/src/wallet.ts +23 -0
  475. package/src/window.ts +1 -0
  476. package/utils/package.json +1 -1
  477. package/window/package.json +1 -1
  478. package/actions/package.json +0 -4
  479. package/dist/BaseError-7688f84e.d.ts +0 -18
  480. package/dist/actions/index.d.ts +0 -8
  481. package/dist/actions/index.js +0 -123
  482. package/dist/createWalletClient-915223f3.d.ts +0 -130
  483. package/dist/transactionRequest-ade896ac.d.ts +0 -44
@@ -0,0 +1,163 @@
1
+ import { BaseError } from './base'
2
+ import { RpcError } from './rpc'
3
+
4
+ export class RequestError extends BaseError {
5
+ constructor(
6
+ err: Error,
7
+ { docsPath, humanMessage }: { docsPath?: string; humanMessage: string },
8
+ ) {
9
+ super(humanMessage, {
10
+ cause: err,
11
+ docsPath,
12
+ })
13
+ this.name = err.name
14
+ }
15
+ }
16
+
17
+ export class RpcRequestError extends RequestError {
18
+ code: number
19
+
20
+ constructor(
21
+ err: RpcError,
22
+ { docsPath, humanMessage }: { docsPath?: string; humanMessage: string },
23
+ ) {
24
+ super(err, { docsPath, humanMessage })
25
+ this.code = err.code
26
+ this.name = err.name
27
+ }
28
+ }
29
+
30
+ export class ParseRpcError extends RpcRequestError {
31
+ name = 'ParseRpcError'
32
+ code = -32700
33
+
34
+ constructor(err: RpcError) {
35
+ super(err, {
36
+ humanMessage:
37
+ 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',
38
+ })
39
+ }
40
+ }
41
+
42
+ export class InvalidRequestRpcError extends RpcRequestError {
43
+ name = 'InvalidRequestRpcError'
44
+ code = -32600
45
+
46
+ constructor(err: RpcError) {
47
+ super(err, { humanMessage: 'JSON is not a valid request object.' })
48
+ }
49
+ }
50
+
51
+ export class MethodNotFoundRpcError extends RpcRequestError {
52
+ name = 'MethodNotFoundRpcError'
53
+ code = -32601
54
+
55
+ constructor(err: RpcError) {
56
+ super(err, {
57
+ humanMessage: 'The method does not exist / is not available.',
58
+ })
59
+ }
60
+ }
61
+
62
+ export class InvalidParamsRpcError extends RpcRequestError {
63
+ name = 'InvalidParamsRpcError'
64
+ code = -32602
65
+
66
+ constructor(err: RpcError) {
67
+ super(err, {
68
+ humanMessage: [
69
+ 'Invalid parameters were provided to the RPC method.',
70
+ 'Double check you have provided the correct parameters.',
71
+ ].join('\n'),
72
+ })
73
+ }
74
+ }
75
+
76
+ export class InternalRpcError extends RpcRequestError {
77
+ name = 'InternalRpcError'
78
+ code = -32603
79
+
80
+ constructor(err: RpcError) {
81
+ super(err, { humanMessage: 'An internal error was received.' })
82
+ }
83
+ }
84
+
85
+ export class InvalidInputRpcError extends RpcRequestError {
86
+ name = 'InvalidInputRpcError'
87
+ code = -32000
88
+
89
+ constructor(err: RpcError) {
90
+ super(err, {
91
+ humanMessage: [
92
+ 'Missing or invalid parameters.',
93
+ 'Double check you have provided the correct parameters.',
94
+ ].join('\n'),
95
+ })
96
+ }
97
+ }
98
+
99
+ export class ResourceNotFoundRpcError extends RpcRequestError {
100
+ name = 'ResourceNotFoundRpcError'
101
+ code = -32001
102
+
103
+ constructor(err: RpcError) {
104
+ super(err, { humanMessage: 'Requested resource not found.' })
105
+ }
106
+ }
107
+
108
+ export class ResourceUnavailableRpcError extends RpcRequestError {
109
+ name = 'ResourceUnavailableRpcError'
110
+ code = -32002
111
+
112
+ constructor(err: RpcError) {
113
+ super(err, { humanMessage: 'Requested resource not available.' })
114
+ }
115
+ }
116
+
117
+ export class TransactionRejectedRpcError extends RpcRequestError {
118
+ name = 'TransactionRejectedRpcError'
119
+ code = -32003
120
+
121
+ constructor(err: RpcError) {
122
+ super(err, { humanMessage: 'Transaction creation failed.' })
123
+ }
124
+ }
125
+
126
+ export class MethodNotSupportedRpcError extends RpcRequestError {
127
+ name = 'MethodNotSupportedRpcError'
128
+ code = -32004
129
+
130
+ constructor(err: RpcError) {
131
+ super(err, { humanMessage: 'Method is not implemented.' })
132
+ }
133
+ }
134
+
135
+ export class LimitExceededRpcError extends RpcRequestError {
136
+ name = 'LimitExceededRpcError'
137
+ code = -32005
138
+
139
+ constructor(err: RpcError) {
140
+ super(err, { humanMessage: 'Request exceeds defined limit.' })
141
+ }
142
+ }
143
+
144
+ export class JsonRpcVersionUnsupportedError extends RpcRequestError {
145
+ name = 'JsonRpcVersionUnsupportedError'
146
+ code = -32006
147
+
148
+ constructor(err: RpcError) {
149
+ super(err, {
150
+ humanMessage: 'Version of JSON-RPC protocol is not supported.',
151
+ })
152
+ }
153
+ }
154
+
155
+ export class UnknownRpcError extends RequestError {
156
+ name = 'UnknownRpcError'
157
+
158
+ constructor(err: Error) {
159
+ super(err, {
160
+ humanMessage: 'An unknown RPC error occurred.',
161
+ })
162
+ }
163
+ }
@@ -0,0 +1,88 @@
1
+ import { expect, test } from 'vitest'
2
+ import { initialBlockNumber } from '../_test'
3
+ import { numberToHex } from '../utils'
4
+ import {
5
+ HttpRequestError,
6
+ RpcError,
7
+ TimeoutError,
8
+ WebSocketRequestError,
9
+ } from './rpc'
10
+
11
+ test('RpcError', () => {
12
+ const err = new RpcError({
13
+ body: { foo: 'bar' },
14
+ error: { code: 420, message: 'Error' },
15
+ url: 'https://lol.com',
16
+ })
17
+ expect(err).toMatchInlineSnapshot(`
18
+ [RpcError: RPC Request failed.
19
+
20
+ URL: https://lol.com
21
+ Request body: {"foo":"bar"}
22
+
23
+ Details: Error
24
+ Version: viem@1.0.2
25
+ Internal Error: {"code":420,"message":"Error"}]
26
+ `)
27
+ })
28
+
29
+ test('HttpRequestError', () => {
30
+ const err = new HttpRequestError({
31
+ url: 'https://eth-mainnet.g.alchemy.com/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC',
32
+ body: {
33
+ method: 'eth_getBlockByNumber',
34
+ params: [numberToHex(initialBlockNumber), false],
35
+ },
36
+ status: 500,
37
+ details: 'Some error',
38
+ })
39
+ expect(err).toMatchInlineSnapshot(`
40
+ [HttpRequestError: HTTP request failed.
41
+
42
+ Status: 500
43
+ URL: https://eth-mainnet.g.alchemy.com/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC
44
+ Request body: {"method":"eth_getBlockByNumber","params":["0xf86cc2",false]}
45
+
46
+ Details: Some error
47
+ Version: viem@1.0.2]
48
+ `)
49
+ })
50
+
51
+ test('WebSocketRequestError', () => {
52
+ const err = new WebSocketRequestError({
53
+ url: 'ws://eth-mainnet.g.alchemy.com/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC',
54
+ body: {
55
+ method: 'eth_getBlockByNumber',
56
+ params: [numberToHex(initialBlockNumber), false],
57
+ },
58
+ details: 'Some error',
59
+ })
60
+ expect(err).toMatchInlineSnapshot(`
61
+ [WebSocketRequestError: WebSocket request failed.
62
+
63
+ URL: ws://eth-mainnet.g.alchemy.com/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC
64
+ Request body: {"method":"eth_getBlockByNumber","params":["0xf86cc2",false]}
65
+
66
+ Details: Some error
67
+ Version: viem@1.0.2]
68
+ `)
69
+ })
70
+
71
+ test('TimeoutError', () => {
72
+ const err = new TimeoutError({
73
+ url: 'https://eth-mainnet.g.alchemy.com/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC',
74
+ body: {
75
+ method: 'eth_getBlockByNumber',
76
+ params: [numberToHex(initialBlockNumber), false],
77
+ },
78
+ })
79
+ expect(err).toMatchInlineSnapshot(`
80
+ [TimeoutError: The request took too long to respond.
81
+
82
+ URL: https://eth-mainnet.g.alchemy.com/v2/_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC
83
+ Request body: {"method":"eth_getBlockByNumber","params":["0xf86cc2",false]}
84
+
85
+ Details: The request timed out.
86
+ Version: viem@1.0.2]
87
+ `)
88
+ })
@@ -0,0 +1,113 @@
1
+ import { stringify } from '../utils'
2
+ import { BaseError } from './base'
3
+
4
+ export class HttpRequestError extends BaseError {
5
+ name = 'HttpRequestError'
6
+ status
7
+
8
+ constructor({
9
+ body,
10
+ details,
11
+ status,
12
+ url,
13
+ }: {
14
+ body: { [key: string]: unknown }
15
+ details: string
16
+ status: number
17
+ url: string
18
+ }) {
19
+ super(
20
+ [
21
+ 'HTTP request failed.',
22
+ '',
23
+ `Status: ${status}`,
24
+ `URL: ${url}`,
25
+ `Request body: ${stringify(body)}`,
26
+ ].join('\n'),
27
+ {
28
+ details,
29
+ },
30
+ )
31
+ this.status = status
32
+ }
33
+ }
34
+
35
+ export class WebSocketRequestError extends BaseError {
36
+ name = 'WebSocketRequestError'
37
+
38
+ constructor({
39
+ body,
40
+ details,
41
+ url,
42
+ }: {
43
+ body: { [key: string]: unknown }
44
+ details: string
45
+ url: string
46
+ }) {
47
+ super(
48
+ [
49
+ 'WebSocket request failed.',
50
+ '',
51
+ `URL: ${url}`,
52
+ `Request body: ${stringify(body)}`,
53
+ ].join('\n'),
54
+ {
55
+ details,
56
+ },
57
+ )
58
+ }
59
+ }
60
+
61
+ export class RpcError extends BaseError {
62
+ code: number
63
+
64
+ name = 'RpcError'
65
+
66
+ constructor({
67
+ body,
68
+ error,
69
+ url,
70
+ }: {
71
+ body: { [key: string]: unknown }
72
+ error: { code: number; message: string }
73
+ url: string
74
+ }) {
75
+ super(
76
+ [
77
+ 'RPC Request failed.',
78
+ '',
79
+ `URL: ${url}`,
80
+ `Request body: ${stringify(body)}`,
81
+ ].join('\n'),
82
+ {
83
+ cause: error as any,
84
+ details: error.message,
85
+ },
86
+ )
87
+ this.code = error.code
88
+ }
89
+ }
90
+
91
+ export class TimeoutError extends BaseError {
92
+ name = 'TimeoutError'
93
+
94
+ constructor({
95
+ body,
96
+ url,
97
+ }: {
98
+ body: { [key: string]: unknown }
99
+ url: string
100
+ }) {
101
+ super(
102
+ [
103
+ 'The request took too long to respond.',
104
+ '',
105
+ `URL: ${url}`,
106
+ `Request body: ${stringify(body)}`,
107
+ ].join('\n'),
108
+ {
109
+ details: 'The request timed out.',
110
+ },
111
+ )
112
+ }
113
+ }
@@ -0,0 +1,83 @@
1
+ import { describe, expect, test } from 'vitest'
2
+ import {
3
+ InvalidGasArgumentsError,
4
+ TransactionNotFoundError,
5
+ TransactionReceiptNotFoundError,
6
+ WaitForTransactionReceiptTimeoutError,
7
+ } from './transaction'
8
+
9
+ describe('TransactionNotFoundError', () => {
10
+ test('no args', async () => {
11
+ expect(new TransactionNotFoundError({})).toMatchInlineSnapshot(`
12
+ [TransactionNotFoundError: Transaction could not be found.
13
+
14
+ Version: viem@1.0.2]
15
+ `)
16
+ })
17
+
18
+ test('blockHash', async () => {
19
+ expect(
20
+ new TransactionNotFoundError({ blockHash: '0x123', index: 420 }),
21
+ ).toMatchInlineSnapshot(`
22
+ [TransactionNotFoundError: Transaction at block hash "0x123" at index "420" could not be found.
23
+
24
+ Version: viem@1.0.2]
25
+ `)
26
+ })
27
+
28
+ test('blockTag', async () => {
29
+ expect(
30
+ new TransactionNotFoundError({ blockTag: 'latest', index: 420 }),
31
+ ).toMatchInlineSnapshot(`
32
+ [TransactionNotFoundError: Transaction at block time "latest" at index "420" could not be found.
33
+
34
+ Version: viem@1.0.2]
35
+ `)
36
+ })
37
+
38
+ test('blockNumber', async () => {
39
+ expect(
40
+ new TransactionNotFoundError({ blockNumber: 42069n, index: 420 }),
41
+ ).toMatchInlineSnapshot(`
42
+ [TransactionNotFoundError: Transaction at block number "42069" at index "420" could not be found.
43
+
44
+ Version: viem@1.0.2]
45
+ `)
46
+ })
47
+
48
+ test('hash', async () => {
49
+ expect(
50
+ new TransactionNotFoundError({ hash: '0x123' }),
51
+ ).toMatchInlineSnapshot(`
52
+ [TransactionNotFoundError: Transaction with hash "0x123" could not be found.
53
+
54
+ Version: viem@1.0.2]
55
+ `)
56
+ })
57
+ })
58
+
59
+ test('TransactionReceiptNotFoundError', () => {
60
+ const error = new TransactionReceiptNotFoundError({
61
+ hash: '0xa4b1f606b66105fa45cb5db23d2f6597075701e7f0e2367f4e6a39d17a8cf98a',
62
+ })
63
+
64
+ expect(error.message).toMatchInlineSnapshot(`
65
+ "Transaction receipt with hash \\"0xa4b1f606b66105fa45cb5db23d2f6597075701e7f0e2367f4e6a39d17a8cf98a\\" could not be found. The Transaction may not be processed on a block yet.
66
+
67
+ Version: viem@1.0.2"
68
+ `)
69
+ })
70
+
71
+ test('WaitForTransactionReceiptTimeoutError', () => {
72
+ expect(() => {
73
+ throw new WaitForTransactionReceiptTimeoutError({ hash: '0x123' })
74
+ }).toThrowError(WaitForTransactionReceiptTimeoutError)
75
+ })
76
+
77
+ test('InvalidGasArgumentsError', () => {
78
+ expect(new InvalidGasArgumentsError()).toMatchInlineSnapshot(`
79
+ [InvalidGasArgumentsError: \`maxFeePerGas\` cannot be less than \`maxPriorityFeePerGas\`
80
+
81
+ Version: viem@1.0.2]
82
+ `)
83
+ })
@@ -0,0 +1,54 @@
1
+ import { BlockTag, Hash } from '../types'
2
+ import { BaseError } from './base'
3
+
4
+ export class InvalidGasArgumentsError extends BaseError {
5
+ name = 'InvalidGasArgumentsError'
6
+ constructor() {
7
+ super('`maxFeePerGas` cannot be less than `maxPriorityFeePerGas`')
8
+ }
9
+ }
10
+
11
+ export class TransactionNotFoundError extends BaseError {
12
+ name = 'TransactionNotFoundError'
13
+ constructor({
14
+ blockHash,
15
+ blockNumber,
16
+ blockTag,
17
+ hash,
18
+ index,
19
+ }: {
20
+ blockHash?: Hash
21
+ blockNumber?: bigint
22
+ blockTag?: BlockTag
23
+ hash?: Hash
24
+ index?: number
25
+ }) {
26
+ let identifier = 'Transaction'
27
+ if (blockTag && index !== undefined)
28
+ identifier = `Transaction at block time "${blockTag}" at index "${index}"`
29
+ if (blockHash && index !== undefined)
30
+ identifier = `Transaction at block hash "${blockHash}" at index "${index}"`
31
+ if (blockNumber && index !== undefined)
32
+ identifier = `Transaction at block number "${blockNumber}" at index "${index}"`
33
+ if (hash) identifier = `Transaction with hash "${hash}"`
34
+ super(`${identifier} could not be found.`)
35
+ }
36
+ }
37
+
38
+ export class TransactionReceiptNotFoundError extends BaseError {
39
+ name = 'TransactionReceiptNotFoundError'
40
+ constructor({ hash }: { hash: Hash }) {
41
+ super(
42
+ `Transaction receipt with hash "${hash}" could not be found. The Transaction may not be processed on a block yet.`,
43
+ )
44
+ }
45
+ }
46
+
47
+ export class WaitForTransactionReceiptTimeoutError extends BaseError {
48
+ name = 'WaitForTransactionReceiptTimeoutError'
49
+ constructor({ hash }: { hash: Hash }) {
50
+ super(
51
+ `Timed out while waiting for transaction with hash "${hash}" to be confirmed.`,
52
+ )
53
+ }
54
+ }
@@ -0,0 +1,12 @@
1
+ import { expect, test } from 'vitest'
2
+ import { UrlRequiredError } from './transport'
3
+
4
+ test('UrlRequiredError', () => {
5
+ expect(new UrlRequiredError()).toMatchInlineSnapshot(`
6
+ [ViemError: No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.
7
+
8
+ Docs: https://viem.sh/docs/clients/intro
9
+
10
+ Version: viem@1.0.2]
11
+ `)
12
+ })
@@ -0,0 +1,12 @@
1
+ import { BaseError } from './base'
2
+
3
+ export class UrlRequiredError extends BaseError {
4
+ constructor() {
5
+ super(
6
+ 'No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.',
7
+ {
8
+ docsPath: '/docs/clients/intro',
9
+ },
10
+ )
11
+ }
12
+ }