@account-kit/smart-contracts 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 (724) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/package.json +1 -0
  3. package/dist/cjs/plugindefs/index.d.ts +3 -0
  4. package/dist/cjs/plugindefs/index.js +10 -0
  5. package/dist/cjs/plugindefs/index.js.map +1 -0
  6. package/dist/cjs/plugindefs/multi-owner/abi.d.ts +698 -0
  7. package/dist/cjs/plugindefs/multi-owner/abi.js +612 -0
  8. package/dist/cjs/plugindefs/multi-owner/abi.js.map +1 -0
  9. package/dist/cjs/plugindefs/multi-owner/config.d.ts +2 -0
  10. package/dist/cjs/plugindefs/multi-owner/config.js +32 -0
  11. package/dist/cjs/plugindefs/multi-owner/config.js.map +1 -0
  12. package/dist/cjs/plugindefs/multisig/abi.d.ts +791 -0
  13. package/dist/cjs/plugindefs/multisig/abi.js +1031 -0
  14. package/dist/cjs/plugindefs/multisig/abi.js.map +1 -0
  15. package/dist/cjs/plugindefs/multisig/config.d.ts +2 -0
  16. package/dist/cjs/plugindefs/multisig/config.js +30 -0
  17. package/dist/cjs/plugindefs/multisig/config.js.map +1 -0
  18. package/dist/cjs/plugindefs/session-key/abi.d.ts +1061 -0
  19. package/dist/cjs/plugindefs/session-key/abi.js +916 -0
  20. package/dist/cjs/plugindefs/session-key/abi.js.map +1 -0
  21. package/dist/cjs/plugindefs/session-key/config.d.ts +2 -0
  22. package/dist/cjs/plugindefs/session-key/config.js +43 -0
  23. package/dist/cjs/plugindefs/session-key/config.js.map +1 -0
  24. package/dist/cjs/plugindefs/types.d.ts +15 -0
  25. package/dist/cjs/plugindefs/types.js +3 -0
  26. package/dist/cjs/plugindefs/types.js.map +1 -0
  27. package/dist/cjs/src/index.d.ts +53 -0
  28. package/dist/cjs/src/index.js +105 -0
  29. package/dist/cjs/src/index.js.map +1 -0
  30. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.d.ts +532 -0
  31. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js +382 -0
  32. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js.map +1 -0
  33. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.d.ts +491 -0
  34. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js +358 -0
  35. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js.map +1 -0
  36. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +55 -0
  37. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js +78 -0
  38. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js.map +1 -0
  39. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +256 -0
  40. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js +213 -0
  41. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js.map +1 -0
  42. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +507 -0
  43. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js +375 -0
  44. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js.map +1 -0
  45. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +286 -0
  46. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +232 -0
  47. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +1 -0
  48. package/dist/cjs/src/light-account/accounts/account.d.ts +18 -0
  49. package/dist/cjs/src/light-account/accounts/account.js +78 -0
  50. package/dist/cjs/src/light-account/accounts/account.js.map +1 -0
  51. package/dist/cjs/src/light-account/accounts/base.d.ts +14 -0
  52. package/dist/cjs/src/light-account/accounts/base.js +143 -0
  53. package/dist/cjs/src/light-account/accounts/base.js.map +1 -0
  54. package/dist/cjs/src/light-account/accounts/multiOwner.d.ts +18 -0
  55. package/dist/cjs/src/light-account/accounts/multiOwner.js +81 -0
  56. package/dist/cjs/src/light-account/accounts/multiOwner.js.map +1 -0
  57. package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +8 -0
  58. package/dist/cjs/src/light-account/actions/transferOwnership.js +27 -0
  59. package/dist/cjs/src/light-account/actions/transferOwnership.js.map +1 -0
  60. package/dist/cjs/src/light-account/actions/updateOwners.d.ts +9 -0
  61. package/dist/cjs/src/light-account/actions/updateOwners.js +27 -0
  62. package/dist/cjs/src/light-account/actions/updateOwners.js.map +1 -0
  63. package/dist/cjs/src/light-account/clients/alchemyClient.d.ts +6 -0
  64. package/dist/cjs/src/light-account/clients/alchemyClient.js +25 -0
  65. package/dist/cjs/src/light-account/clients/alchemyClient.js.map +1 -0
  66. package/dist/cjs/src/light-account/clients/client.d.ts +10 -0
  67. package/dist/cjs/src/light-account/clients/client.js +21 -0
  68. package/dist/cjs/src/light-account/clients/client.js.map +1 -0
  69. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.d.ts +6 -0
  70. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js +25 -0
  71. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -0
  72. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -0
  73. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +21 -0
  74. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +1 -0
  75. package/dist/cjs/src/light-account/decorators/lightAccount.d.ts +8 -0
  76. package/dist/cjs/src/light-account/decorators/lightAccount.js +9 -0
  77. package/dist/cjs/src/light-account/decorators/lightAccount.js.map +1 -0
  78. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.d.ts +8 -0
  79. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js +9 -0
  80. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -0
  81. package/dist/cjs/src/light-account/e2e-tests/constants.d.ts +6 -0
  82. package/dist/cjs/src/light-account/e2e-tests/constants.js +10 -0
  83. package/dist/cjs/src/light-account/e2e-tests/constants.js.map +1 -0
  84. package/dist/cjs/src/light-account/schema.d.ts +21 -0
  85. package/dist/cjs/src/light-account/schema.js +30 -0
  86. package/dist/cjs/src/light-account/schema.js.map +1 -0
  87. package/dist/cjs/src/light-account/types.d.ts +39 -0
  88. package/dist/cjs/src/light-account/types.js +3 -0
  89. package/dist/cjs/src/light-account/types.js.map +1 -0
  90. package/dist/cjs/src/light-account/utils.d.ts +12 -0
  91. package/dist/cjs/src/light-account/utils.js +127 -0
  92. package/dist/cjs/src/light-account/utils.js.map +1 -0
  93. package/dist/cjs/src/msca/abis/IAccountLoupe.d.ts +79 -0
  94. package/dist/cjs/src/msca/abis/IAccountLoupe.js +82 -0
  95. package/dist/cjs/src/msca/abis/IAccountLoupe.js.map +1 -0
  96. package/dist/cjs/src/msca/abis/IPlugin.d.ts +474 -0
  97. package/dist/cjs/src/msca/abis/IPlugin.js +400 -0
  98. package/dist/cjs/src/msca/abis/IPlugin.js.map +1 -0
  99. package/dist/cjs/src/msca/abis/IPluginManager.d.ts +101 -0
  100. package/dist/cjs/src/msca/abis/IPluginManager.js +109 -0
  101. package/dist/cjs/src/msca/abis/IPluginManager.js.map +1 -0
  102. package/dist/cjs/src/msca/abis/IStandardExecutor.d.ts +50 -0
  103. package/dist/cjs/src/msca/abis/IStandardExecutor.js +35 -0
  104. package/dist/cjs/src/msca/abis/IStandardExecutor.js.map +1 -0
  105. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +234 -0
  106. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js +194 -0
  107. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js.map +1 -0
  108. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.d.ts +246 -0
  109. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js +320 -0
  110. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js.map +1 -0
  111. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.d.ts +880 -0
  112. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js +649 -0
  113. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js.map +1 -0
  114. package/dist/cjs/src/msca/account/multiOwnerAccount.d.ts +12 -0
  115. package/dist/cjs/src/msca/account/multiOwnerAccount.js +59 -0
  116. package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +1 -0
  117. package/dist/cjs/src/msca/account/multisigAccount.d.ts +17 -0
  118. package/dist/cjs/src/msca/account/multisigAccount.js +70 -0
  119. package/dist/cjs/src/msca/account/multisigAccount.js.map +1 -0
  120. package/dist/cjs/src/msca/account/standardExecutor.d.ts +2 -0
  121. package/dist/cjs/src/msca/account/standardExecutor.js +28 -0
  122. package/dist/cjs/src/msca/account/standardExecutor.js.map +1 -0
  123. package/dist/cjs/src/msca/account-loupe/decorator.d.ts +16 -0
  124. package/dist/cjs/src/msca/account-loupe/decorator.js +66 -0
  125. package/dist/cjs/src/msca/account-loupe/decorator.js.map +1 -0
  126. package/dist/cjs/src/msca/account-loupe/types.d.ts +16 -0
  127. package/dist/cjs/src/msca/account-loupe/types.js +3 -0
  128. package/dist/cjs/src/msca/account-loupe/types.js.map +1 -0
  129. package/dist/cjs/src/msca/client/alchemyClient.d.ts +6 -0
  130. package/dist/cjs/src/msca/client/alchemyClient.js +28 -0
  131. package/dist/cjs/src/msca/client/alchemyClient.js.map +1 -0
  132. package/dist/cjs/src/msca/client/client.d.ts +17 -0
  133. package/dist/cjs/src/msca/client/client.js +49 -0
  134. package/dist/cjs/src/msca/client/client.js.map +1 -0
  135. package/dist/cjs/src/msca/client/multiSigAlchemyClient.d.ts +6 -0
  136. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js +31 -0
  137. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +1 -0
  138. package/dist/cjs/src/msca/e2e-tests/constants.d.ts +3 -0
  139. package/dist/cjs/src/msca/e2e-tests/constants.js +7 -0
  140. package/dist/cjs/src/msca/e2e-tests/constants.js.map +1 -0
  141. package/dist/cjs/src/msca/errors.d.ts +17 -0
  142. package/dist/cjs/src/msca/errors.js +53 -0
  143. package/dist/cjs/src/msca/errors.js.map +1 -0
  144. package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +11 -0
  145. package/dist/cjs/src/msca/plugin-manager/decorator.js +11 -0
  146. package/dist/cjs/src/msca/plugin-manager/decorator.js.map +1 -0
  147. package/dist/cjs/src/msca/plugin-manager/installPlugin.d.ts +11 -0
  148. package/dist/cjs/src/msca/plugin-manager/installPlugin.js +48 -0
  149. package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +1 -0
  150. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.d.ts +9 -0
  151. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js +35 -0
  152. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js.map +1 -0
  153. package/dist/cjs/src/msca/plugins/multi-owner/extension.d.ts +13 -0
  154. package/dist/cjs/src/msca/plugins/multi-owner/extension.js +26 -0
  155. package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +1 -0
  156. package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +3 -0
  157. package/dist/cjs/src/msca/plugins/multi-owner/index.js +9 -0
  158. package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +1 -0
  159. package/dist/cjs/src/msca/plugins/multi-owner/plugin.d.ts +793 -0
  160. package/dist/cjs/src/msca/plugins/multi-owner/plugin.js +695 -0
  161. package/dist/cjs/src/msca/plugins/multi-owner/plugin.js.map +1 -0
  162. package/dist/cjs/src/msca/plugins/multi-owner/signer.d.ts +215 -0
  163. package/dist/cjs/src/msca/plugins/multi-owner/signer.js +47 -0
  164. package/dist/cjs/src/msca/plugins/multi-owner/signer.js.map +1 -0
  165. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.d.ts +4 -0
  166. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js +20 -0
  167. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js.map +1 -0
  168. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +6 -0
  169. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js +15 -0
  170. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js.map +1 -0
  171. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +4 -0
  172. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +47 -0
  173. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -0
  174. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.d.ts +4 -0
  175. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js +15 -0
  176. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js.map +1 -0
  177. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +4 -0
  178. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +54 -0
  179. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -0
  180. package/dist/cjs/src/msca/plugins/multisig/extension.d.ts +17 -0
  181. package/dist/cjs/src/msca/plugins/multisig/extension.js +19 -0
  182. package/dist/cjs/src/msca/plugins/multisig/extension.js.map +1 -0
  183. package/dist/cjs/src/msca/plugins/multisig/index.d.ts +12 -0
  184. package/dist/cjs/src/msca/plugins/multisig/index.js +27 -0
  185. package/dist/cjs/src/msca/plugins/multisig/index.js.map +1 -0
  186. package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +3 -0
  187. package/dist/cjs/src/msca/plugins/multisig/middleware.js +97 -0
  188. package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +1 -0
  189. package/dist/cjs/src/msca/plugins/multisig/plugin.d.ts +892 -0
  190. package/dist/cjs/src/msca/plugins/multisig/plugin.js +740 -0
  191. package/dist/cjs/src/msca/plugins/multisig/plugin.js.map +1 -0
  192. package/dist/cjs/src/msca/plugins/multisig/signer.d.ts +223 -0
  193. package/dist/cjs/src/msca/plugins/multisig/signer.js +57 -0
  194. package/dist/cjs/src/msca/plugins/multisig/signer.js.map +1 -0
  195. package/dist/cjs/src/msca/plugins/multisig/types.d.ts +34 -0
  196. package/dist/cjs/src/msca/plugins/multisig/types.js +3 -0
  197. package/dist/cjs/src/msca/plugins/multisig/types.js.map +1 -0
  198. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +9 -0
  199. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +15 -0
  200. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -0
  201. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.d.ts +2 -0
  202. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js +42 -0
  203. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -0
  204. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +10 -0
  205. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js +13 -0
  206. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -0
  207. package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  208. package/dist/cjs/src/msca/plugins/multisig/utils/index.js +12 -0
  209. package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +1 -0
  210. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +15 -0
  211. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js +74 -0
  212. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -0
  213. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +117 -0
  214. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js +115 -0
  215. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js.map +1 -0
  216. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +1 -0
  217. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js +5 -0
  218. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js.map +1 -0
  219. package/dist/cjs/src/msca/plugins/session-key/extension.d.ts +30 -0
  220. package/dist/cjs/src/msca/plugins/session-key/extension.js +156 -0
  221. package/dist/cjs/src/msca/plugins/session-key/extension.js.map +1 -0
  222. package/dist/cjs/src/msca/plugins/session-key/index.d.ts +3 -0
  223. package/dist/cjs/src/msca/plugins/session-key/index.js +8 -0
  224. package/dist/cjs/src/msca/plugins/session-key/index.js.map +1 -0
  225. package/dist/cjs/src/msca/plugins/session-key/permissions.d.ts +53 -0
  226. package/dist/cjs/src/msca/plugins/session-key/permissions.js +153 -0
  227. package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +1 -0
  228. package/dist/cjs/src/msca/plugins/session-key/plugin.d.ts +1200 -0
  229. package/dist/cjs/src/msca/plugins/session-key/plugin.js +1044 -0
  230. package/dist/cjs/src/msca/plugins/session-key/plugin.js.map +1 -0
  231. package/dist/cjs/src/msca/plugins/session-key/signer.d.ts +233 -0
  232. package/dist/cjs/src/msca/plugins/session-key/signer.js +101 -0
  233. package/dist/cjs/src/msca/plugins/session-key/signer.js.map +1 -0
  234. package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +9 -0
  235. package/dist/cjs/src/msca/plugins/session-key/utils.js +21 -0
  236. package/dist/cjs/src/msca/plugins/session-key/utils.js.map +1 -0
  237. package/dist/cjs/src/msca/plugins/types.d.ts +12 -0
  238. package/dist/cjs/src/msca/plugins/types.js +3 -0
  239. package/dist/cjs/src/msca/plugins/types.js.map +1 -0
  240. package/dist/cjs/src/msca/utils.d.ts +15 -0
  241. package/dist/cjs/src/msca/utils.js +98 -0
  242. package/dist/cjs/src/msca/utils.js.map +1 -0
  243. package/dist/esm/package.json +1 -0
  244. package/dist/esm/plugindefs/index.d.ts +3 -0
  245. package/dist/esm/plugindefs/index.js +4 -0
  246. package/dist/esm/plugindefs/index.js.map +1 -0
  247. package/dist/esm/plugindefs/multi-owner/abi.d.ts +698 -0
  248. package/dist/esm/plugindefs/multi-owner/abi.js +609 -0
  249. package/dist/esm/plugindefs/multi-owner/abi.js.map +1 -0
  250. package/dist/esm/plugindefs/multi-owner/config.d.ts +2 -0
  251. package/dist/esm/plugindefs/multi-owner/config.js +29 -0
  252. package/dist/esm/plugindefs/multi-owner/config.js.map +1 -0
  253. package/dist/esm/plugindefs/multisig/abi.d.ts +791 -0
  254. package/dist/esm/plugindefs/multisig/abi.js +1028 -0
  255. package/dist/esm/plugindefs/multisig/abi.js.map +1 -0
  256. package/dist/esm/plugindefs/multisig/config.d.ts +2 -0
  257. package/dist/esm/plugindefs/multisig/config.js +27 -0
  258. package/dist/esm/plugindefs/multisig/config.js.map +1 -0
  259. package/dist/esm/plugindefs/session-key/abi.d.ts +1061 -0
  260. package/dist/esm/plugindefs/session-key/abi.js +913 -0
  261. package/dist/esm/plugindefs/session-key/abi.js.map +1 -0
  262. package/dist/esm/plugindefs/session-key/config.d.ts +2 -0
  263. package/dist/esm/plugindefs/session-key/config.js +40 -0
  264. package/dist/esm/plugindefs/session-key/config.js.map +1 -0
  265. package/dist/esm/plugindefs/types.d.ts +15 -0
  266. package/dist/esm/plugindefs/types.js +2 -0
  267. package/dist/esm/plugindefs/types.js.map +1 -0
  268. package/dist/esm/src/index.d.ts +53 -0
  269. package/dist/esm/src/index.js +39 -0
  270. package/dist/esm/src/index.js.map +1 -0
  271. package/dist/esm/src/light-account/abis/LightAccountAbi_v1.d.ts +532 -0
  272. package/dist/esm/src/light-account/abis/LightAccountAbi_v1.js +379 -0
  273. package/dist/esm/src/light-account/abis/LightAccountAbi_v1.js.map +1 -0
  274. package/dist/esm/src/light-account/abis/LightAccountAbi_v2.d.ts +491 -0
  275. package/dist/esm/src/light-account/abis/LightAccountAbi_v2.js +355 -0
  276. package/dist/esm/src/light-account/abis/LightAccountAbi_v2.js.map +1 -0
  277. package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +55 -0
  278. package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v1.js +75 -0
  279. package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v1.js.map +1 -0
  280. package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +256 -0
  281. package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v2.js +210 -0
  282. package/dist/esm/src/light-account/abis/LightAccountFactoryAbi_v2.js.map +1 -0
  283. package/dist/esm/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +507 -0
  284. package/dist/esm/src/light-account/abis/MultiOwnerLightAccountAbi.js +372 -0
  285. package/dist/esm/src/light-account/abis/MultiOwnerLightAccountAbi.js.map +1 -0
  286. package/dist/esm/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +286 -0
  287. package/dist/esm/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +229 -0
  288. package/dist/esm/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +1 -0
  289. package/dist/esm/src/light-account/accounts/account.d.ts +18 -0
  290. package/dist/esm/src/light-account/accounts/account.js +74 -0
  291. package/dist/esm/src/light-account/accounts/account.js.map +1 -0
  292. package/dist/esm/src/light-account/accounts/base.d.ts +14 -0
  293. package/dist/esm/src/light-account/accounts/base.js +139 -0
  294. package/dist/esm/src/light-account/accounts/base.js.map +1 -0
  295. package/dist/esm/src/light-account/accounts/multiOwner.d.ts +18 -0
  296. package/dist/esm/src/light-account/accounts/multiOwner.js +77 -0
  297. package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -0
  298. package/dist/esm/src/light-account/actions/transferOwnership.d.ts +8 -0
  299. package/dist/esm/src/light-account/actions/transferOwnership.js +23 -0
  300. package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -0
  301. package/dist/esm/src/light-account/actions/updateOwners.d.ts +9 -0
  302. package/dist/esm/src/light-account/actions/updateOwners.js +23 -0
  303. package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -0
  304. package/dist/esm/src/light-account/clients/alchemyClient.d.ts +6 -0
  305. package/dist/esm/src/light-account/clients/alchemyClient.js +21 -0
  306. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -0
  307. package/dist/esm/src/light-account/clients/client.d.ts +10 -0
  308. package/dist/esm/src/light-account/clients/client.js +18 -0
  309. package/dist/esm/src/light-account/clients/client.js.map +1 -0
  310. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.d.ts +6 -0
  311. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js +21 -0
  312. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -0
  313. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.d.ts +10 -0
  314. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +18 -0
  315. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -0
  316. package/dist/esm/src/light-account/decorators/lightAccount.d.ts +8 -0
  317. package/dist/esm/src/light-account/decorators/lightAccount.js +5 -0
  318. package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -0
  319. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.d.ts +8 -0
  320. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js +5 -0
  321. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -0
  322. package/dist/esm/src/light-account/e2e-tests/constants.d.ts +6 -0
  323. package/dist/esm/src/light-account/e2e-tests/constants.js +7 -0
  324. package/dist/esm/src/light-account/e2e-tests/constants.js.map +1 -0
  325. package/dist/esm/src/light-account/schema.d.ts +21 -0
  326. package/dist/esm/src/light-account/schema.js +27 -0
  327. package/dist/esm/src/light-account/schema.js.map +1 -0
  328. package/dist/esm/src/light-account/types.d.ts +39 -0
  329. package/dist/esm/src/light-account/types.js +3 -0
  330. package/dist/esm/src/light-account/types.js.map +1 -0
  331. package/dist/esm/src/light-account/utils.d.ts +12 -0
  332. package/dist/esm/src/light-account/utils.js +120 -0
  333. package/dist/esm/src/light-account/utils.js.map +1 -0
  334. package/dist/esm/src/msca/abis/IAccountLoupe.d.ts +79 -0
  335. package/dist/esm/src/msca/abis/IAccountLoupe.js +79 -0
  336. package/dist/esm/src/msca/abis/IAccountLoupe.js.map +1 -0
  337. package/dist/esm/src/msca/abis/IPlugin.d.ts +474 -0
  338. package/dist/esm/src/msca/abis/IPlugin.js +397 -0
  339. package/dist/esm/src/msca/abis/IPlugin.js.map +1 -0
  340. package/dist/esm/src/msca/abis/IPluginManager.d.ts +101 -0
  341. package/dist/esm/src/msca/abis/IPluginManager.js +106 -0
  342. package/dist/esm/src/msca/abis/IPluginManager.js.map +1 -0
  343. package/dist/esm/src/msca/abis/IStandardExecutor.d.ts +50 -0
  344. package/dist/esm/src/msca/abis/IStandardExecutor.js +32 -0
  345. package/dist/esm/src/msca/abis/IStandardExecutor.js.map +1 -0
  346. package/dist/esm/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +234 -0
  347. package/dist/esm/src/msca/abis/MultiOwnerModularAccountFactory.js +191 -0
  348. package/dist/esm/src/msca/abis/MultiOwnerModularAccountFactory.js.map +1 -0
  349. package/dist/esm/src/msca/abis/MultisigModularAccountFactory.d.ts +246 -0
  350. package/dist/esm/src/msca/abis/MultisigModularAccountFactory.js +317 -0
  351. package/dist/esm/src/msca/abis/MultisigModularAccountFactory.js.map +1 -0
  352. package/dist/esm/src/msca/abis/UpgradeableModularAccount.d.ts +880 -0
  353. package/dist/esm/src/msca/abis/UpgradeableModularAccount.js +646 -0
  354. package/dist/esm/src/msca/abis/UpgradeableModularAccount.js.map +1 -0
  355. package/dist/esm/src/msca/account/multiOwnerAccount.d.ts +12 -0
  356. package/dist/esm/src/msca/account/multiOwnerAccount.js +55 -0
  357. package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -0
  358. package/dist/esm/src/msca/account/multisigAccount.d.ts +17 -0
  359. package/dist/esm/src/msca/account/multisigAccount.js +65 -0
  360. package/dist/esm/src/msca/account/multisigAccount.js.map +1 -0
  361. package/dist/esm/src/msca/account/standardExecutor.d.ts +2 -0
  362. package/dist/esm/src/msca/account/standardExecutor.js +25 -0
  363. package/dist/esm/src/msca/account/standardExecutor.js.map +1 -0
  364. package/dist/esm/src/msca/account-loupe/decorator.d.ts +16 -0
  365. package/dist/esm/src/msca/account-loupe/decorator.js +62 -0
  366. package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -0
  367. package/dist/esm/src/msca/account-loupe/types.d.ts +16 -0
  368. package/dist/esm/src/msca/account-loupe/types.js +2 -0
  369. package/dist/esm/src/msca/account-loupe/types.js.map +1 -0
  370. package/dist/esm/src/msca/client/alchemyClient.d.ts +6 -0
  371. package/dist/esm/src/msca/client/alchemyClient.js +24 -0
  372. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -0
  373. package/dist/esm/src/msca/client/client.d.ts +17 -0
  374. package/dist/esm/src/msca/client/client.js +45 -0
  375. package/dist/esm/src/msca/client/client.js.map +1 -0
  376. package/dist/esm/src/msca/client/multiSigAlchemyClient.d.ts +6 -0
  377. package/dist/esm/src/msca/client/multiSigAlchemyClient.js +27 -0
  378. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -0
  379. package/dist/esm/src/msca/e2e-tests/constants.d.ts +3 -0
  380. package/dist/esm/src/msca/e2e-tests/constants.js +4 -0
  381. package/dist/esm/src/msca/e2e-tests/constants.js.map +1 -0
  382. package/dist/esm/src/msca/errors.d.ts +17 -0
  383. package/dist/esm/src/msca/errors.js +46 -0
  384. package/dist/esm/src/msca/errors.js.map +1 -0
  385. package/dist/esm/src/msca/plugin-manager/decorator.d.ts +11 -0
  386. package/dist/esm/src/msca/plugin-manager/decorator.js +9 -0
  387. package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -0
  388. package/dist/esm/src/msca/plugin-manager/installPlugin.d.ts +11 -0
  389. package/dist/esm/src/msca/plugin-manager/installPlugin.js +43 -0
  390. package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -0
  391. package/dist/esm/src/msca/plugin-manager/uninstallPlugin.d.ts +9 -0
  392. package/dist/esm/src/msca/plugin-manager/uninstallPlugin.js +30 -0
  393. package/dist/esm/src/msca/plugin-manager/uninstallPlugin.js.map +1 -0
  394. package/dist/esm/src/msca/plugins/multi-owner/extension.d.ts +13 -0
  395. package/dist/esm/src/msca/plugins/multi-owner/extension.js +23 -0
  396. package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -0
  397. package/dist/esm/src/msca/plugins/multi-owner/index.d.ts +3 -0
  398. package/dist/esm/src/msca/plugins/multi-owner/index.js +3 -0
  399. package/dist/esm/src/msca/plugins/multi-owner/index.js.map +1 -0
  400. package/dist/esm/src/msca/plugins/multi-owner/plugin.d.ts +793 -0
  401. package/dist/esm/src/msca/plugins/multi-owner/plugin.js +691 -0
  402. package/dist/esm/src/msca/plugins/multi-owner/plugin.js.map +1 -0
  403. package/dist/esm/src/msca/plugins/multi-owner/signer.d.ts +215 -0
  404. package/dist/esm/src/msca/plugins/multi-owner/signer.js +43 -0
  405. package/dist/esm/src/msca/plugins/multi-owner/signer.js.map +1 -0
  406. package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.d.ts +4 -0
  407. package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.js +17 -0
  408. package/dist/esm/src/msca/plugins/multisig/actions/getThreshold.js.map +1 -0
  409. package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +6 -0
  410. package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js +12 -0
  411. package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js.map +1 -0
  412. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +4 -0
  413. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js +45 -0
  414. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -0
  415. package/dist/esm/src/msca/plugins/multisig/actions/readOwners.d.ts +4 -0
  416. package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js +12 -0
  417. package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js.map +1 -0
  418. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +4 -0
  419. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +52 -0
  420. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -0
  421. package/dist/esm/src/msca/plugins/multisig/extension.d.ts +17 -0
  422. package/dist/esm/src/msca/plugins/multisig/extension.js +18 -0
  423. package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -0
  424. package/dist/esm/src/msca/plugins/multisig/index.d.ts +12 -0
  425. package/dist/esm/src/msca/plugins/multisig/index.js +11 -0
  426. package/dist/esm/src/msca/plugins/multisig/index.js.map +1 -0
  427. package/dist/esm/src/msca/plugins/multisig/middleware.d.ts +3 -0
  428. package/dist/esm/src/msca/plugins/multisig/middleware.js +94 -0
  429. package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -0
  430. package/dist/esm/src/msca/plugins/multisig/plugin.d.ts +892 -0
  431. package/dist/esm/src/msca/plugins/multisig/plugin.js +736 -0
  432. package/dist/esm/src/msca/plugins/multisig/plugin.js.map +1 -0
  433. package/dist/esm/src/msca/plugins/multisig/signer.d.ts +223 -0
  434. package/dist/esm/src/msca/plugins/multisig/signer.js +53 -0
  435. package/dist/esm/src/msca/plugins/multisig/signer.js.map +1 -0
  436. package/dist/esm/src/msca/plugins/multisig/types.d.ts +34 -0
  437. package/dist/esm/src/msca/plugins/multisig/types.js +2 -0
  438. package/dist/esm/src/msca/plugins/multisig/types.js.map +1 -0
  439. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.d.ts +9 -0
  440. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js +11 -0
  441. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -0
  442. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.d.ts +2 -0
  443. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js +38 -0
  444. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -0
  445. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +10 -0
  446. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js +9 -0
  447. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -0
  448. package/dist/esm/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  449. package/dist/esm/src/msca/plugins/multisig/utils/index.js +5 -0
  450. package/dist/esm/src/msca/plugins/multisig/utils/index.js.map +1 -0
  451. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +15 -0
  452. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js +70 -0
  453. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -0
  454. package/dist/esm/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +117 -0
  455. package/dist/esm/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js +112 -0
  456. package/dist/esm/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js.map +1 -0
  457. package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +1 -0
  458. package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.js +2 -0
  459. package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.js.map +1 -0
  460. package/dist/esm/src/msca/plugins/session-key/extension.d.ts +30 -0
  461. package/dist/esm/src/msca/plugins/session-key/extension.js +129 -0
  462. package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -0
  463. package/dist/esm/src/msca/plugins/session-key/index.d.ts +3 -0
  464. package/dist/esm/src/msca/plugins/session-key/index.js +3 -0
  465. package/dist/esm/src/msca/plugins/session-key/index.js.map +1 -0
  466. package/dist/esm/src/msca/plugins/session-key/permissions.d.ts +53 -0
  467. package/dist/esm/src/msca/plugins/session-key/permissions.js +149 -0
  468. package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -0
  469. package/dist/esm/src/msca/plugins/session-key/plugin.d.ts +1200 -0
  470. package/dist/esm/src/msca/plugins/session-key/plugin.js +1040 -0
  471. package/dist/esm/src/msca/plugins/session-key/plugin.js.map +1 -0
  472. package/dist/esm/src/msca/plugins/session-key/signer.d.ts +233 -0
  473. package/dist/esm/src/msca/plugins/session-key/signer.js +97 -0
  474. package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -0
  475. package/dist/esm/src/msca/plugins/session-key/utils.d.ts +9 -0
  476. package/dist/esm/src/msca/plugins/session-key/utils.js +17 -0
  477. package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -0
  478. package/dist/esm/src/msca/plugins/types.d.ts +12 -0
  479. package/dist/esm/src/msca/plugins/types.js +2 -0
  480. package/dist/esm/src/msca/plugins/types.js.map +1 -0
  481. package/dist/esm/src/msca/utils.d.ts +15 -0
  482. package/dist/esm/src/msca/utils.js +91 -0
  483. package/dist/esm/src/msca/utils.js.map +1 -0
  484. package/dist/types/plugindefs/index.d.ts +4 -0
  485. package/dist/types/plugindefs/index.d.ts.map +1 -0
  486. package/dist/types/plugindefs/multi-owner/abi.d.ts +699 -0
  487. package/dist/types/plugindefs/multi-owner/abi.d.ts.map +1 -0
  488. package/dist/types/plugindefs/multi-owner/config.d.ts +3 -0
  489. package/dist/types/plugindefs/multi-owner/config.d.ts.map +1 -0
  490. package/dist/types/plugindefs/multisig/abi.d.ts +792 -0
  491. package/dist/types/plugindefs/multisig/abi.d.ts.map +1 -0
  492. package/dist/types/plugindefs/multisig/config.d.ts +3 -0
  493. package/dist/types/plugindefs/multisig/config.d.ts.map +1 -0
  494. package/dist/types/plugindefs/session-key/abi.d.ts +1062 -0
  495. package/dist/types/plugindefs/session-key/abi.d.ts.map +1 -0
  496. package/dist/types/plugindefs/session-key/config.d.ts +3 -0
  497. package/dist/types/plugindefs/session-key/config.d.ts.map +1 -0
  498. package/dist/types/plugindefs/types.d.ts +16 -0
  499. package/dist/types/plugindefs/types.d.ts.map +1 -0
  500. package/dist/types/src/index.d.ts +54 -0
  501. package/dist/types/src/index.d.ts.map +1 -0
  502. package/dist/types/src/light-account/abis/LightAccountAbi_v1.d.ts +533 -0
  503. package/dist/types/src/light-account/abis/LightAccountAbi_v1.d.ts.map +1 -0
  504. package/dist/types/src/light-account/abis/LightAccountAbi_v2.d.ts +492 -0
  505. package/dist/types/src/light-account/abis/LightAccountAbi_v2.d.ts.map +1 -0
  506. package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +56 -0
  507. package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts.map +1 -0
  508. package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +257 -0
  509. package/dist/types/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts.map +1 -0
  510. package/dist/types/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +508 -0
  511. package/dist/types/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts.map +1 -0
  512. package/dist/types/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +287 -0
  513. package/dist/types/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts.map +1 -0
  514. package/dist/types/src/light-account/accounts/account.d.ts +19 -0
  515. package/dist/types/src/light-account/accounts/account.d.ts.map +1 -0
  516. package/dist/types/src/light-account/accounts/base.d.ts +15 -0
  517. package/dist/types/src/light-account/accounts/base.d.ts.map +1 -0
  518. package/dist/types/src/light-account/accounts/multiOwner.d.ts +19 -0
  519. package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -0
  520. package/dist/types/src/light-account/actions/transferOwnership.d.ts +9 -0
  521. package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -0
  522. package/dist/types/src/light-account/actions/updateOwners.d.ts +10 -0
  523. package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -0
  524. package/dist/types/src/light-account/clients/alchemyClient.d.ts +7 -0
  525. package/dist/types/src/light-account/clients/alchemyClient.d.ts.map +1 -0
  526. package/dist/types/src/light-account/clients/client.d.ts +11 -0
  527. package/dist/types/src/light-account/clients/client.d.ts.map +1 -0
  528. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts +7 -0
  529. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts.map +1 -0
  530. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts +11 -0
  531. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts.map +1 -0
  532. package/dist/types/src/light-account/decorators/lightAccount.d.ts +9 -0
  533. package/dist/types/src/light-account/decorators/lightAccount.d.ts.map +1 -0
  534. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts +9 -0
  535. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts.map +1 -0
  536. package/dist/types/src/light-account/e2e-tests/constants.d.ts +7 -0
  537. package/dist/types/src/light-account/e2e-tests/constants.d.ts.map +1 -0
  538. package/dist/types/src/light-account/schema.d.ts +22 -0
  539. package/dist/types/src/light-account/schema.d.ts.map +1 -0
  540. package/dist/types/src/light-account/types.d.ts +131 -0
  541. package/dist/types/src/light-account/types.d.ts.map +1 -0
  542. package/dist/types/src/light-account/utils.d.ts +79 -0
  543. package/dist/types/src/light-account/utils.d.ts.map +1 -0
  544. package/dist/types/src/msca/abis/IAccountLoupe.d.ts +80 -0
  545. package/dist/types/src/msca/abis/IAccountLoupe.d.ts.map +1 -0
  546. package/dist/types/src/msca/abis/IPlugin.d.ts +475 -0
  547. package/dist/types/src/msca/abis/IPlugin.d.ts.map +1 -0
  548. package/dist/types/src/msca/abis/IPluginManager.d.ts +102 -0
  549. package/dist/types/src/msca/abis/IPluginManager.d.ts.map +1 -0
  550. package/dist/types/src/msca/abis/IStandardExecutor.d.ts +51 -0
  551. package/dist/types/src/msca/abis/IStandardExecutor.d.ts.map +1 -0
  552. package/dist/types/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +235 -0
  553. package/dist/types/src/msca/abis/MultiOwnerModularAccountFactory.d.ts.map +1 -0
  554. package/dist/types/src/msca/abis/MultisigModularAccountFactory.d.ts +247 -0
  555. package/dist/types/src/msca/abis/MultisigModularAccountFactory.d.ts.map +1 -0
  556. package/dist/types/src/msca/abis/UpgradeableModularAccount.d.ts +881 -0
  557. package/dist/types/src/msca/abis/UpgradeableModularAccount.d.ts.map +1 -0
  558. package/dist/types/src/msca/account/multiOwnerAccount.d.ts +13 -0
  559. package/dist/types/src/msca/account/multiOwnerAccount.d.ts.map +1 -0
  560. package/dist/types/src/msca/account/multisigAccount.d.ts +18 -0
  561. package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -0
  562. package/dist/types/src/msca/account/standardExecutor.d.ts +3 -0
  563. package/dist/types/src/msca/account/standardExecutor.d.ts.map +1 -0
  564. package/dist/types/src/msca/account-loupe/decorator.d.ts +17 -0
  565. package/dist/types/src/msca/account-loupe/decorator.d.ts.map +1 -0
  566. package/dist/types/src/msca/account-loupe/types.d.ts +17 -0
  567. package/dist/types/src/msca/account-loupe/types.d.ts.map +1 -0
  568. package/dist/types/src/msca/client/alchemyClient.d.ts +7 -0
  569. package/dist/types/src/msca/client/alchemyClient.d.ts.map +1 -0
  570. package/dist/types/src/msca/client/client.d.ts +18 -0
  571. package/dist/types/src/msca/client/client.d.ts.map +1 -0
  572. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts +7 -0
  573. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts.map +1 -0
  574. package/dist/types/src/msca/e2e-tests/constants.d.ts +4 -0
  575. package/dist/types/src/msca/e2e-tests/constants.d.ts.map +1 -0
  576. package/dist/types/src/msca/errors.d.ts +18 -0
  577. package/dist/types/src/msca/errors.d.ts.map +1 -0
  578. package/dist/types/src/msca/plugin-manager/decorator.d.ts +12 -0
  579. package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -0
  580. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts +12 -0
  581. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -0
  582. package/dist/types/src/msca/plugin-manager/uninstallPlugin.d.ts +10 -0
  583. package/dist/types/src/msca/plugin-manager/uninstallPlugin.d.ts.map +1 -0
  584. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts +14 -0
  585. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts.map +1 -0
  586. package/dist/types/src/msca/plugins/multi-owner/index.d.ts +4 -0
  587. package/dist/types/src/msca/plugins/multi-owner/index.d.ts.map +1 -0
  588. package/dist/types/src/msca/plugins/multi-owner/plugin.d.ts +794 -0
  589. package/dist/types/src/msca/plugins/multi-owner/plugin.d.ts.map +1 -0
  590. package/dist/types/src/msca/plugins/multi-owner/signer.d.ts +216 -0
  591. package/dist/types/src/msca/plugins/multi-owner/signer.d.ts.map +1 -0
  592. package/dist/types/src/msca/plugins/multisig/actions/getThreshold.d.ts +5 -0
  593. package/dist/types/src/msca/plugins/multisig/actions/getThreshold.d.ts.map +1 -0
  594. package/dist/types/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +7 -0
  595. package/dist/types/src/msca/plugins/multisig/actions/isOwnerOf.d.ts.map +1 -0
  596. package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +5 -0
  597. package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -0
  598. package/dist/types/src/msca/plugins/multisig/actions/readOwners.d.ts +5 -0
  599. package/dist/types/src/msca/plugins/multisig/actions/readOwners.d.ts.map +1 -0
  600. package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +5 -0
  601. package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts.map +1 -0
  602. package/dist/types/src/msca/plugins/multisig/extension.d.ts +18 -0
  603. package/dist/types/src/msca/plugins/multisig/extension.d.ts.map +1 -0
  604. package/dist/types/src/msca/plugins/multisig/index.d.ts +13 -0
  605. package/dist/types/src/msca/plugins/multisig/index.d.ts.map +1 -0
  606. package/dist/types/src/msca/plugins/multisig/middleware.d.ts +16 -0
  607. package/dist/types/src/msca/plugins/multisig/middleware.d.ts.map +1 -0
  608. package/dist/types/src/msca/plugins/multisig/plugin.d.ts +893 -0
  609. package/dist/types/src/msca/plugins/multisig/plugin.d.ts.map +1 -0
  610. package/dist/types/src/msca/plugins/multisig/signer.d.ts +224 -0
  611. package/dist/types/src/msca/plugins/multisig/signer.d.ts.map +1 -0
  612. package/dist/types/src/msca/plugins/multisig/types.d.ts +35 -0
  613. package/dist/types/src/msca/plugins/multisig/types.d.ts.map +1 -0
  614. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts +10 -0
  615. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts.map +1 -0
  616. package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts +13 -0
  617. package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts.map +1 -0
  618. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +11 -0
  619. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -0
  620. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts +5 -0
  621. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts.map +1 -0
  622. package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +26 -0
  623. package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts.map +1 -0
  624. package/dist/types/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +118 -0
  625. package/dist/types/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts.map +1 -0
  626. package/dist/types/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +9 -0
  627. package/dist/types/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts.map +1 -0
  628. package/dist/types/src/msca/plugins/session-key/extension.d.ts +31 -0
  629. package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -0
  630. package/dist/types/src/msca/plugins/session-key/index.d.ts +4 -0
  631. package/dist/types/src/msca/plugins/session-key/index.d.ts.map +1 -0
  632. package/dist/types/src/msca/plugins/session-key/permissions.d.ts +54 -0
  633. package/dist/types/src/msca/plugins/session-key/permissions.d.ts.map +1 -0
  634. package/dist/types/src/msca/plugins/session-key/plugin.d.ts +1201 -0
  635. package/dist/types/src/msca/plugins/session-key/plugin.d.ts.map +1 -0
  636. package/dist/types/src/msca/plugins/session-key/signer.d.ts +244 -0
  637. package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -0
  638. package/dist/types/src/msca/plugins/session-key/utils.d.ts +10 -0
  639. package/dist/types/src/msca/plugins/session-key/utils.d.ts.map +1 -0
  640. package/dist/types/src/msca/plugins/types.d.ts +13 -0
  641. package/dist/types/src/msca/plugins/types.d.ts.map +1 -0
  642. package/dist/types/src/msca/utils.d.ts +30 -0
  643. package/dist/types/src/msca/utils.d.ts.map +1 -0
  644. package/package.json +79 -0
  645. package/plugindefs/index.ts +3 -0
  646. package/plugindefs/multi-owner/abi.ts +608 -0
  647. package/plugindefs/multi-owner/config.ts +46 -0
  648. package/plugindefs/multisig/abi.ts +1027 -0
  649. package/plugindefs/multisig/config.ts +43 -0
  650. package/plugindefs/session-key/abi.ts +912 -0
  651. package/plugindefs/session-key/config.ts +59 -0
  652. package/plugindefs/types.ts +16 -0
  653. package/src/index.ts +117 -0
  654. package/src/light-account/abis/LightAccountAbi_v1.ts +378 -0
  655. package/src/light-account/abis/LightAccountAbi_v2.ts +354 -0
  656. package/src/light-account/abis/LightAccountFactoryAbi_v1.ts +74 -0
  657. package/src/light-account/abis/LightAccountFactoryAbi_v2.ts +209 -0
  658. package/src/light-account/abis/MultiOwnerLightAccountAbi.ts +371 -0
  659. package/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.ts +228 -0
  660. package/src/light-account/accounts/account.ts +198 -0
  661. package/src/light-account/accounts/base.ts +291 -0
  662. package/src/light-account/accounts/multiOwner.ts +204 -0
  663. package/src/light-account/actions/transferOwnership.ts +67 -0
  664. package/src/light-account/actions/updateOwners.ts +74 -0
  665. package/src/light-account/clients/alchemyClient.ts +64 -0
  666. package/src/light-account/clients/client.ts +69 -0
  667. package/src/light-account/clients/multiOwnerAlchemyClient.ts +68 -0
  668. package/src/light-account/clients/multiOwnerLightAccount.ts +75 -0
  669. package/src/light-account/decorators/lightAccount.ts +31 -0
  670. package/src/light-account/decorators/multiOwnerLightAccount.ts +31 -0
  671. package/src/light-account/e2e-tests/constants.ts +8 -0
  672. package/src/light-account/schema.ts +39 -0
  673. package/src/light-account/types.ts +210 -0
  674. package/src/light-account/utils.ts +339 -0
  675. package/src/msca/abis/IAccountLoupe.ts +78 -0
  676. package/src/msca/abis/IPlugin.ts +396 -0
  677. package/src/msca/abis/IPluginManager.ts +105 -0
  678. package/src/msca/abis/IStandardExecutor.ts +31 -0
  679. package/src/msca/abis/MultiOwnerModularAccountFactory.ts +190 -0
  680. package/src/msca/abis/MultisigModularAccountFactory.ts +316 -0
  681. package/src/msca/abis/UpgradeableModularAccount.ts +645 -0
  682. package/src/msca/account/multiOwnerAccount.ts +131 -0
  683. package/src/msca/account/multisigAccount.ts +146 -0
  684. package/src/msca/account/standardExecutor.ts +29 -0
  685. package/src/msca/account-loupe/decorator.ts +150 -0
  686. package/src/msca/account-loupe/types.ts +22 -0
  687. package/src/msca/client/alchemyClient.ts +80 -0
  688. package/src/msca/client/client.ts +158 -0
  689. package/src/msca/client/multiSigAlchemyClient.ts +109 -0
  690. package/src/msca/e2e-tests/constants.ts +3 -0
  691. package/src/msca/errors.ts +29 -0
  692. package/src/msca/plugin-manager/decorator.ts +41 -0
  693. package/src/msca/plugin-manager/installPlugin.ts +118 -0
  694. package/src/msca/plugin-manager/uninstallPlugin.ts +90 -0
  695. package/src/msca/plugins/multi-owner/extension.ts +80 -0
  696. package/src/msca/plugins/multi-owner/index.ts +6 -0
  697. package/src/msca/plugins/multi-owner/plugin.ts +899 -0
  698. package/src/msca/plugins/multi-owner/signer.ts +76 -0
  699. package/src/msca/plugins/multisig/actions/getThreshold.ts +37 -0
  700. package/src/msca/plugins/multisig/actions/isOwnerOf.ts +30 -0
  701. package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +82 -0
  702. package/src/msca/plugins/multisig/actions/readOwners.ts +31 -0
  703. package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +93 -0
  704. package/src/msca/plugins/multisig/extension.ts +100 -0
  705. package/src/msca/plugins/multisig/index.ts +21 -0
  706. package/src/msca/plugins/multisig/middleware.ts +167 -0
  707. package/src/msca/plugins/multisig/plugin.ts +941 -0
  708. package/src/msca/plugins/multisig/signer.ts +100 -0
  709. package/src/msca/plugins/multisig/types.ts +59 -0
  710. package/src/msca/plugins/multisig/utils/combineSignatures.ts +24 -0
  711. package/src/msca/plugins/multisig/utils/formatSignatures.ts +55 -0
  712. package/src/msca/plugins/multisig/utils/getSignerType.ts +46 -0
  713. package/src/msca/plugins/multisig/utils/index.ts +4 -0
  714. package/src/msca/plugins/multisig/utils/splitAggregatedSignature.ts +134 -0
  715. package/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.ts +111 -0
  716. package/src/msca/plugins/session-key/debug-session-key-bytecode.ts +9 -0
  717. package/src/msca/plugins/session-key/extension.ts +301 -0
  718. package/src/msca/plugins/session-key/index.ts +3 -0
  719. package/src/msca/plugins/session-key/permissions.ts +189 -0
  720. package/src/msca/plugins/session-key/plugin.ts +1320 -0
  721. package/src/msca/plugins/session-key/signer.ts +98 -0
  722. package/src/msca/plugins/session-key/utils.ts +40 -0
  723. package/src/msca/plugins/types.ts +21 -0
  724. package/src/msca/utils.ts +198 -0
@@ -0,0 +1,139 @@
1
+ import { FailedToGetStorageSlotError, createBundlerClient, toSmartContractAccount, } from "@aa-sdk/core";
2
+ import { concat, encodeFunctionData, fromHex, hashMessage, hashTypedData, trim, } from "viem";
3
+ import { AccountVersionRegistry } from "../utils.js";
4
+ var SignatureType;
5
+ (function (SignatureType) {
6
+ SignatureType["EOA"] = "0x00";
7
+ SignatureType["CONTRACT"] = "0x01";
8
+ SignatureType["CONTRACT_WITH_ADDR"] = "0x02";
9
+ })(SignatureType || (SignatureType = {}));
10
+ export async function createLightAccountBase({ transport, chain, signer, abi, version: { version, type }, entryPoint, accountAddress, getAccountInitCode, }) {
11
+ const client = createBundlerClient({
12
+ transport,
13
+ chain,
14
+ });
15
+ const encodeUpgradeToAndCall = async ({ upgradeToAddress, upgradeToInitData, }) => {
16
+ const storage = await client.getStorageAt({
17
+ address: accountAddress,
18
+ slot: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc",
19
+ });
20
+ if (storage == null) {
21
+ throw new FailedToGetStorageSlotError("0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", "Proxy Implementation Address");
22
+ }
23
+ const implementationAddresses = Object.values(AccountVersionRegistry[type]).map((x) => x.address[chain.id].impl);
24
+ if (fromHex(storage, "number") !== 0 &&
25
+ !implementationAddresses.some((x) => x === trim(storage))) {
26
+ throw new Error(`could not determine if smart account implementation is ${type} ${version}`);
27
+ }
28
+ return encodeFunctionData({
29
+ abi,
30
+ functionName: "upgradeToAndCall",
31
+ args: [upgradeToAddress, upgradeToInitData],
32
+ });
33
+ };
34
+ const signWith1271WrapperV1 = async (hashedMessage) => {
35
+ return signer.signTypedData({
36
+ domain: {
37
+ chainId: Number(client.chain.id),
38
+ name: type,
39
+ verifyingContract: accountAddress,
40
+ version: "1",
41
+ },
42
+ types: {
43
+ LightAccountMessage: [{ name: "message", type: "bytes" }],
44
+ },
45
+ message: {
46
+ message: hashedMessage,
47
+ },
48
+ primaryType: "LightAccountMessage",
49
+ });
50
+ };
51
+ const account = await toSmartContractAccount({
52
+ transport,
53
+ chain,
54
+ entryPoint,
55
+ accountAddress,
56
+ source: type,
57
+ getAccountInitCode,
58
+ encodeExecute: async ({ target, data, value }) => {
59
+ return encodeFunctionData({
60
+ abi,
61
+ functionName: "execute",
62
+ args: [target, value ?? 0n, data],
63
+ });
64
+ },
65
+ encodeBatchExecute: async (txs) => {
66
+ const [targets, values, datas] = txs.reduce((accum, curr) => {
67
+ accum[0].push(curr.target);
68
+ accum[1].push(curr.value ?? 0n);
69
+ accum[2].push(curr.data);
70
+ return accum;
71
+ }, [[], [], []]);
72
+ return encodeFunctionData({
73
+ abi,
74
+ functionName: "executeBatch",
75
+ args: [targets, values, datas],
76
+ });
77
+ },
78
+ signUserOperationHash: async (uoHash) => {
79
+ const signature = await signer.signMessage({ raw: uoHash });
80
+ switch (version) {
81
+ case "v2.0.0":
82
+ return concat([SignatureType.EOA, signature]);
83
+ default:
84
+ return signature;
85
+ }
86
+ },
87
+ async signMessage({ message }) {
88
+ switch (version) {
89
+ case "v1.0.1":
90
+ return signer.signMessage(message);
91
+ case "v1.0.2":
92
+ throw new Error(`${type} ${version} doesn't support 1271`);
93
+ case "v1.1.0":
94
+ return signWith1271WrapperV1(hashMessage(message));
95
+ case "v2.0.0":
96
+ const signature = await signWith1271WrapperV1(hashMessage(message));
97
+ return concat([SignatureType.EOA, signature]);
98
+ default:
99
+ throw new Error(`Unknown version ${type} of ${version}`);
100
+ }
101
+ },
102
+ async signTypedData(params) {
103
+ switch (version) {
104
+ case "v1.0.1":
105
+ return signer.signTypedData(params);
106
+ case "v1.0.2":
107
+ throw new Error(`Version ${version} of LightAccount doesn't support 1271`);
108
+ case "v1.1.0":
109
+ return signWith1271WrapperV1(hashTypedData(params));
110
+ case "v2.0.0":
111
+ const signature = await signWith1271WrapperV1(hashTypedData(params));
112
+ return concat([SignatureType.EOA, signature]);
113
+ default:
114
+ throw new Error(`Unknown version ${version} of LightAccount`);
115
+ }
116
+ },
117
+ getDummySignature: () => {
118
+ const signature = "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
119
+ switch (version) {
120
+ case "v1.0.1":
121
+ case "v1.0.2":
122
+ case "v1.1.0":
123
+ return signature;
124
+ case "v2.0.0":
125
+ return concat([SignatureType.EOA, signature]);
126
+ default:
127
+ throw new Error(`Unknown version ${type} of ${version}`);
128
+ }
129
+ },
130
+ encodeUpgradeToAndCall,
131
+ });
132
+ return {
133
+ ...account,
134
+ source: type,
135
+ getLightAccountVersion: () => version,
136
+ getSigner: () => signer,
137
+ };
138
+ }
139
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/light-account/accounts/base.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n FailedToGetStorageSlotError,\n createBundlerClient,\n toSmartContractAccount,\n type Abi,\n type EntryPointDef,\n type SmartAccountSigner,\n type SmartContractAccountWithSigner,\n type ToSmartContractAccountParams,\n type UpgradeToAndCallParams,\n} from \"@aa-sdk/core\";\nimport {\n concat,\n encodeFunctionData,\n fromHex,\n hashMessage,\n hashTypedData,\n trim,\n type Address,\n type Chain,\n type Hex,\n type SignTypedDataParameters,\n type Transport,\n} from \"viem\";\nimport type {\n AccountVersionDef,\n GetEntryPointForLightAccountVersion,\n GetLightAccountVersion,\n LightAccountType,\n LightAccountVersionDef,\n} from \"../types.js\";\nimport { AccountVersionRegistry } from \"../utils.js\";\n\nenum SignatureType {\n EOA = \"0x00\",\n CONTRACT = \"0x01\",\n CONTRACT_WITH_ADDR = \"0x02\",\n}\n\nexport type LightAccountBase<\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TLightAccountType extends LightAccountType = LightAccountType,\n TLightAccountVersion extends GetLightAccountVersion<TLightAccountType> = GetLightAccountVersion<TLightAccountType>,\n TEntryPointVersion extends GetEntryPointForLightAccountVersion<\n TLightAccountType,\n TLightAccountVersion\n > = GetEntryPointForLightAccountVersion<\n TLightAccountType,\n TLightAccountVersion\n >\n> = SmartContractAccountWithSigner<\n TLightAccountType,\n TSigner,\n TEntryPointVersion\n> & {\n getLightAccountVersion: () => TLightAccountVersion;\n};\n\n//#region CreateLightAccountBaseParams\nexport type CreateLightAccountBaseParams<\n TTransport extends Transport = Transport,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TLightAccountType extends LightAccountType = LightAccountType,\n TLightAccountVersion extends GetLightAccountVersion<TLightAccountType> = GetLightAccountVersion<TLightAccountType>,\n TEntryPointVersion extends GetEntryPointForLightAccountVersion<\n TLightAccountType,\n TLightAccountVersion\n > = GetEntryPointForLightAccountVersion<\n TLightAccountType,\n TLightAccountVersion\n >\n> = Pick<\n ToSmartContractAccountParams<\n TLightAccountType,\n TTransport,\n Chain,\n TEntryPointVersion\n >,\n \"transport\" | \"chain\" | \"getAccountInitCode\"\n> & {\n abi: Abi;\n signer: TSigner;\n accountAddress: Address;\n version: LightAccountVersionDef<TLightAccountType, TLightAccountVersion>;\n entryPoint: EntryPointDef<TEntryPointVersion, Chain>;\n};\n//#endregion CreateLightAccountBaseParams\n\nexport async function createLightAccountBase<\n TTransport extends Transport = Transport,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TLightAccountType extends LightAccountType = LightAccountType,\n TLightAccountVersion extends GetLightAccountVersion<TLightAccountType> = GetLightAccountVersion<TLightAccountType>,\n TEntryPointVersion extends GetEntryPointForLightAccountVersion<\n TLightAccountType,\n TLightAccountVersion\n > = GetEntryPointForLightAccountVersion<\n TLightAccountType,\n TLightAccountVersion\n >\n>(\n config: CreateLightAccountBaseParams<\n TTransport,\n TSigner,\n TLightAccountType,\n TLightAccountVersion,\n TEntryPointVersion\n >\n): Promise<\n LightAccountBase<\n TSigner,\n TLightAccountType,\n TLightAccountVersion,\n TEntryPointVersion\n >\n>;\n\nexport async function createLightAccountBase({\n transport,\n chain,\n signer,\n abi,\n version: { version, type },\n entryPoint,\n accountAddress,\n getAccountInitCode,\n}: CreateLightAccountBaseParams): Promise<LightAccountBase> {\n const client = createBundlerClient({\n transport,\n chain,\n });\n\n const encodeUpgradeToAndCall = async ({\n upgradeToAddress,\n upgradeToInitData,\n }: UpgradeToAndCallParams): Promise<Hex> => {\n const storage = await client.getStorageAt({\n address: accountAddress,\n // the slot at which impl addresses are stored by UUPS\n slot: \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n });\n\n if (storage == null) {\n throw new FailedToGetStorageSlotError(\n \"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\",\n \"Proxy Implementation Address\"\n );\n }\n\n const implementationAddresses = Object.values(\n AccountVersionRegistry[type]\n ).map((x: AccountVersionDef) => x.address[chain.id].impl);\n\n // only upgrade undeployed accounts (storage 0) or deployed light accounts, error otherwise\n if (\n fromHex(storage, \"number\") !== 0 &&\n !implementationAddresses.some((x) => x === trim(storage))\n ) {\n throw new Error(\n `could not determine if smart account implementation is ${type} ${version}`\n );\n }\n\n return encodeFunctionData({\n abi,\n functionName: \"upgradeToAndCall\",\n args: [upgradeToAddress, upgradeToInitData],\n });\n };\n\n const signWith1271WrapperV1 = async (hashedMessage: Hex): Promise<Hex> => {\n return signer.signTypedData({\n // EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\n // https://github.com/alchemyplatform/light-account/blob/main/src/LightAccount.sol#L236\n domain: {\n chainId: Number(client.chain.id),\n name: type,\n verifyingContract: accountAddress,\n version: \"1\",\n },\n types: {\n LightAccountMessage: [{ name: \"message\", type: \"bytes\" }],\n },\n message: {\n message: hashedMessage,\n },\n primaryType: \"LightAccountMessage\",\n });\n };\n\n const account = await toSmartContractAccount({\n transport,\n chain,\n entryPoint,\n accountAddress,\n source: type,\n getAccountInitCode,\n encodeExecute: async ({ target, data, value }) => {\n return encodeFunctionData({\n abi,\n functionName: \"execute\",\n args: [target, value ?? 0n, data],\n });\n },\n encodeBatchExecute: async (txs) => {\n const [targets, values, datas] = txs.reduce(\n (accum, curr) => {\n accum[0].push(curr.target);\n accum[1].push(curr.value ?? 0n);\n accum[2].push(curr.data);\n\n return accum;\n },\n [[], [], []] as [Address[], bigint[], Hex[]]\n );\n return encodeFunctionData({\n abi,\n functionName: \"executeBatch\",\n args: [targets, values, datas],\n });\n },\n signUserOperationHash: async (uoHash: Hex) => {\n const signature = await signer.signMessage({ raw: uoHash });\n switch (version) {\n case \"v2.0.0\":\n // TODO: handle case where signer is an SCA.\n return concat([SignatureType.EOA, signature]);\n default:\n return signature;\n }\n },\n async signMessage({ message }) {\n switch (version as string) {\n case \"v1.0.1\":\n return signer.signMessage(message);\n case \"v1.0.2\":\n throw new Error(`${type} ${version} doesn't support 1271`);\n case \"v1.1.0\":\n return signWith1271WrapperV1(hashMessage(message));\n case \"v2.0.0\":\n const signature = await signWith1271WrapperV1(hashMessage(message));\n // TODO: handle case where signer is an SCA.\n return concat([SignatureType.EOA, signature]);\n default:\n throw new Error(`Unknown version ${type} of ${version}`);\n }\n },\n async signTypedData(params) {\n switch (version as string) {\n case \"v1.0.1\":\n return signer.signTypedData(\n params as unknown as SignTypedDataParameters\n );\n case \"v1.0.2\":\n throw new Error(\n `Version ${version} of LightAccount doesn't support 1271`\n );\n case \"v1.1.0\":\n return signWith1271WrapperV1(hashTypedData(params));\n case \"v2.0.0\":\n const signature = await signWith1271WrapperV1(hashTypedData(params));\n // TODO: handle case where signer is an SCA.\n return concat([SignatureType.EOA, signature]);\n default:\n throw new Error(`Unknown version ${version} of LightAccount`);\n }\n },\n getDummySignature: (): Hex => {\n const signature =\n \"0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c\";\n switch (version as string) {\n case \"v1.0.1\":\n case \"v1.0.2\":\n case \"v1.1.0\":\n return signature;\n case \"v2.0.0\":\n return concat([SignatureType.EOA, signature]);\n default:\n throw new Error(`Unknown version ${type} of ${version}`);\n }\n },\n encodeUpgradeToAndCall,\n });\n\n return {\n ...account,\n source: type,\n getLightAccountVersion: () => version,\n getSigner: () => signer,\n };\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { type EntryPointDef, type SmartAccountSigner } from "@aa-sdk/core";
2
+ import { type Address, type Chain, type Hex, type Transport } from "viem";
3
+ import type { GetEntryPointForLightAccountVersion, GetLightAccountVersion } from "../types.js";
4
+ import { type CreateLightAccountBaseParams, type LightAccountBase } from "./base.js";
5
+ export type MultiOwnerLightAccount<TSigner extends SmartAccountSigner = SmartAccountSigner, TLightAccountVersion extends GetLightAccountVersion<"MultiOwnerLightAccount"> = GetLightAccountVersion<"MultiOwnerLightAccount">, TEntryPointVersion extends GetEntryPointForLightAccountVersion<"MultiOwnerLightAccount", TLightAccountVersion> = GetEntryPointForLightAccountVersion<"MultiOwnerLightAccount", TLightAccountVersion>> = LightAccountBase<TSigner, "MultiOwnerLightAccount", TLightAccountVersion, TEntryPointVersion> & {
6
+ encodeUpdateOwners: (ownersToAdd: Address[], ownersToRemove: Address[]) => Hex;
7
+ getOwnerAddresses: () => Promise<readonly Address[]>;
8
+ };
9
+ export type CreateMultiOwnerLightAccountParams<TTransport extends Transport = Transport, TSigner extends SmartAccountSigner = SmartAccountSigner, TLightAccountVersion extends GetLightAccountVersion<"MultiOwnerLightAccount"> = GetLightAccountVersion<"MultiOwnerLightAccount">, TEntryPointVersion extends GetEntryPointForLightAccountVersion<"MultiOwnerLightAccount", TLightAccountVersion> = GetEntryPointForLightAccountVersion<"MultiOwnerLightAccount", TLightAccountVersion>> = Omit<CreateLightAccountBaseParams<TTransport, TSigner, "MultiOwnerLightAccount", TLightAccountVersion, TEntryPointVersion>, "getAccountInitCode" | "entryPoint" | "version" | "abi" | "accountAddress"> & {
10
+ salt?: bigint;
11
+ initCode?: Hex;
12
+ accountAddress?: Address;
13
+ factoryAddress?: Address;
14
+ version?: TLightAccountVersion;
15
+ entryPoint?: EntryPointDef<TEntryPointVersion, Chain>;
16
+ owners?: Address[];
17
+ };
18
+ export declare function createMultiOwnerLightAccount<TTransport extends Transport = Transport, TSigner extends SmartAccountSigner = SmartAccountSigner, TLightAccountVersion extends GetLightAccountVersion<"MultiOwnerLightAccount"> = GetLightAccountVersion<"MultiOwnerLightAccount">, TEntryPointVersion extends GetEntryPointForLightAccountVersion<"MultiOwnerLightAccount", TLightAccountVersion> = GetEntryPointForLightAccountVersion<"MultiOwnerLightAccount", TLightAccountVersion>>(config: CreateMultiOwnerLightAccountParams<TTransport, TSigner, TLightAccountVersion, TEntryPointVersion>): Promise<MultiOwnerLightAccount<TSigner, TLightAccountVersion, TEntryPointVersion>>;
@@ -0,0 +1,77 @@
1
+ import { createBundlerClient, getAccountAddress, getEntryPoint, } from "@aa-sdk/core";
2
+ import { concatHex, encodeFunctionData, hexToBigInt, } from "viem";
3
+ import { MultiOwnerLightAccountAbi } from "../abis/MultiOwnerLightAccountAbi.js";
4
+ import { MultiOwnerLightAccountFactoryAbi } from "../abis/MultiOwnerLightAccountFactoryAbi.js";
5
+ import { AccountVersionRegistry, defaultLightAccountVersion, } from "../utils.js";
6
+ import { createLightAccountBase, } from "./base.js";
7
+ export async function createMultiOwnerLightAccount({ transport, chain, signer, initCode, version = defaultLightAccountVersion("MultiOwnerLightAccount"), entryPoint = getEntryPoint(chain, {
8
+ version: AccountVersionRegistry["MultiOwnerLightAccount"][version]
9
+ .entryPointVersion,
10
+ }), accountAddress, factoryAddress = AccountVersionRegistry["MultiOwnerLightAccount"][version]
11
+ .address[chain.id].factory, salt: salt_ = 0n, owners = [], }) {
12
+ const client = createBundlerClient({
13
+ transport,
14
+ chain,
15
+ });
16
+ const getAccountInitCode = async () => {
17
+ if (initCode)
18
+ return initCode;
19
+ const ownerAddress = await signer.getAddress();
20
+ const owners_ = Array.from(new Set([...owners, ownerAddress]))
21
+ .filter((x) => hexToBigInt(x) !== 0n)
22
+ .sort((a, b) => {
23
+ const bigintA = hexToBigInt(a);
24
+ const bigintB = hexToBigInt(b);
25
+ return bigintA < bigintB ? -1 : bigintA > bigintB ? 1 : 0;
26
+ });
27
+ return concatHex([
28
+ factoryAddress,
29
+ encodeFunctionData({
30
+ abi: MultiOwnerLightAccountFactoryAbi,
31
+ functionName: "createAccount",
32
+ args: [owners_, salt_],
33
+ }),
34
+ ]);
35
+ };
36
+ const address = await getAccountAddress({
37
+ client,
38
+ entryPoint,
39
+ accountAddress,
40
+ getAccountInitCode,
41
+ });
42
+ const account = await createLightAccountBase({
43
+ transport,
44
+ chain,
45
+ signer,
46
+ abi: MultiOwnerLightAccountAbi,
47
+ version: AccountVersionRegistry["MultiOwnerLightAccount"][version],
48
+ entryPoint,
49
+ accountAddress: address,
50
+ getAccountInitCode,
51
+ });
52
+ return {
53
+ ...account,
54
+ encodeUpdateOwners: (ownersToAdd, ownersToRemove) => {
55
+ return encodeFunctionData({
56
+ abi: MultiOwnerLightAccountAbi,
57
+ functionName: "updateOwners",
58
+ args: [ownersToAdd, ownersToRemove],
59
+ });
60
+ },
61
+ async getOwnerAddresses() {
62
+ const callResult = await client.readContract({
63
+ address,
64
+ abi: MultiOwnerLightAccountAbi,
65
+ functionName: "owners",
66
+ });
67
+ if (callResult == null) {
68
+ throw new Error("could not get on-chain owners");
69
+ }
70
+ if (!callResult.includes(await signer.getAddress())) {
71
+ throw new Error("on-chain owners does not include the current signer");
72
+ }
73
+ return callResult;
74
+ },
75
+ };
76
+ }
77
+ //# sourceMappingURL=multiOwner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiOwner.js","sourceRoot":"","sources":["../../../../../src/light-account/accounts/multiOwner.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createBundlerClient,\n getAccountAddress,\n getEntryPoint,\n type EntryPointDef,\n type SmartAccountSigner,\n} from \"@aa-sdk/core\";\nimport {\n concatHex,\n encodeFunctionData,\n hexToBigInt,\n type Address,\n type Chain,\n type Hex,\n type Transport,\n} from \"viem\";\nimport { MultiOwnerLightAccountAbi } from \"../abis/MultiOwnerLightAccountAbi.js\";\nimport { MultiOwnerLightAccountFactoryAbi } from \"../abis/MultiOwnerLightAccountFactoryAbi.js\";\nimport type {\n GetEntryPointForLightAccountVersion,\n GetLightAccountVersion,\n} from \"../types.js\";\nimport {\n AccountVersionRegistry,\n defaultLightAccountVersion,\n} from \"../utils.js\";\nimport {\n createLightAccountBase,\n type CreateLightAccountBaseParams,\n type LightAccountBase,\n} from \"./base.js\";\n\nexport type MultiOwnerLightAccount<\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TLightAccountVersion extends GetLightAccountVersion<\"MultiOwnerLightAccount\"> = GetLightAccountVersion<\"MultiOwnerLightAccount\">,\n TEntryPointVersion extends GetEntryPointForLightAccountVersion<\n \"MultiOwnerLightAccount\",\n TLightAccountVersion\n > = GetEntryPointForLightAccountVersion<\n \"MultiOwnerLightAccount\",\n TLightAccountVersion\n >\n> = LightAccountBase<\n TSigner,\n \"MultiOwnerLightAccount\",\n TLightAccountVersion,\n TEntryPointVersion\n> & {\n encodeUpdateOwners: (\n ownersToAdd: Address[],\n ownersToRemove: Address[]\n ) => Hex;\n getOwnerAddresses: () => Promise<readonly Address[]>;\n};\n\nexport type CreateMultiOwnerLightAccountParams<\n TTransport extends Transport = Transport,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TLightAccountVersion extends GetLightAccountVersion<\"MultiOwnerLightAccount\"> = GetLightAccountVersion<\"MultiOwnerLightAccount\">,\n TEntryPointVersion extends GetEntryPointForLightAccountVersion<\n \"MultiOwnerLightAccount\",\n TLightAccountVersion\n > = GetEntryPointForLightAccountVersion<\n \"MultiOwnerLightAccount\",\n TLightAccountVersion\n >\n> = Omit<\n CreateLightAccountBaseParams<\n TTransport,\n TSigner,\n \"MultiOwnerLightAccount\",\n TLightAccountVersion,\n TEntryPointVersion\n >,\n \"getAccountInitCode\" | \"entryPoint\" | \"version\" | \"abi\" | \"accountAddress\"\n> & {\n salt?: bigint;\n initCode?: Hex;\n accountAddress?: Address;\n factoryAddress?: Address;\n version?: TLightAccountVersion;\n entryPoint?: EntryPointDef<TEntryPointVersion, Chain>;\n owners?: Address[];\n};\n\nexport async function createMultiOwnerLightAccount<\n TTransport extends Transport = Transport,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TLightAccountVersion extends GetLightAccountVersion<\"MultiOwnerLightAccount\"> = GetLightAccountVersion<\"MultiOwnerLightAccount\">,\n TEntryPointVersion extends GetEntryPointForLightAccountVersion<\n \"MultiOwnerLightAccount\",\n TLightAccountVersion\n > = GetEntryPointForLightAccountVersion<\n \"MultiOwnerLightAccount\",\n TLightAccountVersion\n >\n>(\n config: CreateMultiOwnerLightAccountParams<\n TTransport,\n TSigner,\n TLightAccountVersion,\n TEntryPointVersion\n >\n): Promise<\n MultiOwnerLightAccount<TSigner, TLightAccountVersion, TEntryPointVersion>\n>;\n\nexport async function createMultiOwnerLightAccount({\n transport,\n chain,\n signer,\n initCode,\n version = defaultLightAccountVersion(\"MultiOwnerLightAccount\"),\n entryPoint = getEntryPoint(chain, {\n version:\n AccountVersionRegistry[\"MultiOwnerLightAccount\"][version]\n .entryPointVersion,\n }),\n accountAddress,\n factoryAddress = AccountVersionRegistry[\"MultiOwnerLightAccount\"][version]\n .address[chain.id].factory,\n salt: salt_ = 0n,\n owners = [],\n}: CreateMultiOwnerLightAccountParams): Promise<MultiOwnerLightAccount> {\n const client = createBundlerClient({\n transport,\n chain,\n });\n\n const getAccountInitCode = async () => {\n if (initCode) return initCode;\n\n // NOTE: the current signer connected will be one of the owners as well\n const ownerAddress = await signer.getAddress();\n // owners need to be dedupe + ordered in ascending order and not == to zero address\n const owners_ = Array.from(new Set([...owners, ownerAddress]))\n .filter((x) => hexToBigInt(x) !== 0n)\n .sort((a, b) => {\n const bigintA = hexToBigInt(a);\n const bigintB = hexToBigInt(b);\n\n return bigintA < bigintB ? -1 : bigintA > bigintB ? 1 : 0;\n });\n\n return concatHex([\n factoryAddress,\n encodeFunctionData({\n abi: MultiOwnerLightAccountFactoryAbi,\n functionName: \"createAccount\",\n args: [owners_, salt_],\n }),\n ]);\n };\n\n const address = await getAccountAddress({\n client,\n entryPoint,\n accountAddress,\n getAccountInitCode,\n });\n\n const account = await createLightAccountBase<\n Transport,\n SmartAccountSigner,\n \"MultiOwnerLightAccount\"\n >({\n transport,\n chain,\n signer,\n abi: MultiOwnerLightAccountAbi,\n version: AccountVersionRegistry[\"MultiOwnerLightAccount\"][version],\n entryPoint,\n accountAddress: address,\n getAccountInitCode,\n });\n\n return {\n ...account,\n encodeUpdateOwners: (ownersToAdd: Address[], ownersToRemove: Address[]) => {\n return encodeFunctionData({\n abi: MultiOwnerLightAccountAbi,\n functionName: \"updateOwners\",\n args: [ownersToAdd, ownersToRemove],\n });\n },\n async getOwnerAddresses(): Promise<readonly Address[]> {\n const callResult = await client.readContract({\n address,\n abi: MultiOwnerLightAccountAbi,\n functionName: \"owners\",\n });\n\n if (callResult == null) {\n throw new Error(\"could not get on-chain owners\");\n }\n\n if (!callResult.includes(await signer.getAddress())) {\n throw new Error(\"on-chain owners does not include the current signer\");\n }\n\n return callResult;\n },\n };\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { type GetAccountParameter, type GetEntryPointFromAccount, type SmartAccountSigner, type UserOperationOverridesParameter } from "@aa-sdk/core";
2
+ import type { Chain, Client, Hex, Transport } from "viem";
3
+ import type { LightAccount } from "../accounts/account";
4
+ export type TransferLightAccountOwnershipParams<TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends LightAccount<TSigner> | undefined = LightAccount<TSigner> | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>> = {
5
+ newOwner: TSigner;
6
+ waitForTxn?: boolean;
7
+ } & GetAccountParameter<TAccount, LightAccount<TSigner>> & UserOperationOverridesParameter<TEntryPointVersion>;
8
+ export declare const transferOwnership: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends LightAccount<TSigner> | undefined = LightAccount<TSigner> | undefined>(client: Client<TTransport, TChain, TAccount>, args: TransferLightAccountOwnershipParams<TSigner, TAccount>) => Promise<Hex>;
@@ -0,0 +1,23 @@
1
+ import { AccountNotFoundError, IncompatibleClientError, isSmartAccountClient, } from "@aa-sdk/core";
2
+ export const transferOwnership = async (client, { newOwner, waitForTxn, overrides, account = client.account }) => {
3
+ if (!account) {
4
+ throw new AccountNotFoundError();
5
+ }
6
+ if (!isSmartAccountClient(client)) {
7
+ throw new IncompatibleClientError("SmartAccountClient", "transferOwnership", client);
8
+ }
9
+ const data = account.encodeTransferOwnership(await newOwner.getAddress());
10
+ const result = await client.sendUserOperation({
11
+ uo: {
12
+ target: account.address,
13
+ data,
14
+ },
15
+ account,
16
+ overrides,
17
+ });
18
+ if (waitForTxn) {
19
+ return client.waitForUserOperationTransaction(result);
20
+ }
21
+ return result.hash;
22
+ };
23
+ //# sourceMappingURL=transferOwnership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferOwnership.js","sourceRoot":"","sources":["../../../../../src/light-account/actions/transferOwnership.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GAKrB,MAAM,cAAc,CAAC;AAgBtB,MAAM,CAAC,MAAM,iBAAiB,GAUV,KAAK,EACvB,MAAM,EACN,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EAC7D,EAAE;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,oBAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAE1E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;QAC5C,EAAE,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,IAAI;SACL;QACD,OAAO;QACP,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC","sourcesContent":["import {\n AccountNotFoundError,\n IncompatibleClientError,\n isSmartAccountClient,\n type GetAccountParameter,\n type GetEntryPointFromAccount,\n type SmartAccountSigner,\n type UserOperationOverridesParameter,\n} from \"@aa-sdk/core\";\nimport type { Chain, Client, Hex, Transport } from \"viem\";\nimport type { LightAccount } from \"../accounts/account\";\n\nexport type TransferLightAccountOwnershipParams<\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends LightAccount<TSigner> | undefined =\n | LightAccount<TSigner>\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>\n> = {\n newOwner: TSigner;\n waitForTxn?: boolean;\n} & GetAccountParameter<TAccount, LightAccount<TSigner>> &\n UserOperationOverridesParameter<TEntryPointVersion>;\n\nexport const transferOwnership: <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends LightAccount<TSigner> | undefined =\n | LightAccount<TSigner>\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>,\n args: TransferLightAccountOwnershipParams<TSigner, TAccount>\n) => Promise<Hex> = async (\n client,\n { newOwner, waitForTxn, overrides, account = client.account }\n) => {\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"transferOwnership\",\n client\n );\n }\n\n const data = account.encodeTransferOwnership(await newOwner.getAddress());\n\n const result = await client.sendUserOperation({\n uo: {\n target: account.address,\n data,\n },\n account,\n overrides,\n });\n\n if (waitForTxn) {\n return client.waitForUserOperationTransaction(result);\n }\n\n return result.hash;\n};\n"]}
@@ -0,0 +1,9 @@
1
+ import { type GetAccountParameter, type GetEntryPointFromAccount, type SmartAccountSigner, type UserOperationOverridesParameter } from "@aa-sdk/core";
2
+ import type { Address, Chain, Client, Hex, Transport } from "viem";
3
+ import type { MultiOwnerLightAccount } from "../accounts/multiOwner";
4
+ export type UpdateMultiOwnerLightAccountOwnersParams<TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends MultiOwnerLightAccount<TSigner> | undefined = MultiOwnerLightAccount<TSigner> | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>> = {
5
+ ownersToAdd: Address[];
6
+ ownersToRemove: Address[];
7
+ waitForTxn?: boolean;
8
+ } & GetAccountParameter<TAccount, MultiOwnerLightAccount<TSigner>> & UserOperationOverridesParameter<TEntryPointVersion>;
9
+ export declare const updateOwners: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends MultiOwnerLightAccount<TSigner> | undefined = MultiOwnerLightAccount<TSigner> | undefined>(client: Client<TTransport, TChain, TAccount>, args: UpdateMultiOwnerLightAccountOwnersParams<TSigner, TAccount>) => Promise<Hex>;
@@ -0,0 +1,23 @@
1
+ import { AccountNotFoundError, IncompatibleClientError, isSmartAccountClient, } from "@aa-sdk/core";
2
+ export const updateOwners = async (client, { ownersToAdd, ownersToRemove, waitForTxn, overrides, account = client.account, }) => {
3
+ if (!account) {
4
+ throw new AccountNotFoundError();
5
+ }
6
+ if (!isSmartAccountClient(client)) {
7
+ throw new IncompatibleClientError("SmartAccountClient", "updateOwners", client);
8
+ }
9
+ const data = account.encodeUpdateOwners(ownersToAdd, ownersToRemove);
10
+ const result = await client.sendUserOperation({
11
+ uo: {
12
+ target: account.address,
13
+ data,
14
+ },
15
+ account,
16
+ overrides,
17
+ });
18
+ if (waitForTxn) {
19
+ return client.waitForUserOperationTransaction(result);
20
+ }
21
+ return result.hash;
22
+ };
23
+ //# sourceMappingURL=updateOwners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateOwners.js","sourceRoot":"","sources":["../../../../../src/light-account/actions/updateOwners.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,GAKrB,MAAM,cAAc,CAAC;AAiBtB,MAAM,CAAC,MAAM,YAAY,GAUL,KAAK,EACvB,MAAM,EACN,EACE,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,OAAO,GAAG,MAAM,CAAC,OAAO,GACzB,EACD,EAAE;IACF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,oBAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,cAAc,EACd,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;QAC5C,EAAE,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,OAAO;YACvB,IAAI;SACL;QACD,OAAO;QACP,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC","sourcesContent":["import {\n AccountNotFoundError,\n IncompatibleClientError,\n isSmartAccountClient,\n type GetAccountParameter,\n type GetEntryPointFromAccount,\n type SmartAccountSigner,\n type UserOperationOverridesParameter,\n} from \"@aa-sdk/core\";\nimport type { Address, Chain, Client, Hex, Transport } from \"viem\";\nimport type { MultiOwnerLightAccount } from \"../accounts/multiOwner\";\n\nexport type UpdateMultiOwnerLightAccountOwnersParams<\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends MultiOwnerLightAccount<TSigner> | undefined =\n | MultiOwnerLightAccount<TSigner>\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>\n> = {\n ownersToAdd: Address[];\n ownersToRemove: Address[];\n waitForTxn?: boolean;\n} & GetAccountParameter<TAccount, MultiOwnerLightAccount<TSigner>> &\n UserOperationOverridesParameter<TEntryPointVersion>;\n\nexport const updateOwners: <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends MultiOwnerLightAccount<TSigner> | undefined =\n | MultiOwnerLightAccount<TSigner>\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>,\n args: UpdateMultiOwnerLightAccountOwnersParams<TSigner, TAccount>\n) => Promise<Hex> = async (\n client,\n {\n ownersToAdd,\n ownersToRemove,\n waitForTxn,\n overrides,\n account = client.account,\n }\n) => {\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"updateOwners\",\n client\n );\n }\n\n const data = account.encodeUpdateOwners(ownersToAdd, ownersToRemove);\n\n const result = await client.sendUserOperation({\n uo: {\n target: account.address,\n data,\n },\n account,\n overrides,\n });\n\n if (waitForTxn) {\n return client.waitForUserOperationTransaction(result);\n }\n\n return result.hash;\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import { type AlchemySmartAccountClient, type AlchemySmartAccountClientConfig } from "@account-kit/infra";
2
+ import { type CreateLightAccountParams, type LightAccount, type LightAccountClientActions } from "@account-kit/smart-contracts";
3
+ import type { HttpTransport, SmartAccountSigner } from "@aa-sdk/core";
4
+ import { type Chain, type CustomTransport, type Transport } from "viem";
5
+ export type AlchemyLightAccountClientConfig<TSigner extends SmartAccountSigner = SmartAccountSigner> = Omit<CreateLightAccountParams<HttpTransport, TSigner>, "transport" | "chain"> & Omit<AlchemySmartAccountClientConfig<Transport, Chain, LightAccount<TSigner>>, "account">;
6
+ export declare function createLightAccountAlchemyClient<TSigner extends SmartAccountSigner = SmartAccountSigner>(params: AlchemyLightAccountClientConfig<TSigner>): Promise<AlchemySmartAccountClient<CustomTransport, Chain | undefined, LightAccount<TSigner>, LightAccountClientActions<TSigner>>>;
@@ -0,0 +1,21 @@
1
+ import { AlchemyProviderConfigSchema, createAlchemyPublicRpcClient, createAlchemySmartAccountClientFromExisting, } from "@account-kit/infra";
2
+ import { createLightAccount, lightAccountClientActions, } from "@account-kit/smart-contracts";
3
+ import { custom } from "viem";
4
+ export async function createLightAccountAlchemyClient(config) {
5
+ const { chain, opts, ...connectionConfig } = AlchemyProviderConfigSchema.parse(config);
6
+ const client = createAlchemyPublicRpcClient({
7
+ chain,
8
+ connectionConfig,
9
+ });
10
+ const account = await createLightAccount({
11
+ transport: custom(client),
12
+ ...config,
13
+ });
14
+ return createAlchemySmartAccountClientFromExisting({
15
+ ...config,
16
+ client,
17
+ account,
18
+ opts,
19
+ }).extend(lightAccountClientActions);
20
+ }
21
+ //# sourceMappingURL=alchemyClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alchemyClient.js","sourceRoot":"","sources":["../../../../../src/light-account/clients/alchemyClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2CAA2C,GAG5C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAI1B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAoD,MAAM,MAAM,CAAC;AA0BhF,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,MAAuC;IAEvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,gBAAgB,EAAE,GACxC,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,4BAA4B,CAAC;QAC1C,KAAK;QACL,gBAAgB;KACjB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACzB,GAAG,MAAM;KACV,CAAC,CAAC;IAEH,OAAO,2CAA2C,CAAC;QACjD,GAAG,MAAM;QACT,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACvC,CAAC","sourcesContent":["import {\n AlchemyProviderConfigSchema,\n createAlchemyPublicRpcClient,\n createAlchemySmartAccountClientFromExisting,\n type AlchemySmartAccountClient,\n type AlchemySmartAccountClientConfig,\n} from \"@account-kit/infra\";\nimport {\n createLightAccount,\n lightAccountClientActions,\n type CreateLightAccountParams,\n type LightAccount,\n type LightAccountClientActions,\n} from \"@account-kit/smart-contracts\";\nimport type { HttpTransport, SmartAccountSigner } from \"@aa-sdk/core\";\nimport { custom, type Chain, type CustomTransport, type Transport } from \"viem\";\n\nexport type AlchemyLightAccountClientConfig<\n TSigner extends SmartAccountSigner = SmartAccountSigner\n> = Omit<\n CreateLightAccountParams<HttpTransport, TSigner>,\n \"transport\" | \"chain\"\n> &\n Omit<\n AlchemySmartAccountClientConfig<Transport, Chain, LightAccount<TSigner>>,\n \"account\"\n >;\n\nexport async function createLightAccountAlchemyClient<\n TSigner extends SmartAccountSigner = SmartAccountSigner\n>(\n params: AlchemyLightAccountClientConfig<TSigner>\n): Promise<\n AlchemySmartAccountClient<\n CustomTransport,\n Chain | undefined,\n LightAccount<TSigner>,\n LightAccountClientActions<TSigner>\n >\n>;\n\nexport async function createLightAccountAlchemyClient(\n config: AlchemyLightAccountClientConfig\n): Promise<AlchemySmartAccountClient> {\n const { chain, opts, ...connectionConfig } =\n AlchemyProviderConfigSchema.parse(config);\n\n const client = createAlchemyPublicRpcClient({\n chain,\n connectionConfig,\n });\n\n const account = await createLightAccount({\n transport: custom(client),\n ...config,\n });\n\n return createAlchemySmartAccountClientFromExisting({\n ...config,\n client,\n account,\n opts,\n }).extend(lightAccountClientActions);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { type SmartAccountClient, type SmartAccountClientActions, type SmartAccountClientConfig, type SmartAccountSigner, type SmartContractAccount } from "@aa-sdk/core";
2
+ import { type Chain, type CustomTransport, type Transport } from "viem";
3
+ import { type CreateLightAccountParams, type LightAccount } from "../accounts/account.js";
4
+ import { type LightAccountClientActions } from "../decorators/lightAccount.js";
5
+ export type CreateLightAccountClientParams<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner> = {
6
+ transport: CreateLightAccountParams<TTransport, TSigner>["transport"];
7
+ chain: CreateLightAccountParams<TTransport, TSigner>["chain"];
8
+ account: Omit<CreateLightAccountParams<TTransport, TSigner>, "transport" | "chain">;
9
+ } & Omit<SmartAccountClientConfig<TTransport, TChain>, "transport" | "account" | "chain">;
10
+ export declare function createLightAccountClient<TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner>(args: CreateLightAccountClientParams<Transport, TChain, TSigner>): Promise<SmartAccountClient<CustomTransport, Chain, LightAccount<TSigner>, SmartAccountClientActions<Chain, SmartContractAccount> & LightAccountClientActions<TSigner, LightAccount<TSigner>>>>;
@@ -0,0 +1,18 @@
1
+ import { createSmartAccountClient, } from "@aa-sdk/core";
2
+ import {} from "viem";
3
+ import { createLightAccount, } from "../accounts/account.js";
4
+ import { lightAccountClientActions, } from "../decorators/lightAccount.js";
5
+ export async function createLightAccountClient({ account, transport, chain, ...clientConfig }) {
6
+ const lightAccount = await createLightAccount({
7
+ ...account,
8
+ transport,
9
+ chain,
10
+ });
11
+ return createSmartAccountClient({
12
+ ...clientConfig,
13
+ transport,
14
+ chain: chain,
15
+ account: lightAccount,
16
+ }).extend(lightAccountClientActions);
17
+ }
18
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../../src/light-account/clients/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAMzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAoD,MAAM,MAAM,CAAC;AACxE,OAAO,EACL,kBAAkB,GAGnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,GAE1B,MAAM,+BAA+B,CAAC;AAiCvC,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,YAAY,EACgB;IAC/B,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;QAC5C,GAAG,OAAO;QACV,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,wBAAwB,CAAC;QAC9B,GAAG,YAAY;QACf,SAAS;QACT,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AACvC,CAAC","sourcesContent":["import {\n createSmartAccountClient,\n type SmartAccountClient,\n type SmartAccountClientActions,\n type SmartAccountClientConfig,\n type SmartAccountSigner,\n type SmartContractAccount,\n} from \"@aa-sdk/core\";\nimport { type Chain, type CustomTransport, type Transport } from \"viem\";\nimport {\n createLightAccount,\n type CreateLightAccountParams,\n type LightAccount,\n} from \"../accounts/account.js\";\nimport {\n lightAccountClientActions,\n type LightAccountClientActions,\n} from \"../decorators/lightAccount.js\";\n\nexport type CreateLightAccountClientParams<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner\n> = {\n transport: CreateLightAccountParams<TTransport, TSigner>[\"transport\"];\n chain: CreateLightAccountParams<TTransport, TSigner>[\"chain\"];\n account: Omit<\n CreateLightAccountParams<TTransport, TSigner>,\n \"transport\" | \"chain\"\n >;\n} & Omit<\n SmartAccountClientConfig<TTransport, TChain>,\n \"transport\" | \"account\" | \"chain\"\n>;\n\nexport function createLightAccountClient<\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner\n>(\n args: CreateLightAccountClientParams<Transport, TChain, TSigner>\n): Promise<\n SmartAccountClient<\n CustomTransport,\n Chain,\n LightAccount<TSigner>,\n SmartAccountClientActions<Chain, SmartContractAccount> &\n LightAccountClientActions<TSigner, LightAccount<TSigner>>\n >\n>;\n\nexport async function createLightAccountClient({\n account,\n transport,\n chain,\n ...clientConfig\n}: CreateLightAccountClientParams): Promise<SmartAccountClient> {\n const lightAccount = await createLightAccount({\n ...account,\n transport,\n chain,\n });\n\n return createSmartAccountClient({\n ...clientConfig,\n transport,\n chain: chain,\n account: lightAccount,\n }).extend(lightAccountClientActions);\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { type AlchemySmartAccountClient, type AlchemySmartAccountClientConfig } from "@account-kit/infra";
2
+ import { type CreateMultiOwnerLightAccountParams, type MultiOwnerLightAccount, type MultiOwnerLightAccountClientActions } from "@account-kit/smart-contracts";
3
+ import type { HttpTransport, SmartAccountSigner } from "@aa-sdk/core";
4
+ import { type Chain, type CustomTransport, type Transport } from "viem";
5
+ export type AlchemyMultiOwnerLightAccountClientConfig<TSigner extends SmartAccountSigner = SmartAccountSigner> = Omit<CreateMultiOwnerLightAccountParams<HttpTransport, TSigner>, "transport" | "chain"> & Omit<AlchemySmartAccountClientConfig<Transport, Chain, MultiOwnerLightAccount<TSigner>>, "account">;
6
+ export declare function createMultiOwnerLightAccountAlchemyClient<TSigner extends SmartAccountSigner = SmartAccountSigner>(params: AlchemyMultiOwnerLightAccountClientConfig<TSigner>): Promise<AlchemySmartAccountClient<CustomTransport, Chain | undefined, MultiOwnerLightAccount<TSigner>, MultiOwnerLightAccountClientActions<TSigner>>>;
@@ -0,0 +1,21 @@
1
+ import { AlchemyProviderConfigSchema, createAlchemyPublicRpcClient, createAlchemySmartAccountClientFromExisting, } from "@account-kit/infra";
2
+ import { createMultiOwnerLightAccount, multiOwnerLightAccountClientActions, } from "@account-kit/smart-contracts";
3
+ import { custom } from "viem";
4
+ export async function createMultiOwnerLightAccountAlchemyClient(config) {
5
+ const { chain, opts, ...connectionConfig } = AlchemyProviderConfigSchema.parse(config);
6
+ const client = createAlchemyPublicRpcClient({
7
+ chain,
8
+ connectionConfig,
9
+ });
10
+ const account = await createMultiOwnerLightAccount({
11
+ transport: custom(client),
12
+ ...config,
13
+ });
14
+ return createAlchemySmartAccountClientFromExisting({
15
+ ...config,
16
+ client,
17
+ account,
18
+ opts,
19
+ }).extend(multiOwnerLightAccountClientActions);
20
+ }
21
+ //# sourceMappingURL=multiOwnerAlchemyClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiOwnerAlchemyClient.js","sourceRoot":"","sources":["../../../../../src/light-account/clients/multiOwnerAlchemyClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2CAA2C,GAG5C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,GAIpC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAoD,MAAM,MAAM,CAAC;AA8BhF,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAC7D,MAAiD;IAEjD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,gBAAgB,EAAE,GACxC,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,MAAM,GAAG,4BAA4B,CAAC;QAC1C,KAAK;QACL,gBAAgB;KACjB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC;QACjD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACzB,GAAG,MAAM;KACV,CAAC,CAAC;IAEH,OAAO,2CAA2C,CAAC;QACjD,GAAG,MAAM;QACT,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;AACjD,CAAC","sourcesContent":["import {\n AlchemyProviderConfigSchema,\n createAlchemyPublicRpcClient,\n createAlchemySmartAccountClientFromExisting,\n type AlchemySmartAccountClient,\n type AlchemySmartAccountClientConfig,\n} from \"@account-kit/infra\";\nimport {\n createMultiOwnerLightAccount,\n multiOwnerLightAccountClientActions,\n type CreateMultiOwnerLightAccountParams,\n type MultiOwnerLightAccount,\n type MultiOwnerLightAccountClientActions,\n} from \"@account-kit/smart-contracts\";\nimport type { HttpTransport, SmartAccountSigner } from \"@aa-sdk/core\";\nimport { custom, type Chain, type CustomTransport, type Transport } from \"viem\";\n\nexport type AlchemyMultiOwnerLightAccountClientConfig<\n TSigner extends SmartAccountSigner = SmartAccountSigner\n> = Omit<\n CreateMultiOwnerLightAccountParams<HttpTransport, TSigner>,\n \"transport\" | \"chain\"\n> &\n Omit<\n AlchemySmartAccountClientConfig<\n Transport,\n Chain,\n MultiOwnerLightAccount<TSigner>\n >,\n \"account\"\n >;\n\nexport async function createMultiOwnerLightAccountAlchemyClient<\n TSigner extends SmartAccountSigner = SmartAccountSigner\n>(\n params: AlchemyMultiOwnerLightAccountClientConfig<TSigner>\n): Promise<\n AlchemySmartAccountClient<\n CustomTransport,\n Chain | undefined,\n MultiOwnerLightAccount<TSigner>,\n MultiOwnerLightAccountClientActions<TSigner>\n >\n>;\n\nexport async function createMultiOwnerLightAccountAlchemyClient(\n config: AlchemyMultiOwnerLightAccountClientConfig\n): Promise<AlchemySmartAccountClient> {\n const { chain, opts, ...connectionConfig } =\n AlchemyProviderConfigSchema.parse(config);\n\n const client = createAlchemyPublicRpcClient({\n chain,\n connectionConfig,\n });\n\n const account = await createMultiOwnerLightAccount({\n transport: custom(client),\n ...config,\n });\n\n return createAlchemySmartAccountClientFromExisting({\n ...config,\n client,\n account,\n opts,\n }).extend(multiOwnerLightAccountClientActions);\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { type SmartAccountClient, type SmartAccountClientActions, type SmartAccountClientConfig, type SmartAccountSigner, type SmartContractAccount } from "@aa-sdk/core";
2
+ import { type Chain, type CustomTransport, type Transport } from "viem";
3
+ import { type CreateMultiOwnerLightAccountParams, type MultiOwnerLightAccount } from "../accounts/multiOwner.js";
4
+ import { type MultiOwnerLightAccountClientActions } from "../decorators/multiOwnerLightAccount.js";
5
+ export type CreateMultiOwnerLightAccountClientParams<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner> = {
6
+ transport: CreateMultiOwnerLightAccountParams<TTransport, TSigner>["transport"];
7
+ chain: CreateMultiOwnerLightAccountParams<TTransport, TSigner>["chain"];
8
+ account: Omit<CreateMultiOwnerLightAccountParams<TTransport, TSigner>, "transport" | "chain">;
9
+ } & Omit<SmartAccountClientConfig<TTransport, TChain>, "transport" | "account" | "chain">;
10
+ export declare function createMultiOwnerLightAccountClient<TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner>(args: CreateMultiOwnerLightAccountClientParams<Transport, TChain, TSigner>): Promise<SmartAccountClient<CustomTransport, Chain, MultiOwnerLightAccount<TSigner>, SmartAccountClientActions<Chain, SmartContractAccount> & MultiOwnerLightAccountClientActions<TSigner, MultiOwnerLightAccount<TSigner>>>>;
@@ -0,0 +1,18 @@
1
+ import { createSmartAccountClient, } from "@aa-sdk/core";
2
+ import {} from "viem";
3
+ import { createMultiOwnerLightAccount, } from "../accounts/multiOwner.js";
4
+ import { multiOwnerLightAccountClientActions, } from "../decorators/multiOwnerLightAccount.js";
5
+ export async function createMultiOwnerLightAccountClient({ account, transport, chain, ...clientConfig }) {
6
+ const lightAccount = await createMultiOwnerLightAccount({
7
+ ...account,
8
+ transport,
9
+ chain,
10
+ });
11
+ return createSmartAccountClient({
12
+ ...clientConfig,
13
+ transport,
14
+ chain: chain,
15
+ account: lightAccount,
16
+ }).extend(multiOwnerLightAccountClientActions);
17
+ }
18
+ //# sourceMappingURL=multiOwnerLightAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiOwnerLightAccount.js","sourceRoot":"","sources":["../../../../../src/light-account/clients/multiOwnerLightAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,GAMzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAoD,MAAM,MAAM,CAAC;AACxE,OAAO,EACL,4BAA4B,GAG7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mCAAmC,GAEpC,MAAM,yCAAyC,CAAC;AAuCjD,MAAM,CAAC,KAAK,UAAU,kCAAkC,CAAC,EACvD,OAAO,EACP,SAAS,EACT,KAAK,EACL,GAAG,YAAY,EAC0B;IACzC,MAAM,YAAY,GAAG,MAAM,4BAA4B,CAAC;QACtD,GAAG,OAAO;QACV,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,wBAAwB,CAAC;QAC9B,GAAG,YAAY;QACf,SAAS;QACT,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;AACjD,CAAC","sourcesContent":["import {\n createSmartAccountClient,\n type SmartAccountClient,\n type SmartAccountClientActions,\n type SmartAccountClientConfig,\n type SmartAccountSigner,\n type SmartContractAccount,\n} from \"@aa-sdk/core\";\nimport { type Chain, type CustomTransport, type Transport } from \"viem\";\nimport {\n createMultiOwnerLightAccount,\n type CreateMultiOwnerLightAccountParams,\n type MultiOwnerLightAccount,\n} from \"../accounts/multiOwner.js\";\nimport {\n multiOwnerLightAccountClientActions,\n type MultiOwnerLightAccountClientActions,\n} from \"../decorators/multiOwnerLightAccount.js\";\n\nexport type CreateMultiOwnerLightAccountClientParams<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner\n> = {\n transport: CreateMultiOwnerLightAccountParams<\n TTransport,\n TSigner\n >[\"transport\"];\n chain: CreateMultiOwnerLightAccountParams<TTransport, TSigner>[\"chain\"];\n account: Omit<\n CreateMultiOwnerLightAccountParams<TTransport, TSigner>,\n \"transport\" | \"chain\"\n >;\n} & Omit<\n SmartAccountClientConfig<TTransport, TChain>,\n \"transport\" | \"account\" | \"chain\"\n>;\n\nexport function createMultiOwnerLightAccountClient<\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner\n>(\n args: CreateMultiOwnerLightAccountClientParams<Transport, TChain, TSigner>\n): Promise<\n SmartAccountClient<\n CustomTransport,\n Chain,\n MultiOwnerLightAccount<TSigner>,\n SmartAccountClientActions<Chain, SmartContractAccount> &\n MultiOwnerLightAccountClientActions<\n TSigner,\n MultiOwnerLightAccount<TSigner>\n >\n >\n>;\n\nexport async function createMultiOwnerLightAccountClient({\n account,\n transport,\n chain,\n ...clientConfig\n}: CreateMultiOwnerLightAccountClientParams): Promise<SmartAccountClient> {\n const lightAccount = await createMultiOwnerLightAccount({\n ...account,\n transport,\n chain,\n });\n\n return createSmartAccountClient({\n ...clientConfig,\n transport,\n chain: chain,\n account: lightAccount,\n }).extend(multiOwnerLightAccountClientActions);\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { SmartAccountSigner } from "@aa-sdk/core";
2
+ import type { Chain, Client, Hex, Transport } from "viem";
3
+ import type { LightAccount } from "../accounts/account";
4
+ import { type TransferLightAccountOwnershipParams } from "../actions/transferOwnership.js";
5
+ export type LightAccountClientActions<TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends LightAccount<TSigner> | undefined = LightAccount<TSigner> | undefined> = {
6
+ transferOwnership: (args: TransferLightAccountOwnershipParams<TSigner, TAccount>) => Promise<Hex>;
7
+ };
8
+ export declare const lightAccountClientActions: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends LightAccount<TSigner> | undefined = LightAccount<TSigner> | undefined>(client: Client<TTransport, TChain, TAccount>) => LightAccountClientActions<TSigner, TAccount>;
@@ -0,0 +1,5 @@
1
+ import { transferOwnership, } from "../actions/transferOwnership.js";
2
+ export const lightAccountClientActions = (client) => ({
3
+ transferOwnership: async (args) => transferOwnership(client, args),
4
+ });
5
+ //# sourceMappingURL=lightAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightAccount.js","sourceRoot":"","sources":["../../../../../src/light-account/decorators/lightAccount.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,iBAAiB,GAElB,MAAM,iCAAiC,CAAC;AAazC,MAAM,CAAC,MAAM,yBAAyB,GASc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;CACnE,CAAC,CAAC","sourcesContent":["import type { SmartAccountSigner } from \"@aa-sdk/core\";\nimport type { Chain, Client, Hex, Transport } from \"viem\";\nimport type { LightAccount } from \"../accounts/account\";\nimport {\n transferOwnership,\n type TransferLightAccountOwnershipParams,\n} from \"../actions/transferOwnership.js\";\n\nexport type LightAccountClientActions<\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends LightAccount<TSigner> | undefined =\n | LightAccount<TSigner>\n | undefined\n> = {\n transferOwnership: (\n args: TransferLightAccountOwnershipParams<TSigner, TAccount>\n ) => Promise<Hex>;\n};\n\nexport const lightAccountClientActions: <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends LightAccount<TSigner> | undefined =\n | LightAccount<TSigner>\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>\n) => LightAccountClientActions<TSigner, TAccount> = (client) => ({\n transferOwnership: async (args) => transferOwnership(client, args),\n});\n"]}
@@ -0,0 +1,8 @@
1
+ import type { SmartAccountSigner } from "@aa-sdk/core";
2
+ import type { Chain, Client, Hex, Transport } from "viem";
3
+ import type { MultiOwnerLightAccount } from "../accounts/multiOwner";
4
+ import { type UpdateMultiOwnerLightAccountOwnersParams } from "../actions/updateOwners.js";
5
+ export type MultiOwnerLightAccountClientActions<TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends MultiOwnerLightAccount<TSigner> | undefined = MultiOwnerLightAccount<TSigner> | undefined> = {
6
+ updateOwners: (args: UpdateMultiOwnerLightAccountOwnersParams<TSigner, TAccount>) => Promise<Hex>;
7
+ };
8
+ export declare const multiOwnerLightAccountClientActions: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends MultiOwnerLightAccount<TSigner> | undefined = MultiOwnerLightAccount<TSigner> | undefined>(client: Client<TTransport, TChain, TAccount>) => MultiOwnerLightAccountClientActions<TSigner, TAccount>;
@@ -0,0 +1,5 @@
1
+ import { updateOwners, } from "../actions/updateOwners.js";
2
+ export const multiOwnerLightAccountClientActions = (client) => ({
3
+ updateOwners: async (args) => updateOwners(client, args),
4
+ });
5
+ //# sourceMappingURL=multiOwnerLightAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiOwnerLightAccount.js","sourceRoot":"","sources":["../../../../../src/light-account/decorators/multiOwnerLightAccount.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,GAEb,MAAM,4BAA4B,CAAC;AAapC,MAAM,CAAC,MAAM,mCAAmC,GASc,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;CACzD,CAAC,CAAC","sourcesContent":["import type { SmartAccountSigner } from \"@aa-sdk/core\";\nimport type { Chain, Client, Hex, Transport } from \"viem\";\nimport type { MultiOwnerLightAccount } from \"../accounts/multiOwner\";\nimport {\n updateOwners,\n type UpdateMultiOwnerLightAccountOwnersParams,\n} from \"../actions/updateOwners.js\";\n\nexport type MultiOwnerLightAccountClientActions<\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends MultiOwnerLightAccount<TSigner> | undefined =\n | MultiOwnerLightAccount<TSigner>\n | undefined\n> = {\n updateOwners: (\n args: UpdateMultiOwnerLightAccountOwnersParams<TSigner, TAccount>\n ) => Promise<Hex>;\n};\n\nexport const multiOwnerLightAccountClientActions: <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends MultiOwnerLightAccount<TSigner> | undefined =\n | MultiOwnerLightAccount<TSigner>\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>\n) => MultiOwnerLightAccountClientActions<TSigner, TAccount> = (client) => ({\n updateOwners: async (args) => updateOwners(client, args),\n});\n"]}
@@ -0,0 +1,6 @@
1
+ export declare const API_KEY: string;
2
+ export declare const API_KEY_STAGING: string;
3
+ export declare const PAYMASTER_POLICY_ID: string;
4
+ export declare const PAYMASTER_POLICY_ID_STAGING: string;
5
+ export declare const UNDEPLOYED_OWNER_MNEMONIC: string;
6
+ export declare const LIGHT_ACCOUNT_OWNER_MNEMONIC: string;
@@ -0,0 +1,7 @@
1
+ export const API_KEY = process.env.API_KEY;
2
+ export const API_KEY_STAGING = process.env.API_KEY_STAGING;
3
+ export const PAYMASTER_POLICY_ID = process.env.PAYMASTER_POLICY_ID;
4
+ export const PAYMASTER_POLICY_ID_STAGING = process.env.PAYMASTER_POLICY_ID_STAGING;
5
+ export const UNDEPLOYED_OWNER_MNEMONIC = process.env.UNDEPLOYED_OWNER_MNEMONIC;
6
+ export const LIGHT_ACCOUNT_OWNER_MNEMONIC = process.env.LIGHT_ACCOUNT_OWNER_MNEMONIC;
7
+ //# sourceMappingURL=constants.js.map