viem 0.3.0-tsc-nodenext-2.20230407T050527 → 0.3.1

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 (650) hide show
  1. package/dist/cjs/accounts/generateMnemonic.js +0 -7
  2. package/dist/cjs/accounts/generateMnemonic.js.map +1 -1
  3. package/dist/cjs/accounts/generatePrivateKey.js +0 -5
  4. package/dist/cjs/accounts/generatePrivateKey.js.map +1 -1
  5. package/dist/cjs/accounts/hdKeyToAccount.js +0 -5
  6. package/dist/cjs/accounts/hdKeyToAccount.js.map +1 -1
  7. package/dist/cjs/accounts/mnemonicToAccount.js +0 -5
  8. package/dist/cjs/accounts/mnemonicToAccount.js.map +1 -1
  9. package/dist/cjs/accounts/privateKeyToAccount.js +0 -5
  10. package/dist/cjs/accounts/privateKeyToAccount.js.map +1 -1
  11. package/dist/cjs/accounts/toAccount.js +0 -5
  12. package/dist/cjs/accounts/toAccount.js.map +1 -1
  13. package/dist/cjs/accounts/utils/publicKeyToAddress.js +0 -7
  14. package/dist/cjs/accounts/utils/publicKeyToAddress.js.map +1 -1
  15. package/dist/cjs/accounts/utils/sign.js +0 -8
  16. package/dist/cjs/accounts/utils/sign.js.map +1 -1
  17. package/dist/cjs/accounts/utils/signMessage.js +0 -6
  18. package/dist/cjs/accounts/utils/signMessage.js.map +1 -1
  19. package/dist/cjs/accounts/utils/signTypedData.js +0 -6
  20. package/dist/cjs/accounts/utils/signTypedData.js.map +1 -1
  21. package/dist/cjs/actions/ens/getEnsAddress.js +0 -6
  22. package/dist/cjs/actions/ens/getEnsAddress.js.map +1 -1
  23. package/dist/cjs/actions/ens/getEnsAvatar.js +0 -3
  24. package/dist/cjs/actions/ens/getEnsAvatar.js.map +1 -1
  25. package/dist/cjs/actions/ens/getEnsName.js +0 -12
  26. package/dist/cjs/actions/ens/getEnsName.js.map +1 -1
  27. package/dist/cjs/actions/ens/getEnsResolver.js +0 -3
  28. package/dist/cjs/actions/ens/getEnsResolver.js.map +1 -1
  29. package/dist/cjs/actions/ens/getEnsText.js +0 -15
  30. package/dist/cjs/actions/ens/getEnsText.js.map +1 -1
  31. package/dist/cjs/actions/getContract.js +0 -14
  32. package/dist/cjs/actions/getContract.js.map +1 -1
  33. package/dist/cjs/actions/public/call.js +0 -1
  34. package/dist/cjs/actions/public/call.js.map +1 -1
  35. package/dist/cjs/actions/public/createBlockFilter.js +5 -1
  36. package/dist/cjs/actions/public/createBlockFilter.js.map +1 -1
  37. package/dist/cjs/actions/public/createContractEventFilter.js +5 -0
  38. package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
  39. package/dist/cjs/actions/public/createEventFilter.js +5 -0
  40. package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
  41. package/dist/cjs/actions/public/createPendingTransactionFilter.js +5 -1
  42. package/dist/cjs/actions/public/createPendingTransactionFilter.js.map +1 -1
  43. package/dist/cjs/actions/public/estimateContractGas.js.map +1 -1
  44. package/dist/cjs/actions/public/estimateGas.js +0 -4
  45. package/dist/cjs/actions/public/estimateGas.js.map +1 -1
  46. package/dist/cjs/actions/public/getBalance.js +0 -3
  47. package/dist/cjs/actions/public/getBalance.js.map +1 -1
  48. package/dist/cjs/actions/public/getBlock.js.map +1 -1
  49. package/dist/cjs/actions/public/getBlockNumber.js +0 -3
  50. package/dist/cjs/actions/public/getBlockNumber.js.map +1 -1
  51. package/dist/cjs/actions/public/getBlockTransactionCount.js.map +1 -1
  52. package/dist/cjs/actions/public/getBytecode.js.map +1 -1
  53. package/dist/cjs/actions/public/getChainId.js.map +1 -1
  54. package/dist/cjs/actions/public/getFeeHistory.js +0 -3
  55. package/dist/cjs/actions/public/getFeeHistory.js.map +1 -1
  56. package/dist/cjs/actions/public/getFilterChanges.js +2 -3
  57. package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
  58. package/dist/cjs/actions/public/getFilterLogs.js +2 -3
  59. package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
  60. package/dist/cjs/actions/public/getGasPrice.js +0 -3
  61. package/dist/cjs/actions/public/getGasPrice.js.map +1 -1
  62. package/dist/cjs/actions/public/getLogs.js +0 -4
  63. package/dist/cjs/actions/public/getLogs.js.map +1 -1
  64. package/dist/cjs/actions/public/getStorageAt.js.map +1 -1
  65. package/dist/cjs/actions/public/getTransaction.js +0 -1
  66. package/dist/cjs/actions/public/getTransaction.js.map +1 -1
  67. package/dist/cjs/actions/public/getTransactionConfirmations.js.map +1 -1
  68. package/dist/cjs/actions/public/getTransactionCount.js +0 -3
  69. package/dist/cjs/actions/public/getTransactionCount.js.map +1 -1
  70. package/dist/cjs/actions/public/getTransactionReceipt.js.map +1 -1
  71. package/dist/cjs/actions/public/multicall.js +0 -1
  72. package/dist/cjs/actions/public/multicall.js.map +1 -1
  73. package/dist/cjs/actions/public/readContract.js.map +1 -1
  74. package/dist/cjs/actions/public/simulateContract.js.map +1 -1
  75. package/dist/cjs/actions/public/uninstallFilter.js +2 -2
  76. package/dist/cjs/actions/public/uninstallFilter.js.map +1 -1
  77. package/dist/cjs/actions/public/waitForTransactionReceipt.js +0 -11
  78. package/dist/cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  79. package/dist/cjs/actions/public/watchBlockNumber.js +0 -7
  80. package/dist/cjs/actions/public/watchBlockNumber.js.map +1 -1
  81. package/dist/cjs/actions/public/watchBlocks.js +1 -13
  82. package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
  83. package/dist/cjs/actions/public/watchContractEvent.js +0 -6
  84. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  85. package/dist/cjs/actions/public/watchEvent.js +0 -6
  86. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  87. package/dist/cjs/actions/public/watchPendingTransactions.js.map +1 -1
  88. package/dist/cjs/actions/wallet/deployContract.js.map +1 -1
  89. package/dist/cjs/actions/wallet/sendTransaction.js +0 -2
  90. package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
  91. package/dist/cjs/actions/wallet/signTypedData.js +0 -2
  92. package/dist/cjs/actions/wallet/signTypedData.js.map +1 -1
  93. package/dist/cjs/adapters/ethers.js +0 -5
  94. package/dist/cjs/adapters/ethers.js.map +1 -1
  95. package/dist/cjs/clients/createClient.js +0 -3
  96. package/dist/cjs/clients/createClient.js.map +1 -1
  97. package/dist/cjs/clients/createPublicClient.js +0 -3
  98. package/dist/cjs/clients/createPublicClient.js.map +1 -1
  99. package/dist/cjs/clients/createTestClient.js +0 -3
  100. package/dist/cjs/clients/createTestClient.js.map +1 -1
  101. package/dist/cjs/clients/createWalletClient.js +0 -3
  102. package/dist/cjs/clients/createWalletClient.js.map +1 -1
  103. package/dist/cjs/clients/decorators/public.js.map +1 -1
  104. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  105. package/dist/cjs/clients/transports/createTransport.js +0 -3
  106. package/dist/cjs/clients/transports/createTransport.js.map +1 -1
  107. package/dist/cjs/clients/transports/custom.js +0 -3
  108. package/dist/cjs/clients/transports/custom.js.map +1 -1
  109. package/dist/cjs/clients/transports/fallback.js +18 -12
  110. package/dist/cjs/clients/transports/fallback.js.map +1 -1
  111. package/dist/cjs/clients/transports/http.js +1 -6
  112. package/dist/cjs/clients/transports/http.js.map +1 -1
  113. package/dist/cjs/clients/transports/webSocket.js +1 -6
  114. package/dist/cjs/clients/transports/webSocket.js.map +1 -1
  115. package/dist/cjs/constants/abis.js +0 -1
  116. package/dist/cjs/constants/abis.js.map +1 -1
  117. package/dist/cjs/constants/solidity.js +0 -1
  118. package/dist/cjs/constants/solidity.js.map +1 -1
  119. package/dist/cjs/errors/abi.js.map +1 -1
  120. package/dist/cjs/errors/account.js.map +1 -1
  121. package/dist/cjs/errors/address.js.map +1 -1
  122. package/dist/cjs/errors/base.js +27 -21
  123. package/dist/cjs/errors/base.js.map +1 -1
  124. package/dist/cjs/errors/block.js.map +1 -1
  125. package/dist/cjs/errors/chain.js.map +1 -1
  126. package/dist/cjs/errors/contract.js.map +1 -1
  127. package/dist/cjs/errors/data.js.map +1 -1
  128. package/dist/cjs/errors/encoding.js.map +1 -1
  129. package/dist/cjs/errors/ens.js.map +1 -1
  130. package/dist/cjs/errors/estimateGas.js.map +1 -1
  131. package/dist/cjs/errors/index.js +27 -23
  132. package/dist/cjs/errors/index.js.map +1 -1
  133. package/dist/cjs/errors/log.js.map +1 -1
  134. package/dist/cjs/errors/node.js +0 -9
  135. package/dist/cjs/errors/node.js.map +1 -1
  136. package/dist/cjs/errors/request.js +50 -259
  137. package/dist/cjs/errors/request.js.map +1 -1
  138. package/dist/cjs/errors/rpc.js +271 -50
  139. package/dist/cjs/errors/rpc.js.map +1 -1
  140. package/dist/cjs/errors/transaction.js.map +1 -1
  141. package/dist/cjs/errors/version.js +1 -1
  142. package/dist/cjs/errors/version.js.map +1 -1
  143. package/dist/cjs/index.js +10 -5
  144. package/dist/cjs/index.js.map +1 -1
  145. package/dist/cjs/types/eip1193.js +0 -2
  146. package/dist/cjs/types/eip1193.js.map +1 -1
  147. package/dist/cjs/utils/abi/decodeAbiParameters.js +0 -29
  148. package/dist/cjs/utils/abi/decodeAbiParameters.js.map +1 -1
  149. package/dist/cjs/utils/abi/decodeEventLog.js +0 -2
  150. package/dist/cjs/utils/abi/decodeEventLog.js.map +1 -1
  151. package/dist/cjs/utils/abi/encodeAbiParameters.js +1 -10
  152. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  153. package/dist/cjs/utils/abi/getAbiItem.js +0 -7
  154. package/dist/cjs/utils/abi/getAbiItem.js.map +1 -1
  155. package/dist/cjs/utils/accounts.js +0 -3
  156. package/dist/cjs/utils/accounts.js.map +1 -1
  157. package/dist/cjs/utils/buildRequest.js +16 -3
  158. package/dist/cjs/utils/buildRequest.js.map +1 -1
  159. package/dist/cjs/utils/data/size.js +0 -6
  160. package/dist/cjs/utils/data/size.js.map +1 -1
  161. package/dist/cjs/utils/data/slice.js +0 -21
  162. package/dist/cjs/utils/data/slice.js.map +1 -1
  163. package/dist/cjs/utils/encoding/fromBytes.js +0 -15
  164. package/dist/cjs/utils/encoding/fromBytes.js.map +1 -1
  165. package/dist/cjs/utils/encoding/fromHex.js +0 -15
  166. package/dist/cjs/utils/encoding/fromHex.js.map +1 -1
  167. package/dist/cjs/utils/encoding/toBytes.js +0 -13
  168. package/dist/cjs/utils/encoding/toBytes.js.map +1 -1
  169. package/dist/cjs/utils/encoding/toHex.js +0 -15
  170. package/dist/cjs/utils/encoding/toHex.js.map +1 -1
  171. package/dist/cjs/utils/ens/avatar/parseAvatarRecord.js +2 -6
  172. package/dist/cjs/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
  173. package/dist/cjs/utils/ens/avatar/utils.js +0 -10
  174. package/dist/cjs/utils/ens/avatar/utils.js.map +1 -1
  175. package/dist/cjs/utils/ens/labelhash.js +0 -9
  176. package/dist/cjs/utils/ens/labelhash.js.map +1 -1
  177. package/dist/cjs/utils/ens/namehash.js +0 -12
  178. package/dist/cjs/utils/ens/namehash.js.map +1 -1
  179. package/dist/cjs/utils/ens/normalize.js +0 -10
  180. package/dist/cjs/utils/ens/normalize.js.map +1 -1
  181. package/dist/cjs/utils/ens/packetToBytes.js +0 -4
  182. package/dist/cjs/utils/ens/packetToBytes.js.map +1 -1
  183. package/dist/cjs/utils/errors/getNodeError.js +28 -27
  184. package/dist/cjs/utils/errors/getNodeError.js.map +1 -1
  185. package/dist/cjs/utils/filters/createFilterRequestScope.js +14 -0
  186. package/dist/cjs/utils/filters/createFilterRequestScope.js.map +1 -0
  187. package/dist/cjs/utils/formatters/block.js +0 -1
  188. package/dist/cjs/utils/formatters/block.js.map +1 -1
  189. package/dist/cjs/utils/formatters/extract.js +0 -3
  190. package/dist/cjs/utils/formatters/extract.js.map +1 -1
  191. package/dist/cjs/utils/formatters/format.js +0 -3
  192. package/dist/cjs/utils/formatters/format.js.map +1 -1
  193. package/dist/cjs/utils/index.js +2 -1
  194. package/dist/cjs/utils/index.js.map +1 -1
  195. package/dist/cjs/utils/observe.js +0 -5
  196. package/dist/cjs/utils/observe.js.map +1 -1
  197. package/dist/cjs/utils/poll.js +0 -3
  198. package/dist/cjs/utils/poll.js.map +1 -1
  199. package/dist/cjs/utils/promise/withCache.js +0 -13
  200. package/dist/cjs/utils/promise/withCache.js.map +1 -1
  201. package/dist/cjs/utils/regex.js +0 -4
  202. package/dist/cjs/utils/regex.js.map +1 -1
  203. package/dist/cjs/utils/rpc.js +3 -13
  204. package/dist/cjs/utils/rpc.js.map +1 -1
  205. package/dist/cjs/utils/signature/hashTypedData.js +0 -3
  206. package/dist/cjs/utils/signature/hashTypedData.js.map +1 -1
  207. package/dist/cjs/utils/signature/index.js +3 -1
  208. package/dist/cjs/utils/signature/index.js.map +1 -1
  209. package/dist/cjs/utils/signature/recoverAddress.js +2 -13
  210. package/dist/cjs/utils/signature/recoverAddress.js.map +1 -1
  211. package/dist/cjs/utils/signature/recoverPublicKey.js +18 -0
  212. package/dist/cjs/utils/signature/recoverPublicKey.js.map +1 -0
  213. package/dist/cjs/utils/transaction/prepareRequest.js +0 -4
  214. package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
  215. package/dist/cjs/utils/transaction/serializeTransaction.js +2 -4
  216. package/dist/cjs/utils/transaction/serializeTransaction.js.map +1 -1
  217. package/dist/cjs/utils/typedData.js +0 -4
  218. package/dist/cjs/utils/typedData.js.map +1 -1
  219. package/dist/cjs/utils/unit/parseUnits.js +0 -2
  220. package/dist/cjs/utils/unit/parseUnits.js.map +1 -1
  221. package/dist/esm/accounts/generateMnemonic.js +0 -7
  222. package/dist/esm/accounts/generateMnemonic.js.map +1 -1
  223. package/dist/esm/accounts/generatePrivateKey.js +0 -5
  224. package/dist/esm/accounts/generatePrivateKey.js.map +1 -1
  225. package/dist/esm/accounts/hdKeyToAccount.js +0 -5
  226. package/dist/esm/accounts/hdKeyToAccount.js.map +1 -1
  227. package/dist/esm/accounts/mnemonicToAccount.js +0 -5
  228. package/dist/esm/accounts/mnemonicToAccount.js.map +1 -1
  229. package/dist/esm/accounts/privateKeyToAccount.js +0 -5
  230. package/dist/esm/accounts/privateKeyToAccount.js.map +1 -1
  231. package/dist/esm/accounts/toAccount.js +0 -5
  232. package/dist/esm/accounts/toAccount.js.map +1 -1
  233. package/dist/esm/accounts/utils/publicKeyToAddress.js +0 -7
  234. package/dist/esm/accounts/utils/publicKeyToAddress.js.map +1 -1
  235. package/dist/esm/accounts/utils/sign.js +0 -8
  236. package/dist/esm/accounts/utils/sign.js.map +1 -1
  237. package/dist/esm/accounts/utils/signMessage.js +0 -6
  238. package/dist/esm/accounts/utils/signMessage.js.map +1 -1
  239. package/dist/esm/accounts/utils/signTypedData.js +0 -6
  240. package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
  241. package/dist/esm/actions/ens/getEnsAddress.js +0 -6
  242. package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
  243. package/dist/esm/actions/ens/getEnsAvatar.js +0 -3
  244. package/dist/esm/actions/ens/getEnsAvatar.js.map +1 -1
  245. package/dist/esm/actions/ens/getEnsName.js +0 -12
  246. package/dist/esm/actions/ens/getEnsName.js.map +1 -1
  247. package/dist/esm/actions/ens/getEnsResolver.js +0 -3
  248. package/dist/esm/actions/ens/getEnsResolver.js.map +1 -1
  249. package/dist/esm/actions/ens/getEnsText.js +0 -15
  250. package/dist/esm/actions/ens/getEnsText.js.map +1 -1
  251. package/dist/esm/actions/getContract.js +0 -14
  252. package/dist/esm/actions/getContract.js.map +1 -1
  253. package/dist/esm/actions/public/call.js +0 -1
  254. package/dist/esm/actions/public/call.js.map +1 -1
  255. package/dist/esm/actions/public/createBlockFilter.js +5 -1
  256. package/dist/esm/actions/public/createBlockFilter.js.map +1 -1
  257. package/dist/esm/actions/public/createContractEventFilter.js +5 -0
  258. package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
  259. package/dist/esm/actions/public/createEventFilter.js +5 -0
  260. package/dist/esm/actions/public/createEventFilter.js.map +1 -1
  261. package/dist/esm/actions/public/createPendingTransactionFilter.js +5 -1
  262. package/dist/esm/actions/public/createPendingTransactionFilter.js.map +1 -1
  263. package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
  264. package/dist/esm/actions/public/estimateGas.js +0 -4
  265. package/dist/esm/actions/public/estimateGas.js.map +1 -1
  266. package/dist/esm/actions/public/getBalance.js +0 -3
  267. package/dist/esm/actions/public/getBalance.js.map +1 -1
  268. package/dist/esm/actions/public/getBlock.js.map +1 -1
  269. package/dist/esm/actions/public/getBlockNumber.js +0 -3
  270. package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
  271. package/dist/esm/actions/public/getBlockTransactionCount.js.map +1 -1
  272. package/dist/esm/actions/public/getBytecode.js.map +1 -1
  273. package/dist/esm/actions/public/getChainId.js.map +1 -1
  274. package/dist/esm/actions/public/getFeeHistory.js +0 -3
  275. package/dist/esm/actions/public/getFeeHistory.js.map +1 -1
  276. package/dist/esm/actions/public/getFilterChanges.js +2 -3
  277. package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
  278. package/dist/esm/actions/public/getFilterLogs.js +2 -3
  279. package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
  280. package/dist/esm/actions/public/getGasPrice.js +0 -3
  281. package/dist/esm/actions/public/getGasPrice.js.map +1 -1
  282. package/dist/esm/actions/public/getLogs.js +0 -4
  283. package/dist/esm/actions/public/getLogs.js.map +1 -1
  284. package/dist/esm/actions/public/getStorageAt.js.map +1 -1
  285. package/dist/esm/actions/public/getTransaction.js +0 -1
  286. package/dist/esm/actions/public/getTransaction.js.map +1 -1
  287. package/dist/esm/actions/public/getTransactionConfirmations.js.map +1 -1
  288. package/dist/esm/actions/public/getTransactionCount.js +0 -3
  289. package/dist/esm/actions/public/getTransactionCount.js.map +1 -1
  290. package/dist/esm/actions/public/getTransactionReceipt.js.map +1 -1
  291. package/dist/esm/actions/public/multicall.js +0 -1
  292. package/dist/esm/actions/public/multicall.js.map +1 -1
  293. package/dist/esm/actions/public/readContract.js.map +1 -1
  294. package/dist/esm/actions/public/simulateContract.js.map +1 -1
  295. package/dist/esm/actions/public/uninstallFilter.js +2 -2
  296. package/dist/esm/actions/public/uninstallFilter.js.map +1 -1
  297. package/dist/esm/actions/public/waitForTransactionReceipt.js +0 -11
  298. package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
  299. package/dist/esm/actions/public/watchBlockNumber.js +0 -7
  300. package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
  301. package/dist/esm/actions/public/watchBlocks.js +1 -13
  302. package/dist/esm/actions/public/watchBlocks.js.map +1 -1
  303. package/dist/esm/actions/public/watchContractEvent.js +0 -6
  304. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  305. package/dist/esm/actions/public/watchEvent.js +0 -6
  306. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  307. package/dist/esm/actions/public/watchPendingTransactions.js.map +1 -1
  308. package/dist/esm/actions/wallet/deployContract.js.map +1 -1
  309. package/dist/esm/actions/wallet/sendTransaction.js +0 -2
  310. package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
  311. package/dist/esm/actions/wallet/signTypedData.js +0 -2
  312. package/dist/esm/actions/wallet/signTypedData.js.map +1 -1
  313. package/dist/esm/adapters/ethers.js +0 -5
  314. package/dist/esm/adapters/ethers.js.map +1 -1
  315. package/dist/esm/clients/createClient.js +0 -3
  316. package/dist/esm/clients/createClient.js.map +1 -1
  317. package/dist/esm/clients/createPublicClient.js +0 -3
  318. package/dist/esm/clients/createPublicClient.js.map +1 -1
  319. package/dist/esm/clients/createTestClient.js +0 -3
  320. package/dist/esm/clients/createTestClient.js.map +1 -1
  321. package/dist/esm/clients/createWalletClient.js +0 -3
  322. package/dist/esm/clients/createWalletClient.js.map +1 -1
  323. package/dist/esm/clients/decorators/public.js.map +1 -1
  324. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  325. package/dist/esm/clients/transports/createTransport.js +0 -3
  326. package/dist/esm/clients/transports/createTransport.js.map +1 -1
  327. package/dist/esm/clients/transports/custom.js +0 -3
  328. package/dist/esm/clients/transports/custom.js.map +1 -1
  329. package/dist/esm/clients/transports/fallback.js +18 -12
  330. package/dist/esm/clients/transports/fallback.js.map +1 -1
  331. package/dist/esm/clients/transports/http.js +1 -6
  332. package/dist/esm/clients/transports/http.js.map +1 -1
  333. package/dist/esm/clients/transports/webSocket.js +1 -6
  334. package/dist/esm/clients/transports/webSocket.js.map +1 -1
  335. package/dist/esm/constants/abis.js +0 -1
  336. package/dist/esm/constants/abis.js.map +1 -1
  337. package/dist/esm/constants/solidity.js +0 -1
  338. package/dist/esm/constants/solidity.js.map +1 -1
  339. package/dist/esm/errors/abi.js.map +1 -1
  340. package/dist/esm/errors/account.js.map +1 -1
  341. package/dist/esm/errors/address.js.map +1 -1
  342. package/dist/esm/errors/base.js +27 -21
  343. package/dist/esm/errors/base.js.map +1 -1
  344. package/dist/esm/errors/block.js.map +1 -1
  345. package/dist/esm/errors/chain.js.map +1 -1
  346. package/dist/esm/errors/contract.js.map +1 -1
  347. package/dist/esm/errors/data.js.map +1 -1
  348. package/dist/esm/errors/encoding.js.map +1 -1
  349. package/dist/esm/errors/ens.js.map +1 -1
  350. package/dist/esm/errors/estimateGas.js.map +1 -1
  351. package/dist/esm/errors/index.js +4 -4
  352. package/dist/esm/errors/index.js.map +1 -1
  353. package/dist/esm/errors/log.js.map +1 -1
  354. package/dist/esm/errors/node.js +0 -9
  355. package/dist/esm/errors/node.js.map +1 -1
  356. package/dist/esm/errors/request.js +45 -241
  357. package/dist/esm/errors/request.js.map +1 -1
  358. package/dist/esm/errors/rpc.js +249 -45
  359. package/dist/esm/errors/rpc.js.map +1 -1
  360. package/dist/esm/errors/transaction.js.map +1 -1
  361. package/dist/esm/errors/version.js +1 -1
  362. package/dist/esm/errors/version.js.map +1 -1
  363. package/dist/esm/index.js +2 -2
  364. package/dist/esm/index.js.map +1 -1
  365. package/dist/esm/types/eip1193.js +0 -2
  366. package/dist/esm/types/eip1193.js.map +1 -1
  367. package/dist/esm/utils/abi/decodeAbiParameters.js +0 -29
  368. package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
  369. package/dist/esm/utils/abi/decodeEventLog.js +0 -2
  370. package/dist/esm/utils/abi/decodeEventLog.js.map +1 -1
  371. package/dist/esm/utils/abi/encodeAbiParameters.js +1 -10
  372. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  373. package/dist/esm/utils/abi/getAbiItem.js +0 -7
  374. package/dist/esm/utils/abi/getAbiItem.js.map +1 -1
  375. package/dist/esm/utils/accounts.js +0 -3
  376. package/dist/esm/utils/accounts.js.map +1 -1
  377. package/dist/esm/utils/buildRequest.js +16 -3
  378. package/dist/esm/utils/buildRequest.js.map +1 -1
  379. package/dist/esm/utils/data/size.js +0 -6
  380. package/dist/esm/utils/data/size.js.map +1 -1
  381. package/dist/esm/utils/data/slice.js +0 -21
  382. package/dist/esm/utils/data/slice.js.map +1 -1
  383. package/dist/esm/utils/encoding/fromBytes.js +0 -15
  384. package/dist/esm/utils/encoding/fromBytes.js.map +1 -1
  385. package/dist/esm/utils/encoding/fromHex.js +0 -15
  386. package/dist/esm/utils/encoding/fromHex.js.map +1 -1
  387. package/dist/esm/utils/encoding/toBytes.js +0 -13
  388. package/dist/esm/utils/encoding/toBytes.js.map +1 -1
  389. package/dist/esm/utils/encoding/toHex.js +0 -15
  390. package/dist/esm/utils/encoding/toHex.js.map +1 -1
  391. package/dist/esm/utils/ens/avatar/parseAvatarRecord.js +2 -6
  392. package/dist/esm/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
  393. package/dist/esm/utils/ens/avatar/utils.js +0 -10
  394. package/dist/esm/utils/ens/avatar/utils.js.map +1 -1
  395. package/dist/esm/utils/ens/labelhash.js +0 -9
  396. package/dist/esm/utils/ens/labelhash.js.map +1 -1
  397. package/dist/esm/utils/ens/namehash.js +0 -12
  398. package/dist/esm/utils/ens/namehash.js.map +1 -1
  399. package/dist/esm/utils/ens/normalize.js +0 -10
  400. package/dist/esm/utils/ens/normalize.js.map +1 -1
  401. package/dist/esm/utils/ens/packetToBytes.js +0 -4
  402. package/dist/esm/utils/ens/packetToBytes.js.map +1 -1
  403. package/dist/esm/utils/errors/getNodeError.js +3 -2
  404. package/dist/esm/utils/errors/getNodeError.js.map +1 -1
  405. package/dist/esm/utils/filters/createFilterRequestScope.js +10 -0
  406. package/dist/esm/utils/filters/createFilterRequestScope.js.map +1 -0
  407. package/dist/esm/utils/formatters/block.js +0 -1
  408. package/dist/esm/utils/formatters/block.js.map +1 -1
  409. package/dist/esm/utils/formatters/extract.js +0 -3
  410. package/dist/esm/utils/formatters/extract.js.map +1 -1
  411. package/dist/esm/utils/formatters/format.js +0 -3
  412. package/dist/esm/utils/formatters/format.js.map +1 -1
  413. package/dist/esm/utils/index.js +1 -1
  414. package/dist/esm/utils/index.js.map +1 -1
  415. package/dist/esm/utils/observe.js +0 -5
  416. package/dist/esm/utils/observe.js.map +1 -1
  417. package/dist/esm/utils/poll.js +0 -3
  418. package/dist/esm/utils/poll.js.map +1 -1
  419. package/dist/esm/utils/promise/withCache.js +0 -13
  420. package/dist/esm/utils/promise/withCache.js.map +1 -1
  421. package/dist/esm/utils/regex.js +0 -4
  422. package/dist/esm/utils/regex.js.map +1 -1
  423. package/dist/esm/utils/rpc.js +4 -14
  424. package/dist/esm/utils/rpc.js.map +1 -1
  425. package/dist/esm/utils/signature/hashTypedData.js +0 -3
  426. package/dist/esm/utils/signature/hashTypedData.js.map +1 -1
  427. package/dist/esm/utils/signature/index.js +1 -0
  428. package/dist/esm/utils/signature/index.js.map +1 -1
  429. package/dist/esm/utils/signature/recoverAddress.js +2 -13
  430. package/dist/esm/utils/signature/recoverAddress.js.map +1 -1
  431. package/dist/esm/utils/signature/recoverPublicKey.js +14 -0
  432. package/dist/esm/utils/signature/recoverPublicKey.js.map +1 -0
  433. package/dist/esm/utils/transaction/prepareRequest.js +0 -4
  434. package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
  435. package/dist/esm/utils/transaction/serializeTransaction.js +2 -4
  436. package/dist/esm/utils/transaction/serializeTransaction.js.map +1 -1
  437. package/dist/esm/utils/typedData.js +0 -4
  438. package/dist/esm/utils/typedData.js.map +1 -1
  439. package/dist/esm/utils/unit/parseUnits.js +0 -2
  440. package/dist/esm/utils/unit/parseUnits.js.map +1 -1
  441. package/dist/types/actions/ens/getEnsAddress.d.ts +28 -5
  442. package/dist/types/actions/ens/getEnsAddress.d.ts.map +1 -1
  443. package/dist/types/actions/ens/getEnsAvatar.d.ts +28 -2
  444. package/dist/types/actions/ens/getEnsAvatar.d.ts.map +1 -1
  445. package/dist/types/actions/ens/getEnsName.d.ts +19 -3
  446. package/dist/types/actions/ens/getEnsName.d.ts.map +1 -1
  447. package/dist/types/actions/ens/getEnsResolver.d.ts +29 -3
  448. package/dist/types/actions/ens/getEnsResolver.d.ts.map +1 -1
  449. package/dist/types/actions/ens/getEnsText.d.ts +22 -7
  450. package/dist/types/actions/ens/getEnsText.d.ts.map +1 -1
  451. package/dist/types/actions/getContract.d.ts +42 -3
  452. package/dist/types/actions/getContract.d.ts.map +1 -1
  453. package/dist/types/actions/public/call.d.ts +29 -1
  454. package/dist/types/actions/public/call.d.ts.map +1 -1
  455. package/dist/types/actions/public/createBlockFilter.d.ts +21 -0
  456. package/dist/types/actions/public/createBlockFilter.d.ts.map +1 -1
  457. package/dist/types/actions/public/createContractEventFilter.d.ts +22 -0
  458. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  459. package/dist/types/actions/public/createEventFilter.d.ts +23 -0
  460. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  461. package/dist/types/actions/public/createPendingTransactionFilter.d.ts +21 -0
  462. package/dist/types/actions/public/createPendingTransactionFilter.d.ts.map +1 -1
  463. package/dist/types/actions/public/estimateContractGas.d.ts +28 -0
  464. package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
  465. package/dist/types/actions/public/estimateGas.d.ts +27 -2
  466. package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
  467. package/dist/types/actions/public/getBalance.d.ts +34 -1
  468. package/dist/types/actions/public/getBalance.d.ts.map +1 -1
  469. package/dist/types/actions/public/getBlock.d.ts +28 -1
  470. package/dist/types/actions/public/getBlock.d.ts.map +1 -1
  471. package/dist/types/actions/public/getBlockNumber.d.ts +21 -1
  472. package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
  473. package/dist/types/actions/public/getBlockTransactionCount.d.ts +23 -0
  474. package/dist/types/actions/public/getBlockTransactionCount.d.ts.map +1 -1
  475. package/dist/types/actions/public/getBytecode.d.ts +23 -0
  476. package/dist/types/actions/public/getBytecode.d.ts.map +1 -1
  477. package/dist/types/actions/public/getChainId.d.ts +21 -0
  478. package/dist/types/actions/public/getChainId.d.ts.map +1 -1
  479. package/dist/types/actions/public/getFeeHistory.d.ts +33 -1
  480. package/dist/types/actions/public/getFeeHistory.d.ts.map +1 -1
  481. package/dist/types/actions/public/getFilterChanges.d.ts +84 -1
  482. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  483. package/dist/types/actions/public/getFilterLogs.d.ts +29 -1
  484. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  485. package/dist/types/actions/public/getGasPrice.d.ts +18 -1
  486. package/dist/types/actions/public/getGasPrice.d.ts.map +1 -1
  487. package/dist/types/actions/public/getLogs.d.ts +22 -3
  488. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  489. package/dist/types/actions/public/getStorageAt.d.ts +24 -0
  490. package/dist/types/actions/public/getStorageAt.d.ts.map +1 -1
  491. package/dist/types/actions/public/getTransaction.d.ts +24 -1
  492. package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
  493. package/dist/types/actions/public/getTransactionConfirmations.d.ts +24 -0
  494. package/dist/types/actions/public/getTransactionConfirmations.d.ts.map +1 -1
  495. package/dist/types/actions/public/getTransactionCount.d.ts +21 -1
  496. package/dist/types/actions/public/getTransactionCount.d.ts.map +1 -1
  497. package/dist/types/actions/public/getTransactionReceipt.d.ts +24 -0
  498. package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
  499. package/dist/types/actions/public/multicall.d.ts +39 -0
  500. package/dist/types/actions/public/multicall.d.ts.map +1 -1
  501. package/dist/types/actions/public/readContract.d.ts +32 -0
  502. package/dist/types/actions/public/readContract.d.ts.map +1 -1
  503. package/dist/types/actions/public/simulateContract.d.ts +32 -0
  504. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  505. package/dist/types/actions/public/uninstallFilter.d.ts +26 -1
  506. package/dist/types/actions/public/uninstallFilter.d.ts.map +1 -1
  507. package/dist/types/actions/public/waitForTransactionReceipt.d.ts +48 -2
  508. package/dist/types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
  509. package/dist/types/actions/public/watchBlockNumber.d.ts +25 -1
  510. package/dist/types/actions/public/watchBlockNumber.d.ts.map +1 -1
  511. package/dist/types/actions/public/watchBlocks.d.ts +24 -2
  512. package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
  513. package/dist/types/actions/public/watchContractEvent.d.ts +31 -0
  514. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  515. package/dist/types/actions/public/watchEvent.d.ts +37 -1
  516. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  517. package/dist/types/actions/public/watchPendingTransactions.d.ts +47 -4
  518. package/dist/types/actions/public/watchPendingTransactions.d.ts.map +1 -1
  519. package/dist/types/actions/wallet/deployContract.d.ts +27 -0
  520. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  521. package/dist/types/clients/decorators/public.d.ts +996 -1
  522. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  523. package/dist/types/clients/decorators/wallet.d.ts +25 -0
  524. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  525. package/dist/types/clients/transports/fallback.d.ts +14 -0
  526. package/dist/types/clients/transports/fallback.d.ts.map +1 -1
  527. package/dist/types/errors/abi.d.ts.map +1 -1
  528. package/dist/types/errors/account.d.ts.map +1 -1
  529. package/dist/types/errors/address.d.ts.map +1 -1
  530. package/dist/types/errors/base.d.ts +1 -0
  531. package/dist/types/errors/base.d.ts.map +1 -1
  532. package/dist/types/errors/block.d.ts.map +1 -1
  533. package/dist/types/errors/chain.d.ts.map +1 -1
  534. package/dist/types/errors/contract.d.ts.map +1 -1
  535. package/dist/types/errors/data.d.ts.map +1 -1
  536. package/dist/types/errors/encoding.d.ts.map +1 -1
  537. package/dist/types/errors/ens.d.ts.map +1 -1
  538. package/dist/types/errors/estimateGas.d.ts.map +1 -1
  539. package/dist/types/errors/index.d.ts +4 -4
  540. package/dist/types/errors/index.d.ts.map +1 -1
  541. package/dist/types/errors/log.d.ts.map +1 -1
  542. package/dist/types/errors/node.d.ts.map +1 -1
  543. package/dist/types/errors/request.d.ts +42 -80
  544. package/dist/types/errors/request.d.ts.map +1 -1
  545. package/dist/types/errors/rpc.d.ts +189 -43
  546. package/dist/types/errors/rpc.d.ts.map +1 -1
  547. package/dist/types/errors/transaction.d.ts.map +1 -1
  548. package/dist/types/errors/version.d.ts +1 -1
  549. package/dist/types/errors/version.d.ts.map +1 -1
  550. package/dist/types/index.d.ts +4 -4
  551. package/dist/types/index.d.ts.map +1 -1
  552. package/dist/types/types/eip1193.d.ts +2 -1
  553. package/dist/types/types/eip1193.d.ts.map +1 -1
  554. package/dist/types/types/filter.d.ts +2 -0
  555. package/dist/types/types/filter.d.ts.map +1 -1
  556. package/dist/types/types/index.d.ts +1 -0
  557. package/dist/types/types/index.d.ts.map +1 -1
  558. package/dist/types/types/window.d.ts +2 -4
  559. package/dist/types/types/window.d.ts.map +1 -1
  560. package/dist/types/utils/abi/getAbiItem.d.ts +1 -1
  561. package/dist/types/utils/abi/getAbiItem.d.ts.map +1 -1
  562. package/dist/types/utils/buildRequest.d.ts.map +1 -1
  563. package/dist/types/utils/errors/getNodeError.d.ts +1 -1
  564. package/dist/types/utils/errors/getNodeError.d.ts.map +1 -1
  565. package/dist/types/utils/filters/createFilterRequestScope.d.ts +16 -0
  566. package/dist/types/utils/filters/createFilterRequestScope.d.ts.map +1 -0
  567. package/dist/types/utils/index.d.ts +2 -2
  568. package/dist/types/utils/index.d.ts.map +1 -1
  569. package/dist/types/utils/rpc.d.ts.map +1 -1
  570. package/dist/types/utils/signature/index.d.ts +2 -0
  571. package/dist/types/utils/signature/index.d.ts.map +1 -1
  572. package/dist/types/utils/signature/recoverAddress.d.ts.map +1 -1
  573. package/dist/types/utils/signature/recoverPublicKey.d.ts +8 -0
  574. package/dist/types/utils/signature/recoverPublicKey.d.ts.map +1 -0
  575. package/package.json +2 -2
  576. package/src/actions/ens/getEnsAddress.ts +28 -5
  577. package/src/actions/ens/getEnsAvatar.ts +28 -2
  578. package/src/actions/ens/getEnsName.ts +19 -3
  579. package/src/actions/ens/getEnsResolver.ts +29 -3
  580. package/src/actions/ens/getEnsText.ts +22 -7
  581. package/src/actions/getContract.ts +42 -3
  582. package/src/actions/public/call.ts +29 -1
  583. package/src/actions/public/createBlockFilter.ts +26 -1
  584. package/src/actions/public/createContractEventFilter.ts +28 -0
  585. package/src/actions/public/createEventFilter.ts +30 -0
  586. package/src/actions/public/createPendingTransactionFilter.ts +26 -1
  587. package/src/actions/public/estimateContractGas.ts +28 -0
  588. package/src/actions/public/estimateGas.ts +27 -2
  589. package/src/actions/public/getBalance.ts +34 -1
  590. package/src/actions/public/getBlock.ts +28 -1
  591. package/src/actions/public/getBlockNumber.ts +21 -1
  592. package/src/actions/public/getBlockTransactionCount.ts +23 -0
  593. package/src/actions/public/getBytecode.ts +23 -0
  594. package/src/actions/public/getChainId.ts +21 -0
  595. package/src/actions/public/getFeeHistory.ts +33 -1
  596. package/src/actions/public/getFilterChanges.ts +85 -2
  597. package/src/actions/public/getFilterLogs.ts +30 -2
  598. package/src/actions/public/getGasPrice.ts +18 -1
  599. package/src/actions/public/getLogs.ts +23 -4
  600. package/src/actions/public/getStorageAt.ts +24 -0
  601. package/src/actions/public/getTransaction.ts +24 -1
  602. package/src/actions/public/getTransactionConfirmations.ts +24 -0
  603. package/src/actions/public/getTransactionCount.ts +21 -1
  604. package/src/actions/public/getTransactionReceipt.ts +24 -0
  605. package/src/actions/public/multicall.ts +39 -0
  606. package/src/actions/public/readContract.ts +32 -0
  607. package/src/actions/public/simulateContract.ts +32 -0
  608. package/src/actions/public/uninstallFilter.ts +27 -2
  609. package/src/actions/public/waitForTransactionReceipt.ts +48 -2
  610. package/src/actions/public/watchBlockNumber.ts +25 -1
  611. package/src/actions/public/watchBlocks.ts +24 -2
  612. package/src/actions/public/watchContractEvent.ts +31 -0
  613. package/src/actions/public/watchEvent.ts +37 -1
  614. package/src/actions/public/watchPendingTransactions.ts +49 -4
  615. package/src/actions/wallet/deployContract.ts +27 -0
  616. package/src/clients/decorators/public.ts +996 -1
  617. package/src/clients/decorators/wallet.ts +25 -0
  618. package/src/clients/transports/fallback.ts +46 -2
  619. package/src/errors/abi.ts +25 -25
  620. package/src/errors/account.ts +1 -1
  621. package/src/errors/address.ts +1 -1
  622. package/src/errors/base.ts +7 -5
  623. package/src/errors/block.ts +1 -1
  624. package/src/errors/chain.ts +4 -4
  625. package/src/errors/contract.ts +7 -7
  626. package/src/errors/data.ts +1 -1
  627. package/src/errors/encoding.ts +7 -7
  628. package/src/errors/ens.ts +4 -4
  629. package/src/errors/estimateGas.ts +2 -2
  630. package/src/errors/index.ts +15 -11
  631. package/src/errors/log.ts +1 -1
  632. package/src/errors/node.ts +12 -12
  633. package/src/errors/request.ts +82 -175
  634. package/src/errors/rpc.ts +355 -89
  635. package/src/errors/transaction.ts +11 -11
  636. package/src/errors/version.ts +1 -1
  637. package/src/index.ts +9 -1
  638. package/src/types/eip1193.ts +6 -1
  639. package/src/types/filter.ts +3 -0
  640. package/src/types/index.ts +2 -0
  641. package/src/types/window.ts +2 -4
  642. package/src/utils/abi/getAbiItem.ts +9 -8
  643. package/src/utils/buildRequest.ts +19 -1
  644. package/src/utils/errors/getNodeError.ts +2 -3
  645. package/src/utils/filters/createFilterRequestScope.ts +42 -0
  646. package/src/utils/index.ts +3 -0
  647. package/src/utils/rpc.ts +6 -4
  648. package/src/utils/signature/index.ts +6 -0
  649. package/src/utils/signature/recoverAddress.ts +2 -17
  650. package/src/utils/signature/recoverPublicKey.ts +30 -0
