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

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 (306) hide show
  1. package/dist/cjs/plugindefs/multi-owner/config.js +16 -17
  2. package/dist/cjs/plugindefs/multi-owner/config.js.map +1 -1
  3. package/dist/cjs/plugindefs/multisig/config.js +15 -15
  4. package/dist/cjs/plugindefs/multisig/config.js.map +1 -1
  5. package/dist/cjs/plugindefs/session-key/config.js +17 -17
  6. package/dist/cjs/plugindefs/session-key/config.js.map +1 -1
  7. package/dist/cjs/src/index.d.ts +4 -4
  8. package/dist/cjs/src/index.js +17 -17
  9. package/dist/cjs/src/index.js.map +1 -1
  10. package/dist/cjs/src/light-account/accounts/account.d.ts +5 -6
  11. package/dist/cjs/src/light-account/accounts/account.js +4 -3
  12. package/dist/cjs/src/light-account/accounts/account.js.map +1 -1
  13. package/dist/cjs/src/light-account/accounts/base.d.ts +7 -6
  14. package/dist/cjs/src/light-account/accounts/base.js +8 -8
  15. package/dist/cjs/src/light-account/accounts/base.js.map +1 -1
  16. package/dist/cjs/src/light-account/accounts/multiOwner.d.ts +5 -5
  17. package/dist/cjs/src/light-account/accounts/multiOwner.js +5 -6
  18. package/dist/cjs/src/light-account/accounts/multiOwner.js.map +1 -1
  19. package/dist/cjs/src/light-account/actions/transferOwnership.d.ts +1 -1
  20. package/dist/cjs/src/light-account/actions/transferOwnership.js +2 -1
  21. package/dist/cjs/src/light-account/actions/transferOwnership.js.map +1 -1
  22. package/dist/cjs/src/light-account/actions/updateOwners.js.map +1 -1
  23. package/dist/cjs/src/light-account/clients/alchemyClient.d.ts +1 -1
  24. package/dist/cjs/src/light-account/clients/alchemyClient.js.map +1 -1
  25. package/dist/cjs/src/light-account/clients/client.js +2 -1
  26. package/dist/cjs/src/light-account/clients/client.js.map +1 -1
  27. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.d.ts +2 -2
  28. package/dist/cjs/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  29. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js +2 -1
  30. package/dist/cjs/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  31. package/dist/cjs/src/light-account/decorators/lightAccount.js.map +1 -1
  32. package/dist/cjs/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  33. package/dist/cjs/src/light-account/types.d.ts +23 -31
  34. package/dist/cjs/src/light-account/types.js.map +1 -1
  35. package/dist/cjs/src/light-account/utils.d.ts +7 -9
  36. package/dist/cjs/src/light-account/utils.js +63 -82
  37. package/dist/cjs/src/light-account/utils.js.map +1 -1
  38. package/dist/cjs/src/msca/account/multiOwnerAccount.js +2 -1
  39. package/dist/cjs/src/msca/account/multiOwnerAccount.js.map +1 -1
  40. package/dist/cjs/src/msca/account/multisigAccount.js +4 -3
  41. package/dist/cjs/src/msca/account/multisigAccount.js.map +1 -1
  42. package/dist/cjs/src/msca/account-loupe/decorator.js.map +1 -1
  43. package/dist/cjs/src/msca/client/alchemyClient.d.ts +1 -1
  44. package/dist/cjs/src/msca/client/alchemyClient.js.map +1 -1
  45. package/dist/cjs/src/msca/client/client.js.map +1 -1
  46. package/dist/cjs/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
  47. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js +1 -1
  48. package/dist/cjs/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  49. package/dist/cjs/src/msca/errors.js.map +1 -1
  50. package/dist/cjs/src/msca/plugin-manager/decorator.d.ts +1 -1
  51. package/dist/cjs/src/msca/plugin-manager/decorator.js +6 -4
  52. package/dist/cjs/src/msca/plugin-manager/decorator.js.map +1 -1
  53. package/dist/cjs/src/msca/plugin-manager/installPlugin.js.map +1 -1
  54. package/dist/cjs/src/msca/plugins/multi-owner/extension.js.map +1 -1
  55. package/dist/cjs/src/msca/plugins/multi-owner/index.d.ts +1 -1
  56. package/dist/cjs/src/msca/plugins/multi-owner/index.js +2 -1
  57. package/dist/cjs/src/msca/plugins/multi-owner/index.js.map +1 -1
  58. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js +2 -2
  59. package/dist/cjs/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  60. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
  61. package/dist/cjs/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  62. package/dist/cjs/src/msca/plugins/multisig/extension.js.map +1 -1
  63. package/dist/cjs/src/msca/plugins/multisig/index.d.ts +1 -8
  64. package/dist/cjs/src/msca/plugins/multisig/index.js +1 -16
  65. package/dist/cjs/src/msca/plugins/multisig/index.js.map +1 -1
  66. package/dist/cjs/src/msca/plugins/multisig/middleware.d.ts +1 -1
  67. package/dist/cjs/src/msca/plugins/multisig/middleware.js +1 -1
  68. package/dist/cjs/src/msca/plugins/multisig/middleware.js.map +1 -1
  69. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
  70. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
  71. package/dist/cjs/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
  72. package/dist/cjs/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -1
  73. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
  74. package/dist/cjs/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  75. package/dist/cjs/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  76. package/dist/cjs/src/msca/plugins/multisig/utils/index.js.map +1 -1
  77. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +3 -2
  78. package/dist/cjs/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -1
  79. package/dist/cjs/src/msca/plugins/session-key/extension.js.map +1 -1
  80. package/dist/cjs/src/msca/plugins/session-key/index.d.ts +1 -1
  81. package/dist/cjs/src/msca/plugins/session-key/index.js +3 -1
  82. package/dist/cjs/src/msca/plugins/session-key/index.js.map +1 -1
  83. package/dist/cjs/src/msca/plugins/session-key/permissions.js.map +1 -1
  84. package/dist/cjs/src/msca/plugins/session-key/signer.js.map +1 -1
  85. package/dist/cjs/src/msca/plugins/session-key/utils.d.ts +4 -2
  86. package/dist/cjs/src/msca/plugins/session-key/utils.js +3 -2
  87. package/dist/cjs/src/msca/plugins/session-key/utils.js.map +1 -1
  88. package/dist/cjs/src/msca/utils.d.ts +6 -4
  89. package/dist/cjs/src/msca/utils.js +11 -10
  90. package/dist/cjs/src/msca/utils.js.map +1 -1
  91. package/dist/esm/plugindefs/multi-owner/config.js +1 -2
  92. package/dist/esm/plugindefs/multi-owner/config.js.map +1 -1
  93. package/dist/esm/plugindefs/multisig/config.js +1 -1
  94. package/dist/esm/plugindefs/multisig/config.js.map +1 -1
  95. package/dist/esm/plugindefs/session-key/config.js +1 -1
  96. package/dist/esm/plugindefs/session-key/config.js.map +1 -1
  97. package/dist/esm/src/index.d.ts +4 -4
  98. package/dist/esm/src/index.js +3 -3
  99. package/dist/esm/src/index.js.map +1 -1
  100. package/dist/esm/src/light-account/accounts/account.d.ts +5 -6
  101. package/dist/esm/src/light-account/accounts/account.js +5 -4
  102. package/dist/esm/src/light-account/accounts/account.js.map +1 -1
  103. package/dist/esm/src/light-account/accounts/base.d.ts +7 -6
  104. package/dist/esm/src/light-account/accounts/base.js +8 -8
  105. package/dist/esm/src/light-account/accounts/base.js.map +1 -1
  106. package/dist/esm/src/light-account/accounts/multiOwner.d.ts +5 -5
  107. package/dist/esm/src/light-account/accounts/multiOwner.js +6 -7
  108. package/dist/esm/src/light-account/accounts/multiOwner.js.map +1 -1
  109. package/dist/esm/src/light-account/actions/transferOwnership.d.ts +1 -1
  110. package/dist/esm/src/light-account/actions/transferOwnership.js +2 -1
  111. package/dist/esm/src/light-account/actions/transferOwnership.js.map +1 -1
  112. package/dist/esm/src/light-account/actions/updateOwners.js.map +1 -1
  113. package/dist/esm/src/light-account/clients/alchemyClient.d.ts +1 -1
  114. package/dist/esm/src/light-account/clients/alchemyClient.js.map +1 -1
  115. package/dist/esm/src/light-account/clients/client.js +2 -1
  116. package/dist/esm/src/light-account/clients/client.js.map +1 -1
  117. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.d.ts +2 -2
  118. package/dist/esm/src/light-account/clients/multiOwnerAlchemyClient.js.map +1 -1
  119. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js +2 -1
  120. package/dist/esm/src/light-account/clients/multiOwnerLightAccount.js.map +1 -1
  121. package/dist/esm/src/light-account/decorators/lightAccount.js.map +1 -1
  122. package/dist/esm/src/light-account/decorators/multiOwnerLightAccount.js.map +1 -1
  123. package/dist/esm/src/light-account/types.d.ts +23 -31
  124. package/dist/esm/src/light-account/types.js.map +1 -1
  125. package/dist/esm/src/light-account/utils.d.ts +7 -9
  126. package/dist/esm/src/light-account/utils.js +60 -79
  127. package/dist/esm/src/light-account/utils.js.map +1 -1
  128. package/dist/esm/src/msca/account/multiOwnerAccount.js +2 -1
  129. package/dist/esm/src/msca/account/multiOwnerAccount.js.map +1 -1
  130. package/dist/esm/src/msca/account/multisigAccount.js +4 -3
  131. package/dist/esm/src/msca/account/multisigAccount.js.map +1 -1
  132. package/dist/esm/src/msca/account-loupe/decorator.js.map +1 -1
  133. package/dist/esm/src/msca/client/alchemyClient.d.ts +1 -1
  134. package/dist/esm/src/msca/client/alchemyClient.js.map +1 -1
  135. package/dist/esm/src/msca/client/client.js.map +1 -1
  136. package/dist/esm/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
  137. package/dist/esm/src/msca/client/multiSigAlchemyClient.js +1 -1
  138. package/dist/esm/src/msca/client/multiSigAlchemyClient.js.map +1 -1
  139. package/dist/esm/src/msca/errors.js.map +1 -1
  140. package/dist/esm/src/msca/plugin-manager/decorator.d.ts +1 -1
  141. package/dist/esm/src/msca/plugin-manager/decorator.js +6 -4
  142. package/dist/esm/src/msca/plugin-manager/decorator.js.map +1 -1
  143. package/dist/esm/src/msca/plugin-manager/installPlugin.js.map +1 -1
  144. package/dist/esm/src/msca/plugins/multi-owner/extension.js.map +1 -1
  145. package/dist/esm/src/msca/plugins/multi-owner/index.d.ts +1 -1
  146. package/dist/esm/src/msca/plugins/multi-owner/index.js +1 -1
  147. package/dist/esm/src/msca/plugins/multi-owner/index.js.map +1 -1
  148. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js +1 -1
  149. package/dist/esm/src/msca/plugins/multisig/actions/proposeUserOperation.js.map +1 -1
  150. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js +1 -1
  151. package/dist/esm/src/msca/plugins/multisig/actions/signMultisigUserOperation.js.map +1 -1
  152. package/dist/esm/src/msca/plugins/multisig/extension.js.map +1 -1
  153. package/dist/esm/src/msca/plugins/multisig/index.d.ts +1 -8
  154. package/dist/esm/src/msca/plugins/multisig/index.js +0 -7
  155. package/dist/esm/src/msca/plugins/multisig/index.js.map +1 -1
  156. package/dist/esm/src/msca/plugins/multisig/middleware.d.ts +1 -1
  157. package/dist/esm/src/msca/plugins/multisig/middleware.js +2 -1
  158. package/dist/esm/src/msca/plugins/multisig/middleware.js.map +1 -1
  159. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.d.ts +3 -2
  160. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js +2 -2
  161. package/dist/esm/src/msca/plugins/multisig/utils/combineSignatures.js.map +1 -1
  162. package/dist/esm/src/msca/plugins/multisig/utils/formatSignatures.js.map +1 -1
  163. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.d.ts +2 -2
  164. package/dist/esm/src/msca/plugins/multisig/utils/getSignerType.js.map +1 -1
  165. package/dist/esm/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  166. package/dist/esm/src/msca/plugins/multisig/utils/index.js.map +1 -1
  167. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +3 -2
  168. package/dist/esm/src/msca/plugins/multisig/utils/splitAggregatedSignature.js.map +1 -1
  169. package/dist/esm/src/msca/plugins/session-key/extension.js.map +1 -1
  170. package/dist/esm/src/msca/plugins/session-key/index.d.ts +1 -1
  171. package/dist/esm/src/msca/plugins/session-key/index.js +1 -1
  172. package/dist/esm/src/msca/plugins/session-key/index.js.map +1 -1
  173. package/dist/esm/src/msca/plugins/session-key/permissions.js.map +1 -1
  174. package/dist/esm/src/msca/plugins/session-key/signer.js.map +1 -1
  175. package/dist/esm/src/msca/plugins/session-key/utils.d.ts +4 -2
  176. package/dist/esm/src/msca/plugins/session-key/utils.js +3 -2
  177. package/dist/esm/src/msca/plugins/session-key/utils.js.map +1 -1
  178. package/dist/esm/src/msca/utils.d.ts +6 -4
  179. package/dist/esm/src/msca/utils.js +2 -1
  180. package/dist/esm/src/msca/utils.js.map +1 -1
  181. package/dist/types/plugindefs/multi-owner/config.d.ts.map +1 -1
  182. package/dist/types/src/index.d.ts +4 -4
  183. package/dist/types/src/index.d.ts.map +1 -1
  184. package/dist/types/src/light-account/accounts/account.d.ts +5 -6
  185. package/dist/types/src/light-account/accounts/account.d.ts.map +1 -1
  186. package/dist/types/src/light-account/accounts/base.d.ts +7 -6
  187. package/dist/types/src/light-account/accounts/base.d.ts.map +1 -1
  188. package/dist/types/src/light-account/accounts/multiOwner.d.ts +5 -5
  189. package/dist/types/src/light-account/accounts/multiOwner.d.ts.map +1 -1
  190. package/dist/types/src/light-account/actions/transferOwnership.d.ts +26 -1
  191. package/dist/types/src/light-account/actions/transferOwnership.d.ts.map +1 -1
  192. package/dist/types/src/light-account/actions/updateOwners.d.ts +24 -0
  193. package/dist/types/src/light-account/actions/updateOwners.d.ts.map +1 -1
  194. package/dist/types/src/light-account/clients/alchemyClient.d.ts +1 -1
  195. package/dist/types/src/light-account/clients/alchemyClient.d.ts.map +1 -1
  196. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts +2 -2
  197. package/dist/types/src/light-account/clients/multiOwnerAlchemyClient.d.ts.map +1 -1
  198. package/dist/types/src/light-account/decorators/lightAccount.d.ts +19 -0
  199. package/dist/types/src/light-account/decorators/lightAccount.d.ts.map +1 -1
  200. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts +19 -0
  201. package/dist/types/src/light-account/decorators/multiOwnerLightAccount.d.ts.map +1 -1
  202. package/dist/types/src/light-account/types.d.ts +23 -118
  203. package/dist/types/src/light-account/types.d.ts.map +1 -1
  204. package/dist/types/src/light-account/utils.d.ts +22 -44
  205. package/dist/types/src/light-account/utils.d.ts.map +1 -1
  206. package/dist/types/src/msca/account/multisigAccount.d.ts.map +1 -1
  207. package/dist/types/src/msca/account-loupe/decorator.d.ts +15 -0
  208. package/dist/types/src/msca/account-loupe/decorator.d.ts.map +1 -1
  209. package/dist/types/src/msca/client/alchemyClient.d.ts +1 -1
  210. package/dist/types/src/msca/client/alchemyClient.d.ts.map +1 -1
  211. package/dist/types/src/msca/client/client.d.ts.map +1 -1
  212. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts +1 -1
  213. package/dist/types/src/msca/client/multiSigAlchemyClient.d.ts.map +1 -1
  214. package/dist/types/src/msca/errors.d.ts +12 -0
  215. package/dist/types/src/msca/errors.d.ts.map +1 -1
  216. package/dist/types/src/msca/plugin-manager/decorator.d.ts +16 -1
  217. package/dist/types/src/msca/plugin-manager/decorator.d.ts.map +1 -1
  218. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts +21 -0
  219. package/dist/types/src/msca/plugin-manager/installPlugin.d.ts.map +1 -1
  220. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts +15 -0
  221. package/dist/types/src/msca/plugins/multi-owner/extension.d.ts.map +1 -1
  222. package/dist/types/src/msca/plugins/multi-owner/index.d.ts +1 -1
  223. package/dist/types/src/msca/plugins/multi-owner/index.d.ts.map +1 -1
  224. package/dist/types/src/msca/plugins/multisig/actions/proposeUserOperation.d.ts.map +1 -1
  225. package/dist/types/src/msca/plugins/multisig/actions/signMultisigUserOperation.d.ts.map +1 -1
  226. package/dist/types/src/msca/plugins/multisig/extension.d.ts +13 -0
  227. package/dist/types/src/msca/plugins/multisig/extension.d.ts.map +1 -1
  228. package/dist/types/src/msca/plugins/multisig/index.d.ts +1 -8
  229. package/dist/types/src/msca/plugins/multisig/index.d.ts.map +1 -1
  230. package/dist/types/src/msca/plugins/multisig/middleware.d.ts +7 -7
  231. package/dist/types/src/msca/plugins/multisig/middleware.d.ts.map +1 -1
  232. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts +28 -2
  233. package/dist/types/src/msca/plugins/multisig/utils/combineSignatures.d.ts.map +1 -1
  234. package/dist/types/src/msca/plugins/multisig/utils/formatSignatures.d.ts +3 -3
  235. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts +21 -2
  236. package/dist/types/src/msca/plugins/multisig/utils/getSignerType.d.ts.map +1 -1
  237. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts +4 -0
  238. package/dist/types/src/msca/plugins/multisig/utils/index.d.ts.map +1 -1
  239. package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts +13 -12
  240. package/dist/types/src/msca/plugins/multisig/utils/splitAggregatedSignature.d.ts.map +1 -1
  241. package/dist/types/src/msca/plugins/session-key/extension.d.ts +13 -0
  242. package/dist/types/src/msca/plugins/session-key/extension.d.ts.map +1 -1
  243. package/dist/types/src/msca/plugins/session-key/index.d.ts +1 -1
  244. package/dist/types/src/msca/plugins/session-key/index.d.ts.map +1 -1
  245. package/dist/types/src/msca/plugins/session-key/permissions.d.ts +150 -1
  246. package/dist/types/src/msca/plugins/session-key/permissions.d.ts.map +1 -1
  247. package/dist/types/src/msca/plugins/session-key/signer.d.ts +72 -2
  248. package/dist/types/src/msca/plugins/session-key/signer.d.ts.map +1 -1
  249. package/dist/types/src/msca/plugins/session-key/utils.d.ts +22 -2
  250. package/dist/types/src/msca/plugins/session-key/utils.d.ts.map +1 -1
  251. package/dist/types/src/msca/utils.d.ts +48 -10
  252. package/dist/types/src/msca/utils.d.ts.map +1 -1
  253. package/package.json +7 -6
  254. package/plugindefs/multi-owner/config.ts +1 -2
  255. package/plugindefs/multisig/config.ts +1 -1
  256. package/plugindefs/session-key/config.ts +1 -1
  257. package/src/index.ts +3 -4
  258. package/src/light-account/accounts/account.ts +46 -48
  259. package/src/light-account/accounts/base.ts +39 -68
  260. package/src/light-account/accounts/multiOwner.ts +55 -48
  261. package/src/light-account/actions/transferOwnership.ts +28 -5
  262. package/src/light-account/actions/updateOwners.ts +24 -0
  263. package/src/light-account/clients/alchemyClient.ts +21 -1
  264. package/src/light-account/clients/client.ts +27 -6
  265. package/src/light-account/clients/multiOwnerAlchemyClient.ts +22 -2
  266. package/src/light-account/clients/multiOwnerLightAccount.ts +27 -6
  267. package/src/light-account/decorators/lightAccount.ts +19 -0
  268. package/src/light-account/decorators/multiOwnerLightAccount.ts +19 -0
  269. package/src/light-account/types.ts +31 -188
  270. package/src/light-account/utils.ts +99 -231
  271. package/src/msca/account/multiOwnerAccount.ts +36 -11
  272. package/src/msca/account/multisigAccount.ts +40 -14
  273. package/src/msca/account-loupe/decorator.ts +15 -0
  274. package/src/msca/client/alchemyClient.ts +21 -1
  275. package/src/msca/client/client.ts +46 -0
  276. package/src/msca/client/multiSigAlchemyClient.ts +26 -4
  277. package/src/msca/errors.ts +12 -0
  278. package/src/msca/plugin-manager/decorator.ts +22 -5
  279. package/src/msca/plugin-manager/installPlugin.ts +21 -0
  280. package/src/msca/plugins/multi-owner/extension.ts +15 -0
  281. package/src/msca/plugins/multi-owner/index.ts +3 -0
  282. package/src/msca/plugins/multisig/actions/proposeUserOperation.ts +1 -1
  283. package/src/msca/plugins/multisig/actions/signMultisigUserOperation.ts +1 -1
  284. package/src/msca/plugins/multisig/extension.ts +13 -0
  285. package/src/msca/plugins/multisig/index.ts +1 -12
  286. package/src/msca/plugins/multisig/middleware.ts +8 -8
  287. package/src/msca/plugins/multisig/utils/combineSignatures.ts +36 -9
  288. package/src/msca/plugins/multisig/utils/formatSignatures.ts +3 -3
  289. package/src/msca/plugins/multisig/utils/getSignerType.ts +23 -4
  290. package/src/msca/plugins/multisig/utils/index.ts +4 -0
  291. package/src/msca/plugins/multisig/utils/splitAggregatedSignature.ts +15 -12
  292. package/src/msca/plugins/session-key/extension.ts +13 -0
  293. package/src/msca/plugins/session-key/index.ts +7 -1
  294. package/src/msca/plugins/session-key/permissions.ts +150 -1
  295. package/src/msca/plugins/session-key/signer.ts +72 -3
  296. package/src/msca/plugins/session-key/utils.ts +33 -12
  297. package/src/msca/utils.ts +78 -21
  298. package/dist/cjs/src/light-account/schema.d.ts +0 -21
  299. package/dist/cjs/src/light-account/schema.js +0 -30
  300. package/dist/cjs/src/light-account/schema.js.map +0 -1
  301. package/dist/esm/src/light-account/schema.d.ts +0 -21
  302. package/dist/esm/src/light-account/schema.js +0 -27
  303. package/dist/esm/src/light-account/schema.js.map +0 -1
  304. package/dist/types/src/light-account/schema.d.ts +0 -22
  305. package/dist/types/src/light-account/schema.d.ts.map +0 -1
  306. package/src/light-account/schema.ts +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multisig/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,mBAAmB,gBAAgB,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kCAAkC,GACnC,MAAM,aAAa,CAAC;AACrB,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,wBAAwB,GACzB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multisig/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,gBAAgB,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,kCAAkC,EAClC,KAAK,2BAA2B,GACjC,MAAM,aAAa,CAAC;AACrB,mBAAmB,YAAY,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { type ClientMiddlewareFn } from "@aa-sdk/core";
