@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,177 @@
1
+ import {
2
+ type Address,
3
+ type Chain,
4
+ type Client,
5
+ type Hex,
6
+ type SendTransactionParameters,
7
+ type Transport,
8
+ type TypedData,
9
+ } from "viem";
10
+ import type {
11
+ GetAccountParameter,
12
+ GetEntryPointFromAccount,
13
+ SmartContractAccount,
14
+ } from "../../account/smartContractAccount";
15
+ import { buildUserOperation } from "../../actions/smartAccount/buildUserOperation.js";
16
+ import { buildUserOperationFromTx } from "../../actions/smartAccount/buildUserOperationFromTx.js";
17
+ import { buildUserOperationFromTxs } from "../../actions/smartAccount/buildUserOperationFromTxs.js";
18
+ import { checkGasSponsorshipEligibility } from "../../actions/smartAccount/checkGasSponsorshipEligibility.js";
19
+ import { dropAndReplaceUserOperation } from "../../actions/smartAccount/dropAndReplaceUserOperation.js";
20
+ import { getAddress } from "../../actions/smartAccount/getAddress.js";
21
+ import { sendTransaction } from "../../actions/smartAccount/sendTransaction.js";
22
+ import { sendTransactions } from "../../actions/smartAccount/sendTransactions.js";
23
+ import { sendUserOperation } from "../../actions/smartAccount/sendUserOperation.js";
24
+ import {
25
+ signMessage,
26
+ type SignMessageParameters,
27
+ } from "../../actions/smartAccount/signMessage.js";
28
+ import { signMessageWith6492 } from "../../actions/smartAccount/signMessageWith6492.js";
29
+ import {
30
+ signTypedData,
31
+ type SignTypedDataParameters,
32
+ } from "../../actions/smartAccount/signTypedData.js";
33
+ import { signTypedDataWith6492 } from "../../actions/smartAccount/signTypedDataWith6492.js";
34
+ import { signUserOperation } from "../../actions/smartAccount/signUserOperation.js";
35
+ import type {
36
+ BuildTransactionParameters,
37
+ BuildUserOperationFromTransactionsResult,
38
+ BuildUserOperationParameters,
39
+ DropAndReplaceUserOperationParameters,
40
+ SendTransactionsParameters,
41
+ SendUserOperationParameters,
42
+ SignUserOperationParameters,
43
+ UpgradeAccountParams,
44
+ UserOperationContext,
45
+ WaitForUserOperationTxParameters,
46
+ } from "../../actions/smartAccount/types";
47
+ import { upgradeAccount } from "../../actions/smartAccount/upgradeAccount.js";
48
+ import { waitForUserOperationTransaction } from "../../actions/smartAccount/waitForUserOperationTransacation.js";
49
+ import type {
50
+ UserOperationOverrides,
51
+ UserOperationRequest,
52
+ UserOperationStruct,
53
+ } from "../../types";
54
+ import type { IsUndefined } from "../../utils";
55
+ import type { SendUserOperationResult } from "../types";
56
+
57
+ //#region SmartAccountClientActions
58
+ export type BaseSmartAccountClientActions<
59
+ TChain extends Chain | undefined = Chain | undefined,
60
+ TAccount extends SmartContractAccount | undefined =
61
+ | SmartContractAccount
62
+ | undefined,
63
+ TContext extends UserOperationContext | undefined =
64
+ | UserOperationContext
65
+ | undefined,
66
+ TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>
67
+ > = {
68
+ buildUserOperation: (
69
+ args: BuildUserOperationParameters<TAccount, TContext>
70
+ ) => Promise<UserOperationStruct<TEntryPointVersion>>;
71
+ buildUserOperationFromTx: (
72
+ args: SendTransactionParameters<TChain, TAccount>,
73
+ overrides?: UserOperationOverrides<TEntryPointVersion>,
74
+ context?: TContext
75
+ ) => Promise<UserOperationStruct<TEntryPointVersion>>;
76
+ buildUserOperationFromTxs: (
77
+ args: BuildTransactionParameters<TAccount, TContext>
78
+ ) => Promise<BuildUserOperationFromTransactionsResult<TEntryPointVersion>>;
79
+ checkGasSponsorshipEligibility: <
80
+ TContext extends UserOperationContext | undefined =
81
+ | UserOperationContext
82
+ | undefined
83
+ >(
84
+ args: SendUserOperationParameters<TAccount, TContext>
85
+ ) => Promise<boolean>;
86
+ signUserOperation: (
87
+ args: SignUserOperationParameters<TAccount, TEntryPointVersion, TContext>
88
+ ) => Promise<UserOperationRequest<TEntryPointVersion>>;
89
+ dropAndReplaceUserOperation: (
90
+ args: DropAndReplaceUserOperationParameters<TAccount, TContext>
91
+ ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
92
+ // TODO: for v4 we should combine override and context into an `opts` parameter
93
+ // which wraps both of these properties so we can use GetContextParameter
94
+ sendTransaction: <TChainOverride extends Chain | undefined = undefined>(
95
+ args: SendTransactionParameters<TChain, TAccount, TChainOverride>,
96
+ overrides?: UserOperationOverrides<TEntryPointVersion>,
97
+ context?: TContext
98
+ ) => Promise<Hex>;
99
+ sendTransactions: (
100
+ args: SendTransactionsParameters<TAccount, TContext>
101
+ ) => Promise<Hex>;
102
+ sendUserOperation: (
103
+ args: SendUserOperationParameters<
104
+ TAccount,
105
+ TContext,
106
+ GetEntryPointFromAccount<TAccount>
107
+ >
108
+ ) => Promise<SendUserOperationResult<TEntryPointVersion>>;
109
+ waitForUserOperationTransaction: (
110
+ args: WaitForUserOperationTxParameters
111
+ ) => Promise<Hex>;
112
+ upgradeAccount: (
113
+ args: UpgradeAccountParams<TAccount, TContext>
114
+ ) => Promise<Hex>;
115
+ signMessage: (args: SignMessageParameters<TAccount>) => Promise<Hex>;
116
+ signTypedData: <
117
+ const TTypedData extends TypedData | { [key: string]: unknown },
118
+ TPrimaryType extends string = string
119
+ >(
120
+ args: SignTypedDataParameters<TTypedData, TPrimaryType, TAccount>
121
+ ) => Promise<Hex>;
122
+ signMessageWith6492: (args: SignMessageParameters<TAccount>) => Promise<Hex>;
123
+ signTypedDataWith6492: <
124
+ const TTypedData extends TypedData | { [key: string]: unknown },
125
+ TPrimaryType extends string = string
126
+ >(
127
+ args: SignTypedDataParameters<TTypedData, TPrimaryType, TAccount>
128
+ ) => Promise<Hex>;
129
+ } & (IsUndefined<TAccount> extends false
130
+ ? { getAddress: () => Address }
131
+ : {
132
+ getAddress: (args: GetAccountParameter<TAccount>) => Address;
133
+ });
134
+ // #endregion SmartAccountClientActions
135
+
136
+ export const smartAccountClientActions: <
137
+ TTransport extends Transport = Transport,
138
+ TChain extends Chain | undefined = Chain | undefined,
139
+ TAccount extends SmartContractAccount | undefined =
140
+ | SmartContractAccount
141
+ | undefined,
142
+ TContext extends UserOperationContext | undefined =
143
+ | UserOperationContext
144
+ | undefined
145
+ >(
146
+ client: Client<TTransport, TChain, TAccount>
147
+ ) => BaseSmartAccountClientActions<TChain, TAccount, TContext> = (client) => ({
148
+ buildUserOperation: (args) => buildUserOperation(client, args),
149
+ buildUserOperationFromTx: (args, overrides, context) =>
150
+ buildUserOperationFromTx(client, args, overrides, context),
151
+ buildUserOperationFromTxs: (args) => buildUserOperationFromTxs(client, args),
152
+ checkGasSponsorshipEligibility: (args) =>
153
+ checkGasSponsorshipEligibility(client, args),
154
+ signUserOperation: (args) => signUserOperation(client, args),
155
+ dropAndReplaceUserOperation: (args) =>
156
+ dropAndReplaceUserOperation(client, args),
157
+ sendTransaction: (args, overrides, context) =>
158
+ sendTransaction(client, args, overrides, context),
159
+ sendTransactions: (args) => sendTransactions(client, args),
160
+ sendUserOperation: (args) => sendUserOperation(client, args),
161
+ waitForUserOperationTransaction: (args) =>
162
+ waitForUserOperationTransaction.bind(client)(client, args),
163
+ upgradeAccount: (args) => upgradeAccount(client, args),
164
+ getAddress: (args) => getAddress(client, args),
165
+ signMessage: (args) => signMessage(client, args),
166
+ signTypedData: (args) => signTypedData(client, args),
167
+ signMessageWith6492: (args) => signMessageWith6492(client, args),
168
+ signTypedDataWith6492: (args) => signTypedDataWith6492(client, args),
169
+ });
170
+
171
+ export const smartAccountClientMethodKeys = Object.keys(
172
+ // @ts-expect-error we just want to get the keys
173
+ smartAccountClientActions(undefined)
174
+ ).reduce((accum, curr) => {
175
+ accum.add(curr);
176
+ return accum;
177
+ }, new Set<string>());
@@ -0,0 +1,53 @@
1
+ import type { Chain, Client, Transport } from "viem";
2
+ import type { SmartContractAccount } from "../account/smartContractAccount";
3
+ import { smartAccountClientMethodKeys } from "./decorators/smartAccountClient.js";
4
+ import type {
5
+ BaseSmartAccountClient,
6
+ SmartAccountClient,
7
+ } from "./smartAccountClient";
8
+
9
+ /**
10
+ * Use this method to assert that a client is a BaseSmartAccountClient.
11
+ * Useful for narrowing the type of the client down when used within the
12
+ * smart account client decorators
13
+ *
14
+ * @param client a viem client
15
+ * @returns true if the client is a SmartAccountClient
16
+ */
17
+ export function isSmartAccountClient<
18
+ TTransport extends Transport = Transport,
19
+ TChain extends Chain | undefined = Chain | undefined,
20
+ TAccount extends SmartContractAccount | undefined =
21
+ | SmartContractAccount
22
+ | undefined
23
+ >(
24
+ client: Client<TTransport, TChain, TAccount>
25
+ ): client is SmartAccountClient<TTransport, TChain, TAccount> {
26
+ for (const key of smartAccountClientMethodKeys) {
27
+ if (!(key in client)) {
28
+ return false;
29
+ }
30
+ }
31
+
32
+ return client && "middleware" in client;
33
+ }
34
+
35
+ /**
36
+ * Use this method to assert that a client is a BaseSmartAccountClient.
37
+ * Useful for narrowing the type of the client down when used within the
38
+ * smart account action decorators
39
+ *
40
+ * @param client a viem client
41
+ * @returns true if the account is a BaseSmartAccountClient
42
+ */
43
+ export function isBaseSmartAccountClient<
44
+ TTransport extends Transport = Transport,
45
+ TChain extends Chain | undefined = Chain | undefined,
46
+ TAccount extends SmartContractAccount | undefined =
47
+ | SmartContractAccount
48
+ | undefined
49
+ >(
50
+ client: Client<TTransport, TChain, TAccount>
51
+ ): client is BaseSmartAccountClient<TTransport, TChain, TAccount> {
52
+ return client && "middleware" in client;
53
+ }
@@ -0,0 +1,92 @@
1
+ import type { Transport } from "viem";
2
+ import { z } from "zod";
3
+
4
+ import { BigNumberishRangeSchema, MultiplierSchema } from "../utils/index.js";
5
+ import type { BundlerClient } from "./bundlerClient.js";
6
+
7
+ export const createPublicErc4337ClientSchema = <
8
+ TTransport extends Transport = Transport
9
+ >() =>
10
+ z.custom<BundlerClient<TTransport>>((provider) => {
11
+ return (
12
+ provider != null &&
13
+ typeof provider === "object" &&
14
+ "request" in provider &&
15
+ "type" in provider &&
16
+ "key" in provider &&
17
+ "name" in provider
18
+ );
19
+ });
20
+
21
+ // [!region ConnectionConfigSchema]
22
+ export const ConnectionConfigSchema = z.union([
23
+ z.object({
24
+ rpcUrl: z.never().optional(),
25
+ apiKey: z.string(),
26
+ jwt: z.never().optional(),
27
+ }),
28
+ z.object({
29
+ rpcUrl: z.never().optional(),
30
+ apiKey: z.never().optional(),
31
+ jwt: z.string(),
32
+ }),
33
+ z.object({
34
+ rpcUrl: z.string(),
35
+ apiKey: z.never().optional(),
36
+ jwt: z.never().optional(),
37
+ }),
38
+ z.object({
39
+ rpcUrl: z.string(),
40
+ apiKey: z.never().optional(),
41
+ jwt: z.string(),
42
+ }),
43
+ ]);
44
+ // [!endregion ConnectionConfigSchema]
45
+
46
+ export const UserOperationFeeOptionsFieldSchema =
47
+ BigNumberishRangeSchema.merge(MultiplierSchema).partial();
48
+
49
+ export const UserOperationFeeOptionsSchema_v6 = z
50
+ .object({
51
+ maxFeePerGas: UserOperationFeeOptionsFieldSchema,
52
+ maxPriorityFeePerGas: UserOperationFeeOptionsFieldSchema,
53
+ callGasLimit: UserOperationFeeOptionsFieldSchema,
54
+ verificationGasLimit: UserOperationFeeOptionsFieldSchema,
55
+ preVerificationGas: UserOperationFeeOptionsFieldSchema,
56
+ })
57
+ .partial()
58
+ .strict();
59
+
60
+ export const UserOperationFeeOptionsSchema_v7 =
61
+ UserOperationFeeOptionsSchema_v6.extend({
62
+ paymasterVerificationGasLimit: UserOperationFeeOptionsFieldSchema,
63
+ paymasterPostOpGasLimit: UserOperationFeeOptionsFieldSchema,
64
+ })
65
+ .partial()
66
+ .strict();
67
+
68
+ export const UserOperationFeeOptionsSchema = UserOperationFeeOptionsSchema_v7;
69
+
70
+ export const SmartAccountClientOptsSchema = z
71
+ .object({
72
+ /**
73
+ * The maximum number of times to try fetching a transaction receipt before giving up (default: 5)
74
+ */
75
+ txMaxRetries: z.number().min(0).optional().default(5),
76
+
77
+ /**
78
+ * The interval in milliseconds to wait between retries while waiting for tx receipts (default: 2_000)
79
+ */
80
+ txRetryIntervalMs: z.number().min(0).optional().default(2_000),
81
+
82
+ /**
83
+ * The multiplier on interval length to wait between retries while waiting for tx receipts (default: 1.5)
84
+ */
85
+ txRetryMultiplier: z.number().min(0).optional().default(1.5),
86
+
87
+ /**
88
+ * Optional user operation fee options to be set globally at the provider level
89
+ */
90
+ feeOptions: UserOperationFeeOptionsSchema.optional(),
91
+ })
92
+ .strict();
@@ -0,0 +1,276 @@
1
+ import {
2
+ custom,
3
+ type Chain,
4
+ type Client,
5
+ type ClientConfig,
6
+ type CustomTransport,
7
+ type FormattedTransactionRequest,
8
+ type PublicActions,
9
+ type PublicRpcSchema,
10
+ type RpcSchema,
11
+ type Transport,
12
+ } from "viem";
13
+ import { z } from "zod";
14
+ import type { SmartContractAccount } from "../account/smartContractAccount.js";
15
+ import type { UserOperationContext } from "../actions/smartAccount/types.js";
16
+ import { AccountNotFoundError } from "../errors/account.js";
17
+ import { ChainNotFoundError } from "../errors/client.js";
18
+ import { middlewareActions } from "../middleware/actions.js";
19
+ import type { ClientMiddleware } from "../middleware/types.js";
20
+ import type { Prettify } from "../utils/index.js";
21
+ import { createBundlerClient, type BundlerClient } from "./bundlerClient.js";
22
+ import {
23
+ type BundlerActions,
24
+ type BundlerRpcSchema,
25
+ } from "./decorators/bundlerClient.js";
26
+ import {
27
+ smartAccountClientActions,
28
+ type BaseSmartAccountClientActions,
29
+ } from "./decorators/smartAccountClient.js";
30
+ import { SmartAccountClientOptsSchema } from "./schema.js";
31
+ import type { ClientMiddlewareConfig } from "./types.js";
32
+
33
+ type SmartAccountClientOpts = z.output<typeof SmartAccountClientOptsSchema>;
34
+
35
+ export type SmartAccountClientConfig<
36
+ transport extends Transport = Transport,
37
+ chain extends Chain | undefined = Chain | undefined,
38
+ account extends SmartContractAccount | undefined =
39
+ | SmartContractAccount
40
+ | undefined,
41
+ context extends UserOperationContext | undefined =
42
+ | UserOperationContext
43
+ | undefined
44
+ > = Prettify<
45
+ Pick<
46
+ ClientConfig<transport, chain, account>,
47
+ | "cacheTime"
48
+ | "chain"
49
+ | "key"
50
+ | "name"
51
+ | "pollingInterval"
52
+ | "transport"
53
+ | "type"
54
+ > & {
55
+ account?: account;
56
+ opts?: z.input<typeof SmartAccountClientOptsSchema>;
57
+ } & ClientMiddlewareConfig<context>
58
+ >;
59
+
60
+ export type SmartAccountClientRpcSchema = [
61
+ ...BundlerRpcSchema,
62
+ ...PublicRpcSchema
63
+ ];
64
+
65
+ //#region SmartAccountClientActions
66
+ export type SmartAccountClientActions<
67
+ chain extends Chain | undefined = Chain | undefined,
68
+ account extends SmartContractAccount | undefined =
69
+ | SmartContractAccount
70
+ | undefined,
71
+ context extends UserOperationContext | undefined =
72
+ | UserOperationContext
73
+ | undefined
74
+ > = BaseSmartAccountClientActions<chain, account, context> &
75
+ BundlerActions &
76
+ PublicActions;
77
+ //#endregion SmartAccountClientActions
78
+
79
+ //#region SmartAccountClient
80
+ export type SmartAccountClient<
81
+ transport extends Transport = Transport,
82
+ chain extends Chain | undefined = Chain | undefined,
83
+ account extends SmartContractAccount | undefined =
84
+ | SmartContractAccount
85
+ | undefined,
86
+ actions extends Record<string, unknown> = Record<string, unknown>,
87
+ rpcSchema extends RpcSchema = SmartAccountClientRpcSchema,
88
+ context extends UserOperationContext | undefined =
89
+ | UserOperationContext
90
+ | undefined
91
+ > = Prettify<
92
+ Client<
93
+ transport,
94
+ chain,
95
+ account,
96
+ rpcSchema,
97
+ actions & SmartAccountClientActions<chain, account, context>
98
+ >
99
+ >;
100
+ //#endregion SmartAccountClient
101
+
102
+ export type BaseSmartAccountClient<
103
+ transport extends Transport = Transport,
104
+ chain extends Chain | undefined = Chain | undefined,
105
+ account extends SmartContractAccount | undefined =
106
+ | SmartContractAccount
107
+ | undefined,
108
+ context extends UserOperationContext | undefined =
109
+ | UserOperationContext
110
+ | undefined
111
+ > = Prettify<
112
+ Client<
113
+ transport,
114
+ chain,
115
+ account,
116
+ [...BundlerRpcSchema, ...PublicRpcSchema],
117
+ {
118
+ middleware: ClientMiddleware<context>;
119
+ } & SmartAccountClientOpts &
120
+ BundlerActions &
121
+ PublicActions
122
+ >
123
+ >;
124
+
125
+ export function createSmartAccountClient<
126
+ TTransport extends Transport = Transport,
127
+ TChain extends Chain | undefined = Chain | undefined,
128
+ TAccount extends SmartContractAccount | undefined =
129
+ | SmartContractAccount
130
+ | undefined,
131
+ TContext extends UserOperationContext | undefined =
132
+ | UserOperationContext
133
+ | undefined
134
+ >(
135
+ config: SmartAccountClientConfig<TTransport, TChain, TAccount, TContext>
136
+ ): SmartAccountClient<TTransport, TChain, TAccount>;
137
+
138
+ export function createSmartAccountClient(
139
+ config: SmartAccountClientConfig
140
+ ): SmartAccountClient {
141
+ const {
142
+ key = "account",
143
+ name = "account provider",
144
+ transport,
145
+ type = "SmartAccountClient",
146
+ ...params
147
+ } = config;
148
+
149
+ const client: SmartAccountClient = createBundlerClient({
150
+ ...params,
151
+ key,
152
+ name,
153
+ // we start out with this because the base methods for a SmartAccountClient
154
+ // require a smart account client, but once we have completed building everything
155
+ // we want to override this value with the one passed in by the extender
156
+ type: "SmartAccountClient",
157
+ // TODO: this needs to be tested
158
+ transport: (opts) => {
159
+ const rpcTransport = transport(opts);
160
+
161
+ return custom({
162
+ async request({ method, params }) {
163
+ switch (method) {
164
+ case "eth_sendTransaction":
165
+ if (!client.account) {
166
+ throw new AccountNotFoundError();
167
+ }
168
+ if (!client.chain) {
169
+ throw new ChainNotFoundError();
170
+ }
171
+ const [tx] = params as [FormattedTransactionRequest];
172
+ return client.sendTransaction({
173
+ ...tx,
174
+ account: client.account,
175
+ chain: client.chain,
176
+ });
177
+ case "eth_sign":
178
+ if (!client.account) {
179
+ throw new AccountNotFoundError();
180
+ }
181
+ const [address, data] = params!;
182
+ if (address !== client.account.address) {
183
+ throw new Error(
184
+ "cannot sign for address that is not the current account"
185
+ );
186
+ }
187
+ return client.signMessage(data);
188
+ case "personal_sign": {
189
+ if (!client.account) {
190
+ throw new AccountNotFoundError();
191
+ }
192
+ const [data, address] = params!;
193
+ if (address !== client.account.address) {
194
+ throw new Error(
195
+ "cannot sign for address that is not the current account"
196
+ );
197
+ }
198
+ return client.signMessage(data);
199
+ }
200
+ case "eth_signTypedData_v4": {
201
+ if (!client.account) {
202
+ throw new AccountNotFoundError();
203
+ }
204
+ const [address, dataParams] = params!;
205
+ if (address !== client.account.address) {
206
+ throw new Error(
207
+ "cannot sign for address that is not the current account"
208
+ );
209
+ }
210
+ return client.signTypedData(dataParams);
211
+ }
212
+ case "eth_chainId":
213
+ if (!opts.chain) {
214
+ throw new ChainNotFoundError();
215
+ }
216
+
217
+ return opts.chain.id;
218
+ default:
219
+ // TODO: there's probably a number of methods we just don't support, will need to test most of them out
220
+ // first let's get something working though
221
+ return rpcTransport.request({ method, params });
222
+ }
223
+ },
224
+ })(opts);
225
+ },
226
+ })
227
+ .extend(() => ({
228
+ ...SmartAccountClientOptsSchema.parse(config.opts ?? {}),
229
+ }))
230
+ .extend(middlewareActions(config))
231
+ .extend(smartAccountClientActions);
232
+
233
+ return { ...client, type };
234
+ }
235
+
236
+ export function createSmartAccountClientFromExisting<
237
+ TTransport extends Transport = Transport,
238
+ TChain extends Chain | undefined = Chain | undefined,
239
+ TAccount extends SmartContractAccount | undefined =
240
+ | SmartContractAccount
241
+ | undefined,
242
+ TClient extends BundlerClient<TTransport> = BundlerClient<TTransport>,
243
+ TActions extends SmartAccountClientActions<
244
+ TChain,
245
+ TAccount,
246
+ TContext
247
+ > = SmartAccountClientActions<TChain, TAccount>,
248
+ TRpcSchema extends SmartAccountClientRpcSchema = SmartAccountClientRpcSchema,
249
+ TContext extends UserOperationContext | undefined =
250
+ | UserOperationContext
251
+ | undefined
252
+ >(
253
+ config: Omit<
254
+ SmartAccountClientConfig<Transport, TChain, TAccount, TContext>,
255
+ "transport" | "chain"
256
+ > & { client: TClient }
257
+ ): SmartAccountClient<
258
+ CustomTransport,
259
+ TChain,
260
+ TAccount,
261
+ TActions,
262
+ TRpcSchema,
263
+ TContext
264
+ >;
265
+
266
+ export function createSmartAccountClientFromExisting(
267
+ config: Omit<SmartAccountClientConfig, "transport" | "chain"> & {
268
+ client: BundlerClient;
269
+ }
270
+ ): SmartAccountClient {
271
+ return createSmartAccountClient({
272
+ ...config,
273
+ chain: config.client.chain,
274
+ transport: custom(config.client),
275
+ });
276
+ }
@@ -0,0 +1,51 @@
1
+ import type { Address } from "abitype";
2
+ import type { Hash, Hex } from "viem";
3
+ import type { z } from "zod";
4
+ import type { UserOperationContext } from "../actions/smartAccount/types.js";
5
+ import type { EntryPointVersion } from "../entrypoint/types.js";
6
+ import type {
7
+ ClientMiddleware,
8
+ ClientMiddlewareFn,
9
+ } from "../middleware/types.js";
10
+ import type { UserOperationRequest } from "../types.js";
11
+ import type { ConnectionConfigSchema } from "./schema.js";
12
+
13
+ export type ConnectorData = {
14
+ chainId?: Hex;
15
+ };
16
+
17
+ export type ConnectionConfig = z.input<typeof ConnectionConfigSchema>;
18
+
19
+ // [!region SendUserOperationResult]
20
+ export type SendUserOperationResult<
21
+ TEntryPointVersion extends EntryPointVersion = EntryPointVersion
22
+ > = {
23
+ hash: Hash;
24
+ request: UserOperationRequest<TEntryPointVersion>;
25
+ };
26
+ // [!endregion SendUserOperationResult]
27
+
28
+ // [!region UpgradeToData]
29
+ export type UpgradeToData = {
30
+ implAddress: Address;
31
+ initializationData: Hex;
32
+ };
33
+ // [!endregion UpgradeToData]
34
+
35
+ // [!region ClientMiddlewareConfig]
36
+ export type ClientMiddlewareConfig<
37
+ TContext extends UserOperationContext | undefined =
38
+ | UserOperationContext
39
+ | undefined
40
+ > = Omit<
41
+ Partial<ClientMiddleware<TContext>>,
42
+ "dummyPaymasterAndData" | "paymasterAndData"
43
+ > & {
44
+ paymasterAndData?: {
45
+ dummyPaymasterAndData: () =>
46
+ | UserOperationRequest<"0.6.0">["paymasterAndData"]
47
+ | Pick<UserOperationRequest<"0.7.0">, "paymaster" | "paymasterData">;
48
+ paymasterAndData: ClientMiddlewareFn<TContext>;
49
+ };
50
+ };
51
+ // [!endregion ClientMiddlewareConfig]
@@ -0,0 +1,37 @@
1
+ import type { Chain } from "viem/chains";
2
+ import * as chains from "viem/chains";
3
+ import { mainnet } from "../chains/index.js";
4
+
5
+ export const ChainsById: Map<number, chains.Chain> = new Map(
6
+ Object.values(chains).map((x) => [x.id, x])
7
+ );
8
+
9
+ export const convertChainIdToCoinType = (chainId: number): number => {
10
+ if (chainId === mainnet.id) {
11
+ // this comes from [ensip-9](https://docs.ens.domains/ens-improvement-proposals/ensip-9-multichain-address-resolution)
12
+ return 60;
13
+ }
14
+
15
+ // this is using [ENSIP-11](https://docs.ens.domains/ens-improvement-proposals/ensip-11-evmchain-address-resolution) and assumes this is how mappings are stored for non mainnet chains
16
+ return (0x80000000 | chainId) >>> 0;
17
+ };
18
+
19
+ export const convertCoinTypeToChainId = (coinType: number): number => {
20
+ if (coinType === 60) {
21
+ // this comes from [ensip-9](https://docs.ens.domains/ens-improvement-proposals/ensip-9-multichain-address-resolution)
22
+ return mainnet.id;
23
+ }
24
+
25
+ // this is using [ENSIP-11](https://docs.ens.domains/ens-improvement-proposals/ensip-11-evmchain-address-resolution) and assumes this is how mappings are stored for non mainnet chains
26
+ return (0x7fffffff & coinType) >> 0;
27
+ };
28
+
29
+ export const convertCoinTypeToChain = (coinType: number): Chain => {
30
+ const chainId = convertCoinTypeToChainId(coinType);
31
+ const chain = ChainsById.get(chainId);
32
+ if (!chain) {
33
+ throw new Error("CoinType does not map to a supported chain");
34
+ }
35
+
36
+ return chain;
37
+ };