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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/dist/cjs/src/index.d.ts +3 -3
  2. package/dist/cjs/src/index.js +15 -15
  3. package/dist/cjs/src/index.js.map +1 -1
  4. package/dist/cjs/src/light-account/accounts/account.js +1 -1
  5. package/dist/cjs/src/light-account/accounts/account.js.map +1 -1
  6. package/dist/cjs/src/light-account/accounts/multiOwner.js +2 -4
  7. package/dist/cjs/src/light-account/accounts/multiOwner.js.map +1 -1
  8. package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +1 -1
  9. package/dist/cjs/src/light-account/actions/transferOwnership.js +2 -1
  10. package/dist/cjs/src/light-account/actions/transferOwnership.js.map +1 -1
  11. package/dist/cjs/src/light-account/actions/updateOwners.js.map +1 -1
  12. package/dist/cjs/src/light-account/clients/alchemyClient.js.map +1 -1
  13. package/dist/cjs/src/light-account/clients/client.js +2 -1
  14. package/dist/cjs/src/light-account/clients/client.js.map +1 -1
  15. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  16. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +2 -1
  17. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  18. package/dist/cjs/src/light-account/decorators/lightAccount.js.map +1 -1
  19. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  20. package/dist/cjs/src/light-account/utils.d.ts +3 -2
  21. package/dist/cjs/src/light-account/utils.js +14 -5
  22. package/dist/cjs/src/light-account/utils.js.map +1 -1
  23. package/dist/cjs/src/msca/account/multiOwnerAccount.js +2 -1
  24. package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +1 -1
  25. package/dist/cjs/src/msca/account/multisigAccount.js +4 -3
  26. package/dist/cjs/src/msca/account/multisigAccount.js.map +1 -1
  27. package/dist/cjs/src/msca/account-loupe/decorator.js.map +1 -1
  28. package/dist/cjs/src/msca/client/alchemyClient.js.map +1 -1
  29. package/dist/cjs/src/msca/client/client.js.map +1 -1
  30. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  31. package/dist/cjs/src/msca/errors.js.map +1 -1
  32. package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +1 -1
  33. package/dist/cjs/src/msca/plugin-manager/decorator.js +6 -4
  34. package/dist/cjs/src/msca/plugin-manager/decorator.js.map +1 -1
  35. package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +1 -1
  36. package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +1 -1
  37. package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +1 -1
  38. package/dist/cjs/src/msca/plugins/multi-owner/index.js +2 -1
  39. package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +1 -1
  40. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +2 -2
  41. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  42. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
  43. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  44. package/dist/cjs/src/msca/plugins/multisig/extension.js.map +1 -1
  45. package/dist/cjs/src/msca/plugins/multisig/index.d.ts +1 -8
  46. package/dist/cjs/src/msca/plugins/multisig/index.js +1 -16
  47. package/dist/cjs/src/msca/plugins/multisig/index.js.map +1 -1
  48. package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +1 -1
  49. package/dist/cjs/src/msca/plugins/multisig/middleware.js +1 -1
  50. package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +1 -1
  51. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
  52. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
  53. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
  54. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
  55. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  56. package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  57. package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +1 -1
  58. package/dist/cjs/src/msca/plugins/session-key/extension.js.map +1 -1
  59. package/dist/cjs/src/msca/plugins/session-key/index.d.ts +1 -1
  60. package/dist/cjs/src/msca/plugins/session-key/index.js +3 -1
  61. package/dist/cjs/src/msca/plugins/session-key/index.js.map +1 -1
  62. package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +1 -1
  63. package/dist/cjs/src/msca/plugins/session-key/signer.js.map +1 -1
  64. package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +4 -2
  65. package/dist/cjs/src/msca/plugins/session-key/utils.js +3 -2
  66. package/dist/cjs/src/msca/plugins/session-key/utils.js.map +1 -1
  67. package/dist/cjs/src/msca/utils.d.ts +6 -4
  68. package/dist/cjs/src/msca/utils.js.map +1 -1
  69. package/dist/esm/src/index.d.ts +3 -3
  70. package/dist/esm/src/index.js +2 -2
  71. package/dist/esm/src/index.js.map +1 -1
  72. package/dist/esm/src/light-account/accounts/account.js +2 -2
  73. package/dist/esm/src/light-account/accounts/account.js.map +1 -1
  74. package/dist/esm/src/light-account/accounts/multiOwner.js +3 -5
  75. package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -1
  76. package/dist/esm/src/light-account/actions/transferOwnership.d.ts +1 -1
  77. package/dist/esm/src/light-account/actions/transferOwnership.js +2 -1
  78. package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -1
  79. package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -1
  80. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
  81. package/dist/esm/src/light-account/clients/client.js +2 -1
  82. package/dist/esm/src/light-account/clients/client.js.map +1 -1
  83. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  84. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +2 -1
  85. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  86. package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -1
  87. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  88. package/dist/esm/src/light-account/utils.d.ts +3 -2
  89. package/dist/esm/src/light-account/utils.js +12 -4
  90. package/dist/esm/src/light-account/utils.js.map +1 -1
  91. package/dist/esm/src/msca/account/multiOwnerAccount.js +2 -1
  92. package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -1
  93. package/dist/esm/src/msca/account/multisigAccount.js +4 -3
  94. package/dist/esm/src/msca/account/multisigAccount.js.map +1 -1
  95. package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -1
  96. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
  97. package/dist/esm/src/msca/client/client.js.map +1 -1
  98. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  99. package/dist/esm/src/msca/errors.js.map +1 -1
  100. package/dist/esm/src/msca/plugin-manager/decorator.d.ts +1 -1
  101. package/dist/esm/src/msca/plugin-manager/decorator.js +6 -4
  102. package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -1
  103. package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -1
  104. package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -1
  105. package/dist/esm/src/msca/plugins/multi-owner/index.d.ts +1 -1
  106. package/dist/esm/src/msca/plugins/multi-owner/index.js +1 -1
  107. package/dist/esm/src/msca/plugins/multi-owner/index.js.map +1 -1
  108. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js +1 -1
  109. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  110. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
  111. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  112. package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -1
  113. package/dist/esm/src/msca/plugins/multisig/index.d.ts +1 -8
  114. package/dist/esm/src/msca/plugins/multisig/index.js +0 -7
  115. package/dist/esm/src/msca/plugins/multisig/index.js.map +1 -1
  116. package/dist/esm/src/msca/plugins/multisig/middleware.d.ts +1 -1
  117. package/dist/esm/src/msca/plugins/multisig/middleware.js +2 -1
  118. package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -1
  119. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
  120. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
  121. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
  122. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
  123. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  124. package/dist/esm/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  125. package/dist/esm/src/msca/plugins/multisig/utils/index.js.map +1 -1
  126. package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -1
  127. package/dist/esm/src/msca/plugins/session-key/index.d.ts +1 -1
  128. package/dist/esm/src/msca/plugins/session-key/index.js +1 -1
  129. package/dist/esm/src/msca/plugins/session-key/index.js.map +1 -1
  130. package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -1
  131. package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -1
  132. package/dist/esm/src/msca/plugins/session-key/utils.d.ts +4 -2
  133. package/dist/esm/src/msca/plugins/session-key/utils.js +3 -2
  134. package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -1
  135. package/dist/esm/src/msca/utils.d.ts +6 -4
  136. package/dist/esm/src/msca/utils.js.map +1 -1
  137. package/dist/types/src/index.d.ts +3 -3
  138. package/dist/types/src/index.d.ts.map +1 -1
  139. package/dist/types/src/light-account/accounts/account.d.ts.map +1 -1
  140. package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -1
  141. package/dist/types/src/light-account/actions/transferOwnership.d.ts +26 -1
  142. package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -1
  143. package/dist/types/src/light-account/actions/updateOwners.d.ts +24 -0
  144. package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -1
  145. package/dist/types/src/light-account/decorators/lightAccount.d.ts +19 -0
  146. package/dist/types/src/light-account/decorators/lightAccount.d.ts.map +1 -1
  147. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts +19 -0
  148. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts.map +1 -1
  149. package/dist/types/src/light-account/utils.d.ts +11 -4
  150. package/dist/types/src/light-account/utils.d.ts.map +1 -1
  151. package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -1
  152. package/dist/types/src/msca/account-loupe/decorator.d.ts +15 -0
  153. package/dist/types/src/msca/account-loupe/decorator.d.ts.map +1 -1
  154. package/dist/types/src/msca/client/client.d.ts.map +1 -1
  155. package/dist/types/src/msca/errors.d.ts +12 -0
  156. package/dist/types/src/msca/errors.d.ts.map +1 -1
  157. package/dist/types/src/msca/plugin-manager/decorator.d.ts +16 -1
  158. package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -1
  159. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts +21 -0
  160. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -1
  161. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts +15 -0
  162. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts.map +1 -1
  163. package/dist/types/src/msca/plugins/multi-owner/index.d.ts +1 -1
  164. package/dist/types/src/msca/plugins/multi-owner/index.d.ts.map +1 -1
  165. package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -1
  166. package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts.map +1 -1
  167. package/dist/types/src/msca/plugins/multisig/extension.d.ts +13 -0
  168. package/dist/types/src/msca/plugins/multisig/extension.d.ts.map +1 -1
  169. package/dist/types/src/msca/plugins/multisig/index.d.ts +1 -8
  170. package/dist/types/src/msca/plugins/multisig/index.d.ts.map +1 -1
  171. package/dist/types/src/msca/plugins/multisig/middleware.d.ts +1 -1
  172. package/dist/types/src/msca/plugins/multisig/middleware.d.ts.map +1 -1
  173. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts +28 -2
  174. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts.map +1 -1
  175. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +21 -2
  176. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -1
  177. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  178. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts.map +1 -1
  179. package/dist/types/src/msca/plugins/session-key/extension.d.ts +13 -0
  180. package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -1
  181. package/dist/types/src/msca/plugins/session-key/index.d.ts +1 -1
  182. package/dist/types/src/msca/plugins/session-key/index.d.ts.map +1 -1
  183. package/dist/types/src/msca/plugins/session-key/permissions.d.ts +3 -0
  184. package/dist/types/src/msca/plugins/session-key/permissions.d.ts.map +1 -1
  185. package/dist/types/src/msca/plugins/session-key/signer.d.ts +1 -1
  186. package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -1
  187. package/dist/types/src/msca/plugins/session-key/utils.d.ts +22 -2
  188. package/dist/types/src/msca/plugins/session-key/utils.d.ts.map +1 -1
  189. package/dist/types/src/msca/utils.d.ts +43 -5
  190. package/dist/types/src/msca/utils.d.ts.map +1 -1
  191. package/package.json +5 -5
  192. package/src/index.ts +2 -3
  193. package/src/light-account/accounts/account.ts +22 -3
  194. package/src/light-account/accounts/multiOwner.ts +26 -5
  195. package/src/light-account/actions/transferOwnership.ts +28 -5
  196. package/src/light-account/actions/updateOwners.ts +24 -0
  197. package/src/light-account/clients/alchemyClient.ts +20 -0
  198. package/src/light-account/clients/client.ts +27 -6
  199. package/src/light-account/clients/multiOwnerAlchemyClient.ts +20 -0
  200. package/src/light-account/clients/multiOwnerLightAccount.ts +27 -6
  201. package/src/light-account/decorators/lightAccount.ts +19 -0
  202. package/src/light-account/decorators/multiOwnerLightAccount.ts +19 -0
  203. package/src/light-account/utils.ts +29 -6
  204. package/src/msca/account/multiOwnerAccount.ts +36 -11
  205. package/src/msca/account/multisigAccount.ts +40 -14
  206. package/src/msca/account-loupe/decorator.ts +15 -0
  207. package/src/msca/client/alchemyClient.ts +20 -0
  208. package/src/msca/client/client.ts +46 -0
  209. package/src/msca/client/multiSigAlchemyClient.ts +22 -0
  210. package/src/msca/errors.ts +12 -0
  211. package/src/msca/plugin-manager/decorator.ts +22 -5
  212. package/src/msca/plugin-manager/installPlugin.ts +21 -0
  213. package/src/msca/plugins/multi-owner/extension.ts +15 -0
  214. package/src/msca/plugins/multi-owner/index.ts +3 -0
  215. package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +1 -1
  216. package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +1 -1
  217. package/src/msca/plugins/multisig/extension.ts +13 -0
  218. package/src/msca/plugins/multisig/index.ts +1 -12
  219. package/src/msca/plugins/multisig/middleware.ts +2 -2
  220. package/src/msca/plugins/multisig/utils/combineSignatures.ts +36 -9
  221. package/src/msca/plugins/multisig/utils/getSignerType.ts +23 -4
  222. package/src/msca/plugins/multisig/utils/index.ts +4 -0
  223. package/src/msca/plugins/session-key/extension.ts +13 -0
  224. package/src/msca/plugins/session-key/index.ts +7 -1
  225. package/src/msca/plugins/session-key/permissions.ts +3 -0
  226. package/src/msca/plugins/session-key/signer.ts +1 -2
  227. package/src/msca/plugins/session-key/utils.ts +33 -12
  228. package/src/msca/utils.ts +64 -9
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/permissions.ts"],"names":[],"mappings":"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","sourcesContent":["import { encodeFunctionData, type Address, type Hex } from \"viem\";\nimport { SessionKeyPermissionsUpdatesAbi } from \"./SessionKeyPermissionsUpdatesAbi.js\";\n\nexport enum SessionKeyAccessListType {\n ALLOWLIST = 0,\n DENYLIST = 1,\n ALLOW_ALL_ACCESS = 2,\n}\n\nexport type ContractAccessEntry = {\n // The contract address to add or remove.\n contractAddress: Address;\n // Whether the contract address should be on the list.\n isOnList: boolean;\n // Whether to check selectors for the contract address.\n checkSelectors: boolean;\n};\n\nexport type ContractMethodEntry = {\n // The contract address to add or remove.\n contractAddress: Address;\n // The function selector to add or remove.\n methodSelector: Hex;\n // Whether the function selector should be on the list.\n isOnList: boolean;\n};\n\nexport type TimeRange = {\n validFrom: number;\n validUntil: number;\n};\n\nexport type NativeTokenLimit = {\n spendLimit: bigint;\n // The time interval over which the spend limit is enforced. If unset, there is no time\n /// interval by which the limit is refreshed.\n refreshInterval?: number;\n};\n\nexport type Erc20TokenLimit = {\n tokenAddress: Address;\n spendLimit: bigint;\n // The time interval over which the spend limit is enforced. If unset, there is no time\n /// interval by which the limit is refreshed.\n refreshInterval?: number;\n};\n\n// uint256 spendLimit, uint48 refreshInterval\nexport type GasSpendLimit = {\n // The amount, in wei, of native tokens that a session key can spend on gas.\n // Note that this is not the same as the gas limit for a user operation, which is measured in units of gas.\n // This tracks gas units * gas price.\n spendLimit: bigint;\n // The time interval over which the spend limit is enforced. If unset, there is no time\n /// interval by which the limit is refreshed.\n refreshInterval?: number;\n};\n\nexport class SessionKeyPermissionsBuilder {\n private _contractAccessControlType: SessionKeyAccessListType =\n SessionKeyAccessListType.ALLOWLIST;\n private _contractAddressAccessEntrys: ContractAccessEntry[] = [];\n private _contractMethodAccessEntrys: ContractMethodEntry[] = [];\n private _timeRange?: TimeRange;\n private _nativeTokenSpendLimit?: NativeTokenLimit;\n private _erc20TokenSpendLimits: Erc20TokenLimit[] = [];\n private _gasSpendLimit?: GasSpendLimit;\n private _requiredPaymaster?: Address;\n\n public setContractAccessControlType(aclType: SessionKeyAccessListType) {\n this._contractAccessControlType = aclType;\n return this;\n }\n\n public addContractAddressAccessEntry(entry: ContractAccessEntry) {\n this._contractAddressAccessEntrys.push(entry);\n return this;\n }\n\n public addContractFunctionAccessEntry(entry: ContractMethodEntry) {\n this._contractMethodAccessEntrys.push(entry);\n return this;\n }\n\n public setTimeRange(timeRange: TimeRange) {\n this._timeRange = timeRange;\n return this;\n }\n\n public setNativeTokenSpendLimit(limit: NativeTokenLimit) {\n this._nativeTokenSpendLimit = limit;\n return this;\n }\n\n public addErc20TokenSpendLimit(limit: Erc20TokenLimit) {\n this._erc20TokenSpendLimits.push(limit);\n return this;\n }\n\n public setGasSpendLimit(limit: GasSpendLimit) {\n this._gasSpendLimit = limit;\n return this;\n }\n\n public setRequiredPaymaster(paymaster: Address) {\n this._requiredPaymaster = paymaster;\n return this;\n }\n\n public encode(): Hex[] {\n return [\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setAccessListType\",\n args: [this._contractAccessControlType],\n }),\n ...this._contractAddressAccessEntrys.map((entry) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"updateAccessListAddressEntry\",\n args: [entry.contractAddress, entry.isOnList, entry.checkSelectors],\n })\n ),\n ...this._contractMethodAccessEntrys.map((entry) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"updateAccessListFunctionEntry\",\n args: [entry.contractAddress, entry.methodSelector, entry.isOnList],\n })\n ),\n this.encodeIfDefined(\n (timeRange) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"updateTimeRange\",\n args: [timeRange.validFrom, timeRange.validUntil],\n }),\n this._timeRange\n ),\n this.encodeIfDefined(\n (nativeSpendLimit) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setNativeTokenSpendLimit\",\n args: [\n nativeSpendLimit.spendLimit,\n nativeSpendLimit.refreshInterval ?? 0,\n ],\n }),\n this._nativeTokenSpendLimit\n ),\n ...this._erc20TokenSpendLimits.map((erc20SpendLimit) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setERC20SpendLimit\",\n args: [\n erc20SpendLimit.tokenAddress,\n erc20SpendLimit.spendLimit,\n erc20SpendLimit.refreshInterval ?? 0,\n ],\n })\n ),\n this.encodeIfDefined(\n (spendLimit) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setGasSpendLimit\",\n args: [spendLimit.spendLimit, spendLimit.refreshInterval ?? 0],\n }),\n this._gasSpendLimit\n ),\n this.encodeIfDefined(\n (paymaster) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setRequiredPaymaster\",\n args: [paymaster],\n }),\n this._requiredPaymaster\n ),\n ].filter((x) => x !== \"0x\");\n }\n\n private encodeIfDefined<T>(encode: (param: T) => Hex, param?: T): Hex {\n if (!param) return \"0x\";\n\n return encode(param);\n }\n}\n"]}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/permissions.ts"],"names":[],"mappings":"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","sourcesContent":["import { encodeFunctionData, type Address, type Hex } from \"viem\";\nimport { SessionKeyPermissionsUpdatesAbi } from \"./SessionKeyPermissionsUpdatesAbi.js\";\n\nexport enum SessionKeyAccessListType {\n ALLOWLIST = 0,\n DENYLIST = 1,\n ALLOW_ALL_ACCESS = 2,\n}\n\nexport type ContractAccessEntry = {\n // The contract address to add or remove.\n contractAddress: Address;\n // Whether the contract address should be on the list.\n isOnList: boolean;\n // Whether to check selectors for the contract address.\n checkSelectors: boolean;\n};\n\nexport type ContractMethodEntry = {\n // The contract address to add or remove.\n contractAddress: Address;\n // The function selector to add or remove.\n methodSelector: Hex;\n // Whether the function selector should be on the list.\n isOnList: boolean;\n};\n\nexport type TimeRange = {\n validFrom: number;\n validUntil: number;\n};\n\nexport type NativeTokenLimit = {\n spendLimit: bigint;\n // The time interval over which the spend limit is enforced. If unset, there is no time\n /// interval by which the limit is refreshed.\n refreshInterval?: number;\n};\n\nexport type Erc20TokenLimit = {\n tokenAddress: Address;\n spendLimit: bigint;\n // The time interval over which the spend limit is enforced. If unset, there is no time\n /// interval by which the limit is refreshed.\n refreshInterval?: number;\n};\n\n// uint256 spendLimit, uint48 refreshInterval\nexport type GasSpendLimit = {\n // The amount, in wei, of native tokens that a session key can spend on gas.\n // Note that this is not the same as the gas limit for a user operation, which is measured in units of gas.\n // This tracks gas units * gas price.\n spendLimit: bigint;\n // The time interval over which the spend limit is enforced. If unset, there is no time\n /// interval by which the limit is refreshed.\n refreshInterval?: number;\n};\n\n/**\n * A builder for creating the hex-encoded data for updating session key permissions.\n */\nexport class SessionKeyPermissionsBuilder {\n private _contractAccessControlType: SessionKeyAccessListType =\n SessionKeyAccessListType.ALLOWLIST;\n private _contractAddressAccessEntrys: ContractAccessEntry[] = [];\n private _contractMethodAccessEntrys: ContractMethodEntry[] = [];\n private _timeRange?: TimeRange;\n private _nativeTokenSpendLimit?: NativeTokenLimit;\n private _erc20TokenSpendLimits: Erc20TokenLimit[] = [];\n private _gasSpendLimit?: GasSpendLimit;\n private _requiredPaymaster?: Address;\n\n public setContractAccessControlType(aclType: SessionKeyAccessListType) {\n this._contractAccessControlType = aclType;\n return this;\n }\n\n public addContractAddressAccessEntry(entry: ContractAccessEntry) {\n this._contractAddressAccessEntrys.push(entry);\n return this;\n }\n\n public addContractFunctionAccessEntry(entry: ContractMethodEntry) {\n this._contractMethodAccessEntrys.push(entry);\n return this;\n }\n\n public setTimeRange(timeRange: TimeRange) {\n this._timeRange = timeRange;\n return this;\n }\n\n public setNativeTokenSpendLimit(limit: NativeTokenLimit) {\n this._nativeTokenSpendLimit = limit;\n return this;\n }\n\n public addErc20TokenSpendLimit(limit: Erc20TokenLimit) {\n this._erc20TokenSpendLimits.push(limit);\n return this;\n }\n\n public setGasSpendLimit(limit: GasSpendLimit) {\n this._gasSpendLimit = limit;\n return this;\n }\n\n public setRequiredPaymaster(paymaster: Address) {\n this._requiredPaymaster = paymaster;\n return this;\n }\n\n public encode(): Hex[] {\n return [\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setAccessListType\",\n args: [this._contractAccessControlType],\n }),\n ...this._contractAddressAccessEntrys.map((entry) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"updateAccessListAddressEntry\",\n args: [entry.contractAddress, entry.isOnList, entry.checkSelectors],\n })\n ),\n ...this._contractMethodAccessEntrys.map((entry) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"updateAccessListFunctionEntry\",\n args: [entry.contractAddress, entry.methodSelector, entry.isOnList],\n })\n ),\n this.encodeIfDefined(\n (timeRange) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"updateTimeRange\",\n args: [timeRange.validFrom, timeRange.validUntil],\n }),\n this._timeRange\n ),\n this.encodeIfDefined(\n (nativeSpendLimit) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setNativeTokenSpendLimit\",\n args: [\n nativeSpendLimit.spendLimit,\n nativeSpendLimit.refreshInterval ?? 0,\n ],\n }),\n this._nativeTokenSpendLimit\n ),\n ...this._erc20TokenSpendLimits.map((erc20SpendLimit) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setERC20SpendLimit\",\n args: [\n erc20SpendLimit.tokenAddress,\n erc20SpendLimit.spendLimit,\n erc20SpendLimit.refreshInterval ?? 0,\n ],\n })\n ),\n this.encodeIfDefined(\n (spendLimit) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setGasSpendLimit\",\n args: [spendLimit.spendLimit, spendLimit.refreshInterval ?? 0],\n }),\n this._gasSpendLimit\n ),\n this.encodeIfDefined(\n (paymaster) =>\n encodeFunctionData({\n abi: SessionKeyPermissionsUpdatesAbi,\n functionName: \"setRequiredPaymaster\",\n args: [paymaster],\n }),\n this._requiredPaymaster\n ),\n ].filter((x) => x !== \"0x\");\n }\n\n private encodeIfDefined<T>(encode: (param: T) => Hex, param?: T): Hex {\n if (!param) return \"0x\";\n\n return encode(param);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/signer.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalAccountSigner, type SmartAccountSigner } from \"@aa-sdk/core\";\nimport type {\n Hex,\n PrivateKeyAccount,\n SignableMessage,\n TypedData,\n TypedDataDefinition,\n} from \"viem\";\nimport { generatePrivateKey } from \"viem/accounts\";\nimport { z } from \"zod\";\n\nexport const SessionKeySignerSchema = z.object({\n storageType: z\n .union([z.literal(\"local-storage\"), z.literal(\"session-storage\")])\n .or(z.custom<Storage>())\n .default(\"local-storage\"),\n storageKey: z.string().default(\"session-key-signer:session-key\"),\n});\n\nexport type SessionKeySignerConfig = z.input<typeof SessionKeySignerSchema>;\n\n/**\n * A simple session key signer that uses localStorage or sessionStorage to store\n * a private key. If the key is not found, it will generate a new one and store\n * it in the storage.\n */\n\nexport const SESSION_KEY_SIGNER_TYPE_PFX = \"alchemy:session-key\";\nexport class SessionKeySigner\n implements SmartAccountSigner<LocalAccountSigner<PrivateKeyAccount>>\n{\n signerType: string;\n inner: LocalAccountSigner<PrivateKeyAccount>;\n private storageType: \"local-storage\" | \"session-storage\" | Storage;\n private storageKey: string;\n\n constructor(config_: SessionKeySignerConfig = {}) {\n const config = SessionKeySignerSchema.parse(config_);\n this.signerType = `${SESSION_KEY_SIGNER_TYPE_PFX}`;\n this.storageKey = config.storageKey;\n this.storageType = config.storageType;\n\n const sessionKey = (() => {\n const storage =\n typeof this.storageType !== \"string\"\n ? this.storageType\n : this.storageType === \"session-storage\"\n ? sessionStorage\n : localStorage;\n const key = storage.getItem(this.storageKey);\n\n if (key) {\n return key;\n } else {\n const newKey = generatePrivateKey();\n storage.setItem(this.storageKey, newKey);\n return newKey;\n }\n })() as Hex;\n\n this.inner = LocalAccountSigner.privateKeyToAccountSigner(sessionKey);\n }\n\n getAddress: () => Promise<`0x${string}`> = async () => {\n return this.inner.getAddress();\n };\n\n signMessage: (msg: SignableMessage) => Promise<`0x${string}`> = async (\n msg\n ) => {\n return this.inner.signMessage(msg);\n };\n\n signTypedData = async <\n const TTypedData extends TypedData | { [key: string]: unknown },\n TPrimaryType extends string = string\n >(\n params: TypedDataDefinition<TTypedData, TPrimaryType>\n ) => {\n return this.inner.signTypedData(params);\n };\n\n /**\n * Generates a new private key and stores it in the storage.\n *\n * @returns The public address of the new key.\n */\n generateNewKey = () => {\n const storage =\n this.storageType === \"session-storage\" ? sessionStorage : localStorage;\n\n const newKey = generatePrivateKey();\n storage.setItem(this.storageKey, newKey);\n this.inner = LocalAccountSigner.privateKeyToAccountSigner(newKey);\n\n return this.inner.inner.address;\n };\n}\n"]}
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/signer.ts"],"names":[],"mappings":"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","sourcesContent":["import { LocalAccountSigner, type SmartAccountSigner } from \"@aa-sdk/core\";\nimport type {\n Hex,\n PrivateKeyAccount,\n SignableMessage,\n TypedData,\n TypedDataDefinition,\n} from \"viem\";\nimport { generatePrivateKey } from \"viem/accounts\";\nimport { z } from \"zod\";\n\nexport const SessionKeySignerSchema = z.object({\n storageType: z\n .union([z.literal(\"local-storage\"), z.literal(\"session-storage\")])\n .or(z.custom<Storage>())\n .default(\"local-storage\"),\n storageKey: z.string().default(\"session-key-signer:session-key\"),\n});\n\nexport type SessionKeySignerConfig = z.input<typeof SessionKeySignerSchema>;\nexport const SESSION_KEY_SIGNER_TYPE_PFX = \"alchemy:session-key\";\n\n/**\n * A simple session key signer that uses localStorage or sessionStorage to store\n * a private key. If the key is not found, it will generate a new one and store\n * it in the storage.\n */\nexport class SessionKeySigner\n implements SmartAccountSigner<LocalAccountSigner<PrivateKeyAccount>>\n{\n signerType: string;\n inner: LocalAccountSigner<PrivateKeyAccount>;\n private storageType: \"local-storage\" | \"session-storage\" | Storage;\n private storageKey: string;\n\n constructor(config_: SessionKeySignerConfig = {}) {\n const config = SessionKeySignerSchema.parse(config_);\n this.signerType = `${SESSION_KEY_SIGNER_TYPE_PFX}`;\n this.storageKey = config.storageKey;\n this.storageType = config.storageType;\n\n const sessionKey = (() => {\n const storage =\n typeof this.storageType !== \"string\"\n ? this.storageType\n : this.storageType === \"session-storage\"\n ? sessionStorage\n : localStorage;\n const key = storage.getItem(this.storageKey);\n\n if (key) {\n return key;\n } else {\n const newKey = generatePrivateKey();\n storage.setItem(this.storageKey, newKey);\n return newKey;\n }\n })() as Hex;\n\n this.inner = LocalAccountSigner.privateKeyToAccountSigner(sessionKey);\n }\n\n getAddress: () => Promise<`0x${string}`> = async () => {\n return this.inner.getAddress();\n };\n\n signMessage: (msg: SignableMessage) => Promise<`0x${string}`> = async (\n msg\n ) => {\n return this.inner.signMessage(msg);\n };\n\n signTypedData = async <\n const TTypedData extends TypedData | { [key: string]: unknown },\n TPrimaryType extends string = string\n >(\n params: TypedDataDefinition<TTypedData, TPrimaryType>\n ) => {\n return this.inner.signTypedData(params);\n };\n\n /**\n * Generates a new private key and stores it in the storage.\n *\n * @returns The public address of the new key.\n */\n generateNewKey = () => {\n const storage =\n this.storageType === \"session-storage\" ? sessionStorage : localStorage;\n\n const newKey = generatePrivateKey();\n storage.setItem(this.storageKey, newKey);\n this.inner = LocalAccountSigner.privateKeyToAccountSigner(newKey);\n\n return this.inner.inner.address;\n };\n}\n"]}
@@ -1,9 +1,11 @@
1
1
  import type { GetAccountParameter, SmartContractAccount } from "@aa-sdk/core";
