@rhinestone/sdk 2.0.0-beta.9 → 2.1.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 (615) hide show
  1. package/README.md +2 -2
  2. package/dist/src/accounts/adapter.d.ts +31 -0
  3. package/dist/src/accounts/adapter.d.ts.map +1 -0
  4. package/dist/src/accounts/adapters/eoa.d.ts +4 -0
  5. package/dist/src/accounts/adapters/eoa.d.ts.map +1 -0
  6. package/dist/src/accounts/adapters/eoa.js +45 -0
  7. package/dist/src/accounts/adapters/hca.d.ts +5 -0
  8. package/dist/src/accounts/adapters/hca.d.ts.map +1 -0
  9. package/dist/src/accounts/adapters/hca.js +121 -0
  10. package/dist/src/accounts/adapters/kernel.d.ts +9 -0
  11. package/dist/src/accounts/adapters/kernel.d.ts.map +1 -0
  12. package/dist/src/accounts/adapters/kernel.js +159 -0
  13. package/dist/src/accounts/adapters/nexus.d.ts +16 -0
  14. package/dist/src/accounts/adapters/nexus.d.ts.map +1 -0
  15. package/dist/src/accounts/adapters/nexus.js +212 -0
  16. package/dist/src/accounts/adapters/safe.d.ts +6 -0
  17. package/dist/src/accounts/adapters/safe.d.ts.map +1 -0
  18. package/dist/src/accounts/adapters/safe.js +194 -0
  19. package/dist/src/accounts/adapters/shared.d.ts +9 -0
  20. package/dist/src/accounts/adapters/shared.d.ts.map +1 -0
  21. package/dist/src/accounts/adapters/shared.js +62 -0
  22. package/dist/src/accounts/adapters/startale.d.ts +14 -0
  23. package/dist/src/accounts/adapters/startale.d.ts.map +1 -0
  24. package/dist/src/accounts/adapters/startale.js +165 -0
  25. package/dist/src/accounts/construction.d.ts +25 -0
  26. package/dist/src/accounts/construction.d.ts.map +1 -0
  27. package/dist/src/accounts/construction.js +34 -0
  28. package/dist/src/accounts/deployment.d.ts +12 -0
  29. package/dist/src/accounts/deployment.d.ts.map +1 -0
  30. package/dist/src/accounts/deployment.js +33 -0
  31. package/dist/src/accounts/erc7579-calls.d.ts +4 -0
  32. package/dist/src/accounts/erc7579-calls.d.ts.map +1 -0
  33. package/dist/src/accounts/erc7579-calls.js +57 -0
  34. package/dist/src/accounts/error.d.ts +3 -10
  35. package/dist/src/accounts/error.d.ts.map +1 -1
  36. package/dist/src/accounts/error.js +5 -11
  37. package/dist/src/accounts/legacy.d.ts +14 -0
  38. package/dist/src/accounts/legacy.d.ts.map +1 -0
  39. package/dist/src/accounts/legacy.js +40 -0
  40. package/dist/src/accounts/registry.d.ts +4 -0
  41. package/dist/src/accounts/registry.d.ts.map +1 -0
  42. package/dist/src/accounts/registry.js +22 -0
  43. package/dist/src/accounts/types.d.ts +131 -0
  44. package/dist/src/accounts/types.d.ts.map +1 -0
  45. package/dist/src/accounts/types.js +1 -0
  46. package/dist/src/accounts/wallet-account.d.ts +3 -0
  47. package/dist/src/accounts/wallet-account.d.ts.map +1 -0
  48. package/dist/src/accounts/wallet-account.js +12 -0
  49. package/dist/src/actions/deploy.d.ts +4 -0
  50. package/dist/src/actions/deploy.d.ts.map +1 -0
  51. package/dist/src/actions/deploy.js +8 -0
  52. package/dist/src/actions/ecdsa.d.ts +2 -2
  53. package/dist/src/actions/ecdsa.d.ts.map +1 -1
  54. package/dist/src/actions/ecdsa.js +12 -65
  55. package/dist/src/actions/index.d.ts +2 -16
  56. package/dist/src/actions/index.d.ts.map +1 -1
  57. package/dist/src/actions/index.js +3 -49
  58. package/dist/src/actions/mfa.d.ts +1 -1
  59. package/dist/src/actions/mfa.d.ts.map +1 -1
  60. package/dist/src/actions/mfa.js +30 -10
  61. package/dist/src/actions/modules.d.ts +4 -0
  62. package/dist/src/actions/modules.d.ts.map +1 -0
  63. package/dist/src/actions/modules.js +22 -0
  64. package/dist/src/actions/ownable.d.ts +6 -0
  65. package/dist/src/actions/ownable.d.ts.map +1 -0
  66. package/dist/src/actions/ownable.js +63 -0
  67. package/dist/src/actions/passkeys.d.ts +2 -2
  68. package/dist/src/actions/passkeys.d.ts.map +1 -1
  69. package/dist/src/actions/passkeys.js +23 -78
  70. package/dist/src/actions/recovery.d.ts +58 -24
  71. package/dist/src/actions/recovery.d.ts.map +1 -1
  72. package/dist/src/actions/recovery.js +107 -162
  73. package/dist/src/actions/runtime.d.ts +17 -0
  74. package/dist/src/actions/runtime.d.ts.map +1 -0
  75. package/dist/src/actions/runtime.js +182 -0
  76. package/dist/src/actions/smart-sessions.d.ts +30 -6
  77. package/dist/src/actions/smart-sessions.d.ts.map +1 -1
  78. package/dist/src/actions/smart-sessions.js +69 -18
  79. package/dist/src/actions/webauthn.d.ts +6 -0
  80. package/dist/src/actions/webauthn.d.ts.map +1 -0
  81. package/dist/src/actions/webauthn.js +67 -0
  82. package/dist/src/api/account.d.ts +265 -0
  83. package/dist/src/api/account.d.ts.map +1 -0
  84. package/dist/src/api/account.js +638 -0
  85. package/dist/src/api/accounts.d.ts +12 -0
  86. package/dist/src/api/accounts.d.ts.map +1 -0
  87. package/dist/src/api/accounts.js +17 -0
  88. package/dist/src/api/compose-types.d.ts +147 -0
  89. package/dist/src/api/compose-types.d.ts.map +1 -0
  90. package/dist/src/api/compose-types.js +1 -0
  91. package/dist/src/api/compose.d.ts +6 -0
  92. package/dist/src/api/compose.d.ts.map +1 -0
  93. package/dist/src/api/compose.js +772 -0
  94. package/dist/src/api/direct-signing.d.ts +27 -0
  95. package/dist/src/api/direct-signing.d.ts.map +1 -0
  96. package/dist/src/api/direct-signing.js +191 -0
  97. package/dist/src/api/project-mappers.d.ts +7 -0
  98. package/dist/src/api/project-mappers.d.ts.map +1 -0
  99. package/dist/src/api/project-mappers.js +23 -0
  100. package/dist/src/api/queries/app-fees.d.ts +4 -0
  101. package/dist/src/api/queries/app-fees.d.ts.map +1 -0
  102. package/dist/src/api/queries/app-fees.js +3 -0
  103. package/dist/src/api/queries/portfolio.d.ts +9 -0
  104. package/dist/src/api/queries/portfolio.d.ts.map +1 -0
  105. package/dist/src/api/queries/portfolio.js +28 -0
  106. package/dist/src/api/queries/session.d.ts +8 -0
  107. package/dist/src/api/queries/session.d.ts.map +1 -0
  108. package/dist/src/api/queries/session.js +15 -0
  109. package/dist/src/api/sdk.d.ts +80 -0
  110. package/dist/src/api/sdk.d.ts.map +1 -0
  111. package/dist/src/api/sdk.js +103 -0
  112. package/dist/src/api/signer-selection.d.ts +20 -0
  113. package/dist/src/api/signer-selection.d.ts.map +1 -0
  114. package/dist/src/api/signer-selection.js +159 -0
  115. package/dist/src/calls/normalize.d.ts +9 -0
  116. package/dist/src/calls/normalize.d.ts.map +1 -0
  117. package/dist/src/calls/normalize.js +17 -0
  118. package/dist/src/calls/resolve.d.ts +3 -0
  119. package/dist/src/calls/resolve.d.ts.map +1 -0
  120. package/dist/src/calls/resolve.js +15 -0
  121. package/dist/src/calls/types.d.ts +25 -0
  122. package/dist/src/calls/types.d.ts.map +1 -0
  123. package/dist/src/calls/types.js +1 -0
  124. package/dist/src/chains/caip2.d.ts +10 -0
  125. package/dist/src/chains/caip2.d.ts.map +1 -0
  126. package/dist/src/chains/caip2.js +85 -0
  127. package/dist/src/chains/catalog.d.ts +5 -0
  128. package/dist/src/chains/catalog.d.ts.map +1 -0
  129. package/dist/src/chains/catalog.js +41 -0
  130. package/dist/src/chains/errors.d.ts +15 -0
  131. package/dist/src/chains/errors.d.ts.map +1 -0
  132. package/dist/src/chains/errors.js +21 -0
  133. package/dist/src/{orchestrator/destinations.d.ts → chains/non-evm.d.ts} +9 -6
  134. package/dist/src/chains/non-evm.d.ts.map +1 -0
  135. package/dist/src/chains/non-evm.js +30 -0
  136. package/dist/src/chains/tokens.d.ts +4 -0
  137. package/dist/src/chains/tokens.d.ts.map +1 -0
  138. package/dist/src/chains/tokens.js +22 -0
  139. package/dist/src/chains/types.d.ts +25 -0
  140. package/dist/src/chains/types.d.ts.map +1 -0
  141. package/dist/src/chains/types.js +1 -0
  142. package/dist/src/clients/bundler/client.d.ts +10 -0
  143. package/dist/src/clients/bundler/client.d.ts.map +1 -0
  144. package/dist/src/clients/bundler/client.js +85 -0
  145. package/dist/src/clients/bundler/endpoints.d.ts +3 -0
  146. package/dist/src/clients/bundler/endpoints.d.ts.map +1 -0
  147. package/dist/src/clients/bundler/endpoints.js +18 -0
  148. package/dist/src/clients/bundler/port.d.ts +22 -0
  149. package/dist/src/clients/bundler/port.d.ts.map +1 -0
  150. package/dist/src/clients/bundler/port.js +1 -0
  151. package/dist/src/clients/json-rpc.d.ts +20 -0
  152. package/dist/src/clients/json-rpc.d.ts.map +1 -0
  153. package/dist/src/clients/json-rpc.js +56 -0
  154. package/dist/src/clients/orchestrator/auth.d.ts +7 -0
  155. package/dist/src/clients/orchestrator/auth.d.ts.map +1 -0
  156. package/dist/src/clients/orchestrator/auth.js +27 -0
  157. package/dist/src/clients/orchestrator/chain-catalog.d.ts +36 -0
  158. package/dist/src/clients/orchestrator/chain-catalog.d.ts.map +1 -0
  159. package/dist/src/clients/orchestrator/chain-catalog.js +67 -0
  160. package/dist/src/clients/orchestrator/client.d.ts +13 -0
  161. package/dist/src/clients/orchestrator/client.d.ts.map +1 -0
  162. package/dist/src/clients/orchestrator/client.js +97 -0
  163. package/dist/src/clients/orchestrator/errors.d.ts +238 -0
  164. package/dist/src/clients/orchestrator/errors.d.ts.map +1 -0
  165. package/dist/src/clients/orchestrator/errors.js +525 -0
  166. package/dist/src/clients/orchestrator/fetch.d.ts +7 -0
  167. package/dist/src/clients/orchestrator/fetch.d.ts.map +1 -0
  168. package/dist/src/clients/orchestrator/fetch.js +37 -0
  169. package/dist/src/clients/orchestrator/mappers.d.ts +9 -0
  170. package/dist/src/clients/orchestrator/mappers.d.ts.map +1 -0
  171. package/dist/src/clients/orchestrator/mappers.js +198 -0
  172. package/dist/src/clients/orchestrator/port.d.ts +26 -0
  173. package/dist/src/clients/orchestrator/port.d.ts.map +1 -0
  174. package/dist/src/clients/orchestrator/port.js +1 -0
  175. package/dist/src/{orchestrator/types.d.ts → clients/orchestrator/public.d.ts} +113 -43
  176. package/dist/src/clients/orchestrator/public.d.ts.map +1 -0
  177. package/dist/src/clients/orchestrator/public.js +14 -0
  178. package/dist/src/clients/orchestrator/types.d.ts +144 -0
  179. package/dist/src/clients/orchestrator/types.d.ts.map +1 -0
  180. package/dist/src/clients/orchestrator/types.js +1 -0
  181. package/dist/src/clients/orchestrator/wire.d.ts +19 -0
  182. package/dist/src/clients/orchestrator/wire.d.ts.map +1 -0
  183. package/dist/src/clients/orchestrator/wire.gen.d.ts +6463 -0
  184. package/dist/src/clients/orchestrator/wire.gen.d.ts.map +1 -0
  185. package/dist/src/clients/orchestrator/wire.gen.js +1 -0
  186. package/dist/src/clients/orchestrator/wire.js +1 -0
  187. package/dist/src/clients/paymaster/client.d.ts +8 -0
  188. package/dist/src/clients/paymaster/client.d.ts.map +1 -0
  189. package/dist/src/clients/paymaster/client.js +38 -0
  190. package/dist/src/clients/paymaster/endpoints.d.ts +3 -0
  191. package/dist/src/clients/paymaster/endpoints.d.ts.map +1 -0
  192. package/dist/src/clients/paymaster/endpoints.js +16 -0
  193. package/dist/src/clients/paymaster/port.d.ts +17 -0
  194. package/dist/src/clients/paymaster/port.d.ts.map +1 -0
  195. package/dist/src/clients/paymaster/port.js +1 -0
  196. package/dist/src/clients/rpc/client.d.ts +6 -0
  197. package/dist/src/clients/rpc/client.d.ts.map +1 -0
  198. package/dist/src/clients/rpc/client.js +66 -0
  199. package/dist/src/clients/rpc/compatibility.d.ts +12 -0
  200. package/dist/src/clients/rpc/compatibility.d.ts.map +1 -0
  201. package/dist/src/clients/rpc/compatibility.js +16 -0
  202. package/dist/src/clients/rpc/port.d.ts +13 -0
  203. package/dist/src/clients/rpc/port.d.ts.map +1 -0
  204. package/dist/src/clients/rpc/port.js +1 -0
  205. package/dist/src/clients/rpc/providers.d.ts +3 -0
  206. package/dist/src/clients/rpc/providers.d.ts.map +1 -0
  207. package/dist/src/clients/rpc/providers.js +8 -0
  208. package/dist/src/clients/rpc/transport.d.ts +4 -0
  209. package/dist/src/clients/rpc/transport.d.ts.map +1 -0
  210. package/dist/src/clients/rpc/transport.js +5 -0
  211. package/dist/src/clients/rpc/types.d.ts +23 -0
  212. package/dist/src/clients/rpc/types.d.ts.map +1 -0
  213. package/dist/src/clients/rpc/types.js +1 -0
  214. package/dist/src/config/account-runtime.d.ts +7 -0
  215. package/dist/src/config/account-runtime.d.ts.map +1 -0
  216. package/dist/src/config/account-runtime.js +36 -0
  217. package/dist/src/config/account.d.ts +767 -0
  218. package/dist/src/config/account.d.ts.map +1 -0
  219. package/dist/src/config/account.js +10 -0
  220. package/dist/src/config/defaults.d.ts +14 -0
  221. package/dist/src/config/defaults.d.ts.map +1 -0
  222. package/dist/src/config/defaults.js +26 -0
  223. package/dist/src/config/input.d.ts +59 -0
  224. package/dist/src/config/input.d.ts.map +1 -0
  225. package/dist/src/config/input.js +1 -0
  226. package/dist/src/config/legacy.d.ts +22 -0
  227. package/dist/src/config/legacy.d.ts.map +1 -0
  228. package/dist/src/config/legacy.js +23 -0
  229. package/dist/src/config/resolve.d.ts +13 -0
  230. package/dist/src/config/resolve.d.ts.map +1 -0
  231. package/dist/src/config/resolve.js +200 -0
  232. package/dist/src/config/resolved.d.ts +77 -0
  233. package/dist/src/config/resolved.d.ts.map +1 -0
  234. package/dist/src/config/resolved.js +1 -0
  235. package/dist/src/config/validate.d.ts +3 -0
  236. package/dist/src/config/validate.d.ts.map +1 -0
  237. package/dist/src/config/validate.js +6 -0
  238. package/dist/src/{execution/error.d.ts → errors/execution.d.ts} +47 -9
  239. package/dist/src/errors/execution.d.ts.map +1 -0
  240. package/dist/src/errors/execution.js +131 -0
  241. package/dist/src/errors/index.d.ts +6 -4
  242. package/dist/src/errors/index.d.ts.map +1 -1
  243. package/dist/src/errors/index.js +7 -6
  244. package/dist/src/index.d.ts +14 -84
  245. package/dist/src/index.d.ts.map +1 -1
  246. package/dist/src/index.js +9 -293
  247. package/dist/src/jwt-server/jcs.d.ts +1 -1
  248. package/dist/src/jwt-server/jcs.js +4 -2
  249. package/dist/src/modules/erc7579-abi.d.ts +4 -0
  250. package/dist/src/modules/erc7579-abi.d.ts.map +1 -0
  251. package/dist/src/modules/erc7579-abi.js +12 -0
  252. package/dist/src/modules/intent-executor.d.ts +6 -0
  253. package/dist/src/modules/intent-executor.d.ts.map +1 -0
  254. package/dist/src/modules/intent-executor.js +13 -0
  255. package/dist/src/modules/legacy-core.d.ts +29 -0
  256. package/dist/src/modules/legacy-core.d.ts.map +1 -0
  257. package/dist/src/modules/legacy-core.js +80 -0
  258. package/dist/src/modules/normalize.d.ts +4 -0
  259. package/dist/src/modules/normalize.d.ts.map +1 -0
  260. package/dist/src/modules/normalize.js +15 -0
  261. package/dist/src/modules/plan.d.ts +16 -0
  262. package/dist/src/modules/plan.d.ts.map +1 -0
  263. package/dist/src/modules/plan.js +51 -0
  264. package/dist/src/modules/read-core.d.ts +62 -0
  265. package/dist/src/modules/read-core.d.ts.map +1 -0
  266. package/dist/src/modules/read-core.js +206 -0
  267. package/dist/src/modules/types.d.ts +46 -0
  268. package/dist/src/modules/types.d.ts.map +1 -0
  269. package/dist/src/modules/types.js +1 -0
  270. package/dist/src/modules/validators/capabilities.d.ts +4 -0
  271. package/dist/src/modules/validators/capabilities.d.ts.map +1 -0
  272. package/dist/src/modules/validators/capabilities.js +58 -0
  273. package/dist/src/modules/validators/contribution.d.ts +4 -0
  274. package/dist/src/modules/validators/contribution.d.ts.map +1 -0
  275. package/dist/src/modules/validators/contribution.js +64 -0
  276. package/dist/src/modules/validators/definition.d.ts +3 -0
  277. package/dist/src/modules/validators/definition.d.ts.map +1 -0
  278. package/dist/src/modules/validators/definition.js +68 -0
  279. package/dist/src/modules/validators/ens.d.ts +5 -0
  280. package/dist/src/modules/validators/ens.d.ts.map +1 -0
  281. package/dist/src/modules/validators/ens.js +34 -0
  282. package/dist/src/modules/validators/k1.d.ts +2 -0
  283. package/dist/src/modules/validators/k1.d.ts.map +1 -0
  284. package/dist/src/modules/validators/k1.js +1 -0
  285. package/dist/src/modules/validators/multi-factor.d.ts +18 -0
  286. package/dist/src/modules/validators/multi-factor.d.ts.map +1 -0
  287. package/dist/src/modules/validators/multi-factor.js +79 -0
  288. package/dist/src/modules/validators/ownable.d.ts +26 -0
  289. package/dist/src/modules/validators/ownable.d.ts.map +1 -0
  290. package/dist/src/modules/validators/ownable.js +84 -0
  291. package/dist/src/modules/validators/permissions.d.ts +2 -1
  292. package/dist/src/modules/validators/permissions.d.ts.map +1 -1
  293. package/dist/src/modules/validators/permissions.js +192 -18
  294. package/dist/src/modules/validators/policies/claim/arbiters.d.ts +19 -0
  295. package/dist/src/modules/validators/policies/claim/arbiters.d.ts.map +1 -0
  296. package/dist/src/modules/validators/policies/claim/arbiters.js +82 -0
  297. package/dist/src/modules/validators/resolve.d.ts +5 -0
  298. package/dist/src/modules/validators/resolve.d.ts.map +1 -0
  299. package/dist/src/modules/validators/resolve.js +22 -0
  300. package/dist/src/modules/validators/signer-id.d.ts +5 -0
  301. package/dist/src/modules/validators/signer-id.d.ts.map +1 -0
  302. package/dist/src/modules/validators/signer-id.js +8 -0
  303. package/dist/src/modules/validators/smart-session-signature-types.d.ts +35 -0
  304. package/dist/src/modules/validators/smart-session-signature-types.d.ts.map +1 -0
  305. package/dist/src/modules/validators/smart-session-signature-types.js +1 -0
  306. package/dist/src/modules/validators/smart-sessions/authorization.d.ts +99 -0
  307. package/dist/src/modules/validators/smart-sessions/authorization.d.ts.map +1 -0
  308. package/dist/src/modules/validators/smart-sessions/authorization.js +101 -0
  309. package/dist/src/modules/validators/smart-sessions/calls.d.ts +19 -0
  310. package/dist/src/modules/validators/smart-sessions/calls.d.ts.map +1 -0
  311. package/dist/src/modules/validators/smart-sessions/calls.js +85 -0
  312. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts +4 -0
  313. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts.map +1 -0
  314. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.js +77 -0
  315. package/dist/src/modules/validators/smart-sessions/digest.d.ts +5 -0
  316. package/dist/src/modules/validators/smart-sessions/digest.d.ts.map +1 -0
  317. package/dist/src/modules/validators/smart-sessions/digest.js +30 -0
  318. package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts +10 -0
  319. package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts.map +1 -0
  320. package/dist/src/modules/validators/smart-sessions/mock-signature.js +31 -0
  321. package/dist/src/modules/validators/smart-sessions/module.d.ts +11 -0
  322. package/dist/src/modules/validators/smart-sessions/module.d.ts.map +1 -0
  323. package/dist/src/modules/validators/smart-sessions/module.js +18 -0
  324. package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts +23 -0
  325. package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts.map +1 -0
  326. package/dist/src/modules/validators/smart-sessions/policies/addresses.js +29 -0
  327. package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts +10 -0
  328. package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts.map +1 -0
  329. package/dist/src/modules/validators/smart-sessions/policies/claim.js +106 -0
  330. package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts +4 -0
  331. package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts.map +1 -0
  332. package/dist/src/modules/validators/smart-sessions/policies/encode.js +197 -0
  333. package/dist/src/modules/validators/smart-sessions/resolve.d.ts +16 -0
  334. package/dist/src/modules/validators/smart-sessions/resolve.d.ts.map +1 -0
  335. package/dist/src/modules/validators/smart-sessions/resolve.js +120 -0
  336. package/dist/src/modules/validators/smart-sessions/signature.d.ts +14 -0
  337. package/dist/src/modules/validators/smart-sessions/signature.d.ts.map +1 -0
  338. package/dist/src/modules/validators/smart-sessions/signature.js +167 -0
  339. package/dist/src/modules/validators/smart-sessions/state.d.ts +19 -0
  340. package/dist/src/modules/validators/smart-sessions/state.d.ts.map +1 -0
  341. package/dist/src/modules/validators/smart-sessions/state.js +42 -0
  342. package/dist/src/modules/validators/smart-sessions/types.d.ts +227 -0
  343. package/dist/src/modules/validators/smart-sessions/types.d.ts.map +1 -0
  344. package/dist/src/modules/validators/smart-sessions/types.js +1 -0
  345. package/dist/src/modules/validators/social-recovery.d.ts +16 -0
  346. package/dist/src/modules/validators/social-recovery.d.ts.map +1 -0
  347. package/dist/src/modules/validators/social-recovery.js +17 -0
  348. package/dist/src/modules/validators/types.d.ts +143 -0
  349. package/dist/src/modules/validators/types.d.ts.map +1 -0
  350. package/dist/src/modules/validators/types.js +1 -0
  351. package/dist/src/modules/validators/webauthn.d.ts +54 -0
  352. package/dist/src/modules/validators/webauthn.d.ts.map +1 -0
  353. package/dist/src/modules/validators/webauthn.js +159 -0
  354. package/dist/src/signing/context.d.ts +25 -0
  355. package/dist/src/signing/context.d.ts.map +1 -0
  356. package/dist/src/signing/context.js +163 -0
  357. package/dist/src/signing/contribution.d.ts +13 -0
  358. package/dist/src/signing/contribution.d.ts.map +1 -0
  359. package/dist/src/signing/contribution.js +83 -0
  360. package/dist/src/signing/eip7702.d.ts +41 -0
  361. package/dist/src/signing/eip7702.d.ts.map +1 -0
  362. package/dist/src/signing/eip7702.js +215 -0
  363. package/dist/src/signing/error.d.ts +27 -0
  364. package/dist/src/signing/error.d.ts.map +1 -0
  365. package/dist/src/signing/error.js +25 -0
  366. package/dist/src/signing/execute.d.ts +17 -0
  367. package/dist/src/signing/execute.d.ts.map +1 -0
  368. package/dist/src/signing/execute.js +138 -0
  369. package/dist/src/signing/intent-plans/assemble.d.ts +15 -0
  370. package/dist/src/signing/intent-plans/assemble.d.ts.map +1 -0
  371. package/dist/src/signing/intent-plans/assemble.js +96 -0
  372. package/dist/src/signing/intent-plans/independent.d.ts +48 -0
  373. package/dist/src/signing/intent-plans/independent.d.ts.map +1 -0
  374. package/dist/src/signing/intent-plans/independent.js +150 -0
  375. package/dist/src/signing/intent-plans/plan.d.ts +14 -0
  376. package/dist/src/signing/intent-plans/plan.d.ts.map +1 -0
  377. package/dist/src/signing/intent-plans/plan.js +187 -0
  378. package/dist/src/signing/intent-plans/types.d.ts +63 -0
  379. package/dist/src/signing/intent-plans/types.d.ts.map +1 -0
  380. package/dist/src/signing/intent-plans/types.js +1 -0
  381. package/dist/src/signing/message.d.ts +28 -0
  382. package/dist/src/signing/message.d.ts.map +1 -0
  383. package/dist/src/signing/message.js +90 -0
  384. package/dist/src/signing/passkeys.d.ts +28 -0
  385. package/dist/src/signing/passkeys.d.ts.map +1 -0
  386. package/dist/src/signing/passkeys.js +17 -0
  387. package/dist/src/signing/plan.d.ts +35 -0
  388. package/dist/src/signing/plan.d.ts.map +1 -0
  389. package/dist/src/signing/plan.js +377 -0
  390. package/dist/src/signing/protocols/erc6492.d.ts +11 -0
  391. package/dist/src/signing/protocols/erc6492.d.ts.map +1 -0
  392. package/dist/src/signing/protocols/erc6492.js +24 -0
  393. package/dist/src/signing/protocols/erc7739.d.ts +17 -0
  394. package/dist/src/signing/protocols/erc7739.d.ts.map +1 -0
  395. package/dist/src/signing/protocols/erc7739.js +84 -0
  396. package/dist/src/signing/session-enable.d.ts +35 -0
  397. package/dist/src/signing/session-enable.d.ts.map +1 -0
  398. package/dist/src/signing/session-enable.js +62 -0
  399. package/dist/src/signing/signers/compatibility.d.ts +4 -0
  400. package/dist/src/signing/signers/compatibility.d.ts.map +1 -0
  401. package/dist/src/signing/signers/compatibility.js +51 -0
  402. package/dist/src/signing/signers/ecdsa.d.ts +14 -0
  403. package/dist/src/signing/signers/ecdsa.d.ts.map +1 -0
  404. package/dist/src/signing/signers/ecdsa.js +54 -0
  405. package/dist/src/signing/signers/registry.d.ts +7 -0
  406. package/dist/src/signing/signers/registry.d.ts.map +1 -0
  407. package/dist/src/signing/signers/registry.js +33 -0
  408. package/dist/src/signing/signers/types.d.ts +16 -0
  409. package/dist/src/signing/signers/types.d.ts.map +1 -0
  410. package/dist/src/signing/signers/types.js +1 -0
  411. package/dist/src/signing/signers/wallet-chain.d.ts +9 -0
  412. package/dist/src/signing/signers/wallet-chain.d.ts.map +1 -0
  413. package/dist/src/signing/signers/wallet-chain.js +15 -0
  414. package/dist/src/signing/signers/webauthn.d.ts +11 -0
  415. package/dist/src/signing/signers/webauthn.d.ts.map +1 -0
  416. package/dist/src/signing/signers/webauthn.js +14 -0
  417. package/dist/src/signing/typed-data.d.ts +39 -0
  418. package/dist/src/signing/typed-data.d.ts.map +1 -0
  419. package/dist/src/signing/typed-data.js +135 -0
  420. package/dist/src/signing/types.d.ts +346 -0
  421. package/dist/src/signing/types.d.ts.map +1 -0
  422. package/dist/src/signing/types.js +1 -0
  423. package/dist/src/signing/user-operation.d.ts +23 -0
  424. package/dist/src/signing/user-operation.d.ts.map +1 -0
  425. package/dist/src/signing/user-operation.js +61 -0
  426. package/dist/src/smart-sessions/index.d.ts +16 -0
  427. package/dist/src/smart-sessions/index.d.ts.map +1 -0
  428. package/dist/src/smart-sessions/index.js +45 -0
  429. package/dist/src/transactions/intents/account.d.ts +15 -0
  430. package/dist/src/transactions/intents/account.d.ts.map +1 -0
  431. package/dist/src/transactions/intents/account.js +48 -0
  432. package/dist/src/transactions/intents/compatibility.d.ts +4 -0
  433. package/dist/src/transactions/intents/compatibility.d.ts.map +1 -0
  434. package/dist/src/transactions/intents/compatibility.js +19 -0
  435. package/dist/src/transactions/intents/normalize.d.ts +5 -0
  436. package/dist/src/transactions/intents/normalize.d.ts.map +1 -0
  437. package/dist/src/transactions/intents/normalize.js +48 -0
  438. package/dist/src/transactions/intents/prepare.d.ts +7 -0
  439. package/dist/src/transactions/intents/prepare.d.ts.map +1 -0
  440. package/dist/src/transactions/intents/prepare.js +249 -0
  441. package/dist/src/transactions/intents/quotes.d.ts +3 -0
  442. package/dist/src/transactions/intents/quotes.d.ts.map +1 -0
  443. package/dist/src/transactions/intents/quotes.js +11 -0
  444. package/dist/src/transactions/intents/request.d.ts +11 -0
  445. package/dist/src/transactions/intents/request.d.ts.map +1 -0
  446. package/dist/src/transactions/intents/request.js +55 -0
  447. package/dist/src/transactions/intents/send.d.ts +3 -0
  448. package/dist/src/transactions/intents/send.d.ts.map +1 -0
  449. package/dist/src/transactions/intents/send.js +22 -0
  450. package/dist/src/transactions/intents/session-signing.d.ts +7 -0
  451. package/dist/src/transactions/intents/session-signing.d.ts.map +1 -0
  452. package/dist/src/transactions/intents/session-signing.js +363 -0
  453. package/dist/src/transactions/intents/sessions.d.ts +17 -0
  454. package/dist/src/transactions/intents/sessions.d.ts.map +1 -0
  455. package/dist/src/transactions/intents/sessions.js +85 -0
  456. package/dist/src/transactions/intents/sign-transaction.d.ts +10 -0
  457. package/dist/src/transactions/intents/sign-transaction.d.ts.map +1 -0
  458. package/dist/src/transactions/intents/sign-transaction.js +386 -0
  459. package/dist/src/transactions/intents/split.d.ts +13 -0
  460. package/dist/src/transactions/intents/split.d.ts.map +1 -0
  461. package/dist/src/transactions/intents/split.js +3 -0
  462. package/dist/src/transactions/intents/status-policy.d.ts +13 -0
  463. package/dist/src/transactions/intents/status-policy.d.ts.map +1 -0
  464. package/dist/src/transactions/intents/status-policy.js +39 -0
  465. package/dist/src/transactions/intents/status.d.ts +4 -0
  466. package/dist/src/transactions/intents/status.d.ts.map +1 -0
  467. package/dist/src/transactions/intents/status.js +50 -0
  468. package/dist/src/transactions/intents/submit.d.ts +3 -0
  469. package/dist/src/transactions/intents/submit.d.ts.map +1 -0
  470. package/dist/src/transactions/intents/submit.js +32 -0
  471. package/dist/src/transactions/intents/types.d.ts +136 -0
  472. package/dist/src/transactions/intents/types.d.ts.map +1 -0
  473. package/dist/src/transactions/intents/types.js +1 -0
  474. package/dist/src/transactions/user-operations/hash.d.ts +5 -0
  475. package/dist/src/transactions/user-operations/hash.d.ts.map +1 -0
  476. package/dist/src/transactions/user-operations/hash.js +9 -0
  477. package/dist/src/transactions/user-operations/nonce.d.ts +18 -0
  478. package/dist/src/transactions/user-operations/nonce.d.ts.map +1 -0
  479. package/dist/src/transactions/user-operations/nonce.js +43 -0
  480. package/dist/src/transactions/user-operations/prepare.d.ts +12 -0
  481. package/dist/src/transactions/user-operations/prepare.d.ts.map +1 -0
  482. package/dist/src/transactions/user-operations/prepare.js +136 -0
  483. package/dist/src/transactions/user-operations/reconstruct.d.ts +28 -0
  484. package/dist/src/transactions/user-operations/reconstruct.d.ts.map +1 -0
  485. package/dist/src/transactions/user-operations/reconstruct.js +52 -0
  486. package/dist/src/transactions/user-operations/send.d.ts +3 -0
  487. package/dist/src/transactions/user-operations/send.d.ts.map +1 -0
  488. package/dist/src/transactions/user-operations/send.js +8 -0
  489. package/dist/src/transactions/user-operations/sign.d.ts +3 -0
  490. package/dist/src/transactions/user-operations/sign.d.ts.map +1 -0
  491. package/dist/src/transactions/user-operations/sign.js +14 -0
  492. package/dist/src/transactions/user-operations/status.d.ts +4 -0
  493. package/dist/src/transactions/user-operations/status.d.ts.map +1 -0
  494. package/dist/src/transactions/user-operations/status.js +37 -0
  495. package/dist/src/transactions/user-operations/submit.d.ts +3 -0
  496. package/dist/src/transactions/user-operations/submit.d.ts.map +1 -0
  497. package/dist/src/transactions/user-operations/submit.js +8 -0
  498. package/dist/src/transactions/user-operations/types.d.ts +68 -0
  499. package/dist/src/transactions/user-operations/types.d.ts.map +1 -0
  500. package/dist/src/transactions/user-operations/types.js +1 -0
  501. package/dist/src/transactions/user-operations/validator-account.d.ts +5 -0
  502. package/dist/src/transactions/user-operations/validator-account.d.ts.map +1 -0
  503. package/dist/src/transactions/user-operations/validator-account.js +26 -0
  504. package/dist/src/utils/index.d.ts +68 -4
  505. package/dist/src/utils/index.d.ts.map +1 -1
  506. package/dist/src/utils/index.js +113 -51
  507. package/package.json +10 -11
  508. package/dist/src/accounts/index.d.ts +0 -51
  509. package/dist/src/accounts/index.d.ts.map +0 -1
  510. package/dist/src/accounts/index.js +0 -589
  511. package/dist/src/accounts/json-rpc/index.d.ts +0 -5
  512. package/dist/src/accounts/json-rpc/index.d.ts.map +0 -1
  513. package/dist/src/accounts/json-rpc/index.js +0 -19
  514. package/dist/src/accounts/json-rpc/providers.d.ts +0 -5
  515. package/dist/src/accounts/json-rpc/providers.d.ts.map +0 -1
  516. package/dist/src/accounts/json-rpc/providers.js +0 -16
  517. package/dist/src/accounts/kernel.d.ts +0 -27
  518. package/dist/src/accounts/kernel.d.ts.map +0 -1
  519. package/dist/src/accounts/kernel.js +0 -272
  520. package/dist/src/accounts/nexus.d.ts +0 -33
  521. package/dist/src/accounts/nexus.d.ts.map +0 -1
  522. package/dist/src/accounts/nexus.js +0 -444
  523. package/dist/src/accounts/safe.d.ts +0 -33
  524. package/dist/src/accounts/safe.d.ts.map +0 -1
  525. package/dist/src/accounts/safe.js +0 -343
  526. package/dist/src/accounts/signing/common.d.ts +0 -32
  527. package/dist/src/accounts/signing/common.d.ts.map +0 -1
  528. package/dist/src/accounts/signing/common.js +0 -184
  529. package/dist/src/accounts/signing/message.d.ts +0 -7
  530. package/dist/src/accounts/signing/message.d.ts.map +0 -1
  531. package/dist/src/accounts/signing/message.js +0 -45
  532. package/dist/src/accounts/signing/passkeys.d.ts +0 -36
  533. package/dist/src/accounts/signing/passkeys.d.ts.map +0 -1
  534. package/dist/src/accounts/signing/passkeys.js +0 -119
  535. package/dist/src/accounts/signing/typedData.d.ts +0 -5
  536. package/dist/src/accounts/signing/typedData.d.ts.map +0 -1
  537. package/dist/src/accounts/signing/typedData.js +0 -33
  538. package/dist/src/accounts/startale.d.ts +0 -26
  539. package/dist/src/accounts/startale.d.ts.map +0 -1
  540. package/dist/src/accounts/startale.js +0 -191
  541. package/dist/src/accounts/utils.d.ts +0 -33
  542. package/dist/src/accounts/utils.d.ts.map +0 -1
  543. package/dist/src/accounts/utils.js +0 -202
  544. package/dist/src/auth/provider.d.ts +0 -7
  545. package/dist/src/auth/provider.d.ts.map +0 -1
  546. package/dist/src/auth/provider.js +0 -38
  547. package/dist/src/execution/compact.d.ts +0 -5
  548. package/dist/src/execution/compact.d.ts.map +0 -1
  549. package/dist/src/execution/compact.js +0 -4
  550. package/dist/src/execution/error.d.ts.map +0 -1
  551. package/dist/src/execution/error.js +0 -85
  552. package/dist/src/execution/index.d.ts +0 -42
  553. package/dist/src/execution/index.d.ts.map +0 -1
  554. package/dist/src/execution/index.js +0 -202
  555. package/dist/src/execution/utils.d.ts +0 -127
  556. package/dist/src/execution/utils.d.ts.map +0 -1
  557. package/dist/src/execution/utils.js +0 -1116
  558. package/dist/src/modules/abi/smart-sessions.d.ts +0 -104
  559. package/dist/src/modules/abi/smart-sessions.d.ts.map +0 -1
  560. package/dist/src/modules/abi/smart-sessions.js +0 -128
  561. package/dist/src/modules/chain-abstraction.d.ts +0 -5
  562. package/dist/src/modules/chain-abstraction.d.ts.map +0 -1
  563. package/dist/src/modules/chain-abstraction.js +0 -3
  564. package/dist/src/modules/common.d.ts +0 -30
  565. package/dist/src/modules/common.d.ts.map +0 -1
  566. package/dist/src/modules/common.js +0 -30
  567. package/dist/src/modules/index.d.ts +0 -11
  568. package/dist/src/modules/index.d.ts.map +0 -1
  569. package/dist/src/modules/index.js +0 -90
  570. package/dist/src/modules/legacy.d.ts +0 -10
  571. package/dist/src/modules/legacy.d.ts.map +0 -1
  572. package/dist/src/modules/legacy.js +0 -62
  573. package/dist/src/modules/read.d.ts +0 -10
  574. package/dist/src/modules/read.d.ts.map +0 -1
  575. package/dist/src/modules/read.js +0 -171
  576. package/dist/src/modules/validators/core.d.ts +0 -31
  577. package/dist/src/modules/validators/core.d.ts.map +0 -1
  578. package/dist/src/modules/validators/core.js +0 -266
  579. package/dist/src/modules/validators/index.d.ts +0 -4
  580. package/dist/src/modules/validators/index.d.ts.map +0 -1
  581. package/dist/src/modules/validators/index.js +0 -3
  582. package/dist/src/modules/validators/smart-sessions.d.ts +0 -196
  583. package/dist/src/modules/validators/smart-sessions.d.ts.map +0 -1
  584. package/dist/src/modules/validators/smart-sessions.js +0 -772
  585. package/dist/src/orchestrator/caip2.d.ts +0 -13
  586. package/dist/src/orchestrator/caip2.d.ts.map +0 -1
  587. package/dist/src/orchestrator/caip2.js +0 -52
  588. package/dist/src/orchestrator/client.d.ts +0 -29
  589. package/dist/src/orchestrator/client.d.ts.map +0 -1
  590. package/dist/src/orchestrator/client.js +0 -293
  591. package/dist/src/orchestrator/consts.d.ts +0 -6
  592. package/dist/src/orchestrator/consts.d.ts.map +0 -1
  593. package/dist/src/orchestrator/consts.js +0 -5
  594. package/dist/src/orchestrator/destinations.d.ts.map +0 -1
  595. package/dist/src/orchestrator/destinations.js +0 -36
  596. package/dist/src/orchestrator/error.d.ts +0 -97
  597. package/dist/src/orchestrator/error.d.ts.map +0 -1
  598. package/dist/src/orchestrator/error.js +0 -173
  599. package/dist/src/orchestrator/index.d.ts +0 -12
  600. package/dist/src/orchestrator/index.d.ts.map +0 -1
  601. package/dist/src/orchestrator/index.js +0 -10
  602. package/dist/src/orchestrator/registry.d.ts +0 -17
  603. package/dist/src/orchestrator/registry.d.ts.map +0 -1
  604. package/dist/src/orchestrator/registry.js +0 -100
  605. package/dist/src/orchestrator/types.d.ts.map +0 -1
  606. package/dist/src/orchestrator/types.js +0 -15
  607. package/dist/src/orchestrator/utils.d.ts +0 -3
  608. package/dist/src/orchestrator/utils.d.ts.map +0 -1
  609. package/dist/src/orchestrator/utils.js +0 -22
  610. package/dist/src/types.d.ts +0 -466
  611. package/dist/src/types.d.ts.map +0 -1
  612. package/dist/src/utils/walletClient.d.ts +0 -34
  613. package/dist/src/utils/walletClient.d.ts.map +0 -1
  614. package/dist/src/utils/walletClient.js +0 -117
  615. /package/dist/src/{types.js → accounts/adapter.js} +0 -0
