@aa-sdk/core 4.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (743) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +54 -0
  3. package/dist/cjs/abis/EntryPointAbi_v6.d.ts +1018 -0
  4. package/dist/cjs/abis/EntryPointAbi_v6.js +1313 -0
  5. package/dist/cjs/abis/EntryPointAbi_v6.js.map +1 -0
  6. package/dist/cjs/abis/EntryPointAbi_v7.d.ts +775 -0
  7. package/dist/cjs/abis/EntryPointAbi_v7.js +661 -0
  8. package/dist/cjs/abis/EntryPointAbi_v7.js.map +1 -0
  9. package/dist/cjs/abis/SimpleAccountAbi_v6.d.ts +405 -0
  10. package/dist/cjs/abis/SimpleAccountAbi_v6.js +528 -0
  11. package/dist/cjs/abis/SimpleAccountAbi_v6.js.map +1 -0
  12. package/dist/cjs/abis/SimpleAccountAbi_v7.d.ts +410 -0
  13. package/dist/cjs/abis/SimpleAccountAbi_v7.js +538 -0
  14. package/dist/cjs/abis/SimpleAccountAbi_v7.js.map +1 -0
  15. package/dist/cjs/abis/SimpleAccountFactoryAbi.d.ts +55 -0
  16. package/dist/cjs/abis/SimpleAccountFactoryAbi.js +78 -0
  17. package/dist/cjs/abis/SimpleAccountFactoryAbi.js.map +1 -0
  18. package/dist/cjs/account/base.d.ts +49 -0
  19. package/dist/cjs/account/base.js +257 -0
  20. package/dist/cjs/account/base.js.map +1 -0
  21. package/dist/cjs/account/schema.d.ts +100 -0
  22. package/dist/cjs/account/schema.js +43 -0
  23. package/dist/cjs/account/schema.js.map +1 -0
  24. package/dist/cjs/account/simple.d.ts +14 -0
  25. package/dist/cjs/account/simple.js +119 -0
  26. package/dist/cjs/account/simple.js.map +1 -0
  27. package/dist/cjs/account/smartContractAccount.d.ts +68 -0
  28. package/dist/cjs/account/smartContractAccount.js +174 -0
  29. package/dist/cjs/account/smartContractAccount.js.map +1 -0
  30. package/dist/cjs/account/types.d.ts +30 -0
  31. package/dist/cjs/account/types.js +3 -0
  32. package/dist/cjs/account/types.js.map +1 -0
  33. package/dist/cjs/actions/bundler/estimateUserOperationGas.d.ts +8 -0
  34. package/dist/cjs/actions/bundler/estimateUserOperationGas.js +18 -0
  35. package/dist/cjs/actions/bundler/estimateUserOperationGas.js.map +1 -0
  36. package/dist/cjs/actions/bundler/getSupportedEntryPoints.d.ts +3 -0
  37. package/dist/cjs/actions/bundler/getSupportedEntryPoints.js +11 -0
  38. package/dist/cjs/actions/bundler/getSupportedEntryPoints.js.map +1 -0
  39. package/dist/cjs/actions/bundler/getUserOperationByHash.d.ts +6 -0
  40. package/dist/cjs/actions/bundler/getUserOperationByHash.js +11 -0
  41. package/dist/cjs/actions/bundler/getUserOperationByHash.js.map +1 -0
  42. package/dist/cjs/actions/bundler/getUserOperationReceipt.d.ts +6 -0
  43. package/dist/cjs/actions/bundler/getUserOperationReceipt.js +11 -0
  44. package/dist/cjs/actions/bundler/getUserOperationReceipt.js.map +1 -0
  45. package/dist/cjs/actions/bundler/sendRawUserOperation.d.ts +7 -0
  46. package/dist/cjs/actions/bundler/sendRawUserOperation.js +11 -0
  47. package/dist/cjs/actions/bundler/sendRawUserOperation.js.map +1 -0
  48. package/dist/cjs/actions/smartAccount/buildUserOperation.d.ts +5 -0
  49. package/dist/cjs/actions/smartAccount/buildUserOperation.js +25 -0
  50. package/dist/cjs/actions/smartAccount/buildUserOperation.js.map +1 -0
  51. package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.d.ts +5 -0
  52. package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.js +39 -0
  53. package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.js.map +1 -0
  54. package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.d.ts +4 -0
  55. package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.js +62 -0
  56. package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.js.map +1 -0
  57. package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +4 -0
  58. package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.js +34 -0
  59. package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.js.map +1 -0
  60. package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.d.ts +5 -0
  61. package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.js +64 -0
  62. package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.js.map +1 -0
  63. package/dist/cjs/actions/smartAccount/estimateUserOperationGas.d.ts +5 -0
  64. package/dist/cjs/actions/smartAccount/estimateUserOperationGas.js +23 -0
  65. package/dist/cjs/actions/smartAccount/estimateUserOperationGas.js.map +1 -0
  66. package/dist/cjs/actions/smartAccount/getAddress.d.ts +4 -0
  67. package/dist/cjs/actions/smartAccount/getAddress.js +13 -0
  68. package/dist/cjs/actions/smartAccount/getAddress.js.map +1 -0
  69. package/dist/cjs/actions/smartAccount/internal/initUserOperation.d.ts +7 -0
  70. package/dist/cjs/actions/smartAccount/internal/initUserOperation.js +42 -0
  71. package/dist/cjs/actions/smartAccount/internal/initUserOperation.js.map +1 -0
  72. package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.d.ts +10 -0
  73. package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.js +47 -0
  74. package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.js.map +1 -0
  75. package/dist/cjs/actions/smartAccount/internal/sendUserOperation.d.ts +10 -0
  76. package/dist/cjs/actions/smartAccount/internal/sendUserOperation.js +28 -0
  77. package/dist/cjs/actions/smartAccount/internal/sendUserOperation.js.map +1 -0
  78. package/dist/cjs/actions/smartAccount/sendTransaction.d.ts +5 -0
  79. package/dist/cjs/actions/smartAccount/sendTransaction.js +35 -0
  80. package/dist/cjs/actions/smartAccount/sendTransaction.js.map +1 -0
  81. package/dist/cjs/actions/smartAccount/sendTransactions.d.ts +4 -0
  82. package/dist/cjs/actions/smartAccount/sendTransactions.js +36 -0
  83. package/dist/cjs/actions/smartAccount/sendTransactions.js.map +1 -0
  84. package/dist/cjs/actions/smartAccount/sendUserOperation.d.ts +5 -0
  85. package/dist/cjs/actions/smartAccount/sendUserOperation.js +31 -0
  86. package/dist/cjs/actions/smartAccount/sendUserOperation.js.map +1 -0
  87. package/dist/cjs/actions/smartAccount/signMessage.d.ts +6 -0
  88. package/dist/cjs/actions/smartAccount/signMessage.js +12 -0
  89. package/dist/cjs/actions/smartAccount/signMessage.js.map +1 -0
  90. package/dist/cjs/actions/smartAccount/signMessageWith6492.d.ts +4 -0
  91. package/dist/cjs/actions/smartAccount/signMessageWith6492.js +12 -0
  92. package/dist/cjs/actions/smartAccount/signMessageWith6492.js.map +1 -0
  93. package/dist/cjs/actions/smartAccount/signTypedData.d.ts +10 -0
  94. package/dist/cjs/actions/smartAccount/signTypedData.js +12 -0
  95. package/dist/cjs/actions/smartAccount/signTypedData.js.map +1 -0
  96. package/dist/cjs/actions/smartAccount/signTypedDataWith6492.d.ts +6 -0
  97. package/dist/cjs/actions/smartAccount/signTypedDataWith6492.js +12 -0
  98. package/dist/cjs/actions/smartAccount/signTypedDataWith6492.js.map +1 -0
  99. package/dist/cjs/actions/smartAccount/signUserOperation.d.ts +5 -0
  100. package/dist/cjs/actions/smartAccount/signUserOperation.js +30 -0
  101. package/dist/cjs/actions/smartAccount/signUserOperation.js.map +1 -0
  102. package/dist/cjs/actions/smartAccount/types.d.ts +42 -0
  103. package/dist/cjs/actions/smartAccount/types.js +3 -0
  104. package/dist/cjs/actions/smartAccount/types.js.map +1 -0
  105. package/dist/cjs/actions/smartAccount/upgradeAccount.d.ts +4 -0
  106. package/dist/cjs/actions/smartAccount/upgradeAccount.js +38 -0
  107. package/dist/cjs/actions/smartAccount/upgradeAccount.js.map +1 -0
  108. package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.d.ts +3 -0
  109. package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.js +36 -0
  110. package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.js.map +1 -0
  111. package/dist/cjs/chains/index.d.ts +20 -0
  112. package/dist/cjs/chains/index.js +169 -0
  113. package/dist/cjs/chains/index.js.map +1 -0
  114. package/dist/cjs/client/bundlerClient.d.ts +10 -0
  115. package/dist/cjs/client/bundlerClient.js +51 -0
  116. package/dist/cjs/client/bundlerClient.js.map +1 -0
  117. package/dist/cjs/client/decorators/bundlerClient.d.ts +41 -0
  118. package/dist/cjs/client/decorators/bundlerClient.js +17 -0
  119. package/dist/cjs/client/decorators/bundlerClient.js.map +1 -0
  120. package/dist/cjs/client/decorators/smartAccountClient.d.ts +35 -0
  121. package/dist/cjs/client/decorators/smartAccountClient.js +43 -0
  122. package/dist/cjs/client/decorators/smartAccountClient.js.map +1 -0
  123. package/dist/cjs/client/isSmartAccountClient.d.ts +5 -0
  124. package/dist/cjs/client/isSmartAccountClient.js +18 -0
  125. package/dist/cjs/client/isSmartAccountClient.js.map +1 -0
  126. package/dist/cjs/client/schema.d.ts +767 -0
  127. package/dist/cjs/client/schema.js +63 -0
  128. package/dist/cjs/client/schema.js.map +1 -0
  129. package/dist/cjs/client/smartAccountClient.d.ts +33 -0
  130. package/dist/cjs/client/smartAccountClient.js +93 -0
  131. package/dist/cjs/client/smartAccountClient.js.map +1 -0
  132. package/dist/cjs/client/types.d.ts +26 -0
  133. package/dist/cjs/client/types.js +3 -0
  134. package/dist/cjs/client/types.js.map +1 -0
  135. package/dist/cjs/ens/utils.d.ts +6 -0
  136. package/dist/cjs/ens/utils.js +53 -0
  137. package/dist/cjs/ens/utils.js.map +1 -0
  138. package/dist/cjs/entrypoint/0.6.d.ts +1029 -0
  139. package/dist/cjs/entrypoint/0.6.js +49 -0
  140. package/dist/cjs/entrypoint/0.6.js.map +1 -0
  141. package/dist/cjs/entrypoint/0.7.d.ts +792 -0
  142. package/dist/cjs/entrypoint/0.7.js +88 -0
  143. package/dist/cjs/entrypoint/0.7.js.map +1 -0
  144. package/dist/cjs/entrypoint/index.d.ts +8 -0
  145. package/dist/cjs/entrypoint/index.js +53 -0
  146. package/dist/cjs/entrypoint/index.js.map +1 -0
  147. package/dist/cjs/entrypoint/types.d.ts +46 -0
  148. package/dist/cjs/entrypoint/types.js +3 -0
  149. package/dist/cjs/entrypoint/types.js.map +1 -0
  150. package/dist/cjs/errors/account.d.ts +47 -0
  151. package/dist/cjs/errors/account.js +140 -0
  152. package/dist/cjs/errors/account.js.map +1 -0
  153. package/dist/cjs/errors/base.d.ts +18 -0
  154. package/dist/cjs/errors/base.js +39 -0
  155. package/dist/cjs/errors/base.js.map +1 -0
  156. package/dist/cjs/errors/client.d.ts +14 -0
  157. package/dist/cjs/errors/client.js +44 -0
  158. package/dist/cjs/errors/client.js.map +1 -0
  159. package/dist/cjs/errors/entrypoint.d.ts +10 -0
  160. package/dist/cjs/errors/entrypoint.js +32 -0
  161. package/dist/cjs/errors/entrypoint.js.map +1 -0
  162. package/dist/cjs/errors/signer.d.ts +5 -0
  163. package/dist/cjs/errors/signer.js +20 -0
  164. package/dist/cjs/errors/signer.js.map +1 -0
  165. package/dist/cjs/errors/transaction.d.ts +10 -0
  166. package/dist/cjs/errors/transaction.js +29 -0
  167. package/dist/cjs/errors/transaction.js.map +1 -0
  168. package/dist/cjs/errors/useroperation.d.ts +10 -0
  169. package/dist/cjs/errors/useroperation.js +34 -0
  170. package/dist/cjs/errors/useroperation.js.map +1 -0
  171. package/dist/cjs/index.d.ts +63 -0
  172. package/dist/cjs/index.js +198 -0
  173. package/dist/cjs/index.js.map +1 -0
  174. package/dist/cjs/logger.d.ts +20 -0
  175. package/dist/cjs/logger.js +60 -0
  176. package/dist/cjs/logger.js.map +1 -0
  177. package/dist/cjs/middleware/actions.d.ts +12 -0
  178. package/dist/cjs/middleware/actions.js +37 -0
  179. package/dist/cjs/middleware/actions.js.map +1 -0
  180. package/dist/cjs/middleware/defaults/feeEstimator.d.ts +3 -0
  181. package/dist/cjs/middleware/defaults/feeEstimator.js +21 -0
  182. package/dist/cjs/middleware/defaults/feeEstimator.js.map +1 -0
  183. package/dist/cjs/middleware/defaults/gasEstimator.d.ts +3 -0
  184. package/dist/cjs/middleware/defaults/gasEstimator.js +26 -0
  185. package/dist/cjs/middleware/defaults/gasEstimator.js.map +1 -0
  186. package/dist/cjs/middleware/defaults/paymasterAndData.d.ts +2 -0
  187. package/dist/cjs/middleware/defaults/paymasterAndData.js +12 -0
  188. package/dist/cjs/middleware/defaults/paymasterAndData.js.map +1 -0
  189. package/dist/cjs/middleware/defaults/userOpSigner.d.ts +2 -0
  190. package/dist/cjs/middleware/defaults/userOpSigner.js +26 -0
  191. package/dist/cjs/middleware/defaults/userOpSigner.js.map +1 -0
  192. package/dist/cjs/middleware/noopMiddleware.d.ts +2 -0
  193. package/dist/cjs/middleware/noopMiddleware.js +8 -0
  194. package/dist/cjs/middleware/noopMiddleware.js.map +1 -0
  195. package/dist/cjs/middleware/types.d.ts +21 -0
  196. package/dist/cjs/middleware/types.js +3 -0
  197. package/dist/cjs/middleware/types.js.map +1 -0
  198. package/dist/cjs/package.json +1 -0
  199. package/dist/cjs/signer/local-account.d.ts +219 -0
  200. package/dist/cjs/signer/local-account.js +56 -0
  201. package/dist/cjs/signer/local-account.js.map +1 -0
  202. package/dist/cjs/signer/schema.d.ts +4 -0
  203. package/dist/cjs/signer/schema.js +16 -0
  204. package/dist/cjs/signer/schema.js.map +1 -0
  205. package/dist/cjs/signer/types.d.ts +15 -0
  206. package/dist/cjs/signer/types.js +3 -0
  207. package/dist/cjs/signer/types.js.map +1 -0
  208. package/dist/cjs/signer/utils.d.ts +15 -0
  209. package/dist/cjs/signer/utils.js +31 -0
  210. package/dist/cjs/signer/utils.js.map +1 -0
  211. package/dist/cjs/signer/wallet-client.d.ts +217 -0
  212. package/dist/cjs/signer/wallet-client.js +58 -0
  213. package/dist/cjs/signer/wallet-client.js.map +1 -0
  214. package/dist/cjs/transport/split.d.ts +9 -0
  215. package/dist/cjs/transport/split.js +26 -0
  216. package/dist/cjs/transport/split.js.map +1 -0
  217. package/dist/cjs/types.d.ts +158 -0
  218. package/dist/cjs/types.js +3 -0
  219. package/dist/cjs/types.js.map +1 -0
  220. package/dist/cjs/utils/bigint.d.ts +10 -0
  221. package/dist/cjs/utils/bigint.js +55 -0
  222. package/dist/cjs/utils/bigint.js.map +1 -0
  223. package/dist/cjs/utils/bytes.d.ts +7 -0
  224. package/dist/cjs/utils/bytes.js +11 -0
  225. package/dist/cjs/utils/bytes.js.map +1 -0
  226. package/dist/cjs/utils/defaults.d.ts +6 -0
  227. package/dist/cjs/utils/defaults.js +59 -0
  228. package/dist/cjs/utils/defaults.js.map +1 -0
  229. package/dist/cjs/utils/index.d.ts +23 -0
  230. package/dist/cjs/utils/index.js +127 -0
  231. package/dist/cjs/utils/index.js.map +1 -0
  232. package/dist/cjs/utils/schema.d.ts +25 -0
  233. package/dist/cjs/utils/schema.js +35 -0
  234. package/dist/cjs/utils/schema.js.map +1 -0
  235. package/dist/cjs/utils/stateOverride.d.ts +4 -0
  236. package/dist/cjs/utils/stateOverride.js +52 -0
  237. package/dist/cjs/utils/stateOverride.js.map +1 -0
  238. package/dist/cjs/utils/testUtils.d.ts +6 -0
  239. package/dist/cjs/utils/testUtils.js +33 -0
  240. package/dist/cjs/utils/testUtils.js.map +1 -0
  241. package/dist/cjs/utils/types.d.ts +16 -0
  242. package/dist/cjs/utils/types.js +3 -0
  243. package/dist/cjs/utils/types.js.map +1 -0
  244. package/dist/cjs/utils/userop.d.ts +49 -0
  245. package/dist/cjs/utils/userop.js +75 -0
  246. package/dist/cjs/utils/userop.js.map +1 -0
  247. package/dist/cjs/version.d.ts +1 -0
  248. package/dist/cjs/version.js +5 -0
  249. package/dist/cjs/version.js.map +1 -0
  250. package/dist/esm/abis/EntryPointAbi_v6.d.ts +1018 -0
  251. package/dist/esm/abis/EntryPointAbi_v6.js +1310 -0
  252. package/dist/esm/abis/EntryPointAbi_v6.js.map +1 -0
  253. package/dist/esm/abis/EntryPointAbi_v7.d.ts +775 -0
  254. package/dist/esm/abis/EntryPointAbi_v7.js +658 -0
  255. package/dist/esm/abis/EntryPointAbi_v7.js.map +1 -0
  256. package/dist/esm/abis/SimpleAccountAbi_v6.d.ts +405 -0
  257. package/dist/esm/abis/SimpleAccountAbi_v6.js +525 -0
  258. package/dist/esm/abis/SimpleAccountAbi_v6.js.map +1 -0
  259. package/dist/esm/abis/SimpleAccountAbi_v7.d.ts +410 -0
  260. package/dist/esm/abis/SimpleAccountAbi_v7.js +535 -0
  261. package/dist/esm/abis/SimpleAccountAbi_v7.js.map +1 -0
  262. package/dist/esm/abis/SimpleAccountFactoryAbi.d.ts +55 -0
  263. package/dist/esm/abis/SimpleAccountFactoryAbi.js +75 -0
  264. package/dist/esm/abis/SimpleAccountFactoryAbi.js.map +1 -0
  265. package/dist/esm/account/base.d.ts +49 -0
  266. package/dist/esm/account/base.js +253 -0
  267. package/dist/esm/account/base.js.map +1 -0
  268. package/dist/esm/account/schema.d.ts +100 -0
  269. package/dist/esm/account/schema.js +35 -0
  270. package/dist/esm/account/schema.js.map +1 -0
  271. package/dist/esm/account/simple.d.ts +14 -0
  272. package/dist/esm/account/simple.js +115 -0
  273. package/dist/esm/account/simple.js.map +1 -0
  274. package/dist/esm/account/smartContractAccount.d.ts +68 -0
  275. package/dist/esm/account/smartContractAccount.js +167 -0
  276. package/dist/esm/account/smartContractAccount.js.map +1 -0
  277. package/dist/esm/account/types.d.ts +30 -0
  278. package/dist/esm/account/types.js +2 -0
  279. package/dist/esm/account/types.js.map +1 -0
  280. package/dist/esm/actions/bundler/estimateUserOperationGas.d.ts +8 -0
  281. package/dist/esm/actions/bundler/estimateUserOperationGas.js +14 -0
  282. package/dist/esm/actions/bundler/estimateUserOperationGas.js.map +1 -0
  283. package/dist/esm/actions/bundler/getSupportedEntryPoints.d.ts +3 -0
  284. package/dist/esm/actions/bundler/getSupportedEntryPoints.js +7 -0
  285. package/dist/esm/actions/bundler/getSupportedEntryPoints.js.map +1 -0
  286. package/dist/esm/actions/bundler/getUserOperationByHash.d.ts +6 -0
  287. package/dist/esm/actions/bundler/getUserOperationByHash.js +7 -0
  288. package/dist/esm/actions/bundler/getUserOperationByHash.js.map +1 -0
  289. package/dist/esm/actions/bundler/getUserOperationReceipt.d.ts +6 -0
  290. package/dist/esm/actions/bundler/getUserOperationReceipt.js +7 -0
  291. package/dist/esm/actions/bundler/getUserOperationReceipt.js.map +1 -0
  292. package/dist/esm/actions/bundler/sendRawUserOperation.d.ts +7 -0
  293. package/dist/esm/actions/bundler/sendRawUserOperation.js +7 -0
  294. package/dist/esm/actions/bundler/sendRawUserOperation.js.map +1 -0
  295. package/dist/esm/actions/smartAccount/buildUserOperation.d.ts +5 -0
  296. package/dist/esm/actions/smartAccount/buildUserOperation.js +22 -0
  297. package/dist/esm/actions/smartAccount/buildUserOperation.js.map +1 -0
  298. package/dist/esm/actions/smartAccount/buildUserOperationFromTx.d.ts +5 -0
  299. package/dist/esm/actions/smartAccount/buildUserOperationFromTx.js +36 -0
  300. package/dist/esm/actions/smartAccount/buildUserOperationFromTx.js.map +1 -0
  301. package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.d.ts +4 -0
  302. package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.js +58 -0
  303. package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.js.map +1 -0
  304. package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +4 -0
  305. package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.js +30 -0
  306. package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.js.map +1 -0
  307. package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.d.ts +5 -0
  308. package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.js +60 -0
  309. package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.js.map +1 -0
  310. package/dist/esm/actions/smartAccount/estimateUserOperationGas.d.ts +5 -0
  311. package/dist/esm/actions/smartAccount/estimateUserOperationGas.js +20 -0
  312. package/dist/esm/actions/smartAccount/estimateUserOperationGas.js.map +1 -0
  313. package/dist/esm/actions/smartAccount/getAddress.d.ts +4 -0
  314. package/dist/esm/actions/smartAccount/getAddress.js +9 -0
  315. package/dist/esm/actions/smartAccount/getAddress.js.map +1 -0
  316. package/dist/esm/actions/smartAccount/internal/initUserOperation.d.ts +7 -0
  317. package/dist/esm/actions/smartAccount/internal/initUserOperation.js +38 -0
  318. package/dist/esm/actions/smartAccount/internal/initUserOperation.js.map +1 -0
  319. package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.d.ts +10 -0
  320. package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.js +43 -0
  321. package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.js.map +1 -0
  322. package/dist/esm/actions/smartAccount/internal/sendUserOperation.d.ts +10 -0
  323. package/dist/esm/actions/smartAccount/internal/sendUserOperation.js +24 -0
  324. package/dist/esm/actions/smartAccount/internal/sendUserOperation.js.map +1 -0
  325. package/dist/esm/actions/smartAccount/sendTransaction.d.ts +5 -0
  326. package/dist/esm/actions/smartAccount/sendTransaction.js +31 -0
  327. package/dist/esm/actions/smartAccount/sendTransaction.js.map +1 -0
  328. package/dist/esm/actions/smartAccount/sendTransactions.d.ts +4 -0
  329. package/dist/esm/actions/smartAccount/sendTransactions.js +32 -0
  330. package/dist/esm/actions/smartAccount/sendTransactions.js.map +1 -0
  331. package/dist/esm/actions/smartAccount/sendUserOperation.d.ts +5 -0
  332. package/dist/esm/actions/smartAccount/sendUserOperation.js +27 -0
  333. package/dist/esm/actions/smartAccount/sendUserOperation.js.map +1 -0
  334. package/dist/esm/actions/smartAccount/signMessage.d.ts +6 -0
  335. package/dist/esm/actions/smartAccount/signMessage.js +8 -0
  336. package/dist/esm/actions/smartAccount/signMessage.js.map +1 -0
  337. package/dist/esm/actions/smartAccount/signMessageWith6492.d.ts +4 -0
  338. package/dist/esm/actions/smartAccount/signMessageWith6492.js +8 -0
  339. package/dist/esm/actions/smartAccount/signMessageWith6492.js.map +1 -0
  340. package/dist/esm/actions/smartAccount/signTypedData.d.ts +10 -0
  341. package/dist/esm/actions/smartAccount/signTypedData.js +8 -0
  342. package/dist/esm/actions/smartAccount/signTypedData.js.map +1 -0
  343. package/dist/esm/actions/smartAccount/signTypedDataWith6492.d.ts +6 -0
  344. package/dist/esm/actions/smartAccount/signTypedDataWith6492.js +8 -0
  345. package/dist/esm/actions/smartAccount/signTypedDataWith6492.js.map +1 -0
  346. package/dist/esm/actions/smartAccount/signUserOperation.d.ts +5 -0
  347. package/dist/esm/actions/smartAccount/signUserOperation.js +26 -0
  348. package/dist/esm/actions/smartAccount/signUserOperation.js.map +1 -0
  349. package/dist/esm/actions/smartAccount/types.d.ts +42 -0
  350. package/dist/esm/actions/smartAccount/types.js +2 -0
  351. package/dist/esm/actions/smartAccount/types.js.map +1 -0
  352. package/dist/esm/actions/smartAccount/upgradeAccount.d.ts +4 -0
  353. package/dist/esm/actions/smartAccount/upgradeAccount.js +34 -0
  354. package/dist/esm/actions/smartAccount/upgradeAccount.js.map +1 -0
  355. package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.d.ts +3 -0
  356. package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.js +32 -0
  357. package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.js.map +1 -0
  358. package/dist/esm/chains/index.d.ts +20 -0
  359. package/dist/esm/chains/index.js +166 -0
  360. package/dist/esm/chains/index.js.map +1 -0
  361. package/dist/esm/client/bundlerClient.d.ts +10 -0
  362. package/dist/esm/client/bundlerClient.js +46 -0
  363. package/dist/esm/client/bundlerClient.js.map +1 -0
  364. package/dist/esm/client/decorators/bundlerClient.d.ts +41 -0
  365. package/dist/esm/client/decorators/bundlerClient.js +13 -0
  366. package/dist/esm/client/decorators/bundlerClient.js.map +1 -0
  367. package/dist/esm/client/decorators/smartAccountClient.d.ts +35 -0
  368. package/dist/esm/client/decorators/smartAccountClient.js +40 -0
  369. package/dist/esm/client/decorators/smartAccountClient.js.map +1 -0
  370. package/dist/esm/client/isSmartAccountClient.d.ts +5 -0
  371. package/dist/esm/client/isSmartAccountClient.js +13 -0
  372. package/dist/esm/client/isSmartAccountClient.js.map +1 -0
  373. package/dist/esm/client/schema.d.ts +767 -0
  374. package/dist/esm/client/schema.js +59 -0
  375. package/dist/esm/client/schema.js.map +1 -0
  376. package/dist/esm/client/smartAccountClient.d.ts +33 -0
  377. package/dist/esm/client/smartAccountClient.js +90 -0
  378. package/dist/esm/client/smartAccountClient.js.map +1 -0
  379. package/dist/esm/client/types.d.ts +26 -0
  380. package/dist/esm/client/types.js +2 -0
  381. package/dist/esm/client/types.js.map +1 -0
  382. package/dist/esm/ens/utils.d.ts +6 -0
  383. package/dist/esm/ens/utils.js +24 -0
  384. package/dist/esm/ens/utils.js.map +1 -0
  385. package/dist/esm/entrypoint/0.6.d.ts +1029 -0
  386. package/dist/esm/entrypoint/0.6.js +47 -0
  387. package/dist/esm/entrypoint/0.6.js.map +1 -0
  388. package/dist/esm/entrypoint/0.7.d.ts +792 -0
  389. package/dist/esm/entrypoint/0.7.js +82 -0
  390. package/dist/esm/entrypoint/0.7.js.map +1 -0
  391. package/dist/esm/entrypoint/index.d.ts +8 -0
  392. package/dist/esm/entrypoint/index.js +46 -0
  393. package/dist/esm/entrypoint/index.js.map +1 -0
  394. package/dist/esm/entrypoint/types.d.ts +46 -0
  395. package/dist/esm/entrypoint/types.js +2 -0
  396. package/dist/esm/entrypoint/types.js.map +1 -0
  397. package/dist/esm/errors/account.d.ts +47 -0
  398. package/dist/esm/errors/account.js +126 -0
  399. package/dist/esm/errors/account.js.map +1 -0
  400. package/dist/esm/errors/base.d.ts +18 -0
  401. package/dist/esm/errors/base.js +35 -0
  402. package/dist/esm/errors/base.js.map +1 -0
  403. package/dist/esm/errors/client.d.ts +14 -0
  404. package/dist/esm/errors/client.js +38 -0
  405. package/dist/esm/errors/client.js.map +1 -0
  406. package/dist/esm/errors/entrypoint.d.ts +10 -0
  407. package/dist/esm/errors/entrypoint.js +27 -0
  408. package/dist/esm/errors/entrypoint.js.map +1 -0
  409. package/dist/esm/errors/signer.d.ts +5 -0
  410. package/dist/esm/errors/signer.js +16 -0
  411. package/dist/esm/errors/signer.js.map +1 -0
  412. package/dist/esm/errors/transaction.d.ts +10 -0
  413. package/dist/esm/errors/transaction.js +24 -0
  414. package/dist/esm/errors/transaction.js.map +1 -0
  415. package/dist/esm/errors/useroperation.d.ts +10 -0
  416. package/dist/esm/errors/useroperation.js +29 -0
  417. package/dist/esm/errors/useroperation.js.map +1 -0
  418. package/dist/esm/index.d.ts +63 -0
  419. package/dist/esm/index.js +48 -0
  420. package/dist/esm/index.js.map +1 -0
  421. package/dist/esm/logger.d.ts +20 -0
  422. package/dist/esm/logger.js +56 -0
  423. package/dist/esm/logger.js.map +1 -0
  424. package/dist/esm/middleware/actions.d.ts +12 -0
  425. package/dist/esm/middleware/actions.js +33 -0
  426. package/dist/esm/middleware/actions.js.map +1 -0
  427. package/dist/esm/middleware/defaults/feeEstimator.d.ts +3 -0
  428. package/dist/esm/middleware/defaults/feeEstimator.js +17 -0
  429. package/dist/esm/middleware/defaults/feeEstimator.js.map +1 -0
  430. package/dist/esm/middleware/defaults/gasEstimator.d.ts +3 -0
  431. package/dist/esm/middleware/defaults/gasEstimator.js +22 -0
  432. package/dist/esm/middleware/defaults/gasEstimator.js.map +1 -0
  433. package/dist/esm/middleware/defaults/paymasterAndData.d.ts +2 -0
  434. package/dist/esm/middleware/defaults/paymasterAndData.js +8 -0
  435. package/dist/esm/middleware/defaults/paymasterAndData.js.map +1 -0
  436. package/dist/esm/middleware/defaults/userOpSigner.d.ts +2 -0
  437. package/dist/esm/middleware/defaults/userOpSigner.js +22 -0
  438. package/dist/esm/middleware/defaults/userOpSigner.js.map +1 -0
  439. package/dist/esm/middleware/noopMiddleware.d.ts +2 -0
  440. package/dist/esm/middleware/noopMiddleware.js +4 -0
  441. package/dist/esm/middleware/noopMiddleware.js.map +1 -0
  442. package/dist/esm/middleware/types.d.ts +21 -0
  443. package/dist/esm/middleware/types.js +2 -0
  444. package/dist/esm/middleware/types.js.map +1 -0
  445. package/dist/esm/package.json +1 -0
  446. package/dist/esm/signer/local-account.d.ts +219 -0
  447. package/dist/esm/signer/local-account.js +53 -0
  448. package/dist/esm/signer/local-account.js.map +1 -0
  449. package/dist/esm/signer/schema.d.ts +4 -0
  450. package/dist/esm/signer/schema.js +12 -0
  451. package/dist/esm/signer/schema.js.map +1 -0
  452. package/dist/esm/signer/types.d.ts +15 -0
  453. package/dist/esm/signer/types.js +2 -0
  454. package/dist/esm/signer/types.js.map +1 -0
  455. package/dist/esm/signer/utils.d.ts +15 -0
  456. package/dist/esm/signer/utils.js +26 -0
  457. package/dist/esm/signer/utils.js.map +1 -0
  458. package/dist/esm/signer/wallet-client.d.ts +217 -0
  459. package/dist/esm/signer/wallet-client.js +54 -0
  460. package/dist/esm/signer/wallet-client.js.map +1 -0
  461. package/dist/esm/transport/split.d.ts +9 -0
  462. package/dist/esm/transport/split.js +22 -0
  463. package/dist/esm/transport/split.js.map +1 -0
  464. package/dist/esm/types.d.ts +158 -0
  465. package/dist/esm/types.js +2 -0
  466. package/dist/esm/types.js.map +1 -0
  467. package/dist/esm/utils/bigint.d.ts +10 -0
  468. package/dist/esm/utils/bigint.js +47 -0
  469. package/dist/esm/utils/bigint.js.map +1 -0
  470. package/dist/esm/utils/bytes.d.ts +7 -0
  471. package/dist/esm/utils/bytes.js +7 -0
  472. package/dist/esm/utils/bytes.js.map +1 -0
  473. package/dist/esm/utils/defaults.d.ts +6 -0
  474. package/dist/esm/utils/defaults.js +55 -0
  475. package/dist/esm/utils/defaults.js.map +1 -0
  476. package/dist/esm/utils/index.d.ts +23 -0
  477. package/dist/esm/utils/index.js +88 -0
  478. package/dist/esm/utils/index.js.map +1 -0
  479. package/dist/esm/utils/schema.d.ts +25 -0
  480. package/dist/esm/utils/schema.js +30 -0
  481. package/dist/esm/utils/schema.js.map +1 -0
  482. package/dist/esm/utils/stateOverride.d.ts +4 -0
  483. package/dist/esm/utils/stateOverride.js +48 -0
  484. package/dist/esm/utils/stateOverride.js.map +1 -0
  485. package/dist/esm/utils/testUtils.d.ts +6 -0
  486. package/dist/esm/utils/testUtils.js +28 -0
  487. package/dist/esm/utils/testUtils.js.map +1 -0
  488. package/dist/esm/utils/types.d.ts +16 -0
  489. package/dist/esm/utils/types.js +2 -0
  490. package/dist/esm/utils/types.js.map +1 -0
  491. package/dist/esm/utils/userop.d.ts +49 -0
  492. package/dist/esm/utils/userop.js +62 -0
  493. package/dist/esm/utils/userop.js.map +1 -0
  494. package/dist/esm/version.d.ts +1 -0
  495. package/dist/esm/version.js +2 -0
  496. package/dist/esm/version.js.map +1 -0
  497. package/dist/types/abis/EntryPointAbi_v6.d.ts +1019 -0
  498. package/dist/types/abis/EntryPointAbi_v6.d.ts.map +1 -0
  499. package/dist/types/abis/EntryPointAbi_v7.d.ts +776 -0
  500. package/dist/types/abis/EntryPointAbi_v7.d.ts.map +1 -0
  501. package/dist/types/abis/SimpleAccountAbi_v6.d.ts +406 -0
  502. package/dist/types/abis/SimpleAccountAbi_v6.d.ts.map +1 -0
  503. package/dist/types/abis/SimpleAccountAbi_v7.d.ts +411 -0
  504. package/dist/types/abis/SimpleAccountAbi_v7.d.ts.map +1 -0
  505. package/dist/types/abis/SimpleAccountFactoryAbi.d.ts +56 -0
  506. package/dist/types/abis/SimpleAccountFactoryAbi.d.ts.map +1 -0
  507. package/dist/types/account/base.d.ts +128 -0
  508. package/dist/types/account/base.d.ts.map +1 -0
  509. package/dist/types/account/schema.d.ts +101 -0
  510. package/dist/types/account/schema.d.ts.map +1 -0
  511. package/dist/types/account/simple.d.ts +15 -0
  512. package/dist/types/account/simple.d.ts.map +1 -0
  513. package/dist/types/account/smartContractAccount.d.ts +69 -0
  514. package/dist/types/account/smartContractAccount.d.ts.map +1 -0
  515. package/dist/types/account/types.d.ts +144 -0
  516. package/dist/types/account/types.d.ts.map +1 -0
  517. package/dist/types/actions/bundler/estimateUserOperationGas.d.ts +9 -0
  518. package/dist/types/actions/bundler/estimateUserOperationGas.d.ts.map +1 -0
  519. package/dist/types/actions/bundler/getSupportedEntryPoints.d.ts +4 -0
  520. package/dist/types/actions/bundler/getSupportedEntryPoints.d.ts.map +1 -0
  521. package/dist/types/actions/bundler/getUserOperationByHash.d.ts +7 -0
  522. package/dist/types/actions/bundler/getUserOperationByHash.d.ts.map +1 -0
  523. package/dist/types/actions/bundler/getUserOperationReceipt.d.ts +7 -0
  524. package/dist/types/actions/bundler/getUserOperationReceipt.d.ts.map +1 -0
  525. package/dist/types/actions/bundler/sendRawUserOperation.d.ts +8 -0
  526. package/dist/types/actions/bundler/sendRawUserOperation.d.ts.map +1 -0
  527. package/dist/types/actions/smartAccount/buildUserOperation.d.ts +6 -0
  528. package/dist/types/actions/smartAccount/buildUserOperation.d.ts.map +1 -0
  529. package/dist/types/actions/smartAccount/buildUserOperationFromTx.d.ts +45 -0
  530. package/dist/types/actions/smartAccount/buildUserOperationFromTx.d.ts.map +1 -0
  531. package/dist/types/actions/smartAccount/buildUserOperationFromTxs.d.ts +75 -0
  532. package/dist/types/actions/smartAccount/buildUserOperationFromTxs.d.ts.map +1 -0
  533. package/dist/types/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +33 -0
  534. package/dist/types/actions/smartAccount/checkGasSponsorshipEligibility.d.ts.map +1 -0
  535. package/dist/types/actions/smartAccount/dropAndReplaceUserOperation.d.ts +6 -0
  536. package/dist/types/actions/smartAccount/dropAndReplaceUserOperation.d.ts.map +1 -0
  537. package/dist/types/actions/smartAccount/estimateUserOperationGas.d.ts +19 -0
  538. package/dist/types/actions/smartAccount/estimateUserOperationGas.d.ts.map +1 -0
  539. package/dist/types/actions/smartAccount/getAddress.d.ts +5 -0
  540. package/dist/types/actions/smartAccount/getAddress.d.ts.map +1 -0
  541. package/dist/types/actions/smartAccount/internal/initUserOperation.d.ts +22 -0
  542. package/dist/types/actions/smartAccount/internal/initUserOperation.d.ts.map +1 -0
  543. package/dist/types/actions/smartAccount/internal/runMiddlewareStack.d.ts +25 -0
  544. package/dist/types/actions/smartAccount/internal/runMiddlewareStack.d.ts.map +1 -0
  545. package/dist/types/actions/smartAccount/internal/sendUserOperation.d.ts +18 -0
  546. package/dist/types/actions/smartAccount/internal/sendUserOperation.d.ts.map +1 -0
  547. package/dist/types/actions/smartAccount/sendTransaction.d.ts +6 -0
  548. package/dist/types/actions/smartAccount/sendTransaction.d.ts.map +1 -0
  549. package/dist/types/actions/smartAccount/sendTransactions.d.ts +5 -0
  550. package/dist/types/actions/smartAccount/sendTransactions.d.ts.map +1 -0
  551. package/dist/types/actions/smartAccount/sendUserOperation.d.ts +13 -0
  552. package/dist/types/actions/smartAccount/sendUserOperation.d.ts.map +1 -0
  553. package/dist/types/actions/smartAccount/signMessage.d.ts +7 -0
  554. package/dist/types/actions/smartAccount/signMessage.d.ts.map +1 -0
  555. package/dist/types/actions/smartAccount/signMessageWith6492.d.ts +5 -0
  556. package/dist/types/actions/smartAccount/signMessageWith6492.d.ts.map +1 -0
  557. package/dist/types/actions/smartAccount/signTypedData.d.ts +11 -0
  558. package/dist/types/actions/smartAccount/signTypedData.d.ts.map +1 -0
  559. package/dist/types/actions/smartAccount/signTypedDataWith6492.d.ts +7 -0
  560. package/dist/types/actions/smartAccount/signTypedDataWith6492.d.ts.map +1 -0
  561. package/dist/types/actions/smartAccount/signUserOperation.d.ts +6 -0
  562. package/dist/types/actions/smartAccount/signUserOperation.d.ts.map +1 -0
  563. package/dist/types/actions/smartAccount/types.d.ts +57 -0
  564. package/dist/types/actions/smartAccount/types.d.ts.map +1 -0
  565. package/dist/types/actions/smartAccount/upgradeAccount.d.ts +5 -0
  566. package/dist/types/actions/smartAccount/upgradeAccount.d.ts.map +1 -0
  567. package/dist/types/actions/smartAccount/waitForUserOperationTransacation.d.ts +4 -0
  568. package/dist/types/actions/smartAccount/waitForUserOperationTransacation.d.ts.map +1 -0
  569. package/dist/types/chains/index.d.ts +21 -0
  570. package/dist/types/chains/index.d.ts.map +1 -0
  571. package/dist/types/client/bundlerClient.d.ts +17 -0
  572. package/dist/types/client/bundlerClient.d.ts.map +1 -0
  573. package/dist/types/client/decorators/bundlerClient.d.ts +74 -0
  574. package/dist/types/client/decorators/bundlerClient.d.ts.map +1 -0
  575. package/dist/types/client/decorators/smartAccountClient.d.ts +36 -0
  576. package/dist/types/client/decorators/smartAccountClient.d.ts.map +1 -0
  577. package/dist/types/client/isSmartAccountClient.d.ts +22 -0
  578. package/dist/types/client/isSmartAccountClient.d.ts.map +1 -0
  579. package/dist/types/client/schema.d.ts +780 -0
  580. package/dist/types/client/schema.d.ts.map +1 -0
  581. package/dist/types/client/smartAccountClient.d.ts +34 -0
  582. package/dist/types/client/smartAccountClient.d.ts.map +1 -0
  583. package/dist/types/client/types.d.ts +27 -0
  584. package/dist/types/client/types.d.ts.map +1 -0
  585. package/dist/types/ens/utils.d.ts +7 -0
  586. package/dist/types/ens/utils.d.ts.map +1 -0
  587. package/dist/types/entrypoint/0.6.d.ts +1030 -0
  588. package/dist/types/entrypoint/0.6.d.ts.map +1 -0
  589. package/dist/types/entrypoint/0.7.d.ts +793 -0
  590. package/dist/types/entrypoint/0.7.d.ts.map +1 -0
  591. package/dist/types/entrypoint/index.d.ts +9 -0
  592. package/dist/types/entrypoint/index.d.ts.map +1 -0
  593. package/dist/types/entrypoint/types.d.ts +64 -0
  594. package/dist/types/entrypoint/types.d.ts.map +1 -0
  595. package/dist/types/errors/account.d.ts +48 -0
  596. package/dist/types/errors/account.d.ts.map +1 -0
  597. package/dist/types/errors/base.d.ts +19 -0
  598. package/dist/types/errors/base.d.ts.map +1 -0
  599. package/dist/types/errors/client.d.ts +15 -0
  600. package/dist/types/errors/client.d.ts.map +1 -0
  601. package/dist/types/errors/entrypoint.d.ts +11 -0
  602. package/dist/types/errors/entrypoint.d.ts.map +1 -0
  603. package/dist/types/errors/signer.d.ts +6 -0
  604. package/dist/types/errors/signer.d.ts.map +1 -0
  605. package/dist/types/errors/transaction.d.ts +11 -0
  606. package/dist/types/errors/transaction.d.ts.map +1 -0
  607. package/dist/types/errors/useroperation.d.ts +36 -0
  608. package/dist/types/errors/useroperation.d.ts.map +1 -0
  609. package/dist/types/index.d.ts +64 -0
  610. package/dist/types/index.d.ts.map +1 -0
  611. package/dist/types/logger.d.ts +21 -0
  612. package/dist/types/logger.d.ts.map +1 -0
  613. package/dist/types/middleware/actions.d.ts +27 -0
  614. package/dist/types/middleware/actions.d.ts.map +1 -0
  615. package/dist/types/middleware/defaults/feeEstimator.d.ts +4 -0
  616. package/dist/types/middleware/defaults/feeEstimator.d.ts.map +1 -0
  617. package/dist/types/middleware/defaults/gasEstimator.d.ts +12 -0
  618. package/dist/types/middleware/defaults/gasEstimator.d.ts.map +1 -0
  619. package/dist/types/middleware/defaults/paymasterAndData.d.ts +3 -0
  620. package/dist/types/middleware/defaults/paymasterAndData.d.ts.map +1 -0
  621. package/dist/types/middleware/defaults/userOpSigner.d.ts +3 -0
  622. package/dist/types/middleware/defaults/userOpSigner.d.ts.map +1 -0
  623. package/dist/types/middleware/noopMiddleware.d.ts +10 -0
  624. package/dist/types/middleware/noopMiddleware.d.ts.map +1 -0
  625. package/dist/types/middleware/types.d.ts +22 -0
  626. package/dist/types/middleware/types.d.ts.map +1 -0
  627. package/dist/types/signer/local-account.d.ts +220 -0
  628. package/dist/types/signer/local-account.d.ts.map +1 -0
  629. package/dist/types/signer/schema.d.ts +5 -0
  630. package/dist/types/signer/schema.d.ts.map +1 -0
  631. package/dist/types/signer/types.d.ts +28 -0
  632. package/dist/types/signer/types.d.ts.map +1 -0
  633. package/dist/types/signer/utils.d.ts +16 -0
  634. package/dist/types/signer/utils.d.ts.map +1 -0
  635. package/dist/types/signer/wallet-client.d.ts +218 -0
  636. package/dist/types/signer/wallet-client.d.ts.map +1 -0
  637. package/dist/types/transport/split.d.ts +42 -0
  638. package/dist/types/transport/split.d.ts.map +1 -0
  639. package/dist/types/types.d.ts +176 -0
  640. package/dist/types/types.d.ts.map +1 -0
  641. package/dist/types/utils/bigint.d.ts +56 -0
  642. package/dist/types/utils/bigint.d.ts.map +1 -0
  643. package/dist/types/utils/bytes.d.ts +17 -0
  644. package/dist/types/utils/bytes.d.ts.map +1 -0
  645. package/dist/types/utils/defaults.d.ts +15 -0
  646. package/dist/types/utils/defaults.d.ts.map +1 -0
  647. package/dist/types/utils/index.d.ts +63 -0
  648. package/dist/types/utils/index.d.ts.map +1 -0
  649. package/dist/types/utils/schema.d.ts +29 -0
  650. package/dist/types/utils/schema.d.ts.map +1 -0
  651. package/dist/types/utils/stateOverride.d.ts +5 -0
  652. package/dist/types/utils/stateOverride.d.ts.map +1 -0
  653. package/dist/types/utils/testUtils.d.ts +7 -0
  654. package/dist/types/utils/testUtils.d.ts.map +1 -0
  655. package/dist/types/utils/types.d.ts +39 -0
  656. package/dist/types/utils/types.d.ts.map +1 -0
  657. package/dist/types/utils/userop.d.ts +129 -0
  658. package/dist/types/utils/userop.d.ts.map +1 -0
  659. package/dist/types/version.d.ts +2 -0
  660. package/dist/types/version.d.ts.map +1 -0
  661. package/package.json +70 -0
  662. package/src/abis/EntryPointAbi_v6.ts +1309 -0
  663. package/src/abis/EntryPointAbi_v7.ts +658 -0
  664. package/src/abis/SimpleAccountAbi_v6.ts +524 -0
  665. package/src/abis/SimpleAccountAbi_v7.ts +534 -0
  666. package/src/abis/SimpleAccountFactoryAbi.ts +74 -0
  667. package/src/account/base.ts +415 -0
  668. package/src/account/schema.ts +51 -0
  669. package/src/account/simple.ts +215 -0
  670. package/src/account/smartContractAccount.ts +406 -0
  671. package/src/account/types.ts +184 -0
  672. package/src/actions/bundler/estimateUserOperationGas.ts +32 -0
  673. package/src/actions/bundler/getSupportedEntryPoints.ts +13 -0
  674. package/src/actions/bundler/getUserOperationByHash.ts +17 -0
  675. package/src/actions/bundler/getUserOperationReceipt.ts +17 -0
  676. package/src/actions/bundler/sendRawUserOperation.ts +20 -0
  677. package/src/actions/smartAccount/buildUserOperation.ts +52 -0
  678. package/src/actions/smartAccount/buildUserOperationFromTx.ts +112 -0
  679. package/src/actions/smartAccount/buildUserOperationFromTxs.ts +168 -0
  680. package/src/actions/smartAccount/checkGasSponsorshipEligibility.ts +86 -0
  681. package/src/actions/smartAccount/dropAndReplaceUserOperation.ts +111 -0
  682. package/src/actions/smartAccount/estimateUserOperationGas.ts +65 -0
  683. package/src/actions/smartAccount/getAddress.ts +25 -0
  684. package/src/actions/smartAccount/internal/initUserOperation.ts +93 -0
  685. package/src/actions/smartAccount/internal/runMiddlewareStack.ts +121 -0
  686. package/src/actions/smartAccount/internal/sendUserOperation.ts +64 -0
  687. package/src/actions/smartAccount/sendTransaction.ts +73 -0
  688. package/src/actions/smartAccount/sendTransactions.ts +53 -0
  689. package/src/actions/smartAccount/sendUserOperation.ts +65 -0
  690. package/src/actions/smartAccount/signMessage.ts +28 -0
  691. package/src/actions/smartAccount/signMessageWith6492.ts +21 -0
  692. package/src/actions/smartAccount/signTypedData.ts +42 -0
  693. package/src/actions/smartAccount/signTypedDataWith6492.ts +23 -0
  694. package/src/actions/smartAccount/signUserOperation.ts +54 -0
  695. package/src/actions/smartAccount/types.ts +158 -0
  696. package/src/actions/smartAccount/upgradeAccount.ts +66 -0
  697. package/src/actions/smartAccount/waitForUserOperationTransacation.ts +58 -0
  698. package/src/chains/index.ts +194 -0
  699. package/src/client/bundlerClient.ts +107 -0
  700. package/src/client/decorators/bundlerClient.ts +129 -0
  701. package/src/client/decorators/smartAccountClient.ts +177 -0
  702. package/src/client/isSmartAccountClient.ts +53 -0
  703. package/src/client/schema.ts +92 -0
  704. package/src/client/smartAccountClient.ts +276 -0
  705. package/src/client/types.ts +51 -0
  706. package/src/ens/utils.ts +37 -0
  707. package/src/entrypoint/0.6.ts +74 -0
  708. package/src/entrypoint/0.7.ts +153 -0
  709. package/src/entrypoint/index.ts +152 -0
  710. package/src/entrypoint/types.ts +120 -0
  711. package/src/errors/account.ts +87 -0
  712. package/src/errors/base.ts +48 -0
  713. package/src/errors/client.ts +28 -0
  714. package/src/errors/entrypoint.ts +25 -0
  715. package/src/errors/signer.ts +13 -0
  716. package/src/errors/transaction.ts +16 -0
  717. package/src/errors/useroperation.ts +54 -0
  718. package/src/index.ts +172 -0
  719. package/src/logger.ts +58 -0
  720. package/src/middleware/actions.ts +92 -0
  721. package/src/middleware/defaults/feeEstimator.ts +50 -0
  722. package/src/middleware/defaults/gasEstimator.ts +66 -0
  723. package/src/middleware/defaults/paymasterAndData.ts +13 -0
  724. package/src/middleware/defaults/userOpSigner.ts +35 -0
  725. package/src/middleware/noopMiddleware.ts +12 -0
  726. package/src/middleware/types.ts +49 -0
  727. package/src/signer/local-account.ts +59 -0
  728. package/src/signer/schema.ts +16 -0
  729. package/src/signer/types.ts +46 -0
  730. package/src/signer/utils.ts +68 -0
  731. package/src/signer/wallet-client.ts +49 -0
  732. package/src/transport/split.ts +69 -0
  733. package/src/types.ts +411 -0
  734. package/src/utils/bigint.ts +118 -0
  735. package/src/utils/bytes.ts +23 -0
  736. package/src/utils/defaults.ts +93 -0
  737. package/src/utils/index.ts +173 -0
  738. package/src/utils/schema.ts +52 -0
  739. package/src/utils/stateOverride.ts +80 -0
  740. package/src/utils/testUtils.ts +42 -0
  741. package/src/utils/types.ts +94 -0
  742. package/src/utils/userop.ts +220 -0
  743. package/src/version.ts +3 -0
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimpleAccountFactoryAbi = void 0;
4
+ exports.SimpleAccountFactoryAbi = [
5
+ {
6
+ inputs: [
7
+ {
8
+ internalType: "contract IEntryPoint",
9
+ name: "_entryPoint",
10
+ type: "address",
11
+ },
12
+ ],
13
+ stateMutability: "nonpayable",
14
+ type: "constructor",
15
+ },
16
+ {
17
+ inputs: [],
18
+ name: "accountImplementation",
19
+ outputs: [
20
+ {
21
+ internalType: "contract SimpleAccount",
22
+ name: "",
23
+ type: "address",
24
+ },
25
+ ],
26
+ stateMutability: "view",
27
+ type: "function",
28
+ },
29
+ {
30
+ inputs: [
31
+ {
32
+ internalType: "address",
33
+ name: "owner",
34
+ type: "address",
35
+ },
36
+ {
37
+ internalType: "uint256",
38
+ name: "salt",
39
+ type: "uint256",
40
+ },
41
+ ],
42
+ name: "createAccount",
43
+ outputs: [
44
+ {
45
+ internalType: "contract SimpleAccount",
46
+ name: "ret",
47
+ type: "address",
48
+ },
49
+ ],
50
+ stateMutability: "nonpayable",
51
+ type: "function",
52
+ },
53
+ {
54
+ inputs: [
55
+ {
56
+ internalType: "address",
57
+ name: "owner",
58
+ type: "address",
59
+ },
60
+ {
61
+ internalType: "uint256",
62
+ name: "salt",
63
+ type: "uint256",
64
+ },
65
+ ],
66
+ name: "getAddress",
67
+ outputs: [
68
+ {
69
+ internalType: "address",
70
+ name: "",
71
+ type: "address",
72
+ },
73
+ ],
74
+ stateMutability: "view",
75
+ type: "function",
76
+ },
77
+ ];
78
+ //# sourceMappingURL=SimpleAccountFactoryAbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleAccountFactoryAbi.js","sourceRoot":"","sources":["../../../src/abis/SimpleAccountFactoryAbi.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG;IACrC;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,sBAAsB;gBACpC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC","sourcesContent":["export const SimpleAccountFactoryAbi = [\n {\n inputs: [\n {\n internalType: \"contract IEntryPoint\",\n name: \"_entryPoint\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [],\n name: \"accountImplementation\",\n outputs: [\n {\n internalType: \"contract SimpleAccount\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n ],\n name: \"createAccount\",\n outputs: [\n {\n internalType: \"contract SimpleAccount\",\n name: \"ret\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"salt\",\n type: \"uint256\",\n },\n ],\n name: \"getAddress\",\n outputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n] as const;\n"]}
@@ -0,0 +1,49 @@
1
+ import type { Address } from "abitype";
2
+ import { type GetContractReturnType, type Hash, type Hex, type HttpTransport, type PublicClient, type Transport } from "viem";
3
+ import { EntryPointAbi_v6 as EntryPointAbi } from "../abis/EntryPointAbi_v6.js";
4
+ import { type BundlerClient } from "../client/bundlerClient.js";
5
+ import type { SmartAccountSigner } from "../signer/types.js";
6
+ import type { BatchUserOperationCallData, NullAddress } from "../types.js";
7
+ import type { BaseSmartAccountParams, ISmartContractAccount, SignTypedDataParams } from "./types.js";
8
+ export declare enum DeploymentState {
9
+ UNDEFINED = "0x0",
10
+ NOT_DEPLOYED = "0x1",
11
+ DEPLOYED = "0x2"
12
+ }
13
+ export declare abstract class BaseSmartContractAccount<TTransport extends Transport = Transport, TSigner extends SmartAccountSigner = SmartAccountSigner> implements ISmartContractAccount<TTransport, TSigner> {
14
+ protected factoryAddress: Address;
15
+ protected deploymentState: DeploymentState;
16
+ protected accountAddress?: Address;
17
+ protected accountInitCode?: Hex;
18
+ protected signer: TSigner;
19
+ protected entryPoint: GetContractReturnType<typeof EntryPointAbi, PublicClient>;
20
+ protected entryPointAddress: Address;
21
+ readonly rpcProvider: BundlerClient<TTransport> | BundlerClient<HttpTransport>;
22
+ constructor(params_: BaseSmartAccountParams<TTransport, TSigner>);
23
+ abstract getDummySignature(): Hex | Promise<Hex>;
24
+ abstract encodeExecute(target: string, value: bigint, data: string): Promise<Hash>;
25
+ abstract signMessage(msg: string | Uint8Array): Promise<Hash>;
26
+ protected abstract getAccountInitCode(): Promise<Hash>;
27
+ signUserOperationHash(uoHash: Hash): Promise<Hash>;
28
+ signTypedData(_params: SignTypedDataParams): Promise<`0x${string}`>;
29
+ signMessageWith6492(msg: string | Uint8Array): Promise<`0x${string}`>;
30
+ signTypedDataWith6492(params: SignTypedDataParams): Promise<`0x${string}`>;
31
+ encodeBatchExecute(_txs: BatchUserOperationCallData): Promise<`0x${string}`>;
32
+ encodeUpgradeToAndCall: (_upgradeToImplAddress: Address, _upgradeToInitData: Hex) => Promise<Hex>;
33
+ getNonce(): Promise<bigint>;
34
+ getInitCode(): Promise<Hex>;
35
+ getAddress(): Promise<Address>;
36
+ extend: <R>(fn: (self: this) => R) => this & R;
37
+ getSigner(): TSigner;
38
+ getFactoryAddress(): Address;
39
+ getEntryPointAddress(): Address;
40
+ isAccountDeployed(): Promise<boolean>;
41
+ getDeploymentState(): Promise<DeploymentState>;
42
+ protected parseFactoryAddressFromAccountInitCode(): Promise<[
43
+ Address,
44
+ Hex
45
+ ]>;
46
+ protected getImplementationAddress(): Promise<NullAddress | Address>;
47
+ private _getAccountInitCode;
48
+ private create6492Signature;
49
+ }
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseSmartContractAccount = exports.DeploymentState = void 0;
4
+ const viem_1 = require("viem");
5
+ const EntryPointAbi_v6_js_1 = require("../abis/EntryPointAbi_v6.js");
6
+ const bundlerClient_js_1 = require("../client/bundlerClient.js");
7
+ const index_js_1 = require("../entrypoint/index.js");
8
+ const account_js_1 = require("../errors/account.js");
9
+ const client_js_1 = require("../errors/client.js");
10
+ const logger_js_1 = require("../logger.js");
11
+ const utils_js_1 = require("../signer/utils.js");
12
+ const schema_js_1 = require("./schema.js");
13
+ var DeploymentState;
14
+ (function (DeploymentState) {
15
+ DeploymentState["UNDEFINED"] = "0x0";
16
+ DeploymentState["NOT_DEPLOYED"] = "0x1";
17
+ DeploymentState["DEPLOYED"] = "0x2";
18
+ })(DeploymentState || (exports.DeploymentState = DeploymentState = {}));
19
+ class BaseSmartContractAccount {
20
+ constructor(params_) {
21
+ Object.defineProperty(this, "factoryAddress", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, "deploymentState", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: DeploymentState.UNDEFINED
32
+ });
33
+ Object.defineProperty(this, "accountAddress", {
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true,
37
+ value: void 0
38
+ });
39
+ Object.defineProperty(this, "accountInitCode", {
40
+ enumerable: true,
41
+ configurable: true,
42
+ writable: true,
43
+ value: void 0
44
+ });
45
+ Object.defineProperty(this, "signer", {
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true,
49
+ value: void 0
50
+ });
51
+ Object.defineProperty(this, "entryPoint", {
52
+ enumerable: true,
53
+ configurable: true,
54
+ writable: true,
55
+ value: void 0
56
+ });
57
+ Object.defineProperty(this, "entryPointAddress", {
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true,
61
+ value: void 0
62
+ });
63
+ Object.defineProperty(this, "rpcProvider", {
64
+ enumerable: true,
65
+ configurable: true,
66
+ writable: true,
67
+ value: void 0
68
+ });
69
+ Object.defineProperty(this, "encodeUpgradeToAndCall", {
70
+ enumerable: true,
71
+ configurable: true,
72
+ writable: true,
73
+ value: async (_upgradeToImplAddress, _upgradeToInitData) => {
74
+ throw new account_js_1.UpgradeToAndCallNotSupportedError("BaseAccount");
75
+ }
76
+ });
77
+ Object.defineProperty(this, "extend", {
78
+ enumerable: true,
79
+ configurable: true,
80
+ writable: true,
81
+ value: (fn) => {
82
+ const extended = fn(this);
83
+ for (const key in this) {
84
+ delete extended[key];
85
+ }
86
+ return Object.assign(this, extended);
87
+ }
88
+ });
89
+ const params = (0, schema_js_1.createBaseSmartAccountParamsSchema)().parse(params_);
90
+ this.entryPointAddress =
91
+ params.entryPointAddress ?? (0, index_js_1.getEntryPoint)(params.chain).address;
92
+ const rpcUrl = typeof params.rpcClient === "string"
93
+ ? params.rpcClient
94
+ : params.rpcClient.transport.type === "http"
95
+ ? params.rpcClient.transport.url || params.chain.rpcUrls.default.http[0]
96
+ : undefined;
97
+ const fetchOptions = typeof params.rpcClient === "string"
98
+ ? undefined
99
+ : params.rpcClient.transport.type === "http"
100
+ ? params.rpcClient.transport.fetchOptions
101
+ : undefined;
102
+ this.rpcProvider = rpcUrl
103
+ ? (0, bundlerClient_js_1.createBundlerClient)({
104
+ chain: params.chain,
105
+ transport: (0, viem_1.http)(rpcUrl, {
106
+ fetchOptions: {
107
+ ...fetchOptions,
108
+ headers: {
109
+ ...fetchOptions?.headers,
110
+ ...(rpcUrl.toLowerCase().indexOf("alchemy") > -1
111
+ ? {
112
+ "Alchemy-Aa-Sdk-Signer": params.signer?.signerType || "unknown",
113
+ "Alchemy-Aa-Sdk-Factory-Address": params.factoryAddress,
114
+ }
115
+ : undefined),
116
+ },
117
+ },
118
+ }),
119
+ })
120
+ : params.rpcClient;
121
+ this.accountAddress = params.accountAddress;
122
+ this.factoryAddress = params.factoryAddress;
123
+ this.signer = params.signer;
124
+ this.accountInitCode = params.initCode;
125
+ this.entryPoint = (0, viem_1.getContract)({
126
+ address: this.entryPointAddress,
127
+ abi: EntryPointAbi_v6_js_1.EntryPointAbi_v6,
128
+ client: this.rpcProvider,
129
+ });
130
+ }
131
+ async signUserOperationHash(uoHash) {
132
+ return this.signMessage(uoHash);
133
+ }
134
+ async signTypedData(_params) {
135
+ throw new Error("signTypedData not supported");
136
+ }
137
+ async signMessageWith6492(msg) {
138
+ const [isDeployed, signature] = await Promise.all([
139
+ this.isAccountDeployed(),
140
+ this.signMessage(msg),
141
+ ]);
142
+ return this.create6492Signature(isDeployed, signature);
143
+ }
144
+ async signTypedDataWith6492(params) {
145
+ const [isDeployed, signature] = await Promise.all([
146
+ this.isAccountDeployed(),
147
+ this.signTypedData(params),
148
+ ]);
149
+ return this.create6492Signature(isDeployed, signature);
150
+ }
151
+ async encodeBatchExecute(_txs) {
152
+ throw new account_js_1.BatchExecutionNotSupportedError("BaseAccount");
153
+ }
154
+ async getNonce() {
155
+ if (!(await this.isAccountDeployed())) {
156
+ return 0n;
157
+ }
158
+ const address = await this.getAddress();
159
+ return this.entryPoint.read.getNonce([address, BigInt(0)]);
160
+ }
161
+ async getInitCode() {
162
+ if (this.deploymentState === DeploymentState.DEPLOYED) {
163
+ return "0x";
164
+ }
165
+ const contractCode = await this.rpcProvider.getBytecode({
166
+ address: await this.getAddress(),
167
+ });
168
+ if ((contractCode?.length ?? 0) > 2) {
169
+ this.deploymentState = DeploymentState.DEPLOYED;
170
+ return "0x";
171
+ }
172
+ else {
173
+ this.deploymentState = DeploymentState.NOT_DEPLOYED;
174
+ }
175
+ return this._getAccountInitCode();
176
+ }
177
+ async getAddress() {
178
+ if (!this.accountAddress) {
179
+ const initCode = await this._getAccountInitCode();
180
+ logger_js_1.Logger.verbose("[BaseSmartContractAccount](getAddress) initCode: ", initCode);
181
+ try {
182
+ await this.entryPoint.simulate.getSenderAddress([initCode]);
183
+ }
184
+ catch (err) {
185
+ logger_js_1.Logger.verbose("[BaseSmartContractAccount](getAddress) getSenderAddress err: ", err);
186
+ if (err.cause?.data?.errorName === "SenderAddressResult") {
187
+ this.accountAddress = err.cause.data.args[0];
188
+ logger_js_1.Logger.verbose("[BaseSmartContractAccount](getAddress) entryPoint.getSenderAddress result:", this.accountAddress);
189
+ return this.accountAddress;
190
+ }
191
+ if (err.details === "Invalid URL") {
192
+ throw new client_js_1.InvalidRpcUrlError();
193
+ }
194
+ }
195
+ throw new account_js_1.GetCounterFactualAddressError();
196
+ }
197
+ return this.accountAddress;
198
+ }
199
+ getSigner() {
200
+ return this.signer;
201
+ }
202
+ getFactoryAddress() {
203
+ return this.factoryAddress;
204
+ }
205
+ getEntryPointAddress() {
206
+ return this.entryPointAddress;
207
+ }
208
+ async isAccountDeployed() {
209
+ return (await this.getDeploymentState()) === DeploymentState.DEPLOYED;
210
+ }
211
+ async getDeploymentState() {
212
+ if (this.deploymentState === DeploymentState.UNDEFINED) {
213
+ const initCode = await this.getInitCode();
214
+ return initCode === "0x"
215
+ ? DeploymentState.DEPLOYED
216
+ : DeploymentState.NOT_DEPLOYED;
217
+ }
218
+ else {
219
+ return this.deploymentState;
220
+ }
221
+ }
222
+ async parseFactoryAddressFromAccountInitCode() {
223
+ const initCode = await this._getAccountInitCode();
224
+ const factoryAddress = `0x${initCode.substring(2, 42)}`;
225
+ const factoryCalldata = `0x${initCode.substring(42)}`;
226
+ return [factoryAddress, factoryCalldata];
227
+ }
228
+ async getImplementationAddress() {
229
+ const accountAddress = await this.getAddress();
230
+ const storage = await this.rpcProvider.getStorageAt({
231
+ address: accountAddress,
232
+ slot: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
233
+ });
234
+ if (storage == null) {
235
+ throw new account_js_1.FailedToGetStorageSlotError("0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "Proxy Implementation Address");
236
+ }
237
+ return (0, viem_1.trim)(storage);
238
+ }
239
+ async _getAccountInitCode() {
240
+ return this.accountInitCode ?? this.getAccountInitCode();
241
+ }
242
+ async create6492Signature(isDeployed, signature) {
243
+ if (isDeployed) {
244
+ return signature;
245
+ }
246
+ const [factoryAddress, factoryCalldata] = await this.parseFactoryAddressFromAccountInitCode();
247
+ logger_js_1.Logger.verbose(`[BaseSmartContractAccount](create6492Signature)\
248
+ factoryAddress: ${factoryAddress}, factoryCalldata: ${factoryCalldata}`);
249
+ return (0, utils_js_1.wrapSignatureWith6492)({
250
+ factoryAddress,
251
+ factoryCalldata,
252
+ signature,
253
+ });
254
+ }
255
+ }
256
+ exports.BaseSmartContractAccount = BaseSmartContractAccount;
257
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/account/base.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Address } from \"abitype\";\nimport {\n getContract,\n http,\n trim,\n type GetContractReturnType,\n type Hash,\n type Hex,\n type HttpTransport,\n type PublicClient,\n type Transport,\n} from \"viem\";\nimport { EntryPointAbi_v6 as EntryPointAbi } from \"../abis/EntryPointAbi_v6.js\";\nimport {\n createBundlerClient,\n type BundlerClient,\n} from \"../client/bundlerClient.js\";\nimport { getEntryPoint } from \"../entrypoint/index.js\";\nimport {\n BatchExecutionNotSupportedError,\n FailedToGetStorageSlotError,\n GetCounterFactualAddressError,\n UpgradeToAndCallNotSupportedError,\n} from \"../errors/account.js\";\nimport { InvalidRpcUrlError } from \"../errors/client.js\";\nimport { Logger } from \"../logger.js\";\nimport type { SmartAccountSigner } from \"../signer/types.js\";\nimport { wrapSignatureWith6492 } from \"../signer/utils.js\";\nimport type { BatchUserOperationCallData, NullAddress } from \"../types.js\";\nimport { createBaseSmartAccountParamsSchema } from \"./schema.js\";\nimport type {\n BaseSmartAccountParams,\n ISmartContractAccount,\n SignTypedDataParams,\n} from \"./types.js\";\n\nexport enum DeploymentState {\n UNDEFINED = \"0x0\",\n NOT_DEPLOYED = \"0x1\",\n DEPLOYED = \"0x2\",\n}\n\n/**\n * @deprecated use `toSmartContractAccount` instead for creating SmartAccountInstances\n */\nexport abstract class BaseSmartContractAccount<\n TTransport extends Transport = Transport,\n TSigner extends SmartAccountSigner = SmartAccountSigner\n> implements ISmartContractAccount<TTransport, TSigner>\n{\n protected factoryAddress: Address;\n protected deploymentState: DeploymentState = DeploymentState.UNDEFINED;\n protected accountAddress?: Address;\n protected accountInitCode?: Hex;\n protected signer: TSigner;\n protected entryPoint: GetContractReturnType<\n typeof EntryPointAbi,\n PublicClient\n >;\n protected entryPointAddress: Address;\n readonly rpcProvider:\n | BundlerClient<TTransport>\n | BundlerClient<HttpTransport>;\n\n constructor(params_: BaseSmartAccountParams<TTransport, TSigner>) {\n const params = createBaseSmartAccountParamsSchema<\n TTransport,\n TSigner\n >().parse(params_);\n\n this.entryPointAddress =\n params.entryPointAddress ?? getEntryPoint(params.chain).address;\n\n const rpcUrl =\n typeof params.rpcClient === \"string\"\n ? params.rpcClient\n : params.rpcClient.transport.type === \"http\"\n ? (\n params.rpcClient.transport as ReturnType<HttpTransport>[\"config\"] &\n ReturnType<HttpTransport>[\"value\"]\n ).url || params.chain.rpcUrls.default.http[0]\n : undefined;\n\n const fetchOptions =\n typeof params.rpcClient === \"string\"\n ? undefined\n : params.rpcClient.transport.type === \"http\"\n ? (\n params.rpcClient.transport as ReturnType<HttpTransport>[\"config\"] &\n ReturnType<HttpTransport>[\"value\"]\n ).fetchOptions\n : undefined;\n\n this.rpcProvider = rpcUrl\n ? createBundlerClient({\n chain: params.chain,\n transport: http(rpcUrl, {\n fetchOptions: {\n ...fetchOptions,\n headers: {\n ...fetchOptions?.headers,\n ...(rpcUrl.toLowerCase().indexOf(\"alchemy\") > -1\n ? {\n \"Alchemy-Aa-Sdk-Signer\":\n params.signer?.signerType || \"unknown\",\n \"Alchemy-Aa-Sdk-Factory-Address\": params.factoryAddress,\n }\n : undefined),\n },\n },\n }),\n })\n : (params.rpcClient as BundlerClient<TTransport>);\n\n this.accountAddress = params.accountAddress;\n this.factoryAddress = params.factoryAddress;\n this.signer = params.signer as TSigner;\n this.accountInitCode = params.initCode as Hex;\n\n this.entryPoint = getContract({\n address: this.entryPointAddress,\n abi: EntryPointAbi,\n client: this.rpcProvider as PublicClient,\n });\n }\n\n //#region abstract-methods\n\n /**\n * This method should return a signature that will not `revert` during validation.\n * It does not have to pass validation, just not cause the contract to revert.\n * This is required for gas estimation so that the gas estimate are accurate.\n *\n */\n abstract getDummySignature(): Hex | Promise<Hex>;\n\n /**\n * this method should return the abi encoded function data for a call to your contract's `execute` method\n *\n * @param target -- equivalent to `to` in a normal transaction\n * @param value -- equivalent to `value` in a normal transaction\n * @param data -- equivalent to `data` in a normal transaction\n * @returns abi encoded function data for a call to your contract's `execute` method\n */\n abstract encodeExecute(\n target: string,\n value: bigint,\n data: string\n ): Promise<Hash>;\n\n /**\n * this should return an ERC-191 compliant message and is used to sign UO Hashes\n *\n * @param msg -- the message to sign\n */\n abstract signMessage(msg: string | Uint8Array): Promise<Hash>;\n\n /**\n * this should return the init code that will be used to create an account if one does not exist.\n * This is the concatenation of the account's factory address and the abi encoded function data of the account factory's `createAccount` method.\n * https://github.com/eth-infinitism/account-abstraction/blob/abff2aca61a8f0934e533d0d352978055fddbd96/contracts/core/SenderCreator.sol#L12\n */\n protected abstract getAccountInitCode(): Promise<Hash>;\n\n //#endregion abstract-methods\n\n //#region optional-methods\n\n /**\n * If your account handles 1271 signatures of personal_sign differently\n * than it does UserOperations, you can implement two different approaches to signing\n *\n * @param uoHash -- The hash of the UserOperation to sign\n * @returns the signature of the UserOperation\n */\n async signUserOperationHash(uoHash: Hash): Promise<Hash> {\n return this.signMessage(uoHash);\n }\n\n /**\n * If your contract supports signing and verifying typed data,\n * you should implement this method.\n *\n * @param _params -- Typed Data params to sign\n */\n async signTypedData(_params: SignTypedDataParams): Promise<`0x${string}`> {\n throw new Error(\"signTypedData not supported\");\n }\n\n /**\n * This method should wrap the result of `signMessage` as per\n * [EIP-6492](https://eips.ethereum.org/EIPS/eip-6492)\n *\n * @param msg -- the message to sign\n * @returns the signature wrapped in 6492 format\n */\n async signMessageWith6492(msg: string | Uint8Array): Promise<`0x${string}`> {\n const [isDeployed, signature] = await Promise.all([\n this.isAccountDeployed(),\n this.signMessage(msg),\n ]);\n\n return this.create6492Signature(isDeployed, signature);\n }\n\n /**\n * Similar to the signMessageWith6492 method above,\n * this method should wrap the result of `signTypedData` as per\n * [EIP-6492](https://eips.ethereum.org/EIPS/eip-6492)\n *\n * @param params -- Typed Data params to sign\n * @returns the signature wrapped in 6492 format\n */\n async signTypedDataWith6492(\n params: SignTypedDataParams\n ): Promise<`0x${string}`> {\n const [isDeployed, signature] = await Promise.all([\n this.isAccountDeployed(),\n this.signTypedData(params),\n ]);\n\n return this.create6492Signature(isDeployed, signature);\n }\n\n /**\n * Not all contracts support batch execution.\n * If your contract does, this method should encode a list of\n * transactions into the call data that will be passed to your\n * contract's batch execution method.\n *\n * @param _txs -- the transactions to batch execute\n */\n async encodeBatchExecute(\n _txs: BatchUserOperationCallData\n ): Promise<`0x${string}`> {\n throw new BatchExecutionNotSupportedError(\"BaseAccount\");\n }\n\n /**\n * If your contract supports UUPS, you can implement this method which can be\n * used to upgrade the implementation of the account.\n *\n * @param _upgradeToImplAddress -- the implementation address of the contract you want to upgrade to\n * @param _upgradeToInitData -- the initialization data required by that account\n */\n encodeUpgradeToAndCall = async (\n _upgradeToImplAddress: Address,\n _upgradeToInitData: Hex\n ): Promise<Hex> => {\n throw new UpgradeToAndCallNotSupportedError(\"BaseAccount\");\n };\n //#endregion optional-methods\n\n // Extra implementations\n async getNonce(): Promise<bigint> {\n if (!(await this.isAccountDeployed())) {\n return 0n;\n }\n const address = await this.getAddress();\n return this.entryPoint.read.getNonce([address, BigInt(0)]);\n }\n\n async getInitCode(): Promise<Hex> {\n if (this.deploymentState === DeploymentState.DEPLOYED) {\n return \"0x\";\n }\n\n const contractCode = await this.rpcProvider.getBytecode({\n address: await this.getAddress(),\n });\n\n if ((contractCode?.length ?? 0) > 2) {\n this.deploymentState = DeploymentState.DEPLOYED;\n return \"0x\";\n } else {\n this.deploymentState = DeploymentState.NOT_DEPLOYED;\n }\n\n return this._getAccountInitCode();\n }\n\n async getAddress(): Promise<Address> {\n if (!this.accountAddress) {\n const initCode = await this._getAccountInitCode();\n Logger.verbose(\n \"[BaseSmartContractAccount](getAddress) initCode: \",\n initCode\n );\n try {\n await this.entryPoint.simulate.getSenderAddress([initCode]);\n } catch (err: any) {\n Logger.verbose(\n \"[BaseSmartContractAccount](getAddress) getSenderAddress err: \",\n err\n );\n\n if (err.cause?.data?.errorName === \"SenderAddressResult\") {\n this.accountAddress = err.cause.data.args[0] as Address;\n Logger.verbose(\n \"[BaseSmartContractAccount](getAddress) entryPoint.getSenderAddress result:\",\n this.accountAddress\n );\n return this.accountAddress;\n }\n\n if (err.details === \"Invalid URL\") {\n throw new InvalidRpcUrlError();\n }\n }\n\n throw new GetCounterFactualAddressError();\n }\n\n return this.accountAddress;\n }\n\n extend = <R>(fn: (self: this) => R): this & R => {\n const extended = fn(this) as any;\n // this should make it so extensions can't overwrite the base methods\n for (const key in this) {\n delete extended[key];\n }\n return Object.assign(this, extended);\n };\n\n getSigner(): TSigner {\n return this.signer;\n }\n\n getFactoryAddress(): Address {\n return this.factoryAddress;\n }\n\n getEntryPointAddress(): Address {\n return this.entryPointAddress;\n }\n\n async isAccountDeployed(): Promise<boolean> {\n return (await this.getDeploymentState()) === DeploymentState.DEPLOYED;\n }\n\n async getDeploymentState(): Promise<DeploymentState> {\n if (this.deploymentState === DeploymentState.UNDEFINED) {\n const initCode = await this.getInitCode();\n return initCode === \"0x\"\n ? DeploymentState.DEPLOYED\n : DeploymentState.NOT_DEPLOYED;\n } else {\n return this.deploymentState;\n }\n }\n\n /**\n * https://eips.ethereum.org/EIPS/eip-4337#first-time-account-creation\n * The initCode field (if non-zero length) is parsed as a 20-byte address,\n * followed by calldata to pass to this address.\n * The factory address is the first 40 char after the 0x, and the callData is the rest.\n *\n * @returns [factoryAddress, factoryCalldata]\n */\n protected async parseFactoryAddressFromAccountInitCode(): Promise<\n [Address, Hex]\n > {\n const initCode = await this._getAccountInitCode();\n const factoryAddress: Address = `0x${initCode.substring(2, 42)}`;\n const factoryCalldata: Hex = `0x${initCode.substring(42)}`;\n return [factoryAddress, factoryCalldata];\n }\n\n protected async getImplementationAddress(): Promise<NullAddress | Address> {\n const accountAddress = await this.getAddress();\n\n const storage = await this.rpcProvider.getStorageAt({\n address: accountAddress,\n // This is the default slot for the implementation address for Proxies\n slot: \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n });\n\n if (storage == null) {\n throw new FailedToGetStorageSlotError(\n \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n \"Proxy Implementation Address\"\n );\n }\n\n return trim(storage);\n }\n\n private async _getAccountInitCode(): Promise<Hash> {\n return this.accountInitCode ?? this.getAccountInitCode();\n }\n\n private async create6492Signature(\n isDeployed: boolean,\n signature: Hash\n ): Promise<Hash> {\n if (isDeployed) {\n return signature;\n }\n\n const [factoryAddress, factoryCalldata] =\n await this.parseFactoryAddressFromAccountInitCode();\n\n Logger.verbose(\n `[BaseSmartContractAccount](create6492Signature)\\\n factoryAddress: ${factoryAddress}, factoryCalldata: ${factoryCalldata}`\n );\n\n return wrapSignatureWith6492({\n factoryAddress,\n factoryCalldata,\n signature,\n });\n }\n}\n"]}
@@ -0,0 +1,100 @@
1
+ import { type Transport } from "viem";
2
+ import z from "zod";
3
+ import type { SmartAccountSigner } from "../signer/types.js";
4
+ export declare const createBaseSmartAccountParamsSchema: <TTransport extends Transport = Transport, TSigner extends SmartAccountSigner<any> = SmartAccountSigner<any>>() => z.ZodObject<{
5
+ rpcClient: z.ZodUnion<[z.ZodString, z.ZodType<import("../index.js").BundlerClient<TTransport>, z.ZodTypeDef, import("../index.js").BundlerClient<TTransport>>]>;
6
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
7
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
8
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
9
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
10
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
11
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
12
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
13
+ }, "strip", z.ZodTypeAny, { [k_1 in keyof z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
14
+ rpcClient: z.ZodUnion<[z.ZodString, z.ZodType<import("../index.js").BundlerClient<TTransport>, z.ZodTypeDef, import("../index.js").BundlerClient<TTransport>>]>;
15
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
16
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
17
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
18
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
19
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
20
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
21
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
22
+ }>, "chain" | "factoryAddress" | "rpcClient" | (undefined extends TSigner ? never : "signer")>]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
23
+ rpcClient: z.ZodUnion<[z.ZodString, z.ZodType<import("../index.js").BundlerClient<TTransport>, z.ZodTypeDef, import("../index.js").BundlerClient<TTransport>>]>;
24
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
25
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
26
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
27
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
28
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
29
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
30
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
31
+ }>, "chain" | "factoryAddress" | "rpcClient" | (undefined extends TSigner ? never : "signer")>[k_1]; }, { [k_2 in keyof z.baseObjectInputType<{
32
+ rpcClient: z.ZodUnion<[z.ZodString, z.ZodType<import("../index.js").BundlerClient<TTransport>, z.ZodTypeDef, import("../index.js").BundlerClient<TTransport>>]>;
33
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
34
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
35
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
36
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
37
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
38
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
39
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
40
+ }>]: z.baseObjectInputType<{
41
+ rpcClient: z.ZodUnion<[z.ZodString, z.ZodType<import("../index.js").BundlerClient<TTransport>, z.ZodTypeDef, import("../index.js").BundlerClient<TTransport>>]>;
42
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
43
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
44
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
45
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
46
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
47
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
48
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
49
+ }>[k_2]; }>;
50
+ export declare const SimpleSmartAccountParamsSchema: <TTransport extends Transport = Transport, TSigner extends SmartAccountSigner<any> = SmartAccountSigner<any>>() => z.ZodObject<{
51
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
52
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
53
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
54
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
55
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
56
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
57
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
58
+ transport: z.ZodType<TTransport, z.ZodTypeDef, TTransport>;
59
+ salt: z.ZodOptional<z.ZodBigInt>;
60
+ }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
61
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
62
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
63
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
64
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
65
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
66
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
67
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
68
+ transport: z.ZodType<TTransport, z.ZodTypeDef, TTransport>;
69
+ salt: z.ZodOptional<z.ZodBigInt>;
70
+ }>, "chain" | "factoryAddress" | (undefined extends TTransport ? never : "transport") | (undefined extends TSigner ? never : "signer")> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
71
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
72
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
73
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
74
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
75
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
76
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
77
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
78
+ transport: z.ZodType<TTransport, z.ZodTypeDef, TTransport>;
79
+ salt: z.ZodOptional<z.ZodBigInt>;
80
+ }>, "chain" | "factoryAddress" | (undefined extends TTransport ? never : "transport") | (undefined extends TSigner ? never : "signer")>[k]; } : never, z.baseObjectInputType<{
81
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
82
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
83
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
84
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
85
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
86
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
87
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
88
+ transport: z.ZodType<TTransport, z.ZodTypeDef, TTransport>;
89
+ salt: z.ZodOptional<z.ZodBigInt>;
90
+ }> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<{
91
+ initCode: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
92
+ chain: z.ZodType<import("viem").Chain, z.ZodTypeDef, import("viem").Chain>;
93
+ factoryAddress: z.ZodEffects<z.ZodString, `0x${string}`, string>;
94
+ signer: z.ZodType<TSigner, z.ZodTypeDef, TSigner>;
95
+ entryPointAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
96
+ accountAddress: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
97
+ entryPointVersion: z.ZodOptional<z.ZodType<keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>, z.ZodTypeDef, keyof import("../entrypoint/types.js").EntryPointRegistryBase<unknown>>>;
98
+ transport: z.ZodType<TTransport, z.ZodTypeDef, TTransport>;
99
+ salt: z.ZodOptional<z.ZodBigInt>;
100
+ }>[k_1]; } : never>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SimpleSmartAccountParamsSchema = exports.createBaseSmartAccountParamsSchema = void 0;
7
+ const zod_1 = require("abitype/zod");
8
+ const viem_1 = require("viem");
9
+ const zod_2 = __importDefault(require("zod"));
10
+ const schema_js_1 = require("../client/schema.js");
11
+ const index_js_1 = require("../entrypoint/index.js");
12
+ const schema_js_2 = require("../signer/schema.js");
13
+ const index_js_2 = require("../utils/index.js");
14
+ const createBaseSmartAccountParamsSchema = () => zod_2.default.object({
15
+ rpcClient: zod_2.default.union([
16
+ zod_2.default.string(),
17
+ (0, schema_js_1.createPublicErc4337ClientSchema)(),
18
+ ]),
19
+ factoryAddress: zod_1.Address,
20
+ signer: zod_2.default.custom(schema_js_2.isSigner),
21
+ entryPointAddress: zod_1.Address.optional(),
22
+ chain: index_js_2.ChainSchema,
23
+ accountAddress: zod_1.Address.optional().describe("Optional override for the account address."),
24
+ initCode: zod_2.default
25
+ .string()
26
+ .refine((x) => (0, viem_1.isHex)(x, { strict: true }), "initCode must be a valid hex.")
27
+ .optional()
28
+ .describe("Optional override for the account init code."),
29
+ entryPointVersion: zod_2.default
30
+ .custom(index_js_1.isEntryPointVersion)
31
+ .optional(),
32
+ });
33
+ exports.createBaseSmartAccountParamsSchema = createBaseSmartAccountParamsSchema;
34
+ const SimpleSmartAccountParamsSchema = () => (0, exports.createBaseSmartAccountParamsSchema)()
35
+ .omit({
36
+ rpcClient: true,
37
+ })
38
+ .extend({
39
+ transport: zod_2.default.custom(),
40
+ salt: zod_2.default.bigint().optional(),
41
+ });
42
+ exports.SimpleSmartAccountParamsSchema = SimpleSmartAccountParamsSchema;
43
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/account/schema.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAsC;AACtC,+BAA6C;AAC7C,8CAAoB;AACpB,mDAAsE;AACtE,qDAA6D;AAE7D,mDAA+C;AAE/C,gDAAgD;AAEzC,MAAM,kCAAkC,GAAG,GAG9C,EAAE,CACJ,aAAC,CAAC,MAAM,CAAC;IACP,SAAS,EAAE,aAAC,CAAC,KAAK,CAAC;QACjB,aAAC,CAAC,MAAM,EAAE;QACV,IAAA,2CAA+B,GAAc;KAC9C,CAAC;IACF,cAAc,EAAE,aAAO;IACvB,MAAM,EAAE,aAAC,CAAC,MAAM,CAAU,oBAAQ,CAAC;IACnC,iBAAiB,EAAE,aAAO,CAAC,QAAQ,EAAE;IACrC,KAAK,EAAE,sBAAW;IAClB,cAAc,EAAE,aAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACzC,4CAA4C,CAC7C;IACD,QAAQ,EAAE,aAAC;SACR,MAAM,EAAE;SACR,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,YAAK,EAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EACjC,+BAA+B,CAChC;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,iBAAiB,EAAE,aAAC;SACjB,MAAM,CAAoB,8BAAmB,CAAC;SAC9C,QAAQ,EAAE;CACd,CAAC,CAAC;AA3BQ,QAAA,kCAAkC,sCA2B1C;AAEE,MAAM,8BAA8B,GAAG,GAG1C,EAAE,CACJ,IAAA,0CAAkC,GAAuB;KACtD,IAAI,CAAC;IACJ,SAAS,EAAE,IAAI;CAChB,CAAC;KACD,MAAM,CAAC;IACN,SAAS,EAAE,aAAC,CAAC,MAAM,EAAc;IACjC,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAXM,QAAA,8BAA8B,kCAWpC","sourcesContent":["import { Address } from \"abitype/zod\";\nimport { isHex, type Transport } from \"viem\";\nimport z from \"zod\";\nimport { createPublicErc4337ClientSchema } from \"../client/schema.js\";\nimport { isEntryPointVersion } from \"../entrypoint/index.js\";\nimport type { EntryPointVersion } from \"../entrypoint/types.js\";\nimport { isSigner } from \"../signer/schema.js\";\nimport type { SmartAccountSigner } from \"../signer/types.js\";\nimport { ChainSchema } from \"../utils/index.js\";\n\nexport const createBaseSmartAccountParamsSchema = <\n TTransport extends Transport = Transport,\n TSigner extends SmartAccountSigner = SmartAccountSigner\n>() =>\n z.object({\n rpcClient: z.union([\n z.string(),\n createPublicErc4337ClientSchema<TTransport>(),\n ]),\n factoryAddress: Address,\n signer: z.custom<TSigner>(isSigner),\n entryPointAddress: Address.optional(),\n chain: ChainSchema,\n accountAddress: Address.optional().describe(\n \"Optional override for the account address.\"\n ),\n initCode: z\n .string()\n .refine(\n (x) => isHex(x, { strict: true }),\n \"initCode must be a valid hex.\"\n )\n .optional()\n .describe(\"Optional override for the account init code.\"),\n entryPointVersion: z\n .custom<EntryPointVersion>(isEntryPointVersion)\n .optional(),\n });\n\nexport const SimpleSmartAccountParamsSchema = <\n TTransport extends Transport = Transport,\n TSigner extends SmartAccountSigner = SmartAccountSigner\n>() =>\n createBaseSmartAccountParamsSchema<TTransport, TSigner>()\n .omit({\n rpcClient: true,\n })\n .extend({\n transport: z.custom<TTransport>(),\n salt: z.bigint().optional(),\n });\n"]}
@@ -0,0 +1,14 @@
1
+ import type { Address } from "abitype";
2
+ import { type Chain, type Hex, type Transport } from "viem";
3
+ import type { DefaultEntryPointVersion, EntryPointParameter, EntryPointVersion } from "../entrypoint/types.js";
4
+ import type { SmartAccountSigner } from "../signer/types.js";
5
+ import { type SmartContractAccountWithSigner, type ToSmartContractAccountParams } from "./smartContractAccount.js";
6
+ export type SimpleSmartAccount<TSigner extends SmartAccountSigner = SmartAccountSigner, TEntryPointVersion extends EntryPointVersion = EntryPointVersion> = SmartContractAccountWithSigner<"SimpleAccount", TSigner, TEntryPointVersion>;
7
+ export type CreateSimpleAccountParams<TTransport extends Transport = Transport, TSigner extends SmartAccountSigner = SmartAccountSigner, TEntryPointVersion extends EntryPointVersion = DefaultEntryPointVersion> = Pick<ToSmartContractAccountParams<"SimpleAccount", TTransport, Chain, TEntryPointVersion>, "chain" | "transport"> & {
8
+ signer: TSigner;
9
+ salt?: bigint;
10
+ accountAddress?: Address;
11
+ factoryAddress?: Address;
12
+ initCode?: Hex;
13
+ } & EntryPointParameter<TEntryPointVersion, Chain>;
14
+ export declare function createSimpleSmartAccount<TTransport extends Transport = Transport, TSigner extends SmartAccountSigner = SmartAccountSigner, TEntryPointVersion extends EntryPointVersion = DefaultEntryPointVersion>(config: CreateSimpleAccountParams<TTransport, TSigner, TEntryPointVersion>): Promise<SimpleSmartAccount<TSigner, TEntryPointVersion>>;