@account-kit/smart-contracts 4.0.0-alpha.0 → 4.0.0-alpha.2

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 (264) hide show
  1. package/dist/cjs/plugindefs/multi-owner/config.js +16 -17
  2. package/dist/cjs/plugindefs/multi-owner/config.js.map +1 -1
  3. package/dist/cjs/plugindefs/multisig/config.js +15 -15
  4. package/dist/cjs/plugindefs/multisig/config.js.map +1 -1
  5. package/dist/cjs/plugindefs/session-key/config.js +17 -17
  6. package/dist/cjs/plugindefs/session-key/config.js.map +1 -1
  7. package/dist/cjs/src/index.d.ts +3 -3
  8. package/dist/cjs/src/index.js +15 -15
  9. package/dist/cjs/src/index.js.map +1 -1
  10. package/dist/cjs/src/light-account/accounts/account.js +1 -1
  11. package/dist/cjs/src/light-account/accounts/account.js.map +1 -1
  12. package/dist/cjs/src/light-account/accounts/multiOwner.js +2 -4
  13. package/dist/cjs/src/light-account/accounts/multiOwner.js.map +1 -1
  14. package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +1 -1
  15. package/dist/cjs/src/light-account/actions/transferOwnership.js +2 -1
  16. package/dist/cjs/src/light-account/actions/transferOwnership.js.map +1 -1
  17. package/dist/cjs/src/light-account/actions/updateOwners.js.map +1 -1
  18. package/dist/cjs/src/light-account/clients/alchemyClient.d.ts +1 -1
  19. package/dist/cjs/src/light-account/clients/alchemyClient.js.map +1 -1
  20. package/dist/cjs/src/light-account/clients/client.js +2 -1
  21. package/dist/cjs/src/light-account/clients/client.js.map +1 -1
  22. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.d.ts +1 -1
  23. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  24. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +2 -1
  25. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  26. package/dist/cjs/src/light-account/decorators/lightAccount.js.map +1 -1
  27. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  28. package/dist/cjs/src/light-account/utils.d.ts +3 -2
  29. package/dist/cjs/src/light-account/utils.js +34 -24
  30. package/dist/cjs/src/light-account/utils.js.map +1 -1
  31. package/dist/cjs/src/msca/account/multiOwnerAccount.js +2 -1
  32. package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +1 -1
  33. package/dist/cjs/src/msca/account/multisigAccount.js +4 -3
  34. package/dist/cjs/src/msca/account/multisigAccount.js.map +1 -1
  35. package/dist/cjs/src/msca/account-loupe/decorator.js.map +1 -1
  36. package/dist/cjs/src/msca/client/alchemyClient.d.ts +1 -1
  37. package/dist/cjs/src/msca/client/alchemyClient.js.map +1 -1
  38. package/dist/cjs/src/msca/client/client.js.map +1 -1
  39. package/dist/cjs/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
  40. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js +1 -1
  41. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  42. package/dist/cjs/src/msca/errors.js.map +1 -1
  43. package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +1 -1
  44. package/dist/cjs/src/msca/plugin-manager/decorator.js +6 -4
  45. package/dist/cjs/src/msca/plugin-manager/decorator.js.map +1 -1
  46. package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +1 -1
  47. package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +1 -1
  48. package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +1 -1
  49. package/dist/cjs/src/msca/plugins/multi-owner/index.js +2 -1
  50. package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +1 -1
  51. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +2 -2
  52. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  53. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
  54. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  55. package/dist/cjs/src/msca/plugins/multisig/extension.js.map +1 -1
  56. package/dist/cjs/src/msca/plugins/multisig/index.d.ts +1 -8
  57. package/dist/cjs/src/msca/plugins/multisig/index.js +1 -16
  58. package/dist/cjs/src/msca/plugins/multisig/index.js.map +1 -1
  59. package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +1 -1
  60. package/dist/cjs/src/msca/plugins/multisig/middleware.js +1 -1
  61. package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +1 -1
  62. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
  63. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
  64. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
  65. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
  66. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  67. package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  68. package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +1 -1
  69. package/dist/cjs/src/msca/plugins/session-key/extension.js.map +1 -1
  70. package/dist/cjs/src/msca/plugins/session-key/index.d.ts +1 -1
  71. package/dist/cjs/src/msca/plugins/session-key/index.js +3 -1
  72. package/dist/cjs/src/msca/plugins/session-key/index.js.map +1 -1
  73. package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +1 -1
  74. package/dist/cjs/src/msca/plugins/session-key/signer.js.map +1 -1
  75. package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +4 -2
  76. package/dist/cjs/src/msca/plugins/session-key/utils.js +3 -2
  77. package/dist/cjs/src/msca/plugins/session-key/utils.js.map +1 -1
  78. package/dist/cjs/src/msca/utils.d.ts +6 -4
  79. package/dist/cjs/src/msca/utils.js +11 -10
  80. package/dist/cjs/src/msca/utils.js.map +1 -1
  81. package/dist/esm/plugindefs/multi-owner/config.js +1 -2
  82. package/dist/esm/plugindefs/multi-owner/config.js.map +1 -1
  83. package/dist/esm/plugindefs/multisig/config.js +1 -1
  84. package/dist/esm/plugindefs/multisig/config.js.map +1 -1
  85. package/dist/esm/plugindefs/session-key/config.js +1 -1
  86. package/dist/esm/plugindefs/session-key/config.js.map +1 -1
  87. package/dist/esm/src/index.d.ts +3 -3
  88. package/dist/esm/src/index.js +2 -2
  89. package/dist/esm/src/index.js.map +1 -1
  90. package/dist/esm/src/light-account/accounts/account.js +2 -2
  91. package/dist/esm/src/light-account/accounts/account.js.map +1 -1
  92. package/dist/esm/src/light-account/accounts/multiOwner.js +3 -5
  93. package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -1
  94. package/dist/esm/src/light-account/actions/transferOwnership.d.ts +1 -1
  95. package/dist/esm/src/light-account/actions/transferOwnership.js +2 -1
  96. package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -1
  97. package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -1
  98. package/dist/esm/src/light-account/clients/alchemyClient.d.ts +1 -1
  99. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
  100. package/dist/esm/src/light-account/clients/client.js +2 -1
  101. package/dist/esm/src/light-account/clients/client.js.map +1 -1
  102. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.d.ts +1 -1
  103. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  104. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +2 -1
  105. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  106. package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -1
  107. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  108. package/dist/esm/src/light-account/utils.d.ts +3 -2
  109. package/dist/esm/src/light-account/utils.js +14 -5
  110. package/dist/esm/src/light-account/utils.js.map +1 -1
  111. package/dist/esm/src/msca/account/multiOwnerAccount.js +2 -1
  112. package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -1
  113. package/dist/esm/src/msca/account/multisigAccount.js +4 -3
  114. package/dist/esm/src/msca/account/multisigAccount.js.map +1 -1
  115. package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -1
  116. package/dist/esm/src/msca/client/alchemyClient.d.ts +1 -1
  117. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
  118. package/dist/esm/src/msca/client/client.js.map +1 -1
  119. package/dist/esm/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
  120. package/dist/esm/src/msca/client/multiSigAlchemyClient.js +1 -1
  121. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  122. package/dist/esm/src/msca/errors.js.map +1 -1
  123. package/dist/esm/src/msca/plugin-manager/decorator.d.ts +1 -1
  124. package/dist/esm/src/msca/plugin-manager/decorator.js +6 -4
  125. package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -1
  126. package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -1
  127. package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -1
  128. package/dist/esm/src/msca/plugins/multi-owner/index.d.ts +1 -1
  129. package/dist/esm/src/msca/plugins/multi-owner/index.js +1 -1
  130. package/dist/esm/src/msca/plugins/multi-owner/index.js.map +1 -1
  131. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js +1 -1
  132. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  133. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
  134. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  135. package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -1
  136. package/dist/esm/src/msca/plugins/multisig/index.d.ts +1 -8
  137. package/dist/esm/src/msca/plugins/multisig/index.js +0 -7
  138. package/dist/esm/src/msca/plugins/multisig/index.js.map +1 -1
  139. package/dist/esm/src/msca/plugins/multisig/middleware.d.ts +1 -1
  140. package/dist/esm/src/msca/plugins/multisig/middleware.js +2 -1
  141. package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -1
  142. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
  143. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
  144. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
  145. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
  146. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  147. package/dist/esm/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  148. package/dist/esm/src/msca/plugins/multisig/utils/index.js.map +1 -1
  149. package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -1
  150. package/dist/esm/src/msca/plugins/session-key/index.d.ts +1 -1
  151. package/dist/esm/src/msca/plugins/session-key/index.js +1 -1
  152. package/dist/esm/src/msca/plugins/session-key/index.js.map +1 -1
  153. package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -1
  154. package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -1
  155. package/dist/esm/src/msca/plugins/session-key/utils.d.ts +4 -2
  156. package/dist/esm/src/msca/plugins/session-key/utils.js +3 -2
  157. package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -1
  158. package/dist/esm/src/msca/utils.d.ts +6 -4
  159. package/dist/esm/src/msca/utils.js +2 -1
  160. package/dist/esm/src/msca/utils.js.map +1 -1
  161. package/dist/types/plugindefs/multi-owner/config.d.ts.map +1 -1
  162. package/dist/types/src/index.d.ts +3 -3
  163. package/dist/types/src/index.d.ts.map +1 -1
  164. package/dist/types/src/light-account/accounts/account.d.ts.map +1 -1
  165. package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -1
  166. package/dist/types/src/light-account/actions/transferOwnership.d.ts +26 -1
  167. package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -1
  168. package/dist/types/src/light-account/actions/updateOwners.d.ts +24 -0
  169. package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -1
  170. package/dist/types/src/light-account/clients/alchemyClient.d.ts +1 -1
  171. package/dist/types/src/light-account/clients/alchemyClient.d.ts.map +1 -1
  172. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts +1 -1
  173. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts.map +1 -1
  174. package/dist/types/src/light-account/decorators/lightAccount.d.ts +19 -0
  175. package/dist/types/src/light-account/decorators/lightAccount.d.ts.map +1 -1
  176. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts +19 -0
  177. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts.map +1 -1
  178. package/dist/types/src/light-account/utils.d.ts +11 -4
  179. package/dist/types/src/light-account/utils.d.ts.map +1 -1
  180. package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -1
  181. package/dist/types/src/msca/account-loupe/decorator.d.ts +15 -0
  182. package/dist/types/src/msca/account-loupe/decorator.d.ts.map +1 -1
  183. package/dist/types/src/msca/client/alchemyClient.d.ts +1 -1
  184. package/dist/types/src/msca/client/alchemyClient.d.ts.map +1 -1
  185. package/dist/types/src/msca/client/client.d.ts.map +1 -1
  186. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
  187. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts.map +1 -1
  188. package/dist/types/src/msca/errors.d.ts +12 -0
  189. package/dist/types/src/msca/errors.d.ts.map +1 -1
  190. package/dist/types/src/msca/plugin-manager/decorator.d.ts +16 -1
  191. package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -1
  192. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts +21 -0
  193. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -1
  194. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts +15 -0
  195. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts.map +1 -1
  196. package/dist/types/src/msca/plugins/multi-owner/index.d.ts +1 -1
  197. package/dist/types/src/msca/plugins/multi-owner/index.d.ts.map +1 -1
  198. package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -1
  199. package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts.map +1 -1
  200. package/dist/types/src/msca/plugins/multisig/extension.d.ts +13 -0
  201. package/dist/types/src/msca/plugins/multisig/extension.d.ts.map +1 -1
  202. package/dist/types/src/msca/plugins/multisig/index.d.ts +1 -8
  203. package/dist/types/src/msca/plugins/multisig/index.d.ts.map +1 -1
  204. package/dist/types/src/msca/plugins/multisig/middleware.d.ts +1 -1
  205. package/dist/types/src/msca/plugins/multisig/middleware.d.ts.map +1 -1
  206. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts +28 -2
  207. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts.map +1 -1
  208. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +21 -2
  209. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -1
  210. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  211. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts.map +1 -1
  212. package/dist/types/src/msca/plugins/session-key/extension.d.ts +13 -0
  213. package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -1
  214. package/dist/types/src/msca/plugins/session-key/index.d.ts +1 -1
  215. package/dist/types/src/msca/plugins/session-key/index.d.ts.map +1 -1
  216. package/dist/types/src/msca/plugins/session-key/permissions.d.ts +3 -0
  217. package/dist/types/src/msca/plugins/session-key/permissions.d.ts.map +1 -1
  218. package/dist/types/src/msca/plugins/session-key/signer.d.ts +1 -1
  219. package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -1
  220. package/dist/types/src/msca/plugins/session-key/utils.d.ts +22 -2
  221. package/dist/types/src/msca/plugins/session-key/utils.d.ts.map +1 -1
  222. package/dist/types/src/msca/utils.d.ts +43 -5
  223. package/dist/types/src/msca/utils.d.ts.map +1 -1
  224. package/package.json +5 -5
  225. package/plugindefs/multi-owner/config.ts +1 -2
  226. package/plugindefs/multisig/config.ts +1 -1
  227. package/plugindefs/session-key/config.ts +1 -1
  228. package/src/index.ts +2 -3
  229. package/src/light-account/accounts/account.ts +22 -3
  230. package/src/light-account/accounts/multiOwner.ts +26 -5
  231. package/src/light-account/actions/transferOwnership.ts +28 -5
  232. package/src/light-account/actions/updateOwners.ts +24 -0
  233. package/src/light-account/clients/alchemyClient.ts +21 -1
  234. package/src/light-account/clients/client.ts +27 -6
  235. package/src/light-account/clients/multiOwnerAlchemyClient.ts +21 -1
  236. package/src/light-account/clients/multiOwnerLightAccount.ts +27 -6
  237. package/src/light-account/decorators/lightAccount.ts +19 -0
  238. package/src/light-account/decorators/multiOwnerLightAccount.ts +19 -0
  239. package/src/light-account/utils.ts +31 -9
  240. package/src/msca/account/multiOwnerAccount.ts +36 -11
  241. package/src/msca/account/multisigAccount.ts +40 -14
  242. package/src/msca/account-loupe/decorator.ts +15 -0
  243. package/src/msca/client/alchemyClient.ts +21 -1
  244. package/src/msca/client/client.ts +46 -0
  245. package/src/msca/client/multiSigAlchemyClient.ts +26 -4
  246. package/src/msca/errors.ts +12 -0
  247. package/src/msca/plugin-manager/decorator.ts +22 -5
  248. package/src/msca/plugin-manager/installPlugin.ts +21 -0
  249. package/src/msca/plugins/multi-owner/extension.ts +15 -0
  250. package/src/msca/plugins/multi-owner/index.ts +3 -0
  251. package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +1 -1
  252. package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +1 -1
  253. package/src/msca/plugins/multisig/extension.ts +13 -0
  254. package/src/msca/plugins/multisig/index.ts +1 -12
  255. package/src/msca/plugins/multisig/middleware.ts +2 -2
  256. package/src/msca/plugins/multisig/utils/combineSignatures.ts +36 -9
  257. package/src/msca/plugins/multisig/utils/getSignerType.ts +23 -4
  258. package/src/msca/plugins/multisig/utils/index.ts +4 -0
  259. package/src/msca/plugins/session-key/extension.ts +13 -0
  260. package/src/msca/plugins/session-key/index.ts +7 -1
  261. package/src/msca/plugins/session-key/permissions.ts +3 -0
  262. package/src/msca/plugins/session-key/signer.ts +1 -2
  263. package/src/msca/plugins/session-key/utils.ts +33 -12
  264. package/src/msca/utils.ts +73 -16
package/src/msca/utils.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  import {
2
2
  AccountNotFoundError,
3
3
  ChainNotFoundError,
4
+ type GetAccountParameter,
5
+ type SmartAccountClient,
6
+ type SmartAccountSigner,
7
+ type SmartContractAccount,
8
+ type SmartContractAccountWithSigner,
9
+ type UpgradeToData,
10
+ } from "@aa-sdk/core";
11
+ import {
4
12
  arbitrum,
5
13
  arbitrumSepolia,
6
14
  base,
@@ -11,13 +19,7 @@ import {
11
19
  polygon,
12
20
  polygonAmoy,
13
21
  sepolia,
14
- type GetAccountParameter,
15
- type SmartAccountClient,
16
- type SmartAccountSigner,
17
- type SmartContractAccount,
18
- type SmartContractAccountWithSigner,
19
- type UpgradeToData,
20
- } from "@aa-sdk/core";
22
+ } from "@account-kit/infra";
21
23
  import type { Address, Chain, Transport } from "viem";
22
24
  import {
23
25
  custom,
@@ -39,7 +41,7 @@ import { MultiOwnerPlugin } from "./plugins/multi-owner/plugin.js";
39
41
  /**
40
42
  * Utility method returning the default multi sig msca factory address given a {@link Chain} object
41
43
  *
42
- * @param chain - a {@link Chain} object
44
+ * @param chain a {@link Chain} object
43
45
  * @returns a {@link Address} for the given chain
44
46
  * @throws if the chain doesn't have an address currently deployed
45
47
  */
@@ -78,6 +80,30 @@ export const getDefaultMultiOwnerModularAccountFactoryAddress = (
78
80
  }
79
81
  };
80
82
 
83
+ export type GetMSCAUpgradeToData<
84
+ TSigner extends SmartAccountSigner = SmartAccountSigner,
85
+ TAccount extends
86
+ | SmartContractAccountWithSigner<string, TSigner>
87
+ | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined
88
+ > = {
89
+ multiOwnerPluginAddress?: Address;
90
+ } & GetAccountParameter<TAccount>;
91
+
92
+ /**
93
+ * Retrieves the data necessary to upgrade to a Multi-Signature Contract Account (MSCA) and provides a method to create a Multi-Owner Modular Account.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * import { createLightAccountClient, getMSCAUpgradeToData } from "@account-kit/smart-contracts";
98
+ *
99
+ * const client = createLightAccountClient(...);
100
+ * const upgradeData = await getMSCAUpgradeToData(client, {});
101
+ * ```
102
+ *
103
+ * @param {SmartAccountClient<TTransport, TChain, TAccount>} client The smart account client
104
+ * @param {GetMSCAUpgradeToData<TSigner, TAccount>} args The arguments required for the upgrade
105
+ * @returns {Promise<UpgradeToData & { createMAAccount: () => Promise<MultiOwnerModularAccount<TSigner>>}>} A promise that resolves to upgrade data augmented with a function to create a Multi-Owner Modular Account
106
+ */
81
107
  export async function getMSCAUpgradeToData<
82
108
  TTransport extends Transport = Transport,
83
109
  TChain extends Chain | undefined = Chain | undefined,
@@ -87,9 +113,7 @@ export async function getMSCAUpgradeToData<
87
113
  | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined
88
114
  >(
89
115
  client: SmartAccountClient<TTransport, TChain, TAccount>,
90
- args: {
91
- multiOwnerPluginAddress?: Address;
92
- } & GetAccountParameter<TAccount>
116
+ args: GetMSCAUpgradeToData<TSigner, TAccount>
93
117
  ): Promise<
94
118
  UpgradeToData & {
95
119
  createMAAccount: () => Promise<MultiOwnerModularAccount<TSigner>>;
@@ -125,6 +149,39 @@ export async function getMSCAUpgradeToData<
125
149
  };
126
150
  }
127
151
 
152
+ export type GetMAInitializationDataParams<
153
+ TTransport extends Transport = Transport,
154
+ TChain extends Chain | undefined = Chain | undefined,
155
+ TAccount extends SmartContractAccount | undefined =
156
+ | SmartContractAccount
157
+ | undefined
158
+ > = {
159
+ multiOwnerPluginAddress?: Address;
160
+ client: SmartAccountClient<TTransport, TChain, TAccount>;
161
+ signerAddress: Address | Address[];
162
+ };
163
+
164
+ /**
165
+ * Retrieves the initialization data for a multi-owner modular account. Throws an error if the client's chain is not found or if the multi-owner plugin address is not retrievable.
166
+ *
167
+ * @example
168
+ * ```ts
169
+ * import { getMAInitializationData } from "@account-kit/smart-contracts";
170
+ * import { createSmartAccountClient } from "@aa-sdk/core";
171
+ *
172
+ * const client = createSmartAccountClient(...);
173
+ * const initializationData = await getMAInitializationData({
174
+ * client,
175
+ * signerAddress: "0x...", // or array of signers
176
+ * });
177
+ * ```
178
+ *
179
+ * @param {GetMAInitializationDataParams<TTransport, TChain, TAccount>} params the parameters for getting initialization data
180
+ * @param {SmartAccountClient<TTransport, TChain, TAccount>} params.client the smart account client
181
+ * @param {Address | Address[]} params.signerAddress the address of the signer or an array of signer addresses
182
+ * @param {Address} [params.multiOwnerPluginAddress] optional address of the multi-owner plugin
183
+ * @returns {Promise<UpgradeToData>} a promise that resolves to the initialization data required for upgrading to a multi-owner modular account
184
+ */
128
185
  export async function getMAInitializationData<
129
186
  TTransport extends Transport = Transport,
130
187
  TChain extends Chain | undefined = Chain | undefined,
@@ -135,11 +192,11 @@ export async function getMAInitializationData<
135
192
  client,
136
193
  multiOwnerPluginAddress,
137
194
  signerAddress,
138
- }: {
139
- multiOwnerPluginAddress?: Address;
140
- client: SmartAccountClient<TTransport, TChain, TAccount>;
141
- signerAddress: Address | Address[];
142
- }): Promise<UpgradeToData> {
195
+ }: GetMAInitializationDataParams<
196
+ TTransport,
197
+ TChain,
198
+ TAccount
199
+ >): Promise<UpgradeToData> {
143
200
  if (!client.chain) {
144
201
  throw new ChainNotFoundError();
145
202
  }