2
- import { type MultisigUserOperationContext } from "./index.js";
2
+ import { type MultisigUserOperationContext } from "./types.js";
3
3
  /**
4
4
  * A signer middleware to be used with Multisig Account Clients.
5
5
  * This middleware handles correctly aggregating signatures passed through
6
6
  * as context when sending UserOperations, proposing UserOperations, or adding signatures to a UserOperation.
7
7
  *
8
- * @param struct the user operation struct to be signed
9
- * @param param the parameters to be passed to the middleware
10
- * @param param.account the account to be used for signing
11
- * @param param.client the smart account client that will be used for RPC requests
12
- * @param param.context the context object containing the signatures to be aggregated {@link MultisigUserOperationContext}
13
- * @returns a Promise containing a UserOperation with an aggregated signature in the `signature` field
8
+ * @param {Deferrable<UserOperationStruct<TEntryPointVersion>>} struct the user operation struct to be signed
9
+ * @param {ClientMiddlewareArgs<TAccount, C, TContext, TEntryPointVersion>} args the parameters to be passed to the middleware
10
+ * @param {UserOperationOverrides<TEntryPointVersion>} args.account the account to be used for signing
11
+ * @param {MiddlewareClient} args.client the smart account client that will be used for RPC requests
12
+ * @param {MultisigUserOperationContext} args.context the context object containing the signatures to be aggregated MultisigUserOperationContext
13
+ * @returns {Promise<Deferrable<UserOperationStruct<TEntryPointVersion>>>} a Promise containing a UserOperation with an aggregated signature in the `signature` field
14
14
  */