2
2
  import type { Address, Chain, Client, Transport } from "viem";
3
- export declare const buildSessionKeysToRemoveStruct: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: {
3
+ type BuildSessionKeysToRemoveStructParams<TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined> = {
4
4
  keys: ReadonlyArray<Address>;
5
5
  pluginAddress?: Address;
6
- } & GetAccountParameter<TAccount>) => Promise<{
6
+ } & GetAccountParameter<TAccount>;
7
+ export declare function buildSessionKeysToRemoveStruct<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: BuildSessionKeysToRemoveStructParams): Promise<{
7
8
  sessionKey: Address;
8
9
  predecessor: Address;
9
10
  }[]>;
11
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { AccountNotFoundError } from "@aa-sdk/core";
2
2
  import { SessionKeyPlugin } from "./plugin.js";
3
- export const buildSessionKeysToRemoveStruct = async (client, { keys, pluginAddress, account = client.account }) => {
3
+ export async function buildSessionKeysToRemoveStruct(client, args) {
4
+ const { keys, pluginAddress, account = client.account } = args;
4
5
  if (!account)
5
6
  throw new AccountNotFoundError();
6
7
  const contract = SessionKeyPlugin.getContract(client, pluginAddress);
@@ -13,5 +14,5 @@ export const buildSessionKeysToRemoveStruct = async (client, { keys, pluginAddre
13
14
  sessionKey: key,
14
15
  predecessor,
15
16
  }));
16
- };
17
+ }
17
18
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,CAAC,MAAM,8BAA8B,GAYqB,KAAK,EACnE,MAAM,EACN,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,EACjD,EAAE;IACF,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrE,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,OAAO;YACL,GAAG;YACH,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,UAAU,EAAE,GAAG;QACf,WAAW;KACZ,CAAC,CAAC,CAAC;AACN,CAAC,CAAC","sourcesContent":["import type { GetAccountParameter, SmartContractAccount } from \"@aa-sdk/core\";\nimport { AccountNotFoundError } from \"@aa-sdk/core\";\nimport type { Address, Chain, Client, Transport } from \"viem\";\nimport { SessionKeyPlugin } from \"./plugin.js\";\n\n// find predecessors for each keys and returned the struct `ISessionKeyPlugin.SessionKeyToRemove[]`\n// where SessionKeyToRemove = { sessionKey: Address, predecessor: Hex }\nexport const buildSessionKeysToRemoveStruct: <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>,\n args: {\n keys: ReadonlyArray<Address>;\n pluginAddress?: Address;\n } & GetAccountParameter<TAccount>\n) => Promise<{ sessionKey: Address; predecessor: Address }[]> = async (\n client,\n { keys, pluginAddress, account = client.account }\n) => {\n if (!account) throw new AccountNotFoundError();\n\n const contract = SessionKeyPlugin.getContract(client, pluginAddress);\n return (\n await Promise.all(\n keys.map(async (key) => {\n return [\n key,\n await contract.read.findPredecessor([account.address, key]),\n ];\n })\n )\n ).map(([key, predecessor]) => ({\n sessionKey: key,\n predecessor,\n }));\n};\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA6B/C,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAOlD,MAA4C,EAC5C,IAA0C;IAE1C,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAE/D,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrE,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,OAAO;YACL,GAAG;YACH,MAAM,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC,CAAC,CACH,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7B,UAAU,EAAE,GAAG;QACf,WAAW;KACZ,CAAC,CAAC,CAAC;AACN,CAAC","sourcesContent":["import type { GetAccountParameter, SmartContractAccount } from \"@aa-sdk/core\";\nimport { AccountNotFoundError } from \"@aa-sdk/core\";\nimport type { Address, Chain, Client, Transport } from \"viem\";\nimport { SessionKeyPlugin } from \"./plugin.js\";\n\ntype BuildSessionKeysToRemoveStructParams<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined\n> = {\n keys: ReadonlyArray<Address>;\n pluginAddress?: Address;\n} & GetAccountParameter<TAccount>;\n\n/**\n * Finds predecessors for each provided key and returns them in the struct `ISessionKeyPlugin.SessionKeyToRemove[]`.\n *\n * @example\n * ```ts\n * import { buildSessionKeysToRemoveStruct } from \"@account-kit/smart-contracts\";\n *\n * const client = createSmartAccountClient(...);\n *\n * const keysToRemove = await buildSessionKeysToRemoveStruct(client, {\n * keys: [\"0x...\", \"0x...\"],\n * });\n * ```\n *\n * @param {Client<TTransport, TChain, TAccount>} client The client instance used to interact with the smart account\n * @param {BuildSessionKeysToRemoveStructParams<TAccount>} args Arguments to configure the session key removal process\n * @returns {Promise<{ sessionKey: Address; predecessor: Address }[]>} A promise that resolves to an array of objects each containing a session key and its predecessor\n */\nexport async function buildSessionKeysToRemoveStruct<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined\n>(\n client: Client<TTransport, TChain, TAccount>,\n args: BuildSessionKeysToRemoveStructParams\n): Promise<{ sessionKey: Address; predecessor: Address }[]> {\n const { keys, pluginAddress, account = client.account } = args;\n\n if (!account) throw new AccountNotFoundError();\n\n const contract = SessionKeyPlugin.getContract(client, pluginAddress);\n return (\n await Promise.all(\n keys.map(async (key) => {\n return [\n key,\n await contract.read.findPredecessor([account.address, key]),\n ];\n })\n )\n ).map(([key, predecessor]) => ({\n sessionKey: key,\n predecessor,\n }));\n}\n"]}
@@ -3,13 +3,15 @@ import type { Address, Chain, Transport } from "viem";
3
3
  import { type MultiOwnerModularAccount } from "./account/multiOwnerAccount.js";
