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
@@ -0,0 +1,709 @@
1
+ import { parseAbi } from 'abitype';
2
+ import { parseSignature as parseP256Signature, } from 'webauthn-p256';
3
+ import { readContract } from '../../../actions/public/readContract.js';
4
+ import { entryPoint06Address } from '../../../constants/address.js';
5
+ import { BaseError } from '../../../errors/base.js';
6
+ import { encodeAbiParameters } from '../../../utils/abi/encodeAbiParameters.js';
7
+ import { encodeFunctionData } from '../../../utils/abi/encodeFunctionData.js';
8
+ import { encodePacked } from '../../../utils/abi/encodePacked.js';
9
+ import { pad } from '../../../utils/data/pad.js';
10
+ import { size } from '../../../utils/data/size.js';
11
+ import { stringToHex } from '../../../utils/encoding/toHex.js';
12
+ import { hashMessage } from '../../../utils/signature/hashMessage.js';
13
+ import { hashTypedData } from '../../../utils/signature/hashTypedData.js';
14
+ import { parseSignature } from '../../../utils/signature/parseSignature.js';
15
+ import { entryPoint06Abi } from '../../constants/abis.js';
16
+ import { getUserOperationHash } from '../../utils/userOperation/getUserOperationHash.js';
17
+ import { toSmartAccount } from '../toSmartAccount.js';
18
+ /**
19
+ * @description Create a Coinbase Smart Account.
20
+ *
21
+ * @param parameters - {@link ToCoinbaseSmartAccountParameters}
22
+ * @returns Coinbase Smart Account. {@link ToCoinbaseSmartAccountReturnType}
23
+ *
24
+ * @example
25
+ * import { toCoinbaseSmartAccount } from 'viem/account-abstraction'
26
+ * import { privateKeyToAccount } from 'viem/accounts'
27
+ * import { client } from './client.js'
28
+ *
29
+ * const account = toCoinbaseSmartAccount({
30
+ * client,
31
+ * owners: [privateKeyToAccount('0x...')],
32
+ * })
33
+ */
34
+ export async function toCoinbaseSmartAccount(parameters) {
35
+ const { address, client, owners, nonce = 0n } = parameters;
36
+ const entryPoint = {
37
+ abi: entryPoint06Abi,
38
+ address: entryPoint06Address,
39
+ version: '0.6',
40
+ };
41
+ const factory = {
42
+ abi: factoryAbi,
43
+ address: '0x0ba5ed0c6aa8c49038f819e587e2633c4a9f428a',
44
+ };
45
+ const owners_bytes = owners.map((owner) => owner.type === 'webAuthn' ? owner.publicKey : pad(owner.address));
46
+ const owner = owners[0];
47
+ return toSmartAccount({
48
+ client,
49
+ entryPoint,
50
+ extend: { abi, factory },
51
+ async encodeCalls(calls) {
52
+ if (calls.length === 1)
53
+ return encodeFunctionData({
54
+ abi,
55
+ functionName: 'execute',
56
+ args: [calls[0].to, calls[0].value ?? 0n, calls[0].data ?? '0x'],
57
+ });
58
+ return encodeFunctionData({
59
+ abi,
60
+ functionName: 'executeBatch',
61
+ args: [
62
+ calls.map((call) => ({
63
+ data: call.data ?? '0x',
64
+ target: call.to,
65
+ value: call.value ?? 0n,
66
+ })),
67
+ ],
68
+ });
69
+ },
70
+ async getAddress() {
71
+ if (address)
72
+ return address;
73
+ return await readContract(client, {
74
+ ...factory,
75
+ functionName: 'getAddress',
76
+ args: [owners_bytes, nonce],
77
+ });
78
+ },
79
+ async getFactoryArgs() {
80
+ const factoryData = encodeFunctionData({
81
+ abi: factory.abi,
82
+ functionName: 'createAccount',
83
+ args: [owners_bytes, nonce],
84
+ });
85
+ return { factory: factory.address, factoryData };
86
+ },
87
+ async getNonce({ key = 0n } = {}) {
88
+ const address = await this.getAddress();
89
+ const nonce = await readContract(client, {
90
+ abi: parseAbi([
91
+ 'function getNonce(address, uint192) pure returns (uint256)',
92
+ ]),
93
+ address: entryPoint.address,
94
+ functionName: 'getNonce',
95
+ args: [address, key],
96
+ });
97
+ return nonce;
98
+ },
99
+ async getStubSignature() {
100
+ if (owner.type === 'webAuthn')
101
+ return '0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000001949fc7c88032b9fcb5f6efc7a7b8c63668eae9871b765e23123bb473ff57aa831a7c0d9276168ebcc29f2875a0239cffdf2a9cd1c2007c5c77c071db9264df1d000000000000000000000000000000000000000000000000000000000000002549960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a2273496a396e6164474850596759334b7156384f7a4a666c726275504b474f716d59576f4d57516869467773222c226f726967696e223a2268747470733a2f2f7369676e2e636f696e626173652e636f6d222c2263726f73734f726967696e223a66616c73657d00000000000000000000000000000000000000000000';
102
+ return wrapSignature({
103
+ signature: '0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c',
104
+ });
105
+ },
106
+ async sign(parameters) {
107
+ const address = await this.getAddress();
108
+ const hash = toReplaySafeHash({
109
+ address,
110
+ chainId: client.chain.id,
111
+ hash: parameters.hash,
112
+ });
113
+ const signature = await sign({ hash, owner });
114
+ return wrapSignature({
115
+ signature,
116
+ });
117
+ },
118
+ async signMessage(parameters) {
119
+ const { message } = parameters;
120
+ const address = await this.getAddress();
121
+ const hash = toReplaySafeHash({
122
+ address,
123
+ chainId: client.chain.id,
124
+ hash: hashMessage(message),
125
+ });
126
+ const signature = await sign({ hash, owner });
127
+ return wrapSignature({
128
+ signature,
129
+ });
130
+ },
131
+ async signTypedData(parameters) {
132
+ const { domain, types, primaryType, message } = parameters;
133
+ const address = await this.getAddress();
134
+ const hash = toReplaySafeHash({
135
+ address,
136
+ chainId: client.chain.id,
137
+ hash: hashTypedData({
138
+ domain,
139
+ message,
140
+ primaryType,
141
+ types,
142
+ }),
143
+ });
144
+ const signature = await sign({ hash, owner });
145
+ return wrapSignature({
146
+ signature,
147
+ });
148
+ },
149
+ async signUserOperation(parameters) {
150
+ const { chainId = client.chain.id, ...userOperation } = parameters;
151
+ const address = await this.getAddress();
152
+ const hash = getUserOperationHash({
153
+ chainId,
154
+ entryPointAddress: entryPoint.address,
155
+ entryPointVersion: entryPoint.version,
156
+ userOperation: {
157
+ ...userOperation,
158
+ sender: address,
159
+ },
160
+ });
161
+ const signature = await sign({ hash, owner });
162
+ return wrapSignature({
163
+ signature,
164
+ });
165
+ },
166
+ userOperation: {
167
+ async estimateGas(userOperation) {
168
+ if (owner.type !== 'webAuthn')
169
+ return;
170
+ // Accounts with WebAuthn owner require a minimum verification gas limit of 800,000.
171
+ return {
172
+ verificationGasLimit: BigInt(Math.max(Number(userOperation.verificationGasLimit ?? 0n), 800_000)),
173
+ };
174
+ },
175
+ },
176
+ });
177
+ }
178
+ /////////////////////////////////////////////////////////////////////////////////////////////
179
+ // Utilities
180
+ /////////////////////////////////////////////////////////////////////////////////////////////
181
+ /** @internal */
182
+ export async function sign({ hash, owner, }) {
183
+ // WebAuthn Account (Passkey)
184
+ if (owner.type === 'webAuthn') {
185
+ const { signature, webauthn } = await owner.sign({
186
+ hash,
187
+ });
188
+ return toWebAuthnSignature({ signature, webauthn });
189
+ }
190
+ if (owner.sign)
191
+ return owner.sign({ hash });
192
+ throw new BaseError('`owner` does not support raw sign.');
193
+ }
194
+ /** @internal */
195
+ export function toReplaySafeHash({ address, chainId, hash, }) {
196
+ return hashTypedData({
197
+ domain: {
198
+ chainId,
199
+ name: 'Coinbase Smart Wallet',
200
+ verifyingContract: address,
201
+ version: '1',
202
+ },
203
+ types: {
204
+ CoinbaseSmartWalletMessage: [
205
+ {
206
+ name: 'hash',
207
+ type: 'bytes32',
208
+ },
209
+ ],
210
+ },
211
+ primaryType: 'CoinbaseSmartWalletMessage',
212
+ message: {
213
+ hash,
214
+ },
215
+ });
216
+ }
217
+ /** @internal */
218
+ export function toWebAuthnSignature({ webauthn, signature, }) {
219
+ const { r, s } = parseP256Signature(signature);
220
+ return encodeAbiParameters([
221
+ {
222
+ components: [
223
+ {
224
+ name: 'authenticatorData',
225
+ type: 'bytes',
226
+ },
227
+ { name: 'clientDataJSON', type: 'bytes' },
228
+ { name: 'challengeIndex', type: 'uint256' },
229
+ { name: 'typeIndex', type: 'uint256' },
230
+ {
231
+ name: 'r',
232
+ type: 'uint256',
233
+ },
234
+ {
235
+ name: 's',
236
+ type: 'uint256',
237
+ },
238
+ ],
239
+ type: 'tuple',
240
+ },
241
+ ], [
242
+ {
243
+ authenticatorData: webauthn.authenticatorData,
244
+ clientDataJSON: stringToHex(webauthn.clientDataJSON),
245
+ challengeIndex: BigInt(webauthn.challengeIndex),
246
+ typeIndex: BigInt(webauthn.typeIndex),
247
+ r,
248
+ s,
249
+ },
250
+ ]);
251
+ }
252
+ /** @internal */
253
+ export function wrapSignature(parameters) {
254
+ const { ownerIndex = 0 } = parameters;
255
+ const signatureData = (() => {
256
+ if (size(parameters.signature) !== 65)
257
+ return parameters.signature;
258
+ const signature = parseSignature(parameters.signature);
259
+ return encodePacked(['bytes32', 'bytes32', 'uint8'], [signature.r, signature.s, signature.yParity === 0 ? 27 : 28]);
260
+ })();
261
+ return encodeAbiParameters([
262
+ {
263
+ components: [
264
+ {
265
+ name: 'ownerIndex',
266
+ type: 'uint8',
267
+ },
268
+ {
269
+ name: 'signatureData',
270
+ type: 'bytes',
271
+ },
272
+ ],
273
+ type: 'tuple',
274
+ },
275
+ ], [
276
+ {
277
+ ownerIndex,
278
+ signatureData,
279
+ },
280
+ ]);
281
+ }
282
+ /////////////////////////////////////////////////////////////////////////////////////////////
283
+ // Constants
284
+ /////////////////////////////////////////////////////////////////////////////////////////////
285
+ const abi = [
286
+ { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },
287
+ {
288
+ inputs: [{ name: 'owner', type: 'bytes' }],
289
+ name: 'AlreadyOwner',
290
+ type: 'error',
291
+ },
292
+ { inputs: [], name: 'Initialized', type: 'error' },
293
+ {
294
+ inputs: [{ name: 'owner', type: 'bytes' }],
295
+ name: 'InvalidEthereumAddressOwner',
296
+ type: 'error',
297
+ },
298
+ {
299
+ inputs: [{ name: 'key', type: 'uint256' }],
300
+ name: 'InvalidNonceKey',
301
+ type: 'error',
302
+ },
303
+ {
304
+ inputs: [{ name: 'owner', type: 'bytes' }],
305
+ name: 'InvalidOwnerBytesLength',
306
+ type: 'error',
307
+ },
308
+ { inputs: [], name: 'LastOwner', type: 'error' },
309
+ {
310
+ inputs: [{ name: 'index', type: 'uint256' }],
311
+ name: 'NoOwnerAtIndex',
312
+ type: 'error',
313
+ },
314
+ {
315
+ inputs: [{ name: 'ownersRemaining', type: 'uint256' }],
316
+ name: 'NotLastOwner',
317
+ type: 'error',
318
+ },
319
+ {
320
+ inputs: [{ name: 'selector', type: 'bytes4' }],
321
+ name: 'SelectorNotAllowed',
322
+ type: 'error',
323
+ },
324
+ { inputs: [], name: 'Unauthorized', type: 'error' },
325
+ { inputs: [], name: 'UnauthorizedCallContext', type: 'error' },
326
+ { inputs: [], name: 'UpgradeFailed', type: 'error' },
327
+ {
328
+ inputs: [
329
+ { name: 'index', type: 'uint256' },
330
+ { name: 'expectedOwner', type: 'bytes' },
331
+ { name: 'actualOwner', type: 'bytes' },
332
+ ],
333
+ name: 'WrongOwnerAtIndex',
334
+ type: 'error',
335
+ },
336
+ {
337
+ anonymous: false,
338
+ inputs: [
339
+ {
340
+ indexed: true,
341
+ name: 'index',
342
+ type: 'uint256',
343
+ },
344
+ { indexed: false, name: 'owner', type: 'bytes' },
345
+ ],
346
+ name: 'AddOwner',
347
+ type: 'event',
348
+ },
349
+ {
350
+ anonymous: false,
351
+ inputs: [
352
+ {
353
+ indexed: true,
354
+ name: 'index',
355
+ type: 'uint256',
356
+ },
357
+ { indexed: false, name: 'owner', type: 'bytes' },
358
+ ],
359
+ name: 'RemoveOwner',
360
+ type: 'event',
361
+ },
362
+ {
363
+ anonymous: false,
364
+ inputs: [
365
+ {
366
+ indexed: true,
367
+ name: 'implementation',
368
+ type: 'address',
369
+ },
370
+ ],
371
+ name: 'Upgraded',
372
+ type: 'event',
373
+ },
374
+ { stateMutability: 'payable', type: 'fallback' },
375
+ {
376
+ inputs: [],
377
+ name: 'REPLAYABLE_NONCE_KEY',
378
+ outputs: [{ name: '', type: 'uint256' }],
379
+ stateMutability: 'view',
380
+ type: 'function',
381
+ },
382
+ {
383
+ inputs: [{ name: 'owner', type: 'address' }],
384
+ name: 'addOwnerAddress',
385
+ outputs: [],
386
+ stateMutability: 'nonpayable',
387
+ type: 'function',
388
+ },
389
+ {
390
+ inputs: [
391
+ { name: 'x', type: 'bytes32' },
392
+ { name: 'y', type: 'bytes32' },
393
+ ],
394
+ name: 'addOwnerPublicKey',
395
+ outputs: [],
396
+ stateMutability: 'nonpayable',
397
+ type: 'function',
398
+ },
399
+ {
400
+ inputs: [{ name: 'functionSelector', type: 'bytes4' }],
401
+ name: 'canSkipChainIdValidation',
402
+ outputs: [{ name: '', type: 'bool' }],
403
+ stateMutability: 'pure',
404
+ type: 'function',
405
+ },
406
+ {
407
+ inputs: [],
408
+ name: 'domainSeparator',
409
+ outputs: [{ name: '', type: 'bytes32' }],
410
+ stateMutability: 'view',
411
+ type: 'function',
412
+ },
413
+ {
414
+ inputs: [],
415
+ name: 'eip712Domain',
416
+ outputs: [
417
+ { name: 'fields', type: 'bytes1' },
418
+ { name: 'name', type: 'string' },
419
+ { name: 'version', type: 'string' },
420
+ { name: 'chainId', type: 'uint256' },
421
+ { name: 'verifyingContract', type: 'address' },
422
+ { name: 'salt', type: 'bytes32' },
423
+ { name: 'extensions', type: 'uint256[]' },
424
+ ],
425
+ stateMutability: 'view',
426
+ type: 'function',
427
+ },
428
+ {
429
+ inputs: [],
430
+ name: 'entryPoint',
431
+ outputs: [{ name: '', type: 'address' }],
432
+ stateMutability: 'view',
433
+ type: 'function',
434
+ },
435
+ {
436
+ inputs: [
437
+ { name: 'target', type: 'address' },
438
+ { name: 'value', type: 'uint256' },
439
+ { name: 'data', type: 'bytes' },
440
+ ],
441
+ name: 'execute',
442
+ outputs: [],
443
+ stateMutability: 'payable',
444
+ type: 'function',
445
+ },
446
+ {
447
+ inputs: [
448
+ {
449
+ components: [
450
+ { name: 'target', type: 'address' },
451
+ { name: 'value', type: 'uint256' },
452
+ { name: 'data', type: 'bytes' },
453
+ ],
454
+ name: 'calls',
455
+ type: 'tuple[]',
456
+ },
457
+ ],
458
+ name: 'executeBatch',
459
+ outputs: [],
460
+ stateMutability: 'payable',
461
+ type: 'function',
462
+ },
463
+ {
464
+ inputs: [{ name: 'calls', type: 'bytes[]' }],
465
+ name: 'executeWithoutChainIdValidation',
466
+ outputs: [],
467
+ stateMutability: 'payable',
468
+ type: 'function',
469
+ },
470
+ {
471
+ inputs: [
472
+ {
473
+ components: [
474
+ { name: 'sender', type: 'address' },
475
+ { name: 'nonce', type: 'uint256' },
476
+ { name: 'initCode', type: 'bytes' },
477
+ { name: 'callData', type: 'bytes' },
478
+ { name: 'callGasLimit', type: 'uint256' },
479
+ {
480
+ name: 'verificationGasLimit',
481
+ type: 'uint256',
482
+ },
483
+ {
484
+ name: 'preVerificationGas',
485
+ type: 'uint256',
486
+ },
487
+ { name: 'maxFeePerGas', type: 'uint256' },
488
+ {
489
+ name: 'maxPriorityFeePerGas',
490
+ type: 'uint256',
491
+ },
492
+ { name: 'paymasterAndData', type: 'bytes' },
493
+ { name: 'signature', type: 'bytes' },
494
+ ],
495
+ name: 'userOp',
496
+ type: 'tuple',
497
+ },
498
+ ],
499
+ name: 'getUserOpHashWithoutChainId',
500
+ outputs: [{ name: '', type: 'bytes32' }],
501
+ stateMutability: 'view',
502
+ type: 'function',
503
+ },
504
+ {
505
+ inputs: [],
506
+ name: 'implementation',
507
+ outputs: [{ name: '$', type: 'address' }],
508
+ stateMutability: 'view',
509
+ type: 'function',
510
+ },
511
+ {
512
+ inputs: [{ name: 'owners', type: 'bytes[]' }],
513
+ name: 'initialize',
514
+ outputs: [],
515
+ stateMutability: 'payable',
516
+ type: 'function',
517
+ },
518
+ {
519
+ inputs: [{ name: 'account', type: 'address' }],
520
+ name: 'isOwnerAddress',
521
+ outputs: [{ name: '', type: 'bool' }],
522
+ stateMutability: 'view',
523
+ type: 'function',
524
+ },
525
+ {
526
+ inputs: [{ name: 'account', type: 'bytes' }],
527
+ name: 'isOwnerBytes',
528
+ outputs: [{ name: '', type: 'bool' }],
529
+ stateMutability: 'view',
530
+ type: 'function',
531
+ },
532
+ {
533
+ inputs: [
534
+ { name: 'x', type: 'bytes32' },
535
+ { name: 'y', type: 'bytes32' },
536
+ ],
537
+ name: 'isOwnerPublicKey',
538
+ outputs: [{ name: '', type: 'bool' }],
539
+ stateMutability: 'view',
540
+ type: 'function',
541
+ },
542
+ {
543
+ inputs: [
544
+ { name: 'hash', type: 'bytes32' },
545
+ { name: 'signature', type: 'bytes' },
546
+ ],
547
+ name: 'isValidSignature',
548
+ outputs: [{ name: 'result', type: 'bytes4' }],
549
+ stateMutability: 'view',
550
+ type: 'function',
551
+ },
552
+ {
553
+ inputs: [],
554
+ name: 'nextOwnerIndex',
555
+ outputs: [{ name: '', type: 'uint256' }],
556
+ stateMutability: 'view',
557
+ type: 'function',
558
+ },
559
+ {
560
+ inputs: [{ name: 'index', type: 'uint256' }],
561
+ name: 'ownerAtIndex',
562
+ outputs: [{ name: '', type: 'bytes' }],
563
+ stateMutability: 'view',
564
+ type: 'function',
565
+ },
566
+ {
567
+ inputs: [],
568
+ name: 'ownerCount',
569
+ outputs: [{ name: '', type: 'uint256' }],
570
+ stateMutability: 'view',
571
+ type: 'function',
572
+ },
573
+ {
574
+ inputs: [],
575
+ name: 'proxiableUUID',
576
+ outputs: [{ name: '', type: 'bytes32' }],
577
+ stateMutability: 'view',
578
+ type: 'function',
579
+ },
580
+ {
581
+ inputs: [
582
+ { name: 'index', type: 'uint256' },
583
+ { name: 'owner', type: 'bytes' },
584
+ ],
585
+ name: 'removeLastOwner',
586
+ outputs: [],
587
+ stateMutability: 'nonpayable',
588
+ type: 'function',
589
+ },
590
+ {
591
+ inputs: [
592
+ { name: 'index', type: 'uint256' },
593
+ { name: 'owner', type: 'bytes' },
594
+ ],
595
+ name: 'removeOwnerAtIndex',
596
+ outputs: [],
597
+ stateMutability: 'nonpayable',
598
+ type: 'function',
599
+ },
600
+ {
601
+ inputs: [],
602
+ name: 'removedOwnersCount',
603
+ outputs: [{ name: '', type: 'uint256' }],
604
+ stateMutability: 'view',
605
+ type: 'function',
606
+ },
607
+ {
608
+ inputs: [{ name: 'hash', type: 'bytes32' }],
609
+ name: 'replaySafeHash',
610
+ outputs: [{ name: '', type: 'bytes32' }],
611
+ stateMutability: 'view',
612
+ type: 'function',
613
+ },
614
+ {
615
+ inputs: [
616
+ { name: 'newImplementation', type: 'address' },
617
+ { name: 'data', type: 'bytes' },
618
+ ],
619
+ name: 'upgradeToAndCall',
620
+ outputs: [],
621
+ stateMutability: 'payable',
622
+ type: 'function',
623
+ },
624
+ {
625
+ inputs: [
626
+ {
627
+ components: [
628
+ { name: 'sender', type: 'address' },
629
+ { name: 'nonce', type: 'uint256' },
630
+ { name: 'initCode', type: 'bytes' },
631
+ { name: 'callData', type: 'bytes' },
632
+ { name: 'callGasLimit', type: 'uint256' },
633
+ {
634
+ name: 'verificationGasLimit',
635
+ type: 'uint256',
636
+ },
637
+ {
638
+ name: 'preVerificationGas',
639
+ type: 'uint256',
640
+ },
641
+ { name: 'maxFeePerGas', type: 'uint256' },
642
+ {
643
+ name: 'maxPriorityFeePerGas',
644
+ type: 'uint256',
645
+ },
646
+ { name: 'paymasterAndData', type: 'bytes' },
647
+ { name: 'signature', type: 'bytes' },
648
+ ],
649
+ name: 'userOp',
650
+ type: 'tuple',
651
+ },
652
+ { name: 'userOpHash', type: 'bytes32' },
653
+ { name: 'missingAccountFunds', type: 'uint256' },
654
+ ],
655
+ name: 'validateUserOp',
656
+ outputs: [{ name: 'validationData', type: 'uint256' }],
657
+ stateMutability: 'nonpayable',
658
+ type: 'function',
659
+ },
660
+ { stateMutability: 'payable', type: 'receive' },
661
+ ];
662
+ const factoryAbi = [
663
+ {
664
+ inputs: [{ name: 'implementation_', type: 'address' }],
665
+ stateMutability: 'payable',
666
+ type: 'constructor',
667
+ },
668
+ { inputs: [], name: 'OwnerRequired', type: 'error' },
669
+ {
670
+ inputs: [
671
+ { name: 'owners', type: 'bytes[]' },
672
+ { name: 'nonce', type: 'uint256' },
673
+ ],
674
+ name: 'createAccount',
675
+ outputs: [
676
+ {
677
+ name: 'account',
678
+ type: 'address',
679
+ },
680
+ ],
681
+ stateMutability: 'payable',
682
+ type: 'function',
683
+ },
684
+ {
685
+ inputs: [
686
+ { name: 'owners', type: 'bytes[]' },
687
+ { name: 'nonce', type: 'uint256' },
688
+ ],
689
+ name: 'getAddress',
690
+ outputs: [{ name: '', type: 'address' }],
691
+ stateMutability: 'view',
692
+ type: 'function',
693
+ },
694
+ {
695
+ inputs: [],
696
+ name: 'implementation',
697
+ outputs: [{ name: '', type: 'address' }],
698
+ stateMutability: 'view',
699
+ type: 'function',
700
+ },
701
+ {
702
+ inputs: [],
703
+ name: 'initCodeHash',
704
+ outputs: [{ name: '', type: 'bytes32' }],
705
+ stateMutability: 'view',
706
+ type: 'function',
707
+ },
708
+ ];
709
+ //# sourceMappingURL=toCoinbaseSmartAccount.js.map