@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
@@ -2,7 +2,7 @@
2
2
  * RFC 8785 JSON Canonicalization Scheme (JCS).
3
3
  *
4
4
  * Produces a deterministic JSON serialization by:
5
- * 1. Sorting object keys lexicographically (Unicode code-point order)
5
+ * 1. Sorting object keys lexicographically (UTF-16 code-unit order, per RFC 8785 §3.2.3)
6
6
  * 2. Using ES2015+ `JSON.stringify` number serialization (IEEE 754 → shortest round-trip)
7
7
  * 3. No whitespace
8
8
  *
@@ -43,7 +43,9 @@ function serialize(value) {
43
43
  const items = value.map((item) => serialize(item));
44
44
  return `[${items.join(',')}]`;
45
45
  }
46
- // Object — sort keys by Unicode code-point order
46
+ // Object — sort keys by UTF-16 code-unit order (RFC 8785 §3.2.3).
47
+ // Native String comparison already orders by UTF-16 code unit, which is
48
+ // exactly what JCS mandates — do not replace with a code-point comparator.
47
49
  const obj = value;
48
50
  const keys = Object.keys(obj).sort();
49
51
  const members = [];
@@ -0,0 +1,4 @@
1
+ import type { ModuleKind } from './types.js';
2
+ export type ModuleTypeId = 1n | 2n | 3n | 4n;
3
+ export declare function moduleTypeId(kind: ModuleKind): ModuleTypeId;
4
+ //# sourceMappingURL=erc7579-abi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc7579-abi.d.ts","sourceRoot":"","sources":["../../../modules/erc7579-abi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,MAAM,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAE5C,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAW3D"}
@@ -0,0 +1,12 @@
1
+ export function moduleTypeId(kind) {
2
+ switch (kind) {
3
+ case 'validator':
4
+ return 1n;
5
+ case 'executor':
6
+ return 2n;
7
+ case 'fallback':
8
+ return 3n;
9
+ case 'hook':
10
+ return 4n;
11
+ }
12
+ }
@@ -0,0 +1,6 @@
1
+ import type { Address } from 'viem';
2
+ import type { ResolvedModule } from './types.js';
3
+ export declare const INTENT_EXECUTOR_ADDRESS: Address;
4
+ export declare const INTENT_EXECUTOR_ADDRESS_DEV: Address;
5
+ export declare function getIntentExecutorModule(environment: 'production' | 'development'): ResolvedModule;
6
+ //# sourceMappingURL=intent-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-executor.d.ts","sourceRoot":"","sources":["../../../modules/intent-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,eAAO,MAAM,uBAAuB,EAAE,OACQ,CAAA;AAC9C,eAAO,MAAM,2BAA2B,EAAE,OACI,CAAA;AAE9C,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,YAAY,GAAG,aAAa,GACxC,cAAc,CAWhB"}
@@ -0,0 +1,13 @@
1
+ export const INTENT_EXECUTOR_ADDRESS = '0x00000000005aD9ce1f5035FD62CA96CEf16AdAAF';
2
+ export const INTENT_EXECUTOR_ADDRESS_DEV = '0xbf9b5b917a83f8adac17b0752846d41d8d7b7e17';
3
+ export function getIntentExecutorModule(environment) {
4
+ return {
5
+ kind: 'executor',
6
+ address: environment === 'development'
7
+ ? INTENT_EXECUTOR_ADDRESS_DEV
8
+ : INTENT_EXECUTOR_ADDRESS,
9
+ initData: '0x',
10
+ deInitData: '0x',
11
+ additionalContext: '0x',
12
+ };
13
+ }
@@ -0,0 +1,29 @@
1
+ import { type Address, type Hex } from 'viem';
2
+ import type { ModuleSetup, ResolvedModule } from './types.js';
3
+ declare const MODULE_TYPE_ID_VALIDATOR = 1n;
4
+ declare const MODULE_TYPE_ID_EXECUTOR = 2n;
5
+ declare const MODULE_TYPE_ID_FALLBACK = 3n;
6
+ declare const MODULE_TYPE_ID_HOOK = 4n;
7
+ export type ModuleTypeId = typeof MODULE_TYPE_ID_VALIDATOR | typeof MODULE_TYPE_ID_EXECUTOR | typeof MODULE_TYPE_ID_FALLBACK | typeof MODULE_TYPE_ID_HOOK;
8
+ export interface Module {
9
+ address: Address;
10
+ initData: Hex;
11
+ deInitData: Hex;
12
+ additionalContext: Hex;
13
+ type: ModuleTypeId;
14
+ }
15
+ export interface ModeleSetup {
16
+ validators: Module[];
17
+ executors: Module[];
18
+ fallbacks: Module[];
19
+ hooks: Module[];
20
+ }
21
+ export declare function toLegacyModule(module: ResolvedModule): Module;
22
+ export declare function toLegacyModuleSetup(setup: ModuleSetup): ModeleSetup;
23
+ export declare function getV0Attesters(): {
24
+ readonly addresses: readonly `0x${string}`[];
25
+ readonly threshold: number;
26
+ };
27
+ export declare function planV0ModuleSetup(setup: ModuleSetup): ModuleSetup;
28
+ export {};
29
+ //# sourceMappingURL=legacy-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-core.d.ts","sourceRoot":"","sources":["../../../modules/legacy-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAClE,OAAO,KAAK,EAAc,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAKtE,QAAA,MAAM,wBAAwB,KAAK,CAAA;AACnC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,uBAAuB,KAAK,CAAA;AAClC,QAAA,MAAM,mBAAmB,KAAK,CAAA;AAE9B,MAAM,MAAM,YAAY,GACpB,OAAO,wBAAwB,GAC/B,OAAO,uBAAuB,GAC9B,OAAO,uBAAuB,GAC9B,OAAO,mBAAmB,CAAA;AAE9B,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE,GAAG,CAAA;IACf,iBAAiB,EAAE,GAAG,CAAA;IACtB,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAyBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAQ7D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAOnE;AAED,wBAAgB,cAAc,IAAI;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAQA;AAgBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CA0BjE"}
@@ -0,0 +1,80 @@
1
+ import { encodeAbiParameters } from 'viem';
2
+ // Legacy module-setup shapes preserved for the `experimental_getModuleSetup`
3
+ // compatibility surface (note the historical `ModeleSetup` spelling, which is
4
+ // part of the published type name).
5
+ const MODULE_TYPE_ID_VALIDATOR = 1n;
6
+ const MODULE_TYPE_ID_EXECUTOR = 2n;
7
+ const MODULE_TYPE_ID_FALLBACK = 3n;
8
+ const MODULE_TYPE_ID_HOOK = 4n;
9
+ const RHINESTONE_ATTESTER_ADDRESS = '0x000000333034E9f539ce08819E12c1b8Cb29084d';
10
+ const OMNI_ACCOUNT_MOCK_ATTESTER_ADDRESS = '0x6D0515e8E499468DCe9583626f0cA15b887f9d03';
11
+ const HOOK_ADDRESS = '0x0000000000f6Ed8Be424d673c63eeFF8b9267420';
12
+ const TARGET_MODULE_ADDRESS = '0x0000000000E5a37279A001301A837a91b5de1D5E';
13
+ const SAME_CHAIN_MODULE_ADDRESS = '0x000000000043ff16d5776c7F0f65Ec485C17Ca04';
14
+ const moduleType = (kind) => {
15
+ switch (kind) {
16
+ case 'validator':
17
+ return 1n;
18
+ case 'executor':
19
+ return 2n;
20
+ case 'fallback':
21
+ return 3n;
22
+ case 'hook':
23
+ return 4n;
24
+ }
25
+ };
26
+ export function toLegacyModule(module) {
27
+ return {
28
+ address: module.address,
29
+ initData: module.initData,
30
+ deInitData: module.deInitData,
31
+ additionalContext: module.additionalContext,
32
+ type: moduleType(module.kind),
33
+ };
34
+ }
35
+ export function toLegacyModuleSetup(setup) {
36
+ return {
37
+ validators: setup.validators.map(toLegacyModule),
38
+ executors: setup.executors.map(toLegacyModule),
39
+ fallbacks: setup.fallbacks.map(toLegacyModule),
40
+ hooks: setup.hooks.map(toLegacyModule),
41
+ };
42
+ }
43
+ export function getV0Attesters() {
44
+ return {
45
+ addresses: [
46
+ RHINESTONE_ATTESTER_ADDRESS,
47
+ OMNI_ACCOUNT_MOCK_ATTESTER_ADDRESS,
48
+ ],
49
+ threshold: 1,
50
+ };
51
+ }
52
+ function v0Module(kind, address, initData = '0x') {
53
+ return {
54
+ kind,
55
+ address,
56
+ initData,
57
+ deInitData: '0x',
58
+ additionalContext: '0x',
59
+ };
60
+ }
61
+ export function planV0ModuleSetup(setup) {
62
+ return {
63
+ validators: setup.validators,
64
+ executors: [
65
+ v0Module('executor', SAME_CHAIN_MODULE_ADDRESS),
66
+ v0Module('executor', TARGET_MODULE_ADDRESS),
67
+ v0Module('executor', HOOK_ADDRESS),
68
+ ...setup.executors,
69
+ ],
70
+ fallbacks: [
71
+ v0Module('fallback', TARGET_MODULE_ADDRESS, encodeAbiParameters([
72
+ { name: 'selector', type: 'bytes4' },
73
+ { name: 'flags', type: 'bytes1' },
74
+ { name: 'data', type: 'bytes' },
75
+ ], ['0x3a5be8cb', '0x00', '0x'])),
76
+ ...setup.fallbacks,
77
+ ],
78
+ hooks: setup.hooks,
79
+ };
80
+ }
@@ -0,0 +1,4 @@
1
+ import type { ConfiguredModule, ResolvedModule } from './types.js';
2
+ export declare function normalizeModule(module: ConfiguredModule): ResolvedModule;
3
+ export declare function normalizeModules(modules: readonly ConfiguredModule[]): readonly ResolvedModule[];
4
+ //# sourceMappingURL=normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../modules/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ/D,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAQxE;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,SAAS,cAAc,EAAE,CAE3B"}
@@ -0,0 +1,15 @@
1
+ function materializeData(selection) {
2
+ return selection.source === 'explicit' ? selection.value : '0x';
3
+ }
4
+ export function normalizeModule(module) {
5
+ return {
6
+ kind: module.kind,
7
+ address: module.address,
8
+ initData: materializeData(module.initData),
9
+ deInitData: materializeData(module.deInitData),
10
+ additionalContext: materializeData(module.additionalContext),
11
+ };
12
+ }
13
+ export function normalizeModules(modules) {
14
+ return modules.map(normalizeModule);
15
+ }
@@ -0,0 +1,16 @@
1
+ import { type Hex } from 'viem';
2
+ import type { ConfiguredModule, ModuleInstallationPlan, ModuleSetup, ResolvedModule } from './types.js';
3
+ export type ModuleCallEncoder = (module: ResolvedModule, operation: ModuleInstallationPlan['operation']) => Hex;
4
+ export declare function planModuleOperation(module: ResolvedModule, operation: ModuleInstallationPlan['operation'], encodeAccountCall: ModuleCallEncoder): ModuleInstallationPlan;
5
+ export declare function planModuleSetup(input: {
6
+ readonly accountKind: string;
7
+ readonly owner: ResolvedModule;
8
+ readonly configured: readonly ConfiguredModule[];
9
+ readonly environment: 'production' | 'development';
10
+ readonly sessions: {
11
+ readonly enabled: boolean;
12
+ readonly module?: `0x${string}`;
13
+ readonly compatibilityFallback?: `0x${string}`;
14
+ };
15
+ }): ModuleSetup;
16
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../modules/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAGpD,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,EACX,cAAc,EACf,MAAM,SAAS,CAAA;AAGhB,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,KAC3C,GAAG,CAAA;AAER,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,EAC9C,iBAAiB,EAAE,iBAAiB,GACnC,sBAAsB,CAMxB;AAKD,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,aAAa,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;QAC/B,QAAQ,CAAC,qBAAqB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;KAC/C,CAAA;CACF,GAAG,WAAW,CA0Cd"}
@@ -0,0 +1,51 @@
1
+ import { encodeAbiParameters } from 'viem';
2
+ import { getIntentExecutorModule } from './intent-executor.js';
3
+ import { normalizeModules } from './normalize.js';
4
+ import { resolveSmartSessionModule } from './validators/smart-sessions/module.js';
5
+ export function planModuleOperation(module, operation, encodeAccountCall) {
6
+ return {
7
+ module,
8
+ operation,
9
+ accountCallData: encodeAccountCall(module, operation),
10
+ };
11
+ }
12
+ const SAFE_SESSION_COMPATIBILITY_FALLBACK_ADDRESS = '0x000000000052e9685932845660777DF43C2dC496';
13
+ export function planModuleSetup(input) {
14
+ const custom = normalizeModules(input.configured);
15
+ const session = resolveSmartSessionModule({
16
+ enabled: input.sessions.enabled,
17
+ address: input.sessions.module,
18
+ environment: input.environment,
19
+ });
20
+ const validators = [
21
+ input.owner,
22
+ ...(session ? [session] : []),
23
+ ...custom.filter((module) => module.kind === 'validator'),
24
+ ];
25
+ const executors = [
26
+ getIntentExecutorModule(input.environment),
27
+ ...custom.filter((module) => module.kind === 'executor'),
28
+ ];
29
+ const fallbacks = [];
30
+ if (input.sessions.enabled && input.accountKind === 'safe') {
31
+ fallbacks.push({
32
+ kind: 'fallback',
33
+ address: input.sessions.compatibilityFallback ??
34
+ SAFE_SESSION_COMPATIBILITY_FALLBACK_ADDRESS,
35
+ initData: encodeAbiParameters([
36
+ { name: 'selector', type: 'bytes4' },
37
+ { name: 'flags', type: 'bytes1' },
38
+ { name: 'data', type: 'bytes' },
39
+ ], ['0x84b0196e', '0xfe', '0x']),
40
+ deInitData: '0x',
41
+ additionalContext: '0x',
42
+ });
43
+ }
44
+ fallbacks.push(...custom.filter((module) => module.kind === 'fallback'));
45
+ return {
46
+ validators,
47
+ executors,
48
+ fallbacks,
49
+ hooks: custom.filter((module) => module.kind === 'hook'),
50
+ };
51
+ }
@@ -0,0 +1,62 @@
1
+ import { type Address, type Hex } from 'viem';
2
+ import type { EvmChainReference } from '../chains/types.js';
3
+ import type { RpcReadPort } from '../clients/rpc/port.js';
4
+ import type { ModuleKind, ResolvedModule } from './types.js';
5
+ export declare function readInstalledModules(input: {
6
+ readonly rpc: RpcReadPort;
7
+ readonly chain: EvmChainReference;
8
+ readonly accountKind: string;
9
+ readonly account: Address;
10
+ readonly kind: Extract<ModuleKind, 'validator' | 'executor'>;
11
+ }): Promise<readonly Address[]>;
12
+ export declare function readValidatorInitialized(input: {
13
+ readonly rpc: RpcReadPort;
14
+ readonly chain: EvmChainReference;
15
+ readonly account: Address;
16
+ readonly validator: Address;
17
+ }): Promise<boolean>;
18
+ /**
19
+ * Reads an ownable-style validator's owner list and threshold.
20
+ *
21
+ * The owner list is returned in the validator's own linked-list order, which
22
+ * callers need to derive the `prevOwner` argument for removals.
23
+ */
24
+ export declare function readValidatorOwnership(input: {
25
+ readonly rpc: RpcReadPort;
26
+ readonly chain: EvmChainReference;
27
+ readonly account: Address;
28
+ readonly validator: Address;
29
+ }): Promise<{
30
+ readonly owners: readonly Address[];
31
+ readonly threshold: number;
32
+ }>;
33
+ /** Reads a validator's signature threshold for an account. */
34
+ export declare function readValidatorThreshold(input: {
35
+ readonly rpc: RpcReadPort;
36
+ readonly chain: EvmChainReference;
37
+ readonly account: Address;
38
+ readonly validator: Address;
39
+ }): Promise<number>;
40
+ export declare function readModuleInstallations(input: {
41
+ readonly rpc: RpcReadPort;
42
+ readonly chain: EvmChainReference;
43
+ readonly account: Address;
44
+ readonly modules: readonly ResolvedModule[];
45
+ }): Promise<readonly boolean[]>;
46
+ export declare function readOwners(input: {
47
+ readonly rpc: RpcReadPort;
48
+ readonly chain: EvmChainReference;
49
+ readonly accountKind: string;
50
+ readonly account: Address;
51
+ readonly ownerValidator?: Address;
52
+ readonly hcaFactory?: Address;
53
+ }): Promise<{
54
+ readonly accounts: readonly Address[];
55
+ readonly threshold: number;
56
+ } | null>;
57
+ export declare function encodeAccountModuleDeInitData(input: {
58
+ readonly accountKind: string;
59
+ readonly module: ResolvedModule;
60
+ readonly installed: readonly Address[];
61
+ }): Hex;
62
+ //# sourceMappingURL=read-core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-core.d.ts","sourceRoot":"","sources":["../../../modules/read-core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAyBzD,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,GAAG,UAAU,CAAC,CAAA;CAC7D,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAmB9B;AAED,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IACpD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B,GAAG,OAAO,CAAC,OAAO,CAAC,CAkBnB;AAsBD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B,GAAG,OAAO,CAAC;IACV,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAC,CAwBD;AAED,8DAA8D;AAC9D,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B,GAAG,OAAO,CAAC,MAAM,CAAC,CAWlB;AAgBD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAC5C,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAiB9B;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B,GAAG,OAAO,CAAC;IACV,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,GAAG,IAAI,CAAC,CAmER;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAA;CACvC,GAAG,GAAG,CAkBN"}
@@ -0,0 +1,206 @@
1
+ import { encodeAbiParameters } from 'viem';
2
+ import { moduleTypeId } from './erc7579-abi.js';
3
+ import { ENS_HCA_MODULE } from './validators/ens.js';
4
+ import { OWNABLE_VALIDATOR_ADDRESS } from './validators/ownable.js';
5
+ const sentinel = '0x0000000000000000000000000000000000000001';
6
+ const paginationAbi = (name) => [
7
+ {
8
+ name,
9
+ type: 'function',
10
+ inputs: [
11
+ { name: 'cursor', type: 'address' },
12
+ { name: 'size', type: 'uint256' },
13
+ ],
14
+ outputs: [
15
+ { name: 'array', type: 'address[]' },
16
+ { name: 'next', type: 'address' },
17
+ ],
18
+ stateMutability: 'view',
19
+ },
20
+ ];
21
+ export async function readInstalledModules(input) {
22
+ if (input.accountKind === 'eoa')
23
+ return [];
24
+ if (input.accountKind === 'kernel')
25
+ throw new Error('Kernel not supported');
26
+ const functionName = input.kind === 'validator'
27
+ ? 'getValidatorsPaginated'
28
+ : 'getExecutorsPaginated';
29
+ const result = await input.rpc.readContract({ chain: input.chain }, {
30
+ address: input.account,
31
+ abi: paginationAbi(functionName),
32
+ functionName,
33
+ args: [sentinel, 100n],
34
+ });
35
+ return result[0];
36
+ }
37
+ export async function readValidatorInitialized(input) {
38
+ return input.rpc.readContract({ chain: input.chain }, {
39
+ address: input.validator,
40
+ abi: [
41
+ {
42
+ name: 'isInitialized',
43
+ type: 'function',
44
+ stateMutability: 'view',
45
+ inputs: [{ name: 'smartAccount', type: 'address' }],
46
+ outputs: [{ name: '', type: 'bool' }],
47
+ },
48
+ ],
49
+ functionName: 'isInitialized',
50
+ args: [input.account],
51
+ });
52
+ }
53
+ const validatorThresholdAbi = [
54
+ {
55
+ name: 'threshold',
56
+ type: 'function',
57
+ stateMutability: 'view',
58
+ inputs: [{ name: 'account', type: 'address' }],
59
+ outputs: [{ name: '', type: 'uint256' }],
60
+ },
61
+ ];
62
+ const validatorOwnersAbi = [
63
+ {
64
+ name: 'getOwners',
65
+ type: 'function',
66
+ stateMutability: 'view',
67
+ inputs: [{ name: 'account', type: 'address' }],
68
+ outputs: [{ name: 'ownersArray', type: 'address[]' }],
69
+ },
70
+ ];
71
+ /**
72
+ * Reads an ownable-style validator's owner list and threshold.
73
+ *
74
+ * The owner list is returned in the validator's own linked-list order, which
75
+ * callers need to derive the `prevOwner` argument for removals.
76
+ */
77
+ export async function readValidatorOwnership(input) {
78
+ const [owners, threshold] = await input.rpc.multicall({ chain: input.chain }, [
79
+ {
80
+ address: input.validator,
81
+ abi: validatorOwnersAbi,
82
+ functionName: 'getOwners',
83
+ args: [input.account],
84
+ },
85
+ {
86
+ address: input.validator,
87
+ abi: validatorThresholdAbi,
88
+ functionName: 'threshold',
89
+ args: [input.account],
90
+ },
91
+ ]);
92
+ if (!owners.result || threshold.result === undefined) {
93
+ throw new Error('Failed to read existing owners or threshold');
94
+ }
95
+ return {
96
+ owners: owners.result.map((owner) => owner.toLowerCase()),
97
+ threshold: Number(threshold.result),
98
+ };
99
+ }
100
+ /** Reads a validator's signature threshold for an account. */
101
+ export async function readValidatorThreshold(input) {
102
+ const threshold = await input.rpc.readContract({ chain: input.chain }, {
103
+ address: input.validator,
104
+ abi: validatorThresholdAbi,
105
+ functionName: 'threshold',
106
+ args: [input.account],
107
+ });
108
+ return Number(threshold);
109
+ }
110
+ const moduleInstalledAbi = [
111
+ {
112
+ type: 'function',
113
+ name: 'isModuleInstalled',
114
+ inputs: [
115
+ { type: 'uint256', name: 'moduleTypeId' },
116
+ { type: 'address', name: 'module' },
117
+ { type: 'bytes', name: 'additionalContext' },
118
+ ],
119
+ outputs: [{ type: 'bool', name: 'isInstalled' }],
120
+ stateMutability: 'view',
121
+ },
122
+ ];
123
+ export async function readModuleInstallations(input) {
124
+ const results = await input.rpc.multicall({ chain: input.chain }, input.modules.map((module) => ({
125
+ address: input.account,
126
+ abi: moduleInstalledAbi,
127
+ functionName: 'isModuleInstalled',
128
+ args: [
129
+ moduleTypeId(module.kind),
130
+ module.address,
131
+ module.additionalContext,
132
+ ],
133
+ })));
134
+ return results.map(({ result }) => result === true);
135
+ }
136
+ export async function readOwners(input) {
137
+ let validator = input.ownerValidator ?? OWNABLE_VALIDATOR_ADDRESS;
138
+ if (input.accountKind === 'hca') {
139
+ validator = input.hcaFactory
140
+ ? await input.rpc.readContract({ chain: input.chain }, {
141
+ address: input.hcaFactory,
142
+ abi: [
143
+ {
144
+ name: 'initDataParser',
145
+ type: 'function',
146
+ stateMutability: 'view',
147
+ inputs: [],
148
+ outputs: [{ name: '', type: 'address' }],
149
+ },
150
+ ],
151
+ functionName: 'initDataParser',
152
+ })
153
+ : ENS_HCA_MODULE;
154
+ }
155
+ const results = await input.rpc.multicall({ chain: input.chain }, [
156
+ {
157
+ address: validator,
158
+ abi: [
159
+ {
160
+ name: 'getOwners',
161
+ type: 'function',
162
+ inputs: [{ name: 'account', type: 'address' }],
163
+ outputs: [{ name: '', type: 'address[]' }],
164
+ stateMutability: 'view',
165
+ },
166
+ ],
167
+ functionName: 'getOwners',
168
+ args: [input.account],
169
+ },
170
+ {
171
+ address: validator,
172
+ abi: [
173
+ {
174
+ name: 'threshold',
175
+ type: 'function',
176
+ inputs: [{ name: 'module', type: 'address' }],
177
+ outputs: [{ name: '', type: 'uint256' }],
178
+ stateMutability: 'view',
179
+ },
180
+ ],
181
+ functionName: 'threshold',
182
+ args: [input.account],
183
+ },
184
+ ]);
185
+ const [owners, threshold] = results;
186
+ if (owners.error ||
187
+ threshold.error ||
188
+ !owners.result ||
189
+ threshold.result === undefined) {
190
+ return null;
191
+ }
192
+ return { accounts: owners.result, threshold: Number(threshold.result) };
193
+ }
194
+ export function encodeAccountModuleDeInitData(input) {
195
+ if (input.module.kind !== 'validator' ||
196
+ !['nexus', 'safe', 'startale'].includes(input.accountKind)) {
197
+ return input.module.deInitData;
198
+ }
199
+ const index = input.installed.findIndex((address) => address.toLowerCase() === input.module.address.toLowerCase());
200
+ if (index < 0)
201
+ return input.module.deInitData;
202
+ return encodeAbiParameters([{ type: 'address' }, { type: 'bytes' }], [
203
+ index === 0 ? sentinel : input.installed[index - 1],
204
+ input.module.deInitData,
205
+ ]);
206
+ }
@@ -0,0 +1,46 @@
1
+ import type { Address, Hex } from 'viem';
2
+ export type ModuleKind = 'validator' | 'executor' | 'fallback' | 'hook';
3
+ export interface ModuleInput {
4
+ type: ModuleKind;
5
+ address: Address;
6
+ initData?: Hex;
7
+ deInitData?: Hex;
8
+ additionalContext?: Hex;
9
+ }
10
+ export type ModuleDataSelection = {
11
+ readonly source: 'explicit';
12
+ readonly value: Hex;
13
+ } | {
14
+ readonly source: 'omitted';
15
+ };
16
+ export interface ConfiguredModule extends ModuleId {
17
+ readonly initData: ModuleDataSelection;
18
+ readonly deInitData: ModuleDataSelection;
19
+ readonly additionalContext: ModuleDataSelection;
20
+ }
21
+ export interface ModuleId {
22
+ readonly kind: ModuleKind;
23
+ readonly address: Address;
24
+ }
25
+ export interface ResolvedModule extends ModuleId {
26
+ readonly initData: Hex;
27
+ readonly deInitData: Hex;
28
+ readonly additionalContext: Hex;
29
+ }
30
+ export interface ModuleCapabilities {
31
+ readonly installable: boolean;
32
+ readonly uninstallable: boolean;
33
+ readonly supportsInitializationRead: boolean;
34
+ }
35
+ export interface ModuleInstallationPlan {
36
+ readonly module: ResolvedModule;
37
+ readonly operation: 'install' | 'uninstall';
38
+ readonly accountCallData: Hex;
39
+ }
40
+ export interface ModuleSetup {
41
+ readonly validators: readonly ResolvedModule[];
42
+ readonly executors: readonly ResolvedModule[];
43
+ readonly hooks: readonly ResolvedModule[];
44
+ readonly fallbacks: readonly ResolvedModule[];
45
+ }
46
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../modules/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAExC,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;AAEvE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,iBAAiB,CAAC,EAAE,GAAG,CAAA;CACxB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAA;AAElC,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAA;CAChD;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAA;IACxB,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAA;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAA;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,CAAA;IAC3C,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAA;CAC9C"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { ResolvedModule } from '../types.js';
2
+ import type { ResolvedValidatorDefinition, ValidatorCapabilities, ValidatorSigningPurpose } from './types.js';
3
+ export declare function getValidatorCapabilities(definition: ResolvedValidatorDefinition, module: ResolvedModule, accountProfile: string, purpose: ValidatorSigningPurpose, supportsOriginReuse: boolean): ValidatorCapabilities;
4
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../modules/validators/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAQ9C,OAAO,KAAK,EACV,2BAA2B,EAC3B,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,2BAA2B,EACvC,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,uBAAuB,EAChC,mBAAmB,EAAE,OAAO,GAC3B,qBAAqB,CAwDvB"}