viem 2.17.11 → 2.18.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (470) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/_cjs/account-abstraction/accounts/createWebAuthnCredential.js +6 -0
  3. package/_cjs/account-abstraction/accounts/createWebAuthnCredential.js.map +1 -0
  4. package/_cjs/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js +688 -0
  5. package/_cjs/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map +1 -0
  6. package/_cjs/account-abstraction/accounts/implementations/toSoladySmartAccount.js +704 -0
  7. package/_cjs/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map +1 -0
  8. package/_cjs/account-abstraction/accounts/toSmartAccount.js +93 -0
  9. package/_cjs/account-abstraction/accounts/toSmartAccount.js.map +1 -0
  10. package/_cjs/account-abstraction/accounts/toWebAuthnAccount.js +24 -0
  11. package/_cjs/account-abstraction/accounts/toWebAuthnAccount.js.map +1 -0
  12. package/_cjs/account-abstraction/accounts/types.js +3 -0
  13. package/_cjs/account-abstraction/accounts/types.js.map +1 -0
  14. package/_cjs/account-abstraction/actions/bundler/estimateUserOperationGas.js +37 -0
  15. package/_cjs/account-abstraction/actions/bundler/estimateUserOperationGas.js.map +1 -0
  16. package/_cjs/account-abstraction/actions/bundler/getSupportedEntryPoints.js +7 -0
  17. package/_cjs/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map +1 -0
  18. package/_cjs/account-abstraction/actions/bundler/getUserOperation.js +22 -0
  19. package/_cjs/account-abstraction/actions/bundler/getUserOperation.js.map +1 -0
  20. package/_cjs/account-abstraction/actions/bundler/getUserOperationReceipt.js +15 -0
  21. package/_cjs/account-abstraction/actions/bundler/getUserOperationReceipt.js.map +1 -0
  22. package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js +239 -0
  23. package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -0
  24. package/_cjs/account-abstraction/actions/bundler/sendUserOperation.js +36 -0
  25. package/_cjs/account-abstraction/actions/bundler/sendUserOperation.js.map +1 -0
  26. package/_cjs/account-abstraction/actions/bundler/waitForUserOperationReceipt.js +48 -0
  27. package/_cjs/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  28. package/_cjs/account-abstraction/actions/paymaster/getPaymasterData.js +34 -0
  29. package/_cjs/account-abstraction/actions/paymaster/getPaymasterData.js.map +1 -0
  30. package/_cjs/account-abstraction/actions/paymaster/getPaymasterStubData.js +34 -0
  31. package/_cjs/account-abstraction/actions/paymaster/getPaymasterStubData.js.map +1 -0
  32. package/_cjs/account-abstraction/clients/createBundlerClient.js +18 -0
  33. package/_cjs/account-abstraction/clients/createBundlerClient.js.map +1 -0
  34. package/_cjs/account-abstraction/clients/createPaymasterClient.js +17 -0
  35. package/_cjs/account-abstraction/clients/createPaymasterClient.js.map +1 -0
  36. package/_cjs/account-abstraction/clients/decorators/bundler.js +24 -0
  37. package/_cjs/account-abstraction/clients/decorators/bundler.js.map +1 -0
  38. package/_cjs/account-abstraction/clients/decorators/paymaster.js +12 -0
  39. package/_cjs/account-abstraction/clients/decorators/paymaster.js.map +1 -0
  40. package/_cjs/account-abstraction/constants/abis.js +1318 -0
  41. package/_cjs/account-abstraction/constants/abis.js.map +1 -0
  42. package/_cjs/account-abstraction/constants/address.js +6 -0
  43. package/_cjs/account-abstraction/constants/address.js.map +1 -0
  44. package/_cjs/account-abstraction/errors/bundler.js +813 -0
  45. package/_cjs/account-abstraction/errors/bundler.js.map +1 -0
  46. package/_cjs/account-abstraction/errors/userOperation.js +91 -0
  47. package/_cjs/account-abstraction/errors/userOperation.js.map +1 -0
  48. package/_cjs/account-abstraction/index.js +90 -0
  49. package/_cjs/account-abstraction/index.js.map +1 -0
  50. package/_cjs/account-abstraction/types/account.js +3 -0
  51. package/_cjs/account-abstraction/types/account.js.map +1 -0
  52. package/_cjs/account-abstraction/types/entryPointVersion.js +3 -0
  53. package/_cjs/account-abstraction/types/entryPointVersion.js.map +1 -0
  54. package/_cjs/account-abstraction/types/rpc.js +3 -0
  55. package/_cjs/account-abstraction/types/rpc.js.map +1 -0
  56. package/_cjs/account-abstraction/types/userOperation.js +3 -0
  57. package/_cjs/account-abstraction/types/userOperation.js.map +1 -0
  58. package/_cjs/account-abstraction/utils/errors/getBundlerError.js +186 -0
  59. package/_cjs/account-abstraction/utils/errors/getBundlerError.js.map +1 -0
  60. package/_cjs/account-abstraction/utils/errors/getUserOperationError.js +87 -0
  61. package/_cjs/account-abstraction/utils/errors/getUserOperationError.js.map +1 -0
  62. package/_cjs/account-abstraction/utils/formatters/userOperation.js +24 -0
  63. package/_cjs/account-abstraction/utils/formatters/userOperation.js.map +1 -0
  64. package/_cjs/account-abstraction/utils/formatters/userOperationGas.js +18 -0
  65. package/_cjs/account-abstraction/utils/formatters/userOperationGas.js.map +1 -0
  66. package/_cjs/account-abstraction/utils/formatters/userOperationReceipt.js +18 -0
  67. package/_cjs/account-abstraction/utils/formatters/userOperationReceipt.js.map +1 -0
  68. package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js +43 -0
  69. package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -0
  70. package/_cjs/account-abstraction/utils/userOperation/getUserOperationHash.js +88 -0
  71. package/_cjs/account-abstraction/utils/userOperation/getUserOperationHash.js.map +1 -0
  72. package/_cjs/account-abstraction/utils/userOperation/toPackedUserOperation.js +44 -0
  73. package/_cjs/account-abstraction/utils/userOperation/toPackedUserOperation.js.map +1 -0
  74. package/_cjs/accounts/index.js.map +1 -1
  75. package/_cjs/accounts/privateKeyToAccount.js +4 -0
  76. package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
  77. package/_cjs/accounts/toAccount.js +1 -0
  78. package/_cjs/accounts/toAccount.js.map +1 -1
  79. package/_cjs/accounts/utils/parseAccount.js.map +1 -1
  80. package/_cjs/accounts/utils/sign.js +8 -2
  81. package/_cjs/accounts/utils/sign.js.map +1 -1
  82. package/_cjs/accounts/utils/signMessage.js +1 -3
  83. package/_cjs/accounts/utils/signMessage.js.map +1 -1
  84. package/_cjs/accounts/utils/signTypedData.js +2 -3
  85. package/_cjs/accounts/utils/signTypedData.js.map +1 -1
  86. package/_cjs/actions/public/getLogs.js +2 -1
  87. package/_cjs/actions/public/getLogs.js.map +1 -1
  88. package/_cjs/actions/wallet/sendTransaction.js +35 -22
  89. package/_cjs/actions/wallet/sendTransaction.js.map +1 -1
  90. package/_cjs/actions/wallet/signMessage.js +1 -1
  91. package/_cjs/actions/wallet/signMessage.js.map +1 -1
  92. package/_cjs/actions/wallet/signTransaction.js +1 -2
  93. package/_cjs/actions/wallet/signTransaction.js.map +1 -1
  94. package/_cjs/actions/wallet/signTypedData.js +1 -1
  95. package/_cjs/actions/wallet/signTypedData.js.map +1 -1
  96. package/_cjs/chains/definitions/bobaSepolia.js +1 -0
  97. package/_cjs/chains/definitions/bobaSepolia.js.map +1 -1
  98. package/_cjs/chains/definitions/cronoszkEVMTestnet.js +24 -0
  99. package/_cjs/chains/definitions/cronoszkEVMTestnet.js.map +1 -0
  100. package/_cjs/chains/index.js +8 -6
  101. package/_cjs/chains/index.js.map +1 -1
  102. package/_cjs/constants/abis.js +0 -3
  103. package/_cjs/constants/abis.js.map +1 -1
  104. package/_cjs/constants/address.js +3 -1
  105. package/_cjs/constants/address.js.map +1 -1
  106. package/_cjs/errors/account.js +17 -2
  107. package/_cjs/errors/account.js.map +1 -1
  108. package/_cjs/errors/contract.js +1 -1
  109. package/_cjs/errors/contract.js.map +1 -1
  110. package/_cjs/errors/rpc.js +6 -6
  111. package/_cjs/errors/rpc.js.map +1 -1
  112. package/_cjs/errors/version.js +1 -1
  113. package/_cjs/errors/version.js.map +1 -1
  114. package/_cjs/index.js +5 -3
  115. package/_cjs/index.js.map +1 -1
  116. package/_cjs/types/eip1193.js.map +1 -1
  117. package/_cjs/utils/abi/parseEventLogs.js +70 -2
  118. package/_cjs/utils/abi/parseEventLogs.js.map +1 -1
  119. package/_cjs/utils/buildRequest.js +4 -2
  120. package/_cjs/utils/buildRequest.js.map +1 -1
  121. package/_cjs/utils/errors/getNodeError.js +1 -2
  122. package/_cjs/utils/errors/getNodeError.js.map +1 -1
  123. package/_cjs/utils/index.js +3 -1
  124. package/_cjs/utils/index.js.map +1 -1
  125. package/_cjs/utils/signature/serializeErc6492Signature.js +6 -2
  126. package/_cjs/utils/signature/serializeErc6492Signature.js.map +1 -1
  127. package/_cjs/utils/signature/serializeSignature.js +6 -2
  128. package/_cjs/utils/signature/serializeSignature.js.map +1 -1
  129. package/_cjs/utils/signature/verifyHash.js +10 -0
  130. package/_cjs/utils/signature/verifyHash.js.map +1 -0
  131. package/_esm/account-abstraction/accounts/createWebAuthnCredential.js +3 -0
  132. package/_esm/account-abstraction/accounts/createWebAuthnCredential.js.map +1 -0
  133. package/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js +709 -0
  134. package/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map +1 -0
  135. package/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js +718 -0
  136. package/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map +1 -0
  137. package/_esm/account-abstraction/accounts/toSmartAccount.js +96 -0
  138. package/_esm/account-abstraction/accounts/toSmartAccount.js.map +1 -0
  139. package/_esm/account-abstraction/accounts/toWebAuthnAccount.js +26 -0
  140. package/_esm/account-abstraction/accounts/toWebAuthnAccount.js.map +1 -0
  141. package/_esm/account-abstraction/accounts/types.js +2 -0
  142. package/_esm/account-abstraction/accounts/types.js.map +1 -0
  143. package/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js +61 -0
  144. package/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js.map +1 -0
  145. package/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js +25 -0
  146. package/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map +1 -0
  147. package/_esm/account-abstraction/actions/bundler/getUserOperation.js +42 -0
  148. package/_esm/account-abstraction/actions/bundler/getUserOperation.js.map +1 -0
  149. package/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js +35 -0
  150. package/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js.map +1 -0
  151. package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js +323 -0
  152. package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -0
  153. package/_esm/account-abstraction/actions/bundler/sendUserOperation.js +60 -0
  154. package/_esm/account-abstraction/actions/bundler/sendUserOperation.js.map +1 -0
  155. package/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js +68 -0
  156. package/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  157. package/_esm/account-abstraction/actions/paymaster/getPaymasterData.js +56 -0
  158. package/_esm/account-abstraction/actions/paymaster/getPaymasterData.js.map +1 -0
  159. package/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js +56 -0
  160. package/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js.map +1 -0
  161. package/_esm/account-abstraction/clients/createBundlerClient.js +15 -0
  162. package/_esm/account-abstraction/clients/createBundlerClient.js.map +1 -0
  163. package/_esm/account-abstraction/clients/createPaymasterClient.js +14 -0
  164. package/_esm/account-abstraction/clients/createPaymasterClient.js.map +1 -0
  165. package/_esm/account-abstraction/clients/decorators/bundler.js +21 -0
  166. package/_esm/account-abstraction/clients/decorators/bundler.js.map +1 -0
  167. package/_esm/account-abstraction/clients/decorators/paymaster.js +9 -0
  168. package/_esm/account-abstraction/clients/decorators/paymaster.js.map +1 -0
  169. package/_esm/account-abstraction/constants/abis.js +1315 -0
  170. package/_esm/account-abstraction/constants/abis.js.map +1 -0
  171. package/_esm/account-abstraction/constants/address.js +3 -0
  172. package/_esm/account-abstraction/constants/address.js.map +1 -0
  173. package/_esm/account-abstraction/errors/bundler.js +774 -0
  174. package/_esm/account-abstraction/errors/bundler.js.map +1 -0
  175. package/_esm/account-abstraction/errors/userOperation.js +84 -0
  176. package/_esm/account-abstraction/errors/userOperation.js.map +1 -0
  177. package/_esm/account-abstraction/index.js +31 -0
  178. package/_esm/account-abstraction/index.js.map +1 -0
  179. package/_esm/account-abstraction/types/account.js +2 -0
  180. package/_esm/account-abstraction/types/account.js.map +1 -0
  181. package/_esm/account-abstraction/types/entryPointVersion.js +2 -0
  182. package/_esm/account-abstraction/types/entryPointVersion.js.map +1 -0
  183. package/_esm/account-abstraction/types/rpc.js +2 -0
  184. package/_esm/account-abstraction/types/rpc.js.map +1 -0
  185. package/_esm/account-abstraction/types/userOperation.js +2 -0
  186. package/_esm/account-abstraction/types/userOperation.js.map +1 -0
  187. package/_esm/account-abstraction/utils/errors/getBundlerError.js +183 -0
  188. package/_esm/account-abstraction/utils/errors/getBundlerError.js.map +1 -0
  189. package/_esm/account-abstraction/utils/errors/getUserOperationError.js +85 -0
  190. package/_esm/account-abstraction/utils/errors/getUserOperationError.js.map +1 -0
  191. package/_esm/account-abstraction/utils/formatters/userOperation.js +21 -0
  192. package/_esm/account-abstraction/utils/formatters/userOperation.js.map +1 -0
  193. package/_esm/account-abstraction/utils/formatters/userOperationGas.js +15 -0
  194. package/_esm/account-abstraction/utils/formatters/userOperationGas.js.map +1 -0
  195. package/_esm/account-abstraction/utils/formatters/userOperationReceipt.js +15 -0
  196. package/_esm/account-abstraction/utils/formatters/userOperationReceipt.js.map +1 -0
  197. package/_esm/account-abstraction/utils/formatters/userOperationRequest.js +40 -0
  198. package/_esm/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -0
  199. package/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js +85 -0
  200. package/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js.map +1 -0
  201. package/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js +41 -0
  202. package/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js.map +1 -0
  203. package/_esm/accounts/index.js.map +1 -1
  204. package/_esm/accounts/privateKeyToAccount.js +4 -0
  205. package/_esm/accounts/privateKeyToAccount.js.map +1 -1
  206. package/_esm/accounts/toAccount.js +2 -0
  207. package/_esm/accounts/toAccount.js.map +1 -1
  208. package/_esm/accounts/utils/parseAccount.js.map +1 -1
  209. package/_esm/accounts/utils/sign.js +9 -3
  210. package/_esm/accounts/utils/sign.js.map +1 -1
  211. package/_esm/accounts/utils/signMessage.js +1 -3
  212. package/_esm/accounts/utils/signMessage.js.map +1 -1
  213. package/_esm/accounts/utils/signTypedData.js +2 -3
  214. package/_esm/accounts/utils/signTypedData.js.map +1 -1
  215. package/_esm/actions/public/getLogs.js +2 -1
  216. package/_esm/actions/public/getLogs.js.map +1 -1
  217. package/_esm/actions/wallet/sendTransaction.js +37 -24
  218. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  219. package/_esm/actions/wallet/signMessage.js +1 -1
  220. package/_esm/actions/wallet/signMessage.js.map +1 -1
  221. package/_esm/actions/wallet/signTransaction.js +1 -2
  222. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  223. package/_esm/actions/wallet/signTypedData.js +1 -1
  224. package/_esm/actions/wallet/signTypedData.js.map +1 -1
  225. package/_esm/chains/definitions/bobaSepolia.js +1 -0
  226. package/_esm/chains/definitions/bobaSepolia.js.map +1 -1
  227. package/_esm/chains/definitions/cronoszkEVMTestnet.js +21 -0
  228. package/_esm/chains/definitions/cronoszkEVMTestnet.js.map +1 -0
  229. package/_esm/chains/index.js +1 -0
  230. package/_esm/chains/index.js.map +1 -1
  231. package/_esm/constants/abis.js +0 -3
  232. package/_esm/constants/abis.js.map +1 -1
  233. package/_esm/constants/address.js +2 -0
  234. package/_esm/constants/address.js.map +1 -1
  235. package/_esm/errors/account.js +15 -1
  236. package/_esm/errors/account.js.map +1 -1
  237. package/_esm/errors/contract.js +1 -1
  238. package/_esm/errors/contract.js.map +1 -1
  239. package/_esm/errors/rpc.js +6 -6
  240. package/_esm/errors/rpc.js.map +1 -1
  241. package/_esm/errors/version.js +1 -1
  242. package/_esm/errors/version.js.map +1 -1
  243. package/_esm/index.js +1 -0
  244. package/_esm/index.js.map +1 -1
  245. package/_esm/types/eip1193.js.map +1 -1
  246. package/_esm/utils/abi/parseEventLogs.js +72 -2
  247. package/_esm/utils/abi/parseEventLogs.js.map +1 -1
  248. package/_esm/utils/buildRequest.js +4 -2
  249. package/_esm/utils/buildRequest.js.map +1 -1
  250. package/_esm/utils/errors/getNodeError.js +1 -2
  251. package/_esm/utils/errors/getNodeError.js.map +1 -1
  252. package/_esm/utils/index.js +1 -0
  253. package/_esm/utils/index.js.map +1 -1
  254. package/_esm/utils/signature/serializeErc6492Signature.js +6 -2
  255. package/_esm/utils/signature/serializeErc6492Signature.js.map +1 -1
  256. package/_esm/utils/signature/serializeSignature.js +6 -2
  257. package/_esm/utils/signature/serializeSignature.js.map +1 -1
  258. package/_esm/utils/signature/verifyHash.js +19 -0
  259. package/_esm/utils/signature/verifyHash.js.map +1 -0
  260. package/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts +2 -0
  261. package/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts.map +1 -0
  262. package/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts +648 -0
  263. package/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts.map +1 -0
  264. package/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts +464 -0
  265. package/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts.map +1 -0
  266. package/_types/account-abstraction/accounts/toSmartAccount.d.ts +14 -0
  267. package/_types/account-abstraction/accounts/toSmartAccount.d.ts.map +1 -0
  268. package/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts +32 -0
  269. package/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts.map +1 -0
  270. package/_types/account-abstraction/accounts/types.d.ts +174 -0
  271. package/_types/account-abstraction/accounts/types.d.ts.map +1 -0
  272. package/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts +62 -0
  273. package/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
  274. package/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts +30 -0
  275. package/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts.map +1 -0
  276. package/_types/account-abstraction/actions/bundler/getUserOperation.d.ts +57 -0
  277. package/_types/account-abstraction/actions/bundler/getUserOperation.d.ts.map +1 -0
  278. package/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts +39 -0
  279. package/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
  280. package/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts +106 -0
  281. package/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts.map +1 -0
  282. package/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts +60 -0
  283. package/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts.map +1 -0
  284. package/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts +52 -0
  285. package/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts.map +1 -0
  286. package/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts +49 -0
  287. package/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts.map +1 -0
  288. package/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts +55 -0
  289. package/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts.map +1 -0
  290. package/_types/account-abstraction/clients/createBundlerClient.d.ts +66 -0
  291. package/_types/account-abstraction/clients/createBundlerClient.d.ts.map +1 -0
  292. package/_types/account-abstraction/clients/createPaymasterClient.d.ts +27 -0
  293. package/_types/account-abstraction/clients/createPaymasterClient.d.ts.map +1 -0
  294. package/_types/account-abstraction/clients/decorators/bundler.d.ts +206 -0
  295. package/_types/account-abstraction/clients/decorators/bundler.d.ts.map +1 -0
  296. package/_types/account-abstraction/clients/decorators/paymaster.d.ts +60 -0
  297. package/_types/account-abstraction/clients/decorators/paymaster.d.ts.map +1 -0
  298. package/_types/account-abstraction/constants/abis.d.ts +1468 -0
  299. package/_types/account-abstraction/constants/abis.d.ts.map +1 -0
  300. package/_types/account-abstraction/constants/address.d.ts +3 -0
  301. package/_types/account-abstraction/constants/address.d.ts.map +1 -0
  302. package/_types/account-abstraction/errors/bundler.d.ts +391 -0
  303. package/_types/account-abstraction/errors/bundler.d.ts.map +1 -0
  304. package/_types/account-abstraction/errors/userOperation.d.ts +41 -0
  305. package/_types/account-abstraction/errors/userOperation.d.ts.map +1 -0
  306. package/_types/account-abstraction/index.d.ts +34 -0
  307. package/_types/account-abstraction/index.d.ts.map +1 -0
  308. package/_types/account-abstraction/types/account.d.ts +11 -0
  309. package/_types/account-abstraction/types/account.d.ts.map +1 -0
  310. package/_types/account-abstraction/types/entryPointVersion.d.ts +9 -0
  311. package/_types/account-abstraction/types/entryPointVersion.d.ts.map +1 -0
  312. package/_types/account-abstraction/types/rpc.d.ts +9 -0
  313. package/_types/account-abstraction/types/rpc.d.ts.map +1 -0
  314. package/_types/account-abstraction/types/userOperation.d.ts +157 -0
  315. package/_types/account-abstraction/types/userOperation.d.ts.map +1 -0
  316. package/_types/account-abstraction/utils/errors/getBundlerError.d.ts +8 -0
  317. package/_types/account-abstraction/utils/errors/getBundlerError.d.ts.map +1 -0
  318. package/_types/account-abstraction/utils/errors/getUserOperationError.d.ts +15 -0
  319. package/_types/account-abstraction/utils/errors/getUserOperationError.d.ts.map +1 -0
  320. package/_types/account-abstraction/utils/formatters/userOperation.d.ts +6 -0
  321. package/_types/account-abstraction/utils/formatters/userOperation.d.ts.map +1 -0
  322. package/_types/account-abstraction/utils/formatters/userOperationGas.d.ts +6 -0
  323. package/_types/account-abstraction/utils/formatters/userOperationGas.d.ts.map +1 -0
  324. package/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts +6 -0
  325. package/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts.map +1 -0
  326. package/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts +7 -0
  327. package/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts.map +1 -0
  328. package/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts +13 -0
  329. package/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts.map +1 -0
  330. package/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts +3 -0
  331. package/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts.map +1 -0
  332. package/_types/accounts/index.d.ts.map +1 -1
  333. package/_types/accounts/privateKeyToAccount.d.ts +2 -1
  334. package/_types/accounts/privateKeyToAccount.d.ts.map +1 -1
  335. package/_types/accounts/toAccount.d.ts.map +1 -1
  336. package/_types/accounts/types.d.ts +14 -7
  337. package/_types/accounts/types.d.ts.map +1 -1
  338. package/_types/accounts/utils/parseAccount.d.ts +1 -1
  339. package/_types/accounts/utils/parseAccount.d.ts.map +1 -1
  340. package/_types/accounts/utils/sign.d.ts +9 -6
  341. package/_types/accounts/utils/sign.d.ts.map +1 -1
  342. package/_types/accounts/utils/signMessage.d.ts +1 -2
  343. package/_types/accounts/utils/signMessage.d.ts.map +1 -1
  344. package/_types/accounts/utils/signTypedData.d.ts +1 -2
  345. package/_types/accounts/utils/signTypedData.d.ts.map +1 -1
  346. package/_types/actions/public/getLogs.d.ts.map +1 -1
  347. package/_types/actions/wallet/sendTransaction.d.ts +2 -1
  348. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  349. package/_types/actions/wallet/signMessage.d.ts.map +1 -1
  350. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  351. package/_types/chains/definitions/bobaSepolia.d.ts +1 -1
  352. package/_types/chains/definitions/bobaSepolia.d.ts.map +1 -1
  353. package/_types/chains/definitions/cronoszkEVMTestnet.d.ts +35 -0
  354. package/_types/chains/definitions/cronoszkEVMTestnet.d.ts.map +1 -0
  355. package/_types/chains/definitions/lisk.d.ts +2 -2
  356. package/_types/chains/definitions/playfiAlbireo.d.ts +2 -2
  357. package/_types/chains/definitions/zkSync.d.ts +2 -2
  358. package/_types/chains/definitions/zkSyncInMemoryNode.d.ts +2 -2
  359. package/_types/chains/definitions/zkSyncLocalNode.d.ts +2 -2
  360. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +2 -2
  361. package/_types/chains/definitions/zkSyncTestnet.d.ts +2 -2
  362. package/_types/chains/index.d.ts +1 -0
  363. package/_types/chains/index.d.ts.map +1 -1
  364. package/_types/clients/decorators/public.d.ts +1 -1
  365. package/_types/clients/decorators/public.d.ts.map +1 -1
  366. package/_types/constants/abis.d.ts +0 -3
  367. package/_types/constants/abis.d.ts.map +1 -1
  368. package/_types/constants/address.d.ts +2 -0
  369. package/_types/constants/address.d.ts.map +1 -1
  370. package/_types/errors/account.d.ts +11 -0
  371. package/_types/errors/account.d.ts.map +1 -1
  372. package/_types/errors/rpc.d.ts +9 -3
  373. package/_types/errors/rpc.d.ts.map +1 -1
  374. package/_types/errors/version.d.ts +1 -1
  375. package/_types/errors/version.d.ts.map +1 -1
  376. package/_types/index.d.ts +5 -3
  377. package/_types/index.d.ts.map +1 -1
  378. package/_types/types/eip1193.d.ts +239 -2
  379. package/_types/types/eip1193.d.ts.map +1 -1
  380. package/_types/types/multicall.d.ts +1 -1
  381. package/_types/types/multicall.d.ts.map +1 -1
  382. package/_types/utils/abi/parseEventLogs.d.ts +9 -3
  383. package/_types/utils/abi/parseEventLogs.d.ts.map +1 -1
  384. package/_types/utils/buildRequest.d.ts.map +1 -1
  385. package/_types/utils/errors/getNodeError.d.ts.map +1 -1
  386. package/_types/utils/formatters/transaction.d.ts +1 -1
  387. package/_types/utils/index.d.ts +1 -0
  388. package/_types/utils/index.d.ts.map +1 -1
  389. package/_types/utils/signature/hashTypedData.d.ts +2 -2
  390. package/_types/utils/signature/hashTypedData.d.ts.map +1 -1
  391. package/_types/utils/signature/serializeErc6492Signature.d.ts +7 -4
  392. package/_types/utils/signature/serializeErc6492Signature.d.ts.map +1 -1
  393. package/_types/utils/signature/serializeSignature.d.ts +8 -2
  394. package/_types/utils/signature/serializeSignature.d.ts.map +1 -1
  395. package/_types/utils/signature/verifyHash.d.ts +30 -0
  396. package/_types/utils/signature/verifyHash.d.ts.map +1 -0
  397. package/_types/zksync/chainConfig.d.ts +2 -2
  398. package/_types/zksync/formatters.d.ts +2 -2
  399. package/account-abstraction/accounts/createWebAuthnCredential.ts +7 -0
  400. package/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.ts +817 -0
  401. package/account-abstraction/accounts/implementations/toSoladySmartAccount.ts +794 -0
  402. package/account-abstraction/accounts/toSmartAccount.ts +126 -0
  403. package/account-abstraction/accounts/toWebAuthnAccount.ts +56 -0
  404. package/account-abstraction/accounts/types.ts +208 -0
  405. package/account-abstraction/actions/bundler/estimateUserOperationGas.ts +170 -0
  406. package/account-abstraction/actions/bundler/getSupportedEntryPoints.ts +33 -0
  407. package/account-abstraction/actions/bundler/getUserOperation.ts +85 -0
  408. package/account-abstraction/actions/bundler/getUserOperationReceipt.ts +64 -0
  409. package/account-abstraction/actions/bundler/prepareUserOperation.ts +637 -0
  410. package/account-abstraction/actions/bundler/sendUserOperation.ts +149 -0
  411. package/account-abstraction/actions/bundler/waitForUserOperationReceipt.ts +139 -0
  412. package/account-abstraction/actions/paymaster/getPaymasterData.ts +135 -0
  413. package/account-abstraction/actions/paymaster/getPaymasterStubData.ts +138 -0
  414. package/account-abstraction/clients/createBundlerClient.ts +155 -0
  415. package/account-abstraction/clients/createPaymasterClient.ts +78 -0
  416. package/account-abstraction/clients/decorators/bundler.ts +296 -0
  417. package/account-abstraction/clients/decorators/paymaster.ts +81 -0
  418. package/account-abstraction/constants/abis.ts +1404 -0
  419. package/account-abstraction/constants/address.ts +4 -0
  420. package/account-abstraction/errors/bundler.ts +781 -0
  421. package/account-abstraction/errors/userOperation.ts +111 -0
  422. package/account-abstraction/index.ts +228 -0
  423. package/account-abstraction/package.json +6 -0
  424. package/account-abstraction/types/account.ts +21 -0
  425. package/account-abstraction/types/entryPointVersion.ts +24 -0
  426. package/account-abstraction/types/rpc.ts +29 -0
  427. package/account-abstraction/types/userOperation.ts +262 -0
  428. package/account-abstraction/utils/errors/getBundlerError.ts +309 -0
  429. package/account-abstraction/utils/errors/getUserOperationError.ts +153 -0
  430. package/account-abstraction/utils/formatters/userOperation.ts +31 -0
  431. package/account-abstraction/utils/formatters/userOperationGas.ts +26 -0
  432. package/account-abstraction/utils/formatters/userOperationReceipt.ts +24 -0
  433. package/account-abstraction/utils/formatters/userOperationRequest.ts +53 -0
  434. package/account-abstraction/utils/userOperation/getUserOperationHash.ts +138 -0
  435. package/account-abstraction/utils/userOperation/toPackedUserOperation.ts +64 -0
  436. package/accounts/index.ts +1 -0
  437. package/accounts/privateKeyToAccount.ts +5 -0
  438. package/accounts/toAccount.ts +3 -0
  439. package/accounts/types.ts +34 -12
  440. package/accounts/utils/parseAccount.ts +6 -3
  441. package/accounts/utils/sign.ts +24 -8
  442. package/accounts/utils/signMessage.ts +1 -7
  443. package/accounts/utils/signTypedData.ts +2 -7
  444. package/actions/public/getLogs.ts +2 -1
  445. package/actions/wallet/sendTransaction.ts +48 -27
  446. package/actions/wallet/signMessage.ts +2 -1
  447. package/actions/wallet/signTransaction.ts +1 -2
  448. package/actions/wallet/signTypedData.ts +1 -1
  449. package/chains/definitions/bobaSepolia.ts +1 -0
  450. package/chains/definitions/cronoszkEVMTestnet.ts +21 -0
  451. package/chains/index.ts +1 -0
  452. package/clients/decorators/public.ts +1 -1
  453. package/constants/abis.ts +0 -3
  454. package/constants/address.ts +4 -0
  455. package/errors/account.ts +22 -1
  456. package/errors/contract.ts +1 -1
  457. package/errors/rpc.ts +6 -6
  458. package/errors/version.ts +1 -1
  459. package/index.ts +20 -3
  460. package/package.json +7 -1
  461. package/types/eip1193.ts +314 -2
  462. package/types/multicall.ts +1 -1
  463. package/utils/abi/parseEventLogs.ts +103 -14
  464. package/utils/buildRequest.ts +4 -2
  465. package/utils/errors/getNodeError.ts +1 -2
  466. package/utils/index.ts +6 -0
  467. package/utils/signature/hashTypedData.ts +6 -6
  468. package/utils/signature/serializeErc6492Signature.ts +17 -8
  469. package/utils/signature/serializeSignature.ts +24 -4
  470. package/utils/signature/verifyHash.ts +54 -0
