@aa-sdk/core 4.0.0-alpha.9 → 4.0.0-beta.1

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 (425) hide show
  1. package/dist/esm/abis/EntryPointAbi_v7.js +1 -0
  2. package/dist/esm/abis/EntryPointAbi_v7.js.map +1 -1
  3. package/dist/esm/account/smartContractAccount.d.ts +50 -1
  4. package/dist/esm/account/smartContractAccount.js +111 -2
  5. package/dist/esm/account/smartContractAccount.js.map +1 -1
  6. package/dist/esm/actions/smartAccount/buildUserOperation.d.ts +23 -0
  7. package/dist/esm/actions/smartAccount/buildUserOperation.js +23 -0
  8. package/dist/esm/actions/smartAccount/buildUserOperation.js.map +1 -1
  9. package/dist/esm/actions/smartAccount/buildUserOperationFromTx.d.ts +39 -0
  10. package/dist/esm/actions/smartAccount/buildUserOperationFromTx.js +39 -0
  11. package/dist/esm/actions/smartAccount/buildUserOperationFromTx.js.map +1 -1
  12. package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.d.ts +54 -0
  13. package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.js +55 -0
  14. package/dist/esm/actions/smartAccount/buildUserOperationFromTxs.js.map +1 -1
  15. package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +28 -0
  16. package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.js +28 -0
  17. package/dist/esm/actions/smartAccount/checkGasSponsorshipEligibility.js.map +1 -1
  18. package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.d.ts +22 -0
  19. package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.js +27 -6
  20. package/dist/esm/actions/smartAccount/dropAndReplaceUserOperation.js.map +1 -1
  21. package/dist/esm/actions/smartAccount/estimateUserOperationGas.d.ts +13 -0
  22. package/dist/esm/actions/smartAccount/estimateUserOperationGas.js +13 -0
  23. package/dist/esm/actions/smartAccount/estimateUserOperationGas.js.map +1 -1
  24. package/dist/esm/actions/smartAccount/internal/initUserOperation.d.ts +13 -0
  25. package/dist/esm/actions/smartAccount/internal/initUserOperation.js +14 -1
  26. package/dist/esm/actions/smartAccount/internal/initUserOperation.js.map +1 -1
  27. package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.js +2 -1
  28. package/dist/esm/actions/smartAccount/internal/runMiddlewareStack.js.map +1 -1
  29. package/dist/esm/actions/smartAccount/sendTransaction.d.ts +24 -0
  30. package/dist/esm/actions/smartAccount/sendTransaction.js +24 -0
  31. package/dist/esm/actions/smartAccount/sendTransaction.js.map +1 -1
  32. package/dist/esm/actions/smartAccount/sendTransactions.d.ts +23 -0
  33. package/dist/esm/actions/smartAccount/sendTransactions.js +23 -0
  34. package/dist/esm/actions/smartAccount/sendTransactions.js.map +1 -1
  35. package/dist/esm/actions/smartAccount/sendUserOperation.d.ts +21 -0
  36. package/dist/esm/actions/smartAccount/sendUserOperation.js +21 -0
  37. package/dist/esm/actions/smartAccount/sendUserOperation.js.map +1 -1
  38. package/dist/esm/actions/smartAccount/types.d.ts +14 -0
  39. package/dist/esm/actions/smartAccount/types.js +1 -0
  40. package/dist/esm/actions/smartAccount/types.js.map +1 -1
  41. package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.d.ts +24 -0
  42. package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.js +24 -0
  43. package/dist/esm/actions/smartAccount/waitForUserOperationTransacation.js.map +1 -1
  44. package/dist/esm/client/bundlerClient.d.ts +21 -0
  45. package/dist/esm/client/bundlerClient.js +32 -0
  46. package/dist/esm/client/bundlerClient.js.map +1 -1
  47. package/dist/esm/client/decorators/bundlerClient.d.ts +41 -0
  48. package/dist/esm/client/decorators/bundlerClient.js +10 -0
  49. package/dist/esm/client/decorators/bundlerClient.js.map +1 -1
  50. package/dist/esm/client/decorators/smartAccountClient.d.ts +8 -0
  51. package/dist/esm/client/decorators/smartAccountClient.js +12 -1
  52. package/dist/esm/client/decorators/smartAccountClient.js.map +1 -1
  53. package/dist/esm/client/isSmartAccountClient.d.ts +16 -0
  54. package/dist/esm/client/isSmartAccountClient.js +16 -0
  55. package/dist/esm/client/isSmartAccountClient.js.map +1 -1
  56. package/dist/esm/client/schema.d.ts +12 -0
  57. package/dist/esm/client/schema.js +14 -0
  58. package/dist/esm/client/schema.js.map +1 -1
  59. package/dist/esm/client/smartAccountClient.js +53 -0
  60. package/dist/esm/client/smartAccountClient.js.map +1 -1
  61. package/dist/esm/client/types.js +1 -0
  62. package/dist/esm/client/types.js.map +1 -1
  63. package/dist/esm/ens/utils.d.ts +45 -0
  64. package/dist/esm/ens/utils.js +49 -0
  65. package/dist/esm/ens/utils.js.map +1 -1
  66. package/dist/esm/entrypoint/index.d.ts +14 -0
  67. package/dist/esm/entrypoint/index.js +30 -0
  68. package/dist/esm/entrypoint/index.js.map +1 -1
  69. package/dist/esm/entrypoint/types.d.ts +17 -0
  70. package/dist/esm/errors/account.d.ts +87 -4
  71. package/dist/esm/errors/account.js +88 -4
  72. package/dist/esm/errors/account.js.map +1 -1
  73. package/dist/esm/errors/base.d.ts +5 -0
  74. package/dist/esm/errors/base.js +5 -0
  75. package/dist/esm/errors/base.js.map +1 -1
  76. package/dist/esm/errors/client.d.ts +24 -0
  77. package/dist/esm/errors/client.js +24 -0
  78. package/dist/esm/errors/client.js.map +1 -1
  79. package/dist/esm/errors/entrypoint.d.ts +18 -0
  80. package/dist/esm/errors/entrypoint.js +18 -0
  81. package/dist/esm/errors/entrypoint.js.map +1 -1
  82. package/dist/esm/errors/signer.d.ts +8 -0
  83. package/dist/esm/errors/signer.js +8 -0
  84. package/dist/esm/errors/signer.js.map +1 -1
  85. package/dist/esm/errors/transaction.d.ts +14 -1
  86. package/dist/esm/errors/transaction.js +14 -1
  87. package/dist/esm/errors/transaction.js.map +1 -1
  88. package/dist/esm/errors/useroperation.d.ts +25 -0
  89. package/dist/esm/errors/useroperation.js +26 -0
  90. package/dist/esm/errors/useroperation.js.map +1 -1
  91. package/dist/esm/index.d.ts +0 -1
  92. package/dist/esm/index.js +0 -1
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/logger.d.ts +91 -0
  95. package/dist/esm/logger.js +91 -0
  96. package/dist/esm/logger.js.map +1 -1
  97. package/dist/esm/middleware/actions.d.ts +14 -0
  98. package/dist/esm/middleware/actions.js +7 -0
  99. package/dist/esm/middleware/actions.js.map +1 -1
  100. package/dist/esm/middleware/defaults/feeEstimator.d.ts +20 -0
  101. package/dist/esm/middleware/defaults/feeEstimator.js +28 -0
  102. package/dist/esm/middleware/defaults/feeEstimator.js.map +1 -1
  103. package/dist/esm/middleware/defaults/gasEstimator.d.ts +8 -0
  104. package/dist/esm/middleware/defaults/gasEstimator.js +8 -0
  105. package/dist/esm/middleware/defaults/gasEstimator.js.map +1 -1
  106. package/dist/esm/middleware/defaults/paymasterAndData.d.ts +8 -0
  107. package/dist/esm/middleware/defaults/paymasterAndData.js +8 -0
  108. package/dist/esm/middleware/defaults/paymasterAndData.js.map +1 -1
  109. package/dist/esm/middleware/defaults/userOpSigner.d.ts +10 -0
  110. package/dist/esm/middleware/defaults/userOpSigner.js +10 -0
  111. package/dist/esm/middleware/defaults/userOpSigner.js.map +1 -1
  112. package/dist/esm/middleware/erc7677middleware.d.ts +21 -0
  113. package/dist/esm/middleware/erc7677middleware.js +23 -0
  114. package/dist/esm/middleware/erc7677middleware.js.map +1 -1
  115. package/dist/esm/middleware/noopMiddleware.d.ts +6 -0
  116. package/dist/esm/middleware/noopMiddleware.js +6 -0
  117. package/dist/esm/middleware/noopMiddleware.js.map +1 -1
  118. package/dist/esm/middleware/types.js +1 -0
  119. package/dist/esm/middleware/types.js.map +1 -1
  120. package/dist/esm/signer/local-account.d.ts +98 -5
  121. package/dist/esm/signer/local-account.js +97 -2
  122. package/dist/esm/signer/local-account.js.map +1 -1
  123. package/dist/esm/signer/schema.d.ts +14 -0
  124. package/dist/esm/signer/schema.js +14 -0
  125. package/dist/esm/signer/schema.js.map +1 -1
  126. package/dist/esm/signer/types.d.ts +13 -3
  127. package/dist/esm/signer/types.js +1 -0
  128. package/dist/esm/signer/types.js.map +1 -1
  129. package/dist/esm/signer/utils.d.ts +20 -0
  130. package/dist/esm/signer/utils.js +27 -0
  131. package/dist/esm/signer/utils.js.map +1 -1
  132. package/dist/esm/signer/wallet-client.d.ts +94 -4
  133. package/dist/esm/signer/wallet-client.js +95 -2
  134. package/dist/esm/signer/wallet-client.js.map +1 -1
  135. package/dist/esm/transport/split.d.ts +32 -0
  136. package/dist/esm/transport/split.js +32 -0
  137. package/dist/esm/transport/split.js.map +1 -1
  138. package/dist/esm/types.d.ts +17 -0
  139. package/dist/esm/types.js +1 -0
  140. package/dist/esm/types.js.map +1 -1
  141. package/dist/esm/utils/bigint.d.ts +45 -0
  142. package/dist/esm/utils/bigint.js +46 -0
  143. package/dist/esm/utils/bigint.js.map +1 -1
  144. package/dist/esm/utils/bytes.d.ts +9 -0
  145. package/dist/esm/utils/bytes.js +10 -1
  146. package/dist/esm/utils/bytes.js.map +1 -1
  147. package/dist/esm/utils/index.d.ts +86 -0
  148. package/dist/esm/utils/index.js +86 -0
  149. package/dist/esm/utils/index.js.map +1 -1
  150. package/dist/esm/utils/schema.d.ts +3 -0
  151. package/dist/esm/utils/schema.js +9 -0
  152. package/dist/esm/utils/schema.js.map +1 -1
  153. package/dist/esm/utils/stateOverride.js +2 -0
  154. package/dist/esm/utils/stateOverride.js.map +1 -1
  155. package/dist/esm/utils/types.d.ts +22 -0
  156. package/dist/esm/utils/types.js +1 -0
  157. package/dist/esm/utils/types.js.map +1 -1
  158. package/dist/esm/utils/userop.d.ts +79 -0
  159. package/dist/esm/utils/userop.js +83 -0
  160. package/dist/esm/utils/userop.js.map +1 -1
  161. package/dist/esm/version.d.ts +1 -1
  162. package/dist/esm/version.js +3 -1
  163. package/dist/esm/version.js.map +1 -1
  164. package/dist/types/account/smartContractAccount.d.ts +1 -1
  165. package/dist/types/account/smartContractAccount.d.ts.map +1 -1
  166. package/dist/types/actions/smartAccount/dropAndReplaceUserOperation.d.ts.map +1 -1
  167. package/dist/types/client/smartAccountClient.d.ts.map +1 -1
  168. package/dist/types/index.d.ts +0 -1
  169. package/dist/types/index.d.ts.map +1 -1
  170. package/dist/types/signer/local-account.d.ts +2 -4
  171. package/dist/types/signer/local-account.d.ts.map +1 -1
  172. package/dist/types/signer/types.d.ts +1 -3
  173. package/dist/types/signer/types.d.ts.map +1 -1
  174. package/dist/types/signer/wallet-client.d.ts +2 -4
  175. package/dist/types/signer/wallet-client.d.ts.map +1 -1
  176. package/dist/types/transport/split.d.ts +1 -1
  177. package/dist/types/version.d.ts +1 -1
  178. package/dist/types/version.d.ts.map +1 -1
  179. package/package.json +9 -11
  180. package/src/account/smartContractAccount.ts +3 -3
  181. package/src/actions/smartAccount/dropAndReplaceUserOperation.ts +10 -10
  182. package/src/actions/smartAccount/internal/initUserOperation.ts +1 -1
  183. package/src/client/smartAccountClient.ts +7 -0
  184. package/src/index.ts +0 -1
  185. package/src/signer/local-account.ts +2 -2
  186. package/src/signer/types.ts +2 -2
  187. package/src/signer/wallet-client.ts +8 -4
  188. package/src/transport/split.ts +1 -1
  189. package/src/version.ts +1 -1
  190. package/dist/cjs/abis/EntryPointAbi_v6.d.ts +0 -1018
  191. package/dist/cjs/abis/EntryPointAbi_v6.js +0 -1313
  192. package/dist/cjs/abis/EntryPointAbi_v6.js.map +0 -1
  193. package/dist/cjs/abis/EntryPointAbi_v7.d.ts +0 -775
  194. package/dist/cjs/abis/EntryPointAbi_v7.js +0 -661
  195. package/dist/cjs/abis/EntryPointAbi_v7.js.map +0 -1
  196. package/dist/cjs/abis/SimpleAccountAbi_v6.d.ts +0 -405
  197. package/dist/cjs/abis/SimpleAccountAbi_v6.js +0 -528
  198. package/dist/cjs/abis/SimpleAccountAbi_v6.js.map +0 -1
  199. package/dist/cjs/abis/SimpleAccountAbi_v7.d.ts +0 -410
  200. package/dist/cjs/abis/SimpleAccountAbi_v7.js +0 -538
  201. package/dist/cjs/abis/SimpleAccountAbi_v7.js.map +0 -1
  202. package/dist/cjs/abis/SimpleAccountFactoryAbi.d.ts +0 -55
  203. package/dist/cjs/abis/SimpleAccountFactoryAbi.js +0 -78
  204. package/dist/cjs/abis/SimpleAccountFactoryAbi.js.map +0 -1
  205. package/dist/cjs/account/smartContractAccount.d.ts +0 -74
  206. package/dist/cjs/account/smartContractAccount.js +0 -180
  207. package/dist/cjs/account/smartContractAccount.js.map +0 -1
  208. package/dist/cjs/actions/bundler/estimateUserOperationGas.d.ts +0 -8
  209. package/dist/cjs/actions/bundler/estimateUserOperationGas.js +0 -18
  210. package/dist/cjs/actions/bundler/estimateUserOperationGas.js.map +0 -1
  211. package/dist/cjs/actions/bundler/getSupportedEntryPoints.d.ts +0 -3
  212. package/dist/cjs/actions/bundler/getSupportedEntryPoints.js +0 -11
  213. package/dist/cjs/actions/bundler/getSupportedEntryPoints.js.map +0 -1
  214. package/dist/cjs/actions/bundler/getUserOperationByHash.d.ts +0 -6
  215. package/dist/cjs/actions/bundler/getUserOperationByHash.js +0 -11
  216. package/dist/cjs/actions/bundler/getUserOperationByHash.js.map +0 -1
  217. package/dist/cjs/actions/bundler/getUserOperationReceipt.d.ts +0 -6
  218. package/dist/cjs/actions/bundler/getUserOperationReceipt.js +0 -11
  219. package/dist/cjs/actions/bundler/getUserOperationReceipt.js.map +0 -1
  220. package/dist/cjs/actions/bundler/sendRawUserOperation.d.ts +0 -7
  221. package/dist/cjs/actions/bundler/sendRawUserOperation.js +0 -11
  222. package/dist/cjs/actions/bundler/sendRawUserOperation.js.map +0 -1
  223. package/dist/cjs/actions/smartAccount/buildUserOperation.d.ts +0 -5
  224. package/dist/cjs/actions/smartAccount/buildUserOperation.js +0 -25
  225. package/dist/cjs/actions/smartAccount/buildUserOperation.js.map +0 -1
  226. package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.d.ts +0 -5
  227. package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.js +0 -39
  228. package/dist/cjs/actions/smartAccount/buildUserOperationFromTx.js.map +0 -1
  229. package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.d.ts +0 -4
  230. package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.js +0 -62
  231. package/dist/cjs/actions/smartAccount/buildUserOperationFromTxs.js.map +0 -1
  232. package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.d.ts +0 -4
  233. package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.js +0 -34
  234. package/dist/cjs/actions/smartAccount/checkGasSponsorshipEligibility.js.map +0 -1
  235. package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.d.ts +0 -5
  236. package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.js +0 -64
  237. package/dist/cjs/actions/smartAccount/dropAndReplaceUserOperation.js.map +0 -1
  238. package/dist/cjs/actions/smartAccount/estimateUserOperationGas.d.ts +0 -5
  239. package/dist/cjs/actions/smartAccount/estimateUserOperationGas.js +0 -23
  240. package/dist/cjs/actions/smartAccount/estimateUserOperationGas.js.map +0 -1
  241. package/dist/cjs/actions/smartAccount/getAddress.d.ts +0 -4
  242. package/dist/cjs/actions/smartAccount/getAddress.js +0 -13
  243. package/dist/cjs/actions/smartAccount/getAddress.js.map +0 -1
  244. package/dist/cjs/actions/smartAccount/internal/initUserOperation.d.ts +0 -7
  245. package/dist/cjs/actions/smartAccount/internal/initUserOperation.js +0 -42
  246. package/dist/cjs/actions/smartAccount/internal/initUserOperation.js.map +0 -1
  247. package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.d.ts +0 -10
  248. package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.js +0 -47
  249. package/dist/cjs/actions/smartAccount/internal/runMiddlewareStack.js.map +0 -1
  250. package/dist/cjs/actions/smartAccount/internal/sendUserOperation.d.ts +0 -10
  251. package/dist/cjs/actions/smartAccount/internal/sendUserOperation.js +0 -28
  252. package/dist/cjs/actions/smartAccount/internal/sendUserOperation.js.map +0 -1
  253. package/dist/cjs/actions/smartAccount/sendTransaction.d.ts +0 -5
  254. package/dist/cjs/actions/smartAccount/sendTransaction.js +0 -35
  255. package/dist/cjs/actions/smartAccount/sendTransaction.js.map +0 -1
  256. package/dist/cjs/actions/smartAccount/sendTransactions.d.ts +0 -4
  257. package/dist/cjs/actions/smartAccount/sendTransactions.js +0 -36
  258. package/dist/cjs/actions/smartAccount/sendTransactions.js.map +0 -1
  259. package/dist/cjs/actions/smartAccount/sendUserOperation.d.ts +0 -5
  260. package/dist/cjs/actions/smartAccount/sendUserOperation.js +0 -31
  261. package/dist/cjs/actions/smartAccount/sendUserOperation.js.map +0 -1
  262. package/dist/cjs/actions/smartAccount/signMessage.d.ts +0 -6
  263. package/dist/cjs/actions/smartAccount/signMessage.js +0 -12
  264. package/dist/cjs/actions/smartAccount/signMessage.js.map +0 -1
  265. package/dist/cjs/actions/smartAccount/signMessageWith6492.d.ts +0 -4
  266. package/dist/cjs/actions/smartAccount/signMessageWith6492.js +0 -12
  267. package/dist/cjs/actions/smartAccount/signMessageWith6492.js.map +0 -1
  268. package/dist/cjs/actions/smartAccount/signTypedData.d.ts +0 -10
  269. package/dist/cjs/actions/smartAccount/signTypedData.js +0 -12
  270. package/dist/cjs/actions/smartAccount/signTypedData.js.map +0 -1
  271. package/dist/cjs/actions/smartAccount/signTypedDataWith6492.d.ts +0 -6
  272. package/dist/cjs/actions/smartAccount/signTypedDataWith6492.js +0 -12
  273. package/dist/cjs/actions/smartAccount/signTypedDataWith6492.js.map +0 -1
  274. package/dist/cjs/actions/smartAccount/signUserOperation.d.ts +0 -5
  275. package/dist/cjs/actions/smartAccount/signUserOperation.js +0 -30
  276. package/dist/cjs/actions/smartAccount/signUserOperation.js.map +0 -1
  277. package/dist/cjs/actions/smartAccount/types.d.ts +0 -42
  278. package/dist/cjs/actions/smartAccount/types.js +0 -3
  279. package/dist/cjs/actions/smartAccount/types.js.map +0 -1
  280. package/dist/cjs/actions/smartAccount/upgradeAccount.d.ts +0 -4
  281. package/dist/cjs/actions/smartAccount/upgradeAccount.js +0 -38
  282. package/dist/cjs/actions/smartAccount/upgradeAccount.js.map +0 -1
  283. package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.d.ts +0 -3
  284. package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.js +0 -36
  285. package/dist/cjs/actions/smartAccount/waitForUserOperationTransacation.js.map +0 -1
  286. package/dist/cjs/client/bundlerClient.d.ts +0 -10
  287. package/dist/cjs/client/bundlerClient.js +0 -51
  288. package/dist/cjs/client/bundlerClient.js.map +0 -1
  289. package/dist/cjs/client/decorators/bundlerClient.d.ts +0 -41
  290. package/dist/cjs/client/decorators/bundlerClient.js +0 -17
  291. package/dist/cjs/client/decorators/bundlerClient.js.map +0 -1
  292. package/dist/cjs/client/decorators/smartAccountClient.d.ts +0 -35
  293. package/dist/cjs/client/decorators/smartAccountClient.js +0 -43
  294. package/dist/cjs/client/decorators/smartAccountClient.js.map +0 -1
  295. package/dist/cjs/client/isSmartAccountClient.d.ts +0 -5
  296. package/dist/cjs/client/isSmartAccountClient.js +0 -18
  297. package/dist/cjs/client/isSmartAccountClient.js.map +0 -1
  298. package/dist/cjs/client/schema.d.ts +0 -767
  299. package/dist/cjs/client/schema.js +0 -63
  300. package/dist/cjs/client/schema.js.map +0 -1
  301. package/dist/cjs/client/smartAccountClient.d.ts +0 -33
  302. package/dist/cjs/client/smartAccountClient.js +0 -93
  303. package/dist/cjs/client/smartAccountClient.js.map +0 -1
  304. package/dist/cjs/client/types.d.ts +0 -21
  305. package/dist/cjs/client/types.js +0 -3
  306. package/dist/cjs/client/types.js.map +0 -1
  307. package/dist/cjs/ens/utils.d.ts +0 -6
  308. package/dist/cjs/ens/utils.js +0 -53
  309. package/dist/cjs/ens/utils.js.map +0 -1
  310. package/dist/cjs/entrypoint/0.6.d.ts +0 -1029
  311. package/dist/cjs/entrypoint/0.6.js +0 -49
  312. package/dist/cjs/entrypoint/0.6.js.map +0 -1
  313. package/dist/cjs/entrypoint/0.7.d.ts +0 -792
  314. package/dist/cjs/entrypoint/0.7.js +0 -88
  315. package/dist/cjs/entrypoint/0.7.js.map +0 -1
  316. package/dist/cjs/entrypoint/index.d.ts +0 -8
  317. package/dist/cjs/entrypoint/index.js +0 -53
  318. package/dist/cjs/entrypoint/index.js.map +0 -1
  319. package/dist/cjs/entrypoint/types.d.ts +0 -46
  320. package/dist/cjs/entrypoint/types.js +0 -3
  321. package/dist/cjs/entrypoint/types.js.map +0 -1
  322. package/dist/cjs/errors/account.d.ts +0 -47
  323. package/dist/cjs/errors/account.js +0 -140
  324. package/dist/cjs/errors/account.js.map +0 -1
  325. package/dist/cjs/errors/base.d.ts +0 -18
  326. package/dist/cjs/errors/base.js +0 -39
  327. package/dist/cjs/errors/base.js.map +0 -1
  328. package/dist/cjs/errors/client.d.ts +0 -14
  329. package/dist/cjs/errors/client.js +0 -44
  330. package/dist/cjs/errors/client.js.map +0 -1
  331. package/dist/cjs/errors/entrypoint.d.ts +0 -10
  332. package/dist/cjs/errors/entrypoint.js +0 -32
  333. package/dist/cjs/errors/entrypoint.js.map +0 -1
  334. package/dist/cjs/errors/signer.d.ts +0 -5
  335. package/dist/cjs/errors/signer.js +0 -20
  336. package/dist/cjs/errors/signer.js.map +0 -1
  337. package/dist/cjs/errors/transaction.d.ts +0 -10
  338. package/dist/cjs/errors/transaction.js +0 -29
  339. package/dist/cjs/errors/transaction.js.map +0 -1
  340. package/dist/cjs/errors/useroperation.d.ts +0 -10
  341. package/dist/cjs/errors/useroperation.js +0 -34
  342. package/dist/cjs/errors/useroperation.js.map +0 -1
  343. package/dist/cjs/index.d.ts +0 -60
  344. package/dist/cjs/index.js +0 -170
  345. package/dist/cjs/index.js.map +0 -1
  346. package/dist/cjs/logger.d.ts +0 -20
  347. package/dist/cjs/logger.js +0 -60
  348. package/dist/cjs/logger.js.map +0 -1
  349. package/dist/cjs/middleware/actions.d.ts +0 -12
  350. package/dist/cjs/middleware/actions.js +0 -21
  351. package/dist/cjs/middleware/actions.js.map +0 -1
  352. package/dist/cjs/middleware/defaults/feeEstimator.d.ts +0 -3
  353. package/dist/cjs/middleware/defaults/feeEstimator.js +0 -23
  354. package/dist/cjs/middleware/defaults/feeEstimator.js.map +0 -1
  355. package/dist/cjs/middleware/defaults/gasEstimator.d.ts +0 -3
  356. package/dist/cjs/middleware/defaults/gasEstimator.js +0 -28
  357. package/dist/cjs/middleware/defaults/gasEstimator.js.map +0 -1
  358. package/dist/cjs/middleware/defaults/paymasterAndData.d.ts +0 -2
  359. package/dist/cjs/middleware/defaults/paymasterAndData.js +0 -12
  360. package/dist/cjs/middleware/defaults/paymasterAndData.js.map +0 -1
  361. package/dist/cjs/middleware/defaults/userOpSigner.d.ts +0 -2
  362. package/dist/cjs/middleware/defaults/userOpSigner.js +0 -26
  363. package/dist/cjs/middleware/defaults/userOpSigner.js.map +0 -1
  364. package/dist/cjs/middleware/erc7677middleware.d.ts +0 -40
  365. package/dist/cjs/middleware/erc7677middleware.js +0 -77
  366. package/dist/cjs/middleware/erc7677middleware.js.map +0 -1
  367. package/dist/cjs/middleware/noopMiddleware.d.ts +0 -3
  368. package/dist/cjs/middleware/noopMiddleware.js +0 -8
  369. package/dist/cjs/middleware/noopMiddleware.js.map +0 -1
  370. package/dist/cjs/middleware/types.d.ts +0 -22
  371. package/dist/cjs/middleware/types.js +0 -3
  372. package/dist/cjs/middleware/types.js.map +0 -1
  373. package/dist/cjs/package.json +0 -1
  374. package/dist/cjs/signer/local-account.d.ts +0 -219
  375. package/dist/cjs/signer/local-account.js +0 -56
  376. package/dist/cjs/signer/local-account.js.map +0 -1
  377. package/dist/cjs/signer/schema.d.ts +0 -4
  378. package/dist/cjs/signer/schema.js +0 -16
  379. package/dist/cjs/signer/schema.js.map +0 -1
  380. package/dist/cjs/signer/types.d.ts +0 -15
  381. package/dist/cjs/signer/types.js +0 -3
  382. package/dist/cjs/signer/types.js.map +0 -1
  383. package/dist/cjs/signer/utils.d.ts +0 -7
  384. package/dist/cjs/signer/utils.js +0 -16
  385. package/dist/cjs/signer/utils.js.map +0 -1
  386. package/dist/cjs/signer/wallet-client.d.ts +0 -217
  387. package/dist/cjs/signer/wallet-client.js +0 -58
  388. package/dist/cjs/signer/wallet-client.js.map +0 -1
  389. package/dist/cjs/transport/split.d.ts +0 -9
  390. package/dist/cjs/transport/split.js +0 -26
  391. package/dist/cjs/transport/split.js.map +0 -1
  392. package/dist/cjs/types.d.ts +0 -158
  393. package/dist/cjs/types.js +0 -3
  394. package/dist/cjs/types.js.map +0 -1
  395. package/dist/cjs/utils/bigint.d.ts +0 -10
  396. package/dist/cjs/utils/bigint.js +0 -55
  397. package/dist/cjs/utils/bigint.js.map +0 -1
  398. package/dist/cjs/utils/bytes.d.ts +0 -7
  399. package/dist/cjs/utils/bytes.js +0 -11
  400. package/dist/cjs/utils/bytes.js.map +0 -1
  401. package/dist/cjs/utils/defaults.d.ts +0 -4
  402. package/dist/cjs/utils/defaults.js +0 -19
  403. package/dist/cjs/utils/defaults.js.map +0 -1
  404. package/dist/cjs/utils/index.d.ts +0 -19
  405. package/dist/cjs/utils/index.js +0 -95
  406. package/dist/cjs/utils/index.js.map +0 -1
  407. package/dist/cjs/utils/schema.d.ts +0 -25
  408. package/dist/cjs/utils/schema.js +0 -35
  409. package/dist/cjs/utils/schema.js.map +0 -1
  410. package/dist/cjs/utils/stateOverride.d.ts +0 -4
  411. package/dist/cjs/utils/stateOverride.js +0 -52
  412. package/dist/cjs/utils/stateOverride.js.map +0 -1
  413. package/dist/cjs/utils/testUtils.d.ts +0 -6
  414. package/dist/cjs/utils/testUtils.js +0 -33
  415. package/dist/cjs/utils/testUtils.js.map +0 -1
  416. package/dist/cjs/utils/types.d.ts +0 -16
  417. package/dist/cjs/utils/types.js +0 -3
  418. package/dist/cjs/utils/types.js.map +0 -1
  419. package/dist/cjs/utils/userop.d.ts +0 -49
  420. package/dist/cjs/utils/userop.js +0 -75
  421. package/dist/cjs/utils/userop.js.map +0 -1
  422. package/dist/cjs/version.d.ts +0 -1
  423. package/dist/cjs/version.js +0 -5
  424. package/dist/cjs/version.js.map +0 -1
  425. package/dist/esm/package.json +0 -1
