viem 0.4.0-main.20230430T213120 → 1.0.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 (1657) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +19 -5
  3. package/abi/package.json +5 -0
  4. package/accounts/package.json +5 -0
  5. package/chains/package.json +5 -0
  6. package/contract/package.json +5 -0
  7. package/dist/cjs/abi.js +14 -10
  8. package/dist/cjs/abi.js.map +1 -1
  9. package/dist/cjs/accounts/generatePrivateKey.js +2 -2
  10. package/dist/cjs/accounts/generatePrivateKey.js.map +1 -1
  11. package/dist/cjs/accounts/hdKeyToAccount.js +2 -2
  12. package/dist/cjs/accounts/hdKeyToAccount.js.map +1 -1
  13. package/dist/cjs/accounts/index.js +10 -7
  14. package/dist/cjs/accounts/index.js.map +1 -1
  15. package/dist/cjs/accounts/mnemonicToAccount.js.map +1 -1
  16. package/dist/cjs/accounts/privateKeyToAccount.js +10 -7
  17. package/dist/cjs/accounts/privateKeyToAccount.js.map +1 -1
  18. package/dist/cjs/accounts/toAccount.js +6 -6
  19. package/dist/cjs/accounts/toAccount.js.map +1 -1
  20. package/dist/cjs/accounts/utils/parseAccount.js.map +1 -1
  21. package/dist/cjs/accounts/utils/publicKeyToAddress.js +4 -4
  22. package/dist/cjs/accounts/utils/publicKeyToAddress.js.map +1 -1
  23. package/dist/cjs/accounts/utils/sign.js +3 -3
  24. package/dist/cjs/accounts/utils/sign.js.map +1 -1
  25. package/dist/cjs/accounts/utils/signMessage.js +2 -2
  26. package/dist/cjs/accounts/utils/signMessage.js.map +1 -1
  27. package/dist/cjs/accounts/utils/signTransaction.js +4 -3
  28. package/dist/cjs/accounts/utils/signTransaction.js.map +1 -1
  29. package/dist/cjs/accounts/utils/signTypedData.js +2 -2
  30. package/dist/cjs/accounts/utils/signTypedData.js.map +1 -1
  31. package/dist/cjs/accounts/utils/signatureToHex.js +3 -2
  32. package/dist/cjs/accounts/utils/signatureToHex.js.map +1 -1
  33. package/dist/cjs/actions/ens/getEnsAddress.js +43 -27
  34. package/dist/cjs/actions/ens/getEnsAddress.js.map +1 -1
  35. package/dist/cjs/actions/ens/getEnsAvatar.js +2 -2
  36. package/dist/cjs/actions/ens/getEnsAvatar.js.map +1 -1
  37. package/dist/cjs/actions/ens/getEnsName.js +11 -10
  38. package/dist/cjs/actions/ens/getEnsName.js.map +1 -1
  39. package/dist/cjs/actions/ens/getEnsResolver.js +7 -6
  40. package/dist/cjs/actions/ens/getEnsResolver.js.map +1 -1
  41. package/dist/cjs/actions/ens/getEnsText.js +13 -9
  42. package/dist/cjs/actions/ens/getEnsText.js.map +1 -1
  43. package/dist/cjs/actions/getContract.js +33 -23
  44. package/dist/cjs/actions/getContract.js.map +1 -1
  45. package/dist/cjs/actions/public/call.js +41 -25
  46. package/dist/cjs/actions/public/call.js.map +1 -1
  47. package/dist/cjs/actions/public/createBlockFilter.js.map +1 -1
  48. package/dist/cjs/actions/public/createContractEventFilter.js +7 -5
  49. package/dist/cjs/actions/public/createContractEventFilter.js.map +1 -1
  50. package/dist/cjs/actions/public/createEventFilter.js +7 -5
  51. package/dist/cjs/actions/public/createEventFilter.js.map +1 -1
  52. package/dist/cjs/actions/public/createPendingTransactionFilter.js.map +1 -1
  53. package/dist/cjs/actions/public/estimateContractGas.js +6 -4
  54. package/dist/cjs/actions/public/estimateContractGas.js.map +1 -1
  55. package/dist/cjs/actions/public/estimateGas.js +22 -13
  56. package/dist/cjs/actions/public/estimateGas.js.map +1 -1
  57. package/dist/cjs/actions/public/getBalance.js +2 -2
  58. package/dist/cjs/actions/public/getBalance.js.map +1 -1
  59. package/dist/cjs/actions/public/getBlock.js +8 -6
  60. package/dist/cjs/actions/public/getBlock.js.map +1 -1
  61. package/dist/cjs/actions/public/getBlockNumber.js +3 -3
  62. package/dist/cjs/actions/public/getBlockNumber.js.map +1 -1
  63. package/dist/cjs/actions/public/getBlockTransactionCount.js +5 -4
  64. package/dist/cjs/actions/public/getBlockTransactionCount.js.map +1 -1
  65. package/dist/cjs/actions/public/getBytecode.js +2 -2
  66. package/dist/cjs/actions/public/getBytecode.js.map +1 -1
  67. package/dist/cjs/actions/public/getChainId.js +5 -3
  68. package/dist/cjs/actions/public/getChainId.js.map +1 -1
  69. package/dist/cjs/actions/public/getFeeHistory.js +5 -5
  70. package/dist/cjs/actions/public/getFeeHistory.js.map +1 -1
  71. package/dist/cjs/actions/public/getFilterChanges.js +16 -4
  72. package/dist/cjs/actions/public/getFilterChanges.js.map +1 -1
  73. package/dist/cjs/actions/public/getFilterLogs.js +16 -4
  74. package/dist/cjs/actions/public/getFilterLogs.js.map +1 -1
  75. package/dist/cjs/actions/public/getGasPrice.js.map +1 -1
  76. package/dist/cjs/actions/public/getLogs.js +22 -8
  77. package/dist/cjs/actions/public/getLogs.js.map +1 -1
  78. package/dist/cjs/actions/public/getStorageAt.js +2 -2
  79. package/dist/cjs/actions/public/getStorageAt.js.map +1 -1
  80. package/dist/cjs/actions/public/getTransaction.js +6 -5
  81. package/dist/cjs/actions/public/getTransaction.js.map +1 -1
  82. package/dist/cjs/actions/public/getTransactionConfirmations.js.map +1 -1
  83. package/dist/cjs/actions/public/getTransactionCount.js +4 -3
  84. package/dist/cjs/actions/public/getTransactionCount.js.map +1 -1
  85. package/dist/cjs/actions/public/getTransactionReceipt.js +4 -4
  86. package/dist/cjs/actions/public/getTransactionReceipt.js.map +1 -1
  87. package/dist/cjs/actions/public/multicall.js +15 -11
  88. package/dist/cjs/actions/public/multicall.js.map +1 -1
  89. package/dist/cjs/actions/public/readContract.js +6 -4
  90. package/dist/cjs/actions/public/readContract.js.map +1 -1
  91. package/dist/cjs/actions/public/simulateContract.js +8 -5
  92. package/dist/cjs/actions/public/simulateContract.js.map +1 -1
  93. package/dist/cjs/actions/public/uninstallFilter.js.map +1 -1
  94. package/dist/cjs/actions/public/verifyHash.js +31 -0
  95. package/dist/cjs/actions/public/verifyHash.js.map +1 -0
  96. package/dist/cjs/actions/public/verifyMessage.js +16 -0
  97. package/dist/cjs/actions/public/verifyMessage.js.map +1 -0
  98. package/dist/cjs/actions/public/verifyTypedData.js +16 -0
  99. package/dist/cjs/actions/public/verifyTypedData.js.map +1 -0
  100. package/dist/cjs/actions/public/waitForTransactionReceipt.js +30 -15
  101. package/dist/cjs/actions/public/waitForTransactionReceipt.js.map +1 -1
  102. package/dist/cjs/actions/public/watchBlockNumber.js +4 -3
  103. package/dist/cjs/actions/public/watchBlockNumber.js.map +1 -1
  104. package/dist/cjs/actions/public/watchBlocks.js +2 -1
  105. package/dist/cjs/actions/public/watchBlocks.js.map +1 -1
  106. package/dist/cjs/actions/public/watchContractEvent.js +7 -4
  107. package/dist/cjs/actions/public/watchContractEvent.js.map +1 -1
  108. package/dist/cjs/actions/public/watchEvent.js +5 -2
  109. package/dist/cjs/actions/public/watchEvent.js.map +1 -1
  110. package/dist/cjs/actions/public/watchPendingTransactions.js +2 -1
  111. package/dist/cjs/actions/public/watchPendingTransactions.js.map +1 -1
  112. package/dist/cjs/actions/test/dropTransaction.js.map +1 -1
  113. package/dist/cjs/actions/test/getAutomine.js +4 -0
  114. package/dist/cjs/actions/test/getAutomine.js.map +1 -1
  115. package/dist/cjs/actions/test/getTxpoolContent.js.map +1 -1
  116. package/dist/cjs/actions/test/getTxpoolStatus.js +3 -3
  117. package/dist/cjs/actions/test/getTxpoolStatus.js.map +1 -1
  118. package/dist/cjs/actions/test/impersonateAccount.js.map +1 -1
  119. package/dist/cjs/actions/test/increaseTime.js +2 -2
  120. package/dist/cjs/actions/test/increaseTime.js.map +1 -1
  121. package/dist/cjs/actions/test/inspectTxpool.js.map +1 -1
  122. package/dist/cjs/actions/test/mine.js +11 -5
  123. package/dist/cjs/actions/test/mine.js.map +1 -1
  124. package/dist/cjs/actions/test/revert.js.map +1 -1
  125. package/dist/cjs/actions/test/sendUnsignedTransaction.js +2 -2
  126. package/dist/cjs/actions/test/sendUnsignedTransaction.js.map +1 -1
  127. package/dist/cjs/actions/test/setAutomine.js +11 -4
  128. package/dist/cjs/actions/test/setAutomine.js.map +1 -1
  129. package/dist/cjs/actions/test/setBalance.js +11 -5
  130. package/dist/cjs/actions/test/setBalance.js.map +1 -1
  131. package/dist/cjs/actions/test/setBlockGasLimit.js +2 -2
  132. package/dist/cjs/actions/test/setBlockGasLimit.js.map +1 -1
  133. package/dist/cjs/actions/test/setCode.js.map +1 -1
  134. package/dist/cjs/actions/test/setCoinbase.js.map +1 -1
  135. package/dist/cjs/actions/test/setMinGasPrice.js +2 -2
  136. package/dist/cjs/actions/test/setMinGasPrice.js.map +1 -1
  137. package/dist/cjs/actions/test/setNextBlockBaseFeePerGas.js +2 -2
  138. package/dist/cjs/actions/test/setNextBlockBaseFeePerGas.js.map +1 -1
  139. package/dist/cjs/actions/test/setNextBlockTimestamp.js +2 -2
  140. package/dist/cjs/actions/test/setNextBlockTimestamp.js.map +1 -1
  141. package/dist/cjs/actions/test/setNonce.js +2 -2
  142. package/dist/cjs/actions/test/setNonce.js.map +1 -1
  143. package/dist/cjs/actions/test/setStorageAt.js +2 -2
  144. package/dist/cjs/actions/test/setStorageAt.js.map +1 -1
  145. package/dist/cjs/actions/test/stopImpersonatingAccount.js.map +1 -1
  146. package/dist/cjs/actions/wallet/addChain.js +2 -2
  147. package/dist/cjs/actions/wallet/addChain.js.map +1 -1
  148. package/dist/cjs/actions/wallet/deployContract.js +4 -4
  149. package/dist/cjs/actions/wallet/deployContract.js.map +1 -1
  150. package/dist/cjs/actions/wallet/getAddresses.js +2 -2
  151. package/dist/cjs/actions/wallet/getAddresses.js.map +1 -1
  152. package/dist/cjs/actions/wallet/getPermissions.js.map +1 -1
  153. package/dist/cjs/actions/wallet/requestAddresses.js +2 -2
  154. package/dist/cjs/actions/wallet/requestAddresses.js.map +1 -1
  155. package/dist/cjs/actions/wallet/requestPermissions.js.map +1 -1
  156. package/dist/cjs/actions/wallet/sendTransaction.js +27 -16
  157. package/dist/cjs/actions/wallet/sendTransaction.js.map +1 -1
  158. package/dist/cjs/actions/wallet/signMessage.js +13 -5
  159. package/dist/cjs/actions/wallet/signMessage.js.map +1 -1
  160. package/dist/cjs/actions/wallet/signTypedData.js +9 -6
  161. package/dist/cjs/actions/wallet/signTypedData.js.map +1 -1
  162. package/dist/cjs/actions/wallet/switchChain.js +2 -2
  163. package/dist/cjs/actions/wallet/switchChain.js.map +1 -1
  164. package/dist/cjs/actions/wallet/watchAsset.js.map +1 -1
  165. package/dist/cjs/actions/wallet/writeContract.js +2 -2
  166. package/dist/cjs/actions/wallet/writeContract.js.map +1 -1
  167. package/dist/cjs/chains.js +106 -90
  168. package/dist/cjs/chains.js.map +1 -1
  169. package/dist/cjs/clients/createClient.js +1 -1
  170. package/dist/cjs/clients/createClient.js.map +1 -1
  171. package/dist/cjs/clients/createPublicClient.js +2 -2
  172. package/dist/cjs/clients/createPublicClient.js.map +1 -1
  173. package/dist/cjs/clients/createTestClient.js +2 -2
  174. package/dist/cjs/clients/createTestClient.js.map +1 -1
  175. package/dist/cjs/clients/createWalletClient.js +4 -4
  176. package/dist/cjs/clients/createWalletClient.js.map +1 -1
  177. package/dist/cjs/clients/decorators/public.js +80 -40
  178. package/dist/cjs/clients/decorators/public.js.map +1 -1
  179. package/dist/cjs/clients/decorators/test.js +56 -29
  180. package/dist/cjs/clients/decorators/test.js.map +1 -1
  181. package/dist/cjs/clients/decorators/wallet.js +26 -14
  182. package/dist/cjs/clients/decorators/wallet.js.map +1 -1
  183. package/dist/cjs/clients/transports/createTransport.js +2 -2
  184. package/dist/cjs/clients/transports/createTransport.js.map +1 -1
  185. package/dist/cjs/clients/transports/custom.js.map +1 -1
  186. package/dist/cjs/clients/transports/fallback.js.map +1 -1
  187. package/dist/cjs/clients/transports/http.js +28 -10
  188. package/dist/cjs/clients/transports/http.js.map +1 -1
  189. package/dist/cjs/clients/transports/webSocket.js +24 -16
  190. package/dist/cjs/clients/transports/webSocket.js.map +1 -1
  191. package/dist/cjs/constants/abis.js +36 -1
  192. package/dist/cjs/constants/abis.js.map +1 -1
  193. package/dist/cjs/constants/contracts.js +5 -0
  194. package/dist/cjs/constants/contracts.js.map +1 -0
  195. package/dist/cjs/contract.js +49 -28
  196. package/dist/cjs/contract.js.map +1 -1
  197. package/dist/cjs/ens.js +15 -10
  198. package/dist/cjs/ens.js.map +1 -1
  199. package/dist/cjs/errors/abi.js +27 -14
  200. package/dist/cjs/errors/abi.js.map +1 -1
  201. package/dist/cjs/errors/block.js.map +1 -1
  202. package/dist/cjs/errors/ccip.js +2 -1
  203. package/dist/cjs/errors/ccip.js.map +1 -1
  204. package/dist/cjs/errors/chain.js.map +1 -1
  205. package/dist/cjs/errors/contract.js +23 -17
  206. package/dist/cjs/errors/contract.js.map +1 -1
  207. package/dist/cjs/errors/data.js +13 -1
  208. package/dist/cjs/errors/data.js.map +1 -1
  209. package/dist/cjs/errors/encoding.js.map +1 -1
  210. package/dist/cjs/errors/estimateGas.js +6 -5
  211. package/dist/cjs/errors/estimateGas.js.map +1 -1
  212. package/dist/cjs/errors/node.js +5 -5
  213. package/dist/cjs/errors/node.js.map +1 -1
  214. package/dist/cjs/errors/request.js +5 -5
  215. package/dist/cjs/errors/request.js.map +1 -1
  216. package/dist/cjs/errors/rpc.js +8 -2
  217. package/dist/cjs/errors/rpc.js.map +1 -1
  218. package/dist/cjs/errors/transaction.js +6 -5
  219. package/dist/cjs/errors/transaction.js.map +1 -1
  220. package/dist/cjs/errors/utils.js.map +1 -1
  221. package/dist/cjs/errors/version.js +1 -1
  222. package/dist/cjs/errors/version.js.map +1 -1
  223. package/dist/cjs/index.js +318 -213
  224. package/dist/cjs/index.js.map +1 -1
  225. package/dist/cjs/public.js +53 -28
  226. package/dist/cjs/public.js.map +1 -1
  227. package/dist/cjs/test.js +56 -29
  228. package/dist/cjs/test.js.map +1 -1
  229. package/dist/cjs/types/eip1193.js +3 -3
  230. package/dist/cjs/types/eip1193.js.map +1 -1
  231. package/dist/cjs/utils/abi/decodeAbiParameters.js +40 -30
  232. package/dist/cjs/utils/abi/decodeAbiParameters.js.map +1 -1
  233. package/dist/cjs/utils/abi/decodeDeployData.js +4 -4
  234. package/dist/cjs/utils/abi/decodeDeployData.js.map +1 -1
  235. package/dist/cjs/utils/abi/decodeErrorResult.js +10 -10
  236. package/dist/cjs/utils/abi/decodeErrorResult.js.map +1 -1
  237. package/dist/cjs/utils/abi/decodeEventLog.js +41 -28
  238. package/dist/cjs/utils/abi/decodeEventLog.js.map +1 -1
  239. package/dist/cjs/utils/abi/decodeFunctionData.js +7 -7
  240. package/dist/cjs/utils/abi/decodeFunctionData.js.map +1 -1
  241. package/dist/cjs/utils/abi/decodeFunctionResult.js +16 -11
  242. package/dist/cjs/utils/abi/decodeFunctionResult.js.map +1 -1
  243. package/dist/cjs/utils/abi/encodeAbiParameters.js +37 -33
  244. package/dist/cjs/utils/abi/encodeAbiParameters.js.map +1 -1
  245. package/dist/cjs/utils/abi/encodeDeployData.js +6 -6
  246. package/dist/cjs/utils/abi/encodeDeployData.js.map +1 -1
  247. package/dist/cjs/utils/abi/encodeErrorResult.js +21 -16
  248. package/dist/cjs/utils/abi/encodeErrorResult.js.map +1 -1
  249. package/dist/cjs/utils/abi/encodeEventTopics.js +34 -22
  250. package/dist/cjs/utils/abi/encodeEventTopics.js.map +1 -1
  251. package/dist/cjs/utils/abi/encodeFunctionData.js +22 -15
  252. package/dist/cjs/utils/abi/encodeFunctionData.js.map +1 -1
  253. package/dist/cjs/utils/abi/encodeFunctionResult.js +21 -8
  254. package/dist/cjs/utils/abi/encodeFunctionResult.js.map +1 -1
  255. package/dist/cjs/utils/abi/encodePacked.js +18 -16
  256. package/dist/cjs/utils/abi/encodePacked.js.map +1 -1
  257. package/dist/cjs/utils/abi/formatAbiItem.js +2 -2
  258. package/dist/cjs/utils/abi/formatAbiItem.js.map +1 -1
  259. package/dist/cjs/utils/abi/formatAbiItemWithArgs.js +2 -2
  260. package/dist/cjs/utils/abi/formatAbiItemWithArgs.js.map +1 -1
  261. package/dist/cjs/utils/abi/getAbiItem.js +4 -2
  262. package/dist/cjs/utils/abi/getAbiItem.js.map +1 -1
  263. package/dist/cjs/utils/address/getAddress.js +5 -5
  264. package/dist/cjs/utils/address/getAddress.js.map +1 -1
  265. package/dist/cjs/utils/address/getContractAddress.js +15 -11
  266. package/dist/cjs/utils/address/getContractAddress.js.map +1 -1
  267. package/dist/cjs/utils/address/isAddressEqual.js +3 -3
  268. package/dist/cjs/utils/address/isAddressEqual.js.map +1 -1
  269. package/dist/cjs/utils/buildRequest.js +23 -22
  270. package/dist/cjs/utils/buildRequest.js.map +1 -1
  271. package/dist/cjs/utils/ccip.js +17 -14
  272. package/dist/cjs/utils/ccip.js.map +1 -1
  273. package/dist/cjs/utils/chain.js +11 -4
  274. package/dist/cjs/utils/chain.js.map +1 -1
  275. package/dist/cjs/utils/data/isBytesEqual.js +12 -0
  276. package/dist/cjs/utils/data/isBytesEqual.js.map +1 -0
  277. package/dist/cjs/utils/data/isHex.js +2 -2
  278. package/dist/cjs/utils/data/isHex.js.map +1 -1
  279. package/dist/cjs/utils/data/pad.js +3 -3
  280. package/dist/cjs/utils/data/pad.js.map +1 -1
  281. package/dist/cjs/utils/data/size.js +1 -1
  282. package/dist/cjs/utils/data/size.js.map +1 -1
  283. package/dist/cjs/utils/data/slice.js +37 -12
  284. package/dist/cjs/utils/data/slice.js.map +1 -1
  285. package/dist/cjs/utils/data/trim.js +1 -1
  286. package/dist/cjs/utils/data/trim.js.map +1 -1
  287. package/dist/cjs/utils/encoding/fromBytes.js +3 -4
  288. package/dist/cjs/utils/encoding/fromBytes.js.map +1 -1
  289. package/dist/cjs/utils/encoding/fromHex.js +8 -8
  290. package/dist/cjs/utils/encoding/fromHex.js.map +1 -1
  291. package/dist/cjs/utils/encoding/fromRlp.js +7 -7
  292. package/dist/cjs/utils/encoding/fromRlp.js.map +1 -1
  293. package/dist/cjs/utils/encoding/toBytes.js +2 -2
  294. package/dist/cjs/utils/encoding/toBytes.js.map +1 -1
  295. package/dist/cjs/utils/encoding/toHex.js +6 -6
  296. package/dist/cjs/utils/encoding/toHex.js.map +1 -1
  297. package/dist/cjs/utils/encoding/toRlp.js +2 -2
  298. package/dist/cjs/utils/encoding/toRlp.js.map +1 -1
  299. package/dist/cjs/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
  300. package/dist/cjs/utils/ens/avatar/utils.js +14 -14
  301. package/dist/cjs/utils/ens/avatar/utils.js.map +1 -1
  302. package/dist/cjs/utils/ens/encodeLabelhash.js +8 -0
  303. package/dist/cjs/utils/ens/encodeLabelhash.js.map +1 -0
  304. package/dist/cjs/utils/ens/encodedLabelToLabelhash.js +18 -0
  305. package/dist/cjs/utils/ens/encodedLabelToLabelhash.js.map +1 -0
  306. package/dist/cjs/utils/ens/labelhash.js +6 -4
  307. package/dist/cjs/utils/ens/labelhash.js.map +1 -1
  308. package/dist/cjs/utils/ens/namehash.js +12 -7
  309. package/dist/cjs/utils/ens/namehash.js.map +1 -1
  310. package/dist/cjs/utils/ens/packetToBytes.js +11 -10
  311. package/dist/cjs/utils/ens/packetToBytes.js.map +1 -1
  312. package/dist/cjs/utils/errors/getCallError.js +2 -2
  313. package/dist/cjs/utils/errors/getCallError.js.map +1 -1
  314. package/dist/cjs/utils/errors/getContractError.js +9 -6
  315. package/dist/cjs/utils/errors/getContractError.js.map +1 -1
  316. package/dist/cjs/utils/errors/getEstimateGasError.js +2 -2
  317. package/dist/cjs/utils/errors/getEstimateGasError.js.map +1 -1
  318. package/dist/cjs/utils/errors/getNodeError.js +30 -29
  319. package/dist/cjs/utils/errors/getNodeError.js.map +1 -1
  320. package/dist/cjs/utils/errors/getTransactionError.js +2 -2
  321. package/dist/cjs/utils/errors/getTransactionError.js.map +1 -1
  322. package/dist/cjs/utils/filters/createFilterRequestScope.js.map +1 -1
  323. package/dist/cjs/utils/formatters/block.js.map +1 -1
  324. package/dist/cjs/utils/formatters/feeHistory.js.map +1 -1
  325. package/dist/cjs/utils/formatters/format.js.map +1 -1
  326. package/dist/cjs/utils/formatters/log.js +2 -2
  327. package/dist/cjs/utils/formatters/log.js.map +1 -1
  328. package/dist/cjs/utils/formatters/transaction.js +3 -3
  329. package/dist/cjs/utils/formatters/transaction.js.map +1 -1
  330. package/dist/cjs/utils/formatters/transactionReceipt.js +2 -2
  331. package/dist/cjs/utils/formatters/transactionReceipt.js.map +1 -1
  332. package/dist/cjs/utils/formatters/transactionRequest.js +7 -7
  333. package/dist/cjs/utils/formatters/transactionRequest.js.map +1 -1
  334. package/dist/cjs/utils/hash/getEventSelector.js.map +1 -1
  335. package/dist/cjs/utils/hash/getFunctionSelector.js +2 -2
  336. package/dist/cjs/utils/hash/getFunctionSelector.js.map +1 -1
  337. package/dist/cjs/utils/hash/hashFunction.js +5 -7
  338. package/dist/cjs/utils/hash/hashFunction.js.map +1 -1
  339. package/dist/cjs/utils/hash/isHash.js +3 -2
  340. package/dist/cjs/utils/hash/isHash.js.map +1 -1
  341. package/dist/cjs/utils/hash/keccak256.js +5 -4
  342. package/dist/cjs/utils/hash/keccak256.js.map +1 -1
  343. package/dist/cjs/utils/index.js +187 -126
  344. package/dist/cjs/utils/index.js.map +1 -1
  345. package/dist/cjs/utils/promise/createBatchScheduler.js.map +1 -1
  346. package/dist/cjs/utils/promise/withCache.js +8 -4
  347. package/dist/cjs/utils/promise/withCache.js.map +1 -1
  348. package/dist/cjs/utils/rpc.js +69 -65
  349. package/dist/cjs/utils/rpc.js.map +1 -1
  350. package/dist/cjs/utils/signature/hashMessage.js +11 -5
  351. package/dist/cjs/utils/signature/hashMessage.js.map +1 -1
  352. package/dist/cjs/utils/signature/hashTypedData.js +13 -13
  353. package/dist/cjs/utils/signature/hashTypedData.js.map +1 -1
  354. package/dist/cjs/utils/signature/recoverAddress.js +2 -2
  355. package/dist/cjs/utils/signature/recoverAddress.js.map +1 -1
  356. package/dist/cjs/utils/signature/recoverMessageAddress.js.map +1 -1
  357. package/dist/cjs/utils/signature/recoverPublicKey.js +8 -5
  358. package/dist/cjs/utils/signature/recoverPublicKey.js.map +1 -1
  359. package/dist/cjs/utils/signature/recoverTypedDataAddress.js.map +1 -1
  360. package/dist/cjs/utils/signature/verifyMessage.js +4 -2
  361. package/dist/cjs/utils/signature/verifyMessage.js.map +1 -1
  362. package/dist/cjs/utils/signature/verifyTypedData.js +3 -2
  363. package/dist/cjs/utils/signature/verifyTypedData.js.map +1 -1
  364. package/dist/cjs/utils/transaction/assertRequest.js +11 -10
  365. package/dist/cjs/utils/transaction/assertRequest.js.map +1 -1
  366. package/dist/cjs/utils/transaction/assertTransaction.js +22 -19
  367. package/dist/cjs/utils/transaction/assertTransaction.js.map +1 -1
  368. package/dist/cjs/utils/transaction/getSerializedTransactionType.js +4 -4
  369. package/dist/cjs/utils/transaction/getSerializedTransactionType.js.map +1 -1
  370. package/dist/cjs/utils/transaction/getTransactionType.js.map +1 -1
  371. package/dist/cjs/utils/transaction/parseTransaction.js +58 -55
  372. package/dist/cjs/utils/transaction/parseTransaction.js.map +1 -1
  373. package/dist/cjs/utils/transaction/prepareRequest.js +17 -14
  374. package/dist/cjs/utils/transaction/prepareRequest.js.map +1 -1
  375. package/dist/cjs/utils/transaction/serializeTransaction.js +35 -32
  376. package/dist/cjs/utils/transaction/serializeTransaction.js.map +1 -1
  377. package/dist/cjs/utils/typedData.js +11 -10
  378. package/dist/cjs/utils/typedData.js.map +1 -1
  379. package/dist/cjs/utils/unit/formatEther.js +2 -2
  380. package/dist/cjs/utils/unit/formatEther.js.map +1 -1
  381. package/dist/cjs/utils/unit/formatGwei.js +2 -2
  382. package/dist/cjs/utils/unit/formatGwei.js.map +1 -1
  383. package/dist/cjs/utils/unit/parseEther.js +2 -2
  384. package/dist/cjs/utils/unit/parseEther.js.map +1 -1
  385. package/dist/cjs/utils/unit/parseGwei.js +2 -2
  386. package/dist/cjs/utils/unit/parseGwei.js.map +1 -1
  387. package/dist/cjs/utils/unit/parseUnits.js +14 -3
  388. package/dist/cjs/utils/unit/parseUnits.js.map +1 -1
  389. package/dist/cjs/wallet.js +20 -11
  390. package/dist/cjs/wallet.js.map +1 -1
  391. package/dist/esm/abi.js +5 -1
  392. package/dist/esm/abi.js.map +1 -1
  393. package/dist/esm/accounts/generatePrivateKey.js +1 -1
  394. package/dist/esm/accounts/generatePrivateKey.js.map +1 -1
  395. package/dist/esm/accounts/hdKeyToAccount.js +1 -1
  396. package/dist/esm/accounts/hdKeyToAccount.js.map +1 -1
  397. package/dist/esm/accounts/index.js +5 -3
  398. package/dist/esm/accounts/index.js.map +1 -1
  399. package/dist/esm/accounts/mnemonicToAccount.js.map +1 -1
  400. package/dist/esm/accounts/privateKeyToAccount.js +5 -2
  401. package/dist/esm/accounts/privateKeyToAccount.js.map +1 -1
  402. package/dist/esm/accounts/toAccount.js +2 -2
  403. package/dist/esm/accounts/toAccount.js.map +1 -1
  404. package/dist/esm/accounts/utils/parseAccount.js.map +1 -1
  405. package/dist/esm/accounts/utils/publicKeyToAddress.js +2 -2
  406. package/dist/esm/accounts/utils/publicKeyToAddress.js.map +1 -1
  407. package/dist/esm/accounts/utils/sign.js +1 -1
  408. package/dist/esm/accounts/utils/sign.js.map +1 -1
  409. package/dist/esm/accounts/utils/signMessage.js +1 -1
  410. package/dist/esm/accounts/utils/signMessage.js.map +1 -1
  411. package/dist/esm/accounts/utils/signTransaction.js +2 -1
  412. package/dist/esm/accounts/utils/signTransaction.js.map +1 -1
  413. package/dist/esm/accounts/utils/signTypedData.js +1 -1
  414. package/dist/esm/accounts/utils/signTypedData.js.map +1 -1
  415. package/dist/esm/accounts/utils/signatureToHex.js +2 -1
  416. package/dist/esm/accounts/utils/signatureToHex.js.map +1 -1
  417. package/dist/esm/actions/ens/getEnsAddress.js +42 -26
  418. package/dist/esm/actions/ens/getEnsAddress.js.map +1 -1
  419. package/dist/esm/actions/ens/getEnsAvatar.js +1 -1
  420. package/dist/esm/actions/ens/getEnsAvatar.js.map +1 -1
  421. package/dist/esm/actions/ens/getEnsName.js +6 -5
  422. package/dist/esm/actions/ens/getEnsName.js.map +1 -1
  423. package/dist/esm/actions/ens/getEnsResolver.js +4 -3
  424. package/dist/esm/actions/ens/getEnsResolver.js.map +1 -1
  425. package/dist/esm/actions/ens/getEnsText.js +7 -3
  426. package/dist/esm/actions/ens/getEnsText.js.map +1 -1
  427. package/dist/esm/actions/getContract.js +28 -18
  428. package/dist/esm/actions/getContract.js.map +1 -1
  429. package/dist/esm/actions/public/call.js +22 -6
  430. package/dist/esm/actions/public/call.js.map +1 -1
  431. package/dist/esm/actions/public/createBlockFilter.js.map +1 -1
  432. package/dist/esm/actions/public/createContractEventFilter.js +4 -2
  433. package/dist/esm/actions/public/createContractEventFilter.js.map +1 -1
  434. package/dist/esm/actions/public/createEventFilter.js +4 -2
  435. package/dist/esm/actions/public/createEventFilter.js.map +1 -1
  436. package/dist/esm/actions/public/createPendingTransactionFilter.js.map +1 -1
  437. package/dist/esm/actions/public/estimateContractGas.js +4 -2
  438. package/dist/esm/actions/public/estimateContractGas.js.map +1 -1
  439. package/dist/esm/actions/public/estimateGas.js +15 -6
  440. package/dist/esm/actions/public/estimateGas.js.map +1 -1
  441. package/dist/esm/actions/public/getBalance.js +1 -1
  442. package/dist/esm/actions/public/getBalance.js.map +1 -1
  443. package/dist/esm/actions/public/getBlock.js +4 -2
  444. package/dist/esm/actions/public/getBlock.js.map +1 -1
  445. package/dist/esm/actions/public/getBlockNumber.js +1 -1
  446. package/dist/esm/actions/public/getBlockNumber.js.map +1 -1
  447. package/dist/esm/actions/public/getBlockTransactionCount.js +3 -2
  448. package/dist/esm/actions/public/getBlockTransactionCount.js.map +1 -1
  449. package/dist/esm/actions/public/getBytecode.js +1 -1
  450. package/dist/esm/actions/public/getBytecode.js.map +1 -1
  451. package/dist/esm/actions/public/getChainId.js +4 -2
  452. package/dist/esm/actions/public/getChainId.js.map +1 -1
  453. package/dist/esm/actions/public/getFeeHistory.js +2 -2
  454. package/dist/esm/actions/public/getFeeHistory.js.map +1 -1
  455. package/dist/esm/actions/public/getFilterChanges.js +15 -3
  456. package/dist/esm/actions/public/getFilterChanges.js.map +1 -1
  457. package/dist/esm/actions/public/getFilterLogs.js +15 -3
  458. package/dist/esm/actions/public/getFilterLogs.js.map +1 -1
  459. package/dist/esm/actions/public/getGasPrice.js.map +1 -1
  460. package/dist/esm/actions/public/getLogs.js +18 -4
  461. package/dist/esm/actions/public/getLogs.js.map +1 -1
  462. package/dist/esm/actions/public/getStorageAt.js +1 -1
  463. package/dist/esm/actions/public/getStorageAt.js.map +1 -1
  464. package/dist/esm/actions/public/getTransaction.js +3 -2
  465. package/dist/esm/actions/public/getTransaction.js.map +1 -1
  466. package/dist/esm/actions/public/getTransactionConfirmations.js.map +1 -1
  467. package/dist/esm/actions/public/getTransactionCount.js +2 -1
  468. package/dist/esm/actions/public/getTransactionCount.js.map +1 -1
  469. package/dist/esm/actions/public/getTransactionReceipt.js +3 -3
  470. package/dist/esm/actions/public/getTransactionReceipt.js.map +1 -1
  471. package/dist/esm/actions/public/multicall.js +7 -3
  472. package/dist/esm/actions/public/multicall.js.map +1 -1
  473. package/dist/esm/actions/public/readContract.js +3 -1
  474. package/dist/esm/actions/public/readContract.js.map +1 -1
  475. package/dist/esm/actions/public/simulateContract.js +4 -1
  476. package/dist/esm/actions/public/simulateContract.js.map +1 -1
  477. package/dist/esm/actions/public/uninstallFilter.js.map +1 -1
  478. package/dist/esm/actions/public/verifyHash.js +27 -0
  479. package/dist/esm/actions/public/verifyHash.js.map +1 -0
  480. package/dist/esm/actions/public/verifyMessage.js +12 -0
  481. package/dist/esm/actions/public/verifyMessage.js.map +1 -0
  482. package/dist/esm/actions/public/verifyTypedData.js +12 -0
  483. package/dist/esm/actions/public/verifyTypedData.js.map +1 -0
  484. package/dist/esm/actions/public/waitForTransactionReceipt.js +27 -12
  485. package/dist/esm/actions/public/waitForTransactionReceipt.js.map +1 -1
  486. package/dist/esm/actions/public/watchBlockNumber.js +4 -3
  487. package/dist/esm/actions/public/watchBlockNumber.js.map +1 -1
  488. package/dist/esm/actions/public/watchBlocks.js +2 -1
  489. package/dist/esm/actions/public/watchBlocks.js.map +1 -1
  490. package/dist/esm/actions/public/watchContractEvent.js +7 -4
  491. package/dist/esm/actions/public/watchContractEvent.js.map +1 -1
  492. package/dist/esm/actions/public/watchEvent.js +6 -3
  493. package/dist/esm/actions/public/watchEvent.js.map +1 -1
  494. package/dist/esm/actions/public/watchPendingTransactions.js +2 -1
  495. package/dist/esm/actions/public/watchPendingTransactions.js.map +1 -1
  496. package/dist/esm/actions/test/dropTransaction.js.map +1 -1
  497. package/dist/esm/actions/test/getAutomine.js +4 -0
  498. package/dist/esm/actions/test/getAutomine.js.map +1 -1
  499. package/dist/esm/actions/test/getTxpoolContent.js.map +1 -1
  500. package/dist/esm/actions/test/getTxpoolStatus.js +1 -1
  501. package/dist/esm/actions/test/getTxpoolStatus.js.map +1 -1
  502. package/dist/esm/actions/test/impersonateAccount.js.map +1 -1
  503. package/dist/esm/actions/test/increaseTime.js +1 -1
  504. package/dist/esm/actions/test/increaseTime.js.map +1 -1
  505. package/dist/esm/actions/test/inspectTxpool.js.map +1 -1
  506. package/dist/esm/actions/test/mine.js +11 -5
  507. package/dist/esm/actions/test/mine.js.map +1 -1
  508. package/dist/esm/actions/test/revert.js.map +1 -1
  509. package/dist/esm/actions/test/sendUnsignedTransaction.js +1 -1
  510. package/dist/esm/actions/test/sendUnsignedTransaction.js.map +1 -1
  511. package/dist/esm/actions/test/setAutomine.js +11 -4
  512. package/dist/esm/actions/test/setAutomine.js.map +1 -1
  513. package/dist/esm/actions/test/setBalance.js +11 -5
  514. package/dist/esm/actions/test/setBalance.js.map +1 -1
  515. package/dist/esm/actions/test/setBlockGasLimit.js +1 -1
  516. package/dist/esm/actions/test/setBlockGasLimit.js.map +1 -1
  517. package/dist/esm/actions/test/setCode.js.map +1 -1
  518. package/dist/esm/actions/test/setCoinbase.js.map +1 -1
  519. package/dist/esm/actions/test/setMinGasPrice.js +1 -1
  520. package/dist/esm/actions/test/setMinGasPrice.js.map +1 -1
  521. package/dist/esm/actions/test/setNextBlockBaseFeePerGas.js +1 -1
  522. package/dist/esm/actions/test/setNextBlockBaseFeePerGas.js.map +1 -1
  523. package/dist/esm/actions/test/setNextBlockTimestamp.js +1 -1
  524. package/dist/esm/actions/test/setNextBlockTimestamp.js.map +1 -1
  525. package/dist/esm/actions/test/setNonce.js +1 -1
  526. package/dist/esm/actions/test/setNonce.js.map +1 -1
  527. package/dist/esm/actions/test/setStorageAt.js +1 -1
  528. package/dist/esm/actions/test/setStorageAt.js.map +1 -1
  529. package/dist/esm/actions/test/stopImpersonatingAccount.js.map +1 -1
  530. package/dist/esm/actions/wallet/addChain.js +1 -1
  531. package/dist/esm/actions/wallet/addChain.js.map +1 -1
  532. package/dist/esm/actions/wallet/deployContract.js +2 -2
  533. package/dist/esm/actions/wallet/deployContract.js.map +1 -1
  534. package/dist/esm/actions/wallet/getAddresses.js +1 -1
  535. package/dist/esm/actions/wallet/getAddresses.js.map +1 -1
  536. package/dist/esm/actions/wallet/getPermissions.js.map +1 -1
  537. package/dist/esm/actions/wallet/requestAddresses.js +1 -1
  538. package/dist/esm/actions/wallet/requestAddresses.js.map +1 -1
  539. package/dist/esm/actions/wallet/requestPermissions.js.map +1 -1
  540. package/dist/esm/actions/wallet/sendTransaction.js +19 -8
  541. package/dist/esm/actions/wallet/sendTransaction.js.map +1 -1
  542. package/dist/esm/actions/wallet/signMessage.js +11 -3
  543. package/dist/esm/actions/wallet/signMessage.js.map +1 -1
  544. package/dist/esm/actions/wallet/signTypedData.js +5 -2
  545. package/dist/esm/actions/wallet/signTypedData.js.map +1 -1
  546. package/dist/esm/actions/wallet/switchChain.js +1 -1
  547. package/dist/esm/actions/wallet/switchChain.js.map +1 -1
  548. package/dist/esm/actions/wallet/watchAsset.js.map +1 -1
  549. package/dist/esm/actions/wallet/writeContract.js +2 -2
  550. package/dist/esm/actions/wallet/writeContract.js.map +1 -1
  551. package/dist/esm/chains.js +17 -1
  552. package/dist/esm/chains.js.map +1 -1
  553. package/dist/esm/clients/createClient.js +1 -1
  554. package/dist/esm/clients/createClient.js.map +1 -1
  555. package/dist/esm/clients/createPublicClient.js +1 -1
  556. package/dist/esm/clients/createPublicClient.js.map +1 -1
  557. package/dist/esm/clients/createTestClient.js +1 -1
  558. package/dist/esm/clients/createTestClient.js.map +1 -1
  559. package/dist/esm/clients/createWalletClient.js +2 -2
  560. package/dist/esm/clients/createWalletClient.js.map +1 -1
  561. package/dist/esm/clients/decorators/public.js +42 -2
  562. package/dist/esm/clients/decorators/public.js.map +1 -1
  563. package/dist/esm/clients/decorators/test.js +28 -1
  564. package/dist/esm/clients/decorators/test.js.map +1 -1
  565. package/dist/esm/clients/decorators/wallet.js +13 -1
  566. package/dist/esm/clients/decorators/wallet.js.map +1 -1
  567. package/dist/esm/clients/transports/createTransport.js +1 -1
  568. package/dist/esm/clients/transports/createTransport.js.map +1 -1
  569. package/dist/esm/clients/transports/custom.js +1 -1
  570. package/dist/esm/clients/transports/custom.js.map +1 -1
  571. package/dist/esm/clients/transports/fallback.js +1 -1
  572. package/dist/esm/clients/transports/fallback.js.map +1 -1
  573. package/dist/esm/clients/transports/http.js +28 -10
  574. package/dist/esm/clients/transports/http.js.map +1 -1
  575. package/dist/esm/clients/transports/webSocket.js +24 -16
  576. package/dist/esm/clients/transports/webSocket.js.map +1 -1
  577. package/dist/esm/constants/abis.js +35 -0
  578. package/dist/esm/constants/abis.js.map +1 -1
  579. package/dist/esm/constants/contracts.js +2 -0
  580. package/dist/esm/constants/contracts.js.map +1 -0
  581. package/dist/esm/contract.js +25 -3
  582. package/dist/esm/contract.js.map +1 -1
  583. package/dist/esm/ens.js +7 -2
  584. package/dist/esm/ens.js.map +1 -1
  585. package/dist/esm/errors/abi.js +23 -10
  586. package/dist/esm/errors/abi.js.map +1 -1
  587. package/dist/esm/errors/block.js.map +1 -1
  588. package/dist/esm/errors/ccip.js +2 -1
  589. package/dist/esm/errors/ccip.js.map +1 -1
  590. package/dist/esm/errors/chain.js.map +1 -1
  591. package/dist/esm/errors/contract.js +11 -5
  592. package/dist/esm/errors/contract.js.map +1 -1
  593. package/dist/esm/errors/data.js +11 -0
  594. package/dist/esm/errors/data.js.map +1 -1
  595. package/dist/esm/errors/encoding.js.map +1 -1
  596. package/dist/esm/errors/estimateGas.js +2 -1
  597. package/dist/esm/errors/estimateGas.js.map +1 -1
  598. package/dist/esm/errors/node.js +1 -1
  599. package/dist/esm/errors/node.js.map +1 -1
  600. package/dist/esm/errors/request.js +1 -1
  601. package/dist/esm/errors/request.js.map +1 -1
  602. package/dist/esm/errors/rpc.js +8 -2
  603. package/dist/esm/errors/rpc.js.map +1 -1
  604. package/dist/esm/errors/transaction.js +2 -1
  605. package/dist/esm/errors/transaction.js.map +1 -1
  606. package/dist/esm/errors/utils.js.map +1 -1
  607. package/dist/esm/errors/version.js +1 -1
  608. package/dist/esm/errors/version.js.map +1 -1
  609. package/dist/esm/index.js +148 -6
  610. package/dist/esm/index.js.map +1 -1
  611. package/dist/esm/public.js +26 -1
  612. package/dist/esm/public.js.map +1 -1
  613. package/dist/esm/test.js +28 -1
  614. package/dist/esm/test.js.map +1 -1
  615. package/dist/esm/types/account.js +1 -1
  616. package/dist/esm/types/account.js.map +1 -1
  617. package/dist/esm/types/eip1193.js +1 -1
  618. package/dist/esm/types/eip1193.js.map +1 -1
  619. package/dist/esm/utils/abi/decodeAbiParameters.js +28 -18
  620. package/dist/esm/utils/abi/decodeAbiParameters.js.map +1 -1
  621. package/dist/esm/utils/abi/decodeDeployData.js +1 -1
  622. package/dist/esm/utils/abi/decodeDeployData.js.map +1 -1
  623. package/dist/esm/utils/abi/decodeErrorResult.js +4 -4
  624. package/dist/esm/utils/abi/decodeErrorResult.js.map +1 -1
  625. package/dist/esm/utils/abi/decodeEventLog.js +37 -24
  626. package/dist/esm/utils/abi/decodeEventLog.js.map +1 -1
  627. package/dist/esm/utils/abi/decodeFunctionData.js +3 -3
  628. package/dist/esm/utils/abi/decodeFunctionData.js.map +1 -1
  629. package/dist/esm/utils/abi/decodeFunctionResult.js +16 -11
  630. package/dist/esm/utils/abi/decodeFunctionResult.js.map +1 -1
  631. package/dist/esm/utils/abi/encodeAbiParameters.js +8 -4
  632. package/dist/esm/utils/abi/encodeAbiParameters.js.map +1 -1
  633. package/dist/esm/utils/abi/encodeDeployData.js +2 -2
  634. package/dist/esm/utils/abi/encodeDeployData.js.map +1 -1
  635. package/dist/esm/utils/abi/encodeErrorResult.js +19 -14
  636. package/dist/esm/utils/abi/encodeErrorResult.js.map +1 -1
  637. package/dist/esm/utils/abi/encodeEventTopics.js +31 -19
  638. package/dist/esm/utils/abi/encodeEventTopics.js.map +1 -1
  639. package/dist/esm/utils/abi/encodeFunctionData.js +20 -13
  640. package/dist/esm/utils/abi/encodeFunctionData.js.map +1 -1
  641. package/dist/esm/utils/abi/encodeFunctionResult.js +21 -8
  642. package/dist/esm/utils/abi/encodeFunctionResult.js.map +1 -1
  643. package/dist/esm/utils/abi/encodePacked.js +6 -4
  644. package/dist/esm/utils/abi/encodePacked.js.map +1 -1
  645. package/dist/esm/utils/abi/formatAbiItem.js +1 -1
  646. package/dist/esm/utils/abi/formatAbiItem.js.map +1 -1
  647. package/dist/esm/utils/abi/formatAbiItemWithArgs.js +1 -1
  648. package/dist/esm/utils/abi/formatAbiItemWithArgs.js.map +1 -1
  649. package/dist/esm/utils/abi/getAbiItem.js +3 -1
  650. package/dist/esm/utils/abi/getAbiItem.js.map +1 -1
  651. package/dist/esm/utils/address/getAddress.js +3 -3
  652. package/dist/esm/utils/address/getAddress.js.map +1 -1
  653. package/dist/esm/utils/address/getContractAddress.js +7 -3
  654. package/dist/esm/utils/address/getContractAddress.js.map +1 -1
  655. package/dist/esm/utils/address/isAddressEqual.js +1 -1
  656. package/dist/esm/utils/address/isAddressEqual.js.map +1 -1
  657. package/dist/esm/utils/buildRequest.js +4 -3
  658. package/dist/esm/utils/buildRequest.js.map +1 -1
  659. package/dist/esm/utils/ccip.js +8 -4
  660. package/dist/esm/utils/ccip.js.map +1 -1
  661. package/dist/esm/utils/chain.js +7 -1
  662. package/dist/esm/utils/chain.js.map +1 -1
  663. package/dist/esm/utils/data/isBytesEqual.js +8 -0
  664. package/dist/esm/utils/data/isBytesEqual.js.map +1 -0
  665. package/dist/esm/utils/data/isHex.js +2 -2
  666. package/dist/esm/utils/data/isHex.js.map +1 -1
  667. package/dist/esm/utils/data/pad.js +1 -1
  668. package/dist/esm/utils/data/pad.js.map +1 -1
  669. package/dist/esm/utils/data/size.js +1 -1
  670. package/dist/esm/utils/data/size.js.map +1 -1
  671. package/dist/esm/utils/data/slice.js +37 -12
  672. package/dist/esm/utils/data/slice.js.map +1 -1
  673. package/dist/esm/utils/data/trim.js +1 -1
  674. package/dist/esm/utils/data/trim.js.map +1 -1
  675. package/dist/esm/utils/encoding/fromBytes.js +1 -2
  676. package/dist/esm/utils/encoding/fromBytes.js.map +1 -1
  677. package/dist/esm/utils/encoding/fromHex.js +4 -4
  678. package/dist/esm/utils/encoding/fromHex.js.map +1 -1
  679. package/dist/esm/utils/encoding/fromRlp.js +1 -1
  680. package/dist/esm/utils/encoding/fromRlp.js.map +1 -1
  681. package/dist/esm/utils/encoding/toBytes.js +1 -1
  682. package/dist/esm/utils/encoding/toBytes.js.map +1 -1
  683. package/dist/esm/utils/encoding/toHex.js +2 -2
  684. package/dist/esm/utils/encoding/toHex.js.map +1 -1
  685. package/dist/esm/utils/encoding/toRlp.js +1 -1
  686. package/dist/esm/utils/encoding/toRlp.js.map +1 -1
  687. package/dist/esm/utils/ens/avatar/parseAvatarRecord.js.map +1 -1
  688. package/dist/esm/utils/ens/avatar/utils.js +2 -2
  689. package/dist/esm/utils/ens/avatar/utils.js.map +1 -1
  690. package/dist/esm/utils/ens/encodeLabelhash.js +4 -0
  691. package/dist/esm/utils/ens/encodeLabelhash.js.map +1 -0
  692. package/dist/esm/utils/ens/encodedLabelToLabelhash.js +14 -0
  693. package/dist/esm/utils/ens/encodedLabelToLabelhash.js.map +1 -0
  694. package/dist/esm/utils/ens/labelhash.js +5 -3
  695. package/dist/esm/utils/ens/labelhash.js.map +1 -1
  696. package/dist/esm/utils/ens/namehash.js +9 -4
  697. package/dist/esm/utils/ens/namehash.js.map +1 -1
  698. package/dist/esm/utils/ens/packetToBytes.js +11 -10
  699. package/dist/esm/utils/ens/packetToBytes.js.map +1 -1
  700. package/dist/esm/utils/errors/getCallError.js +1 -1
  701. package/dist/esm/utils/errors/getCallError.js.map +1 -1
  702. package/dist/esm/utils/errors/getContractError.js +7 -4
  703. package/dist/esm/utils/errors/getContractError.js.map +1 -1
  704. package/dist/esm/utils/errors/getEstimateGasError.js +1 -1
  705. package/dist/esm/utils/errors/getEstimateGasError.js.map +1 -1
  706. package/dist/esm/utils/errors/getNodeError.js +3 -2
  707. package/dist/esm/utils/errors/getNodeError.js.map +1 -1
  708. package/dist/esm/utils/errors/getTransactionError.js +1 -1
  709. package/dist/esm/utils/errors/getTransactionError.js.map +1 -1
  710. package/dist/esm/utils/filters/createFilterRequestScope.js.map +1 -1
  711. package/dist/esm/utils/formatters/block.js +1 -1
  712. package/dist/esm/utils/formatters/block.js.map +1 -1
  713. package/dist/esm/utils/formatters/feeHistory.js.map +1 -1
  714. package/dist/esm/utils/formatters/format.js.map +1 -1
  715. package/dist/esm/utils/formatters/log.js +2 -2
  716. package/dist/esm/utils/formatters/log.js.map +1 -1
  717. package/dist/esm/utils/formatters/transaction.js +2 -2
  718. package/dist/esm/utils/formatters/transaction.js.map +1 -1
  719. package/dist/esm/utils/formatters/transactionReceipt.js +2 -2
  720. package/dist/esm/utils/formatters/transactionReceipt.js.map +1 -1
  721. package/dist/esm/utils/formatters/transactionRequest.js +2 -2
  722. package/dist/esm/utils/formatters/transactionRequest.js.map +1 -1
  723. package/dist/esm/utils/hash/getEventSelector.js.map +1 -1
  724. package/dist/esm/utils/hash/getFunctionSelector.js +1 -1
  725. package/dist/esm/utils/hash/getFunctionSelector.js.map +1 -1
  726. package/dist/esm/utils/hash/hashFunction.js +3 -5
  727. package/dist/esm/utils/hash/hashFunction.js.map +1 -1
  728. package/dist/esm/utils/hash/isHash.js +2 -1
  729. package/dist/esm/utils/hash/isHash.js.map +1 -1
  730. package/dist/esm/utils/hash/keccak256.js +4 -3
  731. package/dist/esm/utils/hash/keccak256.js.map +1 -1
  732. package/dist/esm/utils/index.js +74 -14
  733. package/dist/esm/utils/index.js.map +1 -1
  734. package/dist/esm/utils/promise/createBatchScheduler.js.map +1 -1
  735. package/dist/esm/utils/promise/withCache.js +8 -4
  736. package/dist/esm/utils/promise/withCache.js.map +1 -1
  737. package/dist/esm/utils/rpc.js +62 -58
  738. package/dist/esm/utils/rpc.js.map +1 -1
  739. package/dist/esm/utils/signature/hashMessage.js +10 -4
  740. package/dist/esm/utils/signature/hashMessage.js.map +1 -1
  741. package/dist/esm/utils/signature/hashTypedData.js +4 -4
  742. package/dist/esm/utils/signature/hashTypedData.js.map +1 -1
  743. package/dist/esm/utils/signature/recoverAddress.js +1 -1
  744. package/dist/esm/utils/signature/recoverAddress.js.map +1 -1
  745. package/dist/esm/utils/signature/recoverMessageAddress.js.map +1 -1
  746. package/dist/esm/utils/signature/recoverPublicKey.js +6 -3
  747. package/dist/esm/utils/signature/recoverPublicKey.js.map +1 -1
  748. package/dist/esm/utils/signature/recoverTypedDataAddress.js.map +1 -1
  749. package/dist/esm/utils/signature/verifyMessage.js +3 -1
  750. package/dist/esm/utils/signature/verifyMessage.js.map +1 -1
  751. package/dist/esm/utils/signature/verifyTypedData.js +3 -2
  752. package/dist/esm/utils/signature/verifyTypedData.js.map +1 -1
  753. package/dist/esm/utils/transaction/assertRequest.js +4 -3
  754. package/dist/esm/utils/transaction/assertRequest.js.map +1 -1
  755. package/dist/esm/utils/transaction/assertTransaction.js +5 -2
  756. package/dist/esm/utils/transaction/assertTransaction.js.map +1 -1
  757. package/dist/esm/utils/transaction/getSerializedTransactionType.js +2 -2
  758. package/dist/esm/utils/transaction/getSerializedTransactionType.js.map +1 -1
  759. package/dist/esm/utils/transaction/getTransactionType.js.map +1 -1
  760. package/dist/esm/utils/transaction/parseTransaction.js +10 -7
  761. package/dist/esm/utils/transaction/parseTransaction.js.map +1 -1
  762. package/dist/esm/utils/transaction/prepareRequest.js +8 -5
  763. package/dist/esm/utils/transaction/prepareRequest.js.map +1 -1
  764. package/dist/esm/utils/transaction/serializeTransaction.js +9 -6
  765. package/dist/esm/utils/transaction/serializeTransaction.js.map +1 -1
  766. package/dist/esm/utils/typedData.js +5 -4
  767. package/dist/esm/utils/typedData.js.map +1 -1
  768. package/dist/esm/utils/unit/formatEther.js +1 -1
  769. package/dist/esm/utils/unit/formatEther.js.map +1 -1
  770. package/dist/esm/utils/unit/formatGwei.js +1 -1
  771. package/dist/esm/utils/unit/formatGwei.js.map +1 -1
  772. package/dist/esm/utils/unit/parseEther.js +1 -1
  773. package/dist/esm/utils/unit/parseEther.js.map +1 -1
  774. package/dist/esm/utils/unit/parseGwei.js +1 -1
  775. package/dist/esm/utils/unit/parseGwei.js.map +1 -1
  776. package/dist/esm/utils/unit/parseUnits.js +14 -3
  777. package/dist/esm/utils/unit/parseUnits.js.map +1 -1
  778. package/dist/esm/wallet.js +10 -1
  779. package/dist/esm/wallet.js.map +1 -1
  780. package/dist/types/abi.d.ts +5 -2
  781. package/dist/types/abi.d.ts.map +1 -1
  782. package/dist/types/accounts/generatePrivateKey.d.ts +1 -1
  783. package/dist/types/accounts/generatePrivateKey.d.ts.map +1 -1
  784. package/dist/types/accounts/hdKeyToAccount.d.ts.map +1 -1
  785. package/dist/types/accounts/index.d.ts +6 -4
  786. package/dist/types/accounts/index.d.ts.map +1 -1
  787. package/dist/types/accounts/privateKeyToAccount.d.ts +1 -1
  788. package/dist/types/accounts/privateKeyToAccount.d.ts.map +1 -1
  789. package/dist/types/accounts/toAccount.d.ts +1 -1
  790. package/dist/types/accounts/toAccount.d.ts.map +1 -1
  791. package/dist/types/accounts/types.d.ts +4 -2
  792. package/dist/types/accounts/types.d.ts.map +1 -1
  793. package/dist/types/accounts/utils/parseAccount.d.ts +1 -1
  794. package/dist/types/accounts/utils/parseAccount.d.ts.map +1 -1
  795. package/dist/types/accounts/utils/publicKeyToAddress.d.ts +2 -1
  796. package/dist/types/accounts/utils/publicKeyToAddress.d.ts.map +1 -1
  797. package/dist/types/accounts/utils/sign.d.ts +1 -1
  798. package/dist/types/accounts/utils/sign.d.ts.map +1 -1
  799. package/dist/types/accounts/utils/signMessage.d.ts +2 -2
  800. package/dist/types/accounts/utils/signMessage.d.ts.map +1 -1
  801. package/dist/types/accounts/utils/signTransaction.d.ts +3 -2
  802. package/dist/types/accounts/utils/signTransaction.d.ts.map +1 -1
  803. package/dist/types/accounts/utils/signTypedData.d.ts +2 -1
  804. package/dist/types/accounts/utils/signTypedData.d.ts.map +1 -1
  805. package/dist/types/accounts/utils/signatureToHex.d.ts +1 -1
  806. package/dist/types/accounts/utils/signatureToHex.d.ts.map +1 -1
  807. package/dist/types/actions/ens/getEnsAddress.d.ts +6 -3
  808. package/dist/types/actions/ens/getEnsAddress.d.ts.map +1 -1
  809. package/dist/types/actions/ens/getEnsAvatar.d.ts +6 -3
  810. package/dist/types/actions/ens/getEnsAvatar.d.ts.map +1 -1
  811. package/dist/types/actions/ens/getEnsName.d.ts +6 -3
  812. package/dist/types/actions/ens/getEnsName.d.ts.map +1 -1
  813. package/dist/types/actions/ens/getEnsResolver.d.ts +6 -3
  814. package/dist/types/actions/ens/getEnsResolver.d.ts.map +1 -1
  815. package/dist/types/actions/ens/getEnsText.d.ts +6 -3
  816. package/dist/types/actions/ens/getEnsText.d.ts.map +1 -1
  817. package/dist/types/actions/getContract.d.ts +78 -25
  818. package/dist/types/actions/getContract.d.ts.map +1 -1
  819. package/dist/types/actions/public/call.d.ts +12 -3
  820. package/dist/types/actions/public/call.d.ts.map +1 -1
  821. package/dist/types/actions/public/createBlockFilter.d.ts +5 -3
  822. package/dist/types/actions/public/createBlockFilter.d.ts.map +1 -1
  823. package/dist/types/actions/public/createContractEventFilter.d.ts +16 -7
  824. package/dist/types/actions/public/createContractEventFilter.d.ts.map +1 -1
  825. package/dist/types/actions/public/createEventFilter.d.ts +26 -9
  826. package/dist/types/actions/public/createEventFilter.d.ts.map +1 -1
  827. package/dist/types/actions/public/createPendingTransactionFilter.d.ts +5 -3
  828. package/dist/types/actions/public/createPendingTransactionFilter.d.ts.map +1 -1
  829. package/dist/types/actions/public/estimateContractGas.d.ts +10 -6
  830. package/dist/types/actions/public/estimateContractGas.d.ts.map +1 -1
  831. package/dist/types/actions/public/estimateGas.d.ts +11 -3
  832. package/dist/types/actions/public/estimateGas.d.ts.map +1 -1
  833. package/dist/types/actions/public/getBalance.d.ts +5 -2
  834. package/dist/types/actions/public/getBalance.d.ts.map +1 -1
  835. package/dist/types/actions/public/getBlock.d.ts +8 -3
  836. package/dist/types/actions/public/getBlock.d.ts.map +1 -1
  837. package/dist/types/actions/public/getBlockNumber.d.ts +3 -2
  838. package/dist/types/actions/public/getBlockNumber.d.ts.map +1 -1
  839. package/dist/types/actions/public/getBlockTransactionCount.d.ts +5 -2
  840. package/dist/types/actions/public/getBlockTransactionCount.d.ts.map +1 -1
  841. package/dist/types/actions/public/getBytecode.d.ts +6 -2
  842. package/dist/types/actions/public/getBytecode.d.ts.map +1 -1
  843. package/dist/types/actions/public/getChainId.d.ts +5 -2
  844. package/dist/types/actions/public/getChainId.d.ts.map +1 -1
  845. package/dist/types/actions/public/getFeeHistory.d.ts +5 -2
  846. package/dist/types/actions/public/getFeeHistory.d.ts.map +1 -1
  847. package/dist/types/actions/public/getFilterChanges.d.ts +19 -11
  848. package/dist/types/actions/public/getFilterChanges.d.ts.map +1 -1
  849. package/dist/types/actions/public/getFilterLogs.d.ts +10 -7
  850. package/dist/types/actions/public/getFilterLogs.d.ts.map +1 -1
  851. package/dist/types/actions/public/getGasPrice.d.ts +5 -2
  852. package/dist/types/actions/public/getGasPrice.d.ts.map +1 -1
  853. package/dist/types/actions/public/getLogs.d.ts +18 -7
  854. package/dist/types/actions/public/getLogs.d.ts.map +1 -1
  855. package/dist/types/actions/public/getStorageAt.d.ts +6 -2
  856. package/dist/types/actions/public/getStorageAt.d.ts.map +1 -1
  857. package/dist/types/actions/public/getTransaction.d.ts +7 -4
  858. package/dist/types/actions/public/getTransaction.d.ts.map +1 -1
  859. package/dist/types/actions/public/getTransactionConfirmations.d.ts +5 -3
  860. package/dist/types/actions/public/getTransactionConfirmations.d.ts.map +1 -1
  861. package/dist/types/actions/public/getTransactionCount.d.ts +8 -3
  862. package/dist/types/actions/public/getTransactionCount.d.ts.map +1 -1
  863. package/dist/types/actions/public/getTransactionReceipt.d.ts +8 -6
  864. package/dist/types/actions/public/getTransactionReceipt.d.ts.map +1 -1
  865. package/dist/types/actions/public/multicall.d.ts +7 -5
  866. package/dist/types/actions/public/multicall.d.ts.map +1 -1
  867. package/dist/types/actions/public/readContract.d.ts +7 -5
  868. package/dist/types/actions/public/readContract.d.ts.map +1 -1
  869. package/dist/types/actions/public/simulateContract.d.ts +11 -7
  870. package/dist/types/actions/public/simulateContract.d.ts.map +1 -1
  871. package/dist/types/actions/public/uninstallFilter.d.ts +7 -5
  872. package/dist/types/actions/public/uninstallFilter.d.ts.map +1 -1
  873. package/dist/types/actions/public/verifyHash.d.ts +24 -0
  874. package/dist/types/actions/public/verifyHash.d.ts.map +1 -0
  875. package/dist/types/actions/public/verifyMessage.d.ts +28 -0
  876. package/dist/types/actions/public/verifyMessage.d.ts.map +1 -0
  877. package/dist/types/actions/public/verifyTypedData.d.ts +27 -0
  878. package/dist/types/actions/public/verifyTypedData.d.ts.map +1 -0
  879. package/dist/types/actions/public/waitForTransactionReceipt.d.ts +6 -3
  880. package/dist/types/actions/public/waitForTransactionReceipt.d.ts.map +1 -1
  881. package/dist/types/actions/public/watchBlockNumber.d.ts +5 -3
  882. package/dist/types/actions/public/watchBlockNumber.d.ts.map +1 -1
  883. package/dist/types/actions/public/watchBlocks.d.ts +6 -3
  884. package/dist/types/actions/public/watchBlocks.d.ts.map +1 -1
  885. package/dist/types/actions/public/watchContractEvent.d.ts +17 -9
  886. package/dist/types/actions/public/watchContractEvent.d.ts.map +1 -1
  887. package/dist/types/actions/public/watchEvent.d.ts +19 -10
  888. package/dist/types/actions/public/watchEvent.d.ts.map +1 -1
  889. package/dist/types/actions/public/watchPendingTransactions.d.ts +5 -2
  890. package/dist/types/actions/public/watchPendingTransactions.d.ts.map +1 -1
  891. package/dist/types/actions/test/dropTransaction.d.ts +4 -2
  892. package/dist/types/actions/test/dropTransaction.d.ts.map +1 -1
  893. package/dist/types/actions/test/getAutomine.d.ts +3 -2
  894. package/dist/types/actions/test/getAutomine.d.ts.map +1 -1
  895. package/dist/types/actions/test/getTxpoolContent.d.ts +4 -2
  896. package/dist/types/actions/test/getTxpoolContent.d.ts.map +1 -1
  897. package/dist/types/actions/test/getTxpoolStatus.d.ts +3 -2
  898. package/dist/types/actions/test/getTxpoolStatus.d.ts.map +1 -1
  899. package/dist/types/actions/test/impersonateAccount.d.ts +4 -2
  900. package/dist/types/actions/test/impersonateAccount.d.ts.map +1 -1
  901. package/dist/types/actions/test/increaseTime.d.ts +3 -2
  902. package/dist/types/actions/test/increaseTime.d.ts.map +1 -1
  903. package/dist/types/actions/test/inspectTxpool.d.ts +4 -2
  904. package/dist/types/actions/test/inspectTxpool.d.ts.map +1 -1
  905. package/dist/types/actions/test/mine.d.ts +3 -2
  906. package/dist/types/actions/test/mine.d.ts.map +1 -1
  907. package/dist/types/actions/test/removeBlockTimestampInterval.d.ts +3 -2
  908. package/dist/types/actions/test/removeBlockTimestampInterval.d.ts.map +1 -1
  909. package/dist/types/actions/test/reset.d.ts +3 -2
  910. package/dist/types/actions/test/reset.d.ts.map +1 -1
  911. package/dist/types/actions/test/revert.d.ts +4 -2
  912. package/dist/types/actions/test/revert.d.ts.map +1 -1
  913. package/dist/types/actions/test/sendUnsignedTransaction.d.ts +5 -2
  914. package/dist/types/actions/test/sendUnsignedTransaction.d.ts.map +1 -1
  915. package/dist/types/actions/test/setAutomine.d.ts +3 -2
  916. package/dist/types/actions/test/setAutomine.d.ts.map +1 -1
  917. package/dist/types/actions/test/setBalance.d.ts +4 -2
  918. package/dist/types/actions/test/setBalance.d.ts.map +1 -1
  919. package/dist/types/actions/test/setBlockGasLimit.d.ts +3 -2
  920. package/dist/types/actions/test/setBlockGasLimit.d.ts.map +1 -1
  921. package/dist/types/actions/test/setBlockTimestampInterval.d.ts +4 -3
  922. package/dist/types/actions/test/setBlockTimestampInterval.d.ts.map +1 -1
  923. package/dist/types/actions/test/setCode.d.ts +5 -2
  924. package/dist/types/actions/test/setCode.d.ts.map +1 -1
  925. package/dist/types/actions/test/setCoinbase.d.ts +4 -2
  926. package/dist/types/actions/test/setCoinbase.d.ts.map +1 -1
  927. package/dist/types/actions/test/setIntervalMining.d.ts +3 -2
  928. package/dist/types/actions/test/setIntervalMining.d.ts.map +1 -1
  929. package/dist/types/actions/test/setLoggingEnabled.d.ts +3 -2
  930. package/dist/types/actions/test/setLoggingEnabled.d.ts.map +1 -1
  931. package/dist/types/actions/test/setMinGasPrice.d.ts +3 -2
  932. package/dist/types/actions/test/setMinGasPrice.d.ts.map +1 -1
  933. package/dist/types/actions/test/setNextBlockBaseFeePerGas.d.ts +3 -2
  934. package/dist/types/actions/test/setNextBlockBaseFeePerGas.d.ts.map +1 -1
  935. package/dist/types/actions/test/setNextBlockTimestamp.d.ts +3 -2
  936. package/dist/types/actions/test/setNextBlockTimestamp.d.ts.map +1 -1
  937. package/dist/types/actions/test/setNonce.d.ts +4 -2
  938. package/dist/types/actions/test/setNonce.d.ts.map +1 -1
  939. package/dist/types/actions/test/setRpcUrl.d.ts +3 -2
  940. package/dist/types/actions/test/setRpcUrl.d.ts.map +1 -1
  941. package/dist/types/actions/test/setStorageAt.d.ts +5 -2
  942. package/dist/types/actions/test/setStorageAt.d.ts.map +1 -1
  943. package/dist/types/actions/test/snapshot.d.ts +3 -2
  944. package/dist/types/actions/test/snapshot.d.ts.map +1 -1
  945. package/dist/types/actions/test/stopImpersonatingAccount.d.ts +5 -3
  946. package/dist/types/actions/test/stopImpersonatingAccount.d.ts.map +1 -1
  947. package/dist/types/actions/wallet/addChain.d.ts +4 -2
  948. package/dist/types/actions/wallet/addChain.d.ts.map +1 -1
  949. package/dist/types/actions/wallet/deployContract.d.ts +8 -4
  950. package/dist/types/actions/wallet/deployContract.d.ts.map +1 -1
  951. package/dist/types/actions/wallet/getAddresses.d.ts +4 -2
  952. package/dist/types/actions/wallet/getAddresses.d.ts.map +1 -1
  953. package/dist/types/actions/wallet/getPermissions.d.ts +4 -2
  954. package/dist/types/actions/wallet/getPermissions.d.ts.map +1 -1
  955. package/dist/types/actions/wallet/requestAddresses.d.ts +4 -2
  956. package/dist/types/actions/wallet/requestAddresses.d.ts.map +1 -1
  957. package/dist/types/actions/wallet/requestPermissions.d.ts +5 -2
  958. package/dist/types/actions/wallet/requestPermissions.d.ts.map +1 -1
  959. package/dist/types/actions/wallet/sendTransaction.d.ts +11 -3
  960. package/dist/types/actions/wallet/sendTransaction.d.ts.map +1 -1
  961. package/dist/types/actions/wallet/signMessage.d.ts +9 -5
  962. package/dist/types/actions/wallet/signMessage.d.ts.map +1 -1
  963. package/dist/types/actions/wallet/signTypedData.d.ts +8 -3
  964. package/dist/types/actions/wallet/signTypedData.d.ts.map +1 -1
  965. package/dist/types/actions/wallet/switchChain.d.ts +4 -2
  966. package/dist/types/actions/wallet/switchChain.d.ts.map +1 -1
  967. package/dist/types/actions/wallet/watchAsset.d.ts +4 -2
  968. package/dist/types/actions/wallet/watchAsset.d.ts.map +1 -1
  969. package/dist/types/actions/wallet/writeContract.d.ts +10 -6
  970. package/dist/types/actions/wallet/writeContract.d.ts.map +1 -1
  971. package/dist/types/chains.d.ts +374 -26
  972. package/dist/types/chains.d.ts.map +1 -1
  973. package/dist/types/clients/createClient.d.ts +6 -6
  974. package/dist/types/clients/createClient.d.ts.map +1 -1
  975. package/dist/types/clients/createPublicClient.d.ts +8 -7
  976. package/dist/types/clients/createPublicClient.d.ts.map +1 -1
  977. package/dist/types/clients/createTestClient.d.ts +9 -9
  978. package/dist/types/clients/createTestClient.d.ts.map +1 -1
  979. package/dist/types/clients/createWalletClient.d.ts +10 -7
  980. package/dist/types/clients/createWalletClient.d.ts.map +1 -1
  981. package/dist/types/clients/decorators/public.d.ts +75 -33
  982. package/dist/types/clients/decorators/public.d.ts.map +1 -1
  983. package/dist/types/clients/decorators/test.d.ts +28 -5
  984. package/dist/types/clients/decorators/test.d.ts.map +1 -1
  985. package/dist/types/clients/decorators/wallet.d.ts +22 -9
  986. package/dist/types/clients/decorators/wallet.d.ts.map +1 -1
  987. package/dist/types/clients/transports/createTransport.d.ts +6 -9
  988. package/dist/types/clients/transports/createTransport.d.ts.map +1 -1
  989. package/dist/types/clients/transports/custom.d.ts +2 -2
  990. package/dist/types/clients/transports/custom.d.ts.map +1 -1
  991. package/dist/types/clients/transports/fallback.d.ts +2 -2
  992. package/dist/types/clients/transports/fallback.d.ts.map +1 -1
  993. package/dist/types/clients/transports/http.d.ts +13 -2
  994. package/dist/types/clients/transports/http.d.ts.map +1 -1
  995. package/dist/types/clients/transports/webSocket.d.ts +3 -3
  996. package/dist/types/clients/transports/webSocket.d.ts.map +1 -1
  997. package/dist/types/constants/abis.d.ts +33 -0
  998. package/dist/types/constants/abis.d.ts.map +1 -1
  999. package/dist/types/constants/contracts.d.ts +2 -0
  1000. package/dist/types/constants/contracts.d.ts.map +1 -0
  1001. package/dist/types/contract.d.ts +25 -6
  1002. package/dist/types/contract.d.ts.map +1 -1
  1003. package/dist/types/ens.d.ts +7 -3
  1004. package/dist/types/ens.d.ts.map +1 -1
  1005. package/dist/types/errors/abi.d.ts +13 -10
  1006. package/dist/types/errors/abi.d.ts.map +1 -1
  1007. package/dist/types/errors/block.d.ts +1 -1
  1008. package/dist/types/errors/block.d.ts.map +1 -1
  1009. package/dist/types/errors/ccip.d.ts +1 -1
  1010. package/dist/types/errors/ccip.d.ts.map +1 -1
  1011. package/dist/types/errors/chain.d.ts +1 -1
  1012. package/dist/types/errors/chain.d.ts.map +1 -1
  1013. package/dist/types/errors/contract.d.ts +11 -6
  1014. package/dist/types/errors/contract.d.ts.map +1 -1
  1015. package/dist/types/errors/data.d.ts +8 -0
  1016. package/dist/types/errors/data.d.ts.map +1 -1
  1017. package/dist/types/errors/encoding.d.ts +1 -1
  1018. package/dist/types/errors/encoding.d.ts.map +1 -1
  1019. package/dist/types/errors/estimateGas.d.ts +3 -2
  1020. package/dist/types/errors/estimateGas.d.ts.map +1 -1
  1021. package/dist/types/errors/node.d.ts.map +1 -1
  1022. package/dist/types/errors/request.d.ts +16 -8
  1023. package/dist/types/errors/request.d.ts.map +1 -1
  1024. package/dist/types/errors/rpc.d.ts +12 -8
  1025. package/dist/types/errors/rpc.d.ts.map +1 -1
  1026. package/dist/types/errors/transaction.d.ts +6 -2
  1027. package/dist/types/errors/transaction.d.ts.map +1 -1
  1028. package/dist/types/errors/utils.d.ts.map +1 -1
  1029. package/dist/types/errors/version.d.ts +1 -1
  1030. package/dist/types/errors/version.d.ts.map +1 -1
  1031. package/dist/types/index.d.ts +181 -11
  1032. package/dist/types/index.d.ts.map +1 -1
  1033. package/dist/types/public.d.ts +26 -2
  1034. package/dist/types/public.d.ts.map +1 -1
  1035. package/dist/types/test.d.ts +28 -2
  1036. package/dist/types/test.d.ts.map +1 -1
  1037. package/dist/types/types/account.d.ts +3 -2
  1038. package/dist/types/types/account.d.ts.map +1 -1
  1039. package/dist/types/types/block.d.ts.map +1 -1
  1040. package/dist/types/types/chain.d.ts.map +1 -1
  1041. package/dist/types/types/contract.d.ts +16 -37
  1042. package/dist/types/types/contract.d.ts.map +1 -1
  1043. package/dist/types/types/eip1193.d.ts +1046 -831
  1044. package/dist/types/types/eip1193.d.ts.map +1 -1
  1045. package/dist/types/types/filter.d.ts +12 -3
  1046. package/dist/types/types/filter.d.ts.map +1 -1
  1047. package/dist/types/types/log.d.ts +36 -23
  1048. package/dist/types/types/log.d.ts.map +1 -1
  1049. package/dist/types/types/misc.d.ts +4 -0
  1050. package/dist/types/types/misc.d.ts.map +1 -1
  1051. package/dist/types/types/multicall.d.ts.map +1 -1
  1052. package/dist/types/types/transaction.d.ts +4 -3
  1053. package/dist/types/types/transaction.d.ts.map +1 -1
  1054. package/dist/types/types/transport.d.ts +1 -1
  1055. package/dist/types/types/transport.d.ts.map +1 -1
  1056. package/dist/types/types/utils.d.ts +11 -0
  1057. package/dist/types/types/utils.d.ts.map +1 -1
  1058. package/dist/types/utils/abi/decodeAbiParameters.d.ts +1 -1
  1059. package/dist/types/utils/abi/decodeAbiParameters.d.ts.map +1 -1
  1060. package/dist/types/utils/abi/decodeDeployData.d.ts +7 -7
  1061. package/dist/types/utils/abi/decodeDeployData.d.ts.map +1 -1
  1062. package/dist/types/utils/abi/decodeErrorResult.d.ts +13 -10
  1063. package/dist/types/utils/abi/decodeErrorResult.d.ts.map +1 -1
  1064. package/dist/types/utils/abi/decodeEventLog.d.ts +13 -6
  1065. package/dist/types/utils/abi/decodeEventLog.d.ts.map +1 -1
  1066. package/dist/types/utils/abi/decodeFunctionData.d.ts +2 -1
  1067. package/dist/types/utils/abi/decodeFunctionData.d.ts.map +1 -1
  1068. package/dist/types/utils/abi/decodeFunctionResult.d.ts +12 -8
  1069. package/dist/types/utils/abi/decodeFunctionResult.d.ts.map +1 -1
  1070. package/dist/types/utils/abi/encodeAbiParameters.d.ts +1 -1
  1071. package/dist/types/utils/abi/encodeAbiParameters.d.ts.map +1 -1
  1072. package/dist/types/utils/abi/encodeDeployData.d.ts +2 -1
  1073. package/dist/types/utils/abi/encodeDeployData.d.ts.map +1 -1
  1074. package/dist/types/utils/abi/encodeErrorResult.d.ts +8 -5
  1075. package/dist/types/utils/abi/encodeErrorResult.d.ts.map +1 -1
  1076. package/dist/types/utils/abi/encodeEventTopics.d.ts +9 -5
  1077. package/dist/types/utils/abi/encodeEventTopics.d.ts.map +1 -1
  1078. package/dist/types/utils/abi/encodeFunctionData.d.ts +8 -5
  1079. package/dist/types/utils/abi/encodeFunctionData.d.ts.map +1 -1
  1080. package/dist/types/utils/abi/encodeFunctionResult.d.ts +9 -5
  1081. package/dist/types/utils/abi/encodeFunctionResult.d.ts.map +1 -1
  1082. package/dist/types/utils/abi/encodePacked.d.ts +1 -1
  1083. package/dist/types/utils/abi/encodePacked.d.ts.map +1 -1
  1084. package/dist/types/utils/abi/formatAbiItem.d.ts +1 -1
  1085. package/dist/types/utils/abi/formatAbiItem.d.ts.map +1 -1
  1086. package/dist/types/utils/abi/formatAbiItemWithArgs.d.ts +1 -1
  1087. package/dist/types/utils/abi/formatAbiItemWithArgs.d.ts.map +1 -1
  1088. package/dist/types/utils/abi/getAbiItem.d.ts +1 -1
  1089. package/dist/types/utils/abi/getAbiItem.d.ts.map +1 -1
  1090. package/dist/types/utils/address/getAddress.d.ts +1 -1
  1091. package/dist/types/utils/address/getAddress.d.ts.map +1 -1
  1092. package/dist/types/utils/address/getContractAddress.d.ts +2 -1
  1093. package/dist/types/utils/address/getContractAddress.d.ts.map +1 -1
  1094. package/dist/types/utils/address/isAddress.d.ts +1 -1
  1095. package/dist/types/utils/address/isAddress.d.ts.map +1 -1
  1096. package/dist/types/utils/address/isAddressEqual.d.ts +1 -1
  1097. package/dist/types/utils/address/isAddressEqual.d.ts.map +1 -1
  1098. package/dist/types/utils/buildRequest.d.ts.map +1 -1
  1099. package/dist/types/utils/ccip.d.ts +5 -3
  1100. package/dist/types/utils/ccip.d.ts.map +1 -1
  1101. package/dist/types/utils/chain.d.ts +7 -1
  1102. package/dist/types/utils/chain.d.ts.map +1 -1
  1103. package/dist/types/utils/data/concat.d.ts +1 -1
  1104. package/dist/types/utils/data/concat.d.ts.map +1 -1
  1105. package/dist/types/utils/data/isBytes.d.ts +1 -1
  1106. package/dist/types/utils/data/isBytes.d.ts.map +1 -1
  1107. package/dist/types/utils/data/isBytesEqual.d.ts +3 -0
  1108. package/dist/types/utils/data/isBytesEqual.d.ts.map +1 -0
  1109. package/dist/types/utils/data/isHex.d.ts +4 -2
  1110. package/dist/types/utils/data/isHex.d.ts.map +1 -1
  1111. package/dist/types/utils/data/pad.d.ts +1 -1
  1112. package/dist/types/utils/data/pad.d.ts.map +1 -1
  1113. package/dist/types/utils/data/size.d.ts +1 -1
  1114. package/dist/types/utils/data/size.d.ts.map +1 -1
  1115. package/dist/types/utils/data/slice.d.ts +10 -4
  1116. package/dist/types/utils/data/slice.d.ts.map +1 -1
  1117. package/dist/types/utils/data/trim.d.ts +1 -1
  1118. package/dist/types/utils/data/trim.d.ts.map +1 -1
  1119. package/dist/types/utils/encoding/fromBytes.d.ts +2 -3
  1120. package/dist/types/utils/encoding/fromBytes.d.ts.map +1 -1
  1121. package/dist/types/utils/encoding/fromHex.d.ts +2 -2
  1122. package/dist/types/utils/encoding/fromHex.d.ts.map +1 -1
  1123. package/dist/types/utils/encoding/fromRlp.d.ts +1 -1
  1124. package/dist/types/utils/encoding/fromRlp.d.ts.map +1 -1
  1125. package/dist/types/utils/encoding/toBytes.d.ts +2 -2
  1126. package/dist/types/utils/encoding/toBytes.d.ts.map +1 -1
  1127. package/dist/types/utils/encoding/toHex.d.ts +1 -1
  1128. package/dist/types/utils/encoding/toHex.d.ts.map +1 -1
  1129. package/dist/types/utils/encoding/toRlp.d.ts +1 -1
  1130. package/dist/types/utils/encoding/toRlp.d.ts.map +1 -1
  1131. package/dist/types/utils/ens/avatar/parseAvatarRecord.d.ts +4 -2
  1132. package/dist/types/utils/ens/avatar/parseAvatarRecord.d.ts.map +1 -1
  1133. package/dist/types/utils/ens/avatar/utils.d.ts +5 -2
  1134. package/dist/types/utils/ens/avatar/utils.d.ts.map +1 -1
  1135. package/dist/types/utils/ens/encodeLabelhash.d.ts +3 -0
  1136. package/dist/types/utils/ens/encodeLabelhash.d.ts.map +1 -0
  1137. package/dist/types/utils/ens/encodedLabelToLabelhash.d.ts +3 -0
  1138. package/dist/types/utils/ens/encodedLabelToLabelhash.d.ts.map +1 -0
  1139. package/dist/types/utils/ens/labelhash.d.ts.map +1 -1
  1140. package/dist/types/utils/ens/namehash.d.ts.map +1 -1
  1141. package/dist/types/utils/ens/packetToBytes.d.ts +1 -1
  1142. package/dist/types/utils/ens/packetToBytes.d.ts.map +1 -1
  1143. package/dist/types/utils/errors/getCallError.d.ts +4 -4
  1144. package/dist/types/utils/errors/getCallError.d.ts.map +1 -1
  1145. package/dist/types/utils/errors/getContractError.d.ts +3 -4
  1146. package/dist/types/utils/errors/getContractError.d.ts.map +1 -1
  1147. package/dist/types/utils/errors/getEstimateGasError.d.ts +5 -4
  1148. package/dist/types/utils/errors/getEstimateGasError.d.ts.map +1 -1
  1149. package/dist/types/utils/errors/getNodeError.d.ts +3 -3
  1150. package/dist/types/utils/errors/getNodeError.d.ts.map +1 -1
  1151. package/dist/types/utils/errors/getTransactionError.d.ts +5 -4
  1152. package/dist/types/utils/errors/getTransactionError.d.ts.map +1 -1
  1153. package/dist/types/utils/filters/createFilterRequestScope.d.ts +10 -5
  1154. package/dist/types/utils/filters/createFilterRequestScope.d.ts.map +1 -1
  1155. package/dist/types/utils/formatters/block.d.ts +5 -2
  1156. package/dist/types/utils/formatters/block.d.ts.map +1 -1
  1157. package/dist/types/utils/formatters/extract.d.ts +1 -1
  1158. package/dist/types/utils/formatters/extract.d.ts.map +1 -1
  1159. package/dist/types/utils/formatters/feeHistory.d.ts +2 -1
  1160. package/dist/types/utils/formatters/feeHistory.d.ts.map +1 -1
  1161. package/dist/types/utils/formatters/format.d.ts +3 -1
  1162. package/dist/types/utils/formatters/format.d.ts.map +1 -1
  1163. package/dist/types/utils/formatters/log.d.ts +3 -12
  1164. package/dist/types/utils/formatters/log.d.ts.map +1 -1
  1165. package/dist/types/utils/formatters/transaction.d.ts +6 -3
  1166. package/dist/types/utils/formatters/transaction.d.ts.map +1 -1
  1167. package/dist/types/utils/formatters/transactionReceipt.d.ts +5 -2
  1168. package/dist/types/utils/formatters/transactionReceipt.d.ts.map +1 -1
  1169. package/dist/types/utils/formatters/transactionRequest.d.ts +6 -3
  1170. package/dist/types/utils/formatters/transactionRequest.d.ts.map +1 -1
  1171. package/dist/types/utils/hash/getEventSelector.d.ts +1 -1
  1172. package/dist/types/utils/hash/getEventSelector.d.ts.map +1 -1
  1173. package/dist/types/utils/hash/getFunctionSelector.d.ts.map +1 -1
  1174. package/dist/types/utils/hash/hashFunction.d.ts.map +1 -1
  1175. package/dist/types/utils/hash/isHash.d.ts +1 -1
  1176. package/dist/types/utils/hash/isHash.d.ts.map +1 -1
  1177. package/dist/types/utils/hash/keccak256.d.ts +1 -1
  1178. package/dist/types/utils/hash/keccak256.d.ts.map +1 -1
  1179. package/dist/types/utils/index.d.ts +74 -21
  1180. package/dist/types/utils/index.d.ts.map +1 -1
  1181. package/dist/types/utils/promise/createBatchScheduler.d.ts +6 -4
  1182. package/dist/types/utils/promise/createBatchScheduler.d.ts.map +1 -1
  1183. package/dist/types/utils/promise/withCache.d.ts.map +1 -1
  1184. package/dist/types/utils/rpc.d.ts +18 -10
  1185. package/dist/types/utils/rpc.d.ts.map +1 -1
  1186. package/dist/types/utils/signature/hashMessage.d.ts +2 -2
  1187. package/dist/types/utils/signature/hashMessage.d.ts.map +1 -1
  1188. package/dist/types/utils/signature/hashTypedData.d.ts +2 -1
  1189. package/dist/types/utils/signature/hashTypedData.d.ts.map +1 -1
  1190. package/dist/types/utils/signature/recoverAddress.d.ts +2 -1
  1191. package/dist/types/utils/signature/recoverAddress.d.ts.map +1 -1
  1192. package/dist/types/utils/signature/recoverMessageAddress.d.ts +3 -2
  1193. package/dist/types/utils/signature/recoverMessageAddress.d.ts.map +1 -1
  1194. package/dist/types/utils/signature/recoverPublicKey.d.ts +1 -1
  1195. package/dist/types/utils/signature/recoverPublicKey.d.ts.map +1 -1
  1196. package/dist/types/utils/signature/recoverTypedDataAddress.d.ts +3 -2
  1197. package/dist/types/utils/signature/recoverTypedDataAddress.d.ts.map +1 -1
  1198. package/dist/types/utils/signature/verifyMessage.d.ts +16 -1
  1199. package/dist/types/utils/signature/verifyMessage.d.ts.map +1 -1
  1200. package/dist/types/utils/signature/verifyTypedData.d.ts +16 -1
  1201. package/dist/types/utils/signature/verifyTypedData.d.ts.map +1 -1
  1202. package/dist/types/utils/transaction/assertRequest.d.ts +2 -2
  1203. package/dist/types/utils/transaction/assertRequest.d.ts.map +1 -1
  1204. package/dist/types/utils/transaction/assertTransaction.d.ts +1 -1
  1205. package/dist/types/utils/transaction/assertTransaction.d.ts.map +1 -1
  1206. package/dist/types/utils/transaction/getTransactionType.d.ts +1 -1
  1207. package/dist/types/utils/transaction/getTransactionType.d.ts.map +1 -1
  1208. package/dist/types/utils/transaction/parseTransaction.d.ts +2 -2
  1209. package/dist/types/utils/transaction/parseTransaction.d.ts.map +1 -1
  1210. package/dist/types/utils/transaction/prepareRequest.d.ts +9 -4
  1211. package/dist/types/utils/transaction/prepareRequest.d.ts.map +1 -1
  1212. package/dist/types/utils/transaction/serializeTransaction.d.ts +3 -2
  1213. package/dist/types/utils/transaction/serializeTransaction.d.ts.map +1 -1
  1214. package/dist/types/utils/typedData.d.ts +1 -1
  1215. package/dist/types/utils/typedData.d.ts.map +1 -1
  1216. package/dist/types/utils/unit/formatEther.d.ts.map +1 -1
  1217. package/dist/types/utils/unit/formatGwei.d.ts.map +1 -1
  1218. package/dist/types/utils/unit/parseEther.d.ts.map +1 -1
  1219. package/dist/types/utils/unit/parseGwei.d.ts.map +1 -1
  1220. package/dist/types/utils/unit/parseUnits.d.ts.map +1 -1
  1221. package/dist/types/wallet.d.ts +10 -2
  1222. package/dist/types/wallet.d.ts.map +1 -1
  1223. package/ens/package.json +5 -0
  1224. package/package.json +17 -15
  1225. package/public/package.json +5 -0
  1226. package/src/abi.ts +15 -11
  1227. package/src/accounts/generatePrivateKey.ts +2 -2
  1228. package/src/accounts/hdKeyToAccount.ts +2 -1
  1229. package/src/accounts/index.ts +11 -20
  1230. package/src/accounts/mnemonicToAccount.ts +1 -1
  1231. package/src/accounts/privateKeyToAccount.ts +7 -8
  1232. package/src/accounts/toAccount.ts +5 -3
  1233. package/src/accounts/types.ts +6 -7
  1234. package/src/accounts/utils/parseAccount.ts +2 -1
  1235. package/src/accounts/utils/publicKeyToAddress.ts +5 -3
  1236. package/src/accounts/utils/sign.ts +2 -2
  1237. package/src/accounts/utils/signMessage.ts +4 -3
  1238. package/src/accounts/utils/signTransaction.ts +6 -4
  1239. package/src/accounts/utils/signTypedData.ts +7 -3
  1240. package/src/accounts/utils/signatureToHex.ts +3 -2
  1241. package/src/actions/ens/getEnsAddress.ts +53 -33
  1242. package/src/actions/ens/getEnsAvatar.ts +8 -5
  1243. package/src/actions/ens/getEnsName.ts +18 -9
  1244. package/src/actions/ens/getEnsResolver.ts +13 -6
  1245. package/src/actions/ens/getEnsText.ts +15 -10
  1246. package/src/actions/getContract.ts +169 -93
  1247. package/src/actions/public/call.ts +36 -32
  1248. package/src/actions/public/createBlockFilter.ts +5 -3
  1249. package/src/actions/public/createContractEventFilter.ts +34 -15
  1250. package/src/actions/public/createEventFilter.ts +49 -26
  1251. package/src/actions/public/createPendingTransactionFilter.ts +5 -3
  1252. package/src/actions/public/estimateContractGas.ts +22 -18
  1253. package/src/actions/public/estimateGas.ts +27 -32
  1254. package/src/actions/public/getBalance.ts +7 -3
  1255. package/src/actions/public/getBlock.ts +18 -17
  1256. package/src/actions/public/getBlockNumber.ts +4 -3
  1257. package/src/actions/public/getBlockTransactionCount.ts +9 -4
  1258. package/src/actions/public/getBytecode.ts +8 -3
  1259. package/src/actions/public/getChainId.ts +9 -8
  1260. package/src/actions/public/getFeeHistory.ts +7 -5
  1261. package/src/actions/public/getFilterChanges.ts +51 -30
  1262. package/src/actions/public/getFilterLogs.ts +47 -25
  1263. package/src/actions/public/getGasPrice.ts +6 -7
  1264. package/src/actions/public/getLogs.ts +54 -26
  1265. package/src/actions/public/getStorageAt.ts +8 -3
  1266. package/src/actions/public/getTransaction.ts +13 -13
  1267. package/src/actions/public/getTransactionConfirmations.ts +6 -3
  1268. package/src/actions/public/getTransactionCount.ts +12 -9
  1269. package/src/actions/public/getTransactionReceipt.ts +12 -10
  1270. package/src/actions/public/multicall.ts +20 -20
  1271. package/src/actions/public/readContract.ts +19 -15
  1272. package/src/actions/public/simulateContract.ts +20 -18
  1273. package/src/actions/public/uninstallFilter.ts +7 -5
  1274. package/src/actions/public/verifyHash.ts +62 -0
  1275. package/src/actions/public/verifyMessage.ts +42 -0
  1276. package/src/actions/public/verifyTypedData.ts +51 -0
  1277. package/src/actions/public/waitForTransactionReceipt.ts +48 -16
  1278. package/src/actions/public/watchBlockNumber.ts +12 -6
  1279. package/src/actions/public/watchBlocks.ts +9 -5
  1280. package/src/actions/public/watchContractEvent.ts +37 -22
  1281. package/src/actions/public/watchEvent.ts +34 -16
  1282. package/src/actions/public/watchPendingTransactions.ts +9 -8
  1283. package/src/actions/test/dropTransaction.ts +4 -3
  1284. package/src/actions/test/getAutomine.ts +7 -3
  1285. package/src/actions/test/getTxpoolContent.ts +5 -3
  1286. package/src/actions/test/getTxpoolStatus.ts +4 -4
  1287. package/src/actions/test/impersonateAccount.ts +5 -3
  1288. package/src/actions/test/increaseTime.ts +4 -4
  1289. package/src/actions/test/inspectTxpool.ts +5 -3
  1290. package/src/actions/test/mine.ts +14 -8
  1291. package/src/actions/test/removeBlockTimestampInterval.ts +3 -3
  1292. package/src/actions/test/reset.ts +3 -3
  1293. package/src/actions/test/revert.ts +4 -3
  1294. package/src/actions/test/sendUnsignedTransaction.ts +6 -4
  1295. package/src/actions/test/setAutomine.ts +11 -7
  1296. package/src/actions/test/setBalance.ts +16 -8
  1297. package/src/actions/test/setBlockGasLimit.ts +4 -4
  1298. package/src/actions/test/setBlockTimestampInterval.ts +4 -4
  1299. package/src/actions/test/setCode.ts +6 -3
  1300. package/src/actions/test/setCoinbase.ts +5 -3
  1301. package/src/actions/test/setIntervalMining.ts +3 -3
  1302. package/src/actions/test/setLoggingEnabled.ts +3 -3
  1303. package/src/actions/test/setMinGasPrice.ts +4 -4
  1304. package/src/actions/test/setNextBlockBaseFeePerGas.ts +4 -4
  1305. package/src/actions/test/setNextBlockTimestamp.ts +4 -4
  1306. package/src/actions/test/setNonce.ts +6 -4
  1307. package/src/actions/test/setRpcUrl.ts +3 -3
  1308. package/src/actions/test/setStorageAt.ts +7 -4
  1309. package/src/actions/test/snapshot.ts +3 -3
  1310. package/src/actions/test/stopImpersonatingAccount.ts +6 -4
  1311. package/src/actions/wallet/addChain.ts +5 -3
  1312. package/src/actions/wallet/deployContract.ts +15 -15
  1313. package/src/actions/wallet/getAddresses.ts +5 -3
  1314. package/src/actions/wallet/getPermissions.ts +4 -2
  1315. package/src/actions/wallet/requestAddresses.ts +5 -3
  1316. package/src/actions/wallet/requestPermissions.ts +5 -2
  1317. package/src/actions/wallet/sendTransaction.ts +29 -31
  1318. package/src/actions/wallet/signMessage.ts +20 -13
  1319. package/src/actions/wallet/signTypedData.ts +14 -16
  1320. package/src/actions/wallet/switchChain.ts +5 -3
  1321. package/src/actions/wallet/watchAsset.ts +4 -2
  1322. package/src/actions/wallet/writeContract.ts +18 -18
  1323. package/src/chains.ts +22 -9
  1324. package/src/clients/createClient.ts +14 -11
  1325. package/src/clients/createPublicClient.ts +8 -9
  1326. package/src/clients/createTestClient.ts +9 -11
  1327. package/src/clients/createWalletClient.ts +12 -16
  1328. package/src/clients/decorators/public.ts +232 -123
  1329. package/src/clients/decorators/test.ts +71 -40
  1330. package/src/clients/decorators/wallet.ts +56 -32
  1331. package/src/clients/transports/createTransport.ts +7 -11
  1332. package/src/clients/transports/custom.ts +5 -6
  1333. package/src/clients/transports/fallback.ts +7 -4
  1334. package/src/clients/transports/http.ts +51 -11
  1335. package/src/clients/transports/webSocket.ts +32 -20
  1336. package/src/constants/abis.ts +42 -0
  1337. package/src/constants/contracts.ts +2 -0
  1338. package/src/contract.ts +84 -49
  1339. package/src/ens.ts +22 -20
  1340. package/src/errors/abi.ts +27 -13
  1341. package/src/errors/block.ts +2 -1
  1342. package/src/errors/ccip.ts +5 -2
  1343. package/src/errors/chain.ts +2 -1
  1344. package/src/errors/contract.ts +30 -23
  1345. package/src/errors/data.ts +15 -0
  1346. package/src/errors/encoding.ts +2 -1
  1347. package/src/errors/estimateGas.ts +6 -3
  1348. package/src/errors/node.ts +2 -1
  1349. package/src/errors/request.ts +6 -5
  1350. package/src/errors/rpc.ts +43 -15
  1351. package/src/errors/transaction.ts +9 -10
  1352. package/src/errors/utils.ts +1 -0
  1353. package/src/errors/version.ts +1 -1
  1354. package/src/index.ts +631 -414
  1355. package/src/public.ts +99 -55
  1356. package/src/test.ts +56 -37
  1357. package/src/types/account.ts +15 -13
  1358. package/src/types/block.ts +1 -0
  1359. package/src/types/chain.ts +1 -0
  1360. package/src/types/contract.ts +35 -90
  1361. package/src/types/eip1193.ts +1093 -832
  1362. package/src/types/filter.ts +16 -3
  1363. package/src/types/log.ts +101 -33
  1364. package/src/types/misc.ts +6 -0
  1365. package/src/types/multicall.ts +1 -0
  1366. package/src/types/transaction.ts +6 -3
  1367. package/src/types/transport.ts +1 -1
  1368. package/src/types/utils.ts +15 -0
  1369. package/src/utils/abi/decodeAbiParameters.ts +45 -21
  1370. package/src/utils/abi/decodeDeployData.ts +13 -10
  1371. package/src/utils/abi/decodeErrorResult.ts +35 -16
  1372. package/src/utils/abi/decodeEventLog.ts +78 -35
  1373. package/src/utils/abi/decodeFunctionData.ts +6 -4
  1374. package/src/utils/abi/decodeFunctionResult.ts +45 -25
  1375. package/src/utils/abi/encodeAbiParameters.ts +10 -7
  1376. package/src/utils/abi/encodeDeployData.ts +5 -3
  1377. package/src/utils/abi/encodeErrorResult.ts +38 -21
  1378. package/src/utils/abi/encodeEventTopics.ts +46 -28
  1379. package/src/utils/abi/encodeFunctionData.ts +38 -24
  1380. package/src/utils/abi/encodeFunctionResult.ts +40 -19
  1381. package/src/utils/abi/encodePacked.ts +9 -6
  1382. package/src/utils/abi/formatAbiItem.ts +2 -2
  1383. package/src/utils/abi/formatAbiItemWithArgs.ts +3 -2
  1384. package/src/utils/abi/getAbiItem.ts +4 -2
  1385. package/src/utils/address/getAddress.ts +6 -4
  1386. package/src/utils/address/getContractAddress.ts +11 -4
  1387. package/src/utils/address/isAddress.ts +1 -1
  1388. package/src/utils/address/isAddressEqual.ts +4 -2
  1389. package/src/utils/buildRequest.ts +14 -11
  1390. package/src/utils/ccip.ts +16 -10
  1391. package/src/utils/chain.ts +21 -2
  1392. package/src/utils/data/concat.ts +1 -1
  1393. package/src/utils/data/isBytes.ts +1 -1
  1394. package/src/utils/data/isBytesEqual.ts +8 -0
  1395. package/src/utils/data/isHex.ts +6 -3
  1396. package/src/utils/data/pad.ts +2 -2
  1397. package/src/utils/data/size.ts +3 -2
  1398. package/src/utils/data/slice.ts +46 -16
  1399. package/src/utils/data/trim.ts +4 -2
  1400. package/src/utils/encoding/fromBytes.ts +3 -4
  1401. package/src/utils/encoding/fromHex.ts +7 -6
  1402. package/src/utils/encoding/fromRlp.ts +3 -2
  1403. package/src/utils/encoding/toBytes.ts +4 -4
  1404. package/src/utils/encoding/toHex.ts +4 -3
  1405. package/src/utils/encoding/toRlp.ts +3 -2
  1406. package/src/utils/ens/avatar/parseAvatarRecord.ts +5 -2
  1407. package/src/utils/ens/avatar/utils.ts +8 -4
  1408. package/src/utils/ens/encodeLabelhash.ts +5 -0
  1409. package/src/utils/ens/encodedLabelToLabelhash.ts +11 -0
  1410. package/src/utils/ens/labelhash.ts +5 -3
  1411. package/src/utils/ens/namehash.ts +9 -4
  1412. package/src/utils/ens/packetToBytes.ts +14 -10
  1413. package/src/utils/errors/getCallError.ts +5 -4
  1414. package/src/utils/errors/getContractError.ts +9 -9
  1415. package/src/utils/errors/getEstimateGasError.ts +6 -4
  1416. package/src/utils/errors/getNodeError.ts +8 -5
  1417. package/src/utils/errors/getTransactionError.ts +6 -4
  1418. package/src/utils/filters/createFilterRequestScope.ts +16 -7
  1419. package/src/utils/formatters/block.ts +10 -9
  1420. package/src/utils/formatters/extract.ts +1 -1
  1421. package/src/utils/formatters/feeHistory.ts +2 -1
  1422. package/src/utils/formatters/format.ts +3 -1
  1423. package/src/utils/formatters/log.ts +4 -3
  1424. package/src/utils/formatters/transaction.ts +11 -10
  1425. package/src/utils/formatters/transactionReceipt.ts +11 -10
  1426. package/src/utils/formatters/transactionRequest.ts +11 -10
  1427. package/src/utils/hash/getEventSelector.ts +2 -1
  1428. package/src/utils/hash/getFunctionSelector.ts +2 -1
  1429. package/src/utils/hash/hashFunction.ts +4 -4
  1430. package/src/utils/hash/isHash.ts +3 -2
  1431. package/src/utils/hash/keccak256.ts +7 -4
  1432. package/src/utils/index.ts +191 -165
  1433. package/src/utils/promise/createBatchScheduler.ts +24 -7
  1434. package/src/utils/promise/withCache.ts +11 -9
  1435. package/src/utils/rpc.ts +115 -103
  1436. package/src/utils/signature/hashMessage.ts +10 -6
  1437. package/src/utils/signature/hashTypedData.ts +6 -5
  1438. package/src/utils/signature/recoverAddress.ts +5 -2
  1439. package/src/utils/signature/recoverMessageAddress.ts +5 -2
  1440. package/src/utils/signature/recoverPublicKey.ts +6 -4
  1441. package/src/utils/signature/recoverTypedDataAddress.ts +5 -7
  1442. package/src/utils/signature/verifyMessage.ts +21 -2
  1443. package/src/utils/signature/verifyTypedData.ts +24 -4
  1444. package/src/utils/transaction/assertRequest.ts +6 -9
  1445. package/src/utils/transaction/assertTransaction.ts +6 -9
  1446. package/src/utils/transaction/getSerializedTransactionType.ts +2 -2
  1447. package/src/utils/transaction/getTransactionType.ts +4 -1
  1448. package/src/utils/transaction/parseTransaction.ts +16 -11
  1449. package/src/utils/transaction/prepareRequest.ts +19 -23
  1450. package/src/utils/transaction/serializeTransaction.ts +16 -13
  1451. package/src/utils/typedData.ts +8 -5
  1452. package/src/utils/unit/formatEther.ts +2 -1
  1453. package/src/utils/unit/formatGwei.ts +2 -1
  1454. package/src/utils/unit/parseEther.ts +2 -1
  1455. package/src/utils/unit/parseGwei.ts +2 -1
  1456. package/src/utils/unit/parseUnits.ts +19 -5
  1457. package/src/wallet.ts +32 -19
  1458. package/test/package.json +5 -0
  1459. package/utils/package.json +5 -0
  1460. package/wallet/package.json +5 -0
  1461. package/window/package.json +5 -0
  1462. package/dist/cjs/accounts/utils/index.js +0 -16
  1463. package/dist/cjs/accounts/utils/index.js.map +0 -1
  1464. package/dist/cjs/actions/ens/index.js +0 -14
  1465. package/dist/cjs/actions/ens/index.js.map +0 -1
  1466. package/dist/cjs/actions/index.js +0 -85
  1467. package/dist/cjs/actions/index.js.map +0 -1
  1468. package/dist/cjs/actions/public/index.js +0 -71
  1469. package/dist/cjs/actions/public/index.js.map +0 -1
  1470. package/dist/cjs/actions/test/index.js +0 -60
  1471. package/dist/cjs/actions/test/index.js.map +0 -1
  1472. package/dist/cjs/actions/wallet/index.js +0 -30
  1473. package/dist/cjs/actions/wallet/index.js.map +0 -1
  1474. package/dist/cjs/adapters/ethers.js +0 -49
  1475. package/dist/cjs/adapters/ethers.js.map +0 -1
  1476. package/dist/cjs/clients/decorators/index.js +0 -10
  1477. package/dist/cjs/clients/decorators/index.js.map +0 -1
  1478. package/dist/cjs/clients/index.js +0 -18
  1479. package/dist/cjs/clients/index.js.map +0 -1
  1480. package/dist/cjs/clients/transports/index.js +0 -14
  1481. package/dist/cjs/clients/transports/index.js.map +0 -1
  1482. package/dist/cjs/constants/index.js +0 -18
  1483. package/dist/cjs/constants/index.js.map +0 -1
  1484. package/dist/cjs/errors/index.js +0 -128
  1485. package/dist/cjs/errors/index.js.map +0 -1
  1486. package/dist/cjs/ethers.js +0 -6
  1487. package/dist/cjs/ethers.js.map +0 -1
  1488. package/dist/cjs/types/index.js +0 -3
  1489. package/dist/cjs/types/index.js.map +0 -1
  1490. package/dist/cjs/utils/abi/index.js +0 -40
  1491. package/dist/cjs/utils/abi/index.js.map +0 -1
  1492. package/dist/cjs/utils/address/index.js +0 -15
  1493. package/dist/cjs/utils/address/index.js.map +0 -1
  1494. package/dist/cjs/utils/contract/index.js +0 -9
  1495. package/dist/cjs/utils/contract/index.js.map +0 -1
  1496. package/dist/cjs/utils/data/index.js +0 -24
  1497. package/dist/cjs/utils/data/index.js.map +0 -1
  1498. package/dist/cjs/utils/encoding/index.js +0 -32
  1499. package/dist/cjs/utils/encoding/index.js.map +0 -1
  1500. package/dist/cjs/utils/ens/avatar/index.js +0 -6
  1501. package/dist/cjs/utils/ens/avatar/index.js.map +0 -1
  1502. package/dist/cjs/utils/ens/index.js +0 -12
  1503. package/dist/cjs/utils/ens/index.js.map +0 -1
  1504. package/dist/cjs/utils/errors/index.js +0 -15
  1505. package/dist/cjs/utils/errors/index.js.map +0 -1
  1506. package/dist/cjs/utils/formatters/index.js +0 -24
  1507. package/dist/cjs/utils/formatters/index.js.map +0 -1
  1508. package/dist/cjs/utils/hash/index.js +0 -12
  1509. package/dist/cjs/utils/hash/index.js.map +0 -1
  1510. package/dist/cjs/utils/promise/index.js +0 -13
  1511. package/dist/cjs/utils/promise/index.js.map +0 -1
  1512. package/dist/cjs/utils/signature/index.js +0 -20
  1513. package/dist/cjs/utils/signature/index.js.map +0 -1
  1514. package/dist/cjs/utils/transaction/index.js +0 -20
  1515. package/dist/cjs/utils/transaction/index.js.map +0 -1
  1516. package/dist/cjs/utils/unit/index.js +0 -16
  1517. package/dist/cjs/utils/unit/index.js.map +0 -1
  1518. package/dist/esm/accounts/utils/index.js +0 -7
  1519. package/dist/esm/accounts/utils/index.js.map +0 -1
  1520. package/dist/esm/actions/ens/index.js +0 -6
  1521. package/dist/esm/actions/ens/index.js.map +0 -1
  1522. package/dist/esm/actions/index.js +0 -6
  1523. package/dist/esm/actions/index.js.map +0 -1
  1524. package/dist/esm/actions/public/index.js +0 -34
  1525. package/dist/esm/actions/public/index.js.map +0 -1
  1526. package/dist/esm/actions/test/index.js +0 -29
  1527. package/dist/esm/actions/test/index.js.map +0 -1
  1528. package/dist/esm/actions/wallet/index.js +0 -14
  1529. package/dist/esm/actions/wallet/index.js.map +0 -1
  1530. package/dist/esm/adapters/ethers.js +0 -45
  1531. package/dist/esm/adapters/ethers.js.map +0 -1
  1532. package/dist/esm/clients/decorators/index.js +0 -4
  1533. package/dist/esm/clients/decorators/index.js.map +0 -1
  1534. package/dist/esm/clients/index.js +0 -6
  1535. package/dist/esm/clients/index.js.map +0 -1
  1536. package/dist/esm/clients/transports/index.js +0 -6
  1537. package/dist/esm/clients/transports/index.js.map +0 -1
  1538. package/dist/esm/constants/index.js +0 -6
  1539. package/dist/esm/constants/index.js.map +0 -1
  1540. package/dist/esm/errors/index.js +0 -19
  1541. package/dist/esm/errors/index.js.map +0 -1
  1542. package/dist/esm/ethers.js +0 -2
  1543. package/dist/esm/ethers.js.map +0 -1
  1544. package/dist/esm/types/index.js +0 -2
  1545. package/dist/esm/types/index.js.map +0 -1
  1546. package/dist/esm/utils/abi/index.js +0 -17
  1547. package/dist/esm/utils/abi/index.js.map +0 -1
  1548. package/dist/esm/utils/address/index.js +0 -5
  1549. package/dist/esm/utils/address/index.js.map +0 -1
  1550. package/dist/esm/utils/contract/index.js +0 -2
  1551. package/dist/esm/utils/contract/index.js.map +0 -1
  1552. package/dist/esm/utils/data/index.js +0 -8
  1553. package/dist/esm/utils/data/index.js.map +0 -1
  1554. package/dist/esm/utils/encoding/index.js +0 -7
  1555. package/dist/esm/utils/encoding/index.js.map +0 -1
  1556. package/dist/esm/utils/ens/avatar/index.js +0 -2
  1557. package/dist/esm/utils/ens/avatar/index.js.map +0 -1
  1558. package/dist/esm/utils/ens/index.js +0 -5
  1559. package/dist/esm/utils/ens/index.js.map +0 -1
  1560. package/dist/esm/utils/errors/index.js +0 -6
  1561. package/dist/esm/utils/errors/index.js.map +0 -1
  1562. package/dist/esm/utils/formatters/index.js +0 -8
  1563. package/dist/esm/utils/formatters/index.js.map +0 -1
  1564. package/dist/esm/utils/hash/index.js +0 -5
  1565. package/dist/esm/utils/hash/index.js.map +0 -1
  1566. package/dist/esm/utils/promise/index.js +0 -5
  1567. package/dist/esm/utils/promise/index.js.map +0 -1
  1568. package/dist/esm/utils/signature/index.js +0 -9
  1569. package/dist/esm/utils/signature/index.js.map +0 -1
  1570. package/dist/esm/utils/transaction/index.js +0 -8
  1571. package/dist/esm/utils/transaction/index.js.map +0 -1
  1572. package/dist/esm/utils/unit/index.js +0 -7
  1573. package/dist/esm/utils/unit/index.js.map +0 -1
  1574. package/dist/types/accounts/utils/index.d.ts +0 -10
  1575. package/dist/types/accounts/utils/index.d.ts.map +0 -1
  1576. package/dist/types/actions/ens/index.d.ts +0 -6
  1577. package/dist/types/actions/ens/index.d.ts.map +0 -1
  1578. package/dist/types/actions/index.d.ts +0 -11
  1579. package/dist/types/actions/index.d.ts.map +0 -1
  1580. package/dist/types/actions/public/index.d.ts +0 -67
  1581. package/dist/types/actions/public/index.d.ts.map +0 -1
  1582. package/dist/types/actions/test/index.d.ts +0 -52
  1583. package/dist/types/actions/test/index.d.ts.map +0 -1
  1584. package/dist/types/actions/wallet/index.d.ts +0 -27
  1585. package/dist/types/actions/wallet/index.d.ts.map +0 -1
  1586. package/dist/types/adapters/ethers.d.ts +0 -27
  1587. package/dist/types/adapters/ethers.d.ts.map +0 -1
  1588. package/dist/types/clients/decorators/index.d.ts +0 -7
  1589. package/dist/types/clients/decorators/index.d.ts.map +0 -1
  1590. package/dist/types/clients/index.d.ts +0 -11
  1591. package/dist/types/clients/index.d.ts.map +0 -1
  1592. package/dist/types/clients/transports/index.d.ts +0 -11
  1593. package/dist/types/clients/transports/index.d.ts.map +0 -1
  1594. package/dist/types/constants/index.d.ts +0 -6
  1595. package/dist/types/constants/index.d.ts.map +0 -1
  1596. package/dist/types/errors/index.d.ts +0 -19
  1597. package/dist/types/errors/index.d.ts.map +0 -1
  1598. package/dist/types/ethers.d.ts +0 -2
  1599. package/dist/types/ethers.d.ts.map +0 -1
  1600. package/dist/types/types/index.d.ts +0 -19
  1601. package/dist/types/types/index.d.ts.map +0 -1
  1602. package/dist/types/utils/abi/index.d.ts +0 -30
  1603. package/dist/types/utils/abi/index.d.ts.map +0 -1
  1604. package/dist/types/utils/address/index.d.ts +0 -6
  1605. package/dist/types/utils/address/index.d.ts.map +0 -1
  1606. package/dist/types/utils/contract/index.d.ts +0 -2
  1607. package/dist/types/utils/contract/index.d.ts.map +0 -1
  1608. package/dist/types/utils/data/index.d.ts +0 -8
  1609. package/dist/types/utils/data/index.d.ts.map +0 -1
  1610. package/dist/types/utils/encoding/index.d.ts +0 -8
  1611. package/dist/types/utils/encoding/index.d.ts.map +0 -1
  1612. package/dist/types/utils/ens/avatar/index.d.ts +0 -2
  1613. package/dist/types/utils/ens/avatar/index.d.ts.map +0 -1
  1614. package/dist/types/utils/ens/index.d.ts +0 -5
  1615. package/dist/types/utils/ens/index.d.ts.map +0 -1
  1616. package/dist/types/utils/errors/index.d.ts +0 -6
  1617. package/dist/types/utils/errors/index.d.ts.map +0 -1
  1618. package/dist/types/utils/formatters/index.d.ts +0 -13
  1619. package/dist/types/utils/formatters/index.d.ts.map +0 -1
  1620. package/dist/types/utils/hash/index.d.ts +0 -5
  1621. package/dist/types/utils/hash/index.d.ts.map +0 -1
  1622. package/dist/types/utils/promise/index.d.ts +0 -5
  1623. package/dist/types/utils/promise/index.d.ts.map +0 -1
  1624. package/dist/types/utils/signature/index.d.ts +0 -16
  1625. package/dist/types/utils/signature/index.d.ts.map +0 -1
  1626. package/dist/types/utils/transaction/index.d.ts +0 -10
  1627. package/dist/types/utils/transaction/index.d.ts.map +0 -1
  1628. package/dist/types/utils/unit/index.d.ts +0 -7
  1629. package/dist/types/utils/unit/index.d.ts.map +0 -1
  1630. package/src/accounts/utils/index.ts +0 -23
  1631. package/src/actions/ens/index.ts +0 -29
  1632. package/src/actions/index.ts +0 -211
  1633. package/src/actions/public/index.ts +0 -183
  1634. package/src/actions/test/index.ts +0 -81
  1635. package/src/actions/wallet/index.ts +0 -60
  1636. package/src/adapters/ethers.ts +0 -92
  1637. package/src/clients/decorators/index.ts +0 -8
  1638. package/src/clients/index.ts +0 -41
  1639. package/src/clients/transports/index.ts +0 -20
  1640. package/src/constants/index.ts +0 -9
  1641. package/src/errors/index.ts +0 -141
  1642. package/src/ethers.ts +0 -1
  1643. package/src/types/index.ts +0 -131
  1644. package/src/utils/abi/index.ts +0 -63
  1645. package/src/utils/address/index.ts +0 -16
  1646. package/src/utils/contract/index.ts +0 -6
  1647. package/src/utils/data/index.ts +0 -13
  1648. package/src/utils/encoding/index.ts +0 -36
  1649. package/src/utils/ens/avatar/index.ts +0 -1
  1650. package/src/utils/ens/index.ts +0 -7
  1651. package/src/utils/errors/index.ts +0 -9
  1652. package/src/utils/formatters/index.ts +0 -37
  1653. package/src/utils/hash/index.ts +0 -7
  1654. package/src/utils/promise/index.ts +0 -4
  1655. package/src/utils/signature/index.ts +0 -43
  1656. package/src/utils/transaction/index.ts +0 -19
  1657. package/src/utils/unit/index.ts +0 -6