@@ -945,7 +945,7 @@ export type PublicActions<
945
945
  type extends FeeValuesType = 'eip1559',
946
946
  >(
947
947
  args?: EstimateFeesPerGasParameters<chain, chainOverride, type> | undefined,
948
- ) => Promise<EstimateFeesPerGasReturnType>
948
+ ) => Promise<EstimateFeesPerGasReturnType<type>>
949
949
  /**
950
950
  * Returns a list of logs or hashes based on a [Filter](/docs/glossary/terms#filter) since the last time it was called.
951
951
  *
package/constants/abis.ts CHANGED
@@ -209,17 +209,14 @@ export const universalSignatureValidatorAbi = [
209
209
  {
210
210
  inputs: [
211
211
  {
212
- internalType: 'address',
213
212
  name: '_signer',
214
213
  type: 'address',
215
214
  },
216
215
  {
217
- internalType: 'bytes32',
218
216
  name: '_hash',
219
217
  type: 'bytes32',
220
218
  },
221
219
  {
222
- internalType: 'bytes',
223
220
  name: '_signature',
224
221
  type: 'bytes',
225
222
  },
@@ -1 +1,5 @@
1
+ export const entryPoint06Address =
2
+ '0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789' as const
3
+ export const entryPoint07Address =
4
+ '0x0000000071727De22E5E9d8BAf0edAc6f37da032' as const
1
5
  export const zeroAddress = '0x0000000000000000000000000000000000000000' as const
package/errors/account.ts CHANGED
@@ -9,7 +9,7 @@ export class AccountNotFoundError extends BaseError {
9
9
  super(
10
10
  [
11
11
  'Could not find an Account to execute with this Action.',
12
- 'Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the WalletClient.',
12
+ 'Please provide an Account with the `account` argument on the Action, or by supplying an `account` to the Client.',
13
13
  ].join('\n'),
14
14
  {
15
15
  docsPath,
@@ -18,3 +18,24 @@ export class AccountNotFoundError extends BaseError {
18
18
  )
19
19
  }
20
20
  }
21
+
22
+ export type AccountTypeNotSupportedErrorType = AccountTypeNotSupportedError & {
23
+ name: 'AccountTypeNotSupportedError'
24
+ }
25
+ export class AccountTypeNotSupportedError extends BaseError {
26
+ override name = 'AccountTypeNotSupportedError'
27
+ constructor({
28
+ docsPath,
29
+ metaMessages,
30
+ type,
31
+ }: {
32
+ docsPath?: string | undefined
33
+ metaMessages?: string[] | undefined
34
+ type: string
35
+ }) {
36
+ super(`Account type "${type}" is not supported.`, {
37
+ docsPath,
38
+ metaMessages,
39
+ })
40
+ }
41
+ }
@@ -152,7 +152,7 @@ export class ContractFunctionExecutionError extends BaseError {
152
152
  docsPath,
153
153
  metaMessages: [
154
154
  ...(cause.metaMessages ? [...cause.metaMessages, ' '] : []),
155
- 'Contract Call:',
155
+ prettyArgs && 'Contract Call:',
156
156
  prettyArgs,
157
157
  ].filter(Boolean) as string[],
158
158
  },
package/errors/rpc.ts CHANGED
@@ -148,10 +148,10 @@ export class MethodNotFoundRpcError extends RpcError {
148
148
  override name = 'MethodNotFoundRpcError'
149
149
  static code = -32601 as const
150
150
 
151
- constructor(cause: Error) {
151
+ constructor(cause: Error, { method }: { method?: string } = {}) {
152
152
  super(cause, {
153
153
  code: MethodNotFoundRpcError.code,
154
- shortMessage: 'The method does not exist / is not available.',
154
+ shortMessage: `The method${method ? ` "${method}"` : ''} does not exist / is not available.`,
155
155
  })
156
156
  }
157
157
  }
@@ -301,10 +301,10 @@ export class MethodNotSupportedRpcError extends RpcError {
301
301
  override name = 'MethodNotSupportedRpcError'
302
302
  static code = -32004 as const
303
303
 
304
- constructor(cause: Error) {
304
+ constructor(cause: Error, { method }: { method?: string } = {}) {
305
305
  super(cause, {
306
306
  code: MethodNotSupportedRpcError.code,
307
- shortMessage: 'Method is not implemented.',
307
+ shortMessage: `Method${method ? ` "${method}"` : ''} is not implemented.`,
308
308
  })
309
309
  }
310
310
  }
@@ -409,10 +409,10 @@ export class UnsupportedProviderMethodError extends ProviderRpcError {
409
409
  override name = 'UnsupportedProviderMethodError'
410
410
  static code = 4200 as const
411
411
 
412
- constructor(cause: Error) {
412
+ constructor(cause: Error, { method }: { method?: string } = {}) {
413
413
  super(cause, {
414
414
  code: UnsupportedProviderMethodError.code,
415
- shortMessage: 'The Provider does not support the requested method.',
415
+ shortMessage: `The Provider does not support the requested method${method ? ` " ${method}"` : ''}.`,
416
416
  })
417
417
  }
418
418
  }
package/errors/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.17.11'
1
+ export const version = '2.18.1'
package/index.ts CHANGED
@@ -439,9 +439,9 @@ export type {
439
439
  WatchAssetReturnType,
440
440
  } from './actions/wallet/watchAsset.js'
441
441
  export type {
442
- VerifyHashErrorType,
443
- VerifyHashParameters,
444
- VerifyHashReturnType,
442
+ VerifyHashErrorType as VerifyHashActionErrorType,
443
+ VerifyHashParameters as VerifyHashActionParameters,
444
+ VerifyHashReturnType as VerifyHashActionReturnType,
445
445
  } from './actions/public/verifyHash.js'
446
446
  export type {
447
447
  VerifyTypedDataErrorType as VerifyTypedDataActionErrorType,
@@ -1004,6 +1004,8 @@ export type {
1004
1004
  } from './types/misc.js'
1005
1005
  export type {
1006
1006
  AddEthereumChainParameter,
1007
+ BundlerRpcSchema,
1008
+ DebugBundlerRpcSchema,
1007
1009
  EIP1193EventMap,
1008
1010
  EIP1193Events,
1009
1011
  EIP1193Parameters,
@@ -1294,6 +1296,8 @@ export {
1294
1296
  type SerializeSignatureErrorType as SignatureToHexErrorType,
1295
1297
  /** @deprecated Use `serializeSignature` instead. */