15
15
  export declare const multisigSignatureMiddleware: ClientMiddlewareFn<MultisigUserOperationContext>;
16
16
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multisig/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,kBAAkB,EAGxB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAIL,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,EAAE,kBAAkB,CAC1D,4BAA4B,CAmG7B,CAAC"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/multisig/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,kBAAkB,EAGxB,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAO/D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,EAAE,kBAAkB,CAC1D,4BAA4B,CAmG7B,CAAC"}
@@ -1,10 +1,36 @@
1
1
  import { type Hex } from "viem";
2
2
  import type { Signature } from "../types.js";
3
- export declare const combineSignatures: ({ signatures, upperLimitMaxFeePerGas, upperLimitMaxPriorityFeePerGas, upperLimitPvg, usingMaxValues, }: {
3
+ export type CombineSignaturesParams = {
4
4
  upperLimitPvg: Hex;
5
5
  upperLimitMaxFeePerGas: Hex;
6
6
  upperLimitMaxPriorityFeePerGas: Hex;
7
7
  signatures: Signature[];
8
8
  usingMaxValues: boolean;
9
- }) => `0x${string}`;
9
+ };
10
+ /**
11
+ * Combines multiple signatures with provided upper limit values for gas fees and returns the concatenated result.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { combineSignatures } from "@account-kit/smart-contracts";
16
+ *
17
+ * const combinedSignature = combineSignatures({
18
+ * // this is the upper limit pre-verification gas
19
+ * upperLimitPvg: "0x01",
20
+ * upperLimitMaxFeePerGas: "0x02",
21
+ * upperLimitMaxPriorityFeePerGas: "0x03",
22
+ * signatures: [{
23
+ * signerType: "EOA",
24
+ * userOpSigType: "UPPERLIMIT",
25
+ * signer: `0x...`,
26
+ * signature: `0x...`,
27
+ * }]
28
+ * usingMaxValues: false,
29
+ * });
30
+ * ```
31
+ *
32
+ * @param {CombineSignaturesParams} params The function parameters
33
+ * @returns {Hex} The concatenated result of padding and formatting the provided values and signatures
34
+ */
35
+ export declare function combineSignatures({ signatures, upperLimitMaxFeePerGas, upperLimitMaxPriorityFeePerGas, upperLimitPvg, usingMaxValues, }: CombineSignaturesParams): Hex;
10
36
  //# sourceMappingURL=combineSignatures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combineSignatures.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/combineSignatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,iBAAiB;mBAOb,GAAG;4BACM,GAAG;oCACK,GAAG;gBACvB,SAAS,EAAE;oBACP,OAAO;mBAQxB,CAAC"}