@@ -1,78 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,74 +0,0 @@
1
- import { type Address, type Chain, type CustomSource, type Hex, type LocalAccount, type PublicClient, type SignableMessage, type Transport, type TypedData, type TypedDataDefinition } from "viem";
2
- import type { EntryPointDef, EntryPointRegistryBase, EntryPointVersion } from "../entrypoint/types.js";
3
- import type { SmartAccountSigner } from "../signer/types.js";
4
- import type { NullAddress } from "../types.js";
5
- import type { IsUndefined } from "../utils/types.js";
6
- export type AccountOp = {
7
- target: Address;
8
- value?: bigint;
9
- data: Hex | "0x";
10
- };
11
- export declare enum DeploymentState {
12
- UNDEFINED = "0x0",
13
- NOT_DEPLOYED = "0x1",
14
- DEPLOYED = "0x2"
15
- }
16
- export type GetEntryPointFromAccount<TAccount extends SmartContractAccount | undefined, TAccountOverride extends SmartContractAccount = SmartContractAccount> = GetAccountParameter<TAccount, TAccountOverride> extends SmartContractAccount<string, infer TEntryPointVersion> ? TEntryPointVersion : EntryPointVersion;
17
- export type GetAccountParameter<TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TAccountOverride extends SmartContractAccount = SmartContractAccount> = IsUndefined<TAccount> extends true ? {
18
- account: TAccountOverride;
19
- } : {
20
- account?: TAccountOverride;
21
- };
22
- export type UpgradeToAndCallParams = {
23
- upgradeToAddress: Address;
24
- upgradeToInitData: Hex;
25
- };
26
- export type SmartContractAccountWithSigner<Name extends string = string, TSigner extends SmartAccountSigner = SmartAccountSigner, TEntryPointVersion extends EntryPointVersion = EntryPointVersion> = SmartContractAccount<Name, TEntryPointVersion> & {
27
- getSigner: () => TSigner;
28
- };
29
- export declare const isSmartAccountWithSigner: (account: SmartContractAccount) => account is SmartContractAccountWithSigner<string, SmartAccountSigner<any>, keyof EntryPointRegistryBase<unknown>>;
30
- export type SmartContractAccount<Name extends string = string, TEntryPointVersion extends EntryPointVersion = EntryPointVersion> = LocalAccount<Name> & {
31
- source: Name;
32
- getDummySignature: () => Hex | Promise<Hex>;
33
- encodeExecute: (tx: AccountOp) => Promise<Hex>;
34
- encodeBatchExecute: (txs: AccountOp[]) => Promise<Hex>;
35
- signUserOperationHash: (uoHash: Hex) => Promise<Hex>;
36
- signMessageWith6492: (params: {
37
- message: SignableMessage;
38
- }) => Promise<Hex>;
39
- signTypedDataWith6492: <const typedData extends TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(typedDataDefinition: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
40
- encodeUpgradeToAndCall: (params: UpgradeToAndCallParams) => Promise<Hex>;
41
- getNonce(nonceKey?: bigint): Promise<bigint>;
42
- getInitCode: () => Promise<Hex>;
43
- isAccountDeployed: () => Promise<boolean>;
44
- getFactoryAddress: () => Promise<Address>;
45
- getFactoryData: () => Promise<Hex>;
46
- getEntryPoint: () => EntryPointDef<TEntryPointVersion>;
47
- getImplementationAddress: () => Promise<NullAddress | Address>;
48
- };
49
- export interface AccountEntryPointRegistry<Name extends string = string> extends EntryPointRegistryBase<SmartContractAccount<Name, EntryPointVersion>> {
50
- "0.6.0": SmartContractAccount<Name, "0.6.0">;
51
- "0.7.0": SmartContractAccount<Name, "0.7.0">;
52
- }
53
- export type ToSmartContractAccountParams<Name extends string = string, TTransport extends Transport = Transport, TChain extends Chain = Chain, TEntryPointVersion extends EntryPointVersion = EntryPointVersion> = {
54
- source: Name;
55
- transport: TTransport;
56
- chain: TChain;
57
- entryPoint: EntryPointDef<TEntryPointVersion, TChain>;
58
- accountAddress?: Address;
59
- getAccountInitCode: () => Promise<Hex>;
60
- getDummySignature: () => Hex | Promise<Hex>;
61
- encodeExecute: (tx: AccountOp) => Promise<Hex>;
62
- encodeBatchExecute?: (txs: AccountOp[]) => Promise<Hex>;
63
- signUserOperationHash?: (uoHash: Hex) => Promise<Hex>;
64
- encodeUpgradeToAndCall?: (params: UpgradeToAndCallParams) => Promise<Hex>;
65
- } & Omit<CustomSource, "signTransaction" | "address">;
66
- export declare const parseFactoryAddressFromAccountInitCode: (initCode: Hex) => [Address, Hex];
67
- export type GetAccountAddressParams = {
68
- client: PublicClient;
69
- entryPoint: EntryPointDef;
70
- accountAddress?: Address;
71
- getAccountInitCode: () => Promise<Hex>;
72
- };
73
- export declare const getAccountAddress: ({ client, entryPoint, accountAddress, getAccountInitCode, }: GetAccountAddressParams) => Promise<`0x${string}`>;
74
- export declare function toSmartContractAccount<Name extends string = string, TTransport extends Transport = Transport, TChain extends Chain = Chain, TEntryPointVersion extends EntryPointVersion = EntryPointVersion>({ transport, chain, entryPoint, source, accountAddress, getAccountInitCode, signMessage, signTypedData, encodeBatchExecute, encodeExecute, getDummySignature, signUserOperationHash, encodeUpgradeToAndCall, }: ToSmartContractAccountParams<Name, TTransport, TChain, TEntryPointVersion>): Promise<SmartContractAccount<Name, TEntryPointVersion>>;
@@ -1,180 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toSmartContractAccount = exports.getAccountAddress = exports.parseFactoryAddressFromAccountInitCode = exports.isSmartAccountWithSigner = exports.DeploymentState = void 0;
4
- const viem_1 = require("viem");
5
- const accounts_1 = require("viem/accounts");
6
- const bundlerClient_js_1 = require("../client/bundlerClient.js");
7
- const account_js_1 = require("../errors/account.js");
8
- const client_js_1 = require("../errors/client.js");
9
- const entrypoint_js_1 = require("../errors/entrypoint.js");
10
- const logger_js_1 = require("../logger.js");
11
- const utils_js_1 = require("../signer/utils.js");
12
- var DeploymentState;
13
- (function (DeploymentState) {
14
- DeploymentState["UNDEFINED"] = "0x0";
15
- DeploymentState["NOT_DEPLOYED"] = "0x1";
16
- DeploymentState["DEPLOYED"] = "0x2";
17
- })(DeploymentState || (exports.DeploymentState = DeploymentState = {}));
18
- const isSmartAccountWithSigner = (account) => {
19
- return "getSigner" in account;
20
- };
21
- exports.isSmartAccountWithSigner = isSmartAccountWithSigner;
22
- const parseFactoryAddressFromAccountInitCode = (initCode) => {
23
- const factoryAddress = `0x${initCode.substring(2, 42)}`;
24
- const factoryCalldata = `0x${initCode.substring(42)}`;
25
- return [factoryAddress, factoryCalldata];
26
- };
27
- exports.parseFactoryAddressFromAccountInitCode = parseFactoryAddressFromAccountInitCode;
28
- const getAccountAddress = async ({ client, entryPoint, accountAddress, getAccountInitCode, }) => {
29
- if (accountAddress)
30
- return accountAddress;
31
- const entryPointContract = (0, viem_1.getContract)({
32
- address: entryPoint.address,
33
- abi: entryPoint.abi,
34
- client,
35
- });
36
- const initCode = await getAccountInitCode();
37
- logger_js_1.Logger.verbose("[BaseSmartContractAccount](getAddress) initCode: ", initCode);
38
- try {
39
- await entryPointContract.simulate.getSenderAddress([initCode]);
40
- }
41
- catch (err) {
42
- logger_js_1.Logger.verbose("[BaseSmartContractAccount](getAddress) getSenderAddress err: ", err);
43
- if (err.cause?.data?.errorName === "SenderAddressResult") {
44
- logger_js_1.Logger.verbose("[BaseSmartContractAccount](getAddress) entryPoint.getSenderAddress result:", err.cause.data.args[0]);
45
- return err.cause.data.args[0];
46
- }
47
- if (err.details === "Invalid URL") {
48
- throw new client_js_1.InvalidRpcUrlError();
49
- }
50
- }
51
- throw new account_js_1.GetCounterFactualAddressError();
52
- };
53
- exports.getAccountAddress = getAccountAddress;
54
- async function toSmartContractAccount(params) {
55
- const { transport, chain, entryPoint, source, accountAddress, getAccountInitCode, signMessage, signTypedData, encodeBatchExecute, encodeExecute, getDummySignature, signUserOperationHash, encodeUpgradeToAndCall, } = params;
56
- const client = (0, bundlerClient_js_1.createBundlerClient)({
57
- transport: (opts) => transport({ ...opts, chain, retryCount: 0 }),
58
- chain,
59
- });
60
- const entryPointContract = (0, viem_1.getContract)({
61
- address: entryPoint.address,
62
- abi: entryPoint.abi,
63
- client,
64
- });
65
- const accountAddress_ = await (0, exports.getAccountAddress)({
66
- client,
67
- entryPoint: entryPoint,
68
- accountAddress,
69
- getAccountInitCode,
70
- });
71
- let deploymentState = DeploymentState.UNDEFINED;
72
- const getInitCode = async () => {
73
- if (deploymentState === DeploymentState.DEPLOYED) {
74
- return "0x";
75
- }
76
- const contractCode = await client.getBytecode({
77
- address: accountAddress_,
78
- });
79
- if ((contractCode?.length ?? 0) > 2) {
80
- deploymentState = DeploymentState.DEPLOYED;
81
- return "0x";
82
- }
83
- else {
84
- deploymentState = DeploymentState.NOT_DEPLOYED;
85
- }
86
- return getAccountInitCode();
87
- };
88
- const signUserOperationHash_ = signUserOperationHash ??
89
- (async (uoHash) => {
90
- return signMessage({ message: { raw: (0, viem_1.hexToBytes)(uoHash) } });
91
- });
92
- const getFactoryAddress = async () => (0, exports.parseFactoryAddressFromAccountInitCode)(await getAccountInitCode())[0];
93
- const getFactoryData = async () => (0, exports.parseFactoryAddressFromAccountInitCode)(await getAccountInitCode())[1];
94
- const encodeUpgradeToAndCall_ = encodeUpgradeToAndCall ??
95
- (() => {
96
- throw new account_js_1.UpgradesNotSupportedError(source);
97
- });
98
- const isAccountDeployed = async () => {
99
- const initCode = await getInitCode();
100
- return initCode === "0x";
101
- };
102
- const getNonce = async (nonceKey = 0n) => {
103
- if (!(await isAccountDeployed())) {
104
- return 0n;
105
- }
106
- return entryPointContract.read.getNonce([
107
- accountAddress_,
108
- nonceKey,
109
- ]);
110
- };
111
- const account = (0, accounts_1.toAccount)({
112
- address: accountAddress_,
113
- signMessage,
114
- signTypedData,
115
- signTransaction: () => {
116
- throw new account_js_1.SignTransactionNotSupportedError();
117
- },
118
- });
119
- const create6492Signature = async (isDeployed, signature) => {
120
- if (isDeployed) {
121
- return signature;
122
- }
123
- const [factoryAddress, factoryCalldata] = (0, exports.parseFactoryAddressFromAccountInitCode)(await getAccountInitCode());
124
- return (0, utils_js_1.wrapSignatureWith6492)({
125
- factoryAddress,
126
- factoryCalldata,
127
- signature,
128
- });
129
- };
130
- const signMessageWith6492 = async (message) => {
131
- const [isDeployed, signature] = await Promise.all([
132
- isAccountDeployed(),
133
- account.signMessage(message),
134
- ]);
135
- return create6492Signature(isDeployed, signature);
136
- };
137
- const signTypedDataWith6492 = async (typedDataDefinition) => {
138
- const [isDeployed, signature] = await Promise.all([
139
- isAccountDeployed(),
140
- account.signTypedData(typedDataDefinition),
141
- ]);
142
- return create6492Signature(isDeployed, signature);
143
- };
144
- const getImplementationAddress = async () => {
145
- const storage = await client.getStorageAt({
146
- address: account.address,
147
- slot: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
148
- });
149
- if (storage == null) {
150
- throw new account_js_1.FailedToGetStorageSlotError("0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "Proxy Implementation Address");
151
- }
152
- return (0, viem_1.trim)(storage);
153
- };
154
- if (entryPoint.version !== "0.6.0" && entryPoint.version !== "0.7.0") {
155
- throw new entrypoint_js_1.InvalidEntryPointError(chain, entryPoint.version);
156
- }
157
- return {
158
- ...account,
159
- source,
160
- signUserOperationHash: signUserOperationHash_,
161
- getFactoryAddress,
162
- getFactoryData,
163
- encodeBatchExecute: encodeBatchExecute ??
164
- (() => {
165
- throw new account_js_1.BatchExecutionNotSupportedError(source);
166
- }),
167
- encodeExecute,
168
- getDummySignature,
169
- getInitCode,
170
- encodeUpgradeToAndCall: encodeUpgradeToAndCall_,
171
- getEntryPoint: () => entryPoint,
172
- isAccountDeployed,
173
- getNonce,
174
- signMessageWith6492,
175
- signTypedDataWith6492,
176
- getImplementationAddress,
177
- };
178
- }
179
- exports.toSmartContractAccount = toSmartContractAccount;
180
- //# sourceMappingURL=smartContractAccount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smartContractAccount.js","sourceRoot":"","sources":["../../../src/account/smartContractAccount.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getContract,\n hexToBytes,\n trim,\n type Address,\n type Chain,\n type CustomSource,\n type Hex,\n type LocalAccount,\n type PublicClient,\n type SignableMessage,\n type Transport,\n type TypedData,\n type TypedDataDefinition,\n} from \"viem\";\nimport { toAccount } from \"viem/accounts\";\nimport { createBundlerClient } from \"../client/bundlerClient.js\";\nimport type {\n EntryPointDef,\n EntryPointRegistryBase,\n EntryPointVersion,\n} from \"../entrypoint/types.js\";\nimport {\n BatchExecutionNotSupportedError,\n FailedToGetStorageSlotError,\n GetCounterFactualAddressError,\n SignTransactionNotSupportedError,\n UpgradesNotSupportedError,\n} from \"../errors/account.js\";\nimport { InvalidRpcUrlError } from \"../errors/client.js\";\nimport { InvalidEntryPointError } from \"../errors/entrypoint.js\";\nimport { Logger } from \"../logger.js\";\nimport type { SmartAccountSigner } from \"../signer/types.js\";\nimport { wrapSignatureWith6492 } from \"../signer/utils.js\";\nimport type { NullAddress } from \"../types.js\";\nimport type { IsUndefined } from \"../utils/types.js\";\n\nexport type AccountOp = {\n target: Address;\n value?: bigint;\n data: Hex | \"0x\";\n};\n\nexport enum DeploymentState {\n UNDEFINED = \"0x0\",\n NOT_DEPLOYED = \"0x1\",\n DEPLOYED = \"0x2\",\n}\n\nexport type GetEntryPointFromAccount<\n TAccount extends SmartContractAccount | undefined,\n TAccountOverride extends SmartContractAccount = SmartContractAccount\n> = GetAccountParameter<\n TAccount,\n TAccountOverride\n> extends SmartContractAccount<string, infer TEntryPointVersion>\n ? TEntryPointVersion\n : EntryPointVersion;\n\nexport type GetAccountParameter<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TAccountOverride extends SmartContractAccount = SmartContractAccount\n> = IsUndefined<TAccount> extends true\n ? { account: TAccountOverride }\n : { account?: TAccountOverride };\n\nexport type UpgradeToAndCallParams = {\n upgradeToAddress: Address;\n upgradeToInitData: Hex;\n};\n\nexport type SmartContractAccountWithSigner<\n Name extends string = string,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TEntryPointVersion extends EntryPointVersion = EntryPointVersion\n> = SmartContractAccount<Name, TEntryPointVersion> & {\n getSigner: () => TSigner;\n};\n\n/**\n * Determines if the given SmartContractAccount has a signer associated with it.\n *\n * @example\n * ```ts\n * import { toSmartContractAccount } from \"@aa-sdk/core\";\n *\n * const account = await toSmartContractAccount(...);\n *\n * console.log(isSmartAccountWithSigner(account)); // false: the base account does not have a publicly accessible signer\n * ```\n *\n * @param {SmartContractAccount} account The account to check.\n * @returns {boolean} true if the account has a signer, otherwise false.\n */\nexport const isSmartAccountWithSigner = (\n account: SmartContractAccount\n): account is SmartContractAccountWithSigner => {\n return \"getSigner\" in account;\n};\n\n// [!region SmartContractAccount]\nexport type SmartContractAccount<\n Name extends string = string,\n TEntryPointVersion extends EntryPointVersion = EntryPointVersion\n> = LocalAccount<Name> & {\n source: Name;\n getDummySignature: () => Hex | Promise<Hex>;\n encodeExecute: (tx: AccountOp) => Promise<Hex>;\n encodeBatchExecute: (txs: AccountOp[]) => Promise<Hex>;\n signUserOperationHash: (uoHash: Hex) => Promise<Hex>;\n signMessageWith6492: (params: { message: SignableMessage }) => Promise<Hex>;\n signTypedDataWith6492: <\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\" = keyof typedData\n >(\n typedDataDefinition: TypedDataDefinition<typedData, primaryType>\n ) => Promise<Hex>;\n encodeUpgradeToAndCall: (params: UpgradeToAndCallParams) => Promise<Hex>;\n getNonce(nonceKey?: bigint): Promise<bigint>;\n getInitCode: () => Promise<Hex>;\n isAccountDeployed: () => Promise<boolean>;\n getFactoryAddress: () => Promise<Address>;\n getFactoryData: () => Promise<Hex>;\n getEntryPoint: () => EntryPointDef<TEntryPointVersion>;\n getImplementationAddress: () => Promise<NullAddress | Address>;\n};\n// [!endregion SmartContractAccount]\n\nexport interface AccountEntryPointRegistry<Name extends string = string>\n extends EntryPointRegistryBase<\n SmartContractAccount<Name, EntryPointVersion>\n > {\n \"0.6.0\": SmartContractAccount<Name, \"0.6.0\">;\n \"0.7.0\": SmartContractAccount<Name, \"0.7.0\">;\n}\n\n// [!region ToSmartContractAccountParams]\nexport type ToSmartContractAccountParams<\n Name extends string = string,\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TEntryPointVersion extends EntryPointVersion = EntryPointVersion\n> = {\n source: Name;\n transport: TTransport;\n chain: TChain;\n entryPoint: EntryPointDef<TEntryPointVersion, TChain>;\n accountAddress?: Address;\n getAccountInitCode: () => Promise<Hex>;\n getDummySignature: () => Hex | Promise<Hex>;\n encodeExecute: (tx: AccountOp) => Promise<Hex>;\n encodeBatchExecute?: (txs: AccountOp[]) => Promise<Hex>;\n // if not provided, will default to just using signMessage over the Hex\n signUserOperationHash?: (uoHash: Hex) => Promise<Hex>;\n encodeUpgradeToAndCall?: (params: UpgradeToAndCallParams) => Promise<Hex>;\n} & Omit<CustomSource, \"signTransaction\" | \"address\">;\n// [!endregion ToSmartContractAccountParams]\n\n/**\n * Parses the factory address and factory calldata from the provided account initialization code (initCode).\n *\n * @example\n * ```ts\n * import { parseFactoryAddressFromAccountInitCode } from \"@aa-sdk/core\";\n *\n * const [address, calldata] = parseFactoryAddressFromAccountInitCode(\"0xAddressCalldata\");\n * ```\n *\n * @param {Hex} initCode The initialization code from which to parse the factory address and calldata\n * @returns {[Address, Hex]} A tuple containing the parsed factory address and factory calldata\n */\nexport const parseFactoryAddressFromAccountInitCode = (\n initCode: Hex\n): [Address, Hex] => {\n const factoryAddress: Address = `0x${initCode.substring(2, 42)}`;\n const factoryCalldata: Hex = `0x${initCode.substring(42)}`;\n return [factoryAddress, factoryCalldata];\n};\n\nexport type GetAccountAddressParams = {\n client: PublicClient;\n entryPoint: EntryPointDef;\n accountAddress?: Address;\n getAccountInitCode: () => Promise<Hex>;\n};\n\n/**\n * Retrieves the account address. Uses a provided `accountAddress` if available; otherwise, it computes the address using the entry point contract and the initial code.\n *\n * @example\n * ```ts\n * import { getEntryPoint, getAccountAddress } from \"@aa-sdk/core\";\n *\n * const accountAddress = await getAccountAddress({\n * client,\n * entryPoint: getEntryPoint(chain),\n * getAccountInitCode: async () => \"0x{factoryAddress}{factoryCallData}\",\n * });\n * ```\n *\n * @param {GetAccountAddressParams} params The configuration object\n * @param {PublicClient} params.client A public client instance to interact with the blockchain\n * @param {EntryPointDef} params.entryPoint The entry point definition which includes the address and ABI\n * @param {Address} params.accountAddress Optional existing account address\n * @param {() => Promise<Hex>} params.getAccountInitCode A function that returns a Promise resolving to a Hex string representing the initial code of the account\n * @returns {Promise<Address>} A promise that resolves to the account address\n */\nexport const getAccountAddress = async ({\n client,\n entryPoint,\n accountAddress,\n getAccountInitCode,\n}: GetAccountAddressParams) => {\n if (accountAddress) return accountAddress;\n\n const entryPointContract = getContract({\n address: entryPoint.address,\n abi: entryPoint.abi,\n client,\n });\n\n const initCode = await getAccountInitCode();\n Logger.verbose(\"[BaseSmartContractAccount](getAddress) initCode: \", initCode);\n\n try {\n await entryPointContract.simulate.getSenderAddress([initCode]);\n } catch (err: any) {\n Logger.verbose(\n \"[BaseSmartContractAccount](getAddress) getSenderAddress err: \",\n err\n );\n if (err.cause?.data?.errorName === \"SenderAddressResult\") {\n Logger.verbose(\n \"[BaseSmartContractAccount](getAddress) entryPoint.getSenderAddress result:\",\n err.cause.data.args[0]\n );\n\n return err.cause.data.args[0] as Address;\n }\n\n if (err.details === \"Invalid URL\") {\n throw new InvalidRpcUrlError();\n }\n }\n\n throw new GetCounterFactualAddressError();\n};\n\n// [!region toSmartContractAccount]\nexport async function toSmartContractAccount<\n Name extends string = string,\n TTransport extends Transport = Transport,\n TChain extends Chain = Chain,\n TEntryPointVersion extends EntryPointVersion = EntryPointVersion\n>({\n transport,\n chain,\n entryPoint,\n source,\n accountAddress,\n getAccountInitCode,\n signMessage,\n signTypedData,\n encodeBatchExecute,\n encodeExecute,\n getDummySignature,\n signUserOperationHash,\n encodeUpgradeToAndCall,\n}: ToSmartContractAccountParams<\n Name,\n TTransport,\n TChain,\n TEntryPointVersion\n>): Promise<SmartContractAccount<Name, TEntryPointVersion>>;\n// [!endregion toSmartContractAccount]\n\n/**\n * Converts an account to a smart contract account and sets up various account-related methods using the provided parameters like transport, chain, entry point, and other utilities.\n *\n * @example\n * ```ts\n * import { http, type SignableMessage } from \"viem\";\n * import { sepolia } from \"viem/chains\";\n *\n * const myAccount = await toSmartContractAccount({\n * /// REQUIRED PARAMS ///\n * source: \"MyAccount\",\n * transport: http(\"RPC_URL\"),\n * chain: sepolia,\n * // The EntryPointDef that your account is com\"patible with\n * entryPoint: getEntryPoint(sepolia, { version: \"0.6.0\" }),\n * // This should return a concatenation of your `factoryAddress` and the `callData` for your factory's create account method\n * getAccountInitCode: async () => \"0x{factoryAddress}{callData}\",\n * // an invalid signature that doesn't cause your account to revert during validation\n * getDummySignature: () => \"0x1234...\",\n * // given a UO in the form of {target, data, value} should output the calldata for calling your contract's execution method\n * encodeExecute: async (uo) => \"0xcalldata\",\n * signMessage: async ({ message }: { message: SignableMessage }) => \"0x...\",\n * signTypedData: async (typedData) => \"0x000\",\n *\n * /// OPTIONAL PARAMS ///\n * // if you already know your account's address, pass that in here to avoid generating a new counterfactual\n * accountAddress: \"0xaddressoverride\",\n * // if your account supports batching, this should take an array of UOs and return the calldata for calling your contract's batchExecute method\n * encodeBatchExecute: async (uos) => \"0x...\",\n * // if your contract expects a different signing scheme than the default signMessage scheme, you can override that here\n * signUserOperationHash: async (hash) => \"0x...\",\n * // allows you to define the calldata for upgrading your account\n * encodeUpgradeToAndCall: async (params) => \"0x...\",\n * });\n * ```\n *\n * @param {ToSmartContractAccountParams} params the parameters required for converting to a smart contract account\n * @param {Transport} params.transport the transport mechanism used for communication\n * @param {Chain} params.chain the blockchain chain used in the account\n * @param {EntryPoint} params.entryPoint the entry point of the smart contract\n * @param {string} params.source the source identifier for the account\n * @param {Address} [params.accountAddress] the address of the account\n * @param {() => Promise<Hex>} params.getAccountInitCode a function to get the initial state code of the account\n * @param {(message: { message: SignableMessage }) => Promise<Hex>} params.signMessage a function to sign a message\n * @param {(typedDataDefinition: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>} params.signTypedData a function to sign typed data\n * @param {(transactions: Transaction[]) => Hex} [params.encodeBatchExecute] a function to encode batch transactions\n * @param {(tx: Transaction) => Hex} params.encodeExecute a function to encode a single transaction\n * @param {() => Promise<Hex>} params.getDummySignature a function to get a dummy signature\n * @param {(uoHash: Hex) => Promise<Hex>} [params.signUserOperationHash] a function to sign user operations\n * @param {(implementationAddress: Address, implementationCallData: Hex) => Hex} [params.encodeUpgradeToAndCall] a function to encode upgrade call\n * @returns {Promise<SmartContractAccount>} a promise that resolves to a SmartContractAccount object with methods and properties for interacting with the smart contract account\n */\nexport async function toSmartContractAccount(\n params: ToSmartContractAccountParams\n): Promise<SmartContractAccount> {\n const {\n transport,\n chain,\n entryPoint,\n source,\n accountAddress,\n getAccountInitCode,\n signMessage,\n signTypedData,\n encodeBatchExecute,\n encodeExecute,\n getDummySignature,\n signUserOperationHash,\n encodeUpgradeToAndCall,\n } = params;\n\n const client = createBundlerClient({\n // we set the retry count to 0 so that viem doesn't retry during\n // getting the address. That call always reverts and without this\n // viem will retry 3 times, making this call very slow\n transport: (opts) => transport({ ...opts, chain, retryCount: 0 }),\n chain,\n });\n\n const entryPointContract = getContract({\n address: entryPoint.address,\n abi: entryPoint.abi,\n client,\n });\n\n const accountAddress_ = await getAccountAddress({\n client,\n entryPoint: entryPoint,\n accountAddress,\n getAccountInitCode,\n });\n\n let deploymentState = DeploymentState.UNDEFINED;\n\n const getInitCode = async () => {\n if (deploymentState === DeploymentState.DEPLOYED) {\n return \"0x\";\n }\n const contractCode = await client.getBytecode({\n address: accountAddress_,\n });\n\n if ((contractCode?.length ?? 0) > 2) {\n deploymentState = DeploymentState.DEPLOYED;\n return \"0x\";\n } else {\n deploymentState = DeploymentState.NOT_DEPLOYED;\n }\n\n return getAccountInitCode();\n };\n\n const signUserOperationHash_ =\n signUserOperationHash ??\n (async (uoHash: Hex) => {\n return signMessage({ message: { raw: hexToBytes(uoHash) } });\n });\n\n const getFactoryAddress = async (): Promise<Address> =>\n parseFactoryAddressFromAccountInitCode(await getAccountInitCode())[0];\n\n const getFactoryData = async (): Promise<Hex> =>\n parseFactoryAddressFromAccountInitCode(await getAccountInitCode())[1];\n\n const encodeUpgradeToAndCall_ =\n encodeUpgradeToAndCall ??\n (() => {\n throw new UpgradesNotSupportedError(source);\n });\n\n const isAccountDeployed = async () => {\n const initCode = await getInitCode();\n return initCode === \"0x\";\n };\n\n const getNonce = async (nonceKey = 0n): Promise<bigint> => {\n if (!(await isAccountDeployed())) {\n return 0n;\n }\n\n return entryPointContract.read.getNonce([\n accountAddress_,\n nonceKey,\n ]) as Promise<bigint>;\n };\n\n const account = toAccount({\n address: accountAddress_,\n signMessage,\n signTypedData,\n signTransaction: () => {\n throw new SignTransactionNotSupportedError();\n },\n });\n\n const create6492Signature = async (isDeployed: boolean, signature: Hex) => {\n if (isDeployed) {\n return signature;\n }\n\n const [factoryAddress, factoryCalldata] =\n parseFactoryAddressFromAccountInitCode(await getAccountInitCode());\n\n return wrapSignatureWith6492({\n factoryAddress,\n factoryCalldata,\n signature,\n });\n };\n\n const signMessageWith6492 = async (message: { message: SignableMessage }) => {\n const [isDeployed, signature] = await Promise.all([\n isAccountDeployed(),\n account.signMessage(message),\n ]);\n\n return create6492Signature(isDeployed, signature);\n };\n\n const signTypedDataWith6492 = async <\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\" = keyof typedData\n >(\n typedDataDefinition: TypedDataDefinition<typedData, primaryType>\n ): Promise<Hex> => {\n const [isDeployed, signature] = await Promise.all([\n isAccountDeployed(),\n account.signTypedData(typedDataDefinition),\n ]);\n\n return create6492Signature(isDeployed, signature);\n };\n\n const getImplementationAddress = async (): Promise<NullAddress | Address> => {\n const storage = await client.getStorageAt({\n address: account.address,\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 if (entryPoint.version !== \"0.6.0\" && entryPoint.version !== \"0.7.0\") {\n throw new InvalidEntryPointError(chain, entryPoint.version);\n }\n\n return {\n ...account,\n source,\n // TODO: I think this should probably be signUserOperation instead\n // and allow for generating the UO hash based on the EP version\n signUserOperationHash: signUserOperationHash_,\n getFactoryAddress,\n getFactoryData,\n encodeBatchExecute:\n encodeBatchExecute ??\n (() => {\n throw new BatchExecutionNotSupportedError(source);\n }),\n encodeExecute,\n getDummySignature,\n getInitCode,\n encodeUpgradeToAndCall: encodeUpgradeToAndCall_,\n getEntryPoint: () => entryPoint,\n isAccountDeployed,\n getNonce,\n signMessageWith6492,\n signTypedDataWith6492,\n getImplementationAddress,\n };\n}\n"]}
@@ -1,8 +0,0 @@
1
- import type { Address, Chain, Client, StateOverride, Transport } from "viem";
2
- import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
- import type { UserOperationEstimateGasResponse, UserOperationRequest } from "../../types";
4
- export declare const estimateUserOperationGas: <TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>, TEntryPointVersion extends keyof import("../../entrypoint/types").EntryPointRegistryBase<unknown> = keyof import("../../entrypoint/types").EntryPointRegistryBase<unknown>>(client: TClient, args: {
5
- request: UserOperationRequest<TEntryPointVersion>;
6
- entryPoint: Address;
7
- stateOverride?: StateOverride | undefined;
8
- }) => Promise<UserOperationEstimateGasResponse<TEntryPointVersion>>;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.estimateUserOperationGas = void 0;
4
- const stateOverride_js_1 = require("../../utils/stateOverride.js");
5
- const estimateUserOperationGas = async (client, args) => {
6
- return client.request({
7
- method: "eth_estimateUserOperationGas",
8
- params: args.stateOverride != null
9
- ? [
10
- args.request,
11
- args.entryPoint,
12
- (0, stateOverride_js_1.serializeStateOverride)(args.stateOverride),
13
- ]
14
- : [args.request, args.entryPoint],
15
- });
16
- };
17
- exports.estimateUserOperationGas = estimateUserOperationGas;
18
- //# sourceMappingURL=estimateUserOperationGas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../../src/actions/bundler/estimateUserOperationGas.ts"],"names":[],"mappings":";;;AAOA,mEAAsE;AAE/D,MAAM,wBAAwB,GAAG,KAAK,EAI3C,MAAe,EACf,IAIC,EAC8D,EAAE;IACjE,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,8BAA8B;QACtC,MAAM,EACJ,IAAI,CAAC,aAAa,IAAI,IAAI;YACxB,CAAC,CAAC;gBACE,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,UAAU;gBACf,IAAA,yCAAsB,EAAC,IAAI,CAAC,aAAa,CAAC;aAC3C;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;KACtC,CAAC,CAAC;AACL,CAAC,CAAC;AAtBW,QAAA,wBAAwB,4BAsBnC","sourcesContent":["import type { Address, Chain, Client, StateOverride, Transport } from \"viem\";\nimport type { BundlerRpcSchema } from \"../../client/decorators/bundlerClient\";\nimport type { EntryPointVersion } from \"../../entrypoint/types\";\nimport type {\n UserOperationEstimateGasResponse,\n UserOperationRequest,\n} from \"../../types\";\nimport { serializeStateOverride } from \"../../utils/stateOverride.js\";\n\nexport const estimateUserOperationGas = async <\n TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>,\n TEntryPointVersion extends EntryPointVersion = EntryPointVersion\n>(\n client: TClient,\n args: {\n request: UserOperationRequest<TEntryPointVersion>;\n entryPoint: Address;\n stateOverride?: StateOverride;\n }\n): Promise<UserOperationEstimateGasResponse<TEntryPointVersion>> => {\n return client.request({\n method: \"eth_estimateUserOperationGas\",\n params:\n args.stateOverride != null\n ? [\n args.request,\n args.entryPoint,\n serializeStateOverride(args.stateOverride),\n ]\n : [args.request, args.entryPoint],\n });\n};\n"]}
@@ -1,3 +0,0 @@
1
- import type { Address, Chain, Client, Transport } from "viem";
2
- import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
- export declare const getSupportedEntryPoints: <TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>>(client: TClient) => Promise<Address[]>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSupportedEntryPoints = void 0;
4
- const getSupportedEntryPoints = async (client) => {
5
- return client.request({
6
- method: "eth_supportedEntryPoints",
7
- params: [],
8
- });
9
- };
10
- exports.getSupportedEntryPoints = getSupportedEntryPoints;
11
- //# sourceMappingURL=getSupportedEntryPoints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSupportedEntryPoints.js","sourceRoot":"","sources":["../../../../src/actions/bundler/getSupportedEntryPoints.ts"],"names":[],"mappings":";;;AAGO,MAAM,uBAAuB,GAAG,KAAK,EAG1C,MAAe,EACK,EAAE;IACtB,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,uBAAuB,2BASlC","sourcesContent":["import type { Address, Chain, Client, Transport } from \"viem\";\nimport type { BundlerRpcSchema } from \"../../client/decorators/bundlerClient\";\n\nexport const getSupportedEntryPoints = async <\n TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>\n>(\n client: TClient\n): Promise<Address[]> => {\n return client.request({\n method: \"eth_supportedEntryPoints\",\n params: [],\n });\n};\n"]}
@@ -1,6 +0,0 @@
1
- import type { Chain, Client, Hex, Transport } from "viem";
2
- import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
- import type { UserOperationResponse } from "../../types";
4
- export declare const getUserOperationByHash: <TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>>(client: TClient, args: {
5
- hash: Hex;
6
- }) => Promise<UserOperationResponse | null>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUserOperationByHash = void 0;
4
- const getUserOperationByHash = async (client, args) => {
5
- return client.request({
6
- method: "eth_getUserOperationByHash",
7
- params: [args.hash],
8
- });
9
- };
10
- exports.getUserOperationByHash = getUserOperationByHash;
11
- //# sourceMappingURL=getUserOperationByHash.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getUserOperationByHash.js","sourceRoot":"","sources":["../../../../src/actions/bundler/getUserOperationByHash.ts"],"names":[],"mappings":";;;AAIO,MAAM,sBAAsB,GAAG,KAAK,EAGzC,MAAe,EACf,IAEC,EACsC,EAAE;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;KACpB,CAAC,CAAC;AACL,CAAC,CAAC;AAZW,QAAA,sBAAsB,0BAYjC","sourcesContent":["import type { Chain, Client, Hex, Transport } from \"viem\";\nimport type { BundlerRpcSchema } from \"../../client/decorators/bundlerClient\";\nimport type { UserOperationResponse } from \"../../types\";\n\nexport const getUserOperationByHash = async <\n TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>\n>(\n client: TClient,\n args: {\n hash: Hex;\n }\n): Promise<UserOperationResponse | null> => {\n return client.request({\n method: \"eth_getUserOperationByHash\",\n params: [args.hash],\n });\n};\n"]}
@@ -1,6 +0,0 @@
1
- import type { Chain, Client, Hex, Transport } from "viem";
2
- import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
- import type { UserOperationReceipt } from "../../types";
4
- export declare const getUserOperationReceipt: <TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>>(client: TClient, args: {
5
- hash: Hex;
6
- }) => Promise<UserOperationReceipt | null>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUserOperationReceipt = void 0;
4
- const getUserOperationReceipt = async (client, args) => {
5
- return client.request({
6
- method: "eth_getUserOperationReceipt",
7
- params: [args.hash],
8
- });
9
- };
10
- exports.getUserOperationReceipt = getUserOperationReceipt;
11
- //# sourceMappingURL=getUserOperationReceipt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getUserOperationReceipt.js","sourceRoot":"","sources":["../../../../src/actions/bundler/getUserOperationReceipt.ts"],"names":[],"mappings":";;;AAIO,MAAM,uBAAuB,GAAG,KAAK,EAG1C,MAAe,EACf,IAEC,EACqC,EAAE;IACxC,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,6BAA6B;QACrC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;KACpB,CAAC,CAAC;AACL,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC","sourcesContent":["import type { Chain, Client, Hex, Transport } from \"viem\";\nimport type { BundlerRpcSchema } from \"../../client/decorators/bundlerClient\";\nimport type { UserOperationReceipt } from \"../../types\";\n\nexport const getUserOperationReceipt = async <\n TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>\n>(\n client: TClient,\n args: {\n hash: Hex;\n }\n): Promise<UserOperationReceipt | null> => {\n return client.request({\n method: \"eth_getUserOperationReceipt\",\n params: [args.hash],\n });\n};\n"]}
@@ -1,7 +0,0 @@
1
- import type { Address, Chain, Client, Hex, Transport } from "viem";
2
- import type { BundlerRpcSchema } from "../../client/decorators/bundlerClient";
3
- import type { UserOperationRequest } from "../../types";
4
- export declare const sendRawUserOperation: <TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>, TEntryPointVersion extends keyof import("../../entrypoint/types").EntryPointRegistryBase<unknown> = keyof import("../../entrypoint/types").EntryPointRegistryBase<unknown>>(client: TClient, args: {
5
- request: UserOperationRequest<TEntryPointVersion>;
6
- entryPoint: Address;
7
- }) => Promise<Hex>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendRawUserOperation = void 0;
4
- const sendRawUserOperation = async (client, args) => {
5
- return client.request({
6
- method: "eth_sendUserOperation",
7
- params: [args.request, args.entryPoint],
8
- });
9
- };
10
- exports.sendRawUserOperation = sendRawUserOperation;
11
- //# sourceMappingURL=sendRawUserOperation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sendRawUserOperation.js","sourceRoot":"","sources":["../../../../src/actions/bundler/sendRawUserOperation.ts"],"names":[],"mappings":";;;AAKO,MAAM,oBAAoB,GAAG,KAAK,EAIvC,MAAe,EACf,IAGC,EACa,EAAE;IAChB,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,uBAAuB;QAC/B,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;KACxC,CAAC,CAAC;AACL,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B","sourcesContent":["import type { Address, Chain, Client, Hex, Transport } from \"viem\";\nimport type { BundlerRpcSchema } from \"../../client/decorators/bundlerClient\";\nimport type { EntryPointVersion } from \"../../entrypoint/types\";\nimport type { UserOperationRequest } from \"../../types\";\n\nexport const sendRawUserOperation = async <\n TClient extends Client<Transport, Chain | undefined, any, BundlerRpcSchema>,\n TEntryPointVersion extends EntryPointVersion = EntryPointVersion\n>(\n client: TClient,\n args: {\n request: UserOperationRequest<TEntryPointVersion>;\n entryPoint: Address;\n }\n): Promise<Hex> => {\n return client.request({\n method: \"eth_sendUserOperation\",\n params: [args.request, args.entryPoint],\n });\n};\n"]}
@@ -1,5 +0,0 @@
1
- import type { Chain, Client, Transport } from "viem";
2
- import { type GetEntryPointFromAccount, type SmartContractAccount } from "../../account/smartContractAccount.js";
3
- import type { UserOperationStruct } from "../../types.js";
4
- import type { BuildUserOperationParameters, UserOperationContext } from "./types";
5
- export declare function buildUserOperation<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TContext extends UserOperationContext | undefined = UserOperationContext | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>>(client: Client<TTransport, TChain, TAccount>, args: BuildUserOperationParameters<TAccount, TContext, TEntryPointVersion>): Promise<UserOperationStruct<TEntryPointVersion>>;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildUserOperation = void 0;
4
- const isSmartAccountClient_js_1 = require("../../client/isSmartAccountClient.js");
5
- const account_js_1 = require("../../errors/account.js");
6
- const client_js_1 = require("../../errors/client.js");
7
- const initUserOperation_js_1 = require("./internal/initUserOperation.js");
8
- const runMiddlewareStack_js_1 = require("./internal/runMiddlewareStack.js");
9
- async function buildUserOperation(client, args) {
10
- const { account = client.account, overrides, context } = args;
11
- if (!account) {
12
- throw new account_js_1.AccountNotFoundError();
13
- }
14
- if (!(0, isSmartAccountClient_js_1.isBaseSmartAccountClient)(client)) {
15
- throw new client_js_1.IncompatibleClientError("BaseSmartAccountClient", "buildUserOperation", client);
16
- }
17
- return (0, initUserOperation_js_1._initUserOperation)(client, args).then((_uo) => (0, runMiddlewareStack_js_1._runMiddlewareStack)(client, {
18
- uo: _uo,
19
- overrides,
20
- account,
21
- context,
22
- }));
23
- }
24
- exports.buildUserOperation = buildUserOperation;
25
- //# sourceMappingURL=buildUserOperation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildUserOperation.js","sourceRoot":"","sources":["../../../../src/actions/smartAccount/buildUserOperation.ts"],"names":[],"mappings":";;;AAKA,kFAAgF;AAChF,wDAA+D;AAC/D,sDAAiE;AAEjE,0EAAqE;AACrE,4EAAuE;AA6BhE,KAAK,UAAU,kBAAkB,CAWtC,MAA4C,EAC5C,IAA0E;IAE1E,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAA,kDAAwB,EAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,mCAAuB,CAC/B,wBAAwB,EACxB,oBAAoB,EACpB,MAAM,CACP,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,yCAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,IAAA,2CAAmB,EAAC,MAAM,EAAE;QAC1B,EAAE,EAAE,GAAG;QACP,SAAS;QACT,OAAO;QACP,OAAO;KACR,CAAC,CACH,CAAC;AACJ,CAAC;AAnCD,gDAmCC","sourcesContent":["import type { Chain, Client, Transport } from \"viem\";\nimport {\n type GetEntryPointFromAccount,\n type SmartContractAccount,\n} from \"../../account/smartContractAccount.js\";\nimport { isBaseSmartAccountClient } from \"../../client/isSmartAccountClient.js\";\nimport { AccountNotFoundError } from \"../../errors/account.js\";\nimport { IncompatibleClientError } from \"../../errors/client.js\";\nimport type { UserOperationStruct } from \"../../types.js\";\nimport { _initUserOperation } from \"./internal/initUserOperation.js\";\nimport { _runMiddlewareStack } from \"./internal/runMiddlewareStack.js\";\nimport type {\n BuildUserOperationParameters,\n UserOperationContext,\n} from \"./types\";\n\n/**\n * Builds a user operation using the provided client and operation parameters. Ensures that the account exists and the client is compatible.\n *\n * @example\n * ```ts\n * import { createSmartAccountClient } from \"@aa-sdk/core\";\n *\n * // smart account client is already extended with buildUserOperation\n * const client = createSmartAccountClient(...);\n * const result = await client.buildUserOperation({\n * uo: {\n * target: \"0x...\",\n * data: \"0x...\", // or \"0x\",\n * value: 0n, // optional\n * },\n * account, // only required if the client above is not connected to an account\n * });\n * ```\n *\n * @param {Client<TTransport, TChain, TAccount>} client the client instance used to build the user operation\n * @param {BuildUserOperationParameters<TAccount, TContext, TEntryPointVersion>} args the parameters required to build the user operation, including account, overrides, and context\n * @returns {Promise<UserOperationStruct<TEntryPointVersion>>} a promise that resolves to a `UserOperationStruct` object containing the built user operation details\n */\nexport async function buildUserOperation<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TContext extends UserOperationContext | undefined =\n | UserOperationContext\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>\n>(\n client: Client<TTransport, TChain, TAccount>,\n args: BuildUserOperationParameters<TAccount, TContext, TEntryPointVersion>\n): Promise<UserOperationStruct<TEntryPointVersion>> {\n const { account = client.account, overrides, context } = args;\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isBaseSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"BaseSmartAccountClient\",\n \"buildUserOperation\",\n client\n );\n }\n\n return _initUserOperation(client, args).then((_uo) =>\n _runMiddlewareStack(client, {\n uo: _uo,\n overrides,\n account,\n context,\n })\n );\n}\n"]}
@@ -1,5 +0,0 @@
1
- import { type Chain, type Client, type SendTransactionParameters, type Transport } from "viem";
2
- import type { GetEntryPointFromAccount, SmartContractAccount } from "../../account/smartContractAccount.js";
3
- import type { UserOperationOverrides, UserOperationStruct } from "../../types.js";
4
- import type { UserOperationContext } from "./types.js";
5
- export declare function buildUserOperationFromTx<TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TChainOverride extends Chain | undefined = Chain | undefined, TContext extends UserOperationContext | undefined = UserOperationContext | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>>(client: Client<Transport, TChain, TAccount>, args: SendTransactionParameters<TChain, TAccount, TChainOverride>, overrides?: UserOperationOverrides<TEntryPointVersion>, context?: TContext): Promise<UserOperationStruct<TEntryPointVersion>>;
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildUserOperationFromTx = void 0;
4
- const isSmartAccountClient_js_1 = require("../../client/isSmartAccountClient.js");
5
- const account_js_1 = require("../../errors/account.js");
6
- const client_js_1 = require("../../errors/client.js");
7
- const transaction_js_1 = require("../../errors/transaction.js");
8
- const buildUserOperation_js_1 = require("./buildUserOperation.js");
9
- async function buildUserOperationFromTx(client, args, overrides, context) {
10
- const { account = client.account, ...request } = args;
11
- if (!account || typeof account === "string") {
12
- throw new account_js_1.AccountNotFoundError();
13
- }
14
- if (!request.to) {
15
- throw new transaction_js_1.TransactionMissingToParamError();
16
- }
17
- if (!(0, isSmartAccountClient_js_1.isBaseSmartAccountClient)(client)) {
18
- throw new client_js_1.IncompatibleClientError("BaseSmartAccountClient", "buildUserOperationFromTx", client);
19
- }
20
- const _overrides = {
21
- ...overrides,
22
- maxFeePerGas: request.maxFeePerGas ? request.maxFeePerGas : undefined,
23
- maxPriorityFeePerGas: request.maxPriorityFeePerGas
24
- ? request.maxPriorityFeePerGas
25
- : undefined,
26
- };
27
- return (0, buildUserOperation_js_1.buildUserOperation)(client, {
28
- uo: {
29
- target: request.to,
30
- data: request.data ?? "0x",
31
- value: request.value ? request.value : 0n,
32
- },
33
- account: account,
34
- context,
35
- overrides: _overrides,
36
- });
37
- }
38
- exports.buildUserOperationFromTx = buildUserOperationFromTx;
39
- //# sourceMappingURL=buildUserOperationFromTx.js.map