@@ -1,189 +1,134 @@
1
- import { createPublicClient, } from 'viem';
2
- import { getModuleInstallationCalls } from '../accounts/index.js';
3
- import { createTransport } from '../accounts/json-rpc/index.js';
4
- import { resolveCallInputs } from '../execution/utils.js';
5
- import { getSocialRecoveryValidator, OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, } from '../modules/validators/core.js';
6
- import { addOwner, changeThreshold, removeOwner } from './ecdsa.js';
7
- import { addOwner as addPasskeyOwner, changeThreshold as changePasskeyThreshold, removeOwner as removePasskeyOwner, } from './passkeys.js';
1
+ import { isAddressEqual } from 'viem';
2
+ import { OWNABLE_VALIDATOR_ADDRESS } from '../modules/validators/ownable.js';
3
+ import { resolveSocialRecoveryValidator } from '../modules/validators/social-recovery.js';
4
+ import { parseWebauthnPublicKey, WEBAUTHN_VALIDATOR_ADDRESS, } from '../modules/validators/webauthn.js';
5
+ import { addOwnableOwner, changeOwnableThreshold, removeOwnableOwner, } from './ownable.js';
6
+ import { readOwnershipFor, readThresholdFor, resolveValidatorInstallation, } from './runtime.js';
7
+ import { addWebauthnCredential, changeWebauthnThreshold, removeWebauthnCredential, } from './webauthn.js';
8
+ /** Sentinel head of the validator's owner linked list. */
9
+ const SENTINEL_OWNER = '0x0000000000000000000000000000000000000001';
8
10
  /**
9
- * Set up social recovery
10
- * @param guardians Guardians to use for recovery
11
- * @param threshold Threshold for the guardians
12
- * @returns Calls to set up social recovery
11
+ * Set up social recovery.
12
+ *
13
+ * @param guardians Guardians permitted to recover the account
14
+ * @param threshold Guardian signatures required to recover
15
+ * @returns Calls to install the social recovery validator
13
16
  */