1
+ {"version":3,"file":"combineSignatures.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/combineSignatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,GAAG,CAAC;IACnB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,8BAA8B,EAAE,GAAG,CAAC;IACpC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,aAAa,EACb,cAAc,GACf,EAAE,uBAAuB,GAAG,GAAG,CAO/B"}
@@ -5,9 +5,9 @@ import type { Signature } from "../types";
5
5
  * by signer address. The EOA SIGS contain the 65 signautre data for EOA signers and 65 bytes containing SIGNER | OFFSET | V for contract signers.
6
6
  * The OFFSET is used to fetch the signature data from the CONTRACT_SIG_DATAS.
7
7
  *
8
- * @param signatures the array of {@link Signature} objects to combine into the correct aggregated signature format excluding the upper limits
9
- * @param usingMaxValues a boolean indicating wether or not the UserOperation is using the UPPER_LIMIT for the gas and fee values
10
- * @returns the Hex representation of the signature
8
+ * @param {Signature[]} signatures the array of Signature objects to combine into the correct aggregated signature format excluding the upper limits
9
+ * @param {boolean} usingMaxValues a boolean indicating wether or not the UserOperation is using the UPPER_LIMIT for the gas and fee values
10
+ * @returns {Hex} the Hex representation of the signature
11
11
  */