@@ -1,9 +1,13 @@
1
1
  import type { Address } from 'abitype';
2
2
  import type { BlockTag } from './block.js';
3
3
  import type { Hash, Hex, LogTopic } from './misc.js';
4
- import type { RpcBlock as Block, RpcBlockIdentifier as BlockIdentifier, RpcBlockNumber as BlockNumber, RpcFeeHistory as FeeHistory, RpcLog as Log, Quantity, RpcTransaction as Transaction, RpcTransactionReceipt as TransactionReceipt, RpcTransactionRequest as TransactionRequest, RpcUncle as Uncle } from './rpc.js';
5
- export type EIP1193Provider = Requests & Events;
6
- export declare class RpcError extends Error {
4
+ import type { Quantity, RpcBlock as Block, RpcBlockIdentifier as BlockIdentifier, RpcBlockNumber as BlockNumber, RpcFeeHistory as FeeHistory, RpcLog as Log, RpcTransaction as Transaction, RpcTransactionReceipt as TransactionReceipt, RpcTransactionRequest as TransactionRequest, RpcUncle as Uncle } from './rpc.js';
5
+ import type { Prettify } from './utils.js';
6
+ export type EIP1474Methods = [...PublicRpcSchema, ...WalletRpcSchema];
7
+ export type EIP1193Provider = EIP1193Events & {
8
+ request: EIP1193RequestFn<EIP1474Methods>;
9
+ };
10
+ export declare class ProviderRpcError extends Error {
7
11
  code: number;
8
12
  details: string;
9
13
  constructor(code: number, message: string);
@@ -15,19 +19,19 @@ export type ProviderMessage = {
15
19
  type: string;
16
20
  data: unknown;
17
21
  };
18
- export type Events = {
22
+ export type EIP1193Events = {
19
23
  on(event: 'connect', listener: (connectInfo: ProviderConnectInfo) => void): void;
20
- on(event: 'disconnect', listener: (error: RpcError) => void): void;
24
+ on(event: 'disconnect', listener: (error: ProviderRpcError) => void): void;
21
25
  on(event: 'chainChanged', listener: (chainId: string) => void): void;
22
26
  on(event: 'accountsChanged', listener: (accounts: string[]) => void): void;
23
27
  on(event: 'message', listener: (message: ProviderMessage) => void): void;
24
28
  removeListener(event: 'connect', listener: (connectInfo: ProviderConnectInfo) => void): void;
25
- removeListener(event: 'disconnect', listener: (error: RpcError) => void): void;
29
+ removeListener(event: 'disconnect', listener: (error: ProviderRpcError) => void): void;
26
30
  removeListener(event: 'chainChanged', listener: (chainId: string) => void): void;
27
31
  removeListener(event: 'accountsChanged', listener: (accounts: Address[]) => void): void;
28
32
  removeListener(event: 'message', listener: (message: ProviderMessage) => void): void;
29
33
  };
30
- export type Chain = {
34
+ export type AddEthereumChainParameter = {
31
35
  /** A 0x-prefixed hexadecimal string */
32
36
  chainId: string;
33
37
  /** The chain name. */
@@ -75,133 +79,149 @@ export type WatchAssetParams = {
75
79
  image?: string;
76
80
  };
77
81
  };
78
- export type PublicRequests = {
79
- request(args: {
80
- /**
81
- * @description Returns the version of the current client
82
- * @link https://eips.ethereum.org/EIPS/eip-1474
83
- * @example
84
- * provider.request({ method: 'web3_clientVersion' })
85
- * // => 'MetaMask/v1.0.0'
86
- */
87
- method: 'web3_clientVersion';
88
- params?: never;
89
- }): Promise<string>;
90
- request(args: {
91
- /**
92
- * @description Hashes data using the Keccak-256 algorithm
93
- * @link https://eips.ethereum.org/EIPS/eip-1474
94
- * @example
95
- * provider.request({ method: 'web3_sha3', params: ['0x68656c6c6f20776f726c64'] })
96
- * // => '0xc94770007dda54cF92009BFF0dE90c06F603a09f'
97
- */
98
- method: 'web3_sha3';
99
- params: [data: Hash];
100
- }): Promise<string>;
101
- request(args: {
102
- /**
103
- * @description Determines if this client is listening for new network connections
104
- * @link https://eips.ethereum.org/EIPS/eip-1474
105
- * @example
106
- * provider.request({ method: 'net_listening' })
107
- * // => true
108
- */
109
- method: 'net_listening';
110
- params?: never;
111
- }): Promise<boolean>;
112
- request(args: {
113
- /**
114
- * @description Returns the number of peers currently connected to this client
115
- * @link https://eips.ethereum.org/EIPS/eip-1474
116
- * @example
117
- * provider.request({ method: 'net_peerCount' })
118
- * // => '0x1'
119
- */
120
- method: 'net_peerCount';
121
- params?: never;
122
- }): Promise<Quantity>;
123
- request(args: {
124
- /**
125
- * @description Returns the chain ID associated with the current network
126
- * @link https://eips.ethereum.org/EIPS/eip-1474
127
- * @example
128
- * provider.request({ method: 'net_version' })
129
- * // => '1'
130
- */
131
- method: 'net_version';
132
- params?: never;
133
- }): Promise<Quantity>;
134
- request(args: {
135
- /**
136
- * @description Returns the number of the most recent block seen by this client
137
- * @link https://eips.ethereum.org/EIPS/eip-1474
138
- * @example
139
- * provider.request({ method: 'eth_blockNumber' })
140
- * // => '0x1b4'
141
- * */
142
- method: 'eth_blockNumber';
143
- params?: never;
144
- }): Promise<Quantity>;
145
- request(args: {
146
- /**
147
- * @description Executes a new message call immediately without submitting a transaction to the network
148
- * @link https://eips.ethereum.org/EIPS/eip-1474
149
- * @example
150
- * provider.request({ method: 'eth_call', params: [{ to: '0x...', data: '0x...' }] })
151
- * // => '0x...'
152
- */
153
- method: 'eth_call';
154
- params: [
155
- request: Partial<TransactionRequest>,
82
+ export type PublicRpcSchema = [
83
+ /**
84
+ * @description Returns the version of the current client
85
+ *
86
+ * @example
87
+ * provider.request({ method: 'web3_clientVersion' })
88
+ * // => 'MetaMask/v1.0.0'
89
+ */
90
+ {
91
+ Method: 'web3_clientVersion';
92
+ Parameters?: never;
93
+ ReturnType: string;
94
+ },
95
+ /**
96
+ * @description Hashes data using the Keccak-256 algorithm
97
+ *
98
+ * @example
99
+ * provider.request({ method: 'web3_sha3', params: ['0x68656c6c6f20776f726c64'] })
100
+ * // => '0xc94770007dda54cF92009BFF0dE90c06F603a09f'
101
+ */
102
+ {
103
+ Method: 'web3_sha3';
104
+ Parameters: [data: Hash];
105
+ ReturnType: string;
106
+ },
107
+ /**
108
+ * @description Determines if this client is listening for new network connections
109
+ *
110
+ * @example
111
+ * provider.request({ method: 'net_listening' })
112
+ * // => true
113
+ */
114
+ {
115
+ Method: 'net_listening';
116
+ Parameters?: never;
117
+ ReturnType: boolean;
118
+ },
119
+ /**
120
+ * @description Returns the number of peers currently connected to this client
121
+ *
122
+ * @example
123
+ * provider.request({ method: 'net_peerCount' })
124
+ * // => '0x1'
125
+ */
126
+ {
127
+ Method: 'net_peerCount';
128
+ Parameters?: never;
129
+ ReturnType: Quantity;
130
+ },
131
+ /**
132
+ * @description Returns the chain ID associated with the current network
133
+ *
134
+ * @example
135
+ * provider.request({ method: 'net_version' })
136
+ * // => '1'
137
+ */
138
+ {
139
+ Method: 'net_version';
140
+ Parameters?: never;
141
+ ReturnType: Quantity;
142
+ },
143
+ /**
144
+ * @description Returns the number of the most recent block seen by this client
145
+ *
146
+ * @example
147
+ * provider.request({ method: 'eth_blockNumber' })
148
+ * // => '0x1b4'
149
+ */
150
+ {
151
+ Method: 'eth_blockNumber';
152
+ Parameters?: never;
153
+ ReturnType: Quantity;
154
+ },
155
+ /**
156
+ * @description Executes a new message call immediately without submitting a transaction to the network
157
+ *
158
+ * @example
159
+ * provider.request({ method: 'eth_call', params: [{ to: '0x...', data: '0x...' }] })
160
+ * // => '0x...'
161
+ */
162
+ {
163
+ Method: 'eth_call';
164
+ Parameters: [transaction: Partial<TransactionRequest>] | [
165
+ transaction: Partial<TransactionRequest>,
156
166
  block: BlockNumber | BlockTag | BlockIdentifier
157
167
  ];
158
- }): Promise<Hex>;
159
- request(args: {
160
- /**
161
- * @description Returns the chain ID associated with the current network
162
- * @example
163
- * provider.request({ method: 'eth_chainId' })
164
- * // => '1'
165
- */
166
- method: 'eth_chainId';
167
- params?: never;
168
- }): Promise<Quantity>;
169
- request(args: {
170
- method: 'eth_coinbase';
171
- params?: never;
172
- }): Promise<Address>;
173
- request(args: {
174
- /**
175
- * @description Estimates the gas necessary to complete a transaction without submitting it to the network
176
- * @link https://eips.ethereum.org/EIPS/eip-1474
177
- * @example
178
- * provider.request({
179
- * method: 'eth_estimateGas',
180
- * params: [{ from: '0x...', to: '0x...', value: '0x...' }]
181
- * })
182
- * // => '0x5208'
183
- * */
184
- method: 'eth_estimateGas';
185
- params: [parameters: TransactionRequest, block: BlockNumber | BlockTag];
186
- }): Promise<Quantity>;
187
- request(args: {
188
- /**
189
- * @description Returns a collection of historical gas information
190
- * @link https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md
191
- * @example
192
- * provider.request({
193
- * method: 'eth_feeHistory',
194
- * params: ['4', 'latest', ['25', '75']]
195
- * })
196
- * // => {
197
- * // oldestBlock: '0x1',
198
- * // baseFeePerGas: ['0x1', '0x2', '0x3', '0x4'],
199
- * // gasUsedRatio: ['0x1', '0x2', '0x3', '0x4'],
200
- * // reward: [['0x1', '0x2'], ['0x3', '0x4'], ['0x5', '0x6'], ['0x7', '0x8']]
201
- * // }
202
- * */
203
- method: 'eth_feeHistory';
204
- params: [
168
+ ReturnType: Hex;
169
+ },
170
+ /**
171
+ * @description Returns the chain ID associated with the current network
172
+ * @example
173
+ * provider.request({ method: 'eth_chainId' })
174
+ * // => '1'
175
+ */
176
+ {
177
+ Method: 'eth_chainId';
178
+ Parameters?: never;
179
+ ReturnType: Quantity;
180
+ },
181
+ /**
182
+ * @description Returns the client coinbase address.
183
+ * @example
184
+ * provider.request({ method: 'eth_coinbase' })
185
+ * // => '0x...'
186
+ */
187
+ {
188
+ Method: 'eth_coinbase';
189
+ Parameters?: never;
190
+ ReturnType: Address;
191
+ },
192
+ /**
193
+ * @description Estimates the gas necessary to complete a transaction without submitting it to the network
194
+ *
195
+ * @example
196
+ * provider.request({
197
+ * method: 'eth_estimateGas',
198
+ * params: [{ from: '0x...', to: '0x...', value: '0x...' }]
199
+ * })
200
+ * // => '0x5208'
201
+ */
202
+ {
203
+ Method: 'eth_estimateGas';
204
+ Parameters: [transaction: TransactionRequest] | [transaction: TransactionRequest, block: BlockNumber | BlockTag];
205
+ ReturnType: Quantity;
206
+ },
207
+ /**
208
+ * @description Returns a collection of historical gas information
209
+ *
210
+ * @example
211
+ * provider.request({
212
+ * method: 'eth_feeHistory',
213
+ * params: ['4', 'latest', ['25', '75']]
214
+ * })
215
+ * // => {
216
+ * // oldestBlock: '0x1',
217
+ * // baseFeePerGas: ['0x1', '0x2', '0x3', '0x4'],
218
+ * // gasUsedRatio: ['0x1', '0x2', '0x3', '0x4'],
219
+ * // reward: [['0x1', '0x2'], ['0x3', '0x4'], ['0x5', '0x6'], ['0x7', '0x8']]
220
+ * // }
221
+ * */
222
+ {
223
+ Method: 'eth_feeHistory';
224
+ Parameters: [
205
225
  /** Number of blocks in the requested range. Between 1 and 1024 blocks can be requested in a single query. Less than requested may be returned if not all blocks are available. */
206
226
  blockCount: Quantity,
207
227
  /** Highest number block of the requested range. */
@@ -209,137 +229,153 @@ export type PublicRequests = {
209
229
  /** A monotonically increasing list of percentile values to sample from each block's effective priority fees per gas in ascending order, weighted by gas used. */
210
230
  rewardPercentiles: number[] | undefined
211
231
  ];
212
- }): Promise<FeeHistory>;
213
- request(args: {
214
- /**
215
- * @description Returns the current price of gas expressed in wei
216
- * @link https://eips.ethereum.org/EIPS/eip-1474
217
- * @example
218
- * provider.request({ method: 'eth_gasPrice' })
219
- * // => '0x09184e72a000'
220
- * */
221
- method: 'eth_gasPrice';
222
- params?: never;
223
- }): Promise<Quantity>;
224
- request(args: {
225
- /**
226
- * @description Returns the balance of an address in wei
227
- * @link https://eips.ethereum.org/EIPS/eip-1474
228
- * @example
229
- * provider.request({ method: 'eth_getBalance', params: ['0x...', 'latest'] })
230
- * // => '0x12a05...'
231
- * */
232
- method: 'eth_getBalance';
233
- params: [address: Address, block: BlockNumber | BlockTag | BlockIdentifier];
234
- }): Promise<Quantity>;
235
- request(args: {
236
- /**
237
- * @description Returns information about a block specified by hash
238
- * @link https://eips.ethereum.org/EIPS/eip-1474
239
- * @example
240
- * provider.request({ method: 'eth_getBlockByHash', params: ['0x...', true] })
241
- * // => {
242
- * // number: '0x1b4',
243
- * // hash: '0x...',
244
- * // parentHash: '0x...',
245
- * // ...
246
- * // }
247
- * */
248
- method: 'eth_getBlockByHash';
249
- params: [
232
+ ReturnType: FeeHistory;
233
+ },
234
+ /**
235
+ * @description Returns the current price of gas expressed in wei
236
+ *
237
+ * @example
238
+ * provider.request({ method: 'eth_gasPrice' })
239
+ * // => '0x09184e72a000'
240
+ */
241
+ {
242
+ Method: 'eth_gasPrice';
243
+ Parameters?: never;
244
+ ReturnType: Quantity;
245
+ },
246
+ /**
247
+ * @description Returns the balance of an address in wei
248
+ *
249
+ * @example
250
+ * provider.request({ method: 'eth_getBalance', params: ['0x...', 'latest'] })
251
+ * // => '0x12a05...'
252
+ */
253
+ {
254
+ Method: 'eth_getBalance';
255
+ Parameters: [
256
+ address: Address,
257
+ block: BlockNumber | BlockTag | BlockIdentifier
258
+ ];
259
+ ReturnType: Quantity;
260
+ },
261
+ /**
262
+ * @description Returns information about a block specified by hash
263
+ * @link https://eips.ethereum.org/EIPS/eip-1474
264
+ * @example
265
+ * provider.request({ method: 'eth_getBlockByHash', params: ['0x...', true] })
266
+ * // => {
267
+ * // number: '0x1b4',
268
+ * // hash: '0x...',
269
+ * // parentHash: '0x...',
270
+ * // ...
271
+ * // }
272
+ */
273
+ {
274
+ Method: 'eth_getBlockByHash';
275
+ Parameters: [
250
276
  /** hash of a block */
251
277
  hash: Hash,
252
278
  /** true will pull full transaction objects, false will pull transaction hashes */
253
279
  includeTransactionObjects: boolean
254
280
  ];
255
- }): Promise<Block | null>;
256
- request(args: {
257
- /**
258
- * @description Returns information about a block specified by number
259
- * @link https://eips.ethereum.org/EIPS/eip-1474
260
- * @example
261
- * provider.request({ method: 'eth_getBlockByNumber', params: ['0x1b4', true] })
262
- * // => {
263
- * // number: '0x1b4',
264
- * // hash: '0x...',
265
- * // parentHash: '0x...',
266
- * // ...
267
- * // }
268
- * */
269
- method: 'eth_getBlockByNumber';
270
- params: [
281
+ ReturnType: Block | null;
282
+ },
283
+ /**
284
+ * @description Returns information about a block specified by number
285
+ * @link https://eips.ethereum.org/EIPS/eip-1474
286
+ * @example
287
+ * provider.request({ method: 'eth_getBlockByNumber', params: ['0x1b4', true] })
288
+ * // => {
289
+ * // number: '0x1b4',
290
+ * // hash: '0x...',
291
+ * // parentHash: '0x...',
292
+ * // ...
293
+ * // }
294
+ */
295
+ {
296
+ Method: 'eth_getBlockByNumber';
297
+ Parameters: [
271
298
  /** block number, or one of "latest", "safe", "finalized", "earliest" or "pending" */
272
299
  block: BlockNumber | BlockTag,
273
300
  /** true will pull full transaction objects, false will pull transaction hashes */
274
301
  includeTransactionObjects: boolean
275
302
  ];
276
- }): Promise<Block | null>;
277
- request(args: {
278
- /**
279
- * @description Returns the number of transactions in a block specified by block hash
280
- * @link https://eips.ethereum.org/EIPS/eip-1474
281
- * @example
282
- * provider.request({ method: 'eth_getBlockTransactionCountByHash', params: ['0x...'] })
283
- * // => '0x1'
284
- * */
285
- method: 'eth_getBlockTransactionCountByHash';
286
- params: [hash: Hash];
287
- }): Promise<Quantity>;
288
- request(args: {
289
- /**
290
- * @description Returns the number of transactions in a block specified by block number
291
- * @link https://eips.ethereum.org/EIPS/eip-1474
292
- * @example
293
- * provider.request({ method: 'eth_getBlockTransactionCountByNumber', params: ['0x1b4'] })
294
- * // => '0x1'
295
- * */
296
- method: 'eth_getBlockTransactionCountByNumber';
297
- params: [block: BlockNumber | BlockTag];
298
- }): Promise<Quantity>;
299
- request(args: {
300
- /**
301
- * @description Returns the contract code stored at a given address
302
- * @link https://eips.ethereum.org/EIPS/eip-1474
303
- * @example
304
- * provider.request({ method: 'eth_getCode', params: ['0x...', 'latest'] })
305
- * // => '0x...'
306
- * */
307
- method: 'eth_getCode';
308
- params: [address: Address, block: BlockNumber | BlockTag | BlockIdentifier];
309
- }): Promise<Hex>;
310
- request(args: {
311
- /**
312
- * @description Returns a list of all logs based on filter ID since the last log retrieval
313
- * @link https://eips.ethereum.org/EIPS/eip-1474
314
- * @example
315
- * provider.request({ method: 'eth_getFilterChanges', params: ['0x...'] })
316
- * // => [{ ... }, { ... }]
317
- * */
318
- method: 'eth_getFilterChanges';
319
- params: [filterId: Quantity];
320
- }): Promise<Log[] | Hex[]>;
321
- request(args: {
322
- /**
323
- * @description Returns a list of all logs based on filter ID
324
- * @link https://eips.ethereum.org/EIPS/eip-1474
325
- * @example
326
- * provider.request({ method: 'eth_getFilterLogs', params: ['0x...'] })
327
- * // => [{ ... }, { ... }]
328
- * */
329
- method: 'eth_getFilterLogs';
330
- params: [filterId: Quantity];
331
- }): Promise<Log[]>;
332
- request(args: {
333
- /**
334
- * @description Returns a list of all logs based on a filter object
335
- * @link https://eips.ethereum.org/EIPS/eip-1474
336
- * @example
337
- * provider.request({ method: 'eth_getLogs', params: [{ fromBlock: '0x...', toBlock: '0x...', address: '0x...', topics: ['0x...'] }] })
338
- * // => [{ ... }, { ... }]
339
- * */
340
- method: 'eth_getLogs';
341
- params: [
342
- parameters: {
303
+ ReturnType: Block | null;
304
+ },
305
+ /**
306
+ * @description Returns the number of transactions in a block specified by block hash
307
+ * @link https://eips.ethereum.org/EIPS/eip-1474
308
+ * @example
309
+ * provider.request({ method: 'eth_getBlockTransactionCountByHash', params: ['0x...'] })
310
+ * // => '0x1'
311
+ */
312
+ {
313
+ Method: 'eth_getBlockTransactionCountByHash';
314
+ Parameters: [hash: Hash];
315
+ ReturnType: Quantity;
316
+ },
317
+ /**
318
+ * @description Returns the number of transactions in a block specified by block number
319
+ * @link https://eips.ethereum.org/EIPS/eip-1474
320
+ * @example
321
+ * provider.request({ method: 'eth_getBlockTransactionCountByNumber', params: ['0x1b4'] })
322
+ * // => '0x1'
323
+ */
324
+ {
325
+ Method: 'eth_getBlockTransactionCountByNumber';
326
+ Parameters: [block: BlockNumber | BlockTag];
327
+ ReturnType: Quantity;
328
+ },
329
+ /**
330
+ * @description Returns the contract code stored at a given address
331
+ * @link https://eips.ethereum.org/EIPS/eip-1474
332
+ * @example
333
+ * provider.request({ method: 'eth_getCode', params: ['0x...', 'latest'] })
334
+ * // => '0x...'
335
+ */
336
+ {
337
+ Method: 'eth_getCode';
338
+ Parameters: [
339
+ address: Address,
340
+ block: BlockNumber | BlockTag | BlockIdentifier
341
+ ];
342
+ ReturnType: Hex;
343
+ },
344
+ /**
345
+ * @description Returns a list of all logs based on filter ID since the last log retrieval
346
+ * @link https://eips.ethereum.org/EIPS/eip-1474
347
+ * @example
348
+ * provider.request({ method: 'eth_getFilterChanges', params: ['0x...'] })
349
+ * // => [{ ... }, { ... }]
350
+ */
351
+ {
352
+ Method: 'eth_getFilterChanges';
353
+ Parameters: [filterId: Quantity];
354
+ ReturnType: Log[] | Hex[];
355
+ },
356
+ /**
357
+ * @description Returns a list of all logs based on filter ID
358
+ * @link https://eips.ethereum.org/EIPS/eip-1474
359
+ * @example
360
+ * provider.request({ method: 'eth_getFilterLogs', params: ['0x...'] })
361
+ * // => [{ ... }, { ... }]
362
+ */
363
+ {
364
+ Method: 'eth_getFilterLogs';
365
+ Parameters: [filterId: Quantity];
366
+ ReturnType: Log[];
367
+ },
368
+ /**
369
+ * @description Returns a list of all logs based on a filter object
370
+ * @link https://eips.ethereum.org/EIPS/eip-1474
371
+ * @example
372
+ * provider.request({ method: 'eth_getLogs', params: [{ fromBlock: '0x...', toBlock: '0x...', address: '0x...', topics: ['0x...'] }] })
373
+ * // => [{ ... }, { ... }]
374
+ */
375
+ {
376
+ Method: 'eth_getLogs';
377
+ Parameters: [
378
+ {
343
379
  address?: Address | Address[];
344
380
  topics?: LogTopic[];
345
381
  } & ({
@@ -352,142 +388,157 @@ export type PublicRequests = {
352
388
  blockHash?: Hash;
353
389
  })
354
390
  ];
355
- }): Promise<Log[]>;
356
- request(args: {
357
- /**
358
- * @description Returns the value from a storage position at an address
359
- * @link https://eips.ethereum.org/EIPS/eip-1474
360
- * @example
361
- * provider.request({ method: 'eth_getStorageAt', params: ['0x...', '0x...', 'latest'] })
362
- * // => '0x...'
363
- * */
364
- method: 'eth_getStorageAt';
365
- params: [
391
+ ReturnType: Log[];
392
+ },
393
+ /**
394
+ * @description Returns the value from a storage position at an address
395
+ * @link https://eips.ethereum.org/EIPS/eip-1474
396
+ * @example
397
+ * provider.request({ method: 'eth_getStorageAt', params: ['0x...', '0x...', 'latest'] })
398
+ * // => '0x...'
399
+ */
400
+ {
401
+ Method: 'eth_getStorageAt';
402
+ Parameters: [
366
403
  address: Address,
367
404
  index: Quantity,
368
405
  block: BlockNumber | BlockTag | BlockIdentifier
369
406
  ];
370
- }): Promise<Hex>;
371
- request(args: {
372
- /**
373
- * @description Returns information about a transaction specified by block hash and transaction index
374
- * @link https://eips.ethereum.org/EIPS/eip-1474
375
- * @example
376
- * provider.request({ method: 'eth_getTransactionByBlockHashAndIndex', params: ['0x...', '0x...'] })
377
- * // => { ... }
378
- * */
379
- method: 'eth_getTransactionByBlockHashAndIndex';
380
- params: [hash: Hash, index: Quantity];
381
- }): Promise<Transaction | null>;
382
- request(args: {
383
- /**
384
- * @description Returns information about a transaction specified by block number and transaction index
385
- * @link https://eips.ethereum.org/EIPS/eip-1474
386
- * @example
387
- * provider.request({ method: 'eth_getTransactionByBlockNumberAndIndex', params: ['0x...', '0x...'] })
388
- * // => { ... }
389
- * */
390
- method: 'eth_getTransactionByBlockNumberAndIndex';
391
- params: [block: BlockNumber | BlockTag, index: Quantity];
392
- }): Promise<Transaction | null>;
393
- request(args: {
394
- /**
395
- * @description Returns information about a transaction specified by hash
396
- * @link https://eips.ethereum.org/EIPS/eip-1474
397
- * @example
398
- * provider.request({ method: 'eth_getTransactionByHash', params: ['0x...'] })
399
- * // => { ... }
400
- * */
401
- method: 'eth_getTransactionByHash';
402
- params: [hash: Hash];
403
- }): Promise<Transaction | null>;
404
- request(args: {
405
- /**
406
- * @description Returns the number of transactions sent from an address
407
- * @link https://eips.ethereum.org/EIPS/eip-1474
408
- * @example
409
- * provider.request({ method: 'eth_getTransactionCount', params: ['0x...', 'latest'] })
410
- * // => '0x1'
411
- * */
412
- method: 'eth_getTransactionCount';
413
- params: [address: Address, block: BlockNumber | BlockTag | BlockIdentifier];
414
- }): Promise<Quantity>;
415
- request(args: {
416
- /**
417
- * @description Returns the receipt of a transaction specified by hash
418
- * @link https://eips.ethereum.org/EIPS/eip-1474
419
- * @example
420
- * provider.request({ method: 'eth_getTransactionReceipt', params: ['0x...'] })
421
- * // => { ... }
422
- * */
423
- method: 'eth_getTransactionReceipt';
424
- params: [hash: Hash];
425
- }): Promise<TransactionReceipt | null>;
426
- request(args: {
427
- /**
428
- * @description Returns information about an uncle specified by block hash and uncle index position
429
- * @link https://eips.ethereum.org/EIPS/eip-1474
430
- * @example
431
- * provider.request({ method: 'eth_getUncleByBlockHashAndIndex', params: ['0x...', '0x...'] })
432
- * // => { ... }
433
- * */
434
- method: 'eth_getUncleByBlockHashAndIndex';
435
- params: [hash: Hash, index: Quantity];
436
- }): Promise<Uncle | null>;
437
- request(args: {
438
- /**
439
- * @description Returns information about an uncle specified by block number and uncle index position
440
- * @link https://eips.ethereum.org/EIPS/eip-1474
441
- * @example
442
- * provider.request({ method: 'eth_getUncleByBlockNumberAndIndex', params: ['0x...', '0x...'] })
443
- * // => { ... }
444
- * */
445
- method: 'eth_getUncleByBlockNumberAndIndex';
446
- params: [block: BlockNumber | BlockTag, index: Quantity];
447
- }): Promise<Uncle | null>;
448
- request(args: {
449
- /**
450
- * @description Returns the number of uncles in a block specified by block hash
451
- * @link https://eips.ethereum.org/EIPS/eip-1474
452
- * @example
453
- * provider.request({ method: 'eth_getUncleCountByBlockHash', params: ['0x...'] })
454
- * // => '0x1'
455
- * */
456
- method: 'eth_getUncleCountByBlockHash';
457
- params: [hash: Hash];
458
- }): Promise<Quantity>;
459
- request(args: {
460
- /**
461
- * @description Returns the number of uncles in a block specified by block number
462
- * @link https://eips.ethereum.org/EIPS/eip-1474
463
- * @example
464
- * provider.request({ method: 'eth_getUncleCountByBlockNumber', params: ['0x...'] })
465
- * // => '0x1'
466
- * */
467
- method: 'eth_getUncleCountByBlockNumber';
468
- params: [block: BlockNumber | BlockTag];
469
- }): Promise<Quantity>;
470
- request(args: {
471
- /**
472
- * @description Creates a filter to listen for new blocks that can be used with `eth_getFilterChanges`
473
- * @link https://eips.ethereum.org/EIPS/eip-1474
474
- * @example
475
- * provider.request({ method: 'eth_newBlockFilter' })
476
- * // => '0x1'
477
- * */
478
- method: 'eth_newBlockFilter';
479
- params?: never;
480
- }): Promise<Quantity>;
481
- request(args: {
482
- /**
483
- * @description Creates a filter to listen for specific state changes that can then be used with `eth_getFilterChanges`
484
- * @link https://eips.ethereum.org/EIPS/eip-1474
485
- * @example
486
- * provider.request({ method: 'eth_newFilter', params: [{ fromBlock: '0x...', toBlock: '0x...', address: '0x...', topics: ['0x...'] }] })
487
- * // => '0x1'
488
- * */
489
- method: 'eth_newFilter';
490
- params: [
407
+ ReturnType: Hex;
408
+ },
409
+ /**
410
+ * @description Returns information about a transaction specified by block hash and transaction index
411
+ * @link https://eips.ethereum.org/EIPS/eip-1474
412
+ * @example
413
+ * provider.request({ method: 'eth_getTransactionByBlockHashAndIndex', params: ['0x...', '0x...'] })
414
+ * // => { ... }
415
+ */
416
+ {
417
+ Method: 'eth_getTransactionByBlockHashAndIndex';
418
+ Parameters: [hash: Hash, index: Quantity];
419
+ ReturnType: Transaction | null;
420
+ },
421
+ /**
422
+ * @description Returns information about a transaction specified by block number and transaction index
423
+ * @link https://eips.ethereum.org/EIPS/eip-1474
424
+ * @example
425
+ * provider.request({ method: 'eth_getTransactionByBlockNumberAndIndex', params: ['0x...', '0x...'] })
426
+ * // => { ... }
427
+ */
428
+ {
429
+ Method: 'eth_getTransactionByBlockNumberAndIndex';
430
+ Parameters: [block: BlockNumber | BlockTag, index: Quantity];
431
+ ReturnType: Transaction | null;
432
+ },
433
+ /**
434
+ * @description Returns information about a transaction specified by hash
435
+ * @link https://eips.ethereum.org/EIPS/eip-1474
436
+ * @example
437
+ * provider.request({ method: 'eth_getTransactionByHash', params: ['0x...'] })
438
+ * // => { ... }
439
+ */
440
+ {
441
+ Method: 'eth_getTransactionByHash';
442
+ Parameters: [hash: Hash];
443
+ ReturnType: Transaction | null;
444
+ },
445
+ /**
446
+ * @description Returns the number of transactions sent from an address
447
+ * @link https://eips.ethereum.org/EIPS/eip-1474
448
+ * @example
449
+ * provider.request({ method: 'eth_getTransactionCount', params: ['0x...', 'latest'] })
450
+ * // => '0x1'
451
+ */
452
+ {
453
+ Method: 'eth_getTransactionCount';
454
+ Parameters: [
455
+ address: Address,
456
+ block: BlockNumber | BlockTag | BlockIdentifier
457
+ ];
458
+ ReturnType: Quantity;
459
+ },
460
+ /**
461
+ * @description Returns the receipt of a transaction specified by hash
462
+ * @link https://eips.ethereum.org/EIPS/eip-1474
463
+ * @example
464
+ * provider.request({ method: 'eth_getTransactionReceipt', params: ['0x...'] })
465
+ * // => { ... }
466
+ */
467
+ {
468
+ Method: 'eth_getTransactionReceipt';
469
+ Parameters: [hash: Hash];
470
+ ReturnType: TransactionReceipt | null;
471
+ },
472
+ /**
473
+ * @description Returns information about an uncle specified by block hash and uncle index position
474
+ * @link https://eips.ethereum.org/EIPS/eip-1474
475
+ * @example
476
+ * provider.request({ method: 'eth_getUncleByBlockHashAndIndex', params: ['0x...', '0x...'] })
477
+ * // => { ... }
478
+ */
479
+ {
480
+ Method: 'eth_getUncleByBlockHashAndIndex';
481
+ Parameters: [hash: Hash, index: Quantity];
482
+ ReturnType: Uncle | null;
483
+ },
484
+ /**
485
+ * @description Returns information about an uncle specified by block number and uncle index position
486
+ * @link https://eips.ethereum.org/EIPS/eip-1474
487
+ * @example
488
+ * provider.request({ method: 'eth_getUncleByBlockNumberAndIndex', params: ['0x...', '0x...'] })
489
+ * // => { ... }
490
+ */
491
+ {
492
+ Method: 'eth_getUncleByBlockNumberAndIndex';
493
+ Parameters: [block: BlockNumber | BlockTag, index: Quantity];
494
+ ReturnType: Uncle | null;
495
+ },
496
+ /**
497
+ * @description Returns the number of uncles in a block specified by block hash
498
+ * @link https://eips.ethereum.org/EIPS/eip-1474
499
+ * @example
500
+ * provider.request({ method: 'eth_getUncleCountByBlockHash', params: ['0x...'] })
501
+ * // => '0x1'
502
+ */
503
+ {
504
+ Method: 'eth_getUncleCountByBlockHash';
505
+ Parameters: [hash: Hash];
506
+ ReturnType: Quantity;
507
+ },
508
+ /**
509
+ * @description Returns the number of uncles in a block specified by block number
510
+ * @link https://eips.ethereum.org/EIPS/eip-1474
511
+ * @example
512
+ * provider.request({ method: 'eth_getUncleCountByBlockNumber', params: ['0x...'] })
513
+ * // => '0x1'
514
+ */
515
+ {
516
+ Method: 'eth_getUncleCountByBlockNumber';
517
+ Parameters: [block: BlockNumber | BlockTag];
518
+ ReturnType: Quantity;
519
+ },
520
+ /**
521
+ * @description Creates a filter to listen for new blocks that can be used with `eth_getFilterChanges`
522
+ * @link https://eips.ethereum.org/EIPS/eip-1474
523
+ * @example
524
+ * provider.request({ method: 'eth_newBlockFilter' })
525
+ * // => '0x1'
526
+ */
527
+ {
528
+ Method: 'eth_newBlockFilter';
529
+ Parameters?: never;
530
+ ReturnType: Quantity;
531
+ },
532
+ /**
533
+ * @description Creates a filter to listen for specific state changes that can then be used with `eth_getFilterChanges`
534
+ * @link https://eips.ethereum.org/EIPS/eip-1474
535
+ * @example
536
+ * provider.request({ method: 'eth_newFilter', params: [{ fromBlock: '0x...', toBlock: '0x...', address: '0x...', topics: ['0x...'] }] })
537
+ * // => '0x1'
538
+ */
539
+ {
540
+ Method: 'eth_newFilter';
541
+ Parameters: [
491
542
  filter: {
492
543
  fromBlock?: BlockNumber | BlockTag;
493
544
  toBlock?: BlockNumber | BlockTag;
@@ -495,203 +546,221 @@ export type PublicRequests = {
495
546
  topics?: LogTopic[];
496
547
  }
497
548
  ];
498
- }): Promise<Quantity>;
499
- request(args: {
500
- /**
501
- * @description Creates a filter to listen for new pending transactions that can be used with `eth_getFilterChanges`
502
- * @link https://eips.ethereum.org/EIPS/eip-1474
503
- * @example
504
- * provider.request({ method: 'eth_newPendingTransactionFilter' })
505
- * // => '0x1'
506
- * */
507
- method: 'eth_newPendingTransactionFilter';
508
- params?: never;
509
- }): Promise<Quantity>;
510
- request(args: {
511
- /**
512
- * @description Returns the current Ethereum protocol version
513
- * @link https://eips.ethereum.org/EIPS/eip-1474
514
- * @example
515
- * provider.request({ method: 'eth_protocolVersion' })
516
- * // => '54'
517
- * */
518
- method: 'eth_protocolVersion';
519
- params?: never;
520
- }): Promise<string>;
521
- request(args: {
522
- /**
523
- * @description Sends and already-signed transaction to the network
524
- * @link https://eips.ethereum.org/EIPS/eip-1474
525
- * @example
526
- * provider.request({ method: 'eth_sendRawTransaction', params: ['0x...'] })
527
- * // => '0x...'
528
- * */
529
- method: 'eth_sendRawTransaction';
530
- params: [signedTransaction: Hex];
531
- }): Promise<Hex>;
532
- request(args: {
533
- /**
534
- * @description Destroys a filter based on filter ID
535
- * @link https://eips.ethereum.org/EIPS/eip-1474
536
- * @example
537
- * provider.request({ method: 'eth_uninstallFilter', params: ['0x1'] })
538
- * // => true
539
- * */
540
- method: 'eth_uninstallFilter';
541
- params: [
542
- /** ID of the filter to destroy */
543
- filterId: Quantity
544
- ];
545
- }): Promise<boolean>;
546
- };
547
- export type TestRequests<Name extends string> = {
548
- request(args: {
549
- /**
550
- * @description Add information about compiled contracts
551
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult
552
- */
553
- method: `${Name}_addCompilationResult`;
554
- params: any[];
555
- }): Promise<any>;
556
- request(args: {
557
- /**
558
- * @description Remove a transaction from the mempool
559
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_droptransaction
560
- */
561
- method: `${Name}_dropTransaction`;
562
- params: [hash: Hash];
563
- }): Promise<void>;
564
- request(args: {
565
- /**
566
- * @description Turn on call traces for transactions that are returned to the user when they execute a transaction (instead of just txhash/receipt).
567
- */
568
- method: `${Name}_enableTraces`;
569
- params?: never;
570
- }): Promise<void>;
571
- request(args: {
572
- /**
573
- * @description Impersonate an account or contract address.
574
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_impersonateaccount
575
- */
576
- method: `${Name}_impersonateAccount`;
577
- params: [address: Address];
578
- }): Promise<void>;
579
- request(args: {
580
- /**
581
- * @description Returns true if automatic mining is enabled, and false otherwise. See [Mining Modes](https://hardhat.org/hardhat-network/explanation/mining-modes) to learn more.
582
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_getautomine
583
- */
584
- method: `${Name}_getAutomine`;
585
- }): Promise<boolean>;
586
- request(args: {
587
- /**
588
- * @description Advance the block number of the network by a certain number of blocks
589
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_mine
590
- */
591
- method: `${Name}_mine`;
592
- params: [
549
+ ReturnType: Quantity;
550
+ },
551
+ /**
552
+ * @description Creates a filter to listen for new pending transactions that can be used with `eth_getFilterChanges`
553
+ * @link https://eips.ethereum.org/EIPS/eip-1474
554
+ * @example
555
+ * provider.request({ method: 'eth_newPendingTransactionFilter' })
556
+ * // => '0x1'
557
+ */
558
+ {
559
+ Method: 'eth_newPendingTransactionFilter';
560
+ Parameters?: never;
561
+ ReturnType: Quantity;
562
+ },
563
+ /**
564
+ * @description Returns the current Ethereum protocol version
565
+ * @link https://eips.ethereum.org/EIPS/eip-1474
566
+ * @example
567
+ * provider.request({ method: 'eth_protocolVersion' })
568
+ * // => '54'
569
+ */
570
+ {
571
+ Method: 'eth_protocolVersion';
572
+ Parameters?: never;
573
+ ReturnType: string;
574
+ },
575
+ /**
576
+ * @description Sends and already-signed transaction to the network
577
+ * @link https://eips.ethereum.org/EIPS/eip-1474
578
+ * @example
579
+ * provider.request({ method: 'eth_sendRawTransaction', params: ['0x...'] })
580
+ * // => '0x...'
581
+ */
582
+ {
583
+ Method: 'eth_sendRawTransaction';
584
+ Parameters: [signedTransaction: Hex];
585
+ ReturnType: Hash;
586
+ },
587
+ /**
588
+ * @description Destroys a filter based on filter ID
589
+ * @link https://eips.ethereum.org/EIPS/eip-1474
590
+ * @example
591
+ * provider.request({ method: 'eth_uninstallFilter', params: ['0x1'] })
592
+ * // => true
593
+ */
594
+ {
595
+ Method: 'eth_uninstallFilter';
596
+ Parameters: [filterId: Quantity];
597
+ ReturnType: boolean;
598
+ }
599
+ ];
600
+ export type TestRpcSchema<TMode extends string> = [
601
+ /**
602
+ * @description Add information about compiled contracts
603
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_addcompilationresult
604
+ */
605
+ {
606
+ Method: `${TMode}_addCompilationResult`;
607
+ Parameters: any[];
608
+ ReturnType: any;
609
+ },
610
+ /**
611
+ * @description Remove a transaction from the mempool
612
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_droptransaction
613
+ */
614
+ {
615
+ Method: `${TMode}_dropTransaction`;
616
+ Parameters: [hash: Hash];
617
+ ReturnType: void;
618
+ },
619
+ /**
620
+ * @description Turn on call traces for transactions that are returned to the user when they execute a transaction (instead of just txhash/receipt).
621
+ */
622
+ {
623
+ Method: `${TMode}_enableTraces`;
624
+ Parameters?: never;
625
+ ReturnType: void;
626
+ },
627
+ /**
628
+ * @description Impersonate an account or contract address.
629
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_impersonateaccount
630
+ */
631
+ {
632
+ Method: `${TMode}_impersonateAccount`;
633
+ Parameters: [address: Address];
634
+ ReturnType: void;
635
+ },
636
+ /**
637
+ * @description Returns true if automatic mining is enabled, and false otherwise. See [Mining Modes](https://hardhat.org/hardhat-network/explanation/mining-modes) to learn more.
638
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_getautomine
639
+ */
640
+ {
641
+ Method: `${TMode}_getAutomine`;
642
+ Parameters?: never;
643
+ ReturnType: boolean;
644
+ },
645
+ /**
646
+ * @description Advance the block number of the network by a certain number of blocks
647
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_mine
648
+ */
649
+ {
650
+ Method: `${TMode}_mine`;
651
+ Parameters: [
593
652
  /** Number of blocks to mine. */
594
653
  count: Hex,
595
654
  /** Interval between each block in seconds. */
596
655
  interval: Hex | undefined
597
656
  ];
598
- }): Promise<void>;
599
- request(args: {
600
- /**
601
- * @description Resets the fork.
602
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_reset
603
- */
604
- method: `${Name}_reset`;
605
- params: any[];
606
- }): Promise<void>;
607
- request(args: {
608
- /**
609
- * @description Modifies the balance of an account.
610
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setbalance
611
- */
612
- method: `${Name}_setBalance`;
613
- params: [
657
+ ReturnType: void;
658
+ },
659
+ /**
660
+ * @description Resets the fork.
661
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_reset
662
+ */
663
+ {
664
+ Method: `${TMode}_reset`;
665
+ Parameters: any[];
666
+ ReturnType: void;
667
+ },
668
+ /**
669
+ * @description Modifies the balance of an account.
670
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setbalance
671
+ */
672
+ {
673
+ Method: `${TMode}_setBalance`;
674
+ Parameters: [
614
675
  /** The address of the target account. */
615
676
  address: Address,
616
677
  /** Amount to send in wei. */
617
- value: Quantity
678
+ balance: Quantity
618
679
  ];
619
- }): Promise<void>;
620
- request(args: {
621
- /**
622
- * @description Modifies the bytecode stored at an account's address.
623
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcode
624
- */
625
- method: `${Name}_setCode`;
626
- params: [
680
+ ReturnType: void;
681
+ },
682
+ /**
683
+ * @description Modifies the bytecode stored at an account's address.
684
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcode
685
+ */
686
+ {
687
+ Method: `${TMode}_setCode`;
688
+ Parameters: [
627
689
  /** The address of the contract. */
628
690
  address: Address,
629
691
  /** Data bytecode. */
630
692
  data: string
631
693
  ];
632
- }): Promise<void>;
633
- request(args: {
634
- /**
635
- * @description Sets the coinbase address to be used in new blocks.
636
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcoinbase
637
- */
638
- method: `${Name}_setCoinbase`;
639
- params: [
694
+ ReturnType: void;
695
+ },
696
+ /**
697
+ * @description Sets the coinbase address to be used in new blocks.
698
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcoinbase
699
+ */
700
+ {
701
+ Method: `${TMode}_setCoinbase`;
702
+ Parameters: [
640
703
  /** The address to set as the coinbase address. */
641
704
  address: Address
642
705
  ];
643
- }): Promise<void>;
644
- request(args: {
645
- /**
646
- * @description Enable or disable logging on the test node network.
647
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcoinbase
648
- */
649
- method: `${Name}_setLoggingEnabled`;
650
- params: [enabled: boolean];
651
- }): Promise<void>;
652
- request(args: {
653
- /**
654
- * @description Change the minimum gas price accepted by the network (in wei).
655
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setmingasprice
656
- */
657
- method: `${Name}_setMinGasPrice`;
658
- params: [gasPrice: Quantity];
659
- }): Promise<void>;
660
- request(args: {
661
- /**
662
- * @description Sets the base fee of the next block.
663
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setnextblockbasefeepergas
664
- */
665
- method: `${Name}_setNextBlockBaseFeePerGas`;
666
- params: [baseFeePerGas: Quantity];
667
- }): Promise<void>;
668
- request(args: {
669
- /**
670
- * @description Modifies an account's nonce by overwriting it.
671
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setnonce
672
- */
673
- method: `${Name}_setNonce`;
674
- params: [
706
+ ReturnType: void;
707
+ },
708
+ /**
709
+ * @description Enable or disable logging on the test node network.
710
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setcoinbase
711
+ */
712
+ {
713
+ Method: `${TMode}_setLoggingEnabled`;
714
+ Parameters: [enabled: boolean];
715
+ ReturnType: void;
716
+ },
717
+ /**
718
+ * @description Change the minimum gas price accepted by the network (in wei).
719
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setmingasprice
720
+ */
721
+ {
722
+ Method: `${TMode}_setMinGasPrice`;
723
+ Parameters: [gasPrice: Quantity];
724
+ ReturnType: void;
725
+ },
726
+ /**
727
+ * @description Sets the base fee of the next block.
728
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setnextblockbasefeepergas
729
+ */
730
+ {
731
+ Method: `${TMode}_setNextBlockBaseFeePerGas`;
732
+ Parameters: [baseFeePerGas: Quantity];
733
+ ReturnType: void;
734
+ },
735
+ /**
736
+ * @description Modifies an account's nonce by overwriting it.
737
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setnonce
738
+ */
739
+ {
740
+ Method: `${TMode}_setNonce`;
741
+ Parameters: [
675
742
  /** The account address. */
676
743
  address: Address,
677
744
  /** The new nonce. */
678
745
  nonce: Quantity
679
746
  ];
680
- }): Promise<void>;
681
- request(args: {
682
- /**
683
- * @description Sets the backend RPC URL.
684
- */
685
- method: `${Name}_setRpcUrl`;
686
- params: [url: string];
687
- }): Promise<void>;
688
- request(args: {
689
- /**
690
- * @description Writes a single position of an account's storage.
691
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setstorageat
692
- */
693
- method: `${Name}_setStorageAt`;
694
- params: [
747
+ ReturnType: void;
748
+ },
749
+ /**
750
+ * @description Sets the backend RPC URL.
751
+ */
752
+ {
753
+ Method: `${TMode}_setRpcUrl`;
754
+ Parameters: [url: string];
755
+ ReturnType: void;
756
+ },
757
+ /**
758
+ * @description Writes a single position of an account's storage.
759
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_setstorageat
760
+ */
761
+ {
762
+ Method: `${TMode}_setStorageAt`;
763
+ Parameters: [
695
764
  /** The account address. */
696
765
  address: Address,
697
766
  /** The storage position index. */
@@ -699,304 +768,450 @@ export type TestRequests<Name extends string> = {
699
768
  /** The storage value. */
700
769
  value: Quantity
701
770
  ];
702
- }): Promise<void>;
703
- request(args: {
704
- /**
705
- * @description Use this method to stop impersonating an account after having previously used impersonateAccount.
706
- * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_stopimpersonatingaccount
707
- */
708
- method: `${Name}_stopImpersonatingAccount`;
709
- params: [
771
+ ReturnType: void;
772
+ },
773
+ /**
774
+ * @description Use this method to stop impersonating an account after having previously used impersonateAccount.
775
+ * @link https://hardhat.org/hardhat-network/docs/reference#hardhat_stopimpersonatingaccount
776
+ */
777
+ {
778
+ Method: `${TMode}_stopImpersonatingAccount`;
779
+ Parameters: [
710
780
  /** The address to stop impersonating. */
711
781
  address: Address
712
782
  ];
713
- }): Promise<void>;
714
- request(args: {
715
- /**
716
- * @description Jump forward in time by the given amount of time, in seconds.
717
- * @link https://github.com/trufflesuite/ganache/blob/ef1858d5d6f27e4baeb75cccd57fb3dc77a45ae8/src/chains/ethereum/ethereum/RPC-METHODS.md#evm_increasetime
718
- */
719
- method: 'evm_increaseTime';
720
- params: [seconds: Quantity];
721
- }): Promise<Quantity>;
722
- request(args: {
723
- /**
724
- * @description Enables or disables, based on the single boolean argument, the automatic mining of new blocks with each new transaction submitted to the network.
725
- * @link https://hardhat.org/hardhat-network/docs/reference#evm_setautomine
726
- */
727
- method: 'evm_setAutomine';
728
- params: [boolean];
729
- }): Promise<void>;
730
- request(args: {
731
- /**
732
- * @description Sets the block's gas limit.
733
- * @link https://hardhat.org/hardhat-network/docs/reference#evm_setblockgaslimit
734
- */
735
- method: 'evm_setBlockGasLimit';
736
- params: [gasLimit: Quantity];
737
- }): Promise<void>;
738
- request(args: {
739
- /**
740
- * @description Similar to `evm_increaseTime` but sets a block timestamp `interval`.
741
- * The timestamp of the next block will be computed as `lastBlock_timestamp` + `interval`
742
- */
743
- method: `${Name}_setBlockTimestampInterval`;
744
- params: [seconds: number];
745
- }): Promise<void>;
746
- request(args: {
747
- /**
748
- * @description Removes `setBlockTimestampInterval` if it exists
749
- */
750
- method: `${Name}_removeBlockTimestampInterval`;
751
- }): Promise<void>;
752
- request(args: {
753
- /**
754
- * @description Enables (with a numeric argument greater than 0) or disables (with a numeric argument equal to 0), the automatic mining of blocks at a regular interval of milliseconds, each of which will include all pending transactions.
755
- * @link https://hardhat.org/hardhat-network/docs/reference#evm_setintervalmining
756
- */
757
- method: 'evm_setIntervalMining';
758
- params: [number];
759
- }): Promise<void>;
760
- request(args: {
761
- /**
762
- * @description Set the timestamp of the next block.
763
- * @link https://hardhat.org/hardhat-network/docs/reference#evm_setnextblocktimestamp
764
- */
765
- method: 'evm_setNextBlockTimestamp';
766
- params: [Quantity];
767
- }): Promise<void>;
768
- request(args: {
769
- /**
770
- * @description Snapshot the state of the blockchain at the current block. Takes no parameters. Returns the id of the snapshot that was created.
771
- * @link https://hardhat.org/hardhat-network/docs/reference#evm_snapshot
772
- */
773
- method: 'evm_snapshot';
774
- params?: never;
775
- }): Promise<Quantity>;
776
- request(args: {
777
- /**
778
- * @description Revert the state of the blockchain to a previous snapshot. Takes a single parameter, which is the snapshot id to revert to.
779
- */
780
- method: 'evm_revert';
781
- params?: [id: Quantity];
782
- }): Promise<void>;
783
- request(args: {
784
- /**
785
- * @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-content
786
- */
787
- method: 'txpool_content';
788
- params?: never;
789
- }): Promise<{
790
- pending: Record<Address, Record<string, Transaction>>;
791
- queued: Record<Address, Record<string, Transaction>>;
792
- }>;
793
- request(args: {
794
- /**
795
- * @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-inspect
796
- */
797
- method: 'txpool_inspect';
798
- params?: never;
799
- }): Promise<{
800
- pending: Record<Address, Record<string, string>>;
801
- queued: Record<Address, Record<string, string>>;
802
- }>;
803
- request(args: {
804
- /**
805
- * @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-inspect
806
- */
807
- method: 'txpool_status';
808
- params?: never;
809
- }): Promise<{
810
- pending: Quantity;
811
- queued: Quantity;
812
- }>;
813
- request(args: {
814
- /**
815
- * @description Creates, signs, and sends a new transaction to the network regardless of the signature.
816
- * @link https://eips.ethereum.org/EIPS/eip-1474
817
- * @example
818
- * provider.request({ method: 'eth_sendTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
819
- * // => '0x...'
820
- * */
821
- method: 'eth_sendUnsignedTransaction';
822
- params: [request: TransactionRequest];
823
- }): Promise<Hash>;
824
- };
825
- export type SignableRequests = {
826
- request(args: {
827
- /**
828
- * @description Creates, signs, and sends a new transaction to the network
829
- * @link https://eips.ethereum.org/EIPS/eip-1474
830
- * @example
831
- * provider.request({ method: 'eth_sendTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
832
- * // => '0x...'
833
- * */
834
- method: 'eth_sendTransaction';
835
- params: [request: TransactionRequest];
836
- }): Promise<Hash>;
837
- request(args: {
838
- /**
839
- * @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
840
- * @link https://eips.ethereum.org/EIPS/eip-1474
841
- * @example
842
- * provider.request({ method: 'eth_sign', params: ['0x...', '0x...'] })
843
- * // => '0x...'
844
- * */
845
- method: 'eth_sign';
846
- params: [
783
+ ReturnType: void;
784
+ },
785
+ /**
786
+ * @description Jump forward in time by the given amount of time, in seconds.
787
+ * @link https://github.com/trufflesuite/ganache/blob/ef1858d5d6f27e4baeb75cccd57fb3dc77a45ae8/src/chains/ethereum/ethereum/RPC-METHODS.md#evm_increasetime
788
+ */
789
+ {
790
+ Method: `${TMode}_increaseTime`;
791
+ Parameters: [seconds: number];
792
+ ReturnType: Quantity;
793
+ },
794
+ /**
795
+ * @description Modifies the balance of an account.
796
+ * @link https://ganache.dev/#evm_setAccountBalance
797
+ */
798
+ {
799
+ Method: `evm_setAccountBalance`;
800
+ Parameters: [
801
+ /** The address of the target account. */
802
+ address: Address,
803
+ /** Amount to send in wei. */
804
+ value: Quantity
805
+ ];
806
+ ReturnType: void;
807
+ },
808
+ /**
809
+ * @description Enables or disables, based on the single boolean argument, the automatic mining of new blocks with each new transaction submitted to the network.
810
+ * @link https://hardhat.org/hardhat-network/docs/reference#evm_setautomine
811
+ */
812
+ {
813
+ Method: `evm_setAutomine`;
814
+ Parameters: [boolean];
815
+ ReturnType: void;
816
+ },
817
+ /**
818
+ * @description Sets the block's gas limit.
819
+ * @link https://hardhat.org/hardhat-network/docs/reference#evm_setblockgaslimit
820
+ */
821
+ {
822
+ Method: 'evm_setBlockGasLimit';
823
+ Parameters: [gasLimit: Quantity];
824
+ ReturnType: void;
825
+ },
826
+ /**
827
+ * @description Jump forward in time by the given amount of time, in seconds.
828
+ * @link https://github.com/trufflesuite/ganache/blob/ef1858d5d6f27e4baeb75cccd57fb3dc77a45ae8/src/chains/ethereum/ethereum/RPC-METHODS.md#evm_increasetime
829
+ */
830
+ {
831
+ Method: `evm_increaseTime`;
832
+ Parameters: [seconds: Quantity];
833
+ ReturnType: Quantity;
834
+ },
835
+ /**
836
+ * @description Similar to `evm_increaseTime` but sets a block timestamp `interval`.
837
+ * The timestamp of the next block will be computed as `lastBlock_timestamp` + `interval`
838
+ */
839
+ {
840
+ Method: `${TMode}_setBlockTimestampInterval`;
841
+ Parameters: [seconds: number];
842
+ ReturnType: void;
843
+ },
844
+ /**
845
+ * @description Removes `setBlockTimestampInterval` if it exists
846
+ */
847
+ {
848
+ Method: `${TMode}_removeBlockTimestampInterval`;
849
+ Parameters?: never;
850
+ ReturnType: void;
851
+ },
852
+ /**
853
+ * @description Enables (with a numeric argument greater than 0) or disables (with a numeric argument equal to 0), the automatic mining of blocks at a regular interval of milliseconds, each of which will include all pending transactions.
854
+ * @link https://hardhat.org/hardhat-network/docs/reference#evm_setintervalmining
855
+ */
856
+ {
857
+ Method: 'evm_setIntervalMining';
858
+ Parameters: [number];
859
+ ReturnType: void;
860
+ },
861
+ /**
862
+ * @description Set the timestamp of the next block.
863
+ * @link https://hardhat.org/hardhat-network/docs/reference#evm_setnextblocktimestamp
864
+ */
865
+ {
866
+ Method: 'evm_setNextBlockTimestamp';
867
+ Parameters: [Quantity];
868
+ ReturnType: void;
869
+ },
870
+ /**
871
+ * @description Snapshot the state of the blockchain at the current block. Takes no parameters. Returns the id of the snapshot that was created.
872
+ * @link https://hardhat.org/hardhat-network/docs/reference#evm_snapshot
873
+ */
874
+ {
875
+ Method: 'evm_snapshot';
876
+ Parameters?: never;
877
+ ReturnType: Quantity;
878
+ },
879
+ /**
880
+ * @description Revert the state of the blockchain to a previous snapshot. Takes a single parameter, which is the snapshot id to revert to.
881
+ */
882
+ {
883
+ Method: 'evm_revert';
884
+ Parameters?: [id: Quantity];
885
+ ReturnType: void;
886
+ },
887
+ /**
888
+ * @description Enables the automatic mining of new blocks with each new transaction submitted to the network.
889
+ * @link https://ganache.dev/#miner_start
890
+ */
891
+ {
892
+ Method: 'miner_start';
893
+ Parameters?: never;
894
+ ReturnType: void;
895
+ },
896
+ /**
897
+ * @description Disables the automatic mining of new blocks with each new transaction submitted to the network.
898
+ * @link https://ganache.dev/#miner_stop
899
+ */
900
+ {
901
+ Method: 'miner_stop';
902
+ Parameters?: never;
903
+ ReturnType: void;
904
+ },
905
+ /**
906
+ * @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-content
907
+ */
908
+ {
909
+ Method: 'txpool_content';
910
+ Parameters?: never;
911
+ ReturnType: {
912
+ pending: Record<Address, Record<string, Transaction>>;
913
+ queued: Record<Address, Record<string, Transaction>>;
914
+ };
915
+ },
916
+ /**
917
+ * @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-inspect
918
+ */
919
+ {
920
+ Method: 'txpool_inspect';
921
+ Parameters?: never;
922
+ ReturnType: {
923
+ pending: Record<Address, Record<string, string>>;
924
+ queued: Record<Address, Record<string, string>>;
925
+ };
926
+ },
927
+ /**
928
+ * @link https://geth.ethereum.org/docs/interacting-with-geth/rpc/ns-txpool#txpool-inspect
929
+ */
930
+ {
931
+ Method: 'txpool_status';
932
+ Parameters?: never;
933
+ ReturnType: {
934
+ pending: Quantity;
935
+ queued: Quantity;
936
+ };
937
+ },
938
+ /**
939
+ * @description Returns whether the client is actively mining new blocks.
940
+ * @link https://eips.ethereum.org/EIPS/eip-1474
941
+ * @example
942
+ * provider.request({ method: 'eth_mining' })
943
+ * // => true
944
+ */
945
+ {
946
+ Method: 'eth_mining';
947
+ Parameters?: never;
948
+ ReturnType: boolean;
949
+ },
950
+ /**
951
+ * @description Advance the block number of the network by a certain number of blocks.
952
+ * @link https://ganache.dev/#evm_mine
953
+ */
954
+ {
955
+ Method: 'evm_mine';
956
+ Parameters?: [
957
+ {
958
+ /** Number of blocks to mine. */
959
+ blocks: Hex;
960
+ }
961
+ ];
962
+ ReturnType: void;
963
+ },
964
+ /**
965
+ * @description Creates, signs, and sends a new transaction to the network regardless of the signature.
966
+ * @link https://eips.ethereum.org/EIPS/eip-1474
967
+ * @example
968
+ * provider.request({ method: 'eth_sendTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
969
+ * // => '0x...'
970
+ */
971
+ {
972
+ Method: 'eth_sendUnsignedTransaction';
973
+ Parameters: [transaction: TransactionRequest];
974
+ ReturnType: Hash;
975
+ }
976
+ ];
977
+ export type WalletRpcSchema = [
978
+ /**
979
+ * @description Returns a list of addresses owned by this client
980
+ * @link https://eips.ethereum.org/EIPS/eip-1474
981
+ * @example
982
+ * provider.request({ method: 'eth_accounts' })
983
+ * // => ['0x0fB69...']
984
+ */
985
+ {
986
+ Method: 'eth_accounts';
987
+ Parameters?: never;
988
+ ReturnType: Address[];
989
+ },
990
+ /**
991
+ * @description Returns the current chain ID associated with the wallet.
992
+ * @example
993
+ * provider.request({ method: 'eth_chainId' })
994
+ * // => '1'
995
+ */
996
+ {
997
+ Method: 'eth_chainId';
998
+ Parameters?: never;
999
+ ReturnType: Quantity;
1000
+ },
1001
+ /**
1002
+ * @description Estimates the gas necessary to complete a transaction without submitting it to the network
1003
+ *
1004
+ * @example
1005
+ * provider.request({
1006
+ * method: 'eth_estimateGas',
1007
+ * params: [{ from: '0x...', to: '0x...', value: '0x...' }]
1008
+ * })
1009
+ * // => '0x5208'
1010
+ */
1011
+ {
1012
+ Method: 'eth_estimateGas';
1013
+ Parameters: [transaction: TransactionRequest] | [transaction: TransactionRequest, block: BlockNumber | BlockTag];
1014
+ ReturnType: Quantity;
1015
+ },
1016
+ /**
1017
+ * @description Requests that the user provides an Ethereum address to be identified by. Typically causes a browser extension popup to appear.
1018
+ * @link https://eips.ethereum.org/EIPS/eip-1102
1019
+ * @example
1020
+ * provider.request({ method: 'eth_requestAccounts' }] })
1021
+ * // => ['0x...', '0x...']
1022
+ */
1023
+ {
1024
+ Method: 'eth_requestAccounts';
1025
+ Parameters?: never;
1026
+ ReturnType: Address[];
1027
+ },
1028
+ /**
1029
+ * @description Creates, signs, and sends a new transaction to the network
1030
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1031
+ * @example
1032
+ * provider.request({ method: 'eth_sendTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
1033
+ * // => '0x...'
1034
+ */
1035
+ {
1036
+ Method: 'eth_sendTransaction';
1037
+ Parameters: [transaction: TransactionRequest];
1038
+ ReturnType: Hash;
1039
+ },
1040
+ /**
1041
+ * @description Sends and already-signed transaction to the network
1042
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1043
+ * @example
1044
+ * provider.request({ method: 'eth_sendRawTransaction', params: ['0x...'] })
1045
+ * // => '0x...'
1046
+ */
1047
+ {
1048
+ Method: 'eth_sendRawTransaction';
1049
+ Parameters: [signedTransaction: Hex];
1050
+ ReturnType: Hash;
1051
+ },
1052
+ /**
1053
+ * @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
1054
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1055
+ * @example
1056
+ * provider.request({ method: 'eth_sign', params: ['0x...', '0x...'] })
1057
+ * // => '0x...'
1058
+ */
1059
+ {
1060
+ Method: 'eth_sign';
1061
+ Parameters: [
847
1062
  /** Address to use for signing */
848
1063
  address: Address,
849
1064
  /** Data to sign */
850
1065
  data: Hex
851
1066
  ];
852
- }): Promise<Hex>;
853
- request(args: {
854
- /**
855
- * @description Signs a transaction that can be submitted to the network at a later time using with `eth_sendRawTransaction`
856
- * @link https://eips.ethereum.org/EIPS/eip-1474
857
- * @example
858
- * provider.request({ method: 'eth_signTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
859
- * // => '0x...'
860
- * */
861
- method: 'eth_signTransaction';
862
- params: [request: TransactionRequest];
863
- }): Promise<Hex>;
864
- request(args: {
865
- /**
866
- * @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
867
- * @link https://eips.ethereum.org/EIPS/eip-1474
868
- * @example
869
- * provider.request({ method: 'eth_signTypedData_v4', params: [{ from: '0x...', data: [{ type: 'string', name: 'message', value: 'hello world' }] }] })
870
- * // => '0x...'
871
- * */
872
- method: 'eth_signTypedData_v4';
873
- params: [
1067
+ ReturnType: Hex;
1068
+ },
1069
+ /**
1070
+ * @description Signs a transaction that can be submitted to the network at a later time using with `eth_sendRawTransaction`
1071
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1072
+ * @example
1073
+ * provider.request({ method: 'eth_signTransaction', params: [{ from: '0x...', to: '0x...', value: '0x...' }] })
1074
+ * // => '0x...'
1075
+ */
1076
+ {
1077
+ Method: 'eth_signTransaction';
1078
+ Parameters: [request: TransactionRequest];
1079
+ ReturnType: Hex;
1080
+ },
1081
+ /**
1082
+ * @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
1083
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1084
+ * @example
1085
+ * provider.request({ method: 'eth_signTypedData_v4', params: [{ from: '0x...', data: [{ type: 'string', name: 'message', value: 'hello world' }] }] })
1086
+ * // => '0x...'
1087
+ */
1088
+ {
1089
+ Method: 'eth_signTypedData_v4';
1090
+ Parameters: [
874
1091
  /** Address to use for signing */
875
1092
  address: Address,
876
1093
  /** Message to sign containing type information, a domain separator, and data */
877
1094
  message: string
878
1095
  ];
879
- }): Promise<Hex>;
880
- request(args: {
881
- /**
882
- * @description Returns information about the status of this client’s network synchronization
883
- * @link https://eips.ethereum.org/EIPS/eip-1474
884
- * @example
885
- * provider.request({ method: 'eth_syncing' })
886
- * // => { startingBlock: '0x...', currentBlock: '0x...', highestBlock: '0x...' }
887
- * */
888
- method: 'eth_syncing';
889
- params?: never;
890
- }): Promise<NetworkSync | false>;
891
- request(args: {
892
- /**
893
- * @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
894
- * @link https://eips.ethereum.org/EIPS/eip-1474
895
- * @example
896
- * provider.request({ method: 'personal_sign', params: ['0x...', '0x...'] })
897
- * // => '0x...'
898
- * */
899
- method: 'personal_sign';
900
- params: [
1096
+ ReturnType: Hex;
1097
+ },
1098
+ /**
1099
+ * @description Returns information about the status of this client’s network synchronization
1100
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1101
+ * @example
1102
+ * provider.request({ method: 'eth_syncing' })
1103
+ * // => { startingBlock: '0x...', currentBlock: '0x...', highestBlock: '0x...' }
1104
+ */
1105
+ {
1106
+ Method: 'eth_syncing';
1107
+ Parameters?: never;
1108
+ ReturnType: NetworkSync | false;
1109
+ },
1110
+ /**
1111
+ * @description Calculates an Ethereum-specific signature in the form of `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`
1112
+ * @link https://eips.ethereum.org/EIPS/eip-1474
1113
+ * @example
1114
+ * provider.request({ method: 'personal_sign', params: ['0x...', '0x...'] })
1115
+ * // => '0x...'
1116
+ */
1117
+ {
1118
+ Method: 'personal_sign';
1119
+ Parameters: [
901
1120
  /** Data to sign */
902
1121
  data: Hex,
903
1122
  /** Address to use for signing */
904
1123
  address: Address
905
1124
  ];
906
- }): Promise<Hex>;
907
- };
908
- export type WalletRequests = {
909
- request(args: {
910
- /**
911
- * @description Returns a list of addresses owned by this client
912
- * @link https://eips.ethereum.org/EIPS/eip-1474
913
- * @example
914
- * provider.request({ method: 'eth_accounts' })
915
- * // => ['0x0fB69...']
916
- * */
917
- method: 'eth_accounts';
918
- params?: never;
919
- }): Promise<Address[]>;
920
- request(args: {
921
- /**
922
- * @description Returns the current chain ID associated with the wallet.
923
- * @example
924
- * provider.request({ method: 'eth_chainId' })
925
- * // => '1'
926
- */
927
- method: 'eth_chainId';
928
- params?: never;
929
- }): Promise<Quantity>;
930
- request(args: {
931
- /**
932
- * @description Requests that the user provides an Ethereum address to be identified by. Typically causes a browser extension popup to appear.
933
- * @link https://eips.ethereum.org/EIPS/eip-1102
934
- * @example
935
- * provider.request({ method: 'eth_requestAccounts' })
936
- * // => ['0x...', '0x...']
937
- * */
938
- method: 'eth_requestAccounts';
939
- params?: never;
940
- }): Promise<Address[]>;
941
- request(args: {
942
- /**
943
- * @description Requests the given permissions from the user.
944
- * @link https://eips.ethereum.org/EIPS/eip-2255
945
- * @example
946
- * provider.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] })
947
- * // => { ... }
948
- * */
949
- method: 'wallet_requestPermissions';
950
- params: [permissions: {
1125
+ ReturnType: Hex;
1126
+ },
1127
+ /**
1128
+ * @description Add an Ethereum chain to the wallet.
1129
+ * @link https://eips.ethereum.org/EIPS/eip-3085
1130
+ * @example
1131
+ * provider.request({ method: 'wallet_addEthereumChain', params: [{ chainId: 1, rpcUrl: 'https://mainnet.infura.io/v3/...' }] })
1132
+ * // => { ... }
1133
+ */
1134
+ {
1135
+ Method: 'wallet_addEthereumChain';
1136
+ Parameters: [chain: AddEthereumChainParameter];
1137
+ ReturnType: null;
1138
+ },
1139
+ /**
1140
+ * @description Gets the wallets current permissions.
1141
+ * @link https://eips.ethereum.org/EIPS/eip-2255
1142
+ * @example
1143
+ * provider.request({ method: 'wallet_getPermissions' })
1144
+ * // => { ... }
1145
+ */
1146
+ {
1147
+ Method: 'wallet_getPermissions';
1148
+ Parameters?: never;
1149
+ ReturnType: WalletPermission[];
1150
+ },
1151
+ /**
1152
+ * @description Requests the given permissions from the user.
1153
+ * @link https://eips.ethereum.org/EIPS/eip-2255
1154
+ * @example
1155
+ * provider.request({ method: 'wallet_requestPermissions', params: [{ eth_accounts: {} }] })
1156
+ * // => { ... }
1157
+ */
1158
+ {
1159
+ Method: 'wallet_requestPermissions';
1160
+ Parameters: [permissions: {
951
1161
  eth_accounts: Record<string, any>;
952
1162
  }];
953
- }): Promise<WalletPermission[]>;
954
- request(args: {
955
- /**
956
- * @description Gets the wallets current permissions.
957
- * @link https://eips.ethereum.org/EIPS/eip-2255
958
- * @example
959
- * provider.request({ method: 'wallet_getPermissions' })
960
- * // => { ... }
961
- * */
962
- method: 'wallet_getPermissions';
963
- params?: never;
964
- }): Promise<WalletPermission[]>;
965
- request(args: {
966
- /**
967
- * @description Add an Ethereum chain to the wallet.
968
- * @link https://eips.ethereum.org/EIPS/eip-3085
969
- * @example
970
- * provider.request({ method: 'wallet_addEthereumChain', params: [{ chainId: 1, rpcUrl: 'https://mainnet.infura.io/v3/...' }] })
971
- * // => { ... }
972
- */
973
- method: 'wallet_addEthereumChain';
974
- params: [chain: Chain];
975
- }): Promise<null>;
976
- request(args: {
977
- /**
978
- * @description Switch the wallet to the given Ethereum chain.
979
- * @link https://eips.ethereum.org/EIPS/eip-3326
980
- * @example
981
- * provider.request({ method: 'wallet_switchEthereumChain', params: [{ chainId: '0xf00' }] })
982
- * // => { ... }
983
- * */
984
- method: 'wallet_switchEthereumChain';
985
- params: [chain: {
1163
+ ReturnType: WalletPermission[];
1164
+ },
1165
+ /**
1166
+ * @description Switch the wallet to the given Ethereum chain.
1167
+ * @link https://eips.ethereum.org/EIPS/eip-3326
1168
+ * @example
1169
+ * provider.request({ method: 'wallet_switchEthereumChain', params: [{ chainId: '0xf00' }] })
1170
+ * // => { ... }
1171
+ */
1172
+ {
1173
+ Method: 'wallet_switchEthereumChain';
1174
+ Parameters: [chain: {
986
1175
  chainId: string;
987
1176
  }];
988
- }): Promise<null>;
1177
+ ReturnType: null;
1178
+ },
989
1179
  /**
990
1180
  * @description Requests that the user tracks the token in their wallet. Returns a boolean indicating if the token was successfully added.
991
1181
  * @link https://eips.ethereum.org/EIPS/eip-747
992
1182
  * @example
993
1183
  * provider.request({ method: 'wallet_watchAsset' }] })
994
1184
  * // => true
995
- * */
996
- request(args: {
997
- method: 'wallet_watchAsset';
998
- params: WatchAssetParams;
999
- }): Promise<boolean>;
1185
+ */
1186
+ {
1187
+ Method: 'wallet_watchAsset';
1188
+ Parameters: WatchAssetParams;
1189
+ ReturnType: boolean;
1190
+ }
1191
+ ];
1192
+ export type RpcSchema = readonly {
1193
+ Method: string;
1194
+ Parameters?: unknown;
1195
+ ReturnType: unknown;
1196
+ }[];
1197
+ export type RpcSchemaOverride = Omit<RpcSchema[number], 'Method'>;
1198
+ export type EIP1193Parameters<TRpcSchema extends RpcSchema | undefined = undefined> = TRpcSchema extends RpcSchema ? {
1199
+ [K in keyof TRpcSchema]: Prettify<{
1200
+ method: TRpcSchema[K] extends TRpcSchema[number] ? TRpcSchema[K]['Method'] : never;
1201
+ } & (TRpcSchema[K] extends TRpcSchema[number] ? TRpcSchema[K]['Parameters'] extends undefined ? {
1202
+ params?: never;
1203
+ } : {
1204
+ params: TRpcSchema[K]['Parameters'];
1205
+ } : never)>;
1206
+ }[number] : {
1207
+ method: string;
1208
+ params?: unknown;
1000
1209
  };
1001
- export type Requests = PublicRequests & SignableRequests & WalletRequests;
1210
+ type DerivedRpcSchema<TRpcSchema extends RpcSchema | undefined, TRpcSchemaOverride extends RpcSchemaOverride | undefined> = TRpcSchemaOverride extends RpcSchemaOverride ? [TRpcSchemaOverride & {
1211
+ Method: string;
1212
+ }] : TRpcSchema;
1213
+ export type EIP1193RequestFn<TRpcSchema extends RpcSchema | undefined = undefined> = <TRpcSchemaOverride extends RpcSchemaOverride | undefined = undefined, TParameters extends EIP1193Parameters<DerivedRpcSchema<TRpcSchema, TRpcSchemaOverride>> = EIP1193Parameters<DerivedRpcSchema<TRpcSchema, TRpcSchemaOverride>>, _ReturnType = DerivedRpcSchema<TRpcSchema, TRpcSchemaOverride> extends RpcSchema ? Extract<DerivedRpcSchema<TRpcSchema, TRpcSchemaOverride>[number], {
1214
+ Method: TParameters['method'];
1215
+ }>['ReturnType'] : unknown>(args: TParameters) => Promise<_ReturnType>;
1216
+ export {};
1002
1217
  //# sourceMappingURL=eip1193.d.ts.map