@account-kit/smart-contracts 4.0.0-alpha.9 → 4.0.0-beta.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 (389) hide show
  1. package/dist/esm/plugindefs/multi-owner/config.js +2 -2
  2. package/dist/esm/plugindefs/multi-owner/config.js.map +1 -1
  3. package/dist/esm/plugindefs/multisig/config.js +2 -2
  4. package/dist/esm/plugindefs/multisig/config.js.map +1 -1
  5. package/dist/esm/plugindefs/session-key/config.js +2 -3
  6. package/dist/esm/plugindefs/session-key/config.js.map +1 -1
  7. package/dist/esm/src/index.d.ts +1 -1
  8. package/dist/esm/src/index.js +4 -1
  9. package/dist/esm/src/index.js.map +1 -1
  10. package/dist/esm/src/light-account/accounts/account.js +20 -0
  11. package/dist/esm/src/light-account/accounts/account.js.map +1 -1
  12. package/dist/esm/src/light-account/accounts/base.js +8 -0
  13. package/dist/esm/src/light-account/accounts/base.js.map +1 -1
  14. package/dist/esm/src/light-account/accounts/multiOwner.js +22 -0
  15. package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -1
  16. package/dist/esm/src/light-account/actions/transferOwnership.d.ts +25 -0
  17. package/dist/esm/src/light-account/actions/transferOwnership.js +25 -0
  18. package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -1
  19. package/dist/esm/src/light-account/actions/updateOwners.d.ts +24 -0
  20. package/dist/esm/src/light-account/actions/updateOwners.js +24 -0
  21. package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -1
  22. package/dist/esm/src/light-account/clients/alchemyClient.js +20 -0
  23. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
  24. package/dist/esm/src/light-account/clients/client.d.ts +1 -2
  25. package/dist/esm/src/light-account/clients/client.js +23 -3
  26. package/dist/esm/src/light-account/clients/client.js.map +1 -1
  27. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js +20 -0
  28. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  29. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.d.ts +1 -2
  30. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +23 -3
  31. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  32. package/dist/esm/src/light-account/decorators/lightAccount.d.ts +19 -0
  33. package/dist/esm/src/light-account/decorators/lightAccount.js +19 -0
  34. package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -1
  35. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.d.ts +19 -0
  36. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js +19 -0
  37. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  38. package/dist/esm/src/light-account/types.d.ts +4 -0
  39. package/dist/esm/src/light-account/utils.d.ts +46 -0
  40. package/dist/esm/src/light-account/utils.js +46 -0
  41. package/dist/esm/src/light-account/utils.js.map +1 -1
  42. package/dist/esm/src/msca/account/multiOwnerAccount.js +23 -0
  43. package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -1
  44. package/dist/esm/src/msca/account/multisigAccount.js +24 -0
  45. package/dist/esm/src/msca/account/multisigAccount.js.map +1 -1
  46. package/dist/esm/src/msca/account-loupe/decorator.d.ts +15 -0
  47. package/dist/esm/src/msca/account-loupe/decorator.js +15 -0
  48. package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -1
  49. package/dist/esm/src/msca/client/alchemyClient.js +20 -0
  50. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
  51. package/dist/esm/src/msca/client/client.d.ts +2 -6
  52. package/dist/esm/src/msca/client/client.js +50 -6
  53. package/dist/esm/src/msca/client/client.js.map +1 -1
  54. package/dist/esm/src/msca/client/multiSigAlchemyClient.js +22 -0
  55. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  56. package/dist/esm/src/msca/errors.d.ts +12 -0
  57. package/dist/esm/src/msca/errors.js +12 -0
  58. package/dist/esm/src/msca/errors.js.map +1 -1
  59. package/dist/esm/src/msca/plugin-manager/decorator.d.ts +15 -0
  60. package/dist/esm/src/msca/plugin-manager/decorator.js +15 -0
  61. package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -1
  62. package/dist/esm/src/msca/plugin-manager/installPlugin.d.ts +21 -0
  63. package/dist/esm/src/msca/plugin-manager/installPlugin.js +22 -0
  64. package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -1
  65. package/dist/esm/src/msca/plugins/multi-owner/extension.d.ts +15 -0
  66. package/dist/esm/src/msca/plugins/multi-owner/extension.js +19 -0
  67. package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -1
  68. package/dist/esm/src/msca/plugins/multi-owner/plugin.js.map +1 -1
  69. package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js +2 -0
  70. package/dist/esm/src/msca/plugins/multisig/actions/isOwnerOf.js.map +1 -1
  71. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js +2 -0
  72. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  73. package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js +2 -0
  74. package/dist/esm/src/msca/plugins/multisig/actions/readOwners.js.map +1 -1
  75. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +3 -0
  76. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  77. package/dist/esm/src/msca/plugins/multisig/extension.d.ts +13 -0
  78. package/dist/esm/src/msca/plugins/multisig/extension.js +13 -0
  79. package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -1
  80. package/dist/esm/src/msca/plugins/multisig/middleware.d.ts +12 -0
  81. package/dist/esm/src/msca/plugins/multisig/middleware.js +15 -0
  82. package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -1
  83. package/dist/esm/src/msca/plugins/multisig/plugin.js.map +1 -1
  84. package/dist/esm/src/msca/plugins/multisig/signer.js +2 -0
  85. package/dist/esm/src/msca/plugins/multisig/signer.js.map +1 -1
  86. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.d.ts +25 -0
  87. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js +25 -0
  88. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
  89. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.d.ts +10 -0
  90. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js +11 -0
  91. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -1
  92. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +19 -0
  93. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js +19 -0
  94. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  95. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +10 -0
  96. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js +20 -0
  97. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -1
  98. package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +7 -0
  99. package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.js +7 -0
  100. package/dist/esm/src/msca/plugins/session-key/debug-session-key-bytecode.js.map +1 -1
  101. package/dist/esm/src/msca/plugins/session-key/extension.d.ts +13 -0
  102. package/dist/esm/src/msca/plugins/session-key/extension.js +23 -0
  103. package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -1
  104. package/dist/esm/src/msca/plugins/session-key/permissions.d.ts +150 -1
  105. package/dist/esm/src/msca/plugins/session-key/permissions.js +150 -1
  106. package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -1
  107. package/dist/esm/src/msca/plugins/session-key/plugin.js.map +1 -1
  108. package/dist/esm/src/msca/plugins/session-key/signer.d.ts +81 -1
  109. package/dist/esm/src/msca/plugins/session-key/signer.js +80 -0
  110. package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -1
  111. package/dist/esm/src/msca/plugins/session-key/utils.d.ts +18 -0
  112. package/dist/esm/src/msca/plugins/session-key/utils.js +18 -0
  113. package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -1
  114. package/dist/esm/src/msca/utils.d.ts +50 -0
  115. package/dist/esm/src/msca/utils.js +50 -0
  116. package/dist/esm/src/msca/utils.js.map +1 -1
  117. package/dist/types/plugindefs/multi-owner/config.d.ts.map +1 -1
  118. package/dist/types/plugindefs/multisig/config.d.ts.map +1 -1
  119. package/dist/types/plugindefs/session-key/config.d.ts.map +1 -1
  120. package/dist/types/src/index.d.ts +1 -1
  121. package/dist/types/src/index.d.ts.map +1 -1
  122. package/dist/types/src/light-account/clients/client.d.ts +1 -2
  123. package/dist/types/src/light-account/clients/client.d.ts.map +1 -1
  124. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts +1 -2
  125. package/dist/types/src/light-account/clients/multiOwnerLightAccount.d.ts.map +1 -1
  126. package/dist/types/src/msca/client/client.d.ts +2 -6
  127. package/dist/types/src/msca/client/client.d.ts.map +1 -1
  128. package/dist/types/src/msca/plugins/multi-owner/plugin.d.ts.map +1 -1
  129. package/dist/types/src/msca/plugins/multisig/plugin.d.ts.map +1 -1
  130. package/dist/types/src/msca/plugins/session-key/plugin.d.ts.map +1 -1
  131. package/dist/types/src/msca/plugins/session-key/signer.d.ts +1 -1
  132. package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -1
  133. package/package.json +12 -15
  134. package/plugindefs/multi-owner/config.ts +4 -5
  135. package/plugindefs/multisig/config.ts +4 -5
  136. package/plugindefs/session-key/config.ts +4 -6
  137. package/src/index.ts +1 -0
  138. package/src/light-account/clients/client.ts +8 -13
  139. package/src/light-account/clients/multiOwnerLightAccount.ts +11 -13
  140. package/src/msca/client/client.ts +24 -36
  141. package/src/msca/plugins/multi-owner/plugin.ts +5 -1
  142. package/src/msca/plugins/multisig/plugin.ts +5 -1
  143. package/src/msca/plugins/session-key/plugin.ts +5 -1
  144. package/src/msca/plugins/session-key/signer.ts +1 -1
  145. package/dist/cjs/package.json +0 -1
  146. package/dist/cjs/plugindefs/index.d.ts +0 -3
  147. package/dist/cjs/plugindefs/index.js +0 -10
  148. package/dist/cjs/plugindefs/index.js.map +0 -1
  149. package/dist/cjs/plugindefs/multi-owner/abi.d.ts +0 -698
  150. package/dist/cjs/plugindefs/multi-owner/abi.js +0 -612
  151. package/dist/cjs/plugindefs/multi-owner/abi.js.map +0 -1
  152. package/dist/cjs/plugindefs/multi-owner/config.d.ts +0 -2
  153. package/dist/cjs/plugindefs/multi-owner/config.js +0 -31
  154. package/dist/cjs/plugindefs/multi-owner/config.js.map +0 -1
  155. package/dist/cjs/plugindefs/multisig/abi.d.ts +0 -791
  156. package/dist/cjs/plugindefs/multisig/abi.js +0 -1031
  157. package/dist/cjs/plugindefs/multisig/abi.js.map +0 -1
  158. package/dist/cjs/plugindefs/multisig/config.d.ts +0 -2
  159. package/dist/cjs/plugindefs/multisig/config.js +0 -30
  160. package/dist/cjs/plugindefs/multisig/config.js.map +0 -1
  161. package/dist/cjs/plugindefs/session-key/abi.d.ts +0 -1061
  162. package/dist/cjs/plugindefs/session-key/abi.js +0 -916
  163. package/dist/cjs/plugindefs/session-key/abi.js.map +0 -1
  164. package/dist/cjs/plugindefs/session-key/config.d.ts +0 -2
  165. package/dist/cjs/plugindefs/session-key/config.js +0 -43
  166. package/dist/cjs/plugindefs/session-key/config.js.map +0 -1
  167. package/dist/cjs/plugindefs/types.d.ts +0 -15
  168. package/dist/cjs/plugindefs/types.js +0 -3
  169. package/dist/cjs/plugindefs/types.js.map +0 -1
  170. package/dist/cjs/src/index.d.ts +0 -53
  171. package/dist/cjs/src/index.js +0 -105
  172. package/dist/cjs/src/index.js.map +0 -1
  173. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.d.ts +0 -532
  174. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js +0 -382
  175. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js.map +0 -1
  176. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.d.ts +0 -491
  177. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js +0 -358
  178. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js.map +0 -1
  179. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +0 -55
  180. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js +0 -78
  181. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js.map +0 -1
  182. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +0 -256
  183. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js +0 -213
  184. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js.map +0 -1
  185. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +0 -507
  186. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js +0 -375
  187. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js.map +0 -1
  188. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +0 -286
  189. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +0 -232
  190. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +0 -1
  191. package/dist/cjs/src/light-account/accounts/account.d.ts +0 -17
  192. package/dist/cjs/src/light-account/accounts/account.js +0 -79
  193. package/dist/cjs/src/light-account/accounts/account.js.map +0 -1
  194. package/dist/cjs/src/light-account/accounts/base.d.ts +0 -15
  195. package/dist/cjs/src/light-account/accounts/base.js +0 -143
  196. package/dist/cjs/src/light-account/accounts/base.js.map +0 -1
  197. package/dist/cjs/src/light-account/accounts/multiOwner.d.ts +0 -18
  198. package/dist/cjs/src/light-account/accounts/multiOwner.js +0 -80
  199. package/dist/cjs/src/light-account/accounts/multiOwner.js.map +0 -1
  200. package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +0 -8
  201. package/dist/cjs/src/light-account/actions/transferOwnership.js +0 -28
  202. package/dist/cjs/src/light-account/actions/transferOwnership.js.map +0 -1
  203. package/dist/cjs/src/light-account/actions/updateOwners.d.ts +0 -9
  204. package/dist/cjs/src/light-account/actions/updateOwners.js +0 -27
  205. package/dist/cjs/src/light-account/actions/updateOwners.js.map +0 -1
  206. package/dist/cjs/src/light-account/clients/alchemyClient.d.ts +0 -6
  207. package/dist/cjs/src/light-account/clients/alchemyClient.js +0 -25
  208. package/dist/cjs/src/light-account/clients/alchemyClient.js.map +0 -1
  209. package/dist/cjs/src/light-account/clients/client.d.ts +0 -10
  210. package/dist/cjs/src/light-account/clients/client.js +0 -22
  211. package/dist/cjs/src/light-account/clients/client.js.map +0 -1
  212. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.d.ts +0 -6
  213. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js +0 -25
  214. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +0 -1
  215. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.d.ts +0 -10
  216. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +0 -22
  217. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +0 -1
  218. package/dist/cjs/src/light-account/decorators/lightAccount.d.ts +0 -8
  219. package/dist/cjs/src/light-account/decorators/lightAccount.js +0 -9
  220. package/dist/cjs/src/light-account/decorators/lightAccount.js.map +0 -1
  221. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.d.ts +0 -8
  222. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js +0 -9
  223. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +0 -1
  224. package/dist/cjs/src/light-account/e2e-tests/constants.d.ts +0 -6
  225. package/dist/cjs/src/light-account/e2e-tests/constants.js +0 -10
  226. package/dist/cjs/src/light-account/e2e-tests/constants.js.map +0 -1
  227. package/dist/cjs/src/light-account/types.d.ts +0 -31
  228. package/dist/cjs/src/light-account/types.js +0 -3
  229. package/dist/cjs/src/light-account/types.js.map +0 -1
  230. package/dist/cjs/src/light-account/utils.d.ts +0 -10
  231. package/dist/cjs/src/light-account/utils.js +0 -108
  232. package/dist/cjs/src/light-account/utils.js.map +0 -1
  233. package/dist/cjs/src/msca/abis/IAccountLoupe.d.ts +0 -79
  234. package/dist/cjs/src/msca/abis/IAccountLoupe.js +0 -82
  235. package/dist/cjs/src/msca/abis/IAccountLoupe.js.map +0 -1
  236. package/dist/cjs/src/msca/abis/IPlugin.d.ts +0 -474
  237. package/dist/cjs/src/msca/abis/IPlugin.js +0 -400
  238. package/dist/cjs/src/msca/abis/IPlugin.js.map +0 -1
  239. package/dist/cjs/src/msca/abis/IPluginManager.d.ts +0 -101
  240. package/dist/cjs/src/msca/abis/IPluginManager.js +0 -109
  241. package/dist/cjs/src/msca/abis/IPluginManager.js.map +0 -1
  242. package/dist/cjs/src/msca/abis/IStandardExecutor.d.ts +0 -50
  243. package/dist/cjs/src/msca/abis/IStandardExecutor.js +0 -35
  244. package/dist/cjs/src/msca/abis/IStandardExecutor.js.map +0 -1
  245. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +0 -234
  246. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js +0 -194
  247. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js.map +0 -1
  248. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.d.ts +0 -246
  249. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js +0 -320
  250. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js.map +0 -1
  251. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.d.ts +0 -880
  252. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js +0 -649
  253. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js.map +0 -1
  254. package/dist/cjs/src/msca/account/multiOwnerAccount.d.ts +0 -12
  255. package/dist/cjs/src/msca/account/multiOwnerAccount.js +0 -60
  256. package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +0 -1
  257. package/dist/cjs/src/msca/account/multisigAccount.d.ts +0 -17
  258. package/dist/cjs/src/msca/account/multisigAccount.js +0 -71
  259. package/dist/cjs/src/msca/account/multisigAccount.js.map +0 -1
  260. package/dist/cjs/src/msca/account/standardExecutor.d.ts +0 -2
  261. package/dist/cjs/src/msca/account/standardExecutor.js +0 -28
  262. package/dist/cjs/src/msca/account/standardExecutor.js.map +0 -1
  263. package/dist/cjs/src/msca/account-loupe/decorator.d.ts +0 -16
  264. package/dist/cjs/src/msca/account-loupe/decorator.js +0 -66
  265. package/dist/cjs/src/msca/account-loupe/decorator.js.map +0 -1
  266. package/dist/cjs/src/msca/account-loupe/types.d.ts +0 -16
  267. package/dist/cjs/src/msca/account-loupe/types.js +0 -3
  268. package/dist/cjs/src/msca/account-loupe/types.js.map +0 -1
  269. package/dist/cjs/src/msca/client/alchemyClient.d.ts +0 -6
  270. package/dist/cjs/src/msca/client/alchemyClient.js +0 -28
  271. package/dist/cjs/src/msca/client/alchemyClient.js.map +0 -1
  272. package/dist/cjs/src/msca/client/client.d.ts +0 -17
  273. package/dist/cjs/src/msca/client/client.js +0 -49
  274. package/dist/cjs/src/msca/client/client.js.map +0 -1
  275. package/dist/cjs/src/msca/client/multiSigAlchemyClient.d.ts +0 -6
  276. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js +0 -31
  277. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +0 -1
  278. package/dist/cjs/src/msca/e2e-tests/constants.d.ts +0 -3
  279. package/dist/cjs/src/msca/e2e-tests/constants.js +0 -7
  280. package/dist/cjs/src/msca/e2e-tests/constants.js.map +0 -1
  281. package/dist/cjs/src/msca/errors.d.ts +0 -17
  282. package/dist/cjs/src/msca/errors.js +0 -53
  283. package/dist/cjs/src/msca/errors.js.map +0 -1
  284. package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +0 -11
  285. package/dist/cjs/src/msca/plugin-manager/decorator.js +0 -13
  286. package/dist/cjs/src/msca/plugin-manager/decorator.js.map +0 -1
  287. package/dist/cjs/src/msca/plugin-manager/installPlugin.d.ts +0 -11
  288. package/dist/cjs/src/msca/plugin-manager/installPlugin.js +0 -48
  289. package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +0 -1
  290. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.d.ts +0 -9
  291. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js +0 -35
  292. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js.map +0 -1
  293. package/dist/cjs/src/msca/plugins/multi-owner/extension.d.ts +0 -13
  294. package/dist/cjs/src/msca/plugins/multi-owner/extension.js +0 -26
  295. package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +0 -1
  296. package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +0 -3
  297. package/dist/cjs/src/msca/plugins/multi-owner/index.js +0 -10
  298. package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +0 -1
  299. package/dist/cjs/src/msca/plugins/multi-owner/plugin.d.ts +0 -793
  300. package/dist/cjs/src/msca/plugins/multi-owner/plugin.js +0 -695
  301. package/dist/cjs/src/msca/plugins/multi-owner/plugin.js.map +0 -1
  302. package/dist/cjs/src/msca/plugins/multi-owner/signer.d.ts +0 -215
  303. package/dist/cjs/src/msca/plugins/multi-owner/signer.js +0 -47
  304. package/dist/cjs/src/msca/plugins/multi-owner/signer.js.map +0 -1
  305. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.d.ts +0 -4
  306. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js +0 -20
  307. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js.map +0 -1
  308. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +0 -6
  309. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js +0 -15
  310. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js.map +0 -1
  311. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +0 -4
  312. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +0 -47
  313. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +0 -1
  314. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.d.ts +0 -4
  315. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js +0 -15
  316. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js.map +0 -1
  317. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +0 -4
  318. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +0 -54
  319. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +0 -1
  320. package/dist/cjs/src/msca/plugins/multisig/extension.d.ts +0 -17
  321. package/dist/cjs/src/msca/plugins/multisig/extension.js +0 -19
  322. package/dist/cjs/src/msca/plugins/multisig/extension.js.map +0 -1
  323. package/dist/cjs/src/msca/plugins/multisig/index.d.ts +0 -5
  324. package/dist/cjs/src/msca/plugins/multisig/index.js +0 -12
  325. package/dist/cjs/src/msca/plugins/multisig/index.js.map +0 -1
  326. package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +0 -3
  327. package/dist/cjs/src/msca/plugins/multisig/middleware.js +0 -97
  328. package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +0 -1
  329. package/dist/cjs/src/msca/plugins/multisig/plugin.d.ts +0 -892
  330. package/dist/cjs/src/msca/plugins/multisig/plugin.js +0 -740
  331. package/dist/cjs/src/msca/plugins/multisig/plugin.js.map +0 -1
  332. package/dist/cjs/src/msca/plugins/multisig/signer.d.ts +0 -223
  333. package/dist/cjs/src/msca/plugins/multisig/signer.js +0 -57
  334. package/dist/cjs/src/msca/plugins/multisig/signer.js.map +0 -1
  335. package/dist/cjs/src/msca/plugins/multisig/types.d.ts +0 -34
  336. package/dist/cjs/src/msca/plugins/multisig/types.js +0 -3
  337. package/dist/cjs/src/msca/plugins/multisig/types.js.map +0 -1
  338. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +0 -10
  339. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +0 -15
  340. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +0 -1
  341. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.d.ts +0 -2
  342. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js +0 -42
  343. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js.map +0 -1
  344. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +0 -10
  345. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js +0 -13
  346. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +0 -1
  347. package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +0 -8
  348. package/dist/cjs/src/msca/plugins/multisig/utils/index.js +0 -12
  349. package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +0 -1
  350. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +0 -16
  351. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js +0 -74
  352. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +0 -1
  353. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +0 -117
  354. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js +0 -115
  355. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js.map +0 -1
  356. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +0 -1
  357. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js +0 -5
  358. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js.map +0 -1
  359. package/dist/cjs/src/msca/plugins/session-key/extension.d.ts +0 -30
  360. package/dist/cjs/src/msca/plugins/session-key/extension.js +0 -156
  361. package/dist/cjs/src/msca/plugins/session-key/extension.js.map +0 -1
  362. package/dist/cjs/src/msca/plugins/session-key/index.d.ts +0 -3
  363. package/dist/cjs/src/msca/plugins/session-key/index.js +0 -10
  364. package/dist/cjs/src/msca/plugins/session-key/index.js.map +0 -1
  365. package/dist/cjs/src/msca/plugins/session-key/permissions.d.ts +0 -53
  366. package/dist/cjs/src/msca/plugins/session-key/permissions.js +0 -153
  367. package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +0 -1
  368. package/dist/cjs/src/msca/plugins/session-key/plugin.d.ts +0 -1200
  369. package/dist/cjs/src/msca/plugins/session-key/plugin.js +0 -1044
  370. package/dist/cjs/src/msca/plugins/session-key/plugin.js.map +0 -1
  371. package/dist/cjs/src/msca/plugins/session-key/signer.d.ts +0 -233
  372. package/dist/cjs/src/msca/plugins/session-key/signer.js +0 -101
  373. package/dist/cjs/src/msca/plugins/session-key/signer.js.map +0 -1
  374. package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +0 -11
  375. package/dist/cjs/src/msca/plugins/session-key/utils.js +0 -22
  376. package/dist/cjs/src/msca/plugins/session-key/utils.js.map +0 -1
  377. package/dist/cjs/src/msca/plugins/types.d.ts +0 -12
  378. package/dist/cjs/src/msca/plugins/types.js +0 -3
  379. package/dist/cjs/src/msca/plugins/types.js.map +0 -1
  380. package/dist/cjs/src/msca/utils.d.ts +0 -17
  381. package/dist/cjs/src/msca/utils.js +0 -99
  382. package/dist/cjs/src/msca/utils.js.map +0 -1
  383. package/dist/esm/package.json +0 -1
  384. package/dist/esm/src/light-account/e2e-tests/constants.d.ts +0 -6
  385. package/dist/esm/src/light-account/e2e-tests/constants.js +0 -7
  386. package/dist/esm/src/light-account/e2e-tests/constants.js.map +0 -1
  387. package/dist/types/src/light-account/e2e-tests/constants.d.ts +0 -7
  388. package/dist/types/src/light-account/e2e-tests/constants.d.ts.map +0 -1
  389. package/src/light-account/e2e-tests/constants.ts +0 -8
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multi-owner/plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getContract,\n encodeAbiParameters,\n encodeFunctionData,\n type Address,\n type GetContractReturnType,\n type Transport,\n type PublicClient,\n type Client,\n type EncodeFunctionDataParameters,\n type Chain,\n type Hex,\n type ReadContractReturnType,\n} from \"viem\";\nimport {\n ChainNotFoundError,\n AccountNotFoundError,\n isSmartAccountClient,\n IncompatibleClientError,\n type SmartContractAccount,\n type GetAccountParameter,\n type SendUserOperationResult,\n type GetEntryPointFromAccount,\n type UserOperationOverridesParameter,\n type UserOperationContext,\n type GetContextParameter,\n} from \"@aa-sdk/core\";\nimport {\n installPlugin as installPlugin_,\n type Plugin,\n type FunctionReference,\n} from \"@account-kit/smart-contracts\";\n\ntype ExecutionActions<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TContext extends UserOperationContext | undefined =\n | UserOperationContext\n | undefined,\n TEntryPointVersion extends\n GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,\n> = {\n updateOwners: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultiOwnerPluginExecutionFunctionAbi,\n \"updateOwners\"\n >,\n \"args\"\n > &\n UserOperationOverridesParameter<TEntryPointVersion> &\n GetAccountParameter<TAccount> &\n GetContextParameter<TContext>,\n ) => Promise<SendUserOperationResult<TEntryPointVersion>>;\n};\n\ntype InstallArgs = [{ type: \"address[]\" }];\n\nexport type InstallMultiOwnerPluginParams = {\n args: Parameters<typeof encodeAbiParameters<InstallArgs>>[1];\n pluginAddress?: Address;\n dependencyOverrides?: FunctionReference[];\n};\n\ntype ManagementActions<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TContext extends UserOperationContext | undefined =\n | Record<string, any>\n | undefined,\n TEntryPointVersion extends\n GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>,\n> = {\n installMultiOwnerPlugin: (\n args: UserOperationOverridesParameter<TEntryPointVersion> &\n InstallMultiOwnerPluginParams &\n GetAccountParameter<TAccount> &\n GetContextParameter<TContext>,\n ) => Promise<SendUserOperationResult<TEntryPointVersion>>;\n};\n\ntype ReadAndEncodeActions<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n> = {\n encodeUpdateOwners: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultiOwnerPluginExecutionFunctionAbi,\n \"updateOwners\"\n >,\n \"args\"\n >,\n ) => Hex;\n\n encodeEip712Domain: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultiOwnerPluginExecutionFunctionAbi,\n \"eip712Domain\"\n >,\n \"args\"\n >,\n ) => Hex;\n\n readEip712Domain: (\n args: GetAccountParameter<TAccount>,\n ) => Promise<\n ReadContractReturnType<\n typeof MultiOwnerPluginExecutionFunctionAbi,\n \"eip712Domain\"\n >\n >;\n\n encodeIsValidSignature: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultiOwnerPluginExecutionFunctionAbi,\n \"isValidSignature\"\n >,\n \"args\"\n >,\n ) => Hex;\n\n readIsValidSignature: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultiOwnerPluginExecutionFunctionAbi,\n \"isValidSignature\"\n >,\n \"args\"\n > &\n GetAccountParameter<TAccount>,\n ) => Promise<\n ReadContractReturnType<\n typeof MultiOwnerPluginExecutionFunctionAbi,\n \"isValidSignature\"\n >\n >;\n};\n\nexport type MultiOwnerPluginActions<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TContext extends UserOperationContext | undefined =\n | UserOperationContext\n | undefined,\n> = ExecutionActions<TAccount, TContext> &\n ManagementActions<TAccount, TContext> &\n ReadAndEncodeActions<TAccount>;\n\nconst addresses = {\n 1: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 10: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 137: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 252: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 2523: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 8453: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 42161: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 80001: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 80002: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 84532: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 421614: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 7777777: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 11155111: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 11155420: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n 999999999: \"0xcE0000007B008F50d762D155002600004cD6c647\" as Address,\n} as Record<number, Address>;\n\nexport const MultiOwnerPlugin: Plugin<typeof MultiOwnerPluginAbi> = {\n meta: {\n name: \"Multi Owner Plugin\",\n version: \"1.0.0\",\n addresses,\n },\n getContract: <C extends Client>(\n client: C,\n address?: Address,\n ): GetContractReturnType<\n typeof MultiOwnerPluginAbi,\n PublicClient,\n Address\n > => {\n if (!client.chain) throw new ChainNotFoundError();\n\n return getContract({\n address: address || addresses[client.chain.id],\n abi: MultiOwnerPluginAbi,\n client: client,\n });\n },\n};\n\nexport const multiOwnerPluginActions: <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TContext extends UserOperationContext | undefined =\n | UserOperationContext\n | undefined,\n>(\n client: Client<TTransport, TChain, TAccount>,\n) => MultiOwnerPluginActions<TAccount, TContext> = (client) => ({\n updateOwners({ args, overrides, context, account = client.account }) {\n if (!account) {\n throw new AccountNotFoundError();\n }\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"updateOwners\",\n client,\n );\n }\n\n const uo = encodeFunctionData({\n abi: MultiOwnerPluginExecutionFunctionAbi,\n functionName: \"updateOwners\",\n args,\n });\n\n return client.sendUserOperation({ uo, overrides, account, context });\n },\n installMultiOwnerPlugin({\n account = client.account,\n overrides,\n context,\n ...params\n }) {\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"installMultiOwnerPlugin\",\n client,\n );\n }\n\n const chain = client.chain;\n if (!chain) {\n throw new ChainNotFoundError();\n }\n\n const dependencies = params.dependencyOverrides ?? [];\n const pluginAddress =\n params.pluginAddress ??\n (MultiOwnerPlugin.meta.addresses[chain.id] as Address | undefined);\n\n if (!pluginAddress) {\n throw new Error(\n \"missing MultiOwnerPlugin address for chain \" + chain.name,\n );\n }\n\n return installPlugin_(client, {\n pluginAddress,\n pluginInitData: encodeAbiParameters([{ type: \"address[]\" }], params.args),\n dependencies,\n overrides,\n account,\n context,\n });\n },\n encodeUpdateOwners({ args }) {\n return encodeFunctionData({\n abi: MultiOwnerPluginExecutionFunctionAbi,\n functionName: \"updateOwners\",\n args,\n });\n },\n encodeEip712Domain() {\n return encodeFunctionData({\n abi: MultiOwnerPluginExecutionFunctionAbi,\n functionName: \"eip712Domain\",\n });\n },\n\n async readEip712Domain({ account = client.account }) {\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"readEip712Domain\",\n client,\n );\n }\n\n return client.readContract({\n address: account.address,\n abi: MultiOwnerPluginExecutionFunctionAbi,\n functionName: \"eip712Domain\",\n });\n },\n encodeIsValidSignature({ args }) {\n return encodeFunctionData({\n abi: MultiOwnerPluginExecutionFunctionAbi,\n functionName: \"isValidSignature\",\n args,\n });\n },\n\n async readIsValidSignature({ args, account = client.account }) {\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"readIsValidSignature\",\n client,\n );\n }\n\n return client.readContract({\n address: account.address,\n abi: MultiOwnerPluginExecutionFunctionAbi,\n functionName: \"isValidSignature\",\n args,\n });\n },\n});\n\nexport const MultiOwnerPluginExecutionFunctionAbi = [\n {\n type: \"function\",\n name: \"updateOwners\",\n inputs: [\n { name: \"ownersToAdd\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"ownersToRemove\", type: \"address[]\", internalType: \"address[]\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"eip712Domain\",\n inputs: [],\n outputs: [\n { name: \"fields\", type: \"bytes1\", internalType: \"bytes1\" },\n { name: \"name\", type: \"string\", internalType: \"string\" },\n { name: \"version\", type: \"string\", internalType: \"string\" },\n { name: \"chainId\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\", internalType: \"address\" },\n { name: \"salt\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"extensions\", type: \"uint256[]\", internalType: \"uint256[]\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isValidSignature\",\n inputs: [\n { name: \"digest\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"signature\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"view\",\n },\n] as const;\n\nexport const MultiOwnerPluginAbi = [\n {\n type: \"function\",\n name: \"eip712Domain\",\n inputs: [],\n outputs: [\n { name: \"fields\", type: \"bytes1\", internalType: \"bytes1\" },\n { name: \"name\", type: \"string\", internalType: \"string\" },\n { name: \"version\", type: \"string\", internalType: \"string\" },\n { name: \"chainId\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\", internalType: \"address\" },\n { name: \"salt\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"extensions\", type: \"uint256[]\", internalType: \"uint256[]\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"encodeMessageData\",\n inputs: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"message\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getMessageHash\",\n inputs: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"message\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isOwnerOf\",\n inputs: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"ownerToCheck\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isValidSignature\",\n inputs: [\n { name: \"digest\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"signature\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"onInstall\",\n inputs: [{ name: \"data\", type: \"bytes\", internalType: \"bytes\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"onUninstall\",\n inputs: [{ name: \"\", type: \"bytes\", internalType: \"bytes\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"ownersOf\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"address[]\", internalType: \"address[]\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pluginManifest\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct PluginManifest\",\n components: [\n { name: \"interfaceIds\", type: \"bytes4[]\", internalType: \"bytes4[]\" },\n {\n name: \"dependencyInterfaceIds\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n {\n name: \"executionFunctions\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n {\n name: \"permittedExecutionSelectors\",\n type: \"bytes4[]\",\n internalType: \"bytes4[]\",\n },\n {\n name: \"permitAnyExternalAddress\",\n type: \"bool\",\n internalType: \"bool\",\n },\n { name: \"canSpendNativeToken\", type: \"bool\", internalType: \"bool\" },\n {\n name: \"permittedExternalCalls\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExternalCallPermission[]\",\n components: [\n {\n name: \"externalAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n { name: \"permitAnySelector\", type: \"bool\", internalType: \"bool\" },\n { name: \"selectors\", type: \"bytes4[]\", internalType: \"bytes4[]\" },\n ],\n },\n {\n name: \"userOpValidationFunctions\",\n type: \"tuple[]\",\n internalType: \"struct ManifestAssociatedFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"associatedFunction\",\n type: \"tuple\",\n internalType: \"struct ManifestFunction\",\n components: [\n {\n name: \"functionType\",\n type: \"uint8\",\n internalType: \"enum ManifestAssociatedFunctionType\",\n },\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"dependencyIndex\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n {\n name: \"runtimeValidationFunctions\",\n type: \"tuple[]\",\n internalType: \"struct ManifestAssociatedFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"associatedFunction\",\n type: \"tuple\",\n internalType: \"struct ManifestFunction\",\n components: [\n {\n name: \"functionType\",\n type: \"uint8\",\n internalType: \"enum ManifestAssociatedFunctionType\",\n },\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"dependencyIndex\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n {\n name: \"preUserOpValidationHooks\",\n type: \"tuple[]\",\n internalType: \"struct ManifestAssociatedFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"associatedFunction\",\n type: \"tuple\",\n internalType: \"struct ManifestFunction\",\n components: [\n {\n name: \"functionType\",\n type: \"uint8\",\n internalType: \"enum ManifestAssociatedFunctionType\",\n },\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"dependencyIndex\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n {\n name: \"preRuntimeValidationHooks\",\n type: \"tuple[]\",\n internalType: \"struct ManifestAssociatedFunction[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"associatedFunction\",\n type: \"tuple\",\n internalType: \"struct ManifestFunction\",\n components: [\n {\n name: \"functionType\",\n type: \"uint8\",\n internalType: \"enum ManifestAssociatedFunctionType\",\n },\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"dependencyIndex\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n {\n name: \"executionHooks\",\n type: \"tuple[]\",\n internalType: \"struct ManifestExecutionHook[]\",\n components: [\n {\n name: \"executionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"preExecHook\",\n type: \"tuple\",\n internalType: \"struct ManifestFunction\",\n components: [\n {\n name: \"functionType\",\n type: \"uint8\",\n internalType: \"enum ManifestAssociatedFunctionType\",\n },\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"dependencyIndex\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n name: \"postExecHook\",\n type: \"tuple\",\n internalType: \"struct ManifestFunction\",\n components: [\n {\n name: \"functionType\",\n type: \"uint8\",\n internalType: \"enum ManifestAssociatedFunctionType\",\n },\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"dependencyIndex\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n },\n ],\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"pluginMetadata\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct PluginMetadata\",\n components: [\n { name: \"name\", type: \"string\", internalType: \"string\" },\n { name: \"version\", type: \"string\", internalType: \"string\" },\n { name: \"author\", type: \"string\", internalType: \"string\" },\n {\n name: \"permissionDescriptors\",\n type: \"tuple[]\",\n internalType: \"struct SelectorPermission[]\",\n components: [\n {\n name: \"functionSelector\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n {\n name: \"permissionDescription\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n },\n ],\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"postExecutionHook\",\n inputs: [\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"preExecHookData\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"preExecutionHook\",\n inputs: [\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"sender\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"data\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"preRuntimeValidationHook\",\n inputs: [\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"sender\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"data\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"preUserOpValidationHook\",\n inputs: [\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"userOp\",\n type: \"tuple\",\n internalType: \"struct UserOperation\",\n components: [\n { name: \"sender\", type: \"address\", internalType: \"address\" },\n { name: \"nonce\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"initCode\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"callData\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"callGasLimit\", type: \"uint256\", internalType: \"uint256\" },\n {\n name: \"verificationGasLimit\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"preVerificationGas\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n { name: \"maxFeePerGas\", type: \"uint256\", internalType: \"uint256\" },\n {\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n { name: \"paymasterAndData\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"signature\", type: \"bytes\", internalType: \"bytes\" },\n ],\n },\n { name: \"userOpHash\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"runtimeValidationFunction\",\n inputs: [\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"sender\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"supportsInterface\",\n inputs: [{ name: \"interfaceId\", type: \"bytes4\", internalType: \"bytes4\" }],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"updateOwners\",\n inputs: [\n { name: \"ownersToAdd\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"ownersToRemove\", type: \"address[]\", internalType: \"address[]\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"userOpValidationFunction\",\n inputs: [\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n {\n name: \"userOp\",\n type: \"tuple\",\n internalType: \"struct UserOperation\",\n components: [\n { name: \"sender\", type: \"address\", internalType: \"address\" },\n { name: \"nonce\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"initCode\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"callData\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"callGasLimit\", type: \"uint256\", internalType: \"uint256\" },\n {\n name: \"verificationGasLimit\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"preVerificationGas\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n { name: \"maxFeePerGas\", type: \"uint256\", internalType: \"uint256\" },\n {\n name: \"maxPriorityFeePerGas\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n { name: \"paymasterAndData\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"signature\", type: \"bytes\", internalType: \"bytes\" },\n ],\n },\n { name: \"userOpHash\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"event\",\n name: \"OwnerUpdated\",\n inputs: [\n {\n name: \"account\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"addedOwners\",\n type: \"address[]\",\n indexed: false,\n internalType: \"address[]\",\n },\n {\n name: \"removedOwners\",\n type: \"address[]\",\n indexed: false,\n internalType: \"address[]\",\n },\n ],\n anonymous: false,\n },\n { type: \"error\", name: \"AlreadyInitialized\", inputs: [] },\n { type: \"error\", name: \"EmptyOwnersNotAllowed\", inputs: [] },\n { type: \"error\", name: \"InvalidAction\", inputs: [] },\n {\n type: \"error\",\n name: \"InvalidOwner\",\n inputs: [{ name: \"owner\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"NotAuthorized\", inputs: [] },\n {\n type: \"error\",\n name: \"NotContractCaller\",\n inputs: [{ name: \"caller\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"NotImplemented\",\n inputs: [\n { name: \"selector\", type: \"bytes4\", internalType: \"bytes4\" },\n { name: \"functionId\", type: \"uint8\", internalType: \"uint8\" },\n ],\n },\n { type: \"error\", name: \"NotInitialized\", inputs: [] },\n {\n type: \"error\",\n name: \"OwnerDoesNotExist\",\n inputs: [{ name: \"owner\", type: \"address\", internalType: \"address\" }],\n },\n] as const;\n"]}
@@ -1,215 +0,0 @@
1
- import type { Address, BundlerClient, SmartAccountSigner } from "@aa-sdk/core";
2
- import { type Hex, type SignableMessage, type Transport, type TypedDataDefinition } from "viem";
3
- export declare const multiOwnerMessageSigner: <TTransport extends Transport, TSigner extends SmartAccountSigner<any>>(client: BundlerClient<TTransport>, accountAddress: Address, signer: () => TSigner, pluginAddress?: Address) => {
4
- getDummySignature: () => Hex;
5
- signUserOperationHash: (uoHash: `0x${string}`) => Promise<`0x${string}`>;
6
- signMessage({ message, }: {
7
- message: SignableMessage;
8
- }): Promise<`0x${string}`>;
9
- signTypedData: <const typedData extends Record<string, unknown> | {
10
- [x: string]: readonly import("viem").TypedDataParameter[];
11
- [x: `string[${string}]`]: undefined;
12
- [x: `function[${string}]`]: undefined;
13
- [x: `address[${string}]`]: undefined;
14
- [x: `uint64[${string}]`]: undefined;
15
- [x: `bytes32[${string}]`]: undefined;
16
- [x: `bytes[${string}]`]: undefined;
17
- [x: `uint256[${string}]`]: undefined;
18
- [x: `bytes4[${string}]`]: undefined;
19
- [x: `bool[${string}]`]: undefined;
20
- [x: `bytes1[${string}]`]: undefined;
21
- [x: `uint32[${string}]`]: undefined;
22
- [x: `bytes2[${string}]`]: undefined;
23
- [x: `bytes3[${string}]`]: undefined;
24
- [x: `bytes5[${string}]`]: undefined;
25
- [x: `bytes6[${string}]`]: undefined;
26
- [x: `bytes11[${string}]`]: undefined;
27
- [x: `bytes7[${string}]`]: undefined;
28
- [x: `bytes9[${string}]`]: undefined;
29
- [x: `bytes27[${string}]`]: undefined;
30
- [x: `bytes22[${string}]`]: undefined;
31
- [x: `bytes8[${string}]`]: undefined;
32
- [x: `bytes10[${string}]`]: undefined;
33
- [x: `bytes12[${string}]`]: undefined;
34
- [x: `bytes13[${string}]`]: undefined;
35
- [x: `bytes14[${string}]`]: undefined;
36
- [x: `bytes15[${string}]`]: undefined;
37
- [x: `bytes16[${string}]`]: undefined;
38
- [x: `bytes17[${string}]`]: undefined;
39
- [x: `bytes18[${string}]`]: undefined;
40
- [x: `bytes19[${string}]`]: undefined;
41
- [x: `bytes20[${string}]`]: undefined;
42
- [x: `bytes21[${string}]`]: undefined;
43
- [x: `bytes23[${string}]`]: undefined;
44
- [x: `bytes24[${string}]`]: undefined;
45
- [x: `bytes25[${string}]`]: undefined;
46
- [x: `bytes26[${string}]`]: undefined;
47
- [x: `bytes28[${string}]`]: undefined;
48
- [x: `bytes29[${string}]`]: undefined;
49
- [x: `bytes30[${string}]`]: undefined;
50
- [x: `bytes31[${string}]`]: undefined;
51
- [x: `int[${string}]`]: undefined;
52
- [x: `int8[${string}]`]: undefined;
53
- [x: `int16[${string}]`]: undefined;
54
- [x: `int24[${string}]`]: undefined;
55
- [x: `int32[${string}]`]: undefined;
56
- [x: `int40[${string}]`]: undefined;
57
- [x: `int48[${string}]`]: undefined;
58
- [x: `int56[${string}]`]: undefined;
59
- [x: `int64[${string}]`]: undefined;
60
- [x: `int72[${string}]`]: undefined;
61
- [x: `int80[${string}]`]: undefined;
62
- [x: `int88[${string}]`]: undefined;
63
- [x: `int96[${string}]`]: undefined;
64
- [x: `int104[${string}]`]: undefined;
65
- [x: `int112[${string}]`]: undefined;
66
- [x: `int120[${string}]`]: undefined;
67
- [x: `int128[${string}]`]: undefined;
68
- [x: `int136[${string}]`]: undefined;
69
- [x: `int144[${string}]`]: undefined;
70
- [x: `int152[${string}]`]: undefined;
71
- [x: `int160[${string}]`]: undefined;
72
- [x: `int168[${string}]`]: undefined;
73
- [x: `int176[${string}]`]: undefined;
74
- [x: `int184[${string}]`]: undefined;
75
- [x: `int192[${string}]`]: undefined;
76
- [x: `int200[${string}]`]: undefined;
77
- [x: `int208[${string}]`]: undefined;
78
- [x: `int216[${string}]`]: undefined;
79
- [x: `int224[${string}]`]: undefined;
80
- [x: `int232[${string}]`]: undefined;
81
- [x: `int240[${string}]`]: undefined;
82
- [x: `int248[${string}]`]: undefined;
83
- [x: `int256[${string}]`]: undefined;
84
- [x: `uint[${string}]`]: undefined;
85
- [x: `uint8[${string}]`]: undefined;
86
- [x: `uint16[${string}]`]: undefined;
87
- [x: `uint24[${string}]`]: undefined;
88
- [x: `uint40[${string}]`]: undefined;
89
- [x: `uint48[${string}]`]: undefined;
90
- [x: `uint56[${string}]`]: undefined;
91
- [x: `uint72[${string}]`]: undefined;
92
- [x: `uint80[${string}]`]: undefined;
93
- [x: `uint88[${string}]`]: undefined;
94
- [x: `uint96[${string}]`]: undefined;
95
- [x: `uint104[${string}]`]: undefined;
96
- [x: `uint112[${string}]`]: undefined;
97
- [x: `uint120[${string}]`]: undefined;
98
- [x: `uint128[${string}]`]: undefined;
99
- [x: `uint136[${string}]`]: undefined;
100
- [x: `uint144[${string}]`]: undefined;
101
- [x: `uint152[${string}]`]: undefined;
102
- [x: `uint160[${string}]`]: undefined;
103
- [x: `uint168[${string}]`]: undefined;
104
- [x: `uint176[${string}]`]: undefined;
105
- [x: `uint184[${string}]`]: undefined;
106
- [x: `uint192[${string}]`]: undefined;
107
- [x: `uint200[${string}]`]: undefined;
108
- [x: `uint208[${string}]`]: undefined;
109
- [x: `uint216[${string}]`]: undefined;
110
- [x: `uint224[${string}]`]: undefined;
111
- [x: `uint232[${string}]`]: undefined;
112
- [x: `uint240[${string}]`]: undefined;
113
- [x: `uint248[${string}]`]: undefined;
114
- string?: undefined;
115
- address?: undefined;
116
- uint64?: undefined;
117
- bytes32?: undefined;
118
- bytes?: undefined;
119
- uint256?: undefined;
120
- bytes4?: undefined;
121
- bool?: undefined;
122
- bytes1?: undefined;
123
- uint32?: undefined;
124
- bytes2?: undefined;
125
- bytes3?: undefined;
126
- bytes5?: undefined;
127
- bytes6?: undefined;
128
- bytes11?: undefined;
129
- bytes7?: undefined;
130
- bytes9?: undefined;
131
- bytes27?: undefined;
132
- bytes22?: undefined;
133
- bytes8?: undefined;
134
- bytes10?: undefined;
135
- bytes12?: undefined;
136
- bytes13?: undefined;
137
- bytes14?: undefined;
138
- bytes15?: undefined;
139
- bytes16?: undefined;
140
- bytes17?: undefined;
141
- bytes18?: undefined;
142
- bytes19?: undefined;
143
- bytes20?: undefined;
144
- bytes21?: undefined;
145
- bytes23?: undefined;
146
- bytes24?: undefined;
147
- bytes25?: undefined;
148
- bytes26?: undefined;
149
- bytes28?: undefined;
150
- bytes29?: undefined;
151
- bytes30?: undefined;
152
- bytes31?: undefined;
153
- int8?: undefined;
154
- int16?: undefined;
155
- int24?: undefined;
156
- int32?: undefined;
157
- int40?: undefined;
158
- int48?: undefined;
159
- int56?: undefined;
160
- int64?: undefined;
161
- int72?: undefined;
162
- int80?: undefined;
163
- int88?: undefined;
164
- int96?: undefined;
165
- int104?: undefined;
166
- int112?: undefined;
167
- int120?: undefined;
168
- int128?: undefined;
169
- int136?: undefined;
170
- int144?: undefined;
171
- int152?: undefined;
172
- int160?: undefined;
173
- int168?: undefined;
174
- int176?: undefined;
175
- int184?: undefined;
176
- int192?: undefined;
177
- int200?: undefined;
178
- int208?: undefined;
179
- int216?: undefined;
180
- int224?: undefined;
181
- int232?: undefined;
182
- int240?: undefined;
183
- int248?: undefined;
184
- int256?: undefined;
185
- uint8?: undefined;
186
- uint16?: undefined;
187
- uint24?: undefined;
188
- uint40?: undefined;
189
- uint48?: undefined;
190
- uint56?: undefined;
191
- uint72?: undefined;
192
- uint80?: undefined;
193
- uint88?: undefined;
194
- uint96?: undefined;
195
- uint104?: undefined;
196
- uint112?: undefined;
197
- uint120?: undefined;
198
- uint128?: undefined;
199
- uint136?: undefined;
200
- uint144?: undefined;
201
- uint152?: undefined;
202
- uint160?: undefined;
203
- uint168?: undefined;
204
- uint176?: undefined;
205
- uint184?: undefined;
206
- uint192?: undefined;
207
- uint200?: undefined;
208
- uint208?: undefined;
209
- uint216?: undefined;
210
- uint224?: undefined;
211
- uint232?: undefined;
212
- uint240?: undefined;
213
- uint248?: undefined;
214
- }, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(typedDataDefinition: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
215
- };
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.multiOwnerMessageSigner = void 0;
4
- const viem_1 = require("viem");
5
- const plugin_js_1 = require("./plugin.js");
6
- const multiOwnerMessageSigner = (client, accountAddress, signer, pluginAddress = plugin_js_1.MultiOwnerPlugin.meta.addresses[client.chain.id]) => {
7
- const signWith712Wrapper = async (msg) => {
8
- const [, name, version, chainId, verifyingContract, salt] = await client.readContract({
9
- abi: plugin_js_1.MultiOwnerPluginAbi,
10
- address: pluginAddress,
11
- functionName: "eip712Domain",
12
- account: accountAddress,
13
- });
14
- return signer().signTypedData({
15
- domain: {
16
- chainId: Number(chainId),
17
- name,
18
- salt,
19
- verifyingContract,
20
- version,
21
- },
22
- types: {
23
- AlchemyModularAccountMessage: [{ name: "message", type: "bytes" }],
24
- },
25
- message: {
26
- message: msg,
27
- },
28
- primaryType: "AlchemyModularAccountMessage",
29
- });
30
- };
31
- return {
32
- getDummySignature: () => {
33
- return "0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c";
34
- },
35
- signUserOperationHash: (uoHash) => {
36
- return signer().signMessage({ raw: uoHash });
37
- },
38
- signMessage({ message, }) {
39
- return signWith712Wrapper((0, viem_1.hashMessage)(message));
40
- },
41
- signTypedData: (typedDataDefinition) => {
42
- return signWith712Wrapper((0, viem_1.hashTypedData)(typedDataDefinition));
43
- },
44
- };
45
- };
46
- exports.multiOwnerMessageSigner = multiOwnerMessageSigner;
47
- //# sourceMappingURL=signer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multi-owner/signer.ts"],"names":[],"mappings":";;;AACA,+BASc;AACd,2CAAoE;AAE7D,MAAM,uBAAuB,GAAG,CAIrC,MAAiC,EACjC,cAAuB,EACvB,MAAqB,EACrB,gBAAyB,4BAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EACzE,EAAE;IACF,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAS,EAA0B,EAAE;QACrE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,GACvD,MAAM,MAAM,CAAC,YAAY,CAAC;YACxB,GAAG,EAAE,+BAAmB;YACxB,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,cAAc;YAC5B,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QAEL,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC;YAC5B,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;gBACxB,IAAI;gBACJ,IAAI;gBACJ,iBAAiB;gBACjB,OAAO;aACR;YACD,KAAK,EAAE;gBACL,4BAA4B,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aACnE;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,GAAG;aACb;YACD,WAAW,EAAE,8BAA8B;SAC5C,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,GAAQ,EAAE;YAC3B,OAAO,sIAAsI,CAAC;QAChJ,CAAC;QAED,qBAAqB,EAAE,CAAC,MAAqB,EAA0B,EAAE;YACvE,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,WAAW,CAAC,EACV,OAAO,GAGR;YACC,OAAO,kBAAkB,CAAC,IAAA,kBAAW,EAAC,OAAO,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,aAAa,EAAE,CAIb,mBAAgE,EAClD,EAAE;YAChB,OAAO,kBAAkB,CAAC,IAAA,oBAAa,EAAC,mBAAmB,CAAC,CAAC,CAAC;QAChE,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA9DW,QAAA,uBAAuB,2BA8DlC","sourcesContent":["import type { Address, BundlerClient, SmartAccountSigner } from \"@aa-sdk/core\";\nimport {\n hashMessage,\n hashTypedData,\n type Hash,\n type Hex,\n type SignableMessage,\n type Transport,\n type TypedData,\n type TypedDataDefinition,\n} from \"viem\";\nimport { MultiOwnerPlugin, MultiOwnerPluginAbi } from \"./plugin.js\";\n\nexport const multiOwnerMessageSigner = <\n TTransport extends Transport,\n TSigner extends SmartAccountSigner\n>(\n client: BundlerClient<TTransport>,\n accountAddress: Address,\n signer: () => TSigner,\n pluginAddress: Address = MultiOwnerPlugin.meta.addresses[client.chain.id]\n) => {\n const signWith712Wrapper = async (msg: Hash): Promise<`0x${string}`> => {\n const [, name, version, chainId, verifyingContract, salt] =\n await client.readContract({\n abi: MultiOwnerPluginAbi,\n address: pluginAddress,\n functionName: \"eip712Domain\",\n account: accountAddress,\n });\n\n return signer().signTypedData({\n domain: {\n chainId: Number(chainId),\n name,\n salt,\n verifyingContract,\n version,\n },\n types: {\n AlchemyModularAccountMessage: [{ name: \"message\", type: \"bytes\" }],\n },\n message: {\n message: msg,\n },\n primaryType: \"AlchemyModularAccountMessage\",\n });\n };\n\n return {\n getDummySignature: (): Hex => {\n return \"0xfffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c\";\n },\n\n signUserOperationHash: (uoHash: `0x${string}`): Promise<`0x${string}`> => {\n return signer().signMessage({ raw: uoHash });\n },\n\n signMessage({\n message,\n }: {\n message: SignableMessage;\n }): Promise<`0x${string}`> {\n return signWith712Wrapper(hashMessage(message));\n },\n\n signTypedData: <\n const typedData extends TypedData | Record<string, unknown>,\n primaryType extends keyof typedData | \"EIP712Domain\" = keyof typedData\n >(\n typedDataDefinition: TypedDataDefinition<typedData, primaryType>\n ): Promise<Hex> => {\n return signWith712Wrapper(hashTypedData(typedDataDefinition));\n },\n };\n};\n"]}
@@ -1,4 +0,0 @@
1
- import { type GetAccountParameter, type SmartContractAccount } from "@aa-sdk/core";
2
- import { type Chain, type Client, type Transport } from "viem";
3
- import type { GetPluginAddressParameter } from "../../types.js";
4
- export declare function getThreshold<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: GetPluginAddressParameter & GetAccountParameter<TAccount>): Promise<bigint>;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getThreshold = void 0;
4
- const core_1 = require("@aa-sdk/core");
5
- const multisigAccount_js_1 = require("../../../account/multisigAccount.js");
6
- const plugin_js_1 = require("../plugin.js");
7
- const errors_js_1 = require("../../../errors.js");
8
- async function getThreshold(client, args) {
9
- const account = args.account ?? client.account;
10
- if (!account) {
11
- throw new core_1.AccountNotFoundError();
12
- }
13
- if (!(0, multisigAccount_js_1.isMultisigModularAccount)(account)) {
14
- throw new errors_js_1.MultisigAccountExpectedError();
15
- }
16
- const [, threshold] = await plugin_js_1.MultisigPlugin.getContract(client, args.pluginAddress).read.ownershipInfoOf([account.address]);
17
- return threshold === 0n ? account.getLocalThreshold() : threshold;
18
- }
19
- exports.getThreshold = getThreshold;
20
- //# sourceMappingURL=getThreshold.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getThreshold.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/actions/getThreshold.ts"],"names":[],"mappings":";;;AAAA,uCAIsB;AAEtB,4EAA+E;AAE/E,4CAA8C;AAC9C,kDAAkE;AAE3D,KAAK,UAAU,YAAY,CAOhC,MAA4C,EAC5C,IAA+D;IAE/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAA,6CAAwB,EAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,wCAA4B,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,0BAAc,CAAC,WAAW,CACpD,MAAM,EACN,IAAI,CAAC,aAAa,CACnB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1C,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAzBD,oCAyBC","sourcesContent":["import {\n AccountNotFoundError,\n type GetAccountParameter,\n type SmartContractAccount,\n} from \"@aa-sdk/core\";\nimport { type Chain, type Client, type Transport } from \"viem\";\nimport { isMultisigModularAccount } from \"../../../account/multisigAccount.js\";\nimport type { GetPluginAddressParameter } from \"../../types.js\";\nimport { MultisigPlugin } from \"../plugin.js\";\nimport { MultisigAccountExpectedError } from \"../../../errors.js\";\n\nexport async function getThreshold<\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: GetPluginAddressParameter & GetAccountParameter<TAccount>\n) {\n const account = args.account ?? client.account;\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isMultisigModularAccount(account)) {\n throw new MultisigAccountExpectedError();\n }\n\n const [, threshold] = await MultisigPlugin.getContract(\n client,\n args.pluginAddress\n ).read.ownershipInfoOf([account.address]);\n\n return threshold === 0n ? account.getLocalThreshold() : threshold;\n}\n"]}
@@ -1,6 +0,0 @@
1
- import { type Address, type GetAccountParameter, type SmartContractAccount } from "@aa-sdk/core";
2
- import { type Chain, type Client, type Transport } from "viem";
3
- import type { GetPluginAddressParameter } from "../../types.js";
4
- export declare function isOwnerOf<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: {
5
- address: Address;
6
- } & GetPluginAddressParameter & GetAccountParameter<TAccount>): Promise<boolean>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOwnerOf = void 0;
4
- const core_1 = require("@aa-sdk/core");
5
- const plugin_js_1 = require("../plugin.js");
6
- async function isOwnerOf(client, args) {
7
- const account = args.account ?? client.account;
8
- if (!account) {
9
- throw new core_1.AccountNotFoundError();
10
- }
11
- const contract = plugin_js_1.MultisigPlugin.getContract(client, args.pluginAddress);
12
- return await contract.read.isOwnerOf([account.address, args.address]);
13
- }
14
- exports.isOwnerOf = isOwnerOf;
15
- //# sourceMappingURL=isOwnerOf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isOwnerOf.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/actions/isOwnerOf.ts"],"names":[],"mappings":";;;AAAA,uCAKsB;AAGtB,4CAA8C;AAEvC,KAAK,UAAU,SAAS,CAO7B,MAA4C,EAC5C,IAC+B;IAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;IACnC,CAAC;IAGD,MAAM,QAAQ,GAAG,0BAAc,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxE,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAnBD,8BAmBC","sourcesContent":["import {\n AccountNotFoundError,\n type Address,\n type GetAccountParameter,\n type SmartContractAccount,\n} from \"@aa-sdk/core\";\nimport { type Chain, type Client, type Transport } from \"viem\";\nimport type { GetPluginAddressParameter } from \"../../types.js\";\nimport { MultisigPlugin } from \"../plugin.js\";\n\nexport async function isOwnerOf<\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: { address: Address } & GetPluginAddressParameter &\n GetAccountParameter<TAccount>\n) {\n const account = args.account ?? client.account;\n if (!account) {\n throw new AccountNotFoundError();\n }\n // TODO: check if the account actually has the plugin installed\n // either via account loupe or checking if the supports interface call passes on the account\n const contract = MultisigPlugin.getContract(client, args.pluginAddress);\n return await contract.read.isOwnerOf([account.address, args.address]);\n}\n"]}
@@ -1,4 +0,0 @@
1
- import { type GetEntryPointFromAccount, type SendUserOperationParameters, type SmartContractAccount } from "@aa-sdk/core";
2
- import { type Chain, type Client, type Transport } from "viem";
3
- import { type ProposeUserOperationResult } from "../types.js";
4
- export declare function proposeUserOperation<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>>(client: Client<TTransport, TChain, TAccount>, { uo, account, overrides: overrides_, }: SendUserOperationParameters<TAccount, undefined>): Promise<ProposeUserOperationResult>;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.proposeUserOperation = void 0;
4
- const core_1 = require("@aa-sdk/core");
5
- const splitAggregatedSignature_js_1 = require("../utils/splitAggregatedSignature.js");
6
- async function proposeUserOperation(client, { uo, account = client.account, overrides: overrides_, }) {
7
- const overrides = {
8
- maxFeePerGas: { multiplier: 3 },
9
- maxPriorityFeePerGas: { multiplier: 2 },
10
- preVerificationGas: { multiplier: 1000 },
11
- ...overrides_,
12
- };
13
- if (!account) {
14
- throw new core_1.AccountNotFoundError();
15
- }
16
- if (!(0, core_1.isSmartAccountClient)(client)) {
17
- throw new core_1.IncompatibleClientError("SmartAccountClient", "proposeUserOperation", client);
18
- }
19
- if (!(0, core_1.isSmartAccountWithSigner)(account)) {
20
- throw new core_1.SmartAccountWithSignerRequiredError();
21
- }
22
- const builtUo = await client.buildUserOperation({
23
- account,
24
- uo,
25
- overrides,
26
- });
27
- const request = await client.signUserOperation({
28
- uoStruct: builtUo,
29
- account,
30
- context: {
31
- userOpSignatureType: "UPPERLIMIT",
32
- },
33
- });
34
- const splitSignatures = await (0, splitAggregatedSignature_js_1.splitAggregatedSignature)({
35
- request,
36
- aggregatedSignature: request.signature,
37
- account,
38
- threshold: 2,
39
- });
40
- return {
41
- request,
42
- signatureObj: splitSignatures.signatures[0],
43
- aggregatedSignature: request.signature,
44
- };
45
- }
46
- exports.proposeUserOperation = proposeUserOperation;
47
- //# sourceMappingURL=proposeUserOperation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposeUserOperation.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/actions/proposeUserOperation.ts"],"names":[],"mappings":";;;AAAA,uCAUsB;AAGtB,sFAAgF;AAEzE,KAAK,UAAU,oBAAoB,CAQxC,MAA4C,EAC5C,EACE,EAAE,EACF,OAAO,GAAG,MAAM,CAAC,OAAO,EACxB,SAAS,EAAE,UAAU,GAC4B;IAGnD,MAAM,SAAS,GAAG;QAChB,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;QAC/B,oBAAoB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;QACvC,kBAAkB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;QACxC,GAAG,UAAU;KACgC,CAAC;IAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,8BAAuB,CAC/B,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,CACP,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAA,+BAAwB,EAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,0CAAmC,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;QAC9C,OAAO;QACP,EAAE;QACF,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;QAC7C,QAAQ,EAAE,OAAO;QACjB,OAAO;QACP,OAAO,EAAE;YACP,mBAAmB,EAAE,YAAY;SAClC;KACF,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,IAAA,sDAAwB,EAAC;QACrD,OAAO;QACP,mBAAmB,EAAE,OAAO,CAAC,SAAS;QACtC,OAAO;QAEP,SAAS,EAAE,CAAC;KACb,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,YAAY,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3C,mBAAmB,EAAE,OAAO,CAAC,SAAS;KACvC,CAAC;AACJ,CAAC;AAlED,oDAkEC","sourcesContent":["import {\n AccountNotFoundError,\n IncompatibleClientError,\n isSmartAccountClient,\n isSmartAccountWithSigner,\n SmartAccountWithSignerRequiredError,\n type GetEntryPointFromAccount,\n type SendUserOperationParameters,\n type SmartContractAccount,\n type UserOperationOverrides,\n} from \"@aa-sdk/core\";\nimport { type Chain, type Client, type Transport } from \"viem\";\nimport { type ProposeUserOperationResult } from \"../types.js\";\nimport { splitAggregatedSignature } from \"../utils/splitAggregatedSignature.js\";\n\nexport async function proposeUserOperation<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>\n>(\n client: Client<TTransport, TChain, TAccount>,\n {\n uo,\n account = client.account,\n overrides: overrides_,\n }: SendUserOperationParameters<TAccount, undefined>\n): Promise<ProposeUserOperationResult> {\n // these overrides allow us to set a high max fee and PVG upper bound\n const overrides = {\n maxFeePerGas: { multiplier: 3 },\n maxPriorityFeePerGas: { multiplier: 2 },\n preVerificationGas: { multiplier: 1000 },\n ...overrides_,\n } as UserOperationOverrides<TEntryPointVersion>;\n\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"proposeUserOperation\",\n client\n );\n }\n\n if (!isSmartAccountWithSigner(account)) {\n throw new SmartAccountWithSignerRequiredError();\n }\n\n const builtUo = await client.buildUserOperation({\n account,\n uo,\n overrides,\n });\n\n const request = await client.signUserOperation({\n uoStruct: builtUo,\n account,\n context: {\n userOpSignatureType: \"UPPERLIMIT\",\n },\n });\n\n const splitSignatures = await splitAggregatedSignature({\n request,\n aggregatedSignature: request.signature,\n account,\n // split works on the assumption that we have t - 1 signatures\n threshold: 2,\n });\n\n return {\n request,\n signatureObj: splitSignatures.signatures[0],\n aggregatedSignature: request.signature,\n };\n}\n"]}
@@ -1,4 +0,0 @@
1
- import { type GetAccountParameter, type SmartContractAccount } from "@aa-sdk/core";
2
- import { type Chain, type Client, type Transport } from "viem";
3
- import type { GetPluginAddressParameter } from "../../types.js";
4
- export declare function readOwners<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: GetPluginAddressParameter & GetAccountParameter<TAccount>): Promise<readonly `0x${string}`[]>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readOwners = void 0;
4
- const core_1 = require("@aa-sdk/core");
5
- const plugin_js_1 = require("../plugin.js");
6
- async function readOwners(client, args) {
7
- const account = args?.account ?? client.account;
8
- if (!account) {
9
- throw new core_1.AccountNotFoundError();
10
- }
11
- const [owners] = await plugin_js_1.MultisigPlugin.getContract(client, args?.pluginAddress).read.ownershipInfoOf([account.address]);
12
- return owners;
13
- }
14
- exports.readOwners = readOwners;
15
- //# sourceMappingURL=readOwners.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readOwners.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/actions/readOwners.ts"],"names":[],"mappings":";;;AAAA,uCAIsB;AAGtB,4CAA8C;AAEvC,KAAK,UAAU,UAAU,CAO9B,MAA4C,EAC5C,IAA+D;IAE/D,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;IACnC,CAAC;IAGD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,0BAAc,CAAC,WAAW,CAC/C,MAAM,EACN,IAAI,EAAE,aAAa,CACpB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,gCAqBC","sourcesContent":["import {\n AccountNotFoundError,\n type GetAccountParameter,\n type SmartContractAccount,\n} from \"@aa-sdk/core\";\nimport { type Chain, type Client, type Transport } from \"viem\";\nimport type { GetPluginAddressParameter } from \"../../types.js\";\nimport { MultisigPlugin } from \"../plugin.js\";\n\nexport async function readOwners<\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: GetPluginAddressParameter & GetAccountParameter<TAccount>\n) {\n const account = args?.account ?? client.account;\n if (!account) {\n throw new AccountNotFoundError();\n }\n // TODO: check if the account actually has the plugin installed\n // either via account loupe or checking if the supports interface call passes on the account\n const [owners] = await MultisigPlugin.getContract(\n client,\n args?.pluginAddress\n ).read.ownershipInfoOf([account.address]);\n return owners;\n}\n"]}
@@ -1,4 +0,0 @@
1
- import { type SmartContractAccount } from "@aa-sdk/core";
2
- import { type Chain, type Client, type Transport } from "viem";
3
- import { type SignMultisigUserOperationParams, type SignMultisigUserOperationResult } from "../types.js";
4
- export declare function signMultisigUserOperation<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, params: SignMultisigUserOperationParams<TAccount>): Promise<SignMultisigUserOperationResult>;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signMultisigUserOperation = void 0;
4
- const core_1 = require("@aa-sdk/core");
5
- const errors_js_1 = require("../../../errors.js");
6
- const index_js_1 = require("../utils/index.js");
7
- async function signMultisigUserOperation(client, params) {
8
- const { account = client.account, signatures, userOperationRequest } = params;
9
- if (!account) {
10
- throw new core_1.AccountNotFoundError();
11
- }
12
- if (!(0, core_1.isSmartAccountClient)(client)) {
13
- throw new core_1.IncompatibleClientError("SmartAccountClient", "signMultisigUserOperation", client);
14
- }
15
- if (!(0, core_1.isSmartAccountWithSigner)(account)) {
16
- throw new core_1.SmartAccountWithSignerRequiredError();
17
- }
18
- if (!signatures.length) {
19
- throw new errors_js_1.MultisigMissingSignatureError();
20
- }
21
- const signerAddress = await account.getSigner().getAddress();
22
- const signedRequest = await client.signUserOperation({
23
- account,
24
- uoStruct: userOperationRequest,
25
- context: {
26
- aggregatedSignature: (0, index_js_1.combineSignatures)({
27
- signatures,
28
- upperLimitMaxFeePerGas: userOperationRequest.maxFeePerGas,
29
- upperLimitMaxPriorityFeePerGas: userOperationRequest.maxPriorityFeePerGas,
30
- upperLimitPvg: userOperationRequest.preVerificationGas,
31
- usingMaxValues: false,
32
- }),
33
- signatures,
34
- userOpSignatureType: "UPPERLIMIT",
35
- },
36
- });
37
- const splitSignatures = await (0, index_js_1.splitAggregatedSignature)({
38
- account,
39
- request: signedRequest,
40
- aggregatedSignature: signedRequest.signature,
41
- threshold: signatures.length + 2,
42
- });
43
- const signatureObj = splitSignatures.signatures.find((x) => x.signer === signerAddress);
44
- if (!signatureObj) {
45
- throw new Error("INTERNAL ERROR: signature not found in split signatures, this is an internal bug please report");
46
- }
47
- return {
48
- signatureObj,
49
- signature: signatureObj.signature,
50
- aggregatedSignature: signedRequest.signature,
51
- };
52
- }
53
- exports.signMultisigUserOperation = signMultisigUserOperation;
54
- //# sourceMappingURL=signMultisigUserOperation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signMultisigUserOperation.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/actions/signMultisigUserOperation.ts"],"names":[],"mappings":";;;AAAA,uCAOsB;AAEtB,kDAAmE;AAKnE,gDAAgF;AAEzE,KAAK,UAAU,yBAAyB,CAO7C,MAA4C,EAC5C,MAAiD;IAEjD,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAAC;IAE9E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,8BAAuB,CAC/B,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,CACP,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAA,+BAAwB,EAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,0CAAmC,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,yCAA6B,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;IAE7D,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;QACnD,OAAO;QACP,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE;YACP,mBAAmB,EAAE,IAAA,4BAAiB,EAAC;gBACrC,UAAU;gBACV,sBAAsB,EAAE,oBAAoB,CAAC,YAAY;gBACzD,8BAA8B,EAC5B,oBAAoB,CAAC,oBAAoB;gBAC3C,aAAa,EAAE,oBAAoB,CAAC,kBAAkB;gBACtD,cAAc,EAAE,KAAK;aACtB,CAAC;YACF,UAAU;YACV,mBAAmB,EAAE,YAAY;SAClC;KACF,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,IAAA,mCAAwB,EAAC;QACrD,OAAO;QACP,OAAO,EAAE,aAAa;QACtB,mBAAmB,EAAE,aAAa,CAAC,SAAS;QAG5C,SAAS,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAClC,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAElB,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY;QACZ,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,mBAAmB,EAAE,aAAa,CAAC,SAAS;KAC7C,CAAC;AACJ,CAAC;AA5ED,8DA4EC","sourcesContent":["import {\n AccountNotFoundError,\n IncompatibleClientError,\n SmartAccountWithSignerRequiredError,\n isSmartAccountClient,\n isSmartAccountWithSigner,\n type SmartContractAccount,\n} from \"@aa-sdk/core\";\nimport { type Chain, type Client, type Transport } from \"viem\";\nimport { MultisigMissingSignatureError } from \"../../../errors.js\";\nimport {\n type SignMultisigUserOperationParams,\n type SignMultisigUserOperationResult,\n} from \"../types.js\";\nimport { combineSignatures, splitAggregatedSignature } from \"../utils/index.js\";\n\nexport async function signMultisigUserOperation<\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 params: SignMultisigUserOperationParams<TAccount>\n): Promise<SignMultisigUserOperationResult> {\n const { account = client.account, signatures, userOperationRequest } = params;\n\n if (!account) {\n throw new AccountNotFoundError();\n }\n\n if (!isSmartAccountClient(client)) {\n throw new IncompatibleClientError(\n \"SmartAccountClient\",\n \"signMultisigUserOperation\",\n client\n );\n }\n\n if (!isSmartAccountWithSigner(account)) {\n throw new SmartAccountWithSignerRequiredError();\n }\n\n if (!signatures.length) {\n throw new MultisigMissingSignatureError();\n }\n\n const signerAddress = await account.getSigner().getAddress();\n\n const signedRequest = await client.signUserOperation({\n account,\n uoStruct: userOperationRequest,\n context: {\n aggregatedSignature: combineSignatures({\n signatures,\n upperLimitMaxFeePerGas: userOperationRequest.maxFeePerGas,\n upperLimitMaxPriorityFeePerGas:\n userOperationRequest.maxPriorityFeePerGas,\n upperLimitPvg: userOperationRequest.preVerificationGas,\n usingMaxValues: false,\n }),\n signatures,\n userOpSignatureType: \"UPPERLIMIT\",\n },\n });\n\n const splitSignatures = await splitAggregatedSignature({\n account,\n request: signedRequest,\n aggregatedSignature: signedRequest.signature,\n // split works on the assumption that we have t - 1 signatures\n // we have signatures.length + 1 signatures now, so we need sl + 1 + 1\n threshold: signatures.length + 2,\n });\n\n const signatureObj = splitSignatures.signatures.find(\n (x) => x.signer === signerAddress\n );\n\n if (!signatureObj) {\n // TODO: strongly type this\n throw new Error(\n \"INTERNAL ERROR: signature not found in split signatures, this is an internal bug please report\"\n );\n }\n\n return {\n signatureObj,\n signature: signatureObj.signature,\n aggregatedSignature: signedRequest.signature,\n };\n}\n"]}