package/src/errors/rpc.ts CHANGED
@@ -1,98 +1,364 @@
1
- import { stringify } from '../utils/index.js'
2
1
  import { BaseError } from './base.js'
3
- import { getUrl } from './utils.js'
4
-
5
- export class HttpRequestError extends BaseError {
6
- name = 'HttpRequestError'
7
-
8
- body: { [key: string]: unknown }
9
- headers?: Headers
10
- status?: number
11
- url: string
12
-
13
- constructor({
14
- body,
15
- details,
16
- headers,
17
- status,
18
- url,
19
- }: {
20
- body: { [key: string]: unknown }
21
- details?: string
22
- headers?: Headers
23
- status?: number
24
- url: string
25
- }) {
26
- super('HTTP request failed.', {
27
- details,
28
- metaMessages: [
29
- status && `Status: ${status}`,
30
- `URL: ${getUrl(url)}`,
31
- `Request body: ${stringify(body)}`,
32
- ].filter(Boolean) as string[],
33
- })
34
- this.body = body
35
- this.headers = headers
36
- this.status = status
37
- this.url = url
38
- }
39
- }
40
-
41
- export class WebSocketRequestError extends BaseError {
42
- name = 'WebSocketRequestError'
43
-
44
- constructor({
45
- body,
46
- details,
47
- url,
48
- }: {
49
- body: { [key: string]: unknown }
50
- details: string
51
- url: string
52
- }) {
53
- super('WebSocket request failed.', {
54
- details,
55
- metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
56
- })
57
- }
2
+ import { RpcRequestError } from './request.js'
3
+
4
+ const unknownErrorCode = -1
5
+
6
+ type RpcErrorOptions = {
7
+ code?: number
8
+ docsPath?: string
9
+ metaMessages?: string[]
10
+ shortMessage: string
58
11
  }
59
12
 
13
+ /**
14
+ * Error subclass implementing JSON RPC 2.0 errors and Ethereum RPC errors per EIP-1474.
15
+ *
16
+ * - EIP https://eips.ethereum.org/EIPS/eip-1474
17
+ */
60
18
  export class RpcError extends BaseError {
61
19
  code: number
62
20
 
63
- name = 'RpcError'
64
-
65
- constructor({
66
- body,
67
- error,
68
- url,
69
- }: {
70
- body: { [key: string]: unknown }
71
- error: { code: number; message: string }
72
- url: string
73
- }) {
74
- super('RPC Request failed.', {
75
- cause: error as any,
76
- details: error.message,
77
- metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
78
- })
79
- this.code = error.code
80
- }
81
- }
82
-
83
- export class TimeoutError extends BaseError {
84
- name = 'TimeoutError'
85
-
86
- constructor({
87
- body,
88
- url,
89
- }: {
90
- body: { [key: string]: unknown }
91
- url: string
92
- }) {
93
- super('The request took too long to respond.', {
94
- details: 'The request timed out.',
95
- metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
21
+ constructor(
22
+ cause: Error,
23
+ {
24
+ code = unknownErrorCode,
25
+ docsPath,
26
+ metaMessages,
27
+ shortMessage,
28
+ }: RpcErrorOptions,
29
+ ) {
30
+ super(shortMessage, {
31
+ cause,
32
+ docsPath,
33
+ metaMessages:
34
+ metaMessages || (cause as { metaMessages?: string[] })?.metaMessages,
35
+ })
36
+ this.name = cause.name
37
+ this.code = cause instanceof RpcRequestError ? cause.code : code
38
+ }
39
+ }
40
+
41
+ /**
42
+ * Error subclass implementing Ethereum Provider errors per EIP-1193.
43
+ *
44
+ * - EIP https://eips.ethereum.org/EIPS/eip-1193
45
+ */
46
+ export class ProviderRpcError<T = undefined> extends RpcError {
47
+ override name = 'ProviderRpcError'
48
+
49
+ data?: T
50
+
51
+ constructor(
52
+ cause: Error,
53
+ options: RpcErrorOptions & {
54
+ data?: T
55
+ },
56
+ ) {
57
+ super(cause, options)
58
+
59
+ this.data = options.data
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Subclass for a "Parse error" EIP-1474 error.
65
+ *
66
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
67
+ */
68
+ export class ParseRpcError extends RpcError {
69
+ override name = 'ParseRpcError'
70
+
71
+ constructor(cause: Error) {
72
+ super(cause, {
73
+ code: -32700,
74
+ shortMessage:
75
+ 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',
76
+ })
77
+ }
78
+ }
79
+
80
+ /**
81
+ * Subclass for a "Invalid request" EIP-1474 error.
82
+ *
83
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
84
+ */
85
+ export class InvalidRequestRpcError extends RpcError {
86
+ override name = 'InvalidRequestRpcError'
87
+
88
+ constructor(cause: Error) {
89
+ super(cause, {
90
+ code: -32600,
91
+ shortMessage: 'JSON is not a valid request object.',
92
+ })
93
+ }
94
+ }
95
+
96
+ /**
97
+ * Subclass for a "Method not found" EIP-1474 error.
98
+ *
99
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
100
+ */
101
+ export class MethodNotFoundRpcError extends RpcError {
102
+ override name = 'MethodNotFoundRpcError'
103
+
104
+ constructor(cause: Error) {
105
+ super(cause, {
106
+ code: -32601,
107
+ shortMessage: 'The method does not exist / is not available.',
108
+ })
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Subclass for an "Invalid params" EIP-1474 error.
114
+ *
115
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
116
+ */
117
+ export class InvalidParamsRpcError extends RpcError {
118
+ override name = 'InvalidParamsRpcError'
119
+
120
+ constructor(cause: Error) {
121
+ super(cause, {
122
+ code: -32602,
123
+ shortMessage: [
124
+ 'Invalid parameters were provided to the RPC method.',
125
+ 'Double check you have provided the correct parameters.',
126
+ ].join('\n'),
127
+ })
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Subclass for an "Internal error" EIP-1474 error.
133
+ *
134
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
135
+ */
136
+ export class InternalRpcError extends RpcError {
137
+ override name = 'InternalRpcError'
138
+
139
+ constructor(cause: Error) {
140
+ super(cause, {
141
+ code: -32603,
142
+ shortMessage: 'An internal error was received.',
143
+ })
144
+ }
145
+ }
146
+
147
+ /**
148
+ * Subclass for an "Invalid input" EIP-1474 error.
149
+ *
150
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
151
+ */
152
+ export class InvalidInputRpcError extends RpcError {
153
+ override name = 'InvalidInputRpcError'
154
+
155
+ constructor(cause: Error) {
156
+ super(cause, {
157
+ code: -32000,
158
+ shortMessage: [
159
+ 'Missing or invalid parameters.',
160
+ 'Double check you have provided the correct parameters.',
161
+ ].join('\n'),
162
+ })
163
+ }
164
+ }
165
+
166
+ /**
167
+ * Subclass for a "Resource not found" EIP-1474 error.
168
+ *
169
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
170
+ */
171
+ export class ResourceNotFoundRpcError extends RpcError {
172
+ override name = 'ResourceNotFoundRpcError'
173
+
174
+ constructor(cause: Error) {
175
+ super(cause, {
176
+ code: -32001,
177
+ shortMessage: 'Requested resource not found.',
178
+ })
179
+ }
180
+ }
181
+
182
+ /**
183
+ * Subclass for a "Resource unavailable" EIP-1474 error.
184
+ *
185
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
186
+ */
187
+ export class ResourceUnavailableRpcError extends RpcError {
188
+ override name = 'ResourceUnavailableRpcError'
189
+
190
+ constructor(cause: Error) {
191
+ super(cause, {
192
+ code: -32002,
193
+ shortMessage: 'Requested resource not available.',
194
+ })
195
+ }
196
+ }
197
+
198
+ /**
199
+ * Subclass for a "Transaction rejected" EIP-1474 error.
200
+ *
201
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
202
+ */
203
+ export class TransactionRejectedRpcError extends RpcError {
204
+ override name = 'TransactionRejectedRpcError'
205
+
206
+ constructor(cause: Error) {
207
+ super(cause, { code: -32003, shortMessage: 'Transaction creation failed.' })
208
+ }
209
+ }
210
+
211
+ /**
212
+ * Subclass for a "Method not supported" EIP-1474 error.
213
+ *
214
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
215
+ */
216
+ export class MethodNotSupportedRpcError extends RpcError {
217
+ override name = 'MethodNotSupportedRpcError'
218
+
219
+ constructor(cause: Error) {
220
+ super(cause, { code: -32004, shortMessage: 'Method is not implemented.' })
221
+ }
222
+ }
223
+
224
+ /**
225
+ * Subclass for a "Limit exceeded" EIP-1474 error.
226
+ *
227
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
228
+ */
229
+ export class LimitExceededRpcError extends RpcError {
230
+ override name = 'LimitExceededRpcError'
231
+
232
+ constructor(cause: Error) {
233
+ super(cause, {
234
+ code: -32005,
235
+ shortMessage: 'Request exceeds defined limit.',
236
+ })
237
+ }
238
+ }
239
+
240
+ /**
241
+ * Subclass for a "JSON-RPC version not supported" EIP-1474 error.
242
+ *
243
+ * EIP https://eips.ethereum.org/EIPS/eip-1474#error-codes
244
+ */
245
+ export class JsonRpcVersionUnsupportedError extends RpcError {
246
+ override name = 'JsonRpcVersionUnsupportedError'
247
+
248
+ constructor(cause: Error) {
249
+ super(cause, {
250
+ code: -32006,
251
+ shortMessage: 'Version of JSON-RPC protocol is not supported.',
252
+ })
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Subclass for a "User Rejected Request" EIP-1193 error.
258
+ *
259
+ * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors
260
+ */
261
+ export class UserRejectedRequestError extends ProviderRpcError {
262
+ override name = 'UserRejectedRequestError'
263
+
264
+ constructor(cause: Error) {
265
+ super(cause, {
266
+ code: 4001,
267
+ shortMessage: 'User rejected the request.',
268
+ })
269
+ }
270
+ }
271
+
272
+ /**
273
+ * Subclass for an "Unauthorized" EIP-1193 error.
274
+ *
275
+ * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors
276
+ */
277
+ export class UnauthorizedProviderError extends ProviderRpcError {
278
+ override name = 'UnauthorizedProviderError'
279
+
280
+ constructor(cause: Error) {
281
+ super(cause, {
282
+ code: 4100,
283
+ shortMessage:
284
+ 'The requested method and/or account has not been authorized by the user.',
285
+ })
286
+ }
287
+ }
288
+
289
+ /**
290
+ * Subclass for an "Unsupported Method" EIP-1193 error.
291
+ *
292
+ * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors
293
+ */
294
+ export class UnsupportedProviderMethodError extends ProviderRpcError {
295
+ override name = 'UnsupportedProviderMethodError'
296
+
297
+ constructor(cause: Error) {
298
+ super(cause, {
299
+ code: 4200,
300
+ shortMessage: 'The Provider does not support the requested method.',
301
+ })
302
+ }
303
+ }
304
+
305
+ /**
306
+ * Subclass for an "Disconnected" EIP-1193 error.
307
+ *
308
+ * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors
309
+ */
310
+ export class ProviderDisconnectedError extends ProviderRpcError {
311
+ override name = 'ProviderDisconnectedError'
312
+
313
+ constructor(cause: Error) {
314
+ super(cause, {
315
+ code: 4900,
316
+ shortMessage: 'The Provider is disconnected from all chains.',
317
+ })
318
+ }
319
+ }
320
+
321
+ /**
322
+ * Subclass for an "Chain Disconnected" EIP-1193 error.
323
+ *
324
+ * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors
325
+ */
326
+ export class ChainDisconnectedError extends ProviderRpcError {
327
+ override name = 'ChainDisconnectedError'
328
+
329
+ constructor(cause: Error) {
330
+ super(cause, {
331
+ code: 4901,
332
+ shortMessage: 'The Provider is not connected to the requested chain.',
333
+ })
334
+ }
335
+ }
336
+
337
+ /**
338
+ * Subclass for an "Switch Chain" EIP-1193 error.
339
+ *
340
+ * EIP https://eips.ethereum.org/EIPS/eip-1193#provider-errors
341
+ */
342
+ export class SwitchChainError extends ProviderRpcError {
343
+ override name = 'SwitchChainError'
344
+
345
+ constructor(cause: Error) {
346
+ super(cause, {
347
+ code: 4902,
348
+ shortMessage: 'An error occurred when attempting to switch chain.',
349
+ })
350
+ }
351
+ }
352
+
353
+ /**
354
+ * Subclass for an unknown RPC error.
355
+ */
356
+ export class UnknownRpcError extends RpcError {
357
+ override name = 'UnknownRpcError'
358
+
359
+ constructor(cause: Error) {
360
+ super(cause, {
361
+ shortMessage: 'An unknown RPC error occurred.',
96
362
  })
97
363
  }
98
364
  }
@@ -26,7 +26,7 @@ export function prettyPrint(
26
26
  }
27
27
 
28
28
  export class FeeConflictError extends BaseError {
29
- name = 'FeeConflictError'
29
+ override name = 'FeeConflictError'
30
30
  constructor() {
31
31
  super(
32
32
  [
@@ -38,7 +38,7 @@ export class FeeConflictError extends BaseError {
38
38
  }
39
39
 
40
40
  export class InvalidLegacyVError extends BaseError {
41
- name = 'InvalidLegacyVError'
41
+ override name = 'InvalidLegacyVError'
42
42
 
43
43
  constructor({ v }: { v: bigint }) {
44
44
  super(`Invalid \`v\` value "${v}". Expected 27 or 28.`)
@@ -46,7 +46,7 @@ export class InvalidLegacyVError extends BaseError {
46
46
  }
47
47
 
48
48
  export class InvalidSerializableTransactionError extends BaseError {
49
- name = 'InvalidSerializableTransactionError'
49
+ override name = 'InvalidSerializableTransactionError'
50
50
 
51
51
  constructor({ transaction }: { transaction: Record<string, unknown> }) {
52
52
  super('Cannot infer a transaction type from provided transaction.', {
@@ -67,7 +67,7 @@ export class InvalidSerializableTransactionError extends BaseError {
67
67
  }
68
68
 
69
69
  export class InvalidSerializedTransactionTypeError extends BaseError {
70
- name = 'InvalidSerializedTransactionType'
70
+ override name = 'InvalidSerializedTransactionType'
71
71
 
72
72
  serializedType: Hex
73
73
 
@@ -79,7 +79,7 @@ export class InvalidSerializedTransactionTypeError extends BaseError {
79
79
  }
80
80
 
81
81
  export class InvalidSerializedTransactionError extends BaseError {
82
- name = 'InvalidSerializedTransactionError'
82
+ override name = 'InvalidSerializedTransactionError'
83
83
 
84
84
  serializedTransaction: Hex
85
85
  type: TransactionType
@@ -109,7 +109,7 @@ export class InvalidSerializedTransactionError extends BaseError {
109
109
  }
110
110
 
111
111
  export class InvalidStorageKeySizeError extends BaseError {
112
- name = 'InvalidStorageKeySizeError'
112
+ override name = 'InvalidStorageKeySizeError'
113
113
 
114
114
  constructor({ storageKey }: { storageKey: Hex }) {
115
115
  super(
@@ -121,9 +121,9 @@ export class InvalidStorageKeySizeError extends BaseError {
121
121
  }
122
122
 
123
123
  export class TransactionExecutionError extends BaseError {
124
- cause: BaseError
124
+ override cause: BaseError
125
125
 
126
- name = 'TransactionExecutionError'
126
+ override name = 'TransactionExecutionError'
127
127
 
128
128
  constructor(
129
129
  cause: BaseError,
@@ -179,7 +179,7 @@ export class TransactionExecutionError extends BaseError {
179
179
  }
180
180
 
181
181
  export class TransactionNotFoundError extends BaseError {
182
- name = 'TransactionNotFoundError'
182
+ override name = 'TransactionNotFoundError'
183
183
  constructor({
184
184
  blockHash,
185
185
  blockNumber,
@@ -206,7 +206,7 @@ export class TransactionNotFoundError extends BaseError {
206
206
  }
207
207
 
208
208
  export class TransactionReceiptNotFoundError extends BaseError {
209
- name = 'TransactionReceiptNotFoundError'
209
+ override name = 'TransactionReceiptNotFoundError'
210
210
  constructor({ hash }: { hash: Hash }) {
211
211
  super(
212
212
  `Transaction receipt with hash "${hash}" could not be found. The Transaction may not be processed on a block yet.`,
@@ -215,7 +215,7 @@ export class TransactionReceiptNotFoundError extends BaseError {
215
215
  }
216
216
 
217
217
  export class WaitForTransactionReceiptTimeoutError extends BaseError {
218
- name = 'WaitForTransactionReceiptTimeoutError'
218
+ override name = 'WaitForTransactionReceiptTimeoutError'
219
219
  constructor({ hash }: { hash: Hash }) {
220
220
  super(
221
221
  `Timed out while waiting for transaction with hash "${hash}" to be confirmed.`,
@@ -1 +1 @@
1
- export const version = '0.3.0-tsc-nodenext-2.20230407T050527'
1
+ export const version = '0.3.1'
package/src/index.ts CHANGED
@@ -180,6 +180,7 @@ export {
180
180
  BaseError,
181
181
  BlockNotFoundError,
182
182
  CallExecutionError,
183
+ ChainDisconnectedError,
183
184
  ChainDoesNotSupportContract,
184
185
  ContractFunctionExecutionError,
185
186
  ContractFunctionRevertedError,
@@ -220,8 +221,9 @@ export {
220
221
  NonceTooLowError,
221
222
  OffsetOutOfBoundsError,
222
223
  ParseRpcError,
224
+ ProviderDisconnectedError,
225
+ ProviderRpcError,
223
226
  RawContractError,
224
- RequestError,
225
227
  ResourceNotFoundRpcError,
226
228
  ResourceUnavailableRpcError,
227
229
  RpcError,
@@ -235,7 +237,9 @@ export {
235
237
  TransactionReceiptNotFoundError,
236
238
  TransactionRejectedRpcError,
237
239
  SwitchChainError,
240
+ UnauthorizedProviderError,
238
241
  UnknownRpcError,
242
+ UnsupportedProviderMethodError,
239
243
  UrlRequiredError,
240
244
  UserRejectedRequestError,
241
245
  WaitForTransactionReceiptTimeoutError,
@@ -260,6 +264,7 @@ export type {
260
264
  ContractFunctionConfig,
261
265
  ContractFunctionResult,
262
266
  CustomSource,
267
+ EIP1193Provider,
263
268
  FeeHistory,
264
269
  FeeValues,
265
270
  FeeValuesEIP1559,
@@ -367,6 +372,8 @@ export type {
367
372
  RecoverAddressReturnType,
368
373
  RecoverMessageAddressParameters,
369
374
  RecoverMessageAddressReturnType,
375
+ RecoverPublicKeyParameters,
376
+ RecoverPublicKeyReturnType,
370
377
  RecoverTypedDataAddressParameters,
371
378
  RecoverTypedDataAddressReturnType,
372
379
  ToRlpReturnType,
@@ -458,6 +465,7 @@ export {
458
465
  prepareRequest,
459
466
  recoverAddress,
460
467
  recoverMessageAddress,
468
+ recoverPublicKey,
461
469
  recoverTypedDataAddress,
462
470
  serializeTransaction,
463
471
  size,
@@ -14,6 +14,11 @@ import type {
14
14
  RpcUncle as Uncle,
15
15
  } from './rpc.js'
16
16
 
17
+ //////////////////////////////////////////////////
18
+ // Provider
19
+
20
+ export type EIP1193Provider = Requests & Events
21
+
17
22
  //////////////////////////////////////////////////
18
23
  // Errors
19
24
 
@@ -985,7 +990,7 @@ export type WalletRequests = {
985
990
  * @description Requests that the user provides an Ethereum address to be identified by. Typically causes a browser extension popup to appear.
986
991
  * @link https://eips.ethereum.org/EIPS/eip-1102
987
992
  * @example
988
- * provider.request({ method: 'eth_requestAccounts' }] })
993
+ * provider.request({ method: 'eth_requestAccounts' })
989
994
  * // => ['0x...', '0x...']
990
995
  * */
991
996
  method: 'eth_requestAccounts'
@@ -1,6 +1,7 @@
1
1
  import type { Abi } from 'abitype'
2
2
  import type { MaybeExtractEventArgsFromAbi } from './contract.js'
3
3
  import type { Hex } from './misc.js'
4
+ import type { Requests } from './eip1193.js'
4
5
 
5
6
  export type FilterType = 'transaction' | 'block' | 'event'
6
7
 
@@ -13,6 +14,8 @@ export type Filter<
13
14
  | undefined = MaybeExtractEventArgsFromAbi<TAbi, TEventName>,
14
15
  > = {
15
16
  id: Hex
17
+ // TODO: Narrow `request` to filter-based methods (ie. `eth_getFilterLogs`, etc).
18
+ request: Requests['request']
16
19
  type: TFilterType
17
20
  } & (TFilterType extends 'event'
18
21
  ? TAbi extends Abi
@@ -44,6 +44,8 @@ export type {
44
44
  MaybeExtractEventArgsFromAbi,
45
45
  } from './contract.js'
46
46
 
47
+ export type { EIP1193Provider } from './eip1193.js'
48
+
47
49
  export type { AssetGateway, AssetGatewayUrls } from './ens.js'
48
50
 
49
51
  export type {
@@ -1,9 +1,7 @@
1
- import type { Events, Requests } from './eip1193.js'
2
-
3
- type WindowProvider = Requests & Events
1
+ import type { EIP1193Provider } from './eip1193.js'
4
2
 
5
3
  declare global {
6
4
  interface Window {
7
- ethereum?: WindowProvider
5
+ ethereum?: EIP1193Provider
8
6
  }
9
7
  }
@@ -23,22 +23,23 @@ export type GetAbiItemReturnType<
23
23
  export function getAbiItem<
24
24
  TAbi extends Abi | readonly unknown[],
25
25
  TItemName extends string,
26
- TReturnType = GetAbiItemReturnType<TAbi, TItemName>,
27
26
  >({
28
27
  abi,
29
28
  args = [],
30
29
  name,
31
- }: GetAbiItemParameters<TAbi, TItemName>): TReturnType {
30
+ }: GetAbiItemParameters<TAbi, TItemName>): GetAbiItemReturnType<
31
+ TAbi,
32
+ TItemName
33
+ > {
32
34
  const abiItems = (abi as Abi).filter((x) => 'name' in x && x.name === name)
33
35
 
34
- if (abiItems.length === 0) return undefined as unknown as TReturnType
35
- if (abiItems.length === 1) return abiItems[0] as unknown as TReturnType
36
+ if (abiItems.length === 0) return undefined as any
37
+ if (abiItems.length === 1) return abiItems[0] as any
36
38
 
37
39
  for (const abiItem of abiItems) {
38
40
  if (!('inputs' in abiItem)) continue
39
41
  if (!args || args.length === 0) {
40
- if (!abiItem.inputs || abiItem.inputs.length === 0)
41
- return abiItem as unknown as TReturnType
42
+ if (!abiItem.inputs || abiItem.inputs.length === 0) return abiItem as any
42
43
  continue
43
44
  }
44
45
  if (!abiItem.inputs) continue
@@ -48,9 +49,9 @@ export function getAbiItem<
48
49
  if (!abiParameter) return false
49
50
  return isArgOfType(arg, abiParameter as AbiParameter)
50
51
  })
51
- if (matched) return abiItem as unknown as TReturnType
52
+ if (matched) return abiItem as any
52
53
  }
53
- return abiItems[0] as unknown as TReturnType
54
+ return abiItems[0] as any
54
55
  }
55
56
 
56
57
  export function isArgOfType(arg: unknown, abiParameter: AbiParameter): boolean {