viem 0.0.0-tsc-and-nodenext-20230405154910 → 0.0.0-w-20230711200108

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