12
12
  export declare const formatSignatures: (signatures: Signature[], usingMaxValues?: boolean) => `0x${string}`;
13
13
  //# sourceMappingURL=formatSignatures.d.ts.map
@@ -1,11 +1,30 @@
1
- import type { SmartContractAccount, SmartAccountSigner } from "@aa-sdk/core";
2
- import { type Transport, type Chain, type Client, type PublicRpcSchema, type PublicActions, type Hex } from "viem";
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
3
  import type { SignerType } from "../types";
4
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
5
  signer: SmartAccountSigner<any>;
6
6
  signature: Hex;
7
7
  client: TClient;
8
8
  };
9
+ /**
10
+ * Determines the type of signer (Externally Owned Account (EOA) or CONTRACT) based on the provided client, signature, and signer.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { getSignerType } from "@account-kit/smart-contracts";
15
+ * import { LocalAccountSigner } from "@aa-sdk/core";
16
+ * import { createPublicClient, generatePrivateKey } from "viem";
17
+ *
18
+ * const signer = LocalAccountSigner.privateKeyToAccountSigner(generatePrivateKey());
19
+ * const client = createPublicClient(...);
20
+ * const signature = signer.signMessage("Hello World");
21
+ *
22
+ * const signerType = await getSignerType({ client, signature, signer }); // EOA
23
+ * ```
24
+ *
25
+ * @param {GetSignerTypeParams<TTransport, TChain>} params the parameters including the client, signature, and signer
26
+ * @returns {Promise<SignerType>} A promise that resolves to the signer type, which is either "EOA" or "CONTRACT"
27
+ */
9
28
  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
29
  export {};
11
30
  //# sourceMappingURL=getSignerType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSignerType.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/getSignerType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,GAAG,EAET,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,KAAK,mBAAmB,CACtB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EACb,OAAO,SAAS,MAAM,CACpB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,CACd,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,IACtE;IACF,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,+SAOmB,QAAQ,UAAU,CAO9D,CAAC"}
1
+ {"version":3,"file":"getSignerType.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/getSignerType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EAEpB,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,KAAK,mBAAmB,CACtB,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EACb,OAAO,SAAS,MAAM,CACpB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,CACd,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,IACtE;IACF,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChC,SAAS,EAAE,GAAG,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,+SAOmB,QAAQ,UAAU,CAO9D,CAAC"}
@@ -1,5 +1,9 @@
1
+ export type * from "./combineSignatures.js";
1
2
  export { combineSignatures } from "./combineSignatures.js";
3
+ export type * from "./formatSignatures.js";
2
4
  export { formatSignatures } from "./formatSignatures.js";
5
+ export type * from "./getSignerType.js";
3
6
  export { getSignerType } from "./getSignerType.js";
7
+ export type * from "./splitAggregatedSignature.js";
4
8
  export { splitAggregatedSignature } from "./splitAggregatedSignature.js";
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,wBAAwB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,mBAAmB,uBAAuB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,mBAAmB,oBAAoB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,mBAAmB,+BAA+B,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -7,20 +7,21 @@ export type SplitAggregateSignatureParams<TAccount extends SmartContractAccount
7
7
  account: SmartContractAccount;
8
8
  request: UserOperationRequest<TEntryPointVersion>;
9
9
  };
10
- /**
11
- * Takes an aggregated signature and threshold and splits it into its components
12
- *
13
- * @param args - the arguments for the split
14
- * @param args.aggregateSignature - the aggregated signature to split
15
- * @param args.threshold - the threshold for the signature
16
- * @param args.account - the account which the signature is valid for
17
- * @param args.request - the user operation request that the signature is for
18
- * @returns the signature split into its upper limits and current signatures
19
- */
20
- export declare const splitAggregatedSignature: <TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(args: SplitAggregateSignatureParams<TAccount, GetEntryPointFromAccount<TAccount, SmartContractAccount<string, keyof import("@aa-sdk/core").EntryPointRegistryBase<unknown>>>>) => Promise<{
10
+ export type SplitAggregateSignatureResult = {
21
11
  upperLimitPvg: Hex;
22
12
  upperLimitMaxFeePerGas: Hex;
23
13
  upperLimitMaxPriorityFeePerGas: Hex;
24
14
  signatures: Signature[];
25
- }>;
15
+ };
16
+ /**
17
+ * Takes an aggregated signature and threshold and splits it into its components
18
+ *
19
+ * @param {SplitAggregateSignatureParams<TAccount>} args - the arguments for the split
20
+ * @param {Hex} args.aggregateSignature - the aggregated signature to split
21
+ * @param {number} args.threshold - the threshold for the signature
22
+ * @param {SmartContractAccount} args.account - the account which the signature is valid for
23
+ * @param {UserOperationRequest<TEntryPointVersion>} args.request - the user operation request that the signature is for
24
+ * @returns {Promise<SplitAggregateSignatureResult>} the signature split into its upper limits and current signatures
25
+ */
26
+ export declare const splitAggregatedSignature: <TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(args: SplitAggregateSignatureParams<TAccount, GetEntryPointFromAccount<TAccount, SmartContractAccount<string, keyof import("@aa-sdk/core").EntryPointRegistryBase<unknown>>>>) => Promise<SplitAggregateSignatureResult>;
26
27
  //# sourceMappingURL=splitAggregatedSignature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"splitAggregatedSignature.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/splitAggregatedSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAwC,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,6BAA6B,CACvC,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,mBAAmB,EAAE,GAAG,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;CACnD,CAAC;AACF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;mBAOpB,GAAG;4BACM,GAAG;oCACK,GAAG;gBACvB,SAAS,EAAE;EA4FxB,CAAC"}
