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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) 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 +80 -0
  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/package.json +13 -14
  132. package/plugindefs/multi-owner/config.ts +4 -5
  133. package/plugindefs/multisig/config.ts +4 -5
  134. package/plugindefs/session-key/config.ts +4 -6
  135. package/src/index.ts +1 -0
  136. package/src/light-account/clients/client.ts +8 -13
  137. package/src/light-account/clients/multiOwnerLightAccount.ts +11 -13
  138. package/src/msca/client/client.ts +24 -36
  139. package/src/msca/plugins/multi-owner/plugin.ts +5 -1
  140. package/src/msca/plugins/multisig/plugin.ts +5 -1
  141. package/src/msca/plugins/session-key/plugin.ts +5 -1
  142. package/dist/cjs/package.json +0 -1
  143. package/dist/cjs/plugindefs/index.d.ts +0 -3
  144. package/dist/cjs/plugindefs/index.js +0 -10
  145. package/dist/cjs/plugindefs/index.js.map +0 -1
  146. package/dist/cjs/plugindefs/multi-owner/abi.d.ts +0 -698
  147. package/dist/cjs/plugindefs/multi-owner/abi.js +0 -612
  148. package/dist/cjs/plugindefs/multi-owner/abi.js.map +0 -1
  149. package/dist/cjs/plugindefs/multi-owner/config.d.ts +0 -2
  150. package/dist/cjs/plugindefs/multi-owner/config.js +0 -31
  151. package/dist/cjs/plugindefs/multi-owner/config.js.map +0 -1
  152. package/dist/cjs/plugindefs/multisig/abi.d.ts +0 -791
  153. package/dist/cjs/plugindefs/multisig/abi.js +0 -1031
  154. package/dist/cjs/plugindefs/multisig/abi.js.map +0 -1
  155. package/dist/cjs/plugindefs/multisig/config.d.ts +0 -2
  156. package/dist/cjs/plugindefs/multisig/config.js +0 -30
  157. package/dist/cjs/plugindefs/multisig/config.js.map +0 -1
  158. package/dist/cjs/plugindefs/session-key/abi.d.ts +0 -1061
  159. package/dist/cjs/plugindefs/session-key/abi.js +0 -916
  160. package/dist/cjs/plugindefs/session-key/abi.js.map +0 -1
  161. package/dist/cjs/plugindefs/session-key/config.d.ts +0 -2
  162. package/dist/cjs/plugindefs/session-key/config.js +0 -43
  163. package/dist/cjs/plugindefs/session-key/config.js.map +0 -1
  164. package/dist/cjs/plugindefs/types.d.ts +0 -15
  165. package/dist/cjs/plugindefs/types.js +0 -3
  166. package/dist/cjs/plugindefs/types.js.map +0 -1
  167. package/dist/cjs/src/index.d.ts +0 -53
  168. package/dist/cjs/src/index.js +0 -105
  169. package/dist/cjs/src/index.js.map +0 -1
  170. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.d.ts +0 -532
  171. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js +0 -382
  172. package/dist/cjs/src/light-account/abis/LightAccountAbi_v1.js.map +0 -1
  173. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.d.ts +0 -491
  174. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js +0 -358
  175. package/dist/cjs/src/light-account/abis/LightAccountAbi_v2.js.map +0 -1
  176. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.d.ts +0 -55
  177. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js +0 -78
  178. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v1.js.map +0 -1
  179. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.d.ts +0 -256
  180. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js +0 -213
  181. package/dist/cjs/src/light-account/abis/LightAccountFactoryAbi_v2.js.map +0 -1
  182. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.d.ts +0 -507
  183. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js +0 -375
  184. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountAbi.js.map +0 -1
  185. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.d.ts +0 -286
  186. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js +0 -232
  187. package/dist/cjs/src/light-account/abis/MultiOwnerLightAccountFactoryAbi.js.map +0 -1
  188. package/dist/cjs/src/light-account/accounts/account.d.ts +0 -17
  189. package/dist/cjs/src/light-account/accounts/account.js +0 -79
  190. package/dist/cjs/src/light-account/accounts/account.js.map +0 -1
  191. package/dist/cjs/src/light-account/accounts/base.d.ts +0 -15
  192. package/dist/cjs/src/light-account/accounts/base.js +0 -143
  193. package/dist/cjs/src/light-account/accounts/base.js.map +0 -1
  194. package/dist/cjs/src/light-account/accounts/multiOwner.d.ts +0 -18
  195. package/dist/cjs/src/light-account/accounts/multiOwner.js +0 -80
  196. package/dist/cjs/src/light-account/accounts/multiOwner.js.map +0 -1
  197. package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +0 -8
  198. package/dist/cjs/src/light-account/actions/transferOwnership.js +0 -28
  199. package/dist/cjs/src/light-account/actions/transferOwnership.js.map +0 -1
  200. package/dist/cjs/src/light-account/actions/updateOwners.d.ts +0 -9
  201. package/dist/cjs/src/light-account/actions/updateOwners.js +0 -27
  202. package/dist/cjs/src/light-account/actions/updateOwners.js.map +0 -1
  203. package/dist/cjs/src/light-account/clients/alchemyClient.d.ts +0 -6
  204. package/dist/cjs/src/light-account/clients/alchemyClient.js +0 -25
  205. package/dist/cjs/src/light-account/clients/alchemyClient.js.map +0 -1
  206. package/dist/cjs/src/light-account/clients/client.d.ts +0 -10
  207. package/dist/cjs/src/light-account/clients/client.js +0 -22
  208. package/dist/cjs/src/light-account/clients/client.js.map +0 -1
  209. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.d.ts +0 -6
  210. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js +0 -25
  211. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +0 -1
  212. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.d.ts +0 -10
  213. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +0 -22
  214. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +0 -1
  215. package/dist/cjs/src/light-account/decorators/lightAccount.d.ts +0 -8
  216. package/dist/cjs/src/light-account/decorators/lightAccount.js +0 -9
  217. package/dist/cjs/src/light-account/decorators/lightAccount.js.map +0 -1
  218. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.d.ts +0 -8
  219. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js +0 -9
  220. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +0 -1
  221. package/dist/cjs/src/light-account/e2e-tests/constants.d.ts +0 -6
  222. package/dist/cjs/src/light-account/e2e-tests/constants.js +0 -10
  223. package/dist/cjs/src/light-account/e2e-tests/constants.js.map +0 -1
  224. package/dist/cjs/src/light-account/types.d.ts +0 -31
  225. package/dist/cjs/src/light-account/types.js +0 -3
  226. package/dist/cjs/src/light-account/types.js.map +0 -1
  227. package/dist/cjs/src/light-account/utils.d.ts +0 -10
  228. package/dist/cjs/src/light-account/utils.js +0 -108
  229. package/dist/cjs/src/light-account/utils.js.map +0 -1
  230. package/dist/cjs/src/msca/abis/IAccountLoupe.d.ts +0 -79
  231. package/dist/cjs/src/msca/abis/IAccountLoupe.js +0 -82
  232. package/dist/cjs/src/msca/abis/IAccountLoupe.js.map +0 -1
  233. package/dist/cjs/src/msca/abis/IPlugin.d.ts +0 -474
  234. package/dist/cjs/src/msca/abis/IPlugin.js +0 -400
  235. package/dist/cjs/src/msca/abis/IPlugin.js.map +0 -1
  236. package/dist/cjs/src/msca/abis/IPluginManager.d.ts +0 -101
  237. package/dist/cjs/src/msca/abis/IPluginManager.js +0 -109
  238. package/dist/cjs/src/msca/abis/IPluginManager.js.map +0 -1
  239. package/dist/cjs/src/msca/abis/IStandardExecutor.d.ts +0 -50
  240. package/dist/cjs/src/msca/abis/IStandardExecutor.js +0 -35
  241. package/dist/cjs/src/msca/abis/IStandardExecutor.js.map +0 -1
  242. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.d.ts +0 -234
  243. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js +0 -194
  244. package/dist/cjs/src/msca/abis/MultiOwnerModularAccountFactory.js.map +0 -1
  245. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.d.ts +0 -246
  246. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js +0 -320
  247. package/dist/cjs/src/msca/abis/MultisigModularAccountFactory.js.map +0 -1
  248. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.d.ts +0 -880
  249. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js +0 -649
  250. package/dist/cjs/src/msca/abis/UpgradeableModularAccount.js.map +0 -1
  251. package/dist/cjs/src/msca/account/multiOwnerAccount.d.ts +0 -12
  252. package/dist/cjs/src/msca/account/multiOwnerAccount.js +0 -60
  253. package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +0 -1
  254. package/dist/cjs/src/msca/account/multisigAccount.d.ts +0 -17
  255. package/dist/cjs/src/msca/account/multisigAccount.js +0 -71
  256. package/dist/cjs/src/msca/account/multisigAccount.js.map +0 -1
  257. package/dist/cjs/src/msca/account/standardExecutor.d.ts +0 -2
  258. package/dist/cjs/src/msca/account/standardExecutor.js +0 -28
  259. package/dist/cjs/src/msca/account/standardExecutor.js.map +0 -1
  260. package/dist/cjs/src/msca/account-loupe/decorator.d.ts +0 -16
  261. package/dist/cjs/src/msca/account-loupe/decorator.js +0 -66
  262. package/dist/cjs/src/msca/account-loupe/decorator.js.map +0 -1
  263. package/dist/cjs/src/msca/account-loupe/types.d.ts +0 -16
  264. package/dist/cjs/src/msca/account-loupe/types.js +0 -3
  265. package/dist/cjs/src/msca/account-loupe/types.js.map +0 -1
  266. package/dist/cjs/src/msca/client/alchemyClient.d.ts +0 -6
  267. package/dist/cjs/src/msca/client/alchemyClient.js +0 -28
  268. package/dist/cjs/src/msca/client/alchemyClient.js.map +0 -1
  269. package/dist/cjs/src/msca/client/client.d.ts +0 -17
  270. package/dist/cjs/src/msca/client/client.js +0 -49
  271. package/dist/cjs/src/msca/client/client.js.map +0 -1
  272. package/dist/cjs/src/msca/client/multiSigAlchemyClient.d.ts +0 -6
  273. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js +0 -31
  274. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +0 -1
  275. package/dist/cjs/src/msca/e2e-tests/constants.d.ts +0 -3
  276. package/dist/cjs/src/msca/e2e-tests/constants.js +0 -7
  277. package/dist/cjs/src/msca/e2e-tests/constants.js.map +0 -1
  278. package/dist/cjs/src/msca/errors.d.ts +0 -17
  279. package/dist/cjs/src/msca/errors.js +0 -53
  280. package/dist/cjs/src/msca/errors.js.map +0 -1
  281. package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +0 -11
  282. package/dist/cjs/src/msca/plugin-manager/decorator.js +0 -13
  283. package/dist/cjs/src/msca/plugin-manager/decorator.js.map +0 -1
  284. package/dist/cjs/src/msca/plugin-manager/installPlugin.d.ts +0 -11
  285. package/dist/cjs/src/msca/plugin-manager/installPlugin.js +0 -48
  286. package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +0 -1
  287. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.d.ts +0 -9
  288. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js +0 -35
  289. package/dist/cjs/src/msca/plugin-manager/uninstallPlugin.js.map +0 -1
  290. package/dist/cjs/src/msca/plugins/multi-owner/extension.d.ts +0 -13
  291. package/dist/cjs/src/msca/plugins/multi-owner/extension.js +0 -26
  292. package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +0 -1
  293. package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +0 -3
  294. package/dist/cjs/src/msca/plugins/multi-owner/index.js +0 -10
  295. package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +0 -1
  296. package/dist/cjs/src/msca/plugins/multi-owner/plugin.d.ts +0 -793
  297. package/dist/cjs/src/msca/plugins/multi-owner/plugin.js +0 -695
  298. package/dist/cjs/src/msca/plugins/multi-owner/plugin.js.map +0 -1
  299. package/dist/cjs/src/msca/plugins/multi-owner/signer.d.ts +0 -215
  300. package/dist/cjs/src/msca/plugins/multi-owner/signer.js +0 -47
  301. package/dist/cjs/src/msca/plugins/multi-owner/signer.js.map +0 -1
  302. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.d.ts +0 -4
  303. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js +0 -20
  304. package/dist/cjs/src/msca/plugins/multisig/actions/getThreshold.js.map +0 -1
  305. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.d.ts +0 -6
  306. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js +0 -15
  307. package/dist/cjs/src/msca/plugins/multisig/actions/isOwnerOf.js.map +0 -1
  308. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts +0 -4
  309. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +0 -47
  310. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +0 -1
  311. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.d.ts +0 -4
  312. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js +0 -15
  313. package/dist/cjs/src/msca/plugins/multisig/actions/readOwners.js.map +0 -1
  314. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts +0 -4
  315. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +0 -54
  316. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +0 -1
  317. package/dist/cjs/src/msca/plugins/multisig/extension.d.ts +0 -17
  318. package/dist/cjs/src/msca/plugins/multisig/extension.js +0 -19
  319. package/dist/cjs/src/msca/plugins/multisig/extension.js.map +0 -1
  320. package/dist/cjs/src/msca/plugins/multisig/index.d.ts +0 -5
  321. package/dist/cjs/src/msca/plugins/multisig/index.js +0 -12
  322. package/dist/cjs/src/msca/plugins/multisig/index.js.map +0 -1
  323. package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +0 -3
  324. package/dist/cjs/src/msca/plugins/multisig/middleware.js +0 -97
  325. package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +0 -1
  326. package/dist/cjs/src/msca/plugins/multisig/plugin.d.ts +0 -892
  327. package/dist/cjs/src/msca/plugins/multisig/plugin.js +0 -740
  328. package/dist/cjs/src/msca/plugins/multisig/plugin.js.map +0 -1
  329. package/dist/cjs/src/msca/plugins/multisig/signer.d.ts +0 -223
  330. package/dist/cjs/src/msca/plugins/multisig/signer.js +0 -57
  331. package/dist/cjs/src/msca/plugins/multisig/signer.js.map +0 -1
  332. package/dist/cjs/src/msca/plugins/multisig/types.d.ts +0 -34
  333. package/dist/cjs/src/msca/plugins/multisig/types.js +0 -3
  334. package/dist/cjs/src/msca/plugins/multisig/types.js.map +0 -1
  335. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +0 -10
  336. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +0 -15
  337. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +0 -1
  338. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.d.ts +0 -2
  339. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js +0 -42
  340. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js.map +0 -1
  341. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +0 -10
  342. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js +0 -13
  343. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +0 -1
  344. package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +0 -8
  345. package/dist/cjs/src/msca/plugins/multisig/utils/index.js +0 -12
  346. package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +0 -1
  347. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +0 -16
  348. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js +0 -74
  349. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +0 -1
  350. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.d.ts +0 -117
  351. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js +0 -115
  352. package/dist/cjs/src/msca/plugins/session-key/SessionKeyPermissionsUpdatesAbi.js.map +0 -1
  353. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.d.ts +0 -1
  354. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js +0 -5
  355. package/dist/cjs/src/msca/plugins/session-key/debug-session-key-bytecode.js.map +0 -1
  356. package/dist/cjs/src/msca/plugins/session-key/extension.d.ts +0 -30
  357. package/dist/cjs/src/msca/plugins/session-key/extension.js +0 -156
  358. package/dist/cjs/src/msca/plugins/session-key/extension.js.map +0 -1
  359. package/dist/cjs/src/msca/plugins/session-key/index.d.ts +0 -3
  360. package/dist/cjs/src/msca/plugins/session-key/index.js +0 -10
  361. package/dist/cjs/src/msca/plugins/session-key/index.js.map +0 -1
  362. package/dist/cjs/src/msca/plugins/session-key/permissions.d.ts +0 -53
  363. package/dist/cjs/src/msca/plugins/session-key/permissions.js +0 -153
  364. package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +0 -1
  365. package/dist/cjs/src/msca/plugins/session-key/plugin.d.ts +0 -1200
  366. package/dist/cjs/src/msca/plugins/session-key/plugin.js +0 -1044
  367. package/dist/cjs/src/msca/plugins/session-key/plugin.js.map +0 -1
  368. package/dist/cjs/src/msca/plugins/session-key/signer.d.ts +0 -233
  369. package/dist/cjs/src/msca/plugins/session-key/signer.js +0 -101
  370. package/dist/cjs/src/msca/plugins/session-key/signer.js.map +0 -1
  371. package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +0 -11
  372. package/dist/cjs/src/msca/plugins/session-key/utils.js +0 -22
  373. package/dist/cjs/src/msca/plugins/session-key/utils.js.map +0 -1
  374. package/dist/cjs/src/msca/plugins/types.d.ts +0 -12
  375. package/dist/cjs/src/msca/plugins/types.js +0 -3
  376. package/dist/cjs/src/msca/plugins/types.js.map +0 -1
  377. package/dist/cjs/src/msca/utils.d.ts +0 -17
  378. package/dist/cjs/src/msca/utils.js +0 -99
  379. package/dist/cjs/src/msca/utils.js.map +0 -1
  380. package/dist/esm/package.json +0 -1
  381. package/dist/esm/src/light-account/e2e-tests/constants.d.ts +0 -6
  382. package/dist/esm/src/light-account/e2e-tests/constants.js +0 -7
  383. package/dist/esm/src/light-account/e2e-tests/constants.js.map +0 -1
  384. package/dist/types/src/light-account/e2e-tests/constants.d.ts +0 -7
  385. package/dist/types/src/light-account/e2e-tests/constants.d.ts.map +0 -1
  386. package/src/light-account/e2e-tests/constants.ts +0 -8
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multisig/plugin.ts"],"names":[],"mappings":";;;AAAA,+BAac;AACd,uCAYsB;AACtB,kEAIsC;AA4HtC,MAAM,SAAS,GAAG;IAChB,CAAC,EAAE,4CAAuD;IAC1D,EAAE,EAAE,4CAAuD;IAC3D,GAAG,EAAE,4CAAuD;IAC5D,GAAG,EAAE,4CAAuD;IAC5D,IAAI,EAAE,4CAAuD;IAC7D,IAAI,EAAE,4CAAuD;IAC7D,KAAK,EAAE,4CAAuD;IAC9D,KAAK,EAAE,4CAAuD;IAC9D,KAAK,EAAE,4CAAuD;IAC9D,MAAM,EAAE,4CAAuD;IAC/D,OAAO,EAAE,4CAAuD;IAChE,QAAQ,EAAE,4CAAuD;IACjE,QAAQ,EAAE,4CAAuD;IACjE,SAAS,EAAE,4CAAuD;CACxC,CAAC;AAEhB,QAAA,cAAc,GAAqC;IAC9D,IAAI,EAAE;QACJ,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,OAAO;QAChB,SAAS;KACV;IACD,WAAW,EAAE,CACX,MAAS,EACT,OAAiB,EACuD,EAAE;QAC1E,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,yBAAkB,EAAE,CAAC;QAElD,OAAO,IAAA,kBAAW,EAAC;YACjB,OAAO,EAAE,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,GAAG,EAAE,yBAAiB;YACtB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEK,MAAM,qBAAqB,GAWe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5D,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE;QACpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,8BAAuB,CAC/B,oBAAoB,EACpB,iBAAiB,EACjB,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,yBAAkB,EAAC;YAC5B,GAAG,EAAE,0CAAkC;YACvC,YAAY,EAAE,iBAAiB;YAC/B,IAAI;SACL,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,qBAAqB,CAAC,EACpB,OAAO,GAAG,MAAM,CAAC,OAAO,EACxB,SAAS,EACT,OAAO,EACP,GAAG,MAAM,EACV;QACC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,8BAAuB,CAC/B,oBAAoB,EACpB,uBAAuB,EACvB,MAAM,CACP,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,yBAAkB,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC;QACtD,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa;YACnB,sBAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAyB,CAAC;QAEnE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAA,+BAAc,EAAC,MAAM,EAAE;YAC5B,aAAa;YACb,cAAc,EAAE,IAAA,0BAAmB,EACjC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAC5C,MAAM,CAAC,IAAI,CACZ;YACD,YAAY;YACZ,SAAS;YACT,OAAO;YACP,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IACD,qBAAqB,CAAC,EAAE,IAAI,EAAE;QAC5B,OAAO,IAAA,yBAAkB,EAAC;YACxB,GAAG,EAAE,0CAAkC;YACvC,YAAY,EAAE,iBAAiB;YAC/B,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAA,yBAAkB,EAAC;YACxB,GAAG,EAAE,0CAAkC;YACvC,YAAY,EAAE,cAAc;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,8BAAuB,CAC/B,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,0CAAkC;YACvC,YAAY,EAAE,cAAc;SAC7B,CAAC,CAAC;IACL,CAAC;IACD,sBAAsB,CAAC,EAAE,IAAI,EAAE;QAC7B,OAAO,IAAA,yBAAkB,EAAC;YACxB,GAAG,EAAE,0CAAkC;YACvC,YAAY,EAAE,kBAAkB;YAChC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,2BAAoB,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,IAAA,2BAAoB,EAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,8BAAuB,CAC/B,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,YAAY,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,0CAAkC;YACvC,YAAY,EAAE,kBAAkB;YAChC,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAzIU,QAAA,qBAAqB,yBAyI/B;AAEU,QAAA,kCAAkC,GAAG;IAChD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;YACrE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;YACxE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SACnE;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YACxD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC7D,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YACvE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC1D,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;SACrE;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC5D;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;KACxB;CACO,CAAC;AAEE,QAAA,iBAAiB,GAAG;IAC/B;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QAC1E,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAClE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YACzE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC7D,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC7D;QACD,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;YACvD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SACnE;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YACxD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC3D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC7D,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YACvE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC1D,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;SACrE;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC1D;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QAC7D,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC1D;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC7D,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SACnE;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3D,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC5D;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QAChE,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QAC5D,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACvE,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;YAC1D,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SACvD;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,uBAAuB;gBACrC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE;oBACpE;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,UAAU;wBAChB,YAAY,EAAE,UAAU;qBACzB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,UAAU;wBAChB,YAAY,EAAE,UAAU;qBACzB;oBACD;wBACE,IAAI,EAAE,6BAA6B;wBACnC,IAAI,EAAE,UAAU;wBAChB,YAAY,EAAE,UAAU;qBACzB;oBACD;wBACE,IAAI,EAAE,0BAA0B;wBAChC,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,MAAM;qBACrB;oBACD,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;oBACnE;wBACE,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,yCAAyC;wBACvD,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,SAAS;gCACf,YAAY,EAAE,SAAS;6BACxB;4BACD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;4BACjE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE;yBAClE;qBACF;oBACD;wBACE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,qCAAqC;wBACnD,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,mBAAmB;gCACzB,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,QAAQ;6BACvB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,OAAO;gCACb,YAAY,EAAE,yBAAyB;gCACvC,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,cAAc;wCACpB,IAAI,EAAE,OAAO;wCACb,YAAY,EAAE,qCAAqC;qCACpD;oCACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oCAC5D;wCACE,IAAI,EAAE,iBAAiB;wCACvB,IAAI,EAAE,SAAS;wCACf,YAAY,EAAE,SAAS;qCACxB;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,4BAA4B;wBAClC,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,qCAAqC;wBACnD,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,mBAAmB;gCACzB,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,QAAQ;6BACvB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,OAAO;gCACb,YAAY,EAAE,yBAAyB;gCACvC,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,cAAc;wCACpB,IAAI,EAAE,OAAO;wCACb,YAAY,EAAE,qCAAqC;qCACpD;oCACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oCAC5D;wCACE,IAAI,EAAE,iBAAiB;wCACvB,IAAI,EAAE,SAAS;wCACf,YAAY,EAAE,SAAS;qCACxB;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,0BAA0B;wBAChC,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,qCAAqC;wBACnD,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,mBAAmB;gCACzB,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,QAAQ;6BACvB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,OAAO;gCACb,YAAY,EAAE,yBAAyB;gCACvC,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,cAAc;wCACpB,IAAI,EAAE,OAAO;wCACb,YAAY,EAAE,qCAAqC;qCACpD;oCACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oCAC5D;wCACE,IAAI,EAAE,iBAAiB;wCACvB,IAAI,EAAE,SAAS;wCACf,YAAY,EAAE,SAAS;qCACxB;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,2BAA2B;wBACjC,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,qCAAqC;wBACnD,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,mBAAmB;gCACzB,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,QAAQ;6BACvB;4BACD;gCACE,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,OAAO;gCACb,YAAY,EAAE,yBAAyB;gCACvC,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,cAAc;wCACpB,IAAI,EAAE,OAAO;wCACb,YAAY,EAAE,qCAAqC;qCACpD;oCACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oCAC5D;wCACE,IAAI,EAAE,iBAAiB;wCACvB,IAAI,EAAE,SAAS;wCACf,YAAY,EAAE,SAAS;qCACxB;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,IAAI,EAAE,gBAAgB;wBACtB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,gCAAgC;wBAC9C,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,mBAAmB;gCACzB,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,QAAQ;6BACvB;4BACD;gCACE,IAAI,EAAE,aAAa;gCACnB,IAAI,EAAE,OAAO;gCACb,YAAY,EAAE,yBAAyB;gCACvC,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,cAAc;wCACpB,IAAI,EAAE,OAAO;wCACb,YAAY,EAAE,qCAAqC;qCACpD;oCACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oCAC5D;wCACE,IAAI,EAAE,iBAAiB;wCACvB,IAAI,EAAE,SAAS;wCACf,YAAY,EAAE,SAAS;qCACxB;iCACF;6BACF;4BACD;gCACE,IAAI,EAAE,cAAc;gCACpB,IAAI,EAAE,OAAO;gCACb,YAAY,EAAE,yBAAyB;gCACvC,UAAU,EAAE;oCACV;wCACE,IAAI,EAAE,cAAc;wCACpB,IAAI,EAAE,OAAO;wCACb,YAAY,EAAE,qCAAqC;qCACpD;oCACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oCAC5D;wCACE,IAAI,EAAE,iBAAiB;wCACvB,IAAI,EAAE,SAAS;wCACf,YAAY,EAAE,SAAS;qCACxB;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,uBAAuB;gBACrC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;oBACxD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;oBAC3D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;oBAC1D;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,6BAA6B;wBAC3C,UAAU,EAAE;4BACV;gCACE,IAAI,EAAE,kBAAkB;gCACxB,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,QAAQ;6BACvB;4BACD;gCACE,IAAI,EAAE,uBAAuB;gCAC7B,IAAI,EAAE,QAAQ;gCACd,YAAY,EAAE,QAAQ;6BACvB;yBACF;qBACF;iBACF;aACF;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;YAC5D,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAClE;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;YAC5D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SACvD;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;QAC7D,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;YAC5D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SACvD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;YAC5D;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,sBAAsB;gBACpC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAC3D,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAC1D,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAC1D,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAClE;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAClE;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAClE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC5D;aACF;YACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SACjE;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;YAC5D,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;YAC3D,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SACvD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;QACzE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;QAC3D,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;YACrE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE;YACxE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SACnE;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;YAC5D;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,sBAAsB;gBACpC,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAC3D,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAC1D,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAC1D,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAClE;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;oBAClE;wBACE,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;oBAClE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;iBAC5D;aACF;YACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE;SACjE;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,WAAW;aAC1B;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,WAAW;aAC1B;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACxB;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,EAAE;IACzD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC5D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE;IACpD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;IACrD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,EAAE;IAC1D,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,EAAE,EAAE;IAClE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,EAAE;IAChE;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACtE;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,EAAE,EAAE;IAChE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE;IACvD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE;IACvD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE;IACvD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACvE;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE;YAC5D,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;SAC7D;KACF;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE;IACrD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;KACtE;CACO,CAAC","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 updateOwnership: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultisigPluginExecutionFunctionAbi,\n \"updateOwnership\"\n >,\n \"args\"\n > &\n UserOperationOverridesParameter<TEntryPointVersion> &\n GetAccountParameter<TAccount> &\n GetContextParameter<TContext>,\n ) => Promise<SendUserOperationResult<TEntryPointVersion>>;\n};\n\ntype InstallArgs = [{ type: \"address[]\" }, { type: \"uint256\" }];\n\nexport type InstallMultisigPluginParams = {\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 installMultisigPlugin: (\n args: UserOperationOverridesParameter<TEntryPointVersion> &\n InstallMultisigPluginParams &\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 encodeUpdateOwnership: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultisigPluginExecutionFunctionAbi,\n \"updateOwnership\"\n >,\n \"args\"\n >,\n ) => Hex;\n\n encodeEip712Domain: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultisigPluginExecutionFunctionAbi,\n \"eip712Domain\"\n >,\n \"args\"\n >,\n ) => Hex;\n\n readEip712Domain: (\n args: GetAccountParameter<TAccount>,\n ) => Promise<\n ReadContractReturnType<\n typeof MultisigPluginExecutionFunctionAbi,\n \"eip712Domain\"\n >\n >;\n\n encodeIsValidSignature: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultisigPluginExecutionFunctionAbi,\n \"isValidSignature\"\n >,\n \"args\"\n >,\n ) => Hex;\n\n readIsValidSignature: (\n args: Pick<\n EncodeFunctionDataParameters<\n typeof MultisigPluginExecutionFunctionAbi,\n \"isValidSignature\"\n >,\n \"args\"\n > &\n GetAccountParameter<TAccount>,\n ) => Promise<\n ReadContractReturnType<\n typeof MultisigPluginExecutionFunctionAbi,\n \"isValidSignature\"\n >\n >;\n};\n\nexport type MultisigPluginActions<\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: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 10: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 137: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 252: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 2523: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 8453: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 42161: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 80002: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 84532: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 421614: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 7777777: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 11155111: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 11155420: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n 999999999: \"0x000000000000A53f64b7bcf4Cd59624943C43Fc7\" as Address,\n} as Record<number, Address>;\n\nexport const MultisigPlugin: Plugin<typeof MultisigPluginAbi> = {\n meta: {\n name: \"Multisig Plugin\",\n version: \"1.0.0\",\n addresses,\n },\n getContract: <C extends Client>(\n client: C,\n address?: Address,\n ): GetContractReturnType<typeof MultisigPluginAbi, PublicClient, Address> => {\n if (!client.chain) throw new ChainNotFoundError();\n\n return getContract({\n address: address || addresses[client.chain.id],\n abi: MultisigPluginAbi,\n client: client,\n });\n },\n};\n\nexport const multisigPluginActions: <\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) => MultisigPluginActions<TAccount, TContext> = (client) => ({\n updateOwnership({ 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 \"updateOwnership\",\n client,\n );\n }\n\n const uo = encodeFunctionData({\n abi: MultisigPluginExecutionFunctionAbi,\n functionName: \"updateOwnership\",\n args,\n });\n\n return client.sendUserOperation({ uo, overrides, account, context });\n },\n installMultisigPlugin({\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 \"installMultisigPlugin\",\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 (MultisigPlugin.meta.addresses[chain.id] as Address | undefined);\n\n if (!pluginAddress) {\n throw new Error(\"missing MultisigPlugin address for chain \" + chain.name);\n }\n\n return installPlugin_(client, {\n pluginAddress,\n pluginInitData: encodeAbiParameters(\n [{ type: \"address[]\" }, { type: \"uint256\" }],\n params.args,\n ),\n dependencies,\n overrides,\n account,\n context,\n });\n },\n encodeUpdateOwnership({ args }) {\n return encodeFunctionData({\n abi: MultisigPluginExecutionFunctionAbi,\n functionName: \"updateOwnership\",\n args,\n });\n },\n encodeEip712Domain() {\n return encodeFunctionData({\n abi: MultisigPluginExecutionFunctionAbi,\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: MultisigPluginExecutionFunctionAbi,\n functionName: \"eip712Domain\",\n });\n },\n encodeIsValidSignature({ args }) {\n return encodeFunctionData({\n abi: MultisigPluginExecutionFunctionAbi,\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: MultisigPluginExecutionFunctionAbi,\n functionName: \"isValidSignature\",\n args,\n });\n },\n});\n\nexport const MultisigPluginExecutionFunctionAbi = [\n {\n type: \"function\",\n name: \"updateOwnership\",\n inputs: [\n { name: \"ownersToAdd\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"ownersToRemove\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"newThreshold\", type: \"uint128\", internalType: \"uint128\" },\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 MultisigPluginAbi = [\n {\n type: \"constructor\",\n inputs: [{ name: \"entryPoint\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"ENTRYPOINT\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"checkNSignatures\",\n inputs: [\n { name: \"actualDigest\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"upperLimitGasDigest\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"signatures\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [\n { name: \"success\", type: \"bool\", internalType: \"bool\" },\n { name: \"firstFailure\", type: \"uint256\", internalType: \"uint256\" },\n ],\n stateMutability: \"view\",\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: \"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: \"ownershipInfoOf\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n outputs: [\n { name: \"\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n ],\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: \"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: \"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: \"updateOwnership\",\n inputs: [\n { name: \"ownersToAdd\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"ownersToRemove\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"newThreshold\", type: \"uint128\", internalType: \"uint128\" },\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 name: \"threshold\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n { type: \"error\", name: \"AlreadyInitialized\", inputs: [] },\n { type: \"error\", name: \"ECDSARecoverFailure\", inputs: [] },\n { type: \"error\", name: \"EmptyOwnersNotAllowed\", inputs: [] },\n { type: \"error\", name: \"InvalidAction\", inputs: [] },\n { type: \"error\", name: \"InvalidAddress\", inputs: [] },\n { type: \"error\", name: \"InvalidMaxFeePerGas\", inputs: [] },\n { type: \"error\", name: \"InvalidMaxPriorityFeePerGas\", inputs: [] },\n { type: \"error\", name: \"InvalidNumSigsOnActualGas\", inputs: [] },\n {\n type: \"error\",\n name: \"InvalidOwner\",\n inputs: [{ name: \"owner\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"InvalidPreVerificationGas\", inputs: [] },\n { type: \"error\", name: \"InvalidSigLength\", inputs: [] },\n { type: \"error\", name: \"InvalidSigOffset\", inputs: [] },\n { type: \"error\", name: \"InvalidThreshold\", 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,223 +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
- type MultisigSignMethodsParams<TTransport extends Transport, TSigner extends SmartAccountSigner> = {
4
- client: BundlerClient<TTransport>;
5
- accountAddress: Address;
6
- signer: () => TSigner;
7
- threshold: bigint;
8
- pluginAddress?: Address;
9
- };
10
- export declare const multisigSignMethods: <TTransport extends Transport, TSigner extends SmartAccountSigner<any>>({ client, accountAddress, signer, threshold, pluginAddress, }: MultisigSignMethodsParams<TTransport, TSigner>) => {
11
- getDummySignature: () => Promise<`0x${string}`>;
12
- signUserOperationHash: (uoHash: Hex) => Promise<Hex>;
13
- signMessage({ message }: {
14
- message: SignableMessage;
15
- }): Promise<Hex>;
16
- signTypedData: <const typedData extends Record<string, unknown> | {
17
- [x: string]: readonly import("viem").TypedDataParameter[];
18
- [x: `string[${string}]`]: undefined;
19
- [x: `function[${string}]`]: undefined;
20
- [x: `address[${string}]`]: undefined;
21
- [x: `uint64[${string}]`]: undefined;
22
- [x: `bytes32[${string}]`]: undefined;
23
- [x: `bytes[${string}]`]: undefined;
24
- [x: `uint256[${string}]`]: undefined;
25
- [x: `bytes4[${string}]`]: undefined;
26
- [x: `bool[${string}]`]: undefined;
27
- [x: `bytes1[${string}]`]: undefined;
28
- [x: `uint32[${string}]`]: undefined;
29
- [x: `bytes2[${string}]`]: undefined;
30
- [x: `bytes3[${string}]`]: undefined;
31
- [x: `bytes5[${string}]`]: undefined;
32
- [x: `bytes6[${string}]`]: undefined;
33
- [x: `bytes11[${string}]`]: undefined;
34
- [x: `bytes7[${string}]`]: undefined;
35
- [x: `bytes9[${string}]`]: undefined;
36
- [x: `bytes27[${string}]`]: undefined;
37
- [x: `bytes22[${string}]`]: undefined;
38
- [x: `bytes8[${string}]`]: undefined;
39
- [x: `bytes10[${string}]`]: undefined;
40
- [x: `bytes12[${string}]`]: undefined;
41
- [x: `bytes13[${string}]`]: undefined;
42
- [x: `bytes14[${string}]`]: undefined;
43
- [x: `bytes15[${string}]`]: undefined;
44
- [x: `bytes16[${string}]`]: undefined;
45
- [x: `bytes17[${string}]`]: undefined;
46
- [x: `bytes18[${string}]`]: undefined;
47
- [x: `bytes19[${string}]`]: undefined;
48
- [x: `bytes20[${string}]`]: undefined;
49
- [x: `bytes21[${string}]`]: undefined;
50
- [x: `bytes23[${string}]`]: undefined;
51
- [x: `bytes24[${string}]`]: undefined;
52
- [x: `bytes25[${string}]`]: undefined;
53
- [x: `bytes26[${string}]`]: undefined;
54
- [x: `bytes28[${string}]`]: undefined;
55
- [x: `bytes29[${string}]`]: undefined;
56
- [x: `bytes30[${string}]`]: undefined;
57
- [x: `bytes31[${string}]`]: undefined;
58
- [x: `int[${string}]`]: undefined;
59
- [x: `int8[${string}]`]: undefined;
60
- [x: `int16[${string}]`]: undefined;
61
- [x: `int24[${string}]`]: undefined;
62
- [x: `int32[${string}]`]: undefined;
63
- [x: `int40[${string}]`]: undefined;
64
- [x: `int48[${string}]`]: undefined;
65
- [x: `int56[${string}]`]: undefined;
66
- [x: `int64[${string}]`]: undefined;
67
- [x: `int72[${string}]`]: undefined;
68
- [x: `int80[${string}]`]: undefined;
69
- [x: `int88[${string}]`]: undefined;
70
- [x: `int96[${string}]`]: undefined;
71
- [x: `int104[${string}]`]: undefined;
72
- [x: `int112[${string}]`]: undefined;
73
- [x: `int120[${string}]`]: undefined;
74
- [x: `int128[${string}]`]: undefined;
75
- [x: `int136[${string}]`]: undefined;
76
- [x: `int144[${string}]`]: undefined;
77
- [x: `int152[${string}]`]: undefined;
78
- [x: `int160[${string}]`]: undefined;
79
- [x: `int168[${string}]`]: undefined;
80
- [x: `int176[${string}]`]: undefined;
81
- [x: `int184[${string}]`]: undefined;
82
- [x: `int192[${string}]`]: undefined;
83
- [x: `int200[${string}]`]: undefined;
84
- [x: `int208[${string}]`]: undefined;
85
- [x: `int216[${string}]`]: undefined;
86
- [x: `int224[${string}]`]: undefined;
87
- [x: `int232[${string}]`]: undefined;
88
- [x: `int240[${string}]`]: undefined;
89
- [x: `int248[${string}]`]: undefined;
90
- [x: `int256[${string}]`]: undefined;
91
- [x: `uint[${string}]`]: undefined;
92
- [x: `uint8[${string}]`]: undefined;
93
- [x: `uint16[${string}]`]: undefined;
94
- [x: `uint24[${string}]`]: undefined;
95
- [x: `uint40[${string}]`]: undefined;
96
- [x: `uint48[${string}]`]: undefined;
97
- [x: `uint56[${string}]`]: undefined;
98
- [x: `uint72[${string}]`]: undefined;
99
- [x: `uint80[${string}]`]: undefined;
100
- [x: `uint88[${string}]`]: undefined;
101
- [x: `uint96[${string}]`]: undefined;
102
- [x: `uint104[${string}]`]: undefined;
103
- [x: `uint112[${string}]`]: undefined;
104
- [x: `uint120[${string}]`]: undefined;
105
- [x: `uint128[${string}]`]: undefined;
106
- [x: `uint136[${string}]`]: undefined;
107
- [x: `uint144[${string}]`]: undefined;
108
- [x: `uint152[${string}]`]: undefined;
109
- [x: `uint160[${string}]`]: undefined;
110
- [x: `uint168[${string}]`]: undefined;
111
- [x: `uint176[${string}]`]: undefined;
112
- [x: `uint184[${string}]`]: undefined;
113
- [x: `uint192[${string}]`]: undefined;
114
- [x: `uint200[${string}]`]: undefined;
115
- [x: `uint208[${string}]`]: undefined;
116
- [x: `uint216[${string}]`]: undefined;
117
- [x: `uint224[${string}]`]: undefined;
118
- [x: `uint232[${string}]`]: undefined;
119
- [x: `uint240[${string}]`]: undefined;
120
- [x: `uint248[${string}]`]: undefined;
121
- string?: undefined;
122
- address?: undefined;
123
- uint64?: undefined;
124
- bytes32?: undefined;
125
- bytes?: undefined;
126
- uint256?: undefined;
127
- bytes4?: undefined;
128
- bool?: undefined;
129
- bytes1?: undefined;
130
- uint32?: undefined;
131
- bytes2?: undefined;
132
- bytes3?: undefined;
133
- bytes5?: undefined;
134
- bytes6?: undefined;
135
- bytes11?: undefined;
136
- bytes7?: undefined;
137
- bytes9?: undefined;
138
- bytes27?: undefined;
139
- bytes22?: undefined;
140
- bytes8?: undefined;
141
- bytes10?: undefined;
142
- bytes12?: undefined;
143
- bytes13?: undefined;
144
- bytes14?: undefined;
145
- bytes15?: undefined;
146
- bytes16?: undefined;
147
- bytes17?: undefined;
148
- bytes18?: undefined;
149
- bytes19?: undefined;
150
- bytes20?: undefined;
151
- bytes21?: undefined;
152
- bytes23?: undefined;
153
- bytes24?: undefined;
154
- bytes25?: undefined;
155
- bytes26?: undefined;
156
- bytes28?: undefined;
157
- bytes29?: undefined;
158
- bytes30?: undefined;
159
- bytes31?: undefined;
160
- int8?: undefined;
161
- int16?: undefined;
162
- int24?: undefined;
163
- int32?: undefined;
164
- int40?: undefined;
165
- int48?: undefined;
166
- int56?: undefined;
167
- int64?: undefined;
168
- int72?: undefined;
169
- int80?: undefined;
170
- int88?: undefined;
171
- int96?: undefined;
172
- int104?: undefined;
173
- int112?: undefined;
174
- int120?: undefined;
175
- int128?: undefined;
176
- int136?: undefined;
177
- int144?: undefined;
178
- int152?: undefined;
179
- int160?: undefined;
180
- int168?: undefined;
181
- int176?: undefined;
182
- int184?: undefined;
183
- int192?: undefined;
184
- int200?: undefined;
185
- int208?: undefined;
186
- int216?: undefined;
187
- int224?: undefined;
188
- int232?: undefined;
189
- int240?: undefined;
190
- int248?: undefined;
191
- int256?: undefined;
192
- uint8?: undefined;
193
- uint16?: undefined;
194
- uint24?: undefined;
195
- uint40?: undefined;
196
- uint48?: undefined;
197
- uint56?: undefined;
198
- uint72?: undefined;
199
- uint80?: undefined;
200
- uint88?: undefined;
201
- uint96?: undefined;
202
- uint104?: undefined;
203
- uint112?: undefined;
204
- uint120?: undefined;
205
- uint128?: undefined;
206
- uint136?: undefined;
207
- uint144?: undefined;
208
- uint152?: undefined;
209
- uint160?: undefined;
210
- uint168?: undefined;
211
- uint176?: undefined;
212
- uint184?: undefined;
213
- uint192?: undefined;
214
- uint200?: undefined;
215
- uint208?: undefined;
216
- uint216?: undefined;
217
- uint224?: undefined;
218
- uint232?: undefined;
219
- uint240?: undefined;
220
- uint248?: undefined;
221
- }, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(typedDataDefinition: TypedDataDefinition<typedData, primaryType>) => Promise<Hex>;
222
- };
223
- export {};
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.multisigSignMethods = void 0;
4
- const viem_1 = require("viem");
5
- const plugin_js_1 = require("./plugin.js");
6
- const multisigSignMethods = ({ client, accountAddress, signer, threshold, pluginAddress = plugin_js_1.MultisigPlugin.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.MultisigPluginAbi,
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
- AlchemyMultisigMessage: [{ name: "message", type: "bytes" }],
24
- },
25
- message: {
26
- message: msg,
27
- },
28
- primaryType: "AlchemyMultisigMessage",
29
- });
30
- };
31
- return {
32
- getDummySignature: async () => {
33
- const [, thresholdRead] = await client.readContract({
34
- abi: plugin_js_1.MultisigPluginAbi,
35
- address: pluginAddress,
36
- functionName: "ownershipInfoOf",
37
- args: [accountAddress],
38
- });
39
- const actualThreshold = thresholdRead === 0n ? threshold : thresholdRead;
40
- return ("0x" +
41
- "FF".repeat(32 * 3) +
42
- "fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3c" +
43
- "fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c".repeat(Number(actualThreshold) - 1));
44
- },
45
- signUserOperationHash: (uoHash) => {
46
- return signer().signMessage({ raw: uoHash });
47
- },
48
- signMessage({ message }) {
49
- return signWith712Wrapper((0, viem_1.hashMessage)(message));
50
- },
51
- signTypedData: (typedDataDefinition) => {
52
- return signWith712Wrapper((0, viem_1.hashTypedData)(typedDataDefinition));
53
- },
54
- };
55
- };
56
- exports.multisigSignMethods = multisigSignMethods;
57
- //# sourceMappingURL=signer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multisig/signer.ts"],"names":[],"mappings":";;;AACA,+BASc;AACd,2CAAgE;AAazD,MAAM,mBAAmB,GAAG,CAGjC,EACA,MAAM,EACN,cAAc,EACd,MAAM,EACN,SAAS,EACT,aAAa,GAAG,0BAAc,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GACf,EAAE,EAAE;IACnD,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,6BAAiB;YACtB,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,sBAAsB,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aAC7D;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,GAAG;aACb;YACD,WAAW,EAAE,wBAAwB;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,KAAK,IAA4B,EAAE;YACpD,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBAClD,GAAG,EAAE,6BAAiB;gBACtB,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,CAAC,cAAc,CAAC;aACvB,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;YAIzE,OAAO,CAAC,IAAI;gBACV,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnB,oIAAoI;gBACpI,oIAAoI,CAAC,MAAM,CACzI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAC5B,CAAQ,CAAC;QACd,CAAC;QAED,qBAAqB,EAAE,CAAC,MAAW,EAAgB,EAAE;YACnD,OAAO,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,WAAW,CAAC,EAAE,OAAO,EAAgC;YACnD,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;AA3EW,QAAA,mBAAmB,uBA2E9B","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 { MultisigPlugin, MultisigPluginAbi } from \"./plugin.js\";\n\ntype MultisigSignMethodsParams<\n TTransport extends Transport,\n TSigner extends SmartAccountSigner\n> = {\n client: BundlerClient<TTransport>;\n accountAddress: Address;\n signer: () => TSigner;\n threshold: bigint;\n pluginAddress?: Address;\n};\n\nexport const multisigSignMethods = <\n TTransport extends Transport,\n TSigner extends SmartAccountSigner\n>({\n client,\n accountAddress,\n signer,\n threshold,\n pluginAddress = MultisigPlugin.meta.addresses[client.chain.id],\n}: MultisigSignMethodsParams<TTransport, TSigner>) => {\n const signWith712Wrapper = async (msg: Hash): Promise<`0x${string}`> => {\n const [, name, version, chainId, verifyingContract, salt] =\n await client.readContract({\n abi: MultisigPluginAbi,\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 AlchemyMultisigMessage: [{ name: \"message\", type: \"bytes\" }],\n },\n message: {\n message: msg,\n },\n primaryType: \"AlchemyMultisigMessage\",\n });\n };\n\n return {\n getDummySignature: async (): Promise<`0x${string}`> => {\n const [, thresholdRead] = await client.readContract({\n abi: MultisigPluginAbi,\n address: pluginAddress,\n functionName: \"ownershipInfoOf\",\n args: [accountAddress],\n });\n\n const actualThreshold = thresholdRead === 0n ? threshold : thresholdRead;\n\n // (uint upperLimitPreVerificationGas, uint upperLimitMaxFeePerGas, uint upperLimitMaxPriorityFeePerGas)\n // the first sig will be on \"actual\" with v = 32\n return (\"0x\" +\n \"FF\".repeat(32 * 3) +\n \"fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3c\" +\n \"fffffffffffffffffffffffffffffff0000000000000000000000000000000007aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1c\".repeat(\n Number(actualThreshold) - 1\n )) as Hex;\n },\n\n signUserOperationHash: (uoHash: Hex): Promise<Hex> => {\n return signer().signMessage({ raw: uoHash });\n },\n\n signMessage({ message }: { message: SignableMessage }): Promise<Hex> {\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,34 +0,0 @@
1
- import type { GetAccountParameter, GetEntryPointFromAccount, SmartContractAccount, UserOperationRequest } from "@aa-sdk/core";
2
- import type { Hex } from "viem";
3
- import type { GetPluginAddressParameter } from "../types";
4
- export type SignerType = "EOA" | "CONTRACT";
5
- export type UserOpSignatureType = "ACTUAL" | "UPPERLIMIT";
6
- export type Signature = {
7
- signerType: SignerType;
8
- userOpSigType: UserOpSignatureType;
9
- signer: `0x${string}`;
10
- signature: `0x${string}`;
11
- };
12
- export type SignMultisigUserOperationResult = {
13
- signature: Hex;
14
- aggregatedSignature: Hex;
15
- signatureObj: Signature;
16
- };
17
- export type SignMultisigUserOperationParams<TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>> = {
18
- userOperationRequest: UserOperationRequest<TEntryPointVersion>;
19
- signatures: Signature[];
20
- } & GetAccountParameter<TAccount> & GetPluginAddressParameter;
21
- export type ProposeUserOperationResult<TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>> = {
22
- request: UserOperationRequest<TEntryPointVersion>;
23
- aggregatedSignature: Hex;
24
- signatureObj: Signature;
25
- };
26
- export type MultisigUserOperationContext = {
27
- userOpSignatureType: Extract<UserOpSignatureType, "UPPERLIMIT">;
28
- aggregatedSignature?: Hex;
29
- signatures?: Signature[];
30
- } | {
31
- aggregatedSignature: Hex;
32
- signatures: Signature[];
33
- userOpSignatureType: Extract<UserOpSignatureType, "ACTUAL">;
34
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multisig/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n GetAccountParameter,\n GetEntryPointFromAccount,\n SmartContractAccount,\n UserOperationRequest,\n} from \"@aa-sdk/core\";\nimport type { Hex } from \"viem\";\nimport type { GetPluginAddressParameter } from \"../types\";\n\nexport type SignerType = \"EOA\" | \"CONTRACT\";\n\nexport type UserOpSignatureType = \"ACTUAL\" | \"UPPERLIMIT\";\n\nexport type Signature = {\n signerType: SignerType;\n userOpSigType: UserOpSignatureType;\n signer: `0x${string}`;\n signature: `0x${string}`;\n};\n\nexport type SignMultisigUserOperationResult = {\n signature: Hex;\n aggregatedSignature: Hex;\n signatureObj: Signature;\n};\n\nexport type SignMultisigUserOperationParams<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>\n> = {\n userOperationRequest: UserOperationRequest<TEntryPointVersion>;\n signatures: Signature[];\n} & GetAccountParameter<TAccount> &\n GetPluginAddressParameter;\n\nexport type ProposeUserOperationResult<\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TEntryPointVersion extends GetEntryPointFromAccount<TAccount> = GetEntryPointFromAccount<TAccount>\n> = {\n request: UserOperationRequest<TEntryPointVersion>;\n aggregatedSignature: Hex;\n signatureObj: Signature;\n};\n\nexport type MultisigUserOperationContext =\n | {\n userOpSignatureType: Extract<UserOpSignatureType, \"UPPERLIMIT\">;\n aggregatedSignature?: Hex;\n signatures?: Signature[];\n }\n | {\n aggregatedSignature: Hex;\n signatures: Signature[];\n userOpSignatureType: Extract<UserOpSignatureType, \"ACTUAL\">;\n };\n"]}
@@ -1,10 +0,0 @@
1
- import { type Hex } from "viem";
2
- import type { Signature } from "../types.js";
3
- export type CombineSignaturesParams = {
4
- upperLimitPvg: Hex;
5
- upperLimitMaxFeePerGas: Hex;
6
- upperLimitMaxPriorityFeePerGas: Hex;
7
- signatures: Signature[];
8
- usingMaxValues: boolean;
9
- };
10
- export declare function combineSignatures({ signatures, upperLimitMaxFeePerGas, upperLimitMaxPriorityFeePerGas, upperLimitPvg, usingMaxValues, }: CombineSignaturesParams): Hex;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.combineSignatures = void 0;
4
- const viem_1 = require("viem");
5
- const formatSignatures_js_1 = require("./formatSignatures.js");
6
- function combineSignatures({ signatures, upperLimitMaxFeePerGas, upperLimitMaxPriorityFeePerGas, upperLimitPvg, usingMaxValues, }) {
7
- return (0, viem_1.concat)([
8
- (0, viem_1.pad)(upperLimitPvg),
9
- (0, viem_1.pad)(upperLimitMaxFeePerGas),
10
- (0, viem_1.pad)(upperLimitMaxPriorityFeePerGas),
11
- (0, formatSignatures_js_1.formatSignatures)(signatures, usingMaxValues),
12
- ]);
13
- }
14
- exports.combineSignatures = combineSignatures;
15
- //# sourceMappingURL=combineSignatures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combineSignatures.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/combineSignatures.ts"],"names":[],"mappings":";;;AAAA,+BAA6C;AAE7C,+DAAyD;AAmCzD,SAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,aAAa,EACb,cAAc,GACU;IACxB,OAAO,IAAA,aAAM,EAAC;QACZ,IAAA,UAAG,EAAC,aAAa,CAAC;QAClB,IAAA,UAAG,EAAC,sBAAsB,CAAC;QAC3B,IAAA,UAAG,EAAC,8BAA8B,CAAC;QACnC,IAAA,sCAAgB,EAAC,UAAU,EAAE,cAAc,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAbD,8CAaC","sourcesContent":["import { type Hex, concat, pad } from \"viem\";\nimport type { Signature } from \"../types.js\";\nimport { formatSignatures } from \"./formatSignatures.js\";\n\nexport type CombineSignaturesParams = {\n upperLimitPvg: Hex;\n upperLimitMaxFeePerGas: Hex;\n upperLimitMaxPriorityFeePerGas: Hex;\n signatures: Signature[];\n usingMaxValues: boolean;\n};\n\n/**\n * Combines multiple signatures with provided upper limit values for gas fees and returns the concatenated result.\n *\n * @example\n * ```ts\n * import { combineSignatures } from \"@account-kit/smart-contracts\";\n *\n * const combinedSignature = combineSignatures({\n * // this is the upper limit pre-verification gas\n * upperLimitPvg: \"0x01\",\n * upperLimitMaxFeePerGas: \"0x02\",\n * upperLimitMaxPriorityFeePerGas: \"0x03\",\n * signatures: [{\n * signerType: \"EOA\",\n * userOpSigType: \"UPPERLIMIT\",\n * signer: `0x...`,\n * signature: `0x...`,\n * }]\n * usingMaxValues: false,\n * });\n * ```\n *\n * @param {CombineSignaturesParams} params The function parameters\n * @returns {Hex} The concatenated result of padding and formatting the provided values and signatures\n */\nexport function combineSignatures({\n signatures,\n upperLimitMaxFeePerGas,\n upperLimitMaxPriorityFeePerGas,\n upperLimitPvg,\n usingMaxValues,\n}: CombineSignaturesParams): Hex {\n return concat([\n pad(upperLimitPvg),\n pad(upperLimitMaxFeePerGas),\n pad(upperLimitMaxPriorityFeePerGas),\n formatSignatures(signatures, usingMaxValues),\n ]);\n}\n"]}
@@ -1,2 +0,0 @@
1
- import type { Signature } from "../types";
2
- export declare const formatSignatures: (signatures: Signature[], usingMaxValues?: boolean) => `0x${string}`;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatSignatures = void 0;
4
- const core_1 = require("@aa-sdk/core");
5
- const viem_1 = require("viem");
6
- const formatSignatures = (signatures, usingMaxValues = false) => {
7
- let eoaSigs = "";
8
- let contractSigs = "";
9
- let offset = BigInt(65 * signatures.length);
10
- signatures
11
- .sort((a, b) => {
12
- const bigintA = (0, viem_1.hexToBigInt)(a.signer);
13
- const bigintB = (0, viem_1.hexToBigInt)(b.signer);
14
- return bigintA < bigintB ? -1 : bigintA > bigintB ? 1 : 0;
15
- })
16
- .forEach((sig) => {
17
- const addV = sig.userOpSigType === "ACTUAL" && !usingMaxValues ? 32 : 0;
18
- if (sig.signerType === "EOA") {
19
- let v = parseInt((0, core_1.takeBytes)(sig.signature, { count: 1, offset: 64 })) + addV;
20
- eoaSigs += (0, viem_1.concat)([
21
- (0, core_1.takeBytes)(sig.signature, { count: 64 }),
22
- (0, viem_1.toHex)(v, { size: 1 }),
23
- ]).slice(2);
24
- }
25
- else {
26
- const sigLen = BigInt(sig.signature.slice(2).length / 2);
27
- eoaSigs += (0, viem_1.concat)([
28
- (0, viem_1.pad)(sig.signer),
29
- (0, viem_1.toHex)(offset, { size: 32 }),
30
- (0, viem_1.toHex)(addV, { size: 1 }),
31
- ]).slice(2);
32
- contractSigs += (0, viem_1.concat)([
33
- (0, viem_1.toHex)(sigLen, { size: 32 }),
34
- sig.signature,
35
- ]).slice(2);
36
- offset += sigLen;
37
- }
38
- });
39
- return ("0x" + eoaSigs + contractSigs);
40
- };
41
- exports.formatSignatures = formatSignatures;
42
- //# sourceMappingURL=formatSignatures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatSignatures.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/formatSignatures.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AACzC,+BAAuD;AAahD,MAAM,gBAAgB,GAAG,CAC9B,UAAuB,EACvB,iBAA0B,KAAK,EAC/B,EAAE;IACF,IAAI,OAAO,GAAW,EAAE,CAAC;IACzB,IAAI,YAAY,GAAW,EAAE,CAAC;IAC9B,IAAI,MAAM,GAAW,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,UAAU;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAEtC,OAAO,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC;SACD,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAEf,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAExE,IAAI,GAAG,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,GACH,QAAQ,CAAC,IAAA,gBAAS,EAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YACtE,OAAO,IAAI,IAAA,aAAM,EAAC;gBAChB,IAAA,gBAAS,EAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACvC,IAAA,YAAK,EAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;aACtB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO,IAAI,IAAA,aAAM,EAAC;gBAChB,IAAA,UAAG,EAAC,GAAG,CAAC,MAAM,CAAC;gBACf,IAAA,YAAK,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC3B,IAAA,YAAK,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;aACzB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,YAAY,IAAI,IAAA,aAAM,EAAC;gBACrB,IAAA,YAAK,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC3B,GAAG,CAAC,SAAS;aACd,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,IAAI,MAAM,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IACL,OAAO,CAAC,IAAI,GAAG,OAAO,GAAG,YAAY,CAAkB,CAAC;AAC1D,CAAC,CAAC;AAxCW,QAAA,gBAAgB,oBAwC3B","sourcesContent":["import { takeBytes } from \"@aa-sdk/core\";\nimport { concat, hexToBigInt, pad, toHex } from \"viem\";\nimport type { Signature } from \"../types\";\n\n/**\n * Formats a collection of Signature objects into a single aggregated signature.\n * The format is in the form of EOA_SIGS | CONTRACT_SIG_DATAS. The signatures are ordered\n * by signer address. The EOA SIGS contain the 65 signautre data for EOA signers and 65 bytes containing SIGNER | OFFSET | V for contract signers.\n * The OFFSET is used to fetch the signature data from the CONTRACT_SIG_DATAS.\n *\n * @param {Signature[]} signatures the array of Signature objects to combine into the correct aggregated signature format excluding the upper limits\n * @param {boolean} usingMaxValues a boolean indicating wether or not the UserOperation is using the UPPER_LIMIT for the gas and fee values\n * @returns {Hex} the Hex representation of the signature\n */\nexport const formatSignatures = (\n signatures: Signature[],\n usingMaxValues: boolean = false\n) => {\n let eoaSigs: string = \"\";\n let contractSigs: string = \"\";\n let offset: bigint = BigInt(65 * signatures.length);\n signatures\n .sort((a, b) => {\n const bigintA = hexToBigInt(a.signer);\n const bigintB = hexToBigInt(b.signer);\n\n return bigintA < bigintB ? -1 : bigintA > bigintB ? 1 : 0;\n })\n .forEach((sig) => {\n // add 32 to v if the signature covers the actual gas values\n const addV = sig.userOpSigType === \"ACTUAL\" && !usingMaxValues ? 32 : 0;\n\n if (sig.signerType === \"EOA\") {\n let v =\n parseInt(takeBytes(sig.signature, { count: 1, offset: 64 })) + addV;\n eoaSigs += concat([\n takeBytes(sig.signature, { count: 64 }),\n toHex(v, { size: 1 }),\n ]).slice(2);\n } else {\n const sigLen = BigInt(sig.signature.slice(2).length / 2);\n eoaSigs += concat([\n pad(sig.signer),\n toHex(offset, { size: 32 }),\n toHex(addV, { size: 1 }),\n ]).slice(2);\n contractSigs += concat([\n toHex(sigLen, { size: 32 }),\n sig.signature,\n ]).slice(2);\n offset += sigLen;\n }\n });\n return (\"0x\" + eoaSigs + contractSigs) as `0x${string}`;\n};\n"]}
@@ -1,10 +0,0 @@
1
- import type { SmartAccountSigner, SmartContractAccount } from "@aa-sdk/core";
2
- import { type Chain, type Client, type Hex, type PublicActions, type PublicRpcSchema, type Transport } from "viem";
3
- import type { SignerType } from "../types";
4
- type GetSignerTypeParams<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined, TClient extends Client<TTransport, TChain, TAccount, PublicRpcSchema, PublicActions> = Client<TTransport, TChain, TAccount, PublicRpcSchema, PublicActions>> = {
5
- signer: SmartAccountSigner<any>;
6
- signature: Hex;
7
- client: TClient;
8
- };
9
- export declare const getSignerType: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined>({ client, signature, signer, }: GetSignerTypeParams<TTransport, TChain, SmartContractAccount | undefined, Client<TTransport, TChain, SmartContractAccount | undefined, PublicRpcSchema, PublicActions>>) => Promise<SignerType>;
10
- export {};
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSignerType = void 0;
4
- const viem_1 = require("viem");
5
- const getSignerType = async ({ client, signature, signer, }) => {
6
- const signerAddress = await signer.getAddress();
7
- const byteCode = await client.getBytecode({ address: signerAddress });
8
- return (byteCode ?? "0x") === "0x" && (0, viem_1.size)(signature) === 65
9
- ? "EOA"
10
- : "CONTRACT";
11
- };
12
- exports.getSignerType = getSignerType;
13
- //# sourceMappingURL=getSignerType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSignerType.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/getSignerType.ts"],"names":[],"mappings":";;;AACA,+BAQc;AAyCP,MAAM,aAAa,GAAG,KAAK,EAGhC,EACA,MAAM,EACN,SAAS,EACT,MAAM,GACkC,EAAuB,EAAE;IACjE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IAEtE,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAA,WAAI,EAAC,SAAS,CAAC,KAAK,EAAE;QAC1D,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,UAAU,CAAC;AACjB,CAAC,CAAC;AAdW,QAAA,aAAa,iBAcxB","sourcesContent":["import type { SmartAccountSigner, SmartContractAccount } from \"@aa-sdk/core\";\nimport {\n type Chain,\n type Client,\n type Hex,\n type PublicActions,\n type PublicRpcSchema,\n size,\n type Transport,\n} from \"viem\";\nimport type { SignerType } from \"../types\";\n\ntype GetSignerTypeParams<\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined,\n TAccount extends SmartContractAccount | undefined =\n | SmartContractAccount\n | undefined,\n TClient extends Client<\n TTransport,\n TChain,\n TAccount,\n PublicRpcSchema,\n PublicActions\n > = Client<TTransport, TChain, TAccount, PublicRpcSchema, PublicActions>\n> = {\n signer: SmartAccountSigner<any>;\n signature: Hex;\n client: TClient;\n};\n\n/**\n * Determines the type of signer (Externally Owned Account (EOA) or CONTRACT) based on the provided client, signature, and signer.\n *\n * @example\n * ```ts\n * import { getSignerType } from \"@account-kit/smart-contracts\";\n * import { LocalAccountSigner } from \"@aa-sdk/core\";\n * import { createPublicClient, generatePrivateKey } from \"viem\";\n *\n * const signer = LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey());\n * const client = createPublicClient(...);\n * const signature = signer.signMessage(\"Hello World\");\n *\n * const signerType = await getSignerType({ client, signature, signer }); // EOA\n * ```\n *\n * @param {GetSignerTypeParams<TTransport, TChain>} params the parameters including the client, signature, and signer\n * @returns {Promise<SignerType>} A promise that resolves to the signer type, which is either \"EOA\" or \"CONTRACT\"\n */\nexport const getSignerType = async <\n TTransport extends Transport = Transport,\n TChain extends Chain | undefined = Chain | undefined\n>({\n client,\n signature,\n signer,\n}: GetSignerTypeParams<TTransport, TChain>): Promise<SignerType> => {\n const signerAddress = await signer.getAddress();\n const byteCode = await client.getBytecode({ address: signerAddress });\n\n return (byteCode ?? \"0x\") === \"0x\" && size(signature) === 65\n ? \"EOA\"\n : \"CONTRACT\";\n};\n"]}
@@ -1,8 +0,0 @@
1
- export type * from "./combineSignatures.js";
2
- export { combineSignatures } from "./combineSignatures.js";
3
- export type * from "./formatSignatures.js";
4
- export { formatSignatures } from "./formatSignatures.js";
5
- export type * from "./getSignerType.js";
6
- export { getSignerType } from "./getSignerType.js";
7
- export type * from "./splitAggregatedSignature.js";
8
- export { splitAggregatedSignature } from "./splitAggregatedSignature.js";
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitAggregatedSignature = exports.getSignerType = exports.formatSignatures = exports.combineSignatures = void 0;
4
- var combineSignatures_js_1 = require("./combineSignatures.js");
5
- Object.defineProperty(exports, "combineSignatures", { enumerable: true, get: function () { return combineSignatures_js_1.combineSignatures; } });
6
- var formatSignatures_js_1 = require("./formatSignatures.js");
7
- Object.defineProperty(exports, "formatSignatures", { enumerable: true, get: function () { return formatSignatures_js_1.formatSignatures; } });
8
- var getSignerType_js_1 = require("./getSignerType.js");
9
- Object.defineProperty(exports, "getSignerType", { enumerable: true, get: function () { return getSignerType_js_1.getSignerType; } });
10
- var splitAggregatedSignature_js_1 = require("./splitAggregatedSignature.js");
11
- Object.defineProperty(exports, "splitAggregatedSignature", { enumerable: true, get: function () { return splitAggregatedSignature_js_1.splitAggregatedSignature; } });
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/index.ts"],"names":[],"mappings":";;;AACA,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAE1B,6DAAyD;AAAhD,uHAAA,gBAAgB,OAAA;AAEzB,uDAAmD;AAA1C,iHAAA,aAAa,OAAA;AAEtB,6EAAyE;AAAhE,uIAAA,wBAAwB,OAAA","sourcesContent":["export type * from \"./combineSignatures.js\";\nexport { combineSignatures } from \"./combineSignatures.js\";\nexport type * from \"./formatSignatures.js\";\nexport { formatSignatures } from \"./formatSignatures.js\";\nexport type * from \"./getSignerType.js\";\nexport { getSignerType } from \"./getSignerType.js\";\nexport type * from \"./splitAggregatedSignature.js\";\nexport { splitAggregatedSignature } from \"./splitAggregatedSignature.js\";\n"]}