4
4
  export declare const getDefaultMultisigModularAccountFactoryAddress: (chain: Chain) => Address;
5
5
  export declare const getDefaultMultiOwnerModularAccountFactoryAddress: (chain: Chain) => Address;
6
- export declare function getMSCAUpgradeToData<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends SmartContractAccountWithSigner<string, TSigner> | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined>(client: SmartAccountClient<TTransport, TChain, TAccount>, args: {
6
+ export type GetMSCAUpgradeToData<TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends SmartContractAccountWithSigner<string, TSigner> | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined> = {
7
7
  multiOwnerPluginAddress?: Address;
8
- } & GetAccountParameter<TAccount>): Promise<UpgradeToData & {
8
+ } & GetAccountParameter<TAccount>;
9
+ export declare function getMSCAUpgradeToData<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends SmartContractAccountWithSigner<string, TSigner> | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined>(client: SmartAccountClient<TTransport, TChain, TAccount>, args: GetMSCAUpgradeToData<TSigner, TAccount>): Promise<UpgradeToData & {
9
10
  createMAAccount: () => Promise<MultiOwnerModularAccount<TSigner>>;
10
11
  }>;
11
- export declare function getMAInitializationData<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>({ client, multiOwnerPluginAddress, signerAddress, }: {
12
+ export type GetMAInitializationDataParams<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined> = {
12
13
  multiOwnerPluginAddress?: Address;
13
14
  client: SmartAccountClient<TTransport, TChain, TAccount>;
14
15
  signerAddress: Address | Address[];
15
- }): Promise<UpgradeToData>;
16
+ };
17
+ export declare function getMAInitializationData<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>({ client, multiOwnerPluginAddress, signerAddress, }: GetMAInitializationDataParams<TTransport, TChain, TAccount>): Promise<UpgradeToData>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/msca/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AccountNotFoundError,\n ChainNotFoundError,\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n type GetAccountParameter,\n type SmartAccountClient,\n type SmartAccountSigner,\n type SmartContractAccount,\n type SmartContractAccountWithSigner,\n type UpgradeToData,\n} from \"@aa-sdk/core\";\nimport type { Address, Chain, Transport } from \"viem\";\nimport {\n custom,\n encodeAbiParameters,\n encodeFunctionData,\n encodeFunctionResult,\n keccak256,\n parseAbiParameters,\n} from \"viem\";\nimport { IPluginAbi } from \"./abis/IPlugin.js\";\nimport { MultiOwnerModularAccountFactoryAbi } from \"./abis/MultiOwnerModularAccountFactory.js\";\nimport { UpgradeableModularAccountAbi } from \"./abis/UpgradeableModularAccount.js\";\nimport {\n createMultiOwnerModularAccount,\n type MultiOwnerModularAccount,\n} from \"./account/multiOwnerAccount.js\";\nimport { MultiOwnerPlugin } from \"./plugins/multi-owner/plugin.js\";\n\n/**\n * Utility method returning the default multi sig msca factory address given a {@link Chain} object\n *\n * @param chain - a {@link Chain} object\n * @returns a {@link Address} for the given chain\n * @throws if the chain doesn't have an address currently deployed\n */\nexport const getDefaultMultisigModularAccountFactoryAddress = (\n chain: Chain\n): Address => {\n switch (chain.id) {\n case sepolia.id:\n case baseSepolia.id:\n case polygon.id:\n case mainnet.id:\n case polygonAmoy.id:\n case optimism.id:\n case optimismSepolia.id:\n case arbitrum.id:\n case arbitrumSepolia.id:\n case base.id:\n default:\n return \"0x000000000000204327E6669f00901a57CE15aE15\";\n }\n};\n\n/**\n * Utility method returning the default multi owner msca factory address given a {@link Chain} object\n *\n * @param chain - a {@link Chain} object\n * @returns a {@link Address} for the given chain\n * @throws if the chain doesn't have an address currently deployed\n */\nexport const getDefaultMultiOwnerModularAccountFactoryAddress = (\n chain: Chain\n): Address => {\n switch (chain.id) {\n default:\n return \"0x000000e92D78D90000007F0082006FDA09BD5f11\";\n }\n};\n\nexport async function getMSCAUpgradeToData<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends\n | SmartContractAccountWithSigner<string, TSigner>\n | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined\n>(\n client: SmartAccountClient<TTransport, TChain, TAccount>,\n args: {\n multiOwnerPluginAddress?: Address;\n } & GetAccountParameter<TAccount>\n): Promise<\n UpgradeToData & {\n createMAAccount: () => Promise<MultiOwnerModularAccount<TSigner>>;\n }\n> {\n const { account: account_ = client.account, multiOwnerPluginAddress } = args;\n\n if (!account_) {\n throw new AccountNotFoundError();\n }\n const account = account_ as SmartContractAccountWithSigner<string, TSigner>;\n\n const chain = client.chain;\n if (!chain) {\n throw new ChainNotFoundError();\n }\n\n const initData = await getMAInitializationData({\n client,\n multiOwnerPluginAddress,\n signerAddress: await account.getSigner().getAddress(),\n });\n\n return {\n ...initData,\n createMAAccount: async () =>\n createMultiOwnerModularAccount({\n transport: custom(client.transport),\n chain: chain as Chain,\n signer: account.getSigner(),\n accountAddress: account.address,\n }),\n };\n}\n\nexport async function getMAInitializationData<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined\n>({\n client,\n multiOwnerPluginAddress,\n signerAddress,\n}: {\n multiOwnerPluginAddress?: Address;\n client: SmartAccountClient<TTransport, TChain, TAccount>;\n signerAddress: Address | Address[];\n}): Promise<UpgradeToData> {\n if (!client.chain) {\n throw new ChainNotFoundError();\n }\n\n const factoryAddress = getDefaultMultiOwnerModularAccountFactoryAddress(\n client.chain\n );\n\n const implAddress = await client.readContract({\n abi: MultiOwnerModularAccountFactoryAbi,\n address: factoryAddress,\n functionName: \"IMPL\",\n });\n\n const multiOwnerAddress =\n multiOwnerPluginAddress ?? MultiOwnerPlugin.meta.addresses[client.chain.id];\n\n if (!multiOwnerAddress) {\n throw new Error(\"could not get multi owner plugin address\");\n }\n\n const moPluginManifest = await client.readContract({\n abi: IPluginAbi,\n address: multiOwnerAddress,\n functionName: \"pluginManifest\",\n });\n\n const hashedMultiOwnerPluginManifest = keccak256(\n encodeFunctionResult({\n abi: IPluginAbi,\n functionName: \"pluginManifest\",\n result: moPluginManifest,\n })\n );\n\n const encodedOwner = encodeAbiParameters(\n parseAbiParameters(\"address[]\"),\n Array.isArray(signerAddress) ? [signerAddress] : [[signerAddress]]\n );\n\n const encodedPluginInitData = encodeAbiParameters(\n parseAbiParameters(\"bytes32[], bytes[]\"),\n [[hashedMultiOwnerPluginManifest], [encodedOwner]]\n );\n\n const encodedMSCAInitializeData = encodeFunctionData({\n abi: UpgradeableModularAccountAbi,\n functionName: \"initialize\",\n args: [[multiOwnerAddress], encodedPluginInitData],\n });\n\n return {\n implAddress,\n initializationData: encodedMSCAInitializeData,\n };\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/msca/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AccountNotFoundError,\n ChainNotFoundError,\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n mainnet,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n sepolia,\n type GetAccountParameter,\n type SmartAccountClient,\n type SmartAccountSigner,\n type SmartContractAccount,\n type SmartContractAccountWithSigner,\n type UpgradeToData,\n} from \"@aa-sdk/core\";\nimport type { Address, Chain, Transport } from \"viem\";\nimport {\n custom,\n encodeAbiParameters,\n encodeFunctionData,\n encodeFunctionResult,\n keccak256,\n parseAbiParameters,\n} from \"viem\";\nimport { IPluginAbi } from \"./abis/IPlugin.js\";\nimport { MultiOwnerModularAccountFactoryAbi } from \"./abis/MultiOwnerModularAccountFactory.js\";\nimport { UpgradeableModularAccountAbi } from \"./abis/UpgradeableModularAccount.js\";\nimport {\n createMultiOwnerModularAccount,\n type MultiOwnerModularAccount,\n} from \"./account/multiOwnerAccount.js\";\nimport { MultiOwnerPlugin } from \"./plugins/multi-owner/plugin.js\";\n\n/**\n * Utility method returning the default multi sig msca factory address given a {@link Chain} object\n *\n * @param chain a {@link Chain} object\n * @returns a {@link Address} for the given chain\n * @throws if the chain doesn't have an address currently deployed\n */\nexport const getDefaultMultisigModularAccountFactoryAddress = (\n chain: Chain\n): Address => {\n switch (chain.id) {\n case sepolia.id:\n case baseSepolia.id:\n case polygon.id:\n case mainnet.id:\n case polygonAmoy.id:\n case optimism.id:\n case optimismSepolia.id:\n case arbitrum.id:\n case arbitrumSepolia.id:\n case base.id:\n default:\n return \"0x000000000000204327E6669f00901a57CE15aE15\";\n }\n};\n\n/**\n * Utility method returning the default multi owner msca factory address given a {@link Chain} object\n *\n * @param chain - a {@link Chain} object\n * @returns a {@link Address} for the given chain\n * @throws if the chain doesn't have an address currently deployed\n */\nexport const getDefaultMultiOwnerModularAccountFactoryAddress = (\n chain: Chain\n): Address => {\n switch (chain.id) {\n default:\n return \"0x000000e92D78D90000007F0082006FDA09BD5f11\";\n }\n};\n\nexport type GetMSCAUpgradeToData<\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends\n | SmartContractAccountWithSigner<string, TSigner>\n | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined\n> = {\n multiOwnerPluginAddress?: Address;\n} & GetAccountParameter<TAccount>;\n\n/**\n * Retrieves the data necessary to upgrade to a Multi-Signature Contract Account (MSCA) and provides a method to create a Multi-Owner Modular Account.\n *\n * @example\n * ```ts\n * import { createLightAccountClient, getMSCAUpgradeToData } from \"@account-kit/smart-contracts\";\n *\n * const client = createLightAccountClient(...);\n * const upgradeData = await getMSCAUpgradeToData(client, {});\n * ```\n *\n * @param {SmartAccountClient<TTransport, TChain, TAccount>} client The smart account client\n * @param {GetMSCAUpgradeToData<TSigner, TAccount>} args The arguments required for the upgrade\n * @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\n */\nexport async function getMSCAUpgradeToData<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TSigner extends SmartAccountSigner = SmartAccountSigner,\n TAccount extends\n | SmartContractAccountWithSigner<string, TSigner>\n | undefined = SmartContractAccountWithSigner<string, TSigner> | undefined\n>(\n client: SmartAccountClient<TTransport, TChain, TAccount>,\n args: GetMSCAUpgradeToData<TSigner, TAccount>\n): Promise<\n UpgradeToData & {\n createMAAccount: () => Promise<MultiOwnerModularAccount<TSigner>>;\n }\n> {\n const { account: account_ = client.account, multiOwnerPluginAddress } = args;\n\n if (!account_) {\n throw new AccountNotFoundError();\n }\n const account = account_ as SmartContractAccountWithSigner<string, TSigner>;\n\n const chain = client.chain;\n if (!chain) {\n throw new ChainNotFoundError();\n }\n\n const initData = await getMAInitializationData({\n client,\n multiOwnerPluginAddress,\n signerAddress: await account.getSigner().getAddress(),\n });\n\n return {\n ...initData,\n createMAAccount: async () =>\n createMultiOwnerModularAccount({\n transport: custom(client.transport),\n chain: chain as Chain,\n signer: account.getSigner(),\n accountAddress: account.address,\n }),\n };\n}\n\nexport type GetMAInitializationDataParams<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined\n> = {\n multiOwnerPluginAddress?: Address;\n client: SmartAccountClient<TTransport, TChain, TAccount>;\n signerAddress: Address | Address[];\n};\n\n/**\n * 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.\n *\n * @example\n * ```ts\n * import { getMAInitializationData } from \"@account-kit/smart-contracts\";\n * import { createSmartAccountClient } from \"@aa-sdk/core\";\n *\n * const client = createSmartAccountClient(...);\n * const initializationData = await getMAInitializationData({\n * client,\n * signerAddress: \"0x...\", // or array of signers\n * });\n * ```\n *\n * @param {GetMAInitializationDataParams<TTransport, TChain, TAccount>} params the parameters for getting initialization data\n * @param {SmartAccountClient<TTransport, TChain, TAccount>} params.client the smart account client\n * @param {Address | Address[]} params.signerAddress the address of the signer or an array of signer addresses\n * @param {Address} [params.multiOwnerPluginAddress] optional address of the multi-owner plugin\n * @returns {Promise<UpgradeToData>} a promise that resolves to the initialization data required for upgrading to a multi-owner modular account\n */\nexport async function getMAInitializationData<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined\n>({\n client,\n multiOwnerPluginAddress,\n signerAddress,\n}: GetMAInitializationDataParams<\n TTransport,\n TChain,\n TAccount\n>): Promise<UpgradeToData> {\n if (!client.chain) {\n throw new ChainNotFoundError();\n }\n\n const factoryAddress = getDefaultMultiOwnerModularAccountFactoryAddress(\n client.chain\n );\n\n const implAddress = await client.readContract({\n abi: MultiOwnerModularAccountFactoryAbi,\n address: factoryAddress,\n functionName: \"IMPL\",\n });\n\n const multiOwnerAddress =\n multiOwnerPluginAddress ?? MultiOwnerPlugin.meta.addresses[client.chain.id];\n\n if (!multiOwnerAddress) {\n throw new Error(\"could not get multi owner plugin address\");\n }\n\n const moPluginManifest = await client.readContract({\n abi: IPluginAbi,\n address: multiOwnerAddress,\n functionName: \"pluginManifest\",\n });\n\n const hashedMultiOwnerPluginManifest = keccak256(\n encodeFunctionResult({\n abi: IPluginAbi,\n functionName: \"pluginManifest\",\n result: moPluginManifest,\n })\n );\n\n const encodedOwner = encodeAbiParameters(\n parseAbiParameters(\"address[]\"),\n Array.isArray(signerAddress) ? [signerAddress] : [[signerAddress]]\n );\n\n const encodedPluginInitData = encodeAbiParameters(\n parseAbiParameters(\"bytes32[], bytes[]\"),\n [[hashedMultiOwnerPluginManifest], [encodedOwner]]\n );\n\n const encodedMSCAInitializeData = encodeFunctionData({\n abi: UpgradeableModularAccountAbi,\n functionName: \"initialize\",\n args: [[multiOwnerAddress], encodedPluginInitData],\n });\n\n return {\n implAddress,\n initializationData: encodedMSCAInitializeData,\n };\n}\n"]}
@@ -36,14 +36,14 @@ export { InvalidAggregatedSignatureError, InvalidContextSignatureError, Multisig
36
36
  export type * from "./msca/plugin-manager/decorator.js";
37
37
  export { pluginManagerActions } from "./msca/plugin-manager/decorator.js";
38
38
  export { installPlugin } from "./msca/plugin-manager/installPlugin.js";
39
+ export { multiOwnerPluginActions } from "./msca/plugins/multi-owner/extension.js";
39
40
  export type * from "./msca/plugins/multi-owner/index.js";
40
- export { multiOwnerPluginActions } from "./msca/plugins/multi-owner/index.js";
41
41
  export { MultiOwnerPlugin, MultiOwnerPluginAbi, MultiOwnerPluginExecutionFunctionAbi, } from "./msca/plugins/multi-owner/plugin.js";
42
42
  export type * from "./msca/plugins/multisig/index.js";
43
- export { MultisigPlugin, MultisigPluginAbi, MultisigPluginExecutionFunctionAbi, multisigPluginActions, multisigSignatureMiddleware, type SignerType, } from "./msca/plugins/multisig/index.js";
43
+ export { MultisigPlugin, MultisigPluginAbi, MultisigPluginExecutionFunctionAbi, multisigPluginActions, multisigSignatureMiddleware, } from "./msca/plugins/multisig/index.js";
44
44
  export { combineSignatures, formatSignatures, getSignerType, splitAggregatedSignature, } from "./msca/plugins/multisig/utils/index.js";
45
+ export { sessionKeyPluginActions } from "./msca/plugins/session-key/extension.js";
45
46
  export type * from "./msca/plugins/session-key/index.js";
46
- export { sessionKeyPluginActions } from "./msca/plugins/session-key/index.js";
47
47
  export type * from "./msca/plugins/session-key/permissions.js";
48
48
  export { SessionKeyAccessListType, SessionKeyPermissionsBuilder, } from "./msca/plugins/session-key/permissions.js";
49
49
  export { SessionKeyPlugin, SessionKeyPluginAbi, SessionKeyPluginExecutionFunctionAbi, } from "./msca/plugins/session-key/plugin.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/accounts/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EACV,mCAAmC,EACnC,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,EAC5G,kBAAkB,SAAS,mCAAmC,CAC5D,cAAc,EACd,oBAAoB,CACrB,GAAG,mCAAmC,CAAC,cAAc,EAAE,oBAAoB,CAAC,IAC3E,gBAAgB,CAClB,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,GAAG;IACF,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,GAAG,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC,CAAC;AAGF,MAAM,MAAM,wBAAwB,CAClC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,EAC5G,kBAAkB,SAAS,mCAAmC,CAC5D,cAAc,EACd,oBAAoB,CACrB,GAAG,mCAAmC,CAAC,cAAc,EAAE,oBAAoB,CAAC,IAC3E,IAAI,CACN,4BAA4B,CAC1B,UAAU,EACV,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,EACD,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,CAC3E,GAAG;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,aAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;CACvD,CAAC;AAGF,wBAAsB,kBAAkB,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,QAAQ,EAE9E,MAAM,EAAE,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,oBAAoB,CAAC,GAC1E,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAExD,wBAAsB,kBAAkB,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,EAC5G,kBAAkB,SAAS,mCAAmC,CAC5D,cAAc,EACd,oBAAoB,CACrB,GAAG,mCAAmC,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAE7E,MAAM,EAAE,wBAAwB,CAC9B,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,kBAAkB,CACnB,GACA,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/accounts/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EACV,mCAAmC,EACnC,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,EAC5G,kBAAkB,SAAS,mCAAmC,CAC5D,cAAc,EACd,oBAAoB,CACrB,GAAG,mCAAmC,CAAC,cAAc,EAAE,oBAAoB,CAAC,IAC3E,gBAAgB,CAClB,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,GAAG;IACF,uBAAuB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,GAAG,CAAC;IACpD,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC,CAAC;AAGF,MAAM,MAAM,wBAAwB,CAClC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,EAC5G,kBAAkB,SAAS,mCAAmC,CAC5D,cAAc,EACd,oBAAoB,CACrB,GAAG,mCAAmC,CAAC,cAAc,EAAE,oBAAoB,CAAC,IAC3E,IAAI,CACN,4BAA4B,CAC1B,UAAU,EACV,OAAO,EACP,cAAc,EACd,oBAAoB,EACpB,kBAAkB,CACnB,EACD,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,CAC3E,GAAG;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,aAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;CACvD,CAAC;AAGF,wBAAsB,kBAAkB,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,QAAQ,EAE9E,MAAM,EAAE,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,oBAAoB,CAAC,GAC1E,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAExD,wBAAsB,kBAAkB,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,cAAc,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,EAC5G,kBAAkB,SAAS,mCAAmC,CAC5D,cAAc,EACd,oBAAoB,CACrB,GAAG,mCAAmC,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAE7E,MAAM,EAAE,wBAAwB,CAC9B,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,kBAAkB,CACnB,GACA,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"multiOwner.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/accounts/multiOwner.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EACV,mCAAmC,EACnC,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAKrB,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,sBAAsB,CAChC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,EAChI,kBAAkB,SAAS,mCAAmC,CAC5D,wBAAwB,EACxB,oBAAoB,CACrB,GAAG,mCAAmC,CACrC,wBAAwB,EACxB,oBAAoB,CACrB,IACC,gBAAgB,CAClB,OAAO,EACP,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,CACnB,GAAG;IACF,kBAAkB,EAAE,CAClB,WAAW,EAAE,OAAO,EAAE,EACtB,cAAc,EAAE,OAAO,EAAE,KACtB,GAAG,CAAC;IACT,iBAAiB,EAAE,MAAM,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,kCAAkC,CAC5C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,EAChI,kBAAkB,SAAS,mCAAmC,CAC5D,wBAAwB,EACxB,oBAAoB,CACrB,GAAG,mCAAmC,CACrC,wBAAwB,EACxB,oBAAoB,CACrB,IACC,IAAI,CACN,4BAA4B,CAC1B,UAAU,EACV,OAAO,EACP,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,CACnB,EACD,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,CAC3E,GAAG;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,aAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAsB,4BAA4B,CAChD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,EAChI,kBAAkB,SAAS,mCAAmC,CAC5D,wBAAwB,EACxB,oBAAoB,CACrB,GAAG,mCAAmC,CACrC,wBAAwB,EACxB,oBAAoB,CACrB,EAED,MAAM,EAAE,kCAAkC,CACxC,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,kBAAkB,CACnB,GACA,OAAO,CACR,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAC1E,CAAC"}
1
+ {"version":3,"file":"multiOwner.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/accounts/multiOwner.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EACV,mCAAmC,EACnC,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,EACtB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,sBAAsB,CAChC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,EAChI,kBAAkB,SAAS,mCAAmC,CAC5D,wBAAwB,EACxB,oBAAoB,CACrB,GAAG,mCAAmC,CACrC,wBAAwB,EACxB,oBAAoB,CACrB,IACC,gBAAgB,CAClB,OAAO,EACP,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,CACnB,GAAG;IACF,kBAAkB,EAAE,CAClB,WAAW,EAAE,OAAO,EAAE,EACtB,cAAc,EAAE,OAAO,EAAE,KACtB,GAAG,CAAC;IACT,iBAAiB,EAAE,MAAM,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,kCAAkC,CAC5C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,EAChI,kBAAkB,SAAS,mCAAmC,CAC5D,wBAAwB,EACxB,oBAAoB,CACrB,GAAG,mCAAmC,CACrC,wBAAwB,EACxB,oBAAoB,CACrB,IACC,IAAI,CACN,4BAA4B,CAC1B,UAAU,EACV,OAAO,EACP,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,CACnB,EACD,oBAAoB,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,gBAAgB,CAC3E,GAAG;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,CAAC,EAAE,aAAa,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAEF,wBAAsB,4BAA4B,CAChD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,oBAAoB,SAAS,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,sBAAsB,CAAC,wBAAwB,CAAC,EAChI,kBAAkB,SAAS,mCAAmC,CAC5D,wBAAwB,EACxB,oBAAoB,CACrB,GAAG,mCAAmC,CACrC,wBAAwB,EACxB,oBAAoB,CACrB,EAED,MAAM,EAAE,kCAAkC,CACxC,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,kBAAkB,CACnB,GACA,OAAO,CACR,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAC1E,CAAC"}
@@ -5,5 +5,30 @@ export type TransferLightAccountOwnershipParams<TSigner extends SmartAccountSign
5
5
  newOwner: TSigner;
6
6
  waitForTxn?: boolean;
7
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>;
8
+ /**
9
+ * Transfers the ownership of a light account to a new owner.
10
+ * This function ensures that the client is a compatible smart acccount client and that a Light Account is provided.
11
+ * If the waitForTxn parameter is true, it will wait for the transaction to be completed before returning.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { transferOwnership, createLightAccountClient } from "@account-kit/smart-contracts";
16
+ *
17
+ * const lightAccountClient = createLightAccountClient({
18
+ * signer,
19
+ * transport,
20
+ * chain,
21
+ * });
22
+ *
23
+ * const txHash = await transferOwnership(lightAccountClient, {
24
+ * newOwner: newOwnerSigner,
25
+ * waitForTxn: true, // set to false to return a uoHash instead
26
+ * });
27
+ * ```
28
+ *
29
+ * @param {Client<TTransport, TChain, TAccount>} client The smart account client instance used to execute the transfer
30
+ * @param {TransferLightAccountOwnershipParams<TSigner, TAccount>} args The parameters for transferring ownership
31
+ * @returns {Promise<Hex>} The transaction or UO hash as a Hex string
32
+ */
33
+ export declare const transferOwnership: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TSigner extends SmartAccountSigner<any> = SmartAccountSigner<any>, TAccount extends LightAccount<TSigner> | undefined = LightAccount<TSigner> | undefined>(client: Client<TTransport, TChain, TAccount>, args: TransferLightAccountOwnershipParams<TSigner, TAccount, GetEntryPointFromAccount<TAccount, import("@aa-sdk/core").SmartContractAccount<string, keyof import("@aa-sdk/core").EntryPointRegistryBase<unknown>>>>) => Promise<Hex>;
9
34
  //# sourceMappingURL=transferOwnership.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transferOwnership.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/actions/transferOwnership.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACrC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,mCAAmC,CAC7C,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GACtD,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;AAEtD,eAAO,MAAM,iBAAiB,EAAE,CAC9B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,mCAAmC,CAAC,OAAO,EAAE,QAAQ,CAAC,KACzD,OAAO,CAAC,GAAG,CAgCf,CAAC"}
1
+ {"version":3,"file":"transferOwnership.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/actions/transferOwnership.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACrC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,mCAAmC,CAC7C,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GACtD,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,iBAAiB,ogBAU3B,QAAQ,GAAG,CA8Bb,CAAC"}
@@ -6,5 +6,29 @@ export type UpdateMultiOwnerLightAccountOwnersParams<TSigner extends SmartAccoun
6
6
  ownersToRemove: Address[];
7
7
  waitForTxn?: boolean;
8
8
  } & GetAccountParameter<TAccount, MultiOwnerLightAccount<TSigner>> & UserOperationOverridesParameter<TEntryPointVersion>;