1
+ {"version":3,"file":"splitAggregatedSignature.d.ts","sourceRoot":"","sources":["../../../../../../../src/msca/plugins/multisig/utils/splitAggregatedSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAwC,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,6BAA6B,CACvC,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EACb,kBAAkB,SAAS,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,IAChG;IACF,mBAAmB,EAAE,GAAG,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,aAAa,EAAE,GAAG,CAAC;IACnB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,8BAA8B,EAAE,GAAG,CAAC;IACpC,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,2QAMlC,QAAQ,6BAA6B,CA2FvC,CAAC"}
@@ -27,5 +27,18 @@ export type SessionKeyPluginActions<TAccount extends SmartContractAccount | unde
27
27
  } & (IsUndefined<TAccount> extends false ? {
28
28
  getAccountSessionKeys: (args?: GetPluginAddressParameter & GetAccountParameter<TAccount>) => Promise<ReadonlyArray<Address>>;
29
29
  } : {});
30
+ /**
31
+ * Creates actions for managing session keys in a smart contract associated with a client, including adding, removing, rotating, and updating session key permissions.
32
+ *
33
+ * @example
34
+ * ```ts
35
+ * import { createModularAccountAlchemyClient, sessionKeyPluginActions } from "@account-kit/smart-contracts";
36
+ *
37
+ * const client = createModularAccountAlchemyClient(...).extend(sessionKeyPluginActions);
38
+ * ```
39
+ *
40
+ * @param {Client<TTransport, TChain, TAccount>} client The client instance to use for managing session keys
41
+ * @returns {SessionKeyPluginActions<TAccount>} An object containing methods for session key management and interaction with the smart contract
42
+ */
30
43
  export declare const sessionKeyPluginActions: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>) => SessionKeyPluginActions<TAccount>;
31
44
  //# sourceMappingURL=extension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/extension.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export type * from "./extension.js";
2
2
  export { sessionKeyPluginActions } from "./extension.js";
3
- export { SessionKeyPlugin } from "./plugin.js";
3
+ export { SessionKeyPlugin, SessionKeyPluginAbi, SessionKeyPluginExecutionFunctionAbi, type InstallSessionKeyPluginParams, } from "./plugin.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,gBAAgB,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,gBAAgB,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oCAAoC,EACpC,KAAK,6BAA6B,GACnC,MAAM,aAAa,CAAC"}
@@ -31,6 +31,9 @@ export type GasSpendLimit = {
31
31
  spendLimit: bigint;
32
32
  refreshInterval?: number;
33
33
  };