1296
1298
  serializeSignature as signatureToHex,
1299
+ type SerializeSignatureParameters,
1300
+ type SerializeSignatureReturnType,
1297
1301
  type SerializeSignatureErrorType,
1298
1302
  serializeSignature,
1299
1303
  } from './utils/signature/serializeSignature.js'
@@ -1306,6 +1310,12 @@ export {
1306
1310
  type ToRlpErrorType,
1307
1311
  type ToRlpReturnType,
1308
1312
  } from './utils/encoding/toRlp.js'
1313
+ export {
1314
+ type VerifyHashErrorType,
1315
+ type VerifyHashParameters,
1316
+ type VerifyHashReturnType,
1317
+ verifyHash,
1318
+ } from './utils/signature/verifyHash.js'
1309
1319
  export {
1310
1320
  type VerifyMessageErrorType,
1311
1321
  type VerifyMessageParameters,
@@ -1686,3 +1696,10 @@ export {
1686
1696
  createNonceManager,
1687
1697
  nonceManager,
1688
1698
  } from './utils/nonceManager.js'
1699
+ export type {
1700
+ RpcEstimateUserOperationGasReturnType,
1701
+ RpcGetUserOperationByHashReturnType,
1702
+ RpcUserOperation,
1703
+ RpcUserOperationReceipt,
1704
+ RpcUserOperationRequest,
1705
+ } from './account-abstraction/types/rpc.js'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "viem",
3
3
  "description": "TypeScript Interface for Ethereum",
4
- "version": "2.17.11",
4
+ "version": "2.18.1",
5
5
  "main": "./_cjs/index.js",
6
6
  "module": "./_esm/index.js",
7
7
  "types": "./_types/index.d.ts",
@@ -24,6 +24,11 @@
24
24
  "import": "./_esm/index.js",
25
25
  "default": "./_cjs/index.js"
26
26
  },
27
+ "./account-abstraction": {
28
+ "types": "./_types/account-abstraction/index.d.ts",
29
+ "import": "./_esm/account-abstraction/index.js",
30
+ "default": "./_cjs/account-abstraction/index.js"
31
+ },
27
32
  "./accounts": {
28
33
  "types": "./_types/accounts/index.d.ts",
29
34
  "import": "./_esm/accounts/index.js",
@@ -163,6 +168,7 @@
163
168
  "@scure/bip39": "1.3.0",
164
169
  "abitype": "1.0.5",
165
170
  "isows": "1.0.4",
171
+ "webauthn-p256": "0.0.5",
166
172
  "ws": "8.17.1"
167
173
  },
168
174
  "license": "MIT",
package/types/eip1193.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  import type { Address } from 'abitype'
2
2
 
3
+ import type {
4
+ RpcEstimateUserOperationGasReturnType,
5
+ RpcGetUserOperationByHashReturnType,
6
+ RpcUserOperation,
7
+ RpcUserOperationReceipt,
8
+ } from '../account-abstraction/types/rpc.js'
3
9
  import type { BlockTag } from './block.js'
4
10
  import type { Hash, Hex, LogTopic } from './misc.js'
5
11
  import type { RpcStateOverride } from './rpc.js'
@@ -16,12 +22,17 @@ import type {
16
22
  RpcTransactionRequest as TransactionRequest,
17
23
  RpcUncle as Uncle,
18
24
  } from './rpc.js'
19
- import type { ExactPartial, OneOf, Prettify } from './utils.js'
25
+ import type { ExactPartial, OneOf, PartialBy, Prettify } from './utils.js'
20
26
 
21
27
  //////////////////////////////////////////////////
22
28
  // Provider
23
29
 
24
- export type EIP1474Methods = [...PublicRpcSchema, ...WalletRpcSchema]
30
+ export type EIP1474Methods = [
31
+ ...PublicRpcSchema,
32
+ ...WalletRpcSchema,
33
+ ...BundlerRpcSchema,
34
+ ...PaymasterRpcSchema,
35
+ ]
25
36
 
26
37
  export type EIP1193Provider = Prettify<
27
38
  EIP1193Events & {
@@ -228,6 +239,307 @@ export type WatchAssetParams = {
228
239
  }
229
240
  }
230
241
 
242
+ export type BundlerRpcSchema = [
243
+ /**
244
+ * @description Returns the chain ID associated with the current network
245
+ *
246
+ * @link https://eips.ethereum.org/EIPS/eip-4337#-eth_chainid
247
+ */
248
+ {
249
+ Method: 'eth_chainId'
250
+ Parameters?: undefined
251
+ ReturnType: Hex
252
+ },
253
+ /**
254
+ * @description Estimate the gas values for a UserOperation.
255
+ *
256
+ * @link https://eips.ethereum.org/EIPS/eip-4337#-eth_estimateuseroperationgas
257
+ *
258
+ * @example
259
+ * provider.request({
260
+ * method: 'eth_estimateUserOperationGas',
261
+ * params: [{ ... }]
262
+ * })
263
+ * // => { ... }
264
+ */
265
+ {
266
+ Method: 'eth_estimateUserOperationGas'
267
+ Parameters:
268
+ | [userOperation: RpcUserOperation, entrypoint: Address]
269
+ | [
270
+ userOperation: RpcUserOperation,
271
+ entrypoint: Address,
272
+ stateOverrideSet: RpcStateOverride,
273
+ ]
274
+ ReturnType: RpcEstimateUserOperationGasReturnType
275
+ },
276
+ /**
277
+ * @description Return a UserOperation based on a hash.
278
+ *
279
+ * @link https://eips.ethereum.org/EIPS/eip-4337#-eth_getuseroperationbyhash
280
+ *
281
+ * @example
282
+ * provider.request({
283
+ * method: 'eth_getUserOperationByHash',
284
+ * params: ['0x...']
285
+ * })
286
+ * // => { ... }
287
+ */
288
+ {
289
+ Method: 'eth_getUserOperationByHash'
290
+ Parameters: [hash: Hash]
291
+ ReturnType: RpcGetUserOperationByHashReturnType | null
292
+ },
293
+ /**
294
+ * @description Return a UserOperation receipt based on a hash.
295
+ *
296
+ * @link https://eips.ethereum.org/EIPS/eip-4337#-eth_getuseroperationreceipt
297
+ *
298
+ * @example
299
+ * provider.request({
300
+ * method: 'eth_getUserOperationReceipt',
301
+ * params: ['0x...']
302
+ * })
303
+ * // => { ... }
304
+ */
305
+ {
306
+ Method: 'eth_getUserOperationReceipt'
307
+ Parameters: [hash: Hash]
308
+ ReturnType: RpcUserOperationReceipt | null
309
+ },
310
+ /**
311
+ * @description Submits a User Operation object to the User Operation pool of the client.
312
+ *
313
+ * @link https://eips.ethereum.org/EIPS/eip-4337#-eth_senduseroperation
314
+ *
315
+ * @example
316
+ * provider.request({
317
+ * method: 'eth_sendUserOperation',
318
+ * params: [{ ... }]
319
+ * })
320
+ * // => '0x...'
321
+ */
322
+ {
323
+ Method: 'eth_sendUserOperation'
324
+ Parameters: [userOperation: RpcUserOperation, entrypoint: Address]
325
+ ReturnType: Hash
326
+ },
327
+ /**
328
+ * @description Return the list of supported entry points by the client.
329
+ *
330
+ * @link https://eips.ethereum.org/EIPS/eip-4337#-eth_supportedentrypoints
331
+ */
332
+ {
333
+ Method: 'eth_supportedEntryPoints'
334
+ Parameters?: undefined
335
+ ReturnType: readonly Address[]
336
+ },
337
+ ]
338
+
339
+ export type DebugBundlerRpcSchema = [
340
+ /**
341
+ * @description Clears the bundler mempool and reputation data of paymasters/accounts/factories/aggregators.
342
+ *
343
+ * @link https://github.com/eth-infinitism/bundler-spec/blob/a247b5de59a702063ea5b09d6136f119a061642b/src/debug/debug.yaml#L1
344
+ */
345
+ {
346
+ Method: 'debug_bundler_clearState'
347
+ Parameters?: undefined
348
+ ReturnType: undefined
349
+ },
350
+ /**
351
+ * @description Returns the current mempool
352
+ *
353
+ * @link https://github.com/eth-infinitism/bundler-spec/blob/a247b5de59a702063ea5b09d6136f119a061642b/src/debug/debug.yaml#L8
354
+ */
355
+ {
356
+ Method: 'debug_bundler_dumpMempool'
357
+ Parameters: [entryPoint: Address]
358
+ ReturnType: readonly { userOp: RpcUserOperation }[]
359
+ },
360
+ /**
361
+ * @description Forces the bundler to execute the entire current mempool.
362
+ *
363
+ * @link https://github.com/eth-infinitism/bundler-spec/blob/a247b5de59a702063ea5b09d6136f119a061642b/src/debug/debug.yaml#L19
364
+ */
365
+ {
366
+ Method: 'debug_bundler_sendBundleNow'
367
+ Parameters?: undefined
368
+ ReturnType: Hash
369
+ },
370
+ /**
371
+ * @description Toggles bundling mode between 'auto' and 'manual'
372
+ *
373
+ * @link https://github.com/eth-infinitism/bundler-spec/blob/a247b5de59a702063ea5b09d6136f119a061642b/src/debug/debug.yaml#L26
374
+ */
375
+ {
376
+ Method: 'debug_bundler_setBundlingMode'
377
+ Parameters: [mode: 'auto' | 'manual']
378
+ ReturnType: undefined
379
+ },
380
+ /**
381
+ * @description Sets reputation of given addresses.
382
+ *
383
+ * @link https://github.com/eth-infinitism/bundler-spec/blob/a247b5de59a702063ea5b09d6136f119a061642b/src/debug/debug.yaml#L37
384
+ */
385
+ {
386
+ Method: 'debug_bundler_setReputation'
387
+ Parameters: [
388
+ reputations: readonly {
389
+ address: Address
390
+ opsSeen: Hex
391
+ opsIncluded: Hex
392
+ }[],
393
+ entryPoint: Address,
394
+ ]
395
+ ReturnType: undefined
396
+ },
397
+ /**
398
+ * @description Returns the reputation data of all observed addresses.
399
+ *
400
+ * @link https://github.com/eth-infinitism/bundler-spec/blob/a247b5de59a702063ea5b09d6136f119a061642b/src/debug/debug.yaml#L52
401
+ */
402
+ {
403
+ Method: 'debug_bundler_dumpReputation'
404
+ Parameters: [entryPoint: Address]
405
+ ReturnType: readonly {
406
+ address: Address
407
+ opsSeen: Hex
408
+ opsIncluded: Hex
409
+ }[]
410
+ },
411
+ /**
412
+ * @description Add a bulk of UserOps into the mempool
413
+ *
414
+ * @link https://github.com/eth-infinitism/bundler-spec/blob/a247b5de59a702063ea5b09d6136f119a061642b/src/debug/debug.yaml#L64
415
+ */
416
+ {
417
+ Method: 'debug_bundler_addUserOps'
418
+ Parameters: [userOps: readonly RpcUserOperation[], entryPoint: Address]
419
+ ReturnType: undefined
420
+ },
421
+ ]
422
+
423
+ export type PaymasterRpcSchema = [
424
+ /**
425
+ * @description Returns the chain ID associated with the current network
426
+ *
427
+ * @link https://eips.ethereum.org/EIPS/eip-4337#-eth_chainid
428
+ */
429
+ {
430
+ Method: 'pm_getPaymasterStubData'
431
+ Parameters?: [
432
+ userOperation: OneOf<
433
+ | PartialBy<
434
+ Pick<
435
+ RpcUserOperation<'0.6'>,
436
+ | 'callData'
437
+ | 'callGasLimit'
438
+ | 'initCode'
439
+ | 'maxFeePerGas'
440
+ | 'maxPriorityFeePerGas'
441
+ | 'nonce'
442
+ | 'sender'
443
+ | 'preVerificationGas'
444
+ | 'verificationGasLimit'
445
+ >,
446
+ | 'callGasLimit'
447
+ | 'initCode'
448
+ | 'maxFeePerGas'
449
+ | 'maxPriorityFeePerGas'
450
+ | 'preVerificationGas'
451
+ | 'verificationGasLimit'
452
+ >
453
+ | PartialBy<
454
+ Pick<
455
+ RpcUserOperation<'0.7'>,
456
+ | 'callData'
457
+ | 'callGasLimit'
458
+ | 'factory'
459
+ | 'factoryData'
460
+ | 'maxFeePerGas'
461
+ | 'maxPriorityFeePerGas'
462
+ | 'nonce'
463
+ | 'sender'
464
+ | 'preVerificationGas'
465
+ | 'verificationGasLimit'
466
+ >,
467
+ | 'callGasLimit'
468
+ | 'factory'
469
+ | 'factoryData'
470
+ | 'maxFeePerGas'
471
+ | 'maxPriorityFeePerGas'
472
+ | 'preVerificationGas'
473
+ | 'verificationGasLimit'
474
+ >
475
+ >,
476
+ entrypoint: Address,
477
+ chainId: Hex,
478
+ context: unknown,
479
+ ]
480
+ ReturnType: OneOf<
481
+ | { paymasterAndData: Hex }
482
+ | {
483
+ paymaster: Address
484
+ paymasterData: Hex
485
+ paymasterVerificationGasLimit: Hex
486
+ paymasterPostOpGasLimit: Hex
487
+ }
488
+ > & {
489
+ sponsor?: { name: string; icon?: string | undefined } | undefined
490
+ isFinal?: boolean | undefined
491
+ }
492
+ },
493
+ /**
494
+ * @description Returns values to be used in paymaster-related fields of a signed user operation.
495
+ *
496
+ * @link https://github.com/ethereum/ERCs/blob/master/ERCS/erc-7677.md#pm_getpaymasterdata
497
+ */
498
+ {
499
+ Method: 'pm_getPaymasterData'
500
+ Parameters?: [
501
+ userOperation:
502
+ | Pick<
503
+ RpcUserOperation<'0.6'>,
504
+ | 'callData'
505
+ | 'callGasLimit'
506
+ | 'initCode'
507
+ | 'maxFeePerGas'
508
+ | 'maxPriorityFeePerGas'
509
+ | 'nonce'
510
+ | 'sender'
511
+ | 'preVerificationGas'
512
+ | 'verificationGasLimit'
513
+ >
514
+ | Pick<
515
+ RpcUserOperation<'0.7'>,
516
+ | 'callData'
517
+ | 'callGasLimit'
518
+ | 'factory'
519
+ | 'factoryData'
520
+ | 'maxFeePerGas'
521
+ | 'maxPriorityFeePerGas'
522
+ | 'nonce'
523
+ | 'sender'
524
+ | 'preVerificationGas'
525
+ | 'verificationGasLimit'
526
+ >,
527
+ entrypoint: Address,
528
+ chainId: Hex,
529
+ context: unknown,
530
+ ]
531
+ ReturnType: OneOf<
532
+ | { paymasterAndData: Hex }
533
+ | {
534
+ paymaster: Address
535
+ paymasterData: Hex
536
+ paymasterVerificationGasLimit: Hex
537
+ paymasterPostOpGasLimit: Hex
538
+ }
539
+ >
540
+ },
541
+ ]
542
+
231
543
  export type PublicRpcSchema = [
232
544
  /**
233
545
  * @description Returns the version of the current client
@@ -127,7 +127,7 @@ export type MulticallResponse<
127
127
  : result
128
128
 
129
129
  // infer contract parameters from `unknown`
130
- type GetMulticallContractParameters<
130
+ export type GetMulticallContractParameters<
131
131
  contract,
132
132
  mutability extends AbiStateMutability,
133
133
  > = contract extends { abi: infer abi extends Abi } // 1. Check if `abi` is const-asserted or defined inline