@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,406 @@
1
+ import {
2
+ getContract,
3
+ hexToBytes,
4
+ trim,
5
+ type Address,
6
+ type Chain,
7
+ type CustomSource,
8
+ type Hex,
9
+ type LocalAccount,
10
+ type PublicClient,
11
+ type SignableMessage,
12
+ type Transport,
13
+ type TypedData,
14
+ type TypedDataDefinition,
15
+ } from "viem";
16
+ import { toAccount } from "viem/accounts";
17
+ import { createBundlerClient } from "../client/bundlerClient.js";
18
+ import type {
19
+ EntryPointDef,
20
+ EntryPointRegistryBase,
21
+ EntryPointVersion,
22
+ } from "../entrypoint/types.js";
23
+ import {
24
+ BatchExecutionNotSupportedError,
25
+ FailedToGetStorageSlotError,
26
+ GetCounterFactualAddressError,
27
+ SignTransactionNotSupportedError,
28
+ UpgradesNotSupportedError,
29
+ } from "../errors/account.js";
30
+ import { InvalidRpcUrlError } from "../errors/client.js";
31
+ import { InvalidEntryPointError } from "../errors/entrypoint.js";
32
+ import { Logger } from "../logger.js";
33
+ import type { SmartAccountSigner } from "../signer/types.js";
34
+ import { wrapSignatureWith6492 } from "../signer/utils.js";
35
+ import type { NullAddress } from "../types.js";
36
+ import type { IsUndefined } from "../utils/types.js";
37
+ import { DeploymentState } from "./base.js";
38
+
39
+ export type AccountOp = {
40
+ target: Address;
41
+ value?: bigint;
42
+ data: Hex | "0x";
43
+ };
44
+
45
+ export type GetEntryPointFromAccount<
46
+ TAccount extends SmartContractAccount | undefined,
47
+ TAccountOverride extends SmartContractAccount = SmartContractAccount
48
+ > = GetAccountParameter<
49
+ TAccount,
50
+ TAccountOverride
51
+ > extends SmartContractAccount<string, infer TEntryPointVersion>
52
+ ? TEntryPointVersion
53
+ : EntryPointVersion;
54
+
55
+ export type GetAccountParameter<
56
+ TAccount extends SmartContractAccount | undefined =
57
+ | SmartContractAccount
58
+ | undefined,
59
+ TAccountOverride extends SmartContractAccount = SmartContractAccount
60
+ > = IsUndefined<TAccount> extends true
61
+ ? { account: TAccountOverride }
62
+ : { account?: TAccountOverride };
63
+
64
+ export type UpgradeToAndCallParams = {
65
+ upgradeToAddress: Address;
66
+ upgradeToInitData: Hex;
67
+ };
68
+
69
+ export type SmartContractAccountWithSigner<
70
+ Name extends string = string,
71
+ TSigner extends SmartAccountSigner = SmartAccountSigner,
72
+ TEntryPointVersion extends EntryPointVersion = EntryPointVersion
73
+ > = SmartContractAccount<Name, TEntryPointVersion> & {
74
+ getSigner: () => TSigner;
75
+ };
76
+
77
+ export const isSmartAccountWithSigner = (
78
+ account: SmartContractAccount
79
+ ): account is SmartContractAccountWithSigner => {
80
+ return "getSigner" in account;
81
+ };
82
+
83
+ // [!region SmartContractAccount]
84
+ export type SmartContractAccount<
85
+ Name extends string = string,
86
+ TEntryPointVersion extends EntryPointVersion = EntryPointVersion
87
+ > = LocalAccount<Name> & {
88
+ source: Name;
89
+ getDummySignature: () => Hex | Promise<Hex>;
90
+ encodeExecute: (tx: AccountOp) => Promise<Hex>;
91
+ encodeBatchExecute: (txs: AccountOp[]) => Promise<Hex>;
92
+ signUserOperationHash: (uoHash: Hex) => Promise<Hex>;
93
+ signMessageWith6492: (params: { message: SignableMessage }) => Promise<Hex>;
94
+ signTypedDataWith6492: <
95
+ const typedData extends TypedData | Record<string, unknown>,
96
+ primaryType extends keyof typedData | "EIP712Domain" = keyof typedData
97
+ >(
98
+ typedDataDefinition: TypedDataDefinition<typedData, primaryType>
99
+ ) => Promise<Hex>;
100
+ encodeUpgradeToAndCall: (params: UpgradeToAndCallParams) => Promise<Hex>;
101
+ getNonce(nonceKey?: bigint): Promise<bigint>;
102
+ getInitCode: () => Promise<Hex>;
103
+ isAccountDeployed: () => Promise<boolean>;
104
+ getFactoryAddress: () => Promise<Address>;
105
+ getFactoryData: () => Promise<Hex>;
106
+ getEntryPoint: () => EntryPointDef<TEntryPointVersion>;
107
+ getImplementationAddress: () => Promise<NullAddress | Address>;
108
+ };
109
+ // [!endregion SmartContractAccount]
110
+
111
+ export interface AccountEntryPointRegistry<Name extends string = string>
112
+ extends EntryPointRegistryBase<
113
+ SmartContractAccount<Name, EntryPointVersion>
114
+ > {
115
+ "0.6.0": SmartContractAccount<Name, "0.6.0">;
116
+ "0.7.0": SmartContractAccount<Name, "0.7.0">;
117
+ }
118
+
119
+ // [!region ToSmartContractAccountParams]
120
+ export type ToSmartContractAccountParams<
121
+ Name extends string = string,
122
+ TTransport extends Transport = Transport,
123
+ TChain extends Chain = Chain,
124
+ TEntryPointVersion extends EntryPointVersion = EntryPointVersion
125
+ > = {
126
+ source: Name;
127
+ transport: TTransport;
128
+ chain: TChain;
129
+ entryPoint: EntryPointDef<TEntryPointVersion, TChain>;
130
+ accountAddress?: Address;
131
+ getAccountInitCode: () => Promise<Hex>;
132
+ getDummySignature: () => Hex | Promise<Hex>;
133
+ encodeExecute: (tx: AccountOp) => Promise<Hex>;
134
+ encodeBatchExecute?: (txs: AccountOp[]) => Promise<Hex>;
135
+ // if not provided, will default to just using signMessage over the Hex
136
+ signUserOperationHash?: (uoHash: Hex) => Promise<Hex>;
137
+ encodeUpgradeToAndCall?: (params: UpgradeToAndCallParams) => Promise<Hex>;
138
+ } & Omit<CustomSource, "signTransaction" | "address">;
139
+ // [!endregion ToSmartContractAccountParams]
140
+
141
+ export const parseFactoryAddressFromAccountInitCode = (
142
+ initCode: Hex
143
+ ): [Address, Hex] => {
144
+ const factoryAddress: Address = `0x${initCode.substring(2, 42)}`;
145
+ const factoryCalldata: Hex = `0x${initCode.substring(42)}`;
146
+ return [factoryAddress, factoryCalldata];
147
+ };
148
+
149
+ export const getAccountAddress = async ({
150
+ client,
151
+ entryPoint,
152
+ accountAddress,
153
+ getAccountInitCode,
154
+ }: {
155
+ client: PublicClient;
156
+ entryPoint: EntryPointDef;
157
+ accountAddress?: Address;
158
+ getAccountInitCode: () => Promise<Hex>;
159
+ }) => {
160
+ if (accountAddress) return accountAddress;
161
+
162
+ const entryPointContract = getContract({
163
+ address: entryPoint.address,
164
+ abi: entryPoint.abi,
165
+ client,
166
+ });
167
+
168
+ const initCode = await getAccountInitCode();
169
+ Logger.verbose("[BaseSmartContractAccount](getAddress) initCode: ", initCode);
170
+
171
+ try {
172
+ await entryPointContract.simulate.getSenderAddress([initCode]);
173
+ } catch (err: any) {
174
+ Logger.verbose(
175
+ "[BaseSmartContractAccount](getAddress) getSenderAddress err: ",
176
+ err
177
+ );
178
+ if (err.cause?.data?.errorName === "SenderAddressResult") {
179
+ Logger.verbose(
180
+ "[BaseSmartContractAccount](getAddress) entryPoint.getSenderAddress result:",
181
+ err.cause.data.args[0]
182
+ );
183
+
184
+ return err.cause.data.args[0] as Address;
185
+ }
186
+
187
+ if (err.details === "Invalid URL") {
188
+ throw new InvalidRpcUrlError();
189
+ }
190
+ }
191
+
192
+ throw new GetCounterFactualAddressError();
193
+ };
194
+
195
+ // [!region toSmartContractAccount]
196
+ export async function toSmartContractAccount<
197
+ Name extends string = string,
198
+ TTransport extends Transport = Transport,
199
+ TChain extends Chain = Chain,
200
+ TEntryPointVersion extends EntryPointVersion = EntryPointVersion
201
+ >({
202
+ transport,
203
+ chain,
204
+ entryPoint,
205
+ source,
206
+ accountAddress,
207
+ getAccountInitCode,
208
+ signMessage,
209
+ signTypedData,
210
+ encodeBatchExecute,
211
+ encodeExecute,
212
+ getDummySignature,
213
+ signUserOperationHash,
214
+ encodeUpgradeToAndCall,
215
+ }: ToSmartContractAccountParams<
216
+ Name,
217
+ TTransport,
218
+ TChain,
219
+ TEntryPointVersion
220
+ >): Promise<SmartContractAccount<Name, TEntryPointVersion>>;
221
+ // [!endregion toSmartContractAccount]
222
+
223
+ export async function toSmartContractAccount({
224
+ transport,
225
+ chain,
226
+ entryPoint,
227
+ source,
228
+ accountAddress,
229
+ getAccountInitCode,
230
+ signMessage,
231
+ signTypedData,
232
+ encodeBatchExecute,
233
+ encodeExecute,
234
+ getDummySignature,
235
+ signUserOperationHash,
236
+ encodeUpgradeToAndCall,
237
+ }: ToSmartContractAccountParams): Promise<SmartContractAccount> {
238
+ const client = createBundlerClient({
239
+ // we set the retry count to 0 so that viem doesn't retry during
240
+ // getting the address. That call always reverts and without this
241
+ // viem will retry 3 times, making this call very slow
242
+ transport: (opts) => transport({ ...opts, chain, retryCount: 0 }),
243
+ chain,
244
+ });
245
+
246
+ const entryPointContract = getContract({
247
+ address: entryPoint.address,
248
+ abi: entryPoint.abi,
249
+ client,
250
+ });
251
+
252
+ const accountAddress_ = await getAccountAddress({
253
+ client,
254
+ entryPoint: entryPoint,
255
+ accountAddress,
256
+ getAccountInitCode,
257
+ });
258
+
259
+ let deploymentState = DeploymentState.UNDEFINED;
260
+
261
+ const getInitCode = async () => {
262
+ if (deploymentState === DeploymentState.DEPLOYED) {
263
+ return "0x";
264
+ }
265
+
266
+ const contractCode = await client.getBytecode({
267
+ address: accountAddress_,
268
+ });
269
+
270
+ if ((contractCode?.length ?? 0) > 2) {
271
+ deploymentState = DeploymentState.DEPLOYED;
272
+ return "0x";
273
+ } else {
274
+ deploymentState = DeploymentState.NOT_DEPLOYED;
275
+ }
276
+
277
+ return getAccountInitCode();
278
+ };
279
+
280
+ const signUserOperationHash_ =
281
+ signUserOperationHash ??
282
+ (async (uoHash: Hex) => {
283
+ return signMessage({ message: { raw: hexToBytes(uoHash) } });
284
+ });
285
+
286
+ const getFactoryAddress = async (): Promise<Address> =>
287
+ parseFactoryAddressFromAccountInitCode(await getAccountInitCode())[0];
288
+
289
+ const getFactoryData = async (): Promise<Hex> =>
290
+ parseFactoryAddressFromAccountInitCode(await getAccountInitCode())[1];
291
+
292
+ const encodeUpgradeToAndCall_ =
293
+ encodeUpgradeToAndCall ??
294
+ (() => {
295
+ throw new UpgradesNotSupportedError(source);
296
+ });
297
+
298
+ const isAccountDeployed = async () => {
299
+ const initCode = await getInitCode();
300
+ return initCode === "0x";
301
+ };
302
+
303
+ const getNonce = async (nonceKey = 0n): Promise<bigint> => {
304
+ if (!(await isAccountDeployed())) {
305
+ return 0n;
306
+ }
307
+
308
+ return entryPointContract.read.getNonce([
309
+ accountAddress_,
310
+ nonceKey,
311
+ ]) as Promise<bigint>;
312
+ };
313
+
314
+ const account = toAccount({
315
+ address: accountAddress_,
316
+ signMessage,
317
+ signTypedData,
318
+ signTransaction: () => {
319
+ throw new SignTransactionNotSupportedError();
320
+ },
321
+ });
322
+
323
+ const create6492Signature = async (isDeployed: boolean, signature: Hex) => {
324
+ if (isDeployed) {
325
+ return signature;
326
+ }
327
+
328
+ const [factoryAddress, factoryCalldata] =
329
+ parseFactoryAddressFromAccountInitCode(await getAccountInitCode());
330
+
331
+ return wrapSignatureWith6492({
332
+ factoryAddress,
333
+ factoryCalldata,
334
+ signature,
335
+ });
336
+ };
337
+
338
+ const signMessageWith6492 = async (message: { message: SignableMessage }) => {
339
+ const [isDeployed, signature] = await Promise.all([
340
+ isAccountDeployed(),
341
+ account.signMessage(message),
342
+ ]);
343
+
344
+ return create6492Signature(isDeployed, signature);
345
+ };
346
+
347
+ const signTypedDataWith6492 = async <
348
+ const typedData extends TypedData | Record<string, unknown>,
349
+ primaryType extends keyof typedData | "EIP712Domain" = keyof typedData
350
+ >(
351
+ typedDataDefinition: TypedDataDefinition<typedData, primaryType>
352
+ ): Promise<Hex> => {
353
+ const [isDeployed, signature] = await Promise.all([
354
+ isAccountDeployed(),
355
+ account.signTypedData(typedDataDefinition),
356
+ ]);
357
+
358
+ return create6492Signature(isDeployed, signature);
359
+ };
360
+
361
+ const getImplementationAddress = async (): Promise<NullAddress | Address> => {
362
+ const storage = await client.getStorageAt({
363
+ address: account.address,
364
+ // This is the default slot for the implementation address for Proxies
365
+ slot: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
366
+ });
367
+
368
+ if (storage == null) {
369
+ throw new FailedToGetStorageSlotError(
370
+ "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
371
+ "Proxy Implementation Address"
372
+ );
373
+ }
374
+
375
+ return trim(storage);
376
+ };
377
+
378
+ if (entryPoint.version !== "0.6.0" && entryPoint.version !== "0.7.0") {
379
+ throw new InvalidEntryPointError(chain, entryPoint.version);
380
+ }
381
+
382
+ return {
383
+ ...account,
384
+ source,
385
+ // TODO: I think this should probably be signUserOperation instead
386
+ // and allow for generating the UO hash based on the EP version
387
+ signUserOperationHash: signUserOperationHash_,
388
+ getFactoryAddress,
389
+ getFactoryData,
390
+ encodeBatchExecute:
391
+ encodeBatchExecute ??
392
+ (() => {
393
+ throw new BatchExecutionNotSupportedError(source);
394
+ }),
395
+ encodeExecute,
396
+ getDummySignature,
397
+ getInitCode,
398
+ encodeUpgradeToAndCall: encodeUpgradeToAndCall_,
399
+ getEntryPoint: () => entryPoint,
400
+ isAccountDeployed,
401
+ getNonce,
402
+ signMessageWith6492,
403
+ signTypedDataWith6492,
404
+ getImplementationAddress,
405
+ };
406
+ }
@@ -0,0 +1,184 @@
1
+ import type { Address } from "abitype";
2
+ import type { Hash, Hex, HttpTransport, Transport } from "viem";
3
+ import type { SignTypedDataParameters } from "viem/accounts";
4
+ import type { z } from "zod";
5
+ import type { BundlerClient } from "../client/bundlerClient";
6
+ import type { SmartAccountSigner } from "../signer/types";
7
+ import type { BatchUserOperationCallData } from "../types";
8
+ import type {
9
+ SimpleSmartAccountParamsSchema,
10
+ createBaseSmartAccountParamsSchema,
11
+ } from "./schema";
12
+
13
+ /** @deprecated */
14
+ export type SignTypedDataParams = Omit<SignTypedDataParameters, "privateKey">;
15
+
16
+ /**
17
+ * @deprecated don't use base smart account anymore, migrate to using toSmartContractAccount instead
18
+ */
19
+ export type BaseSmartAccountParams<
20
+ TTransport extends Transport = Transport,
21
+ TSigner extends SmartAccountSigner = SmartAccountSigner
22
+ > = z.input<
23
+ ReturnType<typeof createBaseSmartAccountParamsSchema<TTransport, TSigner>>
24
+ >;
25
+
26
+ export type SimpleSmartAccountParams<
27
+ TTransport extends Transport = Transport,
28
+ TSigner extends SmartAccountSigner = SmartAccountSigner
29
+ > = z.input<
30
+ ReturnType<typeof SimpleSmartAccountParamsSchema<TTransport, TSigner>>
31
+ >;
32
+
33
+ /**
34
+ * @deprecated use `toSmartContractAccount` instead for creating instances of smart accounts
35
+ */
36
+ export interface ISmartContractAccount<
37
+ TTransport extends Transport = Transport,
38
+ TSigner extends SmartAccountSigner = SmartAccountSigner
39
+ > {
40
+ /**
41
+ * The RPC provider the account uses to make RPC calls
42
+ */
43
+ readonly rpcProvider:
44
+ | BundlerClient<TTransport>
45
+ | BundlerClient<HttpTransport>;
46
+
47
+ /**
48
+ * @returns the init code for the account
49
+ */
50
+ getInitCode(): Promise<Hex>;
51
+
52
+ /**
53
+ * This is useful for estimating gas costs. It should return a signature that doesn't cause the account to revert
54
+ * when validation is run during estimation.
55
+ *
56
+ * @returns a dummy signature that doesn't cause the account to revert during estimation
57
+ */
58
+ getDummySignature(): Hex | Promise<Hex>;
59
+
60
+ /**
61
+ * Encodes a call to the account's execute function.
62
+ *
63
+ * @param target - the address receiving the call data
64
+ * @param value - optionally the amount of native token to send
65
+ * @param data - the call data or "0x" if empty
66
+ */
67
+ encodeExecute(target: string, value: bigint, data: string): Promise<Hex>;
68
+
69
+ /**
70
+ * Encodes a batch of transactions to the account's batch execute function.
71
+ * NOTE: not all accounts support batching.
72
+ *
73
+ * @param txs - An Array of objects containing the target, value, and data for each transaction
74
+ * @returns the encoded callData for a UserOperation
75
+ */
76
+ encodeBatchExecute(txs: BatchUserOperationCallData): Promise<Hex>;
77
+
78
+ /**
79
+ * @returns the nonce of the account
80
+ */
81
+ getNonce(): Promise<bigint>;
82
+
83
+ /**
84
+ * If your account handles 1271 signatures of personal_sign differently
85
+ * than it does UserOperations, you can implement two different approaches to signing
86
+ *
87
+ * @param uoHash -- The hash of the UserOperation to sign
88
+ * @returns the signature of the UserOperation
89
+ */
90
+ signUserOperationHash(uoHash: Hash): Promise<Hash>;
91
+
92
+ /**
93
+ * Returns a signed and prefixed message.
94
+ *
95
+ * @param msg - the message to sign
96
+ * @returns the signature of the message
97
+ */
98
+ signMessage(msg: string | Uint8Array | Hex): Promise<Hex>;
99
+
100
+ /**
101
+ * Signs a typed data object as per ERC-712
102
+ *
103
+ * @param params - {@link SignTypedDataParams}
104
+ * @returns the signed hash for the message passed
105
+ */
106
+ signTypedData(params: SignTypedDataParams): Promise<Hash>;
107
+
108
+ /**
109
+ * If the account is not deployed, it will sign the message and then wrap it in 6492 format
110
+ *
111
+ * @param msg - the message to sign
112
+ * @returns ths signature wrapped in 6492 format
113
+ */
114
+ signMessageWith6492(msg: string | Uint8Array | Hex): Promise<Hex>;
115
+
116
+ /**
117
+ * If the account is not deployed, it will sign the typed data blob and then wrap it in 6492 format
118
+ *
119
+ * @param params - {@link SignTypedDataParams}
120
+ * @returns the signed hash for the params passed in wrapped in 6492 format
121
+ */
122
+ signTypedDataWith6492(params: SignTypedDataParams): Promise<Hash>;
123
+
124
+ /**
125
+ * @returns the address of the account
126
+ */
127
+ getAddress(): Promise<Address>;
128
+
129
+ /**
130
+ * @returns the current account signer instance that the smart account client
131
+ * operations are being signed with.
132
+ *
133
+ * The signer is expected to be the owner or one of the owners of the account
134
+ * for the signatures to be valid for the acting account.
135
+ */
136
+ getSigner(): TSigner;
137
+
138
+ /**
139
+ * The factory address of the smart account created by the factory
140
+ *
141
+ * @returns the address of the factory contract for the smart account
142
+ */
143
+ getFactoryAddress(): Address;
144
+
145
+ /**
146
+ * The entrypoint address is the address ERC 4337 entrypoint singleton contract
147
+ * that this smart account and the connected bundler client use
148
+ *
149
+ * @returns the address of the entry point contract for the smart account
150
+ */
151
+ getEntryPointAddress(): Address;
152
+
153
+ /**
154
+ * Allows you to add additional functionality and utility methods to this account
155
+ * via a decorator pattern.
156
+ *
157
+ * NOTE: this method does not allow you to override existing methods on the account.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * const account = new BaseSmartCobntractAccount(...).extend((account) => ({
162
+ * readAccountState: async (...args) => {
163
+ * return this.rpcProvider.readContract({
164
+ * address: await this.getAddress(),
165
+ * abi: ThisContractsAbi
166
+ * args: args
167
+ * });
168
+ * }
169
+ * }));
170
+ *
171
+ * account.debugSendUserOperation(...);
172
+ * ```
173
+ *
174
+ * @param extendFn -- this function gives you access to the created account instance and returns an object
175
+ * with the extension methods
176
+ * @returns -- the account with the extension methods added
177
+ */
178
+ extend: <R>(extendFn: (self: this) => R) => this & R;
179
+
180
+ encodeUpgradeToAndCall: (
181
+ upgradeToImplAddress: Address,
182
+ upgradeToInitData: Hex
183
+ ) => Promise<Hex>;
184
+ }
@@ -0,0 +1,32 @@
1
+ import type { Address, Chain, Client, StateOverride, Transport } from "viem";
2
+ import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
+ import type { EntryPointVersion } from "../../entrypoint/types";
4
+ import type {
5
+ UserOperationEstimateGasResponse,
6
+ UserOperationRequest,
7
+ } from "../../types";
8
+ import { serializeStateOverride } from "../../utils/stateOverride.js";
9
+
10
+ export const estimateUserOperationGas = async <
11
+ TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>,
12
+ TEntryPointVersion extends EntryPointVersion = EntryPointVersion
13
+ >(
14
+ client: TClient,
15
+ args: {
16
+ request: UserOperationRequest<TEntryPointVersion>;
17
+ entryPoint: Address;
18
+ stateOverride?: StateOverride;
19
+ }
20
+ ): Promise<UserOperationEstimateGasResponse<TEntryPointVersion>> => {
21
+ return client.request({
22
+ method: "eth_estimateUserOperationGas",
23
+ params:
24
+ args.stateOverride != null
25
+ ? [
26
+ args.request,
27
+ args.entryPoint,
28
+ serializeStateOverride(args.stateOverride),
29
+ ]
30
+ : [args.request, args.entryPoint],
31
+ });
32
+ };
@@ -0,0 +1,13 @@
1
+ import type { Address, Chain, Client, Transport } from "viem";
2
+ import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
+
4
+ export const getSupportedEntryPoints = async <
5
+ TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>
6
+ >(
7
+ client: TClient
8
+ ): Promise<Address[]> => {
9
+ return client.request({
10
+ method: "eth_supportedEntryPoints",
11
+ params: [],
12
+ });
13
+ };
@@ -0,0 +1,17 @@
1
+ import type { Chain, Client, Hex, Transport } from "viem";
2
+ import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
+ import type { UserOperationResponse } from "../../types";
4
+
5
+ export const getUserOperationByHash = async <
6
+ TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>
7
+ >(
8
+ client: TClient,
9
+ args: {
10
+ hash: Hex;
11
+ }
12
+ ): Promise<UserOperationResponse | null> => {
13
+ return client.request({
14
+ method: "eth_getUserOperationByHash",
15
+ params: [args.hash],
16
+ });
17
+ };
@@ -0,0 +1,17 @@
1
+ import type { Chain, Client, Hex, Transport } from "viem";
2
+ import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
+ import type { UserOperationReceipt } from "../../types";
4
+
5
+ export const getUserOperationReceipt = async <
6
+ TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>
7
+ >(
8
+ client: TClient,
9
+ args: {
10
+ hash: Hex;
11
+ }
12
+ ): Promise<UserOperationReceipt | null> => {
13
+ return client.request({
14
+ method: "eth_getUserOperationReceipt",
15
+ params: [args.hash],
16
+ });
17
+ };
@@ -0,0 +1,20 @@
1
+ import type { Address, Chain, Client, Hex, Transport } from "viem";
2
+ import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
+ import type { EntryPointVersion } from "../../entrypoint/types";
4
+ import type { UserOperationRequest } from "../../types";
5
+
6
+ export const sendRawUserOperation = async <
7
+ TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>,
8
+ TEntryPointVersion extends EntryPointVersion = EntryPointVersion
9
+ >(
10
+ client: TClient,
11
+ args: {
12
+ request: UserOperationRequest<TEntryPointVersion>;
13
+ entryPoint: Address;
14
+ }
15
+ ): Promise<Hex> => {
16
+ return client.request({
17
+ method: "eth_sendUserOperation",
18
+ params: [args.request, args.entryPoint],
19
+ });
20
+ };