34
+ /**
35
+ * A builder for creating the hex-encoded data for updating session key permissions.
36
+ */
34
37
  export declare class SessionKeyPermissionsBuilder {
35
38
  private _contractAccessControlType;
36
39
  private _contractAddressAccessEntrys;
@@ -40,14 +43,160 @@ export declare class SessionKeyPermissionsBuilder {
40
43
  private _erc20TokenSpendLimits;
41
44
  private _gasSpendLimit?;
42
45
  private _requiredPaymaster?;
46
+ /**
47
+ * Sets the access control type for the contract and returns the current instance for method chaining.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
52
+ *
53
+ * const builder = new SessionKeyPermissionsBuilder();
54
+ * builder.setContractAccessControlType(SessionKeyAccessListType.ALLOWLIST);
55
+ * ```
56
+ *
57
+ * @param {SessionKeyAccessListType} aclType The access control type for the session key
58
+ * @returns {SessionKeyPermissionsBuilder} The current instance for method chaining
59
+ */
43
60
  setContractAccessControlType(aclType: SessionKeyAccessListType): this;
61
+ /**
62
+ * Adds a contract access entry to the internal list of contract address access entries.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
67
+ *
68
+ * const builder = new SessionKeyPermissionsBuilder();
69
+ * builder.addContractAddressAccessEntry({
70
+ * contractAddress: "0x1234",
71
+ * isOnList: true,
72
+ * checkSelectors: true,
73
+ * });
74
+ * ```
75
+ *
76
+ * @param {ContractAccessEntry} entry the contract access entry to be added
77
+ * @returns {SessionKeyPermissionsBuilder} the instance of the current class for chaining
78
+ */
44
79
  addContractAddressAccessEntry(entry: ContractAccessEntry): this;
80
+ /**
81
+ * Adds a contract method entry to the `_contractMethodAccessEntrys` array.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
86
+ *
87
+ * const builder = new SessionKeyPermissionsBuilder();
88
+ * builder.addContractAddressAccessEntry({
89
+ * contractAddress: "0x1234",
90
+ * methodSelector: "0x45678",
91
+ * isOnList: true,
92
+ * });
93
+ * ```
94
+ *
95
+ * @param {ContractMethodEntry} entry The contract method entry to be added
96
+ * @returns {SessionKeyPermissionsBuilder} The instance of the class for method chaining
97
+ */
45
98
  addContractFunctionAccessEntry(entry: ContractMethodEntry): this;
99
+ /**
100
+ * Sets the time range for an object and returns the object itself for chaining.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
105
+ *
106
+ * const builder = new SessionKeyPermissionsBuilder();
107
+ * builder.setTimeRange({
108
+ * validFrom: Date.now(),
109
+ * validUntil: Date.now() + (15 * 60 * 1000),
110
+ * });
111
+ * ```
112
+ *
113
+ * @param {TimeRange} timeRange The time range to be set
114
+ * @returns {SessionKeyPermissionsBuilder} The current object for method chaining
115
+ */
46
116
  setTimeRange(timeRange: TimeRange): this;
117
+ /**
118
+ * Sets the native token spend limit and returns the instance for chaining.
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
123
+ *
124
+ * const builder = new SessionKeyPermissionsBuilder();
125
+ * builder.setNativeTokenSpendLimit({
126
+ * spendLimit: 1000000000000000000n,
127
+ * refreshInterval: 3600,
128
+ * });
129
+ * ```
130
+ *
131
+ * @param {NativeTokenLimit} limit The limit to set for native token spending
132
+ * @returns {SessionKeyPermissionsBuilder} The instance for chaining
133
+ */
47
134
  setNativeTokenSpendLimit(limit: NativeTokenLimit): this;
135
+ /**
136
+ * Adds an ERC20 token spend limit to the list of limits and returns the updated object.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
141
+ *
142
+ * const builder = new SessionKeyPermissionsBuilder();
143
+ * builder.addErc20TokenSpendLimit({
144
+ * tokenAddress: "0x1234",
145
+ * spendLimit: 1000000000000000000n,
146
+ * refreshInterval: 3600,
147
+ * });
148
+ * ```
149
+ *
150
+ * @param {Erc20TokenLimit} limit The ERC20 token spend limit to be added
151
+ * @returns {object} The updated object with the new ERC20 token spend limit
152
+ */
48
153
  addErc20TokenSpendLimit(limit: Erc20TokenLimit): this;
49
- setGasSpendLimit(limit: GasSpendLimit): this;
154
+ /**
155
+ * Sets the gas spend limit and returns the current instance for method chaining.
156
+ *
157
+ * @example
158
+ * ```ts
159
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
160
+ *
161
+ * const builder = new SessionKeyPermissionsBuilder();
162
+ * builder.setGasSpendLimit({
163
+ * spendLimit: 1000000000000000000n,
164
+ * refreshInterval: 3600,
165
+ * });
166
+ * ```
167
+ *
168
+ * @param {GasSpendLimit} limit - The gas spend limit to be set
169
+ * @returns {SessionKeyPermissionsBuilder} The current instance for chaining
170
+ */ setGasSpendLimit(limit: GasSpendLimit): this;
171
+ /**
172
+ * Sets the required paymaster address.
173
+ *
174
+ * @example
175
+ * ```ts
176
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
177
+ *
178
+ * const builder = new SessionKeyPermissionsBuilder();
179
+ * builder.setRequiredPaymaster("0x1234");
180
+ * ```
181
+ *
182
+ * @param {Address} paymaster the address of the paymaster to be set
183
+ * @returns {SessionKeyPermissionsBuilder} the current instance for method chaining
184
+ */
50
185
  setRequiredPaymaster(paymaster: Address): this;
186
+ /**
187
+ * Encodes various function calls into an array of hexadecimal strings based on the provided permissions and limits.
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * import { SessionKeyPermissionsBuilder } from "@account-kit/smart-contracts";
192
+ *
193
+ * const builder = new SessionKeyPermissionsBuilder();
194
+ * builder.setRequiredPaymaster("0x1234");
195
+ * const encoded = builder.encode();
196
+ * ```
197
+ *
198
+ * @returns {Hex[]} An array of encoded hexadecimal strings representing the function calls for setting access control, permissions, and limits.
199
+ */
51
200
  encode(): Hex[];
52
201
  private encodeIfDefined;
53
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAGlE,oBAAY,wBAAwB;IAClC,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,gBAAgB,IAAI;CACrB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAEhC,eAAe,EAAE,OAAO,CAAC;IAEzB,QAAQ,EAAE,OAAO,CAAC;IAElB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAEhC,eAAe,EAAE,OAAO,CAAC;IAEzB,cAAc,EAAE,GAAG,CAAC;IAEpB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG;IAI1B,UAAU,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,qBAAa,4BAA4B;IACvC,OAAO,CAAC,0BAA0B,CACG;IACrC,OAAO,CAAC,4BAA4B,CAA6B;IACjE,OAAO,CAAC,2BAA2B,CAA6B;IAChE,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAmB;IAClD,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,kBAAkB,CAAC,CAAU;IAE9B,4BAA4B,CAAC,OAAO,EAAE,wBAAwB;IAK9D,6BAA6B,CAAC,KAAK,EAAE,mBAAmB;IAKxD,8BAA8B,CAAC,KAAK,EAAE,mBAAmB;IAKzD,YAAY,CAAC,SAAS,EAAE,SAAS;IAKjC,wBAAwB,CAAC,KAAK,EAAE,gBAAgB;IAKhD,uBAAuB,CAAC,KAAK,EAAE,eAAe;IAK9C,gBAAgB,CAAC,KAAK,EAAE,aAAa;IAKrC,oBAAoB,CAAC,SAAS,EAAE,OAAO;IAKvC,MAAM,IAAI,GAAG,EAAE;IA0EtB,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAGlE,oBAAY,wBAAwB;IAClC,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,gBAAgB,IAAI;CACrB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAEhC,eAAe,EAAE,OAAO,CAAC;IAEzB,QAAQ,EAAE,OAAO,CAAC;IAElB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAEhC,eAAe,EAAE,OAAO,CAAC;IAEzB,cAAc,EAAE,GAAG,CAAC;IAEpB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG;IAI1B,UAAU,EAAE,MAAM,CAAC;IAGnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,0BAA0B,CACG;IACrC,OAAO,CAAC,4BAA4B,CAA6B;IACjE,OAAO,CAAC,2BAA2B,CAA6B;IAChE,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAmB;IAClD,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,kBAAkB,CAAC,CAAU;IAErC;;;;;;;;;;;;;OAaG;IACI,4BAA4B,CAAC,OAAO,EAAE,wBAAwB;IAKrE;;;;;;;;;;;;;;;;;OAiBG;IACI,6BAA6B,CAAC,KAAK,EAAE,mBAAmB;IAK/D;;;;;;;;;;;;;;;;;OAiBG;IACI,8BAA8B,CAAC,KAAK,EAAE,mBAAmB;IAKhE;;;;;;;;;;;;;;;;OAgBG;IACI,YAAY,CAAC,SAAS,EAAE,SAAS;IAKxC;;;;;;;;;;;;;;;;OAgBG;IACI,wBAAwB,CAAC,KAAK,EAAE,gBAAgB;IAKvD;;;;;;;;;;;;;;;;;OAiBG;IACI,uBAAuB,CAAC,KAAK,EAAE,eAAe;IAKrD;;;;;;;;;;;;;;;;OAgBG,CAAQ,gBAAgB,CAAC,KAAK,EAAE,aAAa;IAKhD;;;;;;;;;;;;;OAaG;IACI,oBAAoB,CAAC,SAAS,EAAE,OAAO;IAK9C;;;;;;;;;;;;;OAaG;IACI,MAAM,IAAI,GAAG,EAAE;IA0EtB,OAAO,CAAC,eAAe;CAKxB"}
@@ -12,20 +12,82 @@ export declare const SessionKeySignerSchema: z.ZodObject<{
12
12
  storageKey?: string | undefined;
13
13
  }>;
14
14
  export type SessionKeySignerConfig = z.input<typeof SessionKeySignerSchema>;
15
+ export declare const SESSION_KEY_SIGNER_TYPE_PFX = "alchemy:session-key";
15
16
  /**
16
17
  * A simple session key signer that uses localStorage or sessionStorage to store
17
18
  * a private key. If the key is not found, it will generate a new one and store
18
19
  * it in the storage.
19
20
  */
20
- export declare const SESSION_KEY_SIGNER_TYPE_PFX = "alchemy:session-key";
21
21
  export declare class SessionKeySigner implements SmartAccountSigner<LocalAccountSigner<PrivateKeyAccount>> {
22
22
  signerType: string;
23
23
  inner: LocalAccountSigner<PrivateKeyAccount>;
24
24
  private storageType;
25
25
  private storageKey;
26
+ /**
27
+ * Initializes a new instance of a session key signer with the provided configuration. This will set the `signerType`, `storageKey`, and `storageType`. It will also manage the session key, either fetching it from storage or generating a new one if it doesn't exist.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * import { SessionKeySigner } from "@account-kit/smart-contracts";
32
+ *
33
+ * const signer = new SessionKeySigner();
34
+ * ```
35
+ *
36
+ * @param {SessionKeySignerConfig} config_ the configuration for initializing the session key signer
37
+ */
26
38
  constructor(config_?: SessionKeySignerConfig);
39
+ /**
40
+ * An async function that retrieves the address using the inner object's `getAddress` method.
41
+ *
42
+ * @example
43
+ * ```ts
44
+ * import { SessionKeySigner } from "@account-kit/smart-contracts";
45
+ *
46
+ * const signer = new SessionKeySigner();
47
+ * const sessionKeyAddress = await signer.getAddress();
48
+ * ```
49
+ *
50
+ * @returns {Promise<string>} A promise that resolves to the address as a string
51
+ */
27
52
  getAddress: () => Promise<`0x${string}`>;
53
+ /**
54
+ * Signs a message using the inner signer.
55
+ *
56
+ * @example
57
+ * ```ts
58
+ * import { SessionKeySigner } from "@account-kit/smart-contracts";
59
+ *
60
+ * const signer = new SessionKeySigner();
61
+ * const sessionKeyAddress = await signer.signMessage("hello");
62
+ * ```
63
+ *
64
+ * @param {SignableMessage} msg The message to sign
65
+ * @returns {Promise<Hex>} A promise that resolves to the signed message
66
+ */
28
67
  signMessage: (msg: SignableMessage) => Promise<`0x${string}`>;
68
+ /**
69
+ * Signs the provided typed data using the inner signer.
70
+ *
71
+ * @example
72
+ * ```ts
73
+ * import { SessionKeySigner } from "@account-kit/smart-contracts";
74
+ *
75
+ * const signer = new SessionKeySigner();
76
+ * console.log(await signer.signTypedData({
77
+ * types: {
78
+ * "Message": [{ name: "content", type: "string" }]
79
+ * },
80
+ * primaryType: "Message",
81
+ * message: { content: "Hello" },
82
+ * }));
83
+ * ```
84
+ *
85
+ * @template TTypedData - The typed data type, which extends `TypedData` or a record of unknown keys to unknown values.
86
+ * @template TPrimaryType - The primary type of the typed data.
87
+ *
88
+ * @param {TypedDataDefinition<TTypedData, TPrimaryType>} params The parameters containing the typed data definition and primary type.
89
+ * @returns {Promise<string>} A promise that resolves to the signed typed data as a string.
90
+ */
29
91
  signTypedData: <const TTypedData extends {
30
92
  [x: string]: readonly import("viem").TypedDataParameter[];
31
93
  [x: `string[${string}]`]: undefined;
@@ -237,7 +299,15 @@ export declare class SessionKeySigner implements SmartAccountSigner<LocalAccount
237
299
  /**
238
300
  * Generates a new private key and stores it in the storage.
239
301
  *
240
- * @returns The public address of the new key.
302
+ * @example
303
+ * ```ts
304
+ * import { SessionKeySigner } from "@account-kit/smart-contracts";
305
+ *
306
+ * const signer = new SessionKeySigner();
307
+ * const newSessionKey = signer.generateNewKey();
308
+ * ```
309
+ *
310
+ * @returns {Address} The public address of the new key.
241
311
  */
242
312
  generateNewKey: () => `0x${string}`;
243
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EAEf,mBAAmB,EACpB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E;;;;GAIG;AAEH,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AACjE,qBAAa,gBACX,YAAW,kBAAkB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAEpE,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,WAAW,CAAgD;IACnE,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,sBAA2B;IA2BhD,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAEtC;IAEF,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAI3D;IAEF,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8HAOX;IAEF;;;;OAIG;IACH,cAAc,sBASZ;CACH"}
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EAEf,mBAAmB,EACpB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AAEjE;;;;GAIG;AACH,qBAAa,gBACX,YAAW,kBAAkB,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAEpE,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IAC7C,OAAO,CAAC,WAAW,CAAgD;IACnE,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;;;;;;;OAWG;gBACS,OAAO,GAAE,sBAA2B;IA2BhD;;;;;;;;;;;;OAYG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAEtC;IAEF;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAI3D;IAEF;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8HAOX;IAEF;;;;;;;;;;;;OAYG;IACH,cAAc,sBASZ;CACH"}
@@ -1,10 +1,30 @@
1
1
  import type { GetAccountParameter, SmartContractAccount } from "@aa-sdk/core";
2
2
  import type { Address, Chain, Client, Transport } from "viem";
3
- export declare const buildSessionKeysToRemoveStruct: <TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: {
3
+ type BuildSessionKeysToRemoveStructParams<TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined> = {
4
4
  keys: ReadonlyArray<Address>;
5
5
  pluginAddress?: Address;
6
- } & GetAccountParameter<TAccount>) => Promise<{
6
+ } & GetAccountParameter<TAccount>;
7
+ /**
8
+ * Finds predecessors for each provided key and returns them in the struct `ISessionKeyPlugin.SessionKeyToRemove[]`.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { buildSessionKeysToRemoveStruct } from "@account-kit/smart-contracts";
13
+ *
14
+ * const client = createSmartAccountClient(...);
15
+ *
16
+ * const keysToRemove = await buildSessionKeysToRemoveStruct(client, {
17
+ * keys: ["0x...", "0x..."],
18
+ * });
19
+ * ```
20
+ *
21
+ * @param {Client<TTransport, TChain, TAccount>} client The client instance used to interact with the smart account
22
+ * @param {BuildSessionKeysToRemoveStructParams<TAccount>} args Arguments to configure the session key removal process
23
+ * @returns {Promise<{ sessionKey: Address; predecessor: Address }[]>} A promise that resolves to an array of objects each containing a session key and its predecessor
24
+ */
25
+ export declare function buildSessionKeysToRemoveStruct<TTransport extends Transport = Transport, TChain extends Chain | undefined = Chain | undefined, TAccount extends SmartContractAccount | undefined = SmartContractAccount | undefined>(client: Client<TTransport, TChain, TAccount>, args: BuildSessionKeysToRemoveStructParams): Promise<{
7
26
  sessionKey: Address;
8
27
  predecessor: Address;
9
28
  }[]>;
29
+ export {};
10
30
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAK9D,eAAO,MAAM,8BAA8B,EAAE,CAC3C,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE;IACJ,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,KAC9B,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAAE,CAoB3D,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/msca/plugins/session-key/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAG9D,KAAK,oCAAoC,CACvC,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,IACX;IACF,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAElC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,MAAM,SAAS,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,EACpD,QAAQ,SAAS,oBAAoB,GAAG,SAAS,GAC7C,oBAAoB,GACpB,SAAS,EAEb,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,oCAAoC,GACzC,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAAE,CAAC,CAmB1D"}