@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,5 @@
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>>;
@@ -0,0 +1,25 @@
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
@@ -0,0 +1 @@
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;AAMhE,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\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"]}
@@ -0,0 +1,5 @@
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>>;
@@ -0,0 +1,39 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUserOperationFromTx.js","sourceRoot":"","sources":["../../../../src/actions/smartAccount/buildUserOperationFromTx.ts"],"names":[],"mappings":";;;AAUA,kFAAgF;AAChF,wDAA+D;AAC/D,sDAAiE;AACjE,gEAA6E;AAK7E,mEAA6D;AA0CtD,KAAK,UAAU,wBAAwB,CAW5C,MAA2C,EAC3C,IAAiE,EACjE,SAAsD,EACtD,OAAkB;IAElB,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,+CAA8B,EAAE,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,IAAA,kDAAwB,EAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,mCAAuB,CAC/B,wBAAwB,EACxB,0BAA0B,EAC1B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,GAAG,SAAS;QACZ,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACrE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAChD,CAAC,CAAC,OAAO,CAAC,oBAAoB;YAC9B,CAAC,CAAC,SAAS;KACgC,CAAC;IAEhD,OAAO,IAAA,0CAAkB,EAAC,MAAM,EAAE;QAChC,EAAE,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SAC1C;QACD,OAAO,EAAE,OAA+B;QACxC,OAAO;QACP,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;AACL,CAAC;AAnDD,4DAmDC","sourcesContent":["import {\n type Chain,\n type Client,\n type SendTransactionParameters,\n type Transport,\n} from \"viem\";\nimport type {\n GetEntryPointFromAccount,\n 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 { TransactionMissingToParamError } from \"../../errors/transaction.js\";\nimport type {\n UserOperationOverrides,\n UserOperationStruct,\n} from \"../../types.js\";\nimport { buildUserOperation } from \"./buildUserOperation.js\";\nimport type { UserOperationContext } from \"./types.js\";\n\n/**\n * Performs [`buildUserOperationFromTx`](./buildUserOperationFromTx.md) in batch and builds into a single, yet to be signed `UserOperation` (UO) struct. The output user operation struct will be filled with all gas fields (and paymaster data if a paymaster is used) based on the transactions data (`to`, `data`, `value`, `maxFeePerGas`, `maxPriorityFeePerGas`) computed using the configured [`ClientMiddlewares`](/packages/aa-core/smart-account-client/middleware/index) on the `SmartAccountClient`\n * \n * @example\n * ```ts\nimport type { RpcTransactionRequest } from \"viem\";\nimport { smartAccountClient } from \"./smartAccountClient\";\n// [!code focus:99]\n// buildUserOperationFromTx converts a traditional Ethereum transaction and returns\n// the unsigned user operation struct after constructing the user operation struct\n// through the middleware pipeline\nconst tx: RpcTransactionRequest = {\n from, // ignored\n to,\n data: encodeFunctionData({\n abi: ContractABI.abi,\n functionName: \"func\",\n args: [arg1, arg2, ...],\n }),\n};\nconst uoStruct = await smartAccountClient.buildUserOperationFromTx(tx);\n \n// signUserOperation signs the above unsigned user operation struct built\n// using the account connected to the smart account client\nconst request = await smartAccountClient.signUserOperation({ uoStruct });\n \n// You can use the BundlerAction `sendRawUserOperation` (packages/core/src/actions/bundler/sendRawUserOperation.ts)\n// to send the signed user operation request to the bundler, requesting the bundler to send the signed uo to the\n// EntryPoint contract pointed at by the entryPoint address parameter\nconst entryPointAddress = client.account.getEntryPoint().address;\nconst uoHash = await smartAccountClient.sendRawUserOperation({ request, entryPoint: entryPointAddress });\n```\n * \n * @param client the smart account client to use for RPC requests\n * @param args {@link SendTransactionParameters}\n * @param overrides optional {@link UserOperationOverrides} to use for any of the fields\n * @param context if the smart account client requires additinoal context for building UOs\n * @returns a Promise containing the built user operation\n */\nexport async function buildUserOperationFromTx<\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TChainOverride extends Chain | undefined = Chain | undefined,\n TContext extends UserOperationContext | undefined =\n | UserOperationContext\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>\n>(\n client: Client<Transport, TChain, TAccount>,\n args: SendTransactionParameters<TChain, TAccount, TChainOverride>,\n overrides?: UserOperationOverrides<TEntryPointVersion>,\n context?: TContext\n): Promise<UserOperationStruct<TEntryPointVersion>> {\n const { account = client.account, ...request } = args;\n if (!account || typeof account === \"string\") {\n throw new AccountNotFoundError();\n }\n\n if (!request.to) {\n throw new TransactionMissingToParamError();\n }\n\n if (!isBaseSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"BaseSmartAccountClient\",\n \"buildUserOperationFromTx\",\n client\n );\n }\n\n const _overrides = {\n ...overrides,\n maxFeePerGas: request.maxFeePerGas ? request.maxFeePerGas : undefined,\n maxPriorityFeePerGas: request.maxPriorityFeePerGas\n ? request.maxPriorityFeePerGas\n : undefined,\n } as UserOperationOverrides<TEntryPointVersion>;\n\n return buildUserOperation(client, {\n uo: {\n target: request.to,\n data: request.data ?? \"0x\",\n value: request.value ? request.value : 0n,\n },\n account: account as SmartContractAccount,\n context,\n overrides: _overrides,\n });\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { type Chain, type Client, type Transport } from "viem";
2
+ import type { GetEntryPointFromAccount, SmartContractAccount } from "../../account/smartContractAccount";
3
+ import type { BuildTransactionParameters, BuildUserOperationFromTransactionsResult, UserOperationContext } from "./types";
4
+ export declare function buildUserOperationFromTxs<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>, TContext extends UserOperationContext | undefined = UserOperationContext | undefined>(client: Client<TTransport, TChain, TAccount>, args: BuildTransactionParameters<TAccount, TContext, TEntryPointVersion>): Promise<BuildUserOperationFromTransactionsResult<TEntryPointVersion>>;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildUserOperationFromTxs = void 0;
4
+ const viem_1 = require("viem");
5
+ const isSmartAccountClient_js_1 = require("../../client/isSmartAccountClient.js");
6
+ const account_js_1 = require("../../errors/account.js");
7
+ const client_js_1 = require("../../errors/client.js");
8
+ const transaction_js_1 = require("../../errors/transaction.js");
9
+ const index_js_1 = require("../../utils/index.js");
10
+ const buildUserOperation_js_1 = require("./buildUserOperation.js");
11
+ async function buildUserOperationFromTxs(client, args) {
12
+ const { account = client.account, requests, overrides, context } = args;
13
+ if (!account) {
14
+ throw new account_js_1.AccountNotFoundError();
15
+ }
16
+ if (!(0, isSmartAccountClient_js_1.isBaseSmartAccountClient)(client)) {
17
+ throw new client_js_1.IncompatibleClientError("BaseSmartAccountClient", "buildUserOperationFromTxs", client);
18
+ }
19
+ const batch = requests.map((request) => {
20
+ if (!request.to) {
21
+ throw new transaction_js_1.TransactionMissingToParamError();
22
+ }
23
+ return {
24
+ target: request.to,
25
+ data: request.data ?? "0x",
26
+ value: request.value ? (0, viem_1.fromHex)(request.value, "bigint") : 0n,
27
+ };
28
+ });
29
+ const mfpgOverridesInTx = () => requests
30
+ .filter((x) => x.maxFeePerGas != null)
31
+ .map((x) => (0, viem_1.fromHex)(x.maxFeePerGas, "bigint"));
32
+ const maxFeePerGas = overrides?.maxFeePerGas != null
33
+ ? overrides?.maxFeePerGas
34
+ : mfpgOverridesInTx().length > 0
35
+ ? (0, index_js_1.bigIntMax)(...mfpgOverridesInTx())
36
+ : undefined;
37
+ const mpfpgOverridesInTx = () => requests
38
+ .filter((x) => x.maxPriorityFeePerGas != null)
39
+ .map((x) => (0, viem_1.fromHex)(x.maxPriorityFeePerGas, "bigint"));
40
+ const maxPriorityFeePerGas = overrides?.maxPriorityFeePerGas != null
41
+ ? overrides?.maxPriorityFeePerGas
42
+ : mpfpgOverridesInTx().length > 0
43
+ ? (0, index_js_1.bigIntMax)(...mpfpgOverridesInTx())
44
+ : undefined;
45
+ const _overrides = {
46
+ maxFeePerGas,
47
+ maxPriorityFeePerGas,
48
+ };
49
+ const uoStruct = await (0, buildUserOperation_js_1.buildUserOperation)(client, {
50
+ uo: batch,
51
+ account,
52
+ context,
53
+ overrides: _overrides,
54
+ });
55
+ return {
56
+ uoStruct,
57
+ batch,
58
+ overrides: _overrides,
59
+ };
60
+ }
61
+ exports.buildUserOperationFromTxs = buildUserOperationFromTxs;
62
+ //# sourceMappingURL=buildUserOperationFromTxs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUserOperationFromTxs.js","sourceRoot":"","sources":["../../../../src/actions/smartAccount/buildUserOperationFromTxs.ts"],"names":[],"mappings":";;;AAAA,+BAAwE;AAKxE,kFAAgF;AAChF,wDAA+D;AAC/D,sDAAiE;AACjE,gEAA6E;AAE7E,mDAAiD;AACjD,mEAA6D;AA6EtD,KAAK,UAAU,yBAAyB,CAW7C,MAA4C,EAC5C,IAAwE;IAExE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxE,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,2BAA2B,EAC3B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACrC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,+CAA8B,EAAE,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,EAAE;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAC7B,QAAQ;SACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,CAAC,CAAC,YAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,MAAM,YAAY,GAChB,SAAS,EAAE,YAAY,IAAI,IAAI;QAC7B,CAAC,CAAC,SAAS,EAAE,YAAY;QACzB,CAAC,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC;YAChC,CAAC,CAAC,IAAA,oBAAS,EAAC,GAAG,iBAAiB,EAAE,CAAC;YACnC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC9B,QAAQ;SACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,IAAI,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAO,EAAC,CAAC,CAAC,oBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GACxB,SAAS,EAAE,oBAAoB,IAAI,IAAI;QACrC,CAAC,CAAC,SAAS,EAAE,oBAAoB;QACjC,CAAC,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,IAAA,oBAAS,EAAC,GAAG,kBAAkB,EAAE,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,UAAU,GAAG;QACjB,YAAY;QACZ,oBAAoB;KACyB,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,IAAA,0CAAkB,EAAC,MAAM,EAAE;QAChD,EAAE,EAAE,KAAK;QACT,OAAO;QACP,OAAO;QACP,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QAER,KAAK;QACL,SAAS,EAAE,UAAU;KACtB,CAAC;AACJ,CAAC;AA/ED,8DA+EC","sourcesContent":["import { fromHex, type Chain, type Client, type Transport } from \"viem\";\nimport type {\n GetEntryPointFromAccount,\n SmartContractAccount,\n} from \"../../account/smartContractAccount\";\nimport { isBaseSmartAccountClient } from \"../../client/isSmartAccountClient.js\";\nimport { AccountNotFoundError } from \"../../errors/account.js\";\nimport { IncompatibleClientError } from \"../../errors/client.js\";\nimport { TransactionMissingToParamError } from \"../../errors/transaction.js\";\nimport type { UserOperationOverrides } from \"../../types\";\nimport { bigIntMax } from \"../../utils/index.js\";\nimport { buildUserOperation } from \"./buildUserOperation.js\";\nimport type {\n BuildTransactionParameters,\n BuildUserOperationFromTransactionsResult,\n UserOperationContext,\n} from \"./types\";\n\n/**\n * Performs {@link buildUserOperationFromTx} in batch and builds into a single,\n * yet to be signed `UserOperation` (UO) struct. The output user operation struct\n * will be filled with all gas fields (and paymaster data if a paymaster is used)\n * based on the transactions data (`to`, `data`, `value`, `maxFeePerGas`,\n * `maxPriorityFeePerGas`) computed using the configured\n * [`ClientMiddlewares`](/packages/aa-core/smart-account-client/middleware/index) on the `SmartAccountClient`\n * \n * @example\n * ```ts\n * import type { RpcTransactionRequest } from \"viem\";\nimport { smartAccountClient } from \"./smartAccountClient\";\n// [!code focus:99]\n// buildUserOperationFromTxs converts traditional Ethereum transactions in batch and returns\n// the unsigned user operation struct after constructing the user operation struct\n// through the middleware pipeline\nconst requests: RpcTransactionRequest[] = [\n {\n from, // ignored\n to,\n data: encodeFunctionData({\n abi: ContractABI.abi,\n functionName: \"func\",\n args: [arg1, arg2, ...],\n }),\n },\n {\n from, // ignored\n to,\n data: encodeFunctionData({\n abi: ContractABI.abi,\n functionName: \"func\",\n args: [arg1, arg2, ...],\n }),\n },\n ...\n {\n from, // ignored\n to,\n data: encodeFunctionData({\n abi: ContractABI.abi,\n functionName: \"func\",\n args: [arg1, arg2, ...],\n }),\n },\n];\nconst uoStruct = await smartAccountClient.buildUserOperationFromTxs({\n requests,\n});\n \n// signUserOperation signs the above unsigned user operation struct built\n// using the account connected to the smart account client\nconst request = await smartAccountClient.signUserOperation({ uoStruct });\n \n// You can use the BundlerAction `sendRawUserOperation` (packages/core/src/actions/bundler/sendRawUserOperation.ts)\n// to send the signed user operation request to the bundler, requesting the bundler to send the signed uo to the\n// EntryPoint contract pointed at by the entryPoint address parameter\nconst entryPointAddress = client.account.getEntryPoint().address;\nconst uoHash = await smartAccountClient.sendRawUserOperation({\n request,\n entryPoint: entryPointAddress,\n});\n * ```\n *\n * @param client the smart account client to use to make RPC calls\n * @param args {@link BuildTransactionParameters} an object containing the requests\n * to build as well as, the account if not hoisted, the context, the overrides, and\n * optionally a flag to enable signing of the UO via the underlying middleware\n * @returns a Promise containing the built user operation\n */\nexport async function buildUserOperationFromTxs<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,\n TContext extends UserOperationContext | undefined =\n | UserOperationContext\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>,\n args: BuildTransactionParameters<TAccount, TContext, TEntryPointVersion>\n): Promise<BuildUserOperationFromTransactionsResult<TEntryPointVersion>> {\n const { account = client.account, requests, overrides, context } = args;\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isBaseSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"BaseSmartAccountClient\",\n \"buildUserOperationFromTxs\",\n client\n );\n }\n\n const batch = requests.map((request) => {\n if (!request.to) {\n throw new TransactionMissingToParamError();\n }\n\n return {\n target: request.to,\n data: request.data ?? \"0x\",\n value: request.value ? fromHex(request.value, \"bigint\") : 0n,\n };\n });\n\n const mfpgOverridesInTx = () =>\n requests\n .filter((x) => x.maxFeePerGas != null)\n .map((x) => fromHex(x.maxFeePerGas!, \"bigint\"));\n const maxFeePerGas =\n overrides?.maxFeePerGas != null\n ? overrides?.maxFeePerGas\n : mfpgOverridesInTx().length > 0\n ? bigIntMax(...mfpgOverridesInTx())\n : undefined;\n\n const mpfpgOverridesInTx = () =>\n requests\n .filter((x) => x.maxPriorityFeePerGas != null)\n .map((x) => fromHex(x.maxPriorityFeePerGas!, \"bigint\"));\n const maxPriorityFeePerGas =\n overrides?.maxPriorityFeePerGas != null\n ? overrides?.maxPriorityFeePerGas\n : mpfpgOverridesInTx().length > 0\n ? bigIntMax(...mpfpgOverridesInTx())\n : undefined;\n\n const _overrides = {\n maxFeePerGas,\n maxPriorityFeePerGas,\n } as UserOperationOverrides<TEntryPointVersion>;\n\n const uoStruct = await buildUserOperation(client, {\n uo: batch,\n account,\n context,\n overrides: _overrides,\n });\n\n return {\n uoStruct,\n // TODO: in v4 major version update, remove these as below parameters are not needed\n batch,\n overrides: _overrides,\n };\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { Chain, Client, Transport } from "viem";
2
+ import type { SmartContractAccount } from "../../account/smartContractAccount.js";
3
+ import type { SendUserOperationParameters, UserOperationContext } from "./types";
4
+ export declare function checkGasSponsorshipEligibility<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TContext extends UserOperationContext | undefined = UserOperationContext | undefined>(client: Client<TTransport, TChain, TAccount>, args: SendUserOperationParameters<TAccount, TContext>): Promise<boolean>;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkGasSponsorshipEligibility = 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 buildUserOperation_js_1 = require("./buildUserOperation.js");
8
+ function checkGasSponsorshipEligibility(client, args) {
9
+ const { account = client.account, overrides, context } = args;
10
+ if (!account) {
11
+ throw new account_js_1.AccountNotFoundError();
12
+ }
13
+ if (!(0, isSmartAccountClient_js_1.isBaseSmartAccountClient)(client)) {
14
+ throw new client_js_1.IncompatibleClientError("BaseSmartAccountClient", "checkGasSponsorshipEligibility", client);
15
+ }
16
+ return (0, buildUserOperation_js_1.buildUserOperation)(client, {
17
+ uo: args.uo,
18
+ account,
19
+ overrides,
20
+ context,
21
+ })
22
+ .then((userOperationStruct) => account.getEntryPoint().version === "0.6.0"
23
+ ? userOperationStruct
24
+ .paymasterAndData !== "0x" &&
25
+ userOperationStruct
26
+ .paymasterAndData !== null
27
+ : userOperationStruct
28
+ .paymasterData !== "0x" &&
29
+ userOperationStruct
30
+ .paymasterData !== null)
31
+ .catch(() => false);
32
+ }
33
+ exports.checkGasSponsorshipEligibility = checkGasSponsorshipEligibility;
34
+ //# sourceMappingURL=checkGasSponsorshipEligibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkGasSponsorshipEligibility.js","sourceRoot":"","sources":["../../../../src/actions/smartAccount/checkGasSponsorshipEligibility.ts"],"names":[],"mappings":";;;AAEA,kFAAgF;AAChF,wDAA+D;AAC/D,sDAAiE;AAEjE,mEAA6D;AAkC7D,SAAgB,8BAA8B,CAU5C,MAA4C,EAC5C,IAAqD;IAErD,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAE9D,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,gCAAgC,EAChC,MAAM,CACP,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,0CAAkB,EAAC,MAAM,EAAE;QAChC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,OAAO;QACP,SAAS;QACT,OAAO;KACR,CAAC;SACC,IAAI,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAC5B,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,KAAK,OAAO;QACzC,CAAC,CAAE,mBAAoD;aAClD,gBAAgB,KAAK,IAAI;YAC3B,mBAAoD;iBAClD,gBAAgB,KAAK,IAAI;QAC9B,CAAC,CAAE,mBAAoD;aAClD,aAAa,KAAK,IAAI;YACxB,mBAAoD;iBAClD,aAAa,KAAK,IAAI,CAC9B;SACA,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AA7CD,wEA6CC","sourcesContent":["import type { Chain, Client, Transport } from \"viem\";\nimport type { SmartContractAccount } 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 { buildUserOperation } from \"./buildUserOperation.js\";\nimport type {\n SendUserOperationParameters,\n UserOperationContext,\n} from \"./types\";\n\n/**\n * This function verifies the eligibility of the connected account for gas sponsorship concerning the upcoming `UserOperation` (UO) that is intended to be sent.\n * Internally, this method invokes [`buildUserOperation`](./buildUserOperation.md), which navigates through the middleware pipeline, including the `PaymasterMiddleware`. Its purpose is to construct the UO struct meant for transmission to the bundler. Following the construction of the UO struct, this function verifies if the resulting structure contains a non-empty `paymasterAndData` field.\n * You can utilize this method before sending the user operation to confirm its eligibility for gas sponsorship. Depending on the outcome, it allows you to tailor the user experience accordingly, based on eligibility.\n *\n * @example\n * ```ts\n * import { smartAccountClient } from \"./smartAccountClient\";\n// [!code focus:99]\nconst eligible = await smartAccountClient.checkGasSponsorshipEligibility({\n uo: {\n data: \"0xCalldata\",\n target: \"0xTarget\",\n value: 0n,\n },\n});\n \nconsole.log(\n `User Operation is ${\n eligible ? \"eligible\" : \"ineligible\"\n } for gas sponsorship.`\n);\n * ```\n * \n * @param client the smart account client to use for making RPC calls\n * @param args {@link SendUserOperationParameters} containing the user operation, account, context, and overrides\n * @returns a Promise containing a boolean indicating if the account is elgibile for sponsorship\n */\nexport function checkGasSponsorshipEligibility<\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>(\n client: Client<TTransport, TChain, TAccount>,\n args: SendUserOperationParameters<TAccount, TContext>\n): Promise<boolean> {\n const { account = client.account, overrides, context } = args;\n\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isBaseSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"BaseSmartAccountClient\",\n \"checkGasSponsorshipEligibility\",\n client\n );\n }\n\n return buildUserOperation(client, {\n uo: args.uo,\n account,\n overrides,\n context,\n })\n .then((userOperationStruct) =>\n account.getEntryPoint().version === \"0.6.0\"\n ? (userOperationStruct as UserOperationStruct<\"0.6.0\">)\n .paymasterAndData !== \"0x\" &&\n (userOperationStruct as UserOperationStruct<\"0.6.0\">)\n .paymasterAndData !== null\n : (userOperationStruct as UserOperationStruct<\"0.7.0\">)\n .paymasterData !== \"0x\" &&\n (userOperationStruct as UserOperationStruct<\"0.7.0\">)\n .paymasterData !== null\n )\n .catch(() => false);\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { Chain, Client, Transport } from "viem";
2
+ import type { GetEntryPointFromAccount, SmartContractAccount } from "../../account/smartContractAccount";
3
+ import type { SendUserOperationResult } from "../../client/types";
4
+ import type { DropAndReplaceUserOperationParameters, UserOperationContext } from "./types";
5
+ export declare function dropAndReplaceUserOperation<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: DropAndReplaceUserOperationParameters<TAccount, TContext>): Promise<SendUserOperationResult<TEntryPointVersion>>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dropAndReplaceUserOperation = 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 index_js_1 = require("../../utils/index.js");
8
+ const runMiddlewareStack_js_1 = require("./internal/runMiddlewareStack.js");
9
+ const sendUserOperation_js_1 = require("./internal/sendUserOperation.js");
10
+ async function dropAndReplaceUserOperation(client, args) {
11
+ const { account = client.account, uoToDrop, overrides, context } = args;
12
+ if (!account) {
13
+ throw new account_js_1.AccountNotFoundError();
14
+ }
15
+ if (!(0, isSmartAccountClient_js_1.isBaseSmartAccountClient)(client)) {
16
+ throw new client_js_1.IncompatibleClientError("BaseSmartAccountClient", "dropAndReplaceUserOperation", client);
17
+ }
18
+ const entryPoint = account.getEntryPoint();
19
+ const uoToSubmit = (entryPoint.version === "0.6.0"
20
+ ? {
21
+ initCode: uoToDrop.initCode,
22
+ sender: uoToDrop.sender,
23
+ nonce: uoToDrop.nonce,
24
+ callData: uoToDrop.callData,
25
+ signature: await account.getDummySignature(),
26
+ }
27
+ : {
28
+ ...(uoToDrop.factory &&
29
+ uoToDrop.factoryData
30
+ ? {
31
+ factory: uoToDrop.factory,
32
+ factoryData: uoToDrop
33
+ .factoryData,
34
+ }
35
+ : {}),
36
+ sender: uoToDrop.sender,
37
+ nonce: uoToDrop.nonce,
38
+ callData: uoToDrop.callData,
39
+ signature: await account.getDummySignature(),
40
+ });
41
+ const { maxFeePerGas, maxPriorityFeePerGas } = await (0, runMiddlewareStack_js_1._runMiddlewareStack)(client, {
42
+ uo: uoToSubmit,
43
+ overrides,
44
+ account,
45
+ });
46
+ const _overrides = {
47
+ ...overrides,
48
+ maxFeePerGas: (0, index_js_1.bigIntMax)(BigInt(maxFeePerGas ?? 0n), (0, index_js_1.bigIntMultiply)(uoToDrop.maxFeePerGas, 1.1)),
49
+ maxPriorityFeePerGas: (0, index_js_1.bigIntMax)(BigInt(maxPriorityFeePerGas ?? 0n), (0, index_js_1.bigIntMultiply)(uoToDrop.maxPriorityFeePerGas, 1.1)),
50
+ };
51
+ const uoToSend = await (0, runMiddlewareStack_js_1._runMiddlewareStack)(client, {
52
+ uo: uoToSubmit,
53
+ overrides: _overrides,
54
+ account,
55
+ });
56
+ return (0, sendUserOperation_js_1._sendUserOperation)(client, {
57
+ uoStruct: uoToSend,
58
+ account,
59
+ context,
60
+ overrides: _overrides,
61
+ });
62
+ }
63
+ exports.dropAndReplaceUserOperation = dropAndReplaceUserOperation;
64
+ //# sourceMappingURL=dropAndReplaceUserOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropAndReplaceUserOperation.js","sourceRoot":"","sources":["../../../../src/actions/smartAccount/dropAndReplaceUserOperation.ts"],"names":[],"mappings":";;;AAKA,kFAAgF;AAEhF,wDAA+D;AAC/D,sDAAiE;AAMjE,mDAAiE;AACjE,4EAAuE;AACvE,0EAAqE;AAM9D,KAAK,UAAU,2BAA2B,CAW/C,MAA4C,EAC5C,IAA+D;IAE/D,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACxE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,IAAA,kDAAwB,EAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,mCAAuB,CAC/B,wBAAwB,EACxB,6BAA6B,EAC7B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,CACjB,UAAU,CAAC,OAAO,KAAK,OAAO;QAC5B,CAAC,CAAC;YACE,QAAQ,EAAG,QAA0C,CAAC,QAAQ;YAC9D,MAAM,EAAG,QAA0C,CAAC,MAAM;YAC1D,KAAK,EAAG,QAA0C,CAAC,KAAK;YACxD,QAAQ,EAAG,QAA0C,CAAC,QAAQ;YAC9D,SAAS,EAAE,MAAM,OAAO,CAAC,iBAAiB,EAAE;SAC7C;QACH,CAAC,CAAC;YACE,GAAG,CAAE,QAA0C,CAAC,OAAO;gBACtD,QAA0C,CAAC,WAAW;gBACrD,CAAC,CAAC;oBACE,OAAO,EAAG,QAA0C,CAAC,OAAO;oBAC5D,WAAW,EAAG,QAA0C;yBACrD,WAAW;iBACf;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAG,QAA0C,CAAC,MAAM;YAC1D,KAAK,EAAG,QAA0C,CAAC,KAAK;YACxD,QAAQ,EAAG,QAA0C,CAAC,QAAQ;YAC9D,SAAS,EAAE,MAAM,OAAO,CAAC,iBAAiB,EAAE;SAC7C,CACqC,CAAC;IAI7C,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,MAAM,IAAA,2CAAmB,EACtE,MAAM,EACN;QACE,EAAE,EAAE,UAAU;QACd,SAAS;QACT,OAAO;KACR,CACF,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,GAAG,SAAS;QACZ,YAAY,EAAE,IAAA,oBAAS,EACrB,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,EAC1B,IAAA,yBAAc,EAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAC3C;QACD,oBAAoB,EAAE,IAAA,oBAAS,EAC7B,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAClC,IAAA,yBAAc,EAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,CACnD;KAC4C,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,IAAA,2CAAmB,EAAC,MAAM,EAAE;QACjD,EAAE,EAAE,UAAU;QACd,SAAS,EAAE,UAAU;QACrB,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,IAAA,yCAAkB,EAAC,MAAM,EAAE;QAChC,QAAQ,EAAE,QAAQ;QAClB,OAAO;QACP,OAAO;QACP,SAAS,EAAE,UAAU;KACtB,CAAC,CAAC;AACL,CAAC;AAxFD,kEAwFC","sourcesContent":["import type { Chain, Client, Transport } from \"viem\";\nimport type {\n GetEntryPointFromAccount,\n SmartContractAccount,\n} from \"../../account/smartContractAccount\";\nimport { isBaseSmartAccountClient } from \"../../client/isSmartAccountClient.js\";\nimport type { SendUserOperationResult } from \"../../client/types\";\nimport { AccountNotFoundError } from \"../../errors/account.js\";\nimport { IncompatibleClientError } from \"../../errors/client.js\";\nimport type {\n UserOperationOverrides,\n UserOperationRequest,\n UserOperationStruct,\n} from \"../../types\";\nimport { bigIntMax, bigIntMultiply } from \"../../utils/index.js\";\nimport { _runMiddlewareStack } from \"./internal/runMiddlewareStack.js\";\nimport { _sendUserOperation } from \"./internal/sendUserOperation.js\";\nimport type {\n DropAndReplaceUserOperationParameters,\n UserOperationContext,\n} from \"./types\";\n\nexport async function dropAndReplaceUserOperation<\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: DropAndReplaceUserOperationParameters<TAccount, TContext>\n): Promise<SendUserOperationResult<TEntryPointVersion>> {\n const { account = client.account, uoToDrop, overrides, context } = args;\n if (!account) {\n throw new AccountNotFoundError();\n }\n if (!isBaseSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"BaseSmartAccountClient\",\n \"dropAndReplaceUserOperation\",\n client\n );\n }\n\n const entryPoint = account.getEntryPoint();\n\n const uoToSubmit = (\n entryPoint.version === \"0.6.0\"\n ? {\n initCode: (uoToDrop as UserOperationRequest<\"0.6.0\">).initCode,\n sender: (uoToDrop as UserOperationRequest<\"0.6.0\">).sender,\n nonce: (uoToDrop as UserOperationRequest<\"0.6.0\">).nonce,\n callData: (uoToDrop as UserOperationRequest<\"0.6.0\">).callData,\n signature: await account.getDummySignature(),\n }\n : {\n ...((uoToDrop as UserOperationRequest<\"0.7.0\">).factory &&\n (uoToDrop as UserOperationRequest<\"0.7.0\">).factoryData\n ? {\n factory: (uoToDrop as UserOperationRequest<\"0.7.0\">).factory,\n factoryData: (uoToDrop as UserOperationRequest<\"0.7.0\">)\n .factoryData,\n }\n : {}),\n sender: (uoToDrop as UserOperationRequest<\"0.7.0\">).sender,\n nonce: (uoToDrop as UserOperationRequest<\"0.7.0\">).nonce,\n callData: (uoToDrop as UserOperationRequest<\"0.7.0\">).callData,\n signature: await account.getDummySignature(),\n }\n ) as UserOperationStruct<TEntryPointVersion>;\n\n // Run once to get the fee estimates\n // This can happen at any part of the middleware stack, so we want to run it all\n const { maxFeePerGas, maxPriorityFeePerGas } = await _runMiddlewareStack(\n client,\n {\n uo: uoToSubmit,\n overrides,\n account,\n }\n );\n\n const _overrides = {\n ...overrides,\n maxFeePerGas: bigIntMax(\n BigInt(maxFeePerGas ?? 0n),\n bigIntMultiply(uoToDrop.maxFeePerGas, 1.1)\n ),\n maxPriorityFeePerGas: bigIntMax(\n BigInt(maxPriorityFeePerGas ?? 0n),\n bigIntMultiply(uoToDrop.maxPriorityFeePerGas, 1.1)\n ),\n } as UserOperationOverrides<TEntryPointVersion>;\n\n const uoToSend = await _runMiddlewareStack(client, {\n uo: uoToSubmit,\n overrides: _overrides,\n account,\n });\n\n return _sendUserOperation(client, {\n uoStruct: uoToSend,\n account,\n context,\n overrides: _overrides,\n });\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { Chain, Client, Transport } from "viem";
2
+ import { type GetEntryPointFromAccount, type SmartContractAccount } from "../../account/smartContractAccount.js";
3
+ import type { UserOperationEstimateGasResponse } from "../../types.js";
4
+ import type { SendUserOperationParameters, UserOperationContext } from "./types.js";
5
+ export declare function estimateUserOperationGas<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: SendUserOperationParameters<TAccount, TContext>): Promise<UserOperationEstimateGasResponse<TEntryPointVersion>>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.estimateUserOperationGas = 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 index_js_1 = require("../../utils/index.js");
8
+ const initUserOperation_js_1 = require("./internal/initUserOperation.js");
9
+ async function estimateUserOperationGas(client, args) {
10
+ const { account = client.account, overrides } = 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", "estimateUserOperationGas", client);
16
+ }
17
+ return (0, initUserOperation_js_1._initUserOperation)(client, args).then(async (struct) => {
18
+ const request = (0, index_js_1.deepHexlify)(await (0, index_js_1.resolveProperties)(struct));
19
+ return client.estimateUserOperationGas(request, account.getEntryPoint().address, overrides?.stateOverride);
20
+ });
21
+ }
22
+ exports.estimateUserOperationGas = estimateUserOperationGas;
23
+ //# sourceMappingURL=estimateUserOperationGas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateUserOperationGas.js","sourceRoot":"","sources":["../../../../src/actions/smartAccount/estimateUserOperationGas.ts"],"names":[],"mappings":";;;AAKA,kFAAgF;AAChF,wDAA+D;AAC/D,sDAAiE;AAEjE,mDAAsE;AACtE,0EAAqE;AAmB9D,KAAK,UAAU,wBAAwB,CAW5C,MAA4C,EAC5C,IAAqD;IAErD,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACrD,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,0BAA0B,EAC1B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,OAAO,IAAA,yCAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAA,sBAAW,EAAC,MAAM,IAAA,4BAAiB,EAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC,wBAAwB,CACpC,OAAO,EACP,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,EAC/B,SAAS,EAAE,aAAa,CACzB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAnCD,4DAmCC","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 { UserOperationEstimateGasResponse } from \"../../types.js\";\nimport { deepHexlify, resolveProperties } from \"../../utils/index.js\";\nimport { _initUserOperation } from \"./internal/initUserOperation.js\";\nimport type {\n SendUserOperationParameters,\n UserOperationContext,\n} from \"./types.js\";\n\n/**\n * Description SmartAccountClientAction for estimating the gas cost of a user operation\n *\n * @async\n * @template {Transport} TTransport\n * @template {Chain | undefined} TChain\n * @template {SmartContractAccount | undefined} TAccount\n * @template {UserOperationContext | undefined} TContext\n * @template {GetEntryPointFromAccount<TAccount>} TEntryPointVersion\n * @param client smart account client\n * @param args send user operation parameters\n * @returns user operation gas estimate response\n */\nexport async function estimateUserOperationGas<\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: SendUserOperationParameters<TAccount, TContext>\n): Promise<UserOperationEstimateGasResponse<TEntryPointVersion>> {\n const { account = client.account, overrides } = args;\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isBaseSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"BaseSmartAccountClient\",\n \"estimateUserOperationGas\",\n client\n );\n }\n\n return _initUserOperation(client, args).then(async (struct) => {\n const request = deepHexlify(await resolveProperties(struct));\n return client.estimateUserOperationGas(\n request,\n account.getEntryPoint().address,\n overrides?.stateOverride\n );\n });\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { Address } from "abitype";
2
+ import type { Chain, Client, Transport } from "viem";
3
+ import type { GetAccountParameter, SmartContractAccount } from "../../account/smartContractAccount";
4
+ export declare const getAddress: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: GetAccountParameter<TAccount>) => Address;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAddress = void 0;
4
+ const account_js_1 = require("../../errors/account.js");
5
+ const getAddress = (client, args) => {
6
+ const { account } = args ?? { account: client.account };
7
+ if (!account) {
8
+ throw new account_js_1.AccountNotFoundError();
9
+ }
10
+ return account.address;
11
+ };
12
+ exports.getAddress = getAddress;
13
+ //# sourceMappingURL=getAddress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../../src/actions/smartAccount/getAddress.ts"],"names":[],"mappings":";;;AAMA,wDAA+D;AAExD,MAAM,UAAU,GASR,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB","sourcesContent":["import type { Address } from \"abitype\";\nimport type { Chain, Client, Transport } from \"viem\";\nimport type {\n GetAccountParameter,\n SmartContractAccount,\n} from \"../../account/smartContractAccount\";\nimport { AccountNotFoundError } from \"../../errors/account.js\";\n\nexport const getAddress: <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>,\n args: GetAccountParameter<TAccount>\n) => Address = (client, args) => {\n const { account } = args ?? { account: client.account };\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n return account.address;\n};\n"]}
@@ -0,0 +1,7 @@
1
+ import type { Chain, Transport } from "viem";
2
+ import type { GetEntryPointFromAccount, SmartContractAccount } from "../../../account/smartContractAccount.js";
3
+ import type { BaseSmartAccountClient } from "../../../client/smartAccountClient.js";
4
+ import type { UserOperationStruct } from "../../../types.js";
5
+ import { type Deferrable } from "../../../utils/index.js";
6
+ import type { BuildUserOperationParameters, SendUserOperationParameters, UserOperationContext } from "../types.js";
7
+ export declare function _initUserOperation<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: BaseSmartAccountClient<TTransport, TChain, TAccount>, args: SendUserOperationParameters<TAccount, TContext, TEntryPointVersion> | BuildUserOperationParameters<TAccount, TContext, TEntryPointVersion>): Promise<Deferrable<UserOperationStruct<TEntryPointVersion>>>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._initUserOperation = void 0;
4
+ const account_js_1 = require("../../../errors/account.js");
5
+ const client_js_1 = require("../../../errors/client.js");
6
+ const index_js_1 = require("../../../utils/index.js");
7
+ async function _initUserOperation(client, args) {
8
+ const { account = client.account, uo, overrides } = args;
9
+ if (!account) {
10
+ throw new account_js_1.AccountNotFoundError();
11
+ }
12
+ if (!client.chain) {
13
+ throw new client_js_1.ChainNotFoundError();
14
+ }
15
+ const entryPoint = account.getEntryPoint();
16
+ const callData = Array.isArray(uo)
17
+ ? account.encodeBatchExecute(uo)
18
+ : typeof uo === "string"
19
+ ? uo
20
+ : account.encodeExecute(uo);
21
+ const signature = account.getDummySignature();
22
+ const nonce = account.getNonce(overrides?.nonceKey);
23
+ const struct = entryPoint.version === "0.6.0"
24
+ ? {
25
+ initCode: account.getInitCode(),
26
+ sender: account.address,
27
+ nonce,
28
+ callData,
29
+ signature,
30
+ }
31
+ : {
32
+ factory: (0, index_js_1.conditionalReturn)(account.isAccountDeployed().then((deployed) => !deployed), account.getFactoryAddress),
33
+ factoryData: (0, index_js_1.conditionalReturn)(account.isAccountDeployed().then((deployed) => !deployed), account.getFactoryData),
34
+ sender: account.address,
35
+ nonce,
36
+ callData,
37
+ signature,
38
+ };
39
+ return struct;
40
+ }
41
+ exports._initUserOperation = _initUserOperation;
42
+ //# sourceMappingURL=initUserOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initUserOperation.js","sourceRoot":"","sources":["../../../../../src/actions/smartAccount/internal/initUserOperation.ts"],"names":[],"mappings":";;;AAMA,2DAAkE;AAClE,yDAA+D;AAE/D,sDAA6E;AAqBtE,KAAK,UAAU,kBAAkB,CAWtC,MAA4D,EAC5D,IAEwE;IAExE,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,8BAAkB,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAE3C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChC,CAAC,CAAC,OAAO,EAAE,KAAK,QAAQ;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAE9C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEpD,MAAM,MAAM,GACV,UAAU,CAAC,OAAO,KAAK,OAAO;QAC5B,CAAC,CAAE;YACC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;YAC/B,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,KAAK;YACL,QAAQ;YACR,SAAS;SAC8C;QAC3D,CAAC,CAAE;YACC,OAAO,EAAE,IAAA,4BAAiB,EACxB,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EACzD,OAAO,CAAC,iBAAiB,CAC1B;YACD,WAAW,EAAE,IAAA,4BAAiB,EAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EACzD,OAAO,CAAC,cAAc,CACvB;YACD,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,KAAK;YACL,QAAQ;YACR,SAAS;SAC8C,CAAC;IAEhE,OAAO,MAAM,CAAC;AAChB,CAAC;AA9DD,gDA8DC","sourcesContent":["import type { Chain, Transport } from \"viem\";\nimport type {\n GetEntryPointFromAccount,\n SmartContractAccount,\n} from \"../../../account/smartContractAccount.js\";\nimport type { BaseSmartAccountClient } from \"../../../client/smartAccountClient.js\";\nimport { AccountNotFoundError } from \"../../../errors/account.js\";\nimport { ChainNotFoundError } from \"../../../errors/client.js\";\nimport type { UserOperationStruct } from \"../../../types.js\";\nimport { conditionalReturn, type Deferrable } from \"../../../utils/index.js\";\nimport type {\n BuildUserOperationParameters,\n SendUserOperationParameters,\n UserOperationContext,\n} from \"../types.js\";\n\n/**\n * Description internal action function of SmartAccountClient for initializing\n * a user operation for the sender account\n *\n * @async\n * @template {Transport} TTransport\n * @template {Chain | undefined} TChain\n * @template {SmartContractAccount | undefined} TAccount\n * @template {UserOperationContext | undefined} TContext\n * @template {GetEntryPointFromAccount} TEntryPointVersion\n * @param client smart account client\n * @param args send user operation parameters\n * @returns initialized user operation struct\n */\nexport async function _initUserOperation<\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: BaseSmartAccountClient<TTransport, TChain, TAccount>,\n args:\n | SendUserOperationParameters<TAccount, TContext, TEntryPointVersion>\n | BuildUserOperationParameters<TAccount, TContext, TEntryPointVersion>\n): Promise<Deferrable<UserOperationStruct<TEntryPointVersion>>> {\n const { account = client.account, uo, overrides } = args;\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!client.chain) {\n throw new ChainNotFoundError();\n }\n\n const entryPoint = account.getEntryPoint();\n\n const callData = Array.isArray(uo)\n ? account.encodeBatchExecute(uo)\n : typeof uo === \"string\"\n ? uo\n : account.encodeExecute(uo);\n\n const signature = account.getDummySignature();\n\n const nonce = account.getNonce(overrides?.nonceKey);\n\n const struct =\n entryPoint.version === \"0.6.0\"\n ? ({\n initCode: account.getInitCode(),\n sender: account.address,\n nonce,\n callData,\n signature,\n } as Deferrable<UserOperationStruct<TEntryPointVersion>>)\n : ({\n factory: conditionalReturn(\n account.isAccountDeployed().then((deployed) => !deployed),\n account.getFactoryAddress\n ),\n factoryData: conditionalReturn(\n account.isAccountDeployed().then((deployed) => !deployed),\n account.getFactoryData\n ),\n sender: account.address,\n nonce,\n callData,\n signature,\n } as Deferrable<UserOperationStruct<TEntryPointVersion>>);\n\n return struct;\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import type { Chain, Transport } from "viem";
2
+ import type { GetAccountParameter, GetEntryPointFromAccount, SmartContractAccount } from "../../../account/smartContractAccount";
3
+ import type { BaseSmartAccountClient } from "../../../client/smartAccountClient";
4
+ import type { UserOperationOverridesParameter, UserOperationStruct } from "../../../types";
5
+ import { type Deferrable } from "../../../utils/index.js";
6
+ import type { UserOperationContext } from "../types";
7
+ export declare function _runMiddlewareStack<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: BaseSmartAccountClient<TTransport, TChain, TAccount>, args: {
8
+ uo: Deferrable<UserOperationStruct<TEntryPointVersion>>;
9
+ context?: TContext;
10
+ } & GetAccountParameter<TAccount> & UserOperationOverridesParameter<TEntryPointVersion>): Promise<UserOperationStruct<TEntryPointVersion>>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._runMiddlewareStack = void 0;
4
+ const account_js_1 = require("../../../errors/account.js");
5
+ const noopMiddleware_js_1 = require("../../../middleware/noopMiddleware.js");
6
+ const index_js_1 = require("../../../utils/index.js");
7
+ const asyncPipe = (...fns) => async (s, opts) => {
8
+ let result = s;
9
+ for (const fn of fns) {
10
+ result = await fn(result, opts);
11
+ }
12
+ return result;
13
+ };
14
+ async function _runMiddlewareStack(client, args) {
15
+ const { uo, overrides, account = client.account, context } = args;
16
+ if (!account) {
17
+ throw new account_js_1.AccountNotFoundError();
18
+ }
19
+ const { dummyPaymasterAndData, paymasterAndData, } = (0, index_js_1.bypassPaymasterAndData)(overrides)
20
+ ? {
21
+ dummyPaymasterAndData: async (uo, { overrides }) => {
22
+ return {
23
+ ...uo,
24
+ ...("paymasterAndData" in overrides
25
+ ? { paymasterAndData: overrides.paymasterAndData }
26
+ : "paymasterData" in overrides &&
27
+ "paymaster" in overrides &&
28
+ overrides.paymasterData !== "0x"
29
+ ? {
30
+ paymasterData: overrides.paymasterData,
31
+ paymaster: overrides.paymaster,
32
+ }
33
+ :
34
+ undefined),
35
+ };
36
+ },
37
+ paymasterAndData: noopMiddleware_js_1.noopMiddleware,
38
+ }
39
+ : {
40
+ dummyPaymasterAndData: client.middleware.dummyPaymasterAndData,
41
+ paymasterAndData: client.middleware.paymasterAndData,
42
+ };
43
+ const result = await asyncPipe(dummyPaymasterAndData, client.middleware.feeEstimator, client.middleware.gasEstimator, client.middleware.customMiddleware, paymasterAndData, client.middleware.userOperationSimulator)(uo, { overrides, feeOptions: client.feeOptions, account, client, context });
44
+ return (0, index_js_1.resolveProperties)(result);
45
+ }
46
+ exports._runMiddlewareStack = _runMiddlewareStack;
47
+ //# sourceMappingURL=runMiddlewareStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runMiddlewareStack.js","sourceRoot":"","sources":["../../../../../src/actions/smartAccount/internal/runMiddlewareStack.ts"],"names":[],"mappings":";;;AAOA,2DAAkE;AAClE,6EAAuE;AAMvE,sDAIiC;AAWjC,MAAM,SAAS,GACb,CAAU,GAAG,GAAyC,EAAE,EAAE,CAC1D,KAAK,EAAE,CAAI,EAAE,IAAU,EAAE,EAAE;IACzB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAgBG,KAAK,UAAU,mBAAmB,CAWvC,MAA4D,EAC5D,IAIqD;IAErD,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,EACJ,qBAAqB,EACrB,gBAAgB,GACjB,GAGG,IAAA,iCAAsB,EAAC,SAAS,CAAC;QACnC,CAAC,CAAC;YACE,qBAAqB,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;gBACjD,OAAO;oBACL,GAAG,EAAE;oBACL,GAAG,CAAC,kBAAkB,IAAI,SAAU;wBAClC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE;wBAClD,CAAC,CAAC,eAAe,IAAI,SAAU;4BAC7B,WAAW,IAAI,SAAS;4BACxB,SAAS,CAAC,aAAa,KAAK,IAAI;4BAClC,CAAC,CAAC;gCACE,aAAa,EAAE,SAAS,CAAC,aAAa;gCACtC,SAAS,EAAE,SAAS,CAAC,SAAS;6BAC/B;4BACH,CAAC;gCAEC,SAAS,CAAC;iBACf,CAAC;YACJ,CAAC;YACD,gBAAgB,EAAE,kCAAc;SACjC;QACH,CAAC,CAAC;YACE,qBAAqB,EAAE,MAAM,CAAC,UAAU,CAAC,qBAAqB;YAC9D,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,gBAAgB;SACrD,CAAC;IAEN,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,qBAAqB,EACrB,MAAM,CAAC,UAAU,CAAC,YAAY,EAC9B,MAAM,CAAC,UAAU,CAAC,YAAY,EAC9B,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAClC,gBAAgB,EAChB,MAAM,CAAC,UAAU,CAAC,sBAAsB,CACzC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE9E,OAAO,IAAA,4BAAiB,EAEtB,MAAM,CAAC,CAAC;AACZ,CAAC;AAnED,kDAmEC","sourcesContent":["import type { Chain, Transport } from \"viem\";\nimport type {\n GetAccountParameter,\n GetEntryPointFromAccount,\n SmartContractAccount,\n} from \"../../../account/smartContractAccount\";\nimport type { BaseSmartAccountClient } from \"../../../client/smartAccountClient\";\nimport { AccountNotFoundError } from \"../../../errors/account.js\";\nimport { noopMiddleware } from \"../../../middleware/noopMiddleware.js\";\nimport type { ClientMiddleware } from \"../../../middleware/types\";\nimport type {\n UserOperationOverridesParameter,\n UserOperationStruct,\n} from \"../../../types\";\nimport {\n bypassPaymasterAndData,\n resolveProperties,\n type Deferrable,\n} from \"../../../utils/index.js\";\nimport type { UserOperationContext } from \"../types\";\n\n/**\n * Utility method for running a sequence of async functions as a pipeline\n *\n * @template S\n * @template Opts\n * @param fns async functions to run in a pipeline sequence\n * @returns a function that runs the async functions in a pipeline sequence\n */\nconst asyncPipe =\n <S, Opts>(...fns: ((s: S, opts: Opts) => Promise<S>)[]) =>\n async (s: S, opts: Opts) => {\n let result = s;\n for (const fn of fns) {\n result = await fn(result, opts);\n }\n return result;\n };\n\n/**\n * Internal method of {@link SmartAccountClient} running the middleware stack for a user operation\n *\n * @async\n * @template TTransport\n * @template TChain\n * @template TAccount\n * @template TContext the {@link UserOperationContext} passed to the middleware\n * @template TEntryPointVersion\n * @param client the smart account client instance that runs the middleware pipeline with\n * @param args the Deferrable {@link UserOperationStruct} to run the middleware pipeline on\n *\n * @returns the resolved {@link UserOperationStruct} after running the middleware pipeline\n */\nexport async function _runMiddlewareStack<\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: BaseSmartAccountClient<TTransport, TChain, TAccount>,\n args: {\n uo: Deferrable<UserOperationStruct<TEntryPointVersion>>;\n context?: TContext;\n } & GetAccountParameter<TAccount> &\n UserOperationOverridesParameter<TEntryPointVersion>\n): Promise<UserOperationStruct<TEntryPointVersion>> {\n const { uo, overrides, account = client.account, context } = args;\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n const {\n dummyPaymasterAndData,\n paymasterAndData,\n }: Pick<\n ClientMiddleware<TContext>,\n \"dummyPaymasterAndData\" | \"paymasterAndData\"\n > = bypassPaymasterAndData(overrides)\n ? {\n dummyPaymasterAndData: async (uo, { overrides }) => {\n return {\n ...uo,\n ...(\"paymasterAndData\" in overrides!\n ? { paymasterAndData: overrides.paymasterAndData }\n : \"paymasterData\" in overrides! &&\n \"paymaster\" in overrides &&\n overrides.paymasterData !== \"0x\"\n ? {\n paymasterData: overrides.paymasterData,\n paymaster: overrides.paymaster,\n }\n : // At this point, nothing has run so no fields are set\n // for 0.7 when not using a paymaster, all fields should be undefined\n undefined),\n };\n },\n paymasterAndData: noopMiddleware,\n }\n : {\n dummyPaymasterAndData: client.middleware.dummyPaymasterAndData,\n paymasterAndData: client.middleware.paymasterAndData,\n };\n\n const result = await asyncPipe(\n dummyPaymasterAndData,\n client.middleware.feeEstimator,\n client.middleware.gasEstimator,\n client.middleware.customMiddleware,\n paymasterAndData,\n client.middleware.userOperationSimulator\n )(uo, { overrides, feeOptions: client.feeOptions, account, client, context });\n\n return resolveProperties<\n UserOperationStruct<GetEntryPointFromAccount<TAccount>>\n >(result);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import type { Chain, Transport } from "viem";
2
+ import type { GetAccountParameter, GetEntryPointFromAccount, SmartContractAccount } from "../../../account/smartContractAccount";
3
+ import type { BaseSmartAccountClient } from "../../../client/smartAccountClient";
4
+ import type { SendUserOperationResult } from "../../../client/types";
5
+ import type { UserOperationOverrides, UserOperationStruct } from "../../../types";
6
+ import type { GetContextParameter, UserOperationContext } from "../types";
7
+ export declare function _sendUserOperation<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: BaseSmartAccountClient<TTransport, TChain, TAccount>, args: {
8
+ uoStruct: UserOperationStruct<TEntryPointVersion>;
9
+ overrides?: UserOperationOverrides<TEntryPointVersion>;
10
+ } & GetAccountParameter<TAccount> & GetContextParameter<TContext>): Promise<SendUserOperationResult<TEntryPointVersion>>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._sendUserOperation = void 0;
4
+ const account_js_1 = require("../../../errors/account.js");
5
+ const client_js_1 = require("../../../errors/client.js");
6
+ const signUserOperation_js_1 = require("../signUserOperation.js");
7
+ async function _sendUserOperation(client, args) {
8
+ const { account = client.account, uoStruct, context, overrides } = args;
9
+ if (!account) {
10
+ throw new account_js_1.AccountNotFoundError();
11
+ }
12
+ if (!client.chain) {
13
+ throw new client_js_1.ChainNotFoundError();
14
+ }
15
+ const entryPoint = account.getEntryPoint();
16
+ const request = await (0, signUserOperation_js_1.signUserOperation)(client, {
17
+ uoStruct,
18
+ account,
19
+ context,
20
+ overrides,
21
+ });
22
+ return {
23
+ hash: await client.sendRawUserOperation(request, entryPoint.address),
24
+ request,
25
+ };
26
+ }
27
+ exports._sendUserOperation = _sendUserOperation;
28
+ //# sourceMappingURL=sendUserOperation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendUserOperation.js","sourceRoot":"","sources":["../../../../../src/actions/smartAccount/internal/sendUserOperation.ts"],"names":[],"mappings":";;;AAQA,2DAAkE;AAClE,yDAA+D;AAK/D,kEAA4D;AAUrD,KAAK,UAAU,kBAAkB,CAWtC,MAA4D,EAC5D,IAI+B;IAE/B,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACxE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iCAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,8BAAkB,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,IAAA,wCAAiB,EAAC,MAAM,EAAE;QAC9C,QAAQ;QACR,OAAO;QACP,OAAO;QACP,SAAS;KACV,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,MAAM,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC;QACpE,OAAO;KACR,CAAC;AACJ,CAAC;AAvCD,gDAuCC","sourcesContent":["import type { Chain, Transport } from \"viem\";\nimport type {\n GetAccountParameter,\n GetEntryPointFromAccount,\n SmartContractAccount,\n} from \"../../../account/smartContractAccount\";\nimport type { BaseSmartAccountClient } from \"../../../client/smartAccountClient\";\nimport type { SendUserOperationResult } from \"../../../client/types\";\nimport { AccountNotFoundError } from \"../../../errors/account.js\";\nimport { ChainNotFoundError } from \"../../../errors/client.js\";\nimport type {\n UserOperationOverrides,\n UserOperationStruct,\n} from \"../../../types\";\nimport { signUserOperation } from \"../signUserOperation.js\";\nimport type { GetContextParameter, UserOperationContext } from \"../types\";\n\n/**\n * Used internally to send a user operation that has **already** been signed\n *\n * @param client a base smart account client instance with middleware configured\n * @param args user operation struct, overrides, account, and context to be used in sending\n * @returns A Promise containing the send user operation result {@link SendUserOperationResult}\n */\nexport async function _sendUserOperation<\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: BaseSmartAccountClient<TTransport, TChain, TAccount>,\n args: {\n uoStruct: UserOperationStruct<TEntryPointVersion>;\n overrides?: UserOperationOverrides<TEntryPointVersion>;\n } & GetAccountParameter<TAccount> &\n GetContextParameter<TContext>\n): Promise<SendUserOperationResult<TEntryPointVersion>> {\n const { account = client.account, uoStruct, context, overrides } = args;\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!client.chain) {\n throw new ChainNotFoundError();\n }\n\n const entryPoint = account.getEntryPoint();\n const request = await signUserOperation(client, {\n uoStruct,\n account,\n context,\n overrides,\n });\n\n return {\n hash: await client.sendRawUserOperation(request, entryPoint.address),\n request,\n };\n}\n"]}