9
+ /**
10
+ * Updates the owners of a multi-owner light account. This includes adding new owners and removing existing ones.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { updateOwners, createLightAccountClient } from "@account-kit/smart-contracts";
15
+ *
16
+ * const lightAccountClient = createLightAccountClient({
17
+ * signer,
18
+ * transport,
19
+ * chain,
20
+ * });
21
+ *
22
+ * const txHash = await updateOwners(lightAccountClient, {
23
+ * ownerstoAdd: [newOwnerAddress], // or empty if you just want to remove owners
24
+ * ownersToRemove: [oldOwnerAddress], // or empty if you just want to add owners
25
+ * waitForTxn: true, // set to false to return a uoHash instead
26
+ * });
27
+ * ```
28
+ *
29
+ * @param {Client<TTransport, TChain, TAccount>} client The client instance used to interact with the account
30
+ * @param {UpdateMultiOwnerLightAccountOwnersParams<TSigner, TAccount>} args The parameters for updating the account owners
31
+ * @returns {Promise<Hex>} A promise that resolves to the transaction hash or the full transaction result if `waitForTxn` is `true`
32
+ */
9
33
  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>;
10
34
  //# sourceMappingURL=updateOwners.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateOwners.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/actions/updateOwners.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACrC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,MAAM,wCAAwC,CAClD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAChE,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;AAEtD,eAAO,MAAM,YAAY,EAAE,CACzB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,wCAAwC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAC9D,OAAO,CAAC,GAAG,CAsCf,CAAC"}