14
17
  function enable(guardians, threshold = 1) {
15
- const module = getSocialRecoveryValidator(guardians, threshold);
18
+ const module = resolveSocialRecoveryValidator({
19
+ guardians: guardians.map((guardian) => guardian.address),
20
+ threshold,
21
+ });
16
22
  return {
17
- async resolve({ config }) {
18
- return getModuleInstallationCalls(config, module);
23
+ async resolve(context) {
24
+ return resolveValidatorInstallation(context, module);
19
25
  },
20
26
  };
21
27
  }
22
28
  /**
23
- * Recover an account's ownership (ECDSA)
24
- * @param address Account address
25
- * @param newOwners New owners
26
- * @param chain Chain to recover ownership on
27
- * @param provider Provider to use for the recovery
28
- * @returns Calls to recover ownership
29
+ * Build the calls that rotate an account's ECDSA ownership.
30
+ *
31
+ * Send each returned call as its own UserOperation, in order: the social
32
+ * recovery validator authorizes a single `execute` per UserOperation, so
33
+ * batching them is rejected onchain.
34
+ *
35
+ * Ownership is only fully rotated once every call has landed. Until the
36
+ * removals execute the previous owners stay valid alongside the new ones.
37
+ *
38
+ * @returns Calls to recover ownership, in the order they must be sent
29
39
  */
30
- async function recoverEcdsaOwnership(address, newOwners, chain, config) {
31
- const publicClient = createPublicClient({
32
- chain,
33
- transport: createTransport(chain, config.provider),
34
- });
35
- // Read the existing config
36
- const results = await publicClient.multicall({
37
- contracts: [
38
- {
39
- address: OWNABLE_VALIDATOR_ADDRESS,
40
- abi: [
41
- {
42
- inputs: [
43
- { internalType: 'address', name: 'account', type: 'address' },
44
- ],
45
- name: 'getOwners',
46
- outputs: [
47
- {
48
- internalType: 'address[]',
49
- name: 'ownersArray',
50
- type: 'address[]',
51
- },
52
- ],
53
- stateMutability: 'view',
54
- type: 'function',
55
- },
56
- ],
57
- functionName: 'getOwners',
58
- args: [address],
59
- },
60
- {
61
- address: OWNABLE_VALIDATOR_ADDRESS,
62
- abi: [
63
- {
64
- inputs: [
65
- { internalType: 'address', name: 'account', type: 'address' },
66
- ],
67
- name: 'threshold',
68
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
69
- stateMutability: 'view',
70
- type: 'function',
71
- },
72
- ],
73
- functionName: 'threshold',
74
- args: [address],
75
- },
76
- ],
77
- });
78
- const existingOwnersResult = results[0];
79
- const existingThresholdResult = results[1];
80
- if (existingOwnersResult.error || existingThresholdResult.error) {
81
- throw new Error('Failed to read existing owners or threshold');
40
+ async function recoverEcdsaOwnership(options) {
41
+ const configuredValidator = options.config.owners?.type === 'ecdsa'
42
+ ? (options.config.owners.module ?? OWNABLE_VALIDATOR_ADDRESS)
43
+ : undefined;
44
+ const requestedValidator = options.newOwners.module;
45
+ if (configuredValidator &&
46
+ requestedValidator &&
47
+ !isAddressEqual(configuredValidator, requestedValidator)) {
48
+ throw new Error('Recovery owner validator must match the configured owner validator');
82
49
  }
83
- const existingOwners = existingOwnersResult.result;
84
- const existingThreshold = existingThresholdResult.result;
85
- const normalizedExistingOwners = existingOwners.map((owner) => owner.toLowerCase());
86
- const callInputs = [];
87
- // Convert new owners config to addresses and threshold
88
- const newOwnerAddresses = newOwners.accounts
50
+ const validator = configuredValidator ?? requestedValidator ?? OWNABLE_VALIDATOR_ADDRESS;
51
+ const existing = await readOwnershipFor(options, options.accountAddress, validator);
52
+ const newOwners = options.newOwners.accounts
89
53
  .map((account) => account.address.toLowerCase())
90
54
  .sort();
91
- const newThreshold = newOwners.threshold ?? 1;
92
- // Check if threshold needs to be updated
93
- if (Number(existingThreshold) !== newThreshold) {
94
- callInputs.push(changeThreshold(newThreshold));
95
- }
96
- const ownersToAdd = newOwnerAddresses.filter((owner) => !normalizedExistingOwners.includes(owner));
97
- const ownersToRemove = normalizedExistingOwners.filter((owner) => !newOwnerAddresses.includes(owner));
98
- // Maintain the list as making changes to keep track of the previous owner for removals
99
- // Note: new owners are added to the START of the linked list
100
- let currentOwners = [...normalizedExistingOwners];
55
+ const newThreshold = options.newOwners.threshold ?? 1;
56
+ const ownersToAdd = newOwners.filter((owner) => !existing.owners.includes(owner));
57
+ const ownersToRemove = existing.owners.filter((owner) => !newOwners.includes(owner));
58
+ const calls = [];
59
+ // Additions run first so the owner count already covers the new threshold:
60
+ // `setThreshold` reverts while `ownerCount < threshold`. Removals run last
61
+ // for the same reason, since `removeOwner` reverts once the count would drop
62
+ // to the threshold.
63
+ let currentOwners = [...existing.owners];
101
64
  for (const owner of ownersToAdd) {
102
- callInputs.push(addOwner(owner));
65
+ calls.push(addOwnableOwner(validator, owner));
66
+ // The validator pushes new owners onto the front of the linked list.
103
67
  currentOwners.unshift(owner);
104
68
  }
105
- for (const ownerToRemove of ownersToRemove) {
106
- const ownerIndex = currentOwners.indexOf(ownerToRemove);
107
- let prevOwner;
108
- if (ownerIndex === 0) {
109
- // If it's the first owner, use the sentinel address
110
- prevOwner = '0x0000000000000000000000000000000000000001';
111
- }
112
- else {
113
- prevOwner = currentOwners[ownerIndex - 1];
114
- }
115
- callInputs.push(removeOwner(prevOwner, ownerToRemove));
116
- currentOwners = currentOwners.filter((owner) => owner !== ownerToRemove);
69
+ if (existing.threshold !== newThreshold) {
70
+ calls.push(changeOwnableThreshold(validator, newThreshold));
71
+ }
72
+ for (const owner of ownersToRemove) {
73
+ const index = currentOwners.indexOf(owner);
74
+ const prevOwner = index <= 0 ? SENTINEL_OWNER : currentOwners[index - 1];
75
+ calls.push(removeOwnableOwner(validator, prevOwner, owner));
76
+ currentOwners = currentOwners.filter((entry) => entry !== owner);
117
77
  }
118
- const calls = await resolveCallInputs(callInputs, config, chain, address);
119
78
  return calls;
120
79
  }
121
80
  /**
122
- * Recover an account's ownership (Passkey)
123
- * @param address Account address
124
- * @param oldCredentials Old credentials to be replaced (with pubKeyX, pubKeyY)
125
- * @param newOwners New passkey owners
126
- * @param chain Chain to recover ownership on
127
- * @param provider Provider to use for the recovery
128
- * @returns Calls to recover ownership
81
+ * Build the calls that rotate an account's passkey ownership.
82
+ *
83
+ * Send each returned call as its own UserOperation, in order: the social
84
+ * recovery validator authorizes a single `execute` per UserOperation, so
85
+ * batching them is rejected onchain.
86
+ *
87
+ * Ownership is only fully rotated once every call has landed. Until the
88
+ * removals execute the previous credentials stay valid alongside the new ones.
89
+ *
90
+ * @returns Calls to recover ownership, in the order they must be sent
129
91
  */
130
- async function recoverPasskeyOwnership(address, oldCredentials, newOwners, chain, config) {
131
- const publicClient = createPublicClient({
132
- chain,
133
- transport: createTransport(chain, config.provider),
134
- });
135
- const existingThreshold = await publicClient.readContract({
136
- address: WEBAUTHN_VALIDATOR_ADDRESS,
137
- abi: [
138
- {
139
- inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
140
- name: 'threshold',
141
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
142
- stateMutability: 'view',
143
- type: 'function',
144
- },
145
- ],
146
- functionName: 'threshold',
147
- args: [address],
148
- });
149
- const callInputs = [];
150
- // Convert new owners config to credentials and threshold
151
- const newCredentials = newOwners.accounts.map((account) => {
152
- const publicKey = account.publicKey;
153
- // Parse the public key hex string to extract x and y coordinates
154
- const publicKeyBytes = publicKey.startsWith('0x')
155
- ? publicKey.slice(2)
156
- : publicKey;
157
- // The public key is 64 bytes: 32 bytes for x, 32 bytes for y
158
- const x = BigInt(`0x${publicKeyBytes.slice(0, 64)}`);
159
- const y = BigInt(`0x${publicKeyBytes.slice(64, 128)}`);
160
- return {
161
- pubKeyX: x,
162
- pubKeyY: y,
163
- requireUV: false, // Default to false for now
164
- };
92
+ async function recoverPasskeyOwnership(options) {
93
+ const configuredValidator = options.config.owners?.type === 'passkey'
94
+ ? (options.config.owners.module ?? WEBAUTHN_VALIDATOR_ADDRESS)
95
+ : undefined;
96
+ const requestedValidator = options.newOwners.module;
97
+ if (configuredValidator &&
98
+ requestedValidator &&
99
+ !isAddressEqual(configuredValidator, requestedValidator)) {
100
+ throw new Error('Recovery owner validator must match the configured owner validator');
101
+ }
102
+ const validator = configuredValidator ?? requestedValidator ?? WEBAUTHN_VALIDATOR_ADDRESS;
103
+ const existingThreshold = await readThresholdFor(options, options.accountAddress, validator);
104
+ const newCredentials = options.newOwners.accounts.map((account) => {
105
+ // Must go through the shared parser: uncompressed SEC1 keys are 65 bytes
106
+ // with an 0x04 prefix, and slicing from byte 0 shifts both coordinates.
107
+ const { x, y } = parseWebauthnPublicKey(account.publicKey);
108
+ return { pubKeyX: x, pubKeyY: y, requireUV: false };
165
109
  });
166
- const newThreshold = newOwners.threshold ?? 1;
167
- // Check if threshold needs to be updated
168
- if (Number(existingThreshold) !== newThreshold) {
169
- callInputs.push(changePasskeyThreshold(newThreshold));
110
+ const newThreshold = options.newOwners.threshold ?? 1;
111
+ const currentKeys = options.currentCredentials.map(credentialKey);
112
+ const newKeys = newCredentials.map(credentialKey);
113
+ const credentialsToAdd = newCredentials.filter((credential) => !currentKeys.includes(credentialKey(credential)));
114
+ const credentialsToRemove = options.currentCredentials.filter((credential) => !newKeys.includes(credentialKey(credential)));
115
+ const calls = [];
116
+ // Additions run first so the credential count already covers the new
117
+ // threshold: `setThreshold` reverts while `credentials < threshold`, and
118
+ // `removeCredential` reverts once the count would reach the threshold.
119
+ // Rotating the sole credential of a 1-of-1 account is impossible otherwise.
120
+ for (const credential of credentialsToAdd) {
121
+ calls.push(addWebauthnCredential(validator, credential.pubKeyX, credential.pubKeyY, credential.requireUV));
170
122
  }
171
- // Compare existing and new credentials to determine what to add/remove
172
- const existingCredentialKeys = oldCredentials.map((cred) => `${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`);
173
- const newCredentialKeys = newCredentials.map((cred) => `${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`);
174
- // Find credentials to add (new ones not in existing)
175
- const credentialsToAdd = newCredentials.filter((cred) => !existingCredentialKeys.includes(`${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`));
176
- // Find credentials to remove (existing ones not in new)
177
- const credentialsToRemove = oldCredentials.filter((cred) => !newCredentialKeys.includes(`${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`));
178
- // Remove old credentials first (important for security in recovery scenarios)
179
- for (const credential of credentialsToRemove) {
180
- callInputs.push(removePasskeyOwner(credential.pubKeyX, credential.pubKeyY));
123
+ if (existingThreshold !== newThreshold) {
124
+ calls.push(changeWebauthnThreshold(validator, newThreshold));
181
125
  }
182
- // Then add new credentials
183
- for (const credential of credentialsToAdd) {
184
- callInputs.push(addPasskeyOwner(credential.pubKeyX, credential.pubKeyY, credential.requireUV));
126
+ for (const credential of credentialsToRemove) {
127
+ calls.push(removeWebauthnCredential(validator, credential.pubKeyX, credential.pubKeyY));
185
128
  }
186
- const calls = await resolveCallInputs(callInputs, config, chain, address);
187
129
  return calls;
188
130
  }
131
+ function credentialKey(credential) {
132
+ return `${credential.pubKeyX}-${credential.pubKeyY}`;
133
+ }
189
134
  export { enable, recoverEcdsaOwnership, recoverPasskeyOwnership };
@@ -0,0 +1,17 @@
1
+ import type { CalldataInput, CallResolveContext, Session } from '../config/account.js';
2
+ import type { ResolvedModule } from '../modules/types.js';
3
+ export declare function readOwnershipFor(context: CallResolveContext, account: `0x${string}`, validator: `0x${string}`): Promise<{
4
+ readonly owners: readonly `0x${string}`[];
5
+ threshold: number;
6
+ }>;
7
+ export declare function readThresholdFor(context: CallResolveContext, account: `0x${string}`, validator: `0x${string}`): Promise<number>;
8
+ export declare function resolveValidatorInstallation(context: CallResolveContext, module: ResolvedModule): Promise<CalldataInput[]>;
9
+ export declare function resolveModuleInstallation(context: CallResolveContext, module: ResolvedModule): Promise<CalldataInput[]>;
10
+ export declare function resolveModuleUninstallation(context: CallResolveContext, module: ResolvedModule): Promise<CalldataInput[]>;
11
+ export declare function resolveSessionDisable(input: {
12
+ readonly context: CallResolveContext;
13
+ readonly account: `0x${string}`;
14
+ readonly session: Session;
15
+ readonly expires?: Date;
16
+ }): Promise<CalldataInput>;
17
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../actions/runtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,OAAO,EACR,MAAM,mBAAmB,CAAA;AAU1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAyEtD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,EACtB,SAAS,EAAE,KAAK,MAAM,EAAE,GACvB,OAAO,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAW3E;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,EACtB,SAAS,EAAE,KAAK,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC,CA4C1B;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC,CAM1B;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,aAAa,EAAE,CAAC,CA2B1B;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CACxB,GAAG,OAAO,CAAC,aAAa,CAAC,CAwBzB"}
@@ -0,0 +1,182 @@
1
+ import { encodeFunctionData, maxUint256, size } from 'viem';
2
+ import { createAccountConstruction } from '../accounts/construction.js';
3
+ import { DefaultValidatorAlreadyInitializedError } from '../accounts/error.js';
4
+ import { createAccountAdapter } from '../accounts/registry.js';
5
+ import { materializeRpcReader } from '../clients/rpc/compatibility.js';
6
+ import { resolveStandaloneAccountConfig } from '../config/resolve.js';
7
+ import { assertAccountOwnersConfigured } from '../config/validate.js';
8
+ import { encodeAccountModuleDeInitData, readInstalledModules, readValidatorInitialized, readValidatorOwnership, readValidatorThreshold, } from '../modules/read-core.js';
9
+ import { OWNABLE_VALIDATOR_ADDRESS } from '../modules/validators/ownable.js';
10
+ import { SESSION_LOCK_TAG } from '../modules/validators/smart-sessions/authorization.js';
11
+ import { encodeDisableSessionCall } from '../modules/validators/smart-sessions/calls.js';
12
+ import { readSessionNonce } from '../modules/validators/smart-sessions/state.js';
13
+ function actionContext(context) {
14
+ const resolved = resolveStandaloneAccountConfig(context.config, 'current-v2');
15
+ assertAccountOwnersConfigured(resolved);
16
+ const module = resolved.sessions.module.source === 'explicit'
17
+ ? resolved.sessions.module.address
18
+ : undefined;
19
+ const compatibilityFallback = resolved.sessions.compatibilityFallback.source === 'explicit'
20
+ ? resolved.sessions.compatibilityFallback.address
21
+ : undefined;
22
+ const chain = {
23
+ kind: 'evm',
24
+ id: context.chain.id,
25
+ caip2: `eip155:${context.chain.id}`,
26
+ };
27
+ const construction = createAccountConstruction({
28
+ material: {
29
+ account: resolved.account,
30
+ ...(resolved.owners ? { owner: resolved.owners } : {}),
31
+ modules: resolved.modules,
32
+ ...(resolved.initData ? { initData: resolved.initData } : {}),
33
+ ...(resolved.eoa ? { eoa: resolved.eoa } : {}),
34
+ sessions: {
35
+ enabled: resolved.sessions.enabled,
36
+ environment: context.config.useDevContracts === true
37
+ ? 'development'
38
+ : 'production',
39
+ ...(module ? { module } : {}),
40
+ ...(compatibilityFallback ? { compatibilityFallback } : {}),
41
+ },
42
+ },
43
+ chain,
44
+ deployed: false,
45
+ });
46
+ const adapter = createAccountAdapter(construction);
47
+ return {
48
+ resolved,
49
+ construction,
50
+ adapter,
51
+ address: adapter.getIdentity(construction).address,
52
+ };
53
+ }
54
+ function calls(target, encoded) {
55
+ return encoded.map((data) => ({ to: target, value: 0n, data }));
56
+ }
57
+ function defaultValidatorConfigured(context, validator) {
58
+ return (!context.resolved.initData &&
59
+ context.construction.setup.validators.some((module) => module.address.toLowerCase() === validator.toLowerCase() &&
60
+ size(module.initData) > 0));
61
+ }
62
+ export async function readOwnershipFor(context, account, validator) {
63
+ const reader = materializeRpcReader({
64
+ chain: context.chain,
65
+ provider: context.config.provider,
66
+ });
67
+ return readValidatorOwnership({
68
+ rpc: reader.rpc,
69
+ chain: reader.chain,
70
+ account,
71
+ validator,
72
+ });
73
+ }
74
+ export async function readThresholdFor(context, account, validator) {
75
+ const reader = materializeRpcReader({
76
+ chain: context.chain,
77
+ provider: context.config.provider,
78
+ });
79
+ return readValidatorThreshold({
80
+ rpc: reader.rpc,
81
+ chain: reader.chain,
82
+ account,
83
+ validator,
84
+ });
85
+ }
86
+ export async function resolveValidatorInstallation(context, module) {
87
+ const runtime = actionContext(context);
88
+ if (runtime.construction.account.kind === 'nexus') {
89
+ const defaultValidator = OWNABLE_VALIDATOR_ADDRESS;
90
+ if (module.address.toLowerCase() === defaultValidator.toLowerCase()) {
91
+ let initialized = defaultValidatorConfigured(runtime, defaultValidator);
92
+ if (!initialized) {
93
+ const reader = materializeRpcReader({
94
+ chain: context.chain,
95
+ provider: context.config.provider,
96
+ });
97
+ initialized = await readValidatorInitialized({
98
+ rpc: reader.rpc,
99
+ chain: reader.chain,
100
+ account: runtime.address,
101
+ validator: defaultValidator,
102
+ });
103
+ }
104
+ if (initialized)
105
+ throw new DefaultValidatorAlreadyInitializedError();
106
+ return [
107
+ {
108
+ to: defaultValidator,
109
+ value: 0n,
110
+ data: encodeFunctionData({
111
+ abi: [
112
+ {
113
+ type: 'function',
114
+ name: 'onInstall',
115
+ inputs: [{ type: 'bytes', name: 'data' }],
116
+ outputs: [],
117
+ stateMutability: 'nonpayable',
118
+ },
119
+ ],
120
+ functionName: 'onInstall',
121
+ args: [module.initData],
122
+ }),
123
+ },
124
+ ];
125
+ }
126
+ }
127
+ return calls(runtime.address, runtime.adapter.encodeModuleInstallation(module));
128
+ }
129
+ export async function resolveModuleInstallation(context, module) {
130
+ const runtime = actionContext(context);
131
+ return calls(runtime.address, runtime.adapter.encodeModuleInstallation(module));
132
+ }
133
+ export async function resolveModuleUninstallation(context, module) {
134
+ const runtime = actionContext(context);
135
+ let deInitData = module.deInitData;
136
+ if (module.kind === 'validator' &&
137
+ ['nexus', 'safe', 'startale'].includes(runtime.construction.account.kind)) {
138
+ const reader = materializeRpcReader({
139
+ chain: context.chain,
140
+ provider: context.config.provider,
141
+ });
142
+ const installed = await readInstalledModules({
143
+ rpc: reader.rpc,
144
+ chain: reader.chain,
145
+ accountKind: runtime.construction.account.kind,
146
+ account: runtime.address,
147
+ kind: 'validator',
148
+ });
149
+ deInitData = encodeAccountModuleDeInitData({
150
+ accountKind: runtime.construction.account.kind,
151
+ module,
152
+ installed,
153
+ });
154
+ }
155
+ return calls(runtime.address, [
156
+ runtime.adapter.encodeModuleUninstallation({ ...module, deInitData }),
157
+ ]);
158
+ }
159
+ export async function resolveSessionDisable(input) {
160
+ const reader = materializeRpcReader({
161
+ chain: input.session.chain,
162
+ provider: input.context.config.provider,
163
+ });
164
+ const runtimeEnvironment = input.context.config.useDevContracts === true ? 'development' : 'production';
165
+ const nonce = await readSessionNonce({
166
+ rpc: reader.rpc,
167
+ chain: reader.chain,
168
+ account: input.account,
169
+ lockTag: SESSION_LOCK_TAG,
170
+ environment: runtimeEnvironment,
171
+ });
172
+ const call = encodeDisableSessionCall({
173
+ account: input.account,
174
+ session: input.session,
175
+ expires: input.expires
176
+ ? BigInt(Math.floor(input.expires.getTime() / 1000))
177
+ : maxUint256,
178
+ nonce,
179
+ environment: runtimeEnvironment,
180
+ });
181
+ return { to: call.target, value: call.value, data: call.data };
182
+ }
@@ -1,23 +1,47 @@
1
1
  import type { Hex } from 'viem';
2
- import type { LazyCallInput, SessionInput } from '../types.js';
2
+ import type { LazyCallInput, Session } from '../config/account.js';
3
3
  /**
4
4
  * Enable smart sessions
5
5
  * @returns Calls to enable smart sessions
6
6
  */
7
- declare function experimental_enable(): LazyCallInput;
7
+ declare function enable(): LazyCallInput;
8
8
  /**
9
9
  * Disable smart sessions
10
10
  * @returns Calls to disable smart sessions
11
11
  */
12
- declare function experimental_disable(): LazyCallInput;
12
+ declare function disable(): LazyCallInput;
13
13
  /**
14
14
  * Enable a smart session
15
- * @param session session to enable
15
+ *
16
+ * The `session` must be a resolved `Session` (the return value of
17
+ * `toSession(...)`). Re-resolving it here would drop the explicit
18
+ * `permissions` — a `Session` only carries the derived `actions`, not the
19
+ * original `SessionDefinition.permissions` — which makes the on-chain digest
20
+ * computed by `SmartSessionLens.getAndVerifyDigest` diverge from the one
21
+ * signed in `getSessionDetails`, causing the emissary to reject the enable.
22
+ *
23
+ * @param session resolved session to enable
16
24
  * @returns Calls to enable the smart session
17
25
  */
18
- declare function experimental_enableSession(session: SessionInput, enableSessionSignature: Hex, hashesAndChainIds: {
26
+ declare function enableSession(session: Session, enableSessionSignature: Hex, hashesAndChainIds: {
19
27
  chainId: bigint;
20
28
  sessionDigest: Hex;
21
29
  }[], sessionToEnableIndex: number): LazyCallInput;
22
- export { experimental_disable, experimental_enable, experimental_enableSession };
30
+ /**
31
+ * Disable a smart session
32
+ *
33
+ * Removes a single session from the smart-session emissary via `removeConfig`.
34
+ * The account executes the call itself, so the emissary skips the disable
35
+ * user-signature — the user authorizes it by signing the outer transaction as
36
+ * usual (no separate, blind session-digest signature). The `session` must be a
37
+ * resolved `Session` (the return value of `toSession(...)`) on the chain where
38
+ * the session is being disabled.
39
+ *
40
+ * @param session resolved session to disable
41
+ * @param expires optional deadline after which this disable call is no longer
42
+ * valid; must be in the future. Omit for no expiry.
43
+ * @returns Calls to disable the smart session
44
+ */
45
+ declare function disableSession(session: Session, expires?: Date): LazyCallInput;
46
+ export { disable, disableSession, enable, enableSession };
23
47
  //# sourceMappingURL=smart-sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../actions/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAU/B,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE3D;;;GAGG;AACH,iBAAS,mBAAmB,IAAI,aAAa,CAU5C;AAED;;;GAGG;AACH,iBAAS,oBAAoB,IAAI,aAAa,CAU7C;AAED;;;;GAIG;AACH,iBAAS,0BAA0B,CACjC,OAAO,EAAE,YAAY,EACrB,sBAAsB,EAAE,GAAG,EAC3B,iBAAiB,EAAE;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB,EAAE,EACH,oBAAoB,EAAE,MAAM,GAC3B,aAAa,CAmBf;AAED,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,CAAA"}
1
+ {"version":3,"file":"smart-sessions.d.ts","sourceRoot":"","sources":["../../../actions/smart-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAwB/D;;;GAGG;AACH,iBAAS,MAAM,IAAI,aAAa,CAU/B;AAED;;;GAGG;AACH,iBAAS,OAAO,IAAI,aAAa,CAUhC;AAED;;;;;;;;;;;;GAYG;AACH,iBAAS,aAAa,CACpB,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,GAAG,EAC3B,iBAAiB,EAAE;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,GAAG,CAAA;CACnB,EAAE,EACH,oBAAoB,EAAE,MAAM,GAC3B,aAAa,CAcf;AAED;;;;;;;;;;;;;;GAcG;AACH,iBAAS,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,aAAa,CAWvE;AAED,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA"}