viem 2.17.10 → 2.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (464) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/README.md +6 -0
  3. package/_cjs/account-abstraction/accounts/createWebAuthnCredential.js +6 -0
  4. package/_cjs/account-abstraction/accounts/createWebAuthnCredential.js.map +1 -0
  5. package/_cjs/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js +688 -0
  6. package/_cjs/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map +1 -0
  7. package/_cjs/account-abstraction/accounts/implementations/toSoladySmartAccount.js +704 -0
  8. package/_cjs/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map +1 -0
  9. package/_cjs/account-abstraction/accounts/toSmartAccount.js +93 -0
  10. package/_cjs/account-abstraction/accounts/toSmartAccount.js.map +1 -0
  11. package/_cjs/account-abstraction/accounts/toWebAuthnAccount.js +24 -0
  12. package/_cjs/account-abstraction/accounts/toWebAuthnAccount.js.map +1 -0
  13. package/_cjs/account-abstraction/accounts/types.js +3 -0
  14. package/_cjs/account-abstraction/accounts/types.js.map +1 -0
  15. package/_cjs/account-abstraction/actions/bundler/estimateUserOperationGas.js +37 -0
  16. package/_cjs/account-abstraction/actions/bundler/estimateUserOperationGas.js.map +1 -0
  17. package/_cjs/account-abstraction/actions/bundler/getSupportedEntryPoints.js +7 -0
  18. package/_cjs/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map +1 -0
  19. package/_cjs/account-abstraction/actions/bundler/getUserOperation.js +22 -0
  20. package/_cjs/account-abstraction/actions/bundler/getUserOperation.js.map +1 -0
  21. package/_cjs/account-abstraction/actions/bundler/getUserOperationReceipt.js +15 -0
  22. package/_cjs/account-abstraction/actions/bundler/getUserOperationReceipt.js.map +1 -0
  23. package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js +239 -0
  24. package/_cjs/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -0
  25. package/_cjs/account-abstraction/actions/bundler/sendUserOperation.js +36 -0
  26. package/_cjs/account-abstraction/actions/bundler/sendUserOperation.js.map +1 -0
  27. package/_cjs/account-abstraction/actions/bundler/waitForUserOperationReceipt.js +48 -0
  28. package/_cjs/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  29. package/_cjs/account-abstraction/actions/paymaster/getPaymasterData.js +34 -0
  30. package/_cjs/account-abstraction/actions/paymaster/getPaymasterData.js.map +1 -0
  31. package/_cjs/account-abstraction/actions/paymaster/getPaymasterStubData.js +34 -0
  32. package/_cjs/account-abstraction/actions/paymaster/getPaymasterStubData.js.map +1 -0
  33. package/_cjs/account-abstraction/clients/createBundlerClient.js +18 -0
  34. package/_cjs/account-abstraction/clients/createBundlerClient.js.map +1 -0
  35. package/_cjs/account-abstraction/clients/createPaymasterClient.js +17 -0
  36. package/_cjs/account-abstraction/clients/createPaymasterClient.js.map +1 -0
  37. package/_cjs/account-abstraction/clients/decorators/bundler.js +24 -0
  38. package/_cjs/account-abstraction/clients/decorators/bundler.js.map +1 -0
  39. package/_cjs/account-abstraction/clients/decorators/paymaster.js +12 -0
  40. package/_cjs/account-abstraction/clients/decorators/paymaster.js.map +1 -0
  41. package/_cjs/account-abstraction/constants/abis.js +1318 -0
  42. package/_cjs/account-abstraction/constants/abis.js.map +1 -0
  43. package/_cjs/account-abstraction/constants/address.js +6 -0
  44. package/_cjs/account-abstraction/constants/address.js.map +1 -0
  45. package/_cjs/account-abstraction/errors/bundler.js +813 -0
  46. package/_cjs/account-abstraction/errors/bundler.js.map +1 -0
  47. package/_cjs/account-abstraction/errors/userOperation.js +91 -0
  48. package/_cjs/account-abstraction/errors/userOperation.js.map +1 -0
  49. package/_cjs/account-abstraction/index.js +90 -0
  50. package/_cjs/account-abstraction/index.js.map +1 -0
  51. package/_cjs/account-abstraction/types/account.js +3 -0
  52. package/_cjs/account-abstraction/types/account.js.map +1 -0
  53. package/_cjs/account-abstraction/types/entryPointVersion.js +3 -0
  54. package/_cjs/account-abstraction/types/entryPointVersion.js.map +1 -0
  55. package/_cjs/account-abstraction/types/rpc.js +3 -0
  56. package/_cjs/account-abstraction/types/rpc.js.map +1 -0
  57. package/_cjs/account-abstraction/types/userOperation.js +3 -0
  58. package/_cjs/account-abstraction/types/userOperation.js.map +1 -0
  59. package/_cjs/account-abstraction/utils/errors/getBundlerError.js +186 -0
  60. package/_cjs/account-abstraction/utils/errors/getBundlerError.js.map +1 -0
  61. package/_cjs/account-abstraction/utils/errors/getUserOperationError.js +87 -0
  62. package/_cjs/account-abstraction/utils/errors/getUserOperationError.js.map +1 -0
  63. package/_cjs/account-abstraction/utils/formatters/userOperation.js +24 -0
  64. package/_cjs/account-abstraction/utils/formatters/userOperation.js.map +1 -0
  65. package/_cjs/account-abstraction/utils/formatters/userOperationGas.js +18 -0
  66. package/_cjs/account-abstraction/utils/formatters/userOperationGas.js.map +1 -0
  67. package/_cjs/account-abstraction/utils/formatters/userOperationReceipt.js +18 -0
  68. package/_cjs/account-abstraction/utils/formatters/userOperationReceipt.js.map +1 -0
  69. package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js +43 -0
  70. package/_cjs/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -0
  71. package/_cjs/account-abstraction/utils/userOperation/getUserOperationHash.js +88 -0
  72. package/_cjs/account-abstraction/utils/userOperation/getUserOperationHash.js.map +1 -0
  73. package/_cjs/account-abstraction/utils/userOperation/toPackedUserOperation.js +44 -0
  74. package/_cjs/account-abstraction/utils/userOperation/toPackedUserOperation.js.map +1 -0
  75. package/_cjs/accounts/index.js +1 -3
  76. package/_cjs/accounts/index.js.map +1 -1
  77. package/_cjs/accounts/privateKeyToAccount.js +4 -0
  78. package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
  79. package/_cjs/accounts/toAccount.js +1 -0
  80. package/_cjs/accounts/toAccount.js.map +1 -1
  81. package/_cjs/accounts/utils/parseAccount.js.map +1 -1
  82. package/_cjs/accounts/utils/sign.js +8 -2
  83. package/_cjs/accounts/utils/sign.js.map +1 -1
  84. package/_cjs/accounts/utils/signMessage.js +1 -3
  85. package/_cjs/accounts/utils/signMessage.js.map +1 -1
  86. package/_cjs/accounts/utils/signTypedData.js +2 -3
  87. package/_cjs/accounts/utils/signTypedData.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 +23 -0
  97. package/_cjs/chains/definitions/bobaSepolia.js.map +1 -0
  98. package/_cjs/chains/index.js +9 -7
  99. package/_cjs/chains/index.js.map +1 -1
  100. package/_cjs/clients/decorators/public.js.map +1 -1
  101. package/_cjs/clients/decorators/wallet.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/buildRequest.js +4 -2
  118. package/_cjs/utils/buildRequest.js.map +1 -1
  119. package/_cjs/utils/errors/getNodeError.js +1 -2
  120. package/_cjs/utils/errors/getNodeError.js.map +1 -1
  121. package/_cjs/utils/index.js +3 -1
  122. package/_cjs/utils/index.js.map +1 -1
  123. package/_cjs/utils/signature/serializeErc6492Signature.js +6 -2
  124. package/_cjs/utils/signature/serializeErc6492Signature.js.map +1 -1
  125. package/_cjs/utils/signature/serializeSignature.js +6 -2
  126. package/_cjs/utils/signature/serializeSignature.js.map +1 -1
  127. package/_cjs/utils/signature/verifyHash.js +10 -0
  128. package/_cjs/utils/signature/verifyHash.js.map +1 -0
  129. package/_esm/account-abstraction/accounts/createWebAuthnCredential.js +3 -0
  130. package/_esm/account-abstraction/accounts/createWebAuthnCredential.js.map +1 -0
  131. package/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js +709 -0
  132. package/_esm/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.js.map +1 -0
  133. package/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js +718 -0
  134. package/_esm/account-abstraction/accounts/implementations/toSoladySmartAccount.js.map +1 -0
  135. package/_esm/account-abstraction/accounts/toSmartAccount.js +96 -0
  136. package/_esm/account-abstraction/accounts/toSmartAccount.js.map +1 -0
  137. package/_esm/account-abstraction/accounts/toWebAuthnAccount.js +26 -0
  138. package/_esm/account-abstraction/accounts/toWebAuthnAccount.js.map +1 -0
  139. package/_esm/account-abstraction/accounts/types.js +2 -0
  140. package/_esm/account-abstraction/accounts/types.js.map +1 -0
  141. package/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js +61 -0
  142. package/_esm/account-abstraction/actions/bundler/estimateUserOperationGas.js.map +1 -0
  143. package/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js +25 -0
  144. package/_esm/account-abstraction/actions/bundler/getSupportedEntryPoints.js.map +1 -0
  145. package/_esm/account-abstraction/actions/bundler/getUserOperation.js +42 -0
  146. package/_esm/account-abstraction/actions/bundler/getUserOperation.js.map +1 -0
  147. package/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js +35 -0
  148. package/_esm/account-abstraction/actions/bundler/getUserOperationReceipt.js.map +1 -0
  149. package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js +323 -0
  150. package/_esm/account-abstraction/actions/bundler/prepareUserOperation.js.map +1 -0
  151. package/_esm/account-abstraction/actions/bundler/sendUserOperation.js +60 -0
  152. package/_esm/account-abstraction/actions/bundler/sendUserOperation.js.map +1 -0
  153. package/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js +68 -0
  154. package/_esm/account-abstraction/actions/bundler/waitForUserOperationReceipt.js.map +1 -0
  155. package/_esm/account-abstraction/actions/paymaster/getPaymasterData.js +56 -0
  156. package/_esm/account-abstraction/actions/paymaster/getPaymasterData.js.map +1 -0
  157. package/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js +56 -0
  158. package/_esm/account-abstraction/actions/paymaster/getPaymasterStubData.js.map +1 -0
  159. package/_esm/account-abstraction/clients/createBundlerClient.js +15 -0
  160. package/_esm/account-abstraction/clients/createBundlerClient.js.map +1 -0
  161. package/_esm/account-abstraction/clients/createPaymasterClient.js +14 -0
  162. package/_esm/account-abstraction/clients/createPaymasterClient.js.map +1 -0
  163. package/_esm/account-abstraction/clients/decorators/bundler.js +21 -0
  164. package/_esm/account-abstraction/clients/decorators/bundler.js.map +1 -0
  165. package/_esm/account-abstraction/clients/decorators/paymaster.js +9 -0
  166. package/_esm/account-abstraction/clients/decorators/paymaster.js.map +1 -0
  167. package/_esm/account-abstraction/constants/abis.js +1315 -0
  168. package/_esm/account-abstraction/constants/abis.js.map +1 -0
  169. package/_esm/account-abstraction/constants/address.js +3 -0
  170. package/_esm/account-abstraction/constants/address.js.map +1 -0
  171. package/_esm/account-abstraction/errors/bundler.js +774 -0
  172. package/_esm/account-abstraction/errors/bundler.js.map +1 -0
  173. package/_esm/account-abstraction/errors/userOperation.js +84 -0
  174. package/_esm/account-abstraction/errors/userOperation.js.map +1 -0
  175. package/_esm/account-abstraction/index.js +31 -0
  176. package/_esm/account-abstraction/index.js.map +1 -0
  177. package/_esm/account-abstraction/types/account.js +2 -0
  178. package/_esm/account-abstraction/types/account.js.map +1 -0
  179. package/_esm/account-abstraction/types/entryPointVersion.js +2 -0
  180. package/_esm/account-abstraction/types/entryPointVersion.js.map +1 -0
  181. package/_esm/account-abstraction/types/rpc.js +2 -0
  182. package/_esm/account-abstraction/types/rpc.js.map +1 -0
  183. package/_esm/account-abstraction/types/userOperation.js +2 -0
  184. package/_esm/account-abstraction/types/userOperation.js.map +1 -0
  185. package/_esm/account-abstraction/utils/errors/getBundlerError.js +183 -0
  186. package/_esm/account-abstraction/utils/errors/getBundlerError.js.map +1 -0
  187. package/_esm/account-abstraction/utils/errors/getUserOperationError.js +85 -0
  188. package/_esm/account-abstraction/utils/errors/getUserOperationError.js.map +1 -0
  189. package/_esm/account-abstraction/utils/formatters/userOperation.js +21 -0
  190. package/_esm/account-abstraction/utils/formatters/userOperation.js.map +1 -0
  191. package/_esm/account-abstraction/utils/formatters/userOperationGas.js +15 -0
  192. package/_esm/account-abstraction/utils/formatters/userOperationGas.js.map +1 -0
  193. package/_esm/account-abstraction/utils/formatters/userOperationReceipt.js +15 -0
  194. package/_esm/account-abstraction/utils/formatters/userOperationReceipt.js.map +1 -0
  195. package/_esm/account-abstraction/utils/formatters/userOperationRequest.js +40 -0
  196. package/_esm/account-abstraction/utils/formatters/userOperationRequest.js.map +1 -0
  197. package/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js +85 -0
  198. package/_esm/account-abstraction/utils/userOperation/getUserOperationHash.js.map +1 -0
  199. package/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js +41 -0
  200. package/_esm/account-abstraction/utils/userOperation/toPackedUserOperation.js.map +1 -0
  201. package/_esm/accounts/index.js +0 -1
  202. package/_esm/accounts/index.js.map +1 -1
  203. package/_esm/accounts/privateKeyToAccount.js +4 -0
  204. package/_esm/accounts/privateKeyToAccount.js.map +1 -1
  205. package/_esm/accounts/toAccount.js +2 -0
  206. package/_esm/accounts/toAccount.js.map +1 -1
  207. package/_esm/accounts/utils/parseAccount.js.map +1 -1
  208. package/_esm/accounts/utils/sign.js +9 -3
  209. package/_esm/accounts/utils/sign.js.map +1 -1
  210. package/_esm/accounts/utils/signMessage.js +1 -3
  211. package/_esm/accounts/utils/signMessage.js.map +1 -1
  212. package/_esm/accounts/utils/signTypedData.js +2 -3
  213. package/_esm/accounts/utils/signTypedData.js.map +1 -1
  214. package/_esm/actions/wallet/sendTransaction.js +37 -24
  215. package/_esm/actions/wallet/sendTransaction.js.map +1 -1
  216. package/_esm/actions/wallet/signMessage.js +1 -1
  217. package/_esm/actions/wallet/signMessage.js.map +1 -1
  218. package/_esm/actions/wallet/signTransaction.js +1 -2
  219. package/_esm/actions/wallet/signTransaction.js.map +1 -1
  220. package/_esm/actions/wallet/signTypedData.js +1 -1
  221. package/_esm/actions/wallet/signTypedData.js.map +1 -1
  222. package/_esm/chains/definitions/bobaSepolia.js +20 -0
  223. package/_esm/chains/definitions/bobaSepolia.js.map +1 -0
  224. package/_esm/chains/index.js +1 -0
  225. package/_esm/chains/index.js.map +1 -1
  226. package/_esm/clients/decorators/public.js.map +1 -1
  227. package/_esm/clients/decorators/wallet.js.map +1 -1
  228. package/_esm/constants/abis.js +0 -3
  229. package/_esm/constants/abis.js.map +1 -1
  230. package/_esm/constants/address.js +2 -0
  231. package/_esm/constants/address.js.map +1 -1
  232. package/_esm/errors/account.js +15 -1
  233. package/_esm/errors/account.js.map +1 -1
  234. package/_esm/errors/contract.js +1 -1
  235. package/_esm/errors/contract.js.map +1 -1
  236. package/_esm/errors/rpc.js +6 -6
  237. package/_esm/errors/rpc.js.map +1 -1
  238. package/_esm/errors/version.js +1 -1
  239. package/_esm/errors/version.js.map +1 -1
  240. package/_esm/index.js +1 -0
  241. package/_esm/index.js.map +1 -1
  242. package/_esm/types/eip1193.js.map +1 -1
  243. package/_esm/utils/buildRequest.js +4 -2
  244. package/_esm/utils/buildRequest.js.map +1 -1
  245. package/_esm/utils/errors/getNodeError.js +1 -2
  246. package/_esm/utils/errors/getNodeError.js.map +1 -1
  247. package/_esm/utils/index.js +1 -0
  248. package/_esm/utils/index.js.map +1 -1
  249. package/_esm/utils/signature/serializeErc6492Signature.js +6 -2
  250. package/_esm/utils/signature/serializeErc6492Signature.js.map +1 -1
  251. package/_esm/utils/signature/serializeSignature.js +6 -2
  252. package/_esm/utils/signature/serializeSignature.js.map +1 -1
  253. package/_esm/utils/signature/verifyHash.js +19 -0
  254. package/_esm/utils/signature/verifyHash.js.map +1 -0
  255. package/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts +2 -0
  256. package/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts.map +1 -0
  257. package/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts +648 -0
  258. package/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts.map +1 -0
  259. package/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts +464 -0
  260. package/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts.map +1 -0
  261. package/_types/account-abstraction/accounts/toSmartAccount.d.ts +14 -0
  262. package/_types/account-abstraction/accounts/toSmartAccount.d.ts.map +1 -0
  263. package/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts +32 -0
  264. package/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts.map +1 -0
  265. package/_types/account-abstraction/accounts/types.d.ts +174 -0
  266. package/_types/account-abstraction/accounts/types.d.ts.map +1 -0
  267. package/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts +62 -0
  268. package/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
  269. package/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts +30 -0
  270. package/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts.map +1 -0
  271. package/_types/account-abstraction/actions/bundler/getUserOperation.d.ts +57 -0
  272. package/_types/account-abstraction/actions/bundler/getUserOperation.d.ts.map +1 -0
  273. package/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts +39 -0
  274. package/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
  275. package/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts +106 -0
  276. package/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts.map +1 -0
  277. package/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts +60 -0
  278. package/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts.map +1 -0
  279. package/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts +52 -0
  280. package/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts.map +1 -0
  281. package/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts +49 -0
  282. package/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts.map +1 -0
  283. package/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts +55 -0
  284. package/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts.map +1 -0
  285. package/_types/account-abstraction/clients/createBundlerClient.d.ts +66 -0
  286. package/_types/account-abstraction/clients/createBundlerClient.d.ts.map +1 -0
  287. package/_types/account-abstraction/clients/createPaymasterClient.d.ts +27 -0
  288. package/_types/account-abstraction/clients/createPaymasterClient.d.ts.map +1 -0
  289. package/_types/account-abstraction/clients/decorators/bundler.d.ts +206 -0
  290. package/_types/account-abstraction/clients/decorators/bundler.d.ts.map +1 -0
  291. package/_types/account-abstraction/clients/decorators/paymaster.d.ts +60 -0
  292. package/_types/account-abstraction/clients/decorators/paymaster.d.ts.map +1 -0
  293. package/_types/account-abstraction/constants/abis.d.ts +1468 -0
  294. package/_types/account-abstraction/constants/abis.d.ts.map +1 -0
  295. package/_types/account-abstraction/constants/address.d.ts +3 -0
  296. package/_types/account-abstraction/constants/address.d.ts.map +1 -0
  297. package/_types/account-abstraction/errors/bundler.d.ts +391 -0
  298. package/_types/account-abstraction/errors/bundler.d.ts.map +1 -0
  299. package/_types/account-abstraction/errors/userOperation.d.ts +41 -0
  300. package/_types/account-abstraction/errors/userOperation.d.ts.map +1 -0
  301. package/_types/account-abstraction/index.d.ts +34 -0
  302. package/_types/account-abstraction/index.d.ts.map +1 -0
  303. package/_types/account-abstraction/types/account.d.ts +11 -0
  304. package/_types/account-abstraction/types/account.d.ts.map +1 -0
  305. package/_types/account-abstraction/types/entryPointVersion.d.ts +9 -0
  306. package/_types/account-abstraction/types/entryPointVersion.d.ts.map +1 -0
  307. package/_types/account-abstraction/types/rpc.d.ts +9 -0
  308. package/_types/account-abstraction/types/rpc.d.ts.map +1 -0
  309. package/_types/account-abstraction/types/userOperation.d.ts +157 -0
  310. package/_types/account-abstraction/types/userOperation.d.ts.map +1 -0
  311. package/_types/account-abstraction/utils/errors/getBundlerError.d.ts +8 -0
  312. package/_types/account-abstraction/utils/errors/getBundlerError.d.ts.map +1 -0
  313. package/_types/account-abstraction/utils/errors/getUserOperationError.d.ts +15 -0
  314. package/_types/account-abstraction/utils/errors/getUserOperationError.d.ts.map +1 -0
  315. package/_types/account-abstraction/utils/formatters/userOperation.d.ts +6 -0
  316. package/_types/account-abstraction/utils/formatters/userOperation.d.ts.map +1 -0
  317. package/_types/account-abstraction/utils/formatters/userOperationGas.d.ts +6 -0
  318. package/_types/account-abstraction/utils/formatters/userOperationGas.d.ts.map +1 -0
  319. package/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts +6 -0
  320. package/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts.map +1 -0
  321. package/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts +7 -0
  322. package/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts.map +1 -0
  323. package/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts +13 -0
  324. package/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts.map +1 -0
  325. package/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts +3 -0
  326. package/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts.map +1 -0
  327. package/_types/accounts/index.d.ts +0 -1
  328. package/_types/accounts/index.d.ts.map +1 -1
  329. package/_types/accounts/privateKeyToAccount.d.ts +2 -1
  330. package/_types/accounts/privateKeyToAccount.d.ts.map +1 -1
  331. package/_types/accounts/toAccount.d.ts.map +1 -1
  332. package/_types/accounts/types.d.ts +14 -7
  333. package/_types/accounts/types.d.ts.map +1 -1
  334. package/_types/accounts/utils/parseAccount.d.ts +1 -1
  335. package/_types/accounts/utils/parseAccount.d.ts.map +1 -1
  336. package/_types/accounts/utils/sign.d.ts +9 -6
  337. package/_types/accounts/utils/sign.d.ts.map +1 -1
  338. package/_types/accounts/utils/signMessage.d.ts +1 -2
  339. package/_types/accounts/utils/signMessage.d.ts.map +1 -1
  340. package/_types/accounts/utils/signTypedData.d.ts +1 -2
  341. package/_types/accounts/utils/signTypedData.d.ts.map +1 -1
  342. package/_types/actions/wallet/sendTransaction.d.ts +2 -1
  343. package/_types/actions/wallet/sendTransaction.d.ts.map +1 -1
  344. package/_types/actions/wallet/signMessage.d.ts.map +1 -1
  345. package/_types/actions/wallet/signTransaction.d.ts.map +1 -1
  346. package/_types/chains/definitions/bobaSepolia.d.ts +35 -0
  347. package/_types/chains/definitions/bobaSepolia.d.ts.map +1 -0
  348. package/_types/chains/definitions/lisk.d.ts +2 -2
  349. package/_types/chains/definitions/playfiAlbireo.d.ts +2 -2
  350. package/_types/chains/definitions/zkSync.d.ts +2 -2
  351. package/_types/chains/definitions/zkSyncInMemoryNode.d.ts +2 -2
  352. package/_types/chains/definitions/zkSyncLocalNode.d.ts +2 -2
  353. package/_types/chains/definitions/zkSyncSepoliaTestnet.d.ts +2 -2
  354. package/_types/chains/definitions/zkSyncTestnet.d.ts +2 -2
  355. package/_types/chains/index.d.ts +1 -0
  356. package/_types/chains/index.d.ts.map +1 -1
  357. package/_types/clients/decorators/public.d.ts +2 -2
  358. package/_types/clients/decorators/public.d.ts.map +1 -1
  359. package/_types/clients/decorators/wallet.d.ts +1 -1
  360. package/_types/clients/decorators/wallet.d.ts.map +1 -1
  361. package/_types/constants/abis.d.ts +0 -3
  362. package/_types/constants/abis.d.ts.map +1 -1
  363. package/_types/constants/address.d.ts +2 -0
  364. package/_types/constants/address.d.ts.map +1 -1
  365. package/_types/errors/account.d.ts +11 -0
  366. package/_types/errors/account.d.ts.map +1 -1
  367. package/_types/errors/rpc.d.ts +9 -3
  368. package/_types/errors/rpc.d.ts.map +1 -1
  369. package/_types/errors/version.d.ts +1 -1
  370. package/_types/errors/version.d.ts.map +1 -1
  371. package/_types/index.d.ts +5 -3
  372. package/_types/index.d.ts.map +1 -1
  373. package/_types/types/eip1193.d.ts +239 -2
  374. package/_types/types/eip1193.d.ts.map +1 -1
  375. package/_types/types/multicall.d.ts +1 -1
  376. package/_types/types/multicall.d.ts.map +1 -1
  377. package/_types/types/utils.d.ts +2 -2
  378. package/_types/types/utils.d.ts.map +1 -1
  379. package/_types/utils/buildRequest.d.ts.map +1 -1
  380. package/_types/utils/errors/getNodeError.d.ts.map +1 -1
  381. package/_types/utils/formatters/transaction.d.ts +1 -1
  382. package/_types/utils/index.d.ts +1 -0
  383. package/_types/utils/index.d.ts.map +1 -1
  384. package/_types/utils/signature/hashTypedData.d.ts +2 -2
  385. package/_types/utils/signature/hashTypedData.d.ts.map +1 -1
  386. package/_types/utils/signature/serializeErc6492Signature.d.ts +7 -4
  387. package/_types/utils/signature/serializeErc6492Signature.d.ts.map +1 -1
  388. package/_types/utils/signature/serializeSignature.d.ts +8 -2
  389. package/_types/utils/signature/serializeSignature.d.ts.map +1 -1
  390. package/_types/utils/signature/verifyHash.d.ts +30 -0
  391. package/_types/utils/signature/verifyHash.d.ts.map +1 -0
  392. package/_types/zksync/chainConfig.d.ts +2 -2
  393. package/_types/zksync/formatters.d.ts +2 -2
  394. package/account-abstraction/accounts/createWebAuthnCredential.ts +7 -0
  395. package/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.ts +817 -0
  396. package/account-abstraction/accounts/implementations/toSoladySmartAccount.ts +794 -0
  397. package/account-abstraction/accounts/toSmartAccount.ts +126 -0
  398. package/account-abstraction/accounts/toWebAuthnAccount.ts +56 -0
  399. package/account-abstraction/accounts/types.ts +208 -0
  400. package/account-abstraction/actions/bundler/estimateUserOperationGas.ts +170 -0
  401. package/account-abstraction/actions/bundler/getSupportedEntryPoints.ts +33 -0
  402. package/account-abstraction/actions/bundler/getUserOperation.ts +85 -0
  403. package/account-abstraction/actions/bundler/getUserOperationReceipt.ts +64 -0
  404. package/account-abstraction/actions/bundler/prepareUserOperation.ts +637 -0
  405. package/account-abstraction/actions/bundler/sendUserOperation.ts +149 -0
  406. package/account-abstraction/actions/bundler/waitForUserOperationReceipt.ts +139 -0
  407. package/account-abstraction/actions/paymaster/getPaymasterData.ts +135 -0
  408. package/account-abstraction/actions/paymaster/getPaymasterStubData.ts +138 -0
  409. package/account-abstraction/clients/createBundlerClient.ts +155 -0
  410. package/account-abstraction/clients/createPaymasterClient.ts +78 -0
  411. package/account-abstraction/clients/decorators/bundler.ts +296 -0
  412. package/account-abstraction/clients/decorators/paymaster.ts +81 -0
  413. package/account-abstraction/constants/abis.ts +1404 -0
  414. package/account-abstraction/constants/address.ts +4 -0
  415. package/account-abstraction/errors/bundler.ts +781 -0
  416. package/account-abstraction/errors/userOperation.ts +111 -0
  417. package/account-abstraction/index.ts +228 -0
  418. package/account-abstraction/package.json +6 -0
  419. package/account-abstraction/types/account.ts +21 -0
  420. package/account-abstraction/types/entryPointVersion.ts +24 -0
  421. package/account-abstraction/types/rpc.ts +29 -0
  422. package/account-abstraction/types/userOperation.ts +262 -0
  423. package/account-abstraction/utils/errors/getBundlerError.ts +309 -0
  424. package/account-abstraction/utils/errors/getUserOperationError.ts +153 -0
  425. package/account-abstraction/utils/formatters/userOperation.ts +31 -0
  426. package/account-abstraction/utils/formatters/userOperationGas.ts +26 -0
  427. package/account-abstraction/utils/formatters/userOperationReceipt.ts +24 -0
  428. package/account-abstraction/utils/formatters/userOperationRequest.ts +53 -0
  429. package/account-abstraction/utils/userOperation/getUserOperationHash.ts +138 -0
  430. package/account-abstraction/utils/userOperation/toPackedUserOperation.ts +64 -0
  431. package/accounts/index.ts +1 -1
  432. package/accounts/privateKeyToAccount.ts +5 -0
  433. package/accounts/toAccount.ts +3 -0
  434. package/accounts/types.ts +34 -12
  435. package/accounts/utils/parseAccount.ts +6 -3
  436. package/accounts/utils/sign.ts +24 -8
  437. package/accounts/utils/signMessage.ts +1 -7
  438. package/accounts/utils/signTypedData.ts +2 -7
  439. package/actions/wallet/sendTransaction.ts +48 -27
  440. package/actions/wallet/signMessage.ts +2 -1
  441. package/actions/wallet/signTransaction.ts +1 -2
  442. package/actions/wallet/signTypedData.ts +1 -1
  443. package/chains/definitions/bobaSepolia.ts +20 -0
  444. package/chains/index.ts +1 -0
  445. package/clients/decorators/public.ts +2 -3
  446. package/clients/decorators/wallet.ts +1 -2
  447. package/constants/abis.ts +0 -3
  448. package/constants/address.ts +4 -0
  449. package/errors/account.ts +22 -1
  450. package/errors/contract.ts +1 -1
  451. package/errors/rpc.ts +6 -6
  452. package/errors/version.ts +1 -1
  453. package/index.ts +20 -3
  454. package/package.json +7 -1
  455. package/types/eip1193.ts +314 -2
  456. package/types/multicall.ts +1 -1
  457. package/types/utils.ts +6 -5
  458. package/utils/buildRequest.ts +4 -2
  459. package/utils/errors/getNodeError.ts +1 -2
  460. package/utils/index.ts +6 -0
  461. package/utils/signature/hashTypedData.ts +6 -6
  462. package/utils/signature/serializeErc6492Signature.ts +17 -8
  463. package/utils/signature/serializeSignature.ts +24 -4
  464. package/utils/signature/verifyHash.ts +54 -0
@@ -1,20 +1,26 @@
1
1
  import type { Address } from 'abitype'
2
2
  import { erc6492MagicBytes } from '../../constants/bytes.js'
3
3
  import type { ErrorType } from '../../errors/utils.js'
4
- import type { Hex } from '../../types/misc.js'
4
+ import type { ByteArray, Hex } from '../../types/misc.js'
5
5
  import { encodeAbiParameters } from '../abi/encodeAbiParameters.js'
6
6
  import { concatHex } from '../data/concat.js'
7
+ import { hexToBytes } from '../encoding/toBytes.js'
7
8
 
8
- export type SerializeErc6492SignatureParameters = {
9
+ type To = 'bytes' | 'hex'
10
+
11
+ export type SerializeErc6492SignatureParameters<to extends To = 'hex'> = {
9
12
  /** The ERC-4337 Account Factory address to use for counterfactual verification. */
10
13
  address: Address
11
14
  /** Calldata to pass to deploy account (if not deployed) for counterfactual verification. */
12
15
  data: Hex
13
16
  /** The original signature. */
14
17
  signature: Hex
18
+ to?: to | To | undefined
15
19
  }
16
20
 
17
- export type SerializeErc6492SignatureReturnType = Hex
21
+ export type SerializeErc6492SignatureReturnType<to extends To = 'hex'> =
22
+ | (to extends 'hex' ? Hex : never)
23
+ | (to extends 'bytes' ? ByteArray : never)
18
24
 
19
25
  export type SerializeErc6492SignatureErrorType = ErrorType
20
26
 
@@ -28,15 +34,18 @@ export type SerializeErc6492SignatureErrorType = ErrorType
28
34
  * serializeSignature({ address: '0x...', data: '0x...', signature: '0x...' })
29
35
  * // '0x000000000000000000000000cafebabecafebabecafebabecafebabecafebabe000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004deadbeef000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041a461f509887bd19e312c0c58467ce8ff8e300d3c1a90b608a760c5b80318eaf15fe57c96f9175d6cd4daad4663763baa7e78836e067d0163e9a2ccf2ff753f5b1b000000000000000000000000000000000000000000000000000000000000006492649264926492649264926492649264926492649264926492649264926492'
30
36
  */
31
- export function serializeErc6492Signature(
32
- parameters: SerializeErc6492SignatureParameters,
33
- ): SerializeErc6492SignatureReturnType {
34
- const { address, data, signature } = parameters
35
- return concatHex([
37
+ export function serializeErc6492Signature<to extends To = 'hex'>(
38
+ parameters: SerializeErc6492SignatureParameters<to>,
39
+ ): SerializeErc6492SignatureReturnType<to> {
40
+ const { address, data, signature, to = 'hex' } = parameters
41
+ const signature_ = concatHex([
36
42
  encodeAbiParameters(
37
43
  [{ type: 'address' }, { type: 'bytes' }, { type: 'bytes' }],
38
44
  [address, data, signature],
39
45
  ),
40
46
  erc6492MagicBytes,
41
47
  ])
48
+
49
+ if (to === 'hex') return signature_ as SerializeErc6492SignatureReturnType<to>
50
+ return hexToBytes(signature_) as SerializeErc6492SignatureReturnType<to>
42
51
  }
@@ -1,10 +1,21 @@
1
1
  import { secp256k1 } from '@noble/curves/secp256k1'
2
2
 
3
3
  import type { ErrorType } from '../../errors/utils.js'
4
- import type { Hex, Signature } from '../../types/misc.js'
4
+ import type { ByteArray, Hex, Signature } from '../../types/misc.js'
5
5
  import { type HexToBigIntErrorType, hexToBigInt } from '../encoding/fromHex.js'
6
+ import { hexToBytes } from '../encoding/toBytes.js'
6
7
  import type { ToHexErrorType } from '../encoding/toHex.js'
7
8
 
9
+ type To = 'bytes' | 'hex'
10
+
11
+ export type SerializeSignatureParameters<to extends To = 'hex'> = Signature & {
12
+ to?: to | To | undefined
13
+ }
14
+
15
+ export type SerializeSignatureReturnType<to extends To = 'hex'> =
16
+ | (to extends 'hex' ? Hex : never)
17
+ | (to extends 'bytes' ? ByteArray : never)
18
+
8
19
  export type SerializeSignatureErrorType =
9
20
  | HexToBigIntErrorType
10
21
  | ToHexErrorType
@@ -24,14 +35,23 @@ export type SerializeSignatureErrorType =
24
35
  * })
25
36
  * // "0x6e100a352ec6ad1b70802290e18aeed190704973570f3b8ed42cb9808e2ea6bf4a90a229a244495b41890987806fcbd2d5d23fc0dbe5f5256c2613c039d76db81c"
26
37
  */
27
- export function serializeSignature({ r, s, v, yParity }: Signature): Hex {
38
+ export function serializeSignature<to extends To = 'hex'>({
39
+ r,
40
+ s,
41
+ to = 'hex',
42
+ v,
43
+ yParity,
44
+ }: SerializeSignatureParameters<to>): SerializeSignatureReturnType<to> {
28
45
  const yParity_ = (() => {
29
46
  if (yParity === 0 || yParity === 1) return yParity
30
47
  if (v && (v === 27n || v === 28n || v >= 35n)) return v % 2n === 0n ? 1 : 0
31
48
  throw new Error('Invalid `v` or `yParity` value')
32
49
  })()
33
- return `0x${new secp256k1.Signature(
50
+ const signature = `0x${new secp256k1.Signature(
34
51
  hexToBigInt(r),
35
52
  hexToBigInt(s),
36
- ).toCompactHex()}${yParity_ === 0 ? '1b' : '1c'}`
53
+ ).toCompactHex()}${yParity_ === 0 ? '1b' : '1c'}` as const
54
+
55
+ if (to === 'hex') return signature as SerializeSignatureReturnType<to>
56
+ return hexToBytes(signature) as SerializeSignatureReturnType<to>
37
57
  }
@@ -0,0 +1,54 @@
1
+ import type { Address } from 'abitype'
2
+
3
+ import type { ByteArray, Hash, Hex, Signature } from '../../types/misc.js'
4
+ import { type GetAddressErrorType, getAddress } from '../address/getAddress.js'
5
+ import {
6
+ type IsAddressEqualErrorType,
7
+ isAddressEqual,
8
+ } from '../address/isAddressEqual.js'
9
+
10
+ import type { ErrorType } from '../../errors/utils.js'
11
+ import {
12
+ type RecoverAddressErrorType,
13
+ recoverAddress,
14
+ } from './recoverAddress.js'
15
+
16
+ export type VerifyHashParameters = {
17
+ /** The address that signed the original message. */
18
+ address: Address
19
+ /** The hash to be verified. */
20
+ hash: Hash
21
+ /** The signature that was generated by signing the message with the address's private key. */
22
+ signature: Hex | ByteArray | Signature
23
+ }
24
+
25
+ export type VerifyHashReturnType = boolean
26
+
27
+ export type VerifyHashErrorType =
28
+ | IsAddressEqualErrorType
29
+ | GetAddressErrorType
30
+ | RecoverAddressErrorType
31
+ | ErrorType
32
+
33
+ /**
34
+ * Verify that a message was signed by the provided address.
35
+ *
36
+ * Note: Only supports Externally Owned Accounts. Does not support Contract Accounts.
37
+ * It is highly recommended to use `publicClient.verifyHash` instead to ensure
38
+ * wallet interoperability.
39
+ *
40
+ * - Docs {@link https://viem.sh/docs/utilities/verifyHash}
41
+ *
42
+ * @param parameters - {@link VerifyHashParameters}
43
+ * @returns Whether or not the signature is valid. {@link VerifyHashReturnType}
44
+ */
45
+ export async function verifyHash({
46
+ address,
47
+ hash,
48
+ signature,
49
+ }: VerifyHashParameters): Promise<VerifyHashReturnType> {
50
+ return isAddressEqual(
51
+ getAddress(address),
52
+ await recoverAddress({ hash, signature }),
53
+ )
54
+ }