1
+ {"version":3,"file":"updateOwners.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/actions/updateOwners.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,+BAA+B,EACrC,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAErE,MAAM,MAAM,wCAAwC,CAClD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAChE,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,YAAY,EAAE,CACzB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,wCAAwC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAC9D,OAAO,CAAC,GAAG,CAsCf,CAAC"}
@@ -5,5 +5,24 @@ import { type TransferLightAccountOwnershipParams } from "../actions/transferOwn
5
5
  export type LightAccountClientActions<TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends LightAccount<TSigner> | undefined = LightAccount<TSigner> | undefined> = {
6
6
  transferOwnership: (args: TransferLightAccountOwnershipParams<TSigner, TAccount>) => Promise<Hex>;
7
7
  };
8
+ /**
9
+ * Provides a set of actions for managing a light account client, including transferring ownership.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { lightAccountClientActions, createLightAccount } from "@account-kit/smart-contracts";
14
+ * import { createAlchemySmartAccountClient } from "@account-kit/infra";
15
+ * import { sepolia } from "@account-kit/infra/chains";
16
+ *
17
+ * const smartAccountClient = createAlchemySmartAccountClient({
18
+ * account: await createLightAccount(...),
19
+ * apiKey: "your-api-key",
20
+ * chain: sepolia,
21
+ * }).extend(lightAccountClientActions);
22
+ * ```
23
+ *
24
+ * @param {Client<TTransport, TChain, TAccount>} client The client instance for which to provide the light account actions
25
+ * @returns {LightAccountClientActions<TSigner, TAccount>} An object containing the available light account client actions
26
+ */
8
27
  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>;
9
28
  //# sourceMappingURL=lightAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightAccount.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/decorators/lightAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,yBAAyB,CACnC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,IACX;IACF,iBAAiB,EAAE,CACjB,IAAI,EAAE,mCAAmC,CAAC,OAAO,EAAE,QAAQ,CAAC,KACzD,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KACzC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAE9C,CAAC"}
1
+ {"version":3,"file":"lightAccount.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/decorators/lightAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,iCAAiC,CAAC;AAEzC,MAAM,MAAM,yBAAyB,CACnC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,IACX;IACF,iBAAiB,EAAE,CACjB,IAAI,EAAE,mCAAmC,CAAC,OAAO,EAAE,QAAQ,CAAC,KACzD,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,yBAAyB,EAAE,CACtC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,SAAS,GAC9C,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KACzC,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAE9C,CAAC"}
@@ -5,5 +5,24 @@ import { type UpdateMultiOwnerLightAccountOwnersParams } from "../actions/update
5
5
  export type MultiOwnerLightAccountClientActions<TSigner extends SmartAccountSigner = SmartAccountSigner, TAccount extends MultiOwnerLightAccount<TSigner> | undefined = MultiOwnerLightAccount<TSigner> | undefined> = {
6
6
  updateOwners: (args: UpdateMultiOwnerLightAccountOwnersParams<TSigner, TAccount>) => Promise<Hex>;
7
7
  };
8
+ /**
9
+ * Generates client actions for a multi-owner light account, including the ability to update owners.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { multiOwnerLightAccountClientActions, createMultiOwnerLightAccount } from "@account-kit/smart-contracts";
14
+ * import { createAlchemySmartAccountClient } from "@account-kit/infra";
15
+ * import { sepolia } from "@account-kit/infra/chains";
16
+ *
17
+ * const smartAccountClient = createAlchemySmartAccountClient({
18
+ * account: await createMultiOwnerLightAccount(...),
19
+ * apiKey: "your-api-key",
20
+ * chain: sepolia,
21
+ * }).extend(multiOwnerLightAccountClientActions);
22
+ * ```
23
+ *
24
+ * @param {Client<TTransport, TChain, TAccount>} client the client for interacting with the multi-owner light account
25
+ * @returns {MultiOwnerLightAccountClientActions<TSigner, TAccount>} an object containing the client actions specifically for a multi-owner light account
26
+ */
8
27
  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>;
9
28
  //# sourceMappingURL=multiOwnerLightAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiOwnerLightAccount.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/decorators/multiOwnerLightAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAEL,KAAK,wCAAwC,EAC9C,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,mCAAmC,CAC7C,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,IACX;IACF,YAAY,EAAE,CACZ,IAAI,EAAE,wCAAwC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAC9D,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,CAChD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KACzC,mCAAmC,CAAC,OAAO,EAAE,QAAQ,CAExD,CAAC"}
1
+ {"version":3,"file":"multiOwnerLightAccount.d.ts","sourceRoot":"","sources":["../../../../../src/light-account/decorators/multiOwnerLightAccount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAEL,KAAK,wCAAwC,EAC9C,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,mCAAmC,CAC7C,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,IACX;IACF,YAAY,EAAE,CACZ,IAAI,EAAE,wCAAwC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAC9D,OAAO,CAAC,GAAG,CAAC,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mCAAmC,EAAE,CAChD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,QAAQ,SAAS,sBAAsB,CAAC,OAAO,CAAC,GAAG,SAAS,GACxD,sBAAsB,CAAC,OAAO,CAAC,GAC/B,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KACzC,mCAAmC,CAAC,OAAO,EAAE,QAAQ,CAExD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Address, type Chain } from "viem";
2
2
  import type { LightAccountBase } from "./accounts/base";
3
- import type { AccountVersionDef, GetLightAccountType, GetLightAccountVersion, IAccountVersionRegistry, LightAccountVersion, LightAccountVersionDef } from "./types";
3
+ import type { AccountVersionDef, GetLightAccountType, GetLightAccountVersion, IAccountVersionRegistry, LightAccountVersionDef } from "./types";
4
4
  /**
5
5
  * Light account deployed chains
6
6
  *
@@ -28,13 +28,21 @@ export declare const defaultLightAccountVersion: <TLightAccountType extends keyo
28
28
  * @returns a {@link Address} for the given chain
29
29
  * @throws if the chain doesn't have an address currently deployed
30
30
  */
31
- export declare const getDefaultLightAccountFactoryAddress: (chain: Chain, version?: LightAccountVersion) => Address;
31
+ export declare const getDefaultLightAccountFactoryAddress: (chain: Chain, version: GetLightAccountVersion<"LightAccount">) => Address;
32
+ /**
33
+ * Utility method returning the default multi owner light account factory address given a {@link Chain} object
34
+ *
35
+ * @param chain - a {@link Chain} object
36
+ * @param version - the version of the light account to get the factory address for
37
+ * @returns a {@link Address} for the given chain
38
+ * @throws if the chain doesn't have an address currently deployed
39
+ */
40
+ export declare const getDefaultMultiOwnerLightAccountFactoryAddress: (chain: Chain, version: GetLightAccountVersion<"MultiOwnerLightAccount">) => `0x${string}`;
32
41
  /**
33
42
  * Can be used to check if the account with one of the following implementation addresses
34
43
  * to not support 1271 signing.
35
44
  *
36
45
  * Light accounts with versions v1.0.1 and v1.0.2 do not support 1271 signing.
37
- *
38
46
  */
39
47
  export declare const LightAccountUnsupported1271Impls: (AccountVersionDef<"LightAccount", "v1.0.1", "0.6.0"> | AccountVersionDef<"LightAccount", "v1.0.2", "0.6.0">)[];
40
48
  /**
@@ -42,7 +50,6 @@ export declare const LightAccountUnsupported1271Impls: (AccountVersionDef<"Light
42
50
  * to not support 1271 signing.
43
51
  *
44
52
  * Light accounts with versions v1.0.1 and v1.0.2 do not support 1271 signing.
45
- *
46
53
  */
47
54
  export declare const LightAccountUnsupported1271Factories: Set<`0x${string}`>;
48
55
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/light-account/utils.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAW,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EAEtB,uBAAuB,EAEvB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,EAoBlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,uBA2EpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,wIAOqB,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,UACxC,KAAK,YACH,mBAAmB,KAC3B,OAMF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,iHAG5C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,oBAIhD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,SAAS,gBAAgB,EACjC,iBAAiB,SAAS,mBAAmB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EACvF,oBAAoB,SAAS,sBAAsB,CAAC,iBAAiB,CAAC,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,EAElH,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5E;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,SAAS,gBAAgB,EACjC,iBAAiB,SAAS,mBAAmB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAEvF,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CACR,iBAAiB,CACf,iBAAiB,EACjB,sBAAsB,CAAC,iBAAiB,CAAC,CAC1C,CACF,CAAC;AAgEF;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,SAAS,gBAAgB,EACjC,iBAAiB,SAAS,mBAAmB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAEvF,OAAO,EAAE,QAAQ,EACjB,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/light-account/utils.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAW,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EAEtB,uBAAuB,EAGvB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,EAoBlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,uBA2EpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,wIAOqB,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,UACxC,KAAK,WACH,uBAAuB,cAAc,CAAC,KAC9C,OAOF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,8CAA8C,UAClD,KAAK,WACH,uBAAuB,wBAAwB,CAAC,kBAY1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,iHAG5C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,oBAIhD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,SAAS,gBAAgB,EACjC,iBAAiB,SAAS,mBAAmB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EACvF,oBAAoB,SAAS,sBAAsB,CAAC,iBAAiB,CAAC,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,EAElH,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAE5E;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,SAAS,gBAAgB,EACjC,iBAAiB,SAAS,mBAAmB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAEvF,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,KAAK,GACX,OAAO,CACR,iBAAiB,CACf,iBAAiB,EACjB,sBAAsB,CAAC,iBAAiB,CAAC,CAC1C,CACF,CAAC;AAgEF;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,SAAS,gBAAgB,EACjC,iBAAiB,SAAS,mBAAmB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,EAEvF,OAAO,EAAE,QAAQ,EACjB,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"multisigAccount.d.ts","sourceRoot":"","sources":["../../../../../src/msca/account/multisigAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAMd,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,MAAM,MAAM,sBAAsB,CAChC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IACrD,8BAA8B,CAChC,OAAO,uBAAuB,EAC9B,OAAO,EACP,OAAO,CACR,GAAG;IACF,iBAAiB,EAAE,MAAM,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kCAAkC,CAC5C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,kBAAkB,SAAS,OAAO,GAAG,OAAO,IAC1C,IAAI,CACN,4BAA4B,CAC1B,wBAAwB,EACxB,UAAU,EACV,KAAK,EACL,kBAAkB,CACnB,EACD,WAAW,GAAG,OAAO,CACtB,GAAG;IACF,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAEnD,wBAAsB,4BAA4B,CAChD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAEvD,MAAM,EAAE,kCAAkC,CAAC,UAAU,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AA6E5C,eAAO,MAAM,wBAAwB,SAC7B,oBAAoB,4DAG3B,CAAC"}
1
+ {"version":3,"file":"multisigAccount.d.ts","sourceRoot":"","sources":["../../../../../src/msca/account/multisigAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,GAAG,EACR,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAMd,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAEhE,MAAM,MAAM,sBAAsB,CAChC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IACrD,8BAA8B,CAChC,OAAO,uBAAuB,EAC9B,OAAO,EACP,OAAO,CACR,GAAG;IACF,iBAAiB,EAAE,MAAM,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kCAAkC,CAC5C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EACvD,kBAAkB,SAAS,OAAO,GAAG,OAAO,IAC1C,IAAI,CACN,4BAA4B,CAC1B,wBAAwB,EACxB,UAAU,EACV,KAAK,EACL,kBAAkB,CACnB,EACD,WAAW,GAAG,OAAO,CACtB,GAAG;IACF,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAEnD,wBAAsB,4BAA4B,CAChD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAEvD,MAAM,EAAE,kCAAkC,CAAC,UAAU,EAAE,OAAO,CAAC,GAC9D,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;AAuG5C,eAAO,MAAM,wBAAwB,SAC7B,oBAAoB,4DAG3B,CAAC"}
@@ -13,5 +13,20 @@ export type AccountLoupeActions<TAccount extends SmartContractAccount | undefine
13
13
  } & GetAccountParameter<TAccount>): Promise<Readonly<PreValidationHooks>>;
14
14
  getInstalledPlugins(args: GetAccountParameter<TAccount>): Promise<ReadonlyArray<Address>>;
15
15
  };
16
+ /**
17
+ * Provides a set of actions for account loupe operations using the specified client.
18
+ * NOTE: this is already added to the client when using any of the Modular Account Clients.
19
+ *
20
+ * @example
21
+ * ```ts
22
+ * import { accountLoupeActions } from "@account-kit/smart-contracts";
23
+ * import { createSmartAccountClient } from "@aa-sdk/core";
24
+ *
25
+ * const client = createSmartAccountClient(...).extend(accountLoupeActions);
26
+ * ```
27
+ *
28
+ * @param {Client<TTransport, TChain, TAccount>} client the client to be used for executing the account loupe actions
29
+ * @returns {AccountLoupeActions<TAccount>} an object containing account loupe actions like `getExecutionFunctionConfig`, `getExecutionHooks`, `getPreValidationHooks`, and `getInstalledPlugins`
30
+ */
16
31
  export declare const accountLoupeActions: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>) => AccountLoupeActions<TAccount>;
17
32
  //# sourceMappingURL=decorator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../../../../src/msca/account-loupe/decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEpE,OAAO,KAAK,EACV,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,CAC7B,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,IACX;IAKF,0BAA0B,CACxB,IAAI,EAAE;QAAE,QAAQ,EAAE,iBAAiB,CAAA;KAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GACpE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAKpC,iBAAiB,CACf,IAAI,EAAE;QACJ,QAAQ,EAAE,iBAAiB,CAAC;KAC7B,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAChC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAM1C,qBAAqB,CACnB,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAIzC,mBAAmB,CACjB,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAClC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,CAChC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KACzC,mBAAmB,CAAC,QAAQ,CAwF/B,CAAC"}
1
+ {"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../../../../src/msca/account-loupe/decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEpE,OAAO,KAAK,EACV,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,mBAAmB,CAC7B,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,IACX;IAKF,0BAA0B,CACxB,IAAI,EAAE;QAAE,QAAQ,EAAE,iBAAiB,CAAA;KAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GACpE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAKpC,iBAAiB,CACf,IAAI,EAAE;QACJ,QAAQ,EAAE,iBAAiB,CAAC;KAC7B,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAChC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAM1C,qBAAqB,CACnB,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAIzC,mBAAmB,CACjB,IAAI,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAClC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,CAChC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KACzC,mBAAmB,CAAC,QAAQ,CAwF/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/msca/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,MAAM,CAAC;AACxE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,oCAAoC,EACzC,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,kCAAkC,EACvC,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAGtC,MAAM,MAAM,0CAA0C,CACpD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IACrD;IACF,OAAO,EAAE,IAAI,CACX,oCAAoC,CAAC,UAAU,EAAE,OAAO,CAAC,EACzD,WAAW,GAAG,OAAO,CACtB,CAAC;CACH,GAAG,IAAI,CACN,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,CACV,CAAC;AAEF,MAAM,MAAM,wCAAwC,CAClD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,IACrD;IACF,OAAO,EAAE,IAAI,CACX,kCAAkC,CAAC,UAAU,EAAE,OAAO,CAAC,EACvD,WAAW,GAAG,OAAO,CACtB,CAAC;CACH,GAAG,IAAI,CACN,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,SAAS,CACV,CAAC;AAEF,wBAAgB,oCAAoC,CAClD,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAEvD,IAAI,EAAE,0CAA0C,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAC3E,OAAO,CACR,kBAAkB,CAChB,eAAe,EACf,KAAK,EACL,wBAAwB,CAAC,OAAO,CAAC,EACjC,uBAAuB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,GACxD,oBAAoB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,GACvD,mBAAmB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CACzD,CACF,CAAC;AAyBF,wBAAgB,kCAAkC,CAChD,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,OAAO,SAAS,kBAAkB,GAAG,kBAAkB,EAEvD,IAAI,EAAE,wCAAwC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GACzE,OAAO,CACR,kBAAkB,CAChB,eAAe,EACf,KAAK,EACL,sBAAsB,CAAC,OAAO,CAAC,EAC/B,qBAAqB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GACpD,oBAAoB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GACrD,mBAAmB,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,EACtD,2BAA2B,EAC3B,4BAA4B,CAC7B,CACF,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/msca/client/client.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,28 @@
1
1
  import { BaseError } from "@aa-sdk/core";
2
+ /**
3
+ * Error thrown when the aggregated signature is invalid
4
+ */
2
5
  export declare class InvalidAggregatedSignatureError extends BaseError {
3
6
  name: string;
4
7
  constructor();
5
8
  }
9
+ /**
10
+ * Error thrown when the context signature is invalid
11
+ */
6
12
  export declare class InvalidContextSignatureError extends BaseError {
7
13
  name: string;
8
14
  constructor();
9
15
  }
16
+ /**
17
+ * Error thrown when the expected account is not a multisig modular account
18
+ */
10
19
  export declare class MultisigAccountExpectedError extends BaseError {
11
20
  name: string;
12
21
  constructor();
13
22
  }
23
+ /**
24
+ * Error thrown when a multisig user op is missing a signature
25
+ */
14
26
  export declare class MultisigMissingSignatureError extends BaseError {
15
27
  name: string;
16
28
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/msca/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,+BAAgC,SAAQ,SAAS;IACnD,IAAI,SAAqC;;CAInD;AAED,qBAAa,4BAA6B,SAAQ,SAAS;IAChD,IAAI,SAAkC;;CAIhD;AAED,qBAAa,4BAA6B,SAAQ,SAAS;IAChD,IAAI,SAAkC;;CAIhD;AAED,qBAAa,6BAA8B,SAAQ,SAAS;IACjD,IAAI,SAAmC;;CAIjD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/msca/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,SAAS;IACnD,IAAI,SAAqC;;CAInD;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,SAAS;IAChD,IAAI,SAAkC;;CAIhD;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,SAAS;IAChD,IAAI,SAAkC;;CAIhD;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,SAAS;IACjD,IAAI,SAAmC;;CAIjD"}
@@ -8,5 +8,20 @@ export type PluginManagerActions<TAccount extends SmartContractAccount | undefin
8
8
  installPlugin: (params: InstallPluginParams<TAccount>) => Promise<SendUserOperationResult<TEntryPointVersion>>;
9
9
  uninstallPlugin: (params: UninstallPluginParams<TAccount>) => Promise<SendUserOperationResult<TEntryPointVersion>>;
10
10
  };
11
- export declare const pluginManagerActions: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>) => PluginManagerActions<TAccount>;
11
+ /**
12
+ * Provides actions for managing plugins on a given client, including installing and uninstalling plugins.
13
+ * NOTE: this is provided by default when using a modular account client
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { pluginManagerActions } from "@account-kit/smart-contracts";
18
+ * import { createSmartAccountClient } from "@aa-sdk/core";
19
+ *
20
+ * const client = createSmartAccountClient(...).extend(pluginManagerActions);
21
+ * ```
22
+ *
23
+ * @param {Client<TTransport, TChain, TAccount>} client The client instance on which to manage plugins
24
+ * @returns {PluginManagerActions<TAccount>} An object containing functions to install and uninstall plugins
25
+ */
26
+ export declare function pluginManagerActions<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>): PluginManagerActions<TAccount>;
12
27
  //# sourceMappingURL=decorator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../../../../src/msca/plugin-manager/decorator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,MAAM,oBAAoB,CAC9B,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,aAAa,EAAE,CACb,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAClC,OAAO,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1D,eAAe,EAAE,CACf,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KACpC,OAAO,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,CACjC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KACzC,oBAAoB,CAAC,QAAQ,CAGhC,CAAC"}
1
+ {"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../../../../src/msca/plugin-manager/decorator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,MAAM,oBAAoB,CAC9B,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,aAAa,EAAE,CACb,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAClC,OAAO,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1D,eAAe,EAAE,CACf,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KACpC,OAAO,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC3C,oBAAoB,CAAC,QAAQ,CAAC,CAKhC"}