@rhinestone/sdk 2.0.0-beta.44 → 2.0.0-beta.45

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 (603) hide show
  1. package/dist/src/accounts/adapter.d.ts +31 -0
  2. package/dist/src/accounts/adapter.d.ts.map +1 -0
  3. package/dist/src/accounts/adapters/eoa.d.ts +4 -0
  4. package/dist/src/accounts/adapters/eoa.d.ts.map +1 -0
  5. package/dist/src/accounts/adapters/eoa.js +45 -0
  6. package/dist/src/accounts/adapters/hca.d.ts +5 -0
  7. package/dist/src/accounts/adapters/hca.d.ts.map +1 -0
  8. package/dist/src/accounts/adapters/hca.js +118 -0
  9. package/dist/src/accounts/adapters/kernel.d.ts +9 -0
  10. package/dist/src/accounts/adapters/kernel.d.ts.map +1 -0
  11. package/dist/src/accounts/adapters/kernel.js +159 -0
  12. package/dist/src/accounts/adapters/nexus.d.ts +17 -0
  13. package/dist/src/accounts/adapters/nexus.d.ts.map +1 -0
  14. package/dist/src/accounts/adapters/nexus.js +227 -0
  15. package/dist/src/accounts/adapters/safe.d.ts +6 -0
  16. package/dist/src/accounts/adapters/safe.d.ts.map +1 -0
  17. package/dist/src/accounts/adapters/safe.js +194 -0
  18. package/dist/src/accounts/adapters/shared.d.ts +9 -0
  19. package/dist/src/accounts/adapters/shared.d.ts.map +1 -0
  20. package/dist/src/accounts/adapters/shared.js +62 -0
  21. package/dist/src/accounts/adapters/startale.d.ts +14 -0
  22. package/dist/src/accounts/adapters/startale.d.ts.map +1 -0
  23. package/dist/src/accounts/adapters/startale.js +165 -0
  24. package/dist/src/accounts/construction.d.ts +25 -0
  25. package/dist/src/accounts/construction.d.ts.map +1 -0
  26. package/dist/src/accounts/construction.js +34 -0
  27. package/dist/src/accounts/deployment.d.ts +12 -0
  28. package/dist/src/accounts/deployment.d.ts.map +1 -0
  29. package/dist/src/accounts/deployment.js +33 -0
  30. package/dist/src/accounts/erc7579-calls.d.ts +4 -0
  31. package/dist/src/accounts/erc7579-calls.d.ts.map +1 -0
  32. package/dist/src/accounts/erc7579-calls.js +57 -0
  33. package/dist/src/accounts/error.d.ts +1 -1
  34. package/dist/src/accounts/error.d.ts.map +1 -1
  35. package/dist/src/accounts/legacy.d.ts +14 -0
  36. package/dist/src/accounts/legacy.d.ts.map +1 -0
  37. package/dist/src/accounts/legacy.js +40 -0
  38. package/dist/src/accounts/registry.d.ts +4 -0
  39. package/dist/src/accounts/registry.d.ts.map +1 -0
  40. package/dist/src/accounts/registry.js +22 -0
  41. package/dist/src/accounts/types.d.ts +131 -0
  42. package/dist/src/accounts/types.d.ts.map +1 -0
  43. package/dist/src/accounts/wallet-account.d.ts +3 -0
  44. package/dist/src/accounts/wallet-account.d.ts.map +1 -0
  45. package/dist/src/accounts/wallet-account.js +12 -0
  46. package/dist/src/actions/deploy.d.ts +4 -0
  47. package/dist/src/actions/deploy.d.ts.map +1 -0
  48. package/dist/src/actions/deploy.js +8 -0
  49. package/dist/src/actions/ecdsa.d.ts +1 -1
  50. package/dist/src/actions/ecdsa.d.ts.map +1 -1
  51. package/dist/src/actions/ecdsa.js +8 -8
  52. package/dist/src/actions/index.d.ts +2 -16
  53. package/dist/src/actions/index.d.ts.map +1 -1
  54. package/dist/src/actions/index.js +3 -49
  55. package/dist/src/actions/mfa.d.ts +1 -1
  56. package/dist/src/actions/mfa.d.ts.map +1 -1
  57. package/dist/src/actions/mfa.js +30 -10
  58. package/dist/src/actions/modules.d.ts +4 -0
  59. package/dist/src/actions/modules.d.ts.map +1 -0
  60. package/dist/src/actions/modules.js +22 -0
  61. package/dist/src/actions/passkeys.d.ts +2 -2
  62. package/dist/src/actions/passkeys.d.ts.map +1 -1
  63. package/dist/src/actions/passkeys.js +19 -14
  64. package/dist/src/actions/runtime.d.ts +12 -0
  65. package/dist/src/actions/runtime.d.ts.map +1 -0
  66. package/dist/src/actions/runtime.js +161 -0
  67. package/dist/src/actions/smart-sessions.d.ts +2 -2
  68. package/dist/src/actions/smart-sessions.d.ts.map +1 -1
  69. package/dist/src/actions/smart-sessions.js +35 -12
  70. package/dist/src/api/account.d.ts +265 -0
  71. package/dist/src/api/account.d.ts.map +1 -0
  72. package/dist/src/api/account.js +635 -0
  73. package/dist/src/api/accounts.d.ts +12 -0
  74. package/dist/src/api/accounts.d.ts.map +1 -0
  75. package/dist/src/api/accounts.js +17 -0
  76. package/dist/src/api/compose-types.d.ts +147 -0
  77. package/dist/src/api/compose-types.d.ts.map +1 -0
  78. package/dist/src/api/compose.d.ts +6 -0
  79. package/dist/src/api/compose.d.ts.map +1 -0
  80. package/dist/src/api/compose.js +766 -0
  81. package/dist/src/api/direct-signing.d.ts +27 -0
  82. package/dist/src/api/direct-signing.d.ts.map +1 -0
  83. package/dist/src/api/direct-signing.js +191 -0
  84. package/dist/src/api/project-mappers.d.ts +7 -0
  85. package/dist/src/api/project-mappers.d.ts.map +1 -0
  86. package/dist/src/api/project-mappers.js +23 -0
  87. package/dist/src/api/queries/app-fees.d.ts +4 -0
  88. package/dist/src/api/queries/app-fees.d.ts.map +1 -0
  89. package/dist/src/api/queries/app-fees.js +3 -0
  90. package/dist/src/api/queries/portfolio.d.ts +9 -0
  91. package/dist/src/api/queries/portfolio.d.ts.map +1 -0
  92. package/dist/src/api/queries/portfolio.js +28 -0
  93. package/dist/src/api/queries/session.d.ts +8 -0
  94. package/dist/src/api/queries/session.d.ts.map +1 -0
  95. package/dist/src/api/queries/session.js +15 -0
  96. package/dist/src/api/sdk.d.ts +80 -0
  97. package/dist/src/api/sdk.d.ts.map +1 -0
  98. package/dist/src/api/sdk.js +103 -0
  99. package/dist/src/api/signer-selection.d.ts +7 -0
  100. package/dist/src/api/signer-selection.d.ts.map +1 -0
  101. package/dist/src/api/signer-selection.js +109 -0
  102. package/dist/src/calls/normalize.d.ts +9 -0
  103. package/dist/src/calls/normalize.d.ts.map +1 -0
  104. package/dist/src/calls/normalize.js +17 -0
  105. package/dist/src/calls/resolve.d.ts +3 -0
  106. package/dist/src/calls/resolve.d.ts.map +1 -0
  107. package/dist/src/calls/resolve.js +15 -0
  108. package/dist/src/calls/types.d.ts +25 -0
  109. package/dist/src/calls/types.d.ts.map +1 -0
  110. package/dist/src/calls/types.js +1 -0
  111. package/dist/src/chains/caip2.d.ts +10 -0
  112. package/dist/src/chains/caip2.d.ts.map +1 -0
  113. package/dist/src/chains/caip2.js +85 -0
  114. package/dist/src/chains/catalog.d.ts +5 -0
  115. package/dist/src/chains/catalog.d.ts.map +1 -0
  116. package/dist/src/chains/catalog.js +41 -0
  117. package/dist/src/chains/errors.d.ts +15 -0
  118. package/dist/src/chains/errors.d.ts.map +1 -0
  119. package/dist/src/chains/errors.js +21 -0
  120. package/dist/src/{orchestrator/destinations.d.ts → chains/non-evm.d.ts} +7 -5
  121. package/dist/src/chains/non-evm.d.ts.map +1 -0
  122. package/dist/src/chains/non-evm.js +30 -0
  123. package/dist/src/chains/tokens.d.ts +4 -0
  124. package/dist/src/chains/tokens.d.ts.map +1 -0
  125. package/dist/src/chains/tokens.js +22 -0
  126. package/dist/src/chains/types.d.ts +25 -0
  127. package/dist/src/chains/types.d.ts.map +1 -0
  128. package/dist/src/chains/types.js +1 -0
  129. package/dist/src/clients/bundler/client.d.ts +10 -0
  130. package/dist/src/clients/bundler/client.d.ts.map +1 -0
  131. package/dist/src/clients/bundler/client.js +85 -0
  132. package/dist/src/clients/bundler/endpoints.d.ts +3 -0
  133. package/dist/src/clients/bundler/endpoints.d.ts.map +1 -0
  134. package/dist/src/clients/bundler/endpoints.js +18 -0
  135. package/dist/src/clients/bundler/port.d.ts +22 -0
  136. package/dist/src/clients/bundler/port.d.ts.map +1 -0
  137. package/dist/src/clients/bundler/port.js +1 -0
  138. package/dist/src/clients/json-rpc.d.ts +20 -0
  139. package/dist/src/clients/json-rpc.d.ts.map +1 -0
  140. package/dist/src/clients/json-rpc.js +56 -0
  141. package/dist/src/clients/orchestrator/auth.d.ts +7 -0
  142. package/dist/src/clients/orchestrator/auth.d.ts.map +1 -0
  143. package/dist/src/clients/orchestrator/auth.js +27 -0
  144. package/dist/src/{orchestrator → clients/orchestrator}/chain-catalog.d.ts +5 -3
  145. package/dist/src/clients/orchestrator/chain-catalog.d.ts.map +1 -0
  146. package/dist/src/{orchestrator → clients/orchestrator}/chain-catalog.js +24 -3
  147. package/dist/src/clients/orchestrator/client.d.ts +13 -0
  148. package/dist/src/clients/orchestrator/client.d.ts.map +1 -0
  149. package/dist/src/clients/orchestrator/client.js +97 -0
  150. package/dist/src/{orchestrator/error.d.ts → clients/orchestrator/errors.d.ts} +2 -16
  151. package/dist/src/clients/orchestrator/errors.d.ts.map +1 -0
  152. package/dist/src/{orchestrator/error.js → clients/orchestrator/errors.js} +1 -22
  153. package/dist/src/clients/orchestrator/fetch.d.ts +7 -0
  154. package/dist/src/clients/orchestrator/fetch.d.ts.map +1 -0
  155. package/dist/src/clients/orchestrator/fetch.js +37 -0
  156. package/dist/src/clients/orchestrator/mappers.d.ts +9 -0
  157. package/dist/src/clients/orchestrator/mappers.d.ts.map +1 -0
  158. package/dist/src/clients/orchestrator/mappers.js +198 -0
  159. package/dist/src/clients/orchestrator/port.d.ts +26 -0
  160. package/dist/src/clients/orchestrator/port.d.ts.map +1 -0
  161. package/dist/src/clients/orchestrator/port.js +1 -0
  162. package/dist/src/{orchestrator/types.d.ts → clients/orchestrator/public.d.ts} +4 -4
  163. package/dist/src/clients/orchestrator/public.d.ts.map +1 -0
  164. package/dist/src/{orchestrator/types.js → clients/orchestrator/public.js} +3 -0
  165. package/dist/src/clients/orchestrator/types.d.ts +140 -0
  166. package/dist/src/clients/orchestrator/types.d.ts.map +1 -0
  167. package/dist/src/clients/orchestrator/types.js +1 -0
  168. package/dist/src/clients/orchestrator/wire.d.ts +19 -0
  169. package/dist/src/clients/orchestrator/wire.d.ts.map +1 -0
  170. package/dist/src/{orchestrator → clients/orchestrator}/wire.gen.d.ts +498 -498
  171. package/dist/src/clients/orchestrator/wire.gen.d.ts.map +1 -0
  172. package/dist/src/clients/orchestrator/wire.gen.js +1 -0
  173. package/dist/src/clients/orchestrator/wire.js +1 -0
  174. package/dist/src/clients/paymaster/client.d.ts +8 -0
  175. package/dist/src/clients/paymaster/client.d.ts.map +1 -0
  176. package/dist/src/clients/paymaster/client.js +38 -0
  177. package/dist/src/clients/paymaster/endpoints.d.ts +3 -0
  178. package/dist/src/clients/paymaster/endpoints.d.ts.map +1 -0
  179. package/dist/src/clients/paymaster/endpoints.js +16 -0
  180. package/dist/src/clients/paymaster/port.d.ts +17 -0
  181. package/dist/src/clients/paymaster/port.d.ts.map +1 -0
  182. package/dist/src/clients/paymaster/port.js +1 -0
  183. package/dist/src/clients/rpc/client.d.ts +6 -0
  184. package/dist/src/clients/rpc/client.d.ts.map +1 -0
  185. package/dist/src/clients/rpc/client.js +66 -0
  186. package/dist/src/clients/rpc/compatibility.d.ts +12 -0
  187. package/dist/src/clients/rpc/compatibility.d.ts.map +1 -0
  188. package/dist/src/clients/rpc/compatibility.js +16 -0
  189. package/dist/src/clients/rpc/port.d.ts +13 -0
  190. package/dist/src/clients/rpc/port.d.ts.map +1 -0
  191. package/dist/src/clients/rpc/port.js +1 -0
  192. package/dist/src/clients/rpc/providers.d.ts +3 -0
  193. package/dist/src/clients/rpc/providers.d.ts.map +1 -0
  194. package/dist/src/clients/rpc/providers.js +8 -0
  195. package/dist/src/clients/rpc/transport.d.ts +4 -0
  196. package/dist/src/clients/rpc/transport.d.ts.map +1 -0
  197. package/dist/src/clients/rpc/transport.js +5 -0
  198. package/dist/src/clients/rpc/types.d.ts +23 -0
  199. package/dist/src/clients/rpc/types.d.ts.map +1 -0
  200. package/dist/src/clients/rpc/types.js +1 -0
  201. package/dist/src/config/account-runtime.d.ts +7 -0
  202. package/dist/src/config/account-runtime.d.ts.map +1 -0
  203. package/dist/src/config/account-runtime.js +36 -0
  204. package/dist/src/{types.d.ts → config/account.d.ts} +23 -14
  205. package/dist/src/config/account.d.ts.map +1 -0
  206. package/dist/src/config/account.js +10 -0
  207. package/dist/src/config/defaults.d.ts +14 -0
  208. package/dist/src/config/defaults.d.ts.map +1 -0
  209. package/dist/src/config/defaults.js +26 -0
  210. package/dist/src/config/input.d.ts +54 -0
  211. package/dist/src/config/input.d.ts.map +1 -0
  212. package/dist/src/config/input.js +1 -0
  213. package/dist/src/config/legacy.d.ts +22 -0
  214. package/dist/src/config/legacy.d.ts.map +1 -0
  215. package/dist/src/config/legacy.js +23 -0
  216. package/dist/src/config/resolve.d.ts +13 -0
  217. package/dist/src/config/resolve.d.ts.map +1 -0
  218. package/dist/src/config/resolve.js +174 -0
  219. package/dist/src/config/resolved.d.ts +77 -0
  220. package/dist/src/config/resolved.d.ts.map +1 -0
  221. package/dist/src/config/resolved.js +1 -0
  222. package/dist/src/config/validate.d.ts +3 -0
  223. package/dist/src/config/validate.d.ts.map +1 -0
  224. package/dist/src/config/validate.js +6 -0
  225. package/dist/src/{execution/error.d.ts → errors/execution.d.ts} +2 -2
  226. package/dist/src/errors/execution.d.ts.map +1 -0
  227. package/dist/src/{execution/error.js → errors/execution.js} +1 -1
  228. package/dist/src/errors/index.d.ts +4 -4
  229. package/dist/src/errors/index.d.ts.map +1 -1
  230. package/dist/src/errors/index.js +4 -3
  231. package/dist/src/index.d.ts +13 -324
  232. package/dist/src/index.d.ts.map +1 -1
  233. package/dist/src/index.js +6 -286
  234. package/dist/src/modules/erc7579-abi.d.ts +4 -0
  235. package/dist/src/modules/erc7579-abi.d.ts.map +1 -0
  236. package/dist/src/modules/erc7579-abi.js +12 -0
  237. package/dist/src/modules/intent-executor.d.ts +6 -0
  238. package/dist/src/modules/intent-executor.d.ts.map +1 -0
  239. package/dist/src/modules/intent-executor.js +13 -0
  240. package/dist/src/modules/legacy-core.d.ts +29 -0
  241. package/dist/src/modules/legacy-core.d.ts.map +1 -0
  242. package/dist/src/modules/legacy-core.js +80 -0
  243. package/dist/src/modules/normalize.d.ts +4 -0
  244. package/dist/src/modules/normalize.d.ts.map +1 -0
  245. package/dist/src/modules/normalize.js +15 -0
  246. package/dist/src/modules/plan.d.ts +16 -0
  247. package/dist/src/modules/plan.d.ts.map +1 -0
  248. package/dist/src/modules/plan.js +51 -0
  249. package/dist/src/modules/read-core.d.ts +39 -0
  250. package/dist/src/modules/read-core.d.ts.map +1 -0
  251. package/dist/src/modules/read-core.js +149 -0
  252. package/dist/src/modules/types.d.ts +46 -0
  253. package/dist/src/modules/types.d.ts.map +1 -0
  254. package/dist/src/modules/types.js +1 -0
  255. package/dist/src/modules/validators/capabilities.d.ts +4 -0
  256. package/dist/src/modules/validators/capabilities.d.ts.map +1 -0
  257. package/dist/src/modules/validators/capabilities.js +58 -0
  258. package/dist/src/modules/validators/contribution.d.ts +4 -0
  259. package/dist/src/modules/validators/contribution.d.ts.map +1 -0
  260. package/dist/src/modules/validators/contribution.js +64 -0
  261. package/dist/src/modules/validators/definition.d.ts +3 -0
  262. package/dist/src/modules/validators/definition.d.ts.map +1 -0
  263. package/dist/src/modules/validators/definition.js +68 -0
  264. package/dist/src/modules/validators/ens.d.ts +5 -0
  265. package/dist/src/modules/validators/ens.d.ts.map +1 -0
  266. package/dist/src/modules/validators/ens.js +34 -0
  267. package/dist/src/modules/validators/k1.d.ts +2 -0
  268. package/dist/src/modules/validators/k1.d.ts.map +1 -0
  269. package/dist/src/modules/validators/k1.js +1 -0
  270. package/dist/src/modules/validators/multi-factor.d.ts +18 -0
  271. package/dist/src/modules/validators/multi-factor.d.ts.map +1 -0
  272. package/dist/src/modules/validators/multi-factor.js +79 -0
  273. package/dist/src/modules/validators/ownable.d.ts +26 -0
  274. package/dist/src/modules/validators/ownable.d.ts.map +1 -0
  275. package/dist/src/modules/validators/ownable.js +84 -0
  276. package/dist/src/modules/validators/permissions.d.ts +1 -1
  277. package/dist/src/modules/validators/permissions.d.ts.map +1 -1
  278. package/dist/src/modules/validators/policies/claim/arbiters.d.ts +1 -1
  279. package/dist/src/modules/validators/policies/claim/arbiters.d.ts.map +1 -1
  280. package/dist/src/modules/validators/policies/claim/arbiters.js +3 -1
  281. package/dist/src/modules/validators/resolve.d.ts +5 -0
  282. package/dist/src/modules/validators/resolve.d.ts.map +1 -0
  283. package/dist/src/modules/validators/resolve.js +22 -0
  284. package/dist/src/modules/validators/signer-id.d.ts +5 -0
  285. package/dist/src/modules/validators/signer-id.d.ts.map +1 -0
  286. package/dist/src/modules/validators/signer-id.js +8 -0
  287. package/dist/src/modules/validators/smart-session-signature-types.d.ts +35 -0
  288. package/dist/src/modules/validators/smart-session-signature-types.d.ts.map +1 -0
  289. package/dist/src/modules/validators/smart-session-signature-types.js +1 -0
  290. package/dist/src/modules/validators/smart-sessions/authorization.d.ts +99 -0
  291. package/dist/src/modules/validators/smart-sessions/authorization.d.ts.map +1 -0
  292. package/dist/src/modules/validators/smart-sessions/authorization.js +101 -0
  293. package/dist/src/modules/validators/smart-sessions/calls.d.ts +19 -0
  294. package/dist/src/modules/validators/smart-sessions/calls.d.ts.map +1 -0
  295. package/dist/src/modules/validators/smart-sessions/calls.js +85 -0
  296. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts +4 -0
  297. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts.map +1 -0
  298. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.js +77 -0
  299. package/dist/src/modules/validators/smart-sessions/digest.d.ts +5 -0
  300. package/dist/src/modules/validators/smart-sessions/digest.d.ts.map +1 -0
  301. package/dist/src/modules/validators/smart-sessions/digest.js +30 -0
  302. package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts +10 -0
  303. package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts.map +1 -0
  304. package/dist/src/modules/validators/smart-sessions/mock-signature.js +31 -0
  305. package/dist/src/modules/validators/smart-sessions/module.d.ts +11 -0
  306. package/dist/src/modules/validators/smart-sessions/module.d.ts.map +1 -0
  307. package/dist/src/modules/validators/smart-sessions/module.js +18 -0
  308. package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts +23 -0
  309. package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts.map +1 -0
  310. package/dist/src/modules/validators/smart-sessions/policies/addresses.js +29 -0
  311. package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts +10 -0
  312. package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts.map +1 -0
  313. package/dist/src/modules/validators/smart-sessions/policies/claim.js +106 -0
  314. package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts +4 -0
  315. package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts.map +1 -0
  316. package/dist/src/modules/validators/smart-sessions/policies/encode.js +197 -0
  317. package/dist/src/modules/validators/smart-sessions/resolve.d.ts +16 -0
  318. package/dist/src/modules/validators/smart-sessions/resolve.d.ts.map +1 -0
  319. package/dist/src/modules/validators/smart-sessions/resolve.js +120 -0
  320. package/dist/src/modules/validators/smart-sessions/signature.d.ts +14 -0
  321. package/dist/src/modules/validators/smart-sessions/signature.d.ts.map +1 -0
  322. package/dist/src/modules/validators/smart-sessions/signature.js +167 -0
  323. package/dist/src/modules/validators/smart-sessions/state.d.ts +19 -0
  324. package/dist/src/modules/validators/smart-sessions/state.d.ts.map +1 -0
  325. package/dist/src/modules/validators/smart-sessions/state.js +42 -0
  326. package/dist/src/modules/validators/smart-sessions/types.d.ts +227 -0
  327. package/dist/src/modules/validators/smart-sessions/types.d.ts.map +1 -0
  328. package/dist/src/modules/validators/smart-sessions/types.js +1 -0
  329. package/dist/src/modules/validators/types.d.ts +143 -0
  330. package/dist/src/modules/validators/types.d.ts.map +1 -0
  331. package/dist/src/modules/validators/types.js +1 -0
  332. package/dist/src/modules/validators/webauthn.d.ts +54 -0
  333. package/dist/src/modules/validators/webauthn.d.ts.map +1 -0
  334. package/dist/src/modules/validators/webauthn.js +159 -0
  335. package/dist/src/signing/context.d.ts +25 -0
  336. package/dist/src/signing/context.d.ts.map +1 -0
  337. package/dist/src/signing/context.js +163 -0
  338. package/dist/src/signing/contribution.d.ts +13 -0
  339. package/dist/src/signing/contribution.d.ts.map +1 -0
  340. package/dist/src/signing/contribution.js +83 -0
  341. package/dist/src/signing/eip7702.d.ts +41 -0
  342. package/dist/src/signing/eip7702.d.ts.map +1 -0
  343. package/dist/src/signing/eip7702.js +215 -0
  344. package/dist/src/signing/error.d.ts +27 -0
  345. package/dist/src/signing/error.d.ts.map +1 -0
  346. package/dist/src/signing/error.js +25 -0
  347. package/dist/src/signing/execute.d.ts +17 -0
  348. package/dist/src/signing/execute.d.ts.map +1 -0
  349. package/dist/src/signing/execute.js +138 -0
  350. package/dist/src/signing/intent-plans/assemble.d.ts +15 -0
  351. package/dist/src/signing/intent-plans/assemble.d.ts.map +1 -0
  352. package/dist/src/signing/intent-plans/assemble.js +96 -0
  353. package/dist/src/signing/intent-plans/independent.d.ts +48 -0
  354. package/dist/src/signing/intent-plans/independent.d.ts.map +1 -0
  355. package/dist/src/signing/intent-plans/independent.js +150 -0
  356. package/dist/src/signing/intent-plans/plan.d.ts +14 -0
  357. package/dist/src/signing/intent-plans/plan.d.ts.map +1 -0
  358. package/dist/src/signing/intent-plans/plan.js +187 -0
  359. package/dist/src/signing/intent-plans/types.d.ts +63 -0
  360. package/dist/src/signing/intent-plans/types.d.ts.map +1 -0
  361. package/dist/src/signing/intent-plans/types.js +1 -0
  362. package/dist/src/signing/message.d.ts +28 -0
  363. package/dist/src/signing/message.d.ts.map +1 -0
  364. package/dist/src/signing/message.js +90 -0
  365. package/dist/src/signing/passkeys.d.ts +28 -0
  366. package/dist/src/signing/passkeys.d.ts.map +1 -0
  367. package/dist/src/signing/passkeys.js +17 -0
  368. package/dist/src/signing/plan.d.ts +35 -0
  369. package/dist/src/signing/plan.d.ts.map +1 -0
  370. package/dist/src/signing/plan.js +377 -0
  371. package/dist/src/signing/protocols/erc6492.d.ts +11 -0
  372. package/dist/src/signing/protocols/erc6492.d.ts.map +1 -0
  373. package/dist/src/signing/protocols/erc6492.js +24 -0
  374. package/dist/src/signing/protocols/erc7739.d.ts +17 -0
  375. package/dist/src/signing/protocols/erc7739.d.ts.map +1 -0
  376. package/dist/src/signing/protocols/erc7739.js +84 -0
  377. package/dist/src/signing/session-enable.d.ts +35 -0
  378. package/dist/src/signing/session-enable.d.ts.map +1 -0
  379. package/dist/src/signing/session-enable.js +62 -0
  380. package/dist/src/signing/signers/compatibility.d.ts +4 -0
  381. package/dist/src/signing/signers/compatibility.d.ts.map +1 -0
  382. package/dist/src/signing/signers/compatibility.js +51 -0
  383. package/dist/src/signing/signers/ecdsa.d.ts +14 -0
  384. package/dist/src/signing/signers/ecdsa.d.ts.map +1 -0
  385. package/dist/src/signing/signers/ecdsa.js +54 -0
  386. package/dist/src/signing/signers/registry.d.ts +7 -0
  387. package/dist/src/signing/signers/registry.d.ts.map +1 -0
  388. package/dist/src/signing/signers/registry.js +33 -0
  389. package/dist/src/signing/signers/types.d.ts +16 -0
  390. package/dist/src/signing/signers/types.d.ts.map +1 -0
  391. package/dist/src/signing/signers/types.js +1 -0
  392. package/dist/src/signing/signers/wallet-chain.d.ts +9 -0
  393. package/dist/src/signing/signers/wallet-chain.d.ts.map +1 -0
  394. package/dist/src/signing/signers/wallet-chain.js +15 -0
  395. package/dist/src/signing/signers/webauthn.d.ts +11 -0
  396. package/dist/src/signing/signers/webauthn.d.ts.map +1 -0
  397. package/dist/src/signing/signers/webauthn.js +14 -0
  398. package/dist/src/signing/typed-data.d.ts +39 -0
  399. package/dist/src/signing/typed-data.d.ts.map +1 -0
  400. package/dist/src/signing/typed-data.js +135 -0
  401. package/dist/src/signing/types.d.ts +346 -0
  402. package/dist/src/signing/types.d.ts.map +1 -0
  403. package/dist/src/signing/types.js +1 -0
  404. package/dist/src/signing/user-operation.d.ts +23 -0
  405. package/dist/src/signing/user-operation.d.ts.map +1 -0
  406. package/dist/src/signing/user-operation.js +61 -0
  407. package/dist/src/smart-sessions/index.d.ts +13 -3
  408. package/dist/src/smart-sessions/index.d.ts.map +1 -1
  409. package/dist/src/smart-sessions/index.js +44 -6
  410. package/dist/src/transactions/intents/account.d.ts +15 -0
  411. package/dist/src/transactions/intents/account.d.ts.map +1 -0
  412. package/dist/src/transactions/intents/account.js +48 -0
  413. package/dist/src/transactions/intents/compatibility.d.ts +4 -0
  414. package/dist/src/transactions/intents/compatibility.d.ts.map +1 -0
  415. package/dist/src/transactions/intents/compatibility.js +19 -0
  416. package/dist/src/transactions/intents/normalize.d.ts +5 -0
  417. package/dist/src/transactions/intents/normalize.d.ts.map +1 -0
  418. package/dist/src/transactions/intents/normalize.js +48 -0
  419. package/dist/src/transactions/intents/prepare.d.ts +7 -0
  420. package/dist/src/transactions/intents/prepare.d.ts.map +1 -0
  421. package/dist/src/transactions/intents/prepare.js +249 -0
  422. package/dist/src/transactions/intents/quotes.d.ts +3 -0
  423. package/dist/src/transactions/intents/quotes.d.ts.map +1 -0
  424. package/dist/src/transactions/intents/quotes.js +11 -0
  425. package/dist/src/transactions/intents/request.d.ts +11 -0
  426. package/dist/src/transactions/intents/request.d.ts.map +1 -0
  427. package/dist/src/transactions/intents/request.js +55 -0
  428. package/dist/src/transactions/intents/send.d.ts +3 -0
  429. package/dist/src/transactions/intents/send.d.ts.map +1 -0
  430. package/dist/src/transactions/intents/send.js +22 -0
  431. package/dist/src/transactions/intents/session-signing.d.ts +7 -0
  432. package/dist/src/transactions/intents/session-signing.d.ts.map +1 -0
  433. package/dist/src/transactions/intents/session-signing.js +363 -0
  434. package/dist/src/transactions/intents/sessions.d.ts +17 -0
  435. package/dist/src/transactions/intents/sessions.d.ts.map +1 -0
  436. package/dist/src/transactions/intents/sessions.js +85 -0
  437. package/dist/src/transactions/intents/sign-transaction.d.ts +10 -0
  438. package/dist/src/transactions/intents/sign-transaction.d.ts.map +1 -0
  439. package/dist/src/transactions/intents/sign-transaction.js +386 -0
  440. package/dist/src/transactions/intents/split.d.ts +13 -0
  441. package/dist/src/transactions/intents/split.d.ts.map +1 -0
  442. package/dist/src/transactions/intents/split.js +3 -0
  443. package/dist/src/transactions/intents/status-policy.d.ts +13 -0
  444. package/dist/src/transactions/intents/status-policy.d.ts.map +1 -0
  445. package/dist/src/transactions/intents/status-policy.js +39 -0
  446. package/dist/src/transactions/intents/status.d.ts +4 -0
  447. package/dist/src/transactions/intents/status.d.ts.map +1 -0
  448. package/dist/src/transactions/intents/status.js +50 -0
  449. package/dist/src/transactions/intents/submit.d.ts +3 -0
  450. package/dist/src/transactions/intents/submit.d.ts.map +1 -0
  451. package/dist/src/transactions/intents/submit.js +32 -0
  452. package/dist/src/transactions/intents/types.d.ts +136 -0
  453. package/dist/src/transactions/intents/types.d.ts.map +1 -0
  454. package/dist/src/transactions/intents/types.js +1 -0
  455. package/dist/src/transactions/user-operations/hash.d.ts +5 -0
  456. package/dist/src/transactions/user-operations/hash.d.ts.map +1 -0
  457. package/dist/src/transactions/user-operations/hash.js +9 -0
  458. package/dist/src/transactions/user-operations/nonce.d.ts +18 -0
  459. package/dist/src/transactions/user-operations/nonce.d.ts.map +1 -0
  460. package/dist/src/transactions/user-operations/nonce.js +43 -0
  461. package/dist/src/transactions/user-operations/prepare.d.ts +12 -0
  462. package/dist/src/transactions/user-operations/prepare.d.ts.map +1 -0
  463. package/dist/src/transactions/user-operations/prepare.js +138 -0
  464. package/dist/src/transactions/user-operations/reconstruct.d.ts +28 -0
  465. package/dist/src/transactions/user-operations/reconstruct.d.ts.map +1 -0
  466. package/dist/src/transactions/user-operations/reconstruct.js +52 -0
  467. package/dist/src/transactions/user-operations/send.d.ts +3 -0
  468. package/dist/src/transactions/user-operations/send.d.ts.map +1 -0
  469. package/dist/src/transactions/user-operations/send.js +8 -0
  470. package/dist/src/transactions/user-operations/sign.d.ts +3 -0
  471. package/dist/src/transactions/user-operations/sign.d.ts.map +1 -0
  472. package/dist/src/transactions/user-operations/sign.js +14 -0
  473. package/dist/src/transactions/user-operations/status.d.ts +4 -0
  474. package/dist/src/transactions/user-operations/status.d.ts.map +1 -0
  475. package/dist/src/transactions/user-operations/status.js +37 -0
  476. package/dist/src/transactions/user-operations/submit.d.ts +3 -0
  477. package/dist/src/transactions/user-operations/submit.d.ts.map +1 -0
  478. package/dist/src/transactions/user-operations/submit.js +8 -0
  479. package/dist/src/transactions/user-operations/types.d.ts +68 -0
  480. package/dist/src/transactions/user-operations/types.d.ts.map +1 -0
  481. package/dist/src/transactions/user-operations/types.js +1 -0
  482. package/dist/src/transactions/user-operations/validator-account.d.ts +5 -0
  483. package/dist/src/transactions/user-operations/validator-account.d.ts.map +1 -0
  484. package/dist/src/transactions/user-operations/validator-account.js +26 -0
  485. package/dist/src/utils/index.d.ts +9 -4
  486. package/dist/src/utils/index.d.ts.map +1 -1
  487. package/dist/src/utils/index.js +54 -51
  488. package/package.json +3 -3
  489. package/dist/src/accounts/hca.d.ts +0 -25
  490. package/dist/src/accounts/hca.d.ts.map +0 -1
  491. package/dist/src/accounts/hca.js +0 -148
  492. package/dist/src/accounts/index.d.ts +0 -64
  493. package/dist/src/accounts/index.d.ts.map +0 -1
  494. package/dist/src/accounts/index.js +0 -680
  495. package/dist/src/accounts/json-rpc/index.d.ts +0 -5
  496. package/dist/src/accounts/json-rpc/index.d.ts.map +0 -1
  497. package/dist/src/accounts/json-rpc/index.js +0 -13
  498. package/dist/src/accounts/json-rpc/providers.d.ts +0 -3
  499. package/dist/src/accounts/json-rpc/providers.d.ts.map +0 -1
  500. package/dist/src/accounts/json-rpc/providers.js +0 -4
  501. package/dist/src/accounts/kernel.d.ts +0 -26
  502. package/dist/src/accounts/kernel.d.ts.map +0 -1
  503. package/dist/src/accounts/kernel.js +0 -265
  504. package/dist/src/accounts/nexus.d.ts +0 -34
  505. package/dist/src/accounts/nexus.d.ts.map +0 -1
  506. package/dist/src/accounts/nexus.js +0 -520
  507. package/dist/src/accounts/safe.d.ts +0 -32
  508. package/dist/src/accounts/safe.d.ts.map +0 -1
  509. package/dist/src/accounts/safe.js +0 -337
  510. package/dist/src/accounts/signing/common.d.ts +0 -38
  511. package/dist/src/accounts/signing/common.d.ts.map +0 -1
  512. package/dist/src/accounts/signing/common.js +0 -186
  513. package/dist/src/accounts/signing/message.d.ts +0 -7
  514. package/dist/src/accounts/signing/message.d.ts.map +0 -1
  515. package/dist/src/accounts/signing/message.js +0 -42
  516. package/dist/src/accounts/signing/passkeys.d.ts +0 -36
  517. package/dist/src/accounts/signing/passkeys.d.ts.map +0 -1
  518. package/dist/src/accounts/signing/passkeys.js +0 -119
  519. package/dist/src/accounts/signing/typedData.d.ts +0 -5
  520. package/dist/src/accounts/signing/typedData.d.ts.map +0 -1
  521. package/dist/src/accounts/signing/typedData.js +0 -30
  522. package/dist/src/accounts/startale.d.ts +0 -25
  523. package/dist/src/accounts/startale.d.ts.map +0 -1
  524. package/dist/src/accounts/startale.js +0 -188
  525. package/dist/src/accounts/utils.d.ts +0 -33
  526. package/dist/src/accounts/utils.d.ts.map +0 -1
  527. package/dist/src/accounts/utils.js +0 -202
  528. package/dist/src/auth/provider.d.ts +0 -7
  529. package/dist/src/auth/provider.d.ts.map +0 -1
  530. package/dist/src/auth/provider.js +0 -38
  531. package/dist/src/execution/compact.d.ts +0 -5
  532. package/dist/src/execution/compact.d.ts.map +0 -1
  533. package/dist/src/execution/compact.js +0 -4
  534. package/dist/src/execution/error.d.ts.map +0 -1
  535. package/dist/src/execution/index.d.ts +0 -42
  536. package/dist/src/execution/index.d.ts.map +0 -1
  537. package/dist/src/execution/index.js +0 -186
  538. package/dist/src/execution/utils.d.ts +0 -167
  539. package/dist/src/execution/utils.d.ts.map +0 -1
  540. package/dist/src/execution/utils.js +0 -1603
  541. package/dist/src/modules/abi/smart-sessions.d.ts +0 -104
  542. package/dist/src/modules/abi/smart-sessions.d.ts.map +0 -1
  543. package/dist/src/modules/abi/smart-sessions.js +0 -128
  544. package/dist/src/modules/chain-abstraction.d.ts +0 -5
  545. package/dist/src/modules/chain-abstraction.d.ts.map +0 -1
  546. package/dist/src/modules/chain-abstraction.js +0 -3
  547. package/dist/src/modules/common.d.ts +0 -30
  548. package/dist/src/modules/common.d.ts.map +0 -1
  549. package/dist/src/modules/common.js +0 -30
  550. package/dist/src/modules/index.d.ts +0 -11
  551. package/dist/src/modules/index.d.ts.map +0 -1
  552. package/dist/src/modules/index.js +0 -85
  553. package/dist/src/modules/legacy.d.ts +0 -10
  554. package/dist/src/modules/legacy.d.ts.map +0 -1
  555. package/dist/src/modules/legacy.js +0 -62
  556. package/dist/src/modules/read.d.ts +0 -11
  557. package/dist/src/modules/read.d.ts.map +0 -1
  558. package/dist/src/modules/read.js +0 -219
  559. package/dist/src/modules/validators/core.d.ts +0 -31
  560. package/dist/src/modules/validators/core.d.ts.map +0 -1
  561. package/dist/src/modules/validators/core.js +0 -269
  562. package/dist/src/modules/validators/cross-chain-permits.d.ts +0 -22
  563. package/dist/src/modules/validators/cross-chain-permits.d.ts.map +0 -1
  564. package/dist/src/modules/validators/cross-chain-permits.js +0 -107
  565. package/dist/src/modules/validators/index.d.ts +0 -4
  566. package/dist/src/modules/validators/index.d.ts.map +0 -1
  567. package/dist/src/modules/validators/index.js +0 -3
  568. package/dist/src/modules/validators/smart-sessions.d.ts +0 -226
  569. package/dist/src/modules/validators/smart-sessions.d.ts.map +0 -1
  570. package/dist/src/modules/validators/smart-sessions.js +0 -1197
  571. package/dist/src/orchestrator/caip2.d.ts +0 -18
  572. package/dist/src/orchestrator/caip2.d.ts.map +0 -1
  573. package/dist/src/orchestrator/caip2.js +0 -58
  574. package/dist/src/orchestrator/chain-catalog.d.ts.map +0 -1
  575. package/dist/src/orchestrator/client.d.ts +0 -43
  576. package/dist/src/orchestrator/client.d.ts.map +0 -1
  577. package/dist/src/orchestrator/client.js +0 -336
  578. package/dist/src/orchestrator/consts.d.ts +0 -6
  579. package/dist/src/orchestrator/consts.d.ts.map +0 -1
  580. package/dist/src/orchestrator/consts.js +0 -5
  581. package/dist/src/orchestrator/destinations.d.ts.map +0 -1
  582. package/dist/src/orchestrator/destinations.js +0 -59
  583. package/dist/src/orchestrator/error.d.ts.map +0 -1
  584. package/dist/src/orchestrator/index.d.ts +0 -12
  585. package/dist/src/orchestrator/index.d.ts.map +0 -1
  586. package/dist/src/orchestrator/index.js +0 -9
  587. package/dist/src/orchestrator/registry.d.ts +0 -7
  588. package/dist/src/orchestrator/registry.d.ts.map +0 -1
  589. package/dist/src/orchestrator/registry.js +0 -46
  590. package/dist/src/orchestrator/types.d.ts.map +0 -1
  591. package/dist/src/orchestrator/utils.d.ts +0 -3
  592. package/dist/src/orchestrator/utils.d.ts.map +0 -1
  593. package/dist/src/orchestrator/utils.js +0 -22
  594. package/dist/src/orchestrator/wire.d.ts +0 -31
  595. package/dist/src/orchestrator/wire.d.ts.map +0 -1
  596. package/dist/src/orchestrator/wire.gen.d.ts.map +0 -1
  597. package/dist/src/types.d.ts.map +0 -1
  598. package/dist/src/utils/walletClient.d.ts +0 -34
  599. package/dist/src/utils/walletClient.d.ts.map +0 -1
  600. package/dist/src/utils/walletClient.js +0 -117
  601. /package/dist/src/{orchestrator/wire.gen.js → accounts/adapter.js} +0 -0
  602. /package/dist/src/{types.js → accounts/types.js} +0 -0
  603. /package/dist/src/{orchestrator/wire.js → api/compose-types.js} +0 -0
@@ -0,0 +1,31 @@
1
+ import type { Hex } from 'viem';
2
+ import type { EvmChainReference } from '../chains/types.js';
3
+ import type { ResolvedModule } from '../modules/types.js';
4
+ import type { AccountCallEncodingInput, AccountCapabilities, AccountConstruction, AccountDefinition, AccountDeploymentPlan, AccountEip7702AdoptionPlan, AccountIdentity, AccountSignatureEnvelope } from './types.js';
5
+ export interface AccountSignatureEnvelopeInput {
6
+ readonly account: AccountIdentity;
7
+ readonly envelope: AccountSignatureEnvelope;
8
+ readonly validatorContribution: Hex;
9
+ readonly purpose: 'erc1271' | 'intent' | 'user-operation';
10
+ }
11
+ export interface AccountAdapter {
12
+ readonly account: AccountDefinition;
13
+ readonly capabilities: AccountCapabilities;
14
+ readonly getIdentity: (input: AccountConstruction) => AccountIdentity;
15
+ readonly getDeploymentPlan: (input: AccountConstruction) => AccountDeploymentPlan;
16
+ readonly getEip7702AdoptionPlan?: (input: AccountConstruction) => AccountEip7702AdoptionPlan;
17
+ readonly getEip7702InitCall?: (input: AccountConstruction, eip7702InitSignature: Hex) => Hex;
18
+ readonly encodeCalls: (input: AccountCallEncodingInput) => Hex;
19
+ readonly encodeModuleInstallation: (module: ResolvedModule) => readonly Hex[];
20
+ readonly encodeModuleUninstallation: (module: ResolvedModule) => Hex;
21
+ readonly encodeSignatureEnvelope: (input: AccountSignatureEnvelopeInput) => Hex;
22
+ }
23
+ export interface AccountRuntime {
24
+ readonly adapter: AccountAdapter;
25
+ readonly construction: AccountConstruction;
26
+ readonly identity: AccountIdentity;
27
+ }
28
+ export interface AccountRuntimePort {
29
+ readonly forChain: (chain: EvmChainReference) => Promise<AccountRuntime>;
30
+ }
31
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../accounts/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,wBAAwB,EACzB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAA;IACjC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAA;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,gBAAgB,CAAA;CAC1D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAA;IAC1C,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,eAAe,CAAA;IACrE,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,KAAK,EAAE,mBAAmB,KACvB,qBAAqB,CAAA;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAChC,KAAK,EAAE,mBAAmB,KACvB,0BAA0B,CAAA;IAK/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,KAAK,EAAE,mBAAmB,EAC1B,oBAAoB,EAAE,GAAG,KACtB,GAAG,CAAA;IACR,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,GAAG,CAAA;IAC9D,QAAQ,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,SAAS,GAAG,EAAE,CAAA;IAC7E,QAAQ,CAAC,0BAA0B,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,GAAG,CAAA;IACpE,QAAQ,CAAC,uBAAuB,EAAE,CAChC,KAAK,EAAE,6BAA6B,KACjC,GAAG,CAAA;CACT;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAA;IAC1C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAA;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;CACzE"}
@@ -0,0 +1,4 @@
1
+ import type { AccountAdapter } from '../adapter.js';
2
+ import type { AccountConstruction } from '../types.js';
3
+ export declare function createEoaAdapter(construction: AccountConstruction): AccountAdapter;
4
+ //# sourceMappingURL=eoa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eoa.d.ts","sourceRoot":"","sources":["../../../../accounts/adapters/eoa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAQnD,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,mBAAmB,GAChC,cAAc,CAmChB"}
@@ -0,0 +1,45 @@
1
+ import { deploymentPlan } from '../deployment.js';
2
+ import { ModuleInstallationNotSupportedError } from '../error.js';
3
+ function eoaAddress(input) {
4
+ if (input.account.kind !== 'eoa')
5
+ throw new Error('Expected EOA account');
6
+ if (!input.eoa)
7
+ throw new Error('EOA account is required');
8
+ return input.eoa.address;
9
+ }
10
+ export function createEoaAdapter(construction) {
11
+ if (construction.account.kind !== 'eoa') {
12
+ throw new Error('Expected EOA account');
13
+ }
14
+ return {
15
+ account: construction.account,
16
+ capabilities: {
17
+ modular: false,
18
+ supportsDeployment: false,
19
+ supportsUserOperations: false,
20
+ supportsEip7702Adoption: false,
21
+ supportsSmartSessions: false,
22
+ supportsOriginSignatureReuse: true,
23
+ signatureEnvelope: { kind: 'none' },
24
+ },
25
+ getIdentity: (input) => ({
26
+ definition: input.account,
27
+ address: eoaAddress(input),
28
+ }),
29
+ getDeploymentPlan: (input) => deploymentPlan(input.chain, { address: eoaAddress(input) }, true),
30
+ encodeCalls: () => {
31
+ throw new Error('EOA calls do not use ERC-7579 encoding');
32
+ },
33
+ encodeModuleInstallation: () => {
34
+ throw new ModuleInstallationNotSupportedError('eoa');
35
+ },
36
+ encodeModuleUninstallation: () => {
37
+ throw new ModuleInstallationNotSupportedError('eoa');
38
+ },
39
+ encodeSignatureEnvelope: ({ envelope, validatorContribution }) => {
40
+ if (envelope.kind !== 'none')
41
+ throw new Error('Expected EOA envelope');
42
+ return validatorContribution;
43
+ },
44
+ };
45
+ }
@@ -0,0 +1,5 @@
1
+ import type { AccountAdapter } from '../adapter.js';
2
+ import type { AccountConstruction } from '../types.js';
3
+ export declare const HCA_IMPLEMENTATION_ADDRESS: "0x7c2cC1e499a87ab480Df154e05164cD56D05d570";
4
+ export declare function createHcaAdapter(construction: AccountConstruction): AccountAdapter;
5
+ //# sourceMappingURL=hca.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hca.d.ts","sourceRoot":"","sources":["../../../../accounts/adapters/hca.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAIhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGnD,eAAO,MAAM,0BAA0B,EACrC,4CAAqD,CAAA;AAwFvD,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,mBAAmB,GAChC,cAAc,CAqChB"}
@@ -0,0 +1,118 @@
1
+ import { concat, decodeAbiParameters, decodeFunctionData, encodeFunctionData, encodePacked, keccak256, pad, parseAbi, slice, } from 'viem';
2
+ import { ENS_HCA_MODULE } from '../../modules/validators/ens.js';
3
+ import { deploymentPlan } from '../deployment.js';
4
+ import { encodeErc7579Calls } from '../erc7579-calls.js';
5
+ import { ModuleInstallationNotSupportedError } from '../error.js';
6
+ import { encodeAddressEnvelope } from './shared.js';
7
+ export const HCA_IMPLEMENTATION_ADDRESS = '0x7c2cC1e499a87ab480Df154e05164cD56D05d570';
8
+ const HCA_FACTORY_ADDRESS = '0x358680728dedb552adaa9f5eb5d4395b291cf943';
9
+ const CREATE3_PROXY_HASH = '0x21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f';
10
+ function primaryOwner(factoryData) {
11
+ const decoded = decodeFunctionData({
12
+ abi: parseAbi(['function createAccount(bytes)']),
13
+ data: factoryData,
14
+ });
15
+ const [, owners] = decodeAbiParameters([
16
+ { type: 'uint256' },
17
+ {
18
+ type: 'tuple[]',
19
+ components: [
20
+ { name: 'addr', type: 'address' },
21
+ { name: 'expiration', type: 'uint48' },
22
+ ],
23
+ },
24
+ ], decoded.args[0]);
25
+ const owner = owners[0];
26
+ if (!owner)
27
+ throw new Error('HCA primary owner is required');
28
+ return owner.addr;
29
+ }
30
+ function predictCreate3Address(factory, owner) {
31
+ const salt = pad(owner, { size: 32, dir: 'right' });
32
+ const proxyHash = keccak256(encodePacked(['bytes1', 'address', 'bytes32', 'bytes32'], ['0xff', factory, salt, CREATE3_PROXY_HASH]));
33
+ const proxyAddress = slice(proxyHash, 12, 32);
34
+ return slice(keccak256(concat(['0xd694', proxyAddress, '0x01'])), 12, 32);
35
+ }
36
+ function hcaMaterial(input) {
37
+ if (input.account.kind !== 'hca')
38
+ throw new Error('Expected HCA account');
39
+ if (input.eoa)
40
+ return { address: input.eoa.address };
41
+ if (input.sessions.enabled || input.modules.length > 0) {
42
+ throw new Error('HCA accounts cannot install sessions or additional modules');
43
+ }
44
+ if (!input.owner || input.owner.kind !== 'ens') {
45
+ throw new Error('HCA accounts require ENS owners');
46
+ }
47
+ if (input.initData && !('factory' in input.initData)) {
48
+ return { address: input.initData.address };
49
+ }
50
+ let factory;
51
+ let factoryData;
52
+ if (input.initData && 'factory' in input.initData) {
53
+ factory = input.initData.factory;
54
+ factoryData = input.initData.factoryData;
55
+ try {
56
+ decodeFunctionData({
57
+ abi: parseAbi(['function createAccount(bytes)']),
58
+ data: factoryData,
59
+ });
60
+ }
61
+ catch {
62
+ return { address: input.initData.address };
63
+ }
64
+ }
65
+ else {
66
+ factory =
67
+ input.account.factory.source === 'explicit'
68
+ ? input.account.factory.value
69
+ : HCA_FACTORY_ADDRESS;
70
+ const validator = input.setup.validators[0];
71
+ if (!validator)
72
+ throw new Error('HCA owner validator is required');
73
+ factoryData = encodeFunctionData({
74
+ abi: parseAbi(['function createAccount(bytes)']),
75
+ functionName: 'createAccount',
76
+ args: [validator.initData],
77
+ });
78
+ }
79
+ return {
80
+ address: predictCreate3Address(factory, primaryOwner(factoryData)),
81
+ factory,
82
+ factoryData,
83
+ };
84
+ }
85
+ export function createHcaAdapter(construction) {
86
+ if (construction.account.kind !== 'hca') {
87
+ throw new Error('Expected HCA account');
88
+ }
89
+ return {
90
+ account: construction.account,
91
+ capabilities: {
92
+ modular: false,
93
+ supportsDeployment: true,
94
+ supportsUserOperations: true,
95
+ supportsEip7702Adoption: false,
96
+ supportsSmartSessions: false,
97
+ supportsOriginSignatureReuse: true,
98
+ signatureEnvelope: { kind: 'hca', validator: ENS_HCA_MODULE },
99
+ },
100
+ getIdentity: (input) => ({
101
+ definition: input.account,
102
+ address: hcaMaterial(input).address,
103
+ }),
104
+ getDeploymentPlan: (input) => deploymentPlan(input.chain, hcaMaterial(input), input.deployed),
105
+ encodeCalls: encodeErc7579Calls,
106
+ encodeModuleInstallation: () => {
107
+ throw new ModuleInstallationNotSupportedError('hca');
108
+ },
109
+ encodeModuleUninstallation: () => {
110
+ throw new ModuleInstallationNotSupportedError('hca');
111
+ },
112
+ encodeSignatureEnvelope: ({ envelope, validatorContribution }) => {
113
+ if (envelope.kind !== 'hca')
114
+ throw new Error('Expected HCA envelope');
115
+ return encodeAddressEnvelope(envelope.validator, validatorContribution, ENS_HCA_MODULE);
116
+ },
117
+ };
118
+ }
@@ -0,0 +1,9 @@
1
+ import { type Hex } from 'viem';
2
+ import type { ResolvedModule } from '../../modules/types.js';
3
+ import type { AccountAdapter } from '../adapter.js';
4
+ import type { AccountConstruction } from '../types.js';
5
+ export declare const KERNEL_IMPLEMENTATION_ADDRESS: "0xd6cedde84be40893d153be9d467cd6ad37875b28";
6
+ export declare function wrapKernelMessageHash(messageHash: Hex, account: Hex): Hex;
7
+ export declare function kernelInstallData(module: ResolvedModule): readonly Hex[];
8
+ export declare function createKernelAdapter(construction: AccountConstruction): AccountAdapter;
9
+ //# sourceMappingURL=kernel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../../../accounts/adapters/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,GAAG,EAOT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAKnD,eAAO,MAAM,6BAA6B,EACxC,4CAAqD,CAAA;AAQvD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,CAgBzE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,EAAE,CA2CxE;AAyED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,mBAAmB,GAChC,cAAc,CAmChB"}
@@ -0,0 +1,159 @@
1
+ import { concat, concatHex, decodeAbiParameters, decodeFunctionData, domainSeparator, encodeAbiParameters, encodeFunctionData, getContractAddress, keccak256, parseAbi, stringToHex, toHex, zeroAddress, zeroHash, } from 'viem';
2
+ import { moduleTypeId } from '../../modules/erc7579-abi.js';
3
+ import { deploymentPlan } from '../deployment.js';
4
+ import { encodeErc7579Calls } from '../erc7579-calls.js';
5
+ import { encodeUninstallModule } from './shared.js';
6
+ const KERNEL_META_FACTORY_ADDRESS = '0xd703aae79538628d27099b8c4f621be4ccd142d5';
7
+ export const KERNEL_IMPLEMENTATION_ADDRESS = '0xd6cedde84be40893d153be9d467cd6ad37875b28';
8
+ const KERNEL_FACTORY_ADDRESS = '0x2577507b78c2008ff367261cb6285d44ba5ef2e9';
9
+ const KERNEL_BYTECODE = '0x603d3d8160223d3973d6cedde84be40893d153be9d467cd6ad37875b2860095155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3';
10
+ const HOOK_INSTALLED_ADDRESS = '0x0000000000000000000000000000000000000001';
11
+ export function wrapKernelMessageHash(messageHash, account) {
12
+ const separator = domainSeparator({
13
+ domain: {
14
+ name: 'Kernel',
15
+ version: '0.3.3',
16
+ chainId: 0,
17
+ verifyingContract: account,
18
+ },
19
+ });
20
+ const structHash = keccak256(encodeAbiParameters([{ type: 'bytes32' }, { type: 'bytes32' }], [keccak256(stringToHex('Kernel(bytes32 hash)')), messageHash]));
21
+ return keccak256(concatHex(['0x1901', separator, structHash]));
22
+ }
23
+ export function kernelInstallData(module) {
24
+ const install = (initData) => encodeFunctionData({
25
+ abi: parseAbi(['function installModule(uint256,address,bytes)']),
26
+ functionName: 'installModule',
27
+ args: [moduleTypeId(module.kind), module.address, initData],
28
+ });
29
+ switch (module.kind) {
30
+ case 'validator': {
31
+ const data = encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }, { type: 'bytes' }], [module.initData, '0x', '0x']);
32
+ return [
33
+ install(concat([HOOK_INSTALLED_ADDRESS, data])),
34
+ encodeFunctionData({
35
+ abi: parseAbi(['function grantAccess(bytes21,bytes4,bool)']),
36
+ functionName: 'grantAccess',
37
+ args: [concat(['0x01', module.address]), '0xe9ae5c53', true],
38
+ }),
39
+ ];
40
+ }
41
+ case 'executor': {
42
+ const data = encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [module.initData, '0x']);
43
+ return [install(concat([zeroAddress, data]))];
44
+ }
45
+ case 'fallback': {
46
+ const [selector, flags, selectorData] = decodeAbiParameters([{ type: 'bytes4' }, { type: 'bytes1' }, { type: 'bytes' }], module.initData);
47
+ const data = encodeAbiParameters([{ type: 'bytes' }, { type: 'bytes' }], [concat([flags, selectorData]), '0x']);
48
+ return [install(concat([selector, HOOK_INSTALLED_ADDRESS, data]))];
49
+ }
50
+ case 'hook':
51
+ return [install(module.initData)];
52
+ }
53
+ }
54
+ function kernelMaterial(input) {
55
+ if (input.account.kind !== 'kernel')
56
+ throw new Error('Expected Kernel account');
57
+ if (input.eoa)
58
+ return { address: input.eoa.address };
59
+ if (input.initData && !('factory' in input.initData)) {
60
+ return { address: input.initData.address };
61
+ }
62
+ let factoryData;
63
+ let salt;
64
+ let initializationCallData;
65
+ if (input.initData && 'factory' in input.initData) {
66
+ const decoded = decodeFunctionData({
67
+ abi: parseAbi([
68
+ 'function deployWithFactory(address factory,bytes createData,bytes32 salt)',
69
+ ]),
70
+ data: input.initData.factoryData,
71
+ });
72
+ if (decoded.args[0].toLowerCase() !== KERNEL_FACTORY_ADDRESS.toLowerCase()) {
73
+ throw new Error('Unsupported Kernel implementation');
74
+ }
75
+ factoryData = input.initData.factoryData;
76
+ initializationCallData = decoded.args[1];
77
+ salt = decoded.args[2];
78
+ }
79
+ else {
80
+ const rootValidator = input.setup.validators[0];
81
+ if (!rootValidator)
82
+ throw new Error('Kernel root validator is required');
83
+ const initConfig = [
84
+ ...input.setup.validators.slice(1),
85
+ ...input.setup.executors,
86
+ ...input.setup.fallbacks,
87
+ ...input.setup.hooks,
88
+ ].flatMap(kernelInstallData);
89
+ initializationCallData = encodeFunctionData({
90
+ abi: parseAbi([
91
+ 'function initialize(bytes21,address,bytes,bytes,bytes[])',
92
+ ]),
93
+ functionName: 'initialize',
94
+ args: [
95
+ concat(['0x01', rootValidator.address]),
96
+ zeroAddress,
97
+ rootValidator.initData,
98
+ '0x',
99
+ initConfig,
100
+ ],
101
+ });
102
+ salt =
103
+ input.account.salt.source === 'explicit'
104
+ ? input.account.salt.value
105
+ : zeroHash;
106
+ factoryData = encodeFunctionData({
107
+ abi: parseAbi(['function deployWithFactory(address,bytes,bytes32)']),
108
+ functionName: 'deployWithFactory',
109
+ args: [KERNEL_FACTORY_ADDRESS, initializationCallData, salt],
110
+ });
111
+ }
112
+ const actualSalt = keccak256(concat([initializationCallData, salt]));
113
+ const address = getContractAddress({
114
+ from: KERNEL_FACTORY_ADDRESS,
115
+ opcode: 'CREATE2',
116
+ bytecode: KERNEL_BYTECODE,
117
+ salt: actualSalt,
118
+ });
119
+ return {
120
+ address,
121
+ factory: input.initData?.factory ?? KERNEL_META_FACTORY_ADDRESS,
122
+ factoryData,
123
+ };
124
+ }
125
+ export function createKernelAdapter(construction) {
126
+ if (construction.account.kind !== 'kernel') {
127
+ throw new Error('Expected Kernel account');
128
+ }
129
+ const validator = construction.setup.validators[0]?.address ?? zeroAddress;
130
+ return {
131
+ account: construction.account,
132
+ capabilities: {
133
+ modular: true,
134
+ supportsDeployment: true,
135
+ supportsUserOperations: true,
136
+ supportsEip7702Adoption: false,
137
+ supportsSmartSessions: true,
138
+ supportsOriginSignatureReuse: true,
139
+ signatureEnvelope: { kind: 'kernel', validator, isRoot: true },
140
+ },
141
+ getIdentity: (input) => ({
142
+ definition: input.account,
143
+ address: kernelMaterial(input).address,
144
+ }),
145
+ getDeploymentPlan: (input) => deploymentPlan(input.chain, kernelMaterial(input), input.deployed),
146
+ encodeCalls: encodeErc7579Calls,
147
+ encodeModuleInstallation: kernelInstallData,
148
+ encodeModuleUninstallation: encodeUninstallModule,
149
+ encodeSignatureEnvelope: ({ envelope, validatorContribution }) => {
150
+ if (envelope.kind !== 'kernel')
151
+ throw new Error('Expected Kernel envelope');
152
+ return concat([
153
+ envelope.isRoot ? '0x00' : concat(['0x01', envelope.validator]),
154
+ keccak256(toHex('kernel.replayable.signature')),
155
+ validatorContribution,
156
+ ]);
157
+ },
158
+ };
159
+ }
@@ -0,0 +1,17 @@
1
+ import { type Address, type Hex } from 'viem';
2
+ import type { AccountAdapter } from '../adapter.js';
3
+ import { type DeploymentMaterial } from '../deployment.js';
4
+ import type { AccountConstruction } from '../types.js';
5
+ export declare const NEXUS_IMPLEMENTATION_ADDRESS: "0x000000000032ddc454c3bdcba80484ad5a798705";
6
+ export declare const NEXUS_FACTORY_ADDRESS: "0x0000000000679a258c64d2f20f310e12b64b7375";
7
+ export declare const NEXUS_IMPLEMENTATION_1_2_1: "0x000000000d41c0bf0063dba53343389cdb2c9c78";
8
+ export declare const NEXUS_FACTORY_1_2_1: "0x0000000099d5576c73a3b190dabeeaa0f128ce6b";
9
+ export declare function nexusDefaultValidator(version: string | undefined): Address;
10
+ export interface NexusDeploymentMaterial extends DeploymentMaterial {
11
+ readonly initializationCallData?: Hex;
12
+ readonly implementation?: Address;
13
+ readonly salt?: Hex;
14
+ }
15
+ export declare function nexusMaterial(input: AccountConstruction): NexusDeploymentMaterial;
16
+ export declare function createNexusAdapter(construction: AccountConstruction): AccountAdapter;
17
+ //# sourceMappingURL=nexus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nexus.d.ts","sourceRoot":"","sources":["../../../../accounts/adapters/nexus.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAOZ,KAAK,GAAG,EAKT,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAkB,MAAM,eAAe,CAAA;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAOnD,eAAO,MAAM,4BAA4B,EACvC,4CAAqD,CAAA;AACvD,eAAO,MAAM,qBAAqB,EAChC,4CAAqD,CAAA;AAIvD,eAAO,MAAM,0BAA0B,EACrC,4CAAqD,CAAA;AACvD,eAAO,MAAM,mBAAmB,EAC9B,4CAAqD,CAAA;AAMvD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAW1E;AA+BD,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAA;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CACpB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,mBAAmB,GACzB,uBAAuB,CAwHzB;AA4CD,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,mBAAmB,GAChC,cAAc,CAwChB"}
@@ -0,0 +1,227 @@
1
+ import { concat, decodeFunctionData, encodeAbiParameters, encodeFunctionData, encodePacked, getContractAddress, keccak256, parseAbi, size, zeroAddress, } from 'viem';
2
+ import { OWNABLE_VALIDATOR_ADDRESS } from '../../modules/validators/ownable.js';
3
+ import { deploymentPlan } from '../deployment.js';
4
+ import { encodeErc7579Calls } from '../erc7579-calls.js';
5
+ import { encodeAddressEnvelope, encodeInstallModule, encodeUninstallModule, } from './shared.js';
6
+ export const NEXUS_IMPLEMENTATION_ADDRESS = '0x000000000032ddc454c3bdcba80484ad5a798705';
7
+ export const NEXUS_FACTORY_ADDRESS = '0x0000000000679a258c64d2f20f310e12b64b7375';
8
+ // Current default (1.2.1): new implementation + factory, same bootstrap and
9
+ // proxy creation code as 1.2.0. `version: '1.2.0'` opts back into the previous
10
+ // implementation + factory so its counterfactual address doesn't change.
11
+ export const NEXUS_IMPLEMENTATION_1_2_1 = '0x000000000d41c0bf0063dba53343389cdb2c9c78';
12
+ export const NEXUS_FACTORY_1_2_1 = '0x0000000099d5576c73a3b190dabeeaa0f128ce6b';
13
+ const NEXUS_BOOTSTRAP_ADDRESS = '0x00000000006efb61d8c9546ff1b500de3f244ea7';
14
+ const NEXUS_CREATION_CODE = '0x60806040526102aa803803806100148161018c565b92833981016040828203126101885781516001600160a01b03811692909190838303610188576020810151906001600160401b03821161018857019281601f8501121561018857835161006e610069826101c5565b61018c565b9481865260208601936020838301011161018857815f926020809301865e8601015260017f90b772c2cb8a51aa7a8a65fc23543c6d022d5b3f8e2b92eed79fba7eef8293005d823b15610176577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561015e575f8091610146945190845af43d15610156573d91610137610069846101c5565b9283523d5f602085013e6101e0565b505b604051606b908161023f8239f35b6060916101e0565b50505034156101485763b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176101b157604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116101b157601f01601f191660200190565b9061020457508051156101f557805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580610235575b610215575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561020d56fe60806040523615605c575f8073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416368280378136915af43d5f803e156058573d5ff35b3d5ffd5b00fea164736f6c634300081b000a';
15
+ export function nexusDefaultValidator(version) {
16
+ switch (version) {
17
+ case '1.0.2':
18
+ return '0x0000002d6db27c52e3c11c1cf24072004ac75cba';
19
+ case 'rhinestone-1.0.0-beta':
20
+ return '0x0000000000e9e6e96bcaa3c113187cdb7e38aed9';
21
+ default:
22
+ // 1.2.0 and 1.2.1 both hardwire the Ownable validator; unset and
23
+ // rhinestone-1.0.0 resolve to it as well.
24
+ return OWNABLE_VALIDATOR_ADDRESS;
25
+ }
26
+ }
27
+ // Resolves the implementation + factory a fresh account deploys against. Only
28
+ // the default (unset) and an explicit '1.2.1' deploy the current contracts;
29
+ // '1.2.0' and the legacy pins keep the previous implementation + factory so
30
+ // their counterfactual addresses don't change.
31
+ function getNexusDeployment(version) {
32
+ if (!version || version === '1.2.1') {
33
+ return {
34
+ implementation: NEXUS_IMPLEMENTATION_1_2_1,
35
+ factory: NEXUS_FACTORY_1_2_1,
36
+ };
37
+ }
38
+ return {
39
+ implementation: NEXUS_IMPLEMENTATION_ADDRESS,
40
+ factory: NEXUS_FACTORY_ADDRESS,
41
+ };
42
+ }
43
+ // Maps a Nexus factory to the implementation it deploys, so a persisted
44
+ // `initData` payload recomputes against the right implementation instead of
45
+ // defaulting to one version.
46
+ function implementationForFactory(factory) {
47
+ return factory.toLowerCase() === NEXUS_FACTORY_1_2_1
48
+ ? NEXUS_IMPLEMENTATION_1_2_1
49
+ : NEXUS_IMPLEMENTATION_ADDRESS;
50
+ }
51
+ export function nexusMaterial(input) {
52
+ if (input.account.kind !== 'nexus')
53
+ throw new Error('Expected Nexus account');
54
+ if (input.eoa)
55
+ return { address: input.eoa.address };
56
+ if (input.initData && !('factory' in input.initData)) {
57
+ return { address: input.initData.address };
58
+ }
59
+ const version = input.account.version.source === 'explicit'
60
+ ? input.account.version.value
61
+ : undefined;
62
+ let factory;
63
+ let factoryData;
64
+ let implementation;
65
+ let initializationCallData;
66
+ let salt;
67
+ if (input.initData && 'factory' in input.initData) {
68
+ const decoded = decodeFunctionData({
69
+ abi: parseAbi(['function createAccount(bytes,bytes32)']),
70
+ data: input.initData.factoryData,
71
+ });
72
+ factory = input.initData.factory;
73
+ implementation = implementationForFactory(factory);
74
+ factoryData = input.initData.factoryData;
75
+ const initData = decoded.args[0];
76
+ salt = decoded.args[1];
77
+ initializationCallData = encodeFunctionData({
78
+ abi: parseAbi(['function initializeAccount(bytes)']),
79
+ functionName: 'initializeAccount',
80
+ args: [initData],
81
+ });
82
+ }
83
+ else {
84
+ const deployment = getNexusDeployment(version);
85
+ factory = deployment.factory;
86
+ implementation = deployment.implementation;
87
+ salt =
88
+ input.account.salt.source === 'explicit'
89
+ ? input.account.salt.value
90
+ : keccak256('0x');
91
+ const defaultValidator = input.setup.validators.find((module) => module.address === OWNABLE_VALIDATOR_ADDRESS);
92
+ const defaultValidatorInitData = defaultValidator?.initData ?? '0x';
93
+ const validators = input.setup.validators.filter((module) => module.address !== OWNABLE_VALIDATOR_ADDRESS);
94
+ const configs = (modules) => modules.map((module) => ({
95
+ module: module.address,
96
+ initData: module.initData,
97
+ }));
98
+ const bootstrapData = size(defaultValidatorInitData) > 0
99
+ ? encodeFunctionData({
100
+ abi: parseAbi([
101
+ 'struct BootstrapConfig {address module;bytes initData;}',
102
+ 'struct BootstrapPreValidationHookConfig {uint256 hookType;address module;bytes data;}',
103
+ 'function initNexusWithDefaultValidatorAndOtherModulesNoRegistry(bytes defaultValidatorInitData,BootstrapConfig[] validators,BootstrapConfig[] executors,BootstrapConfig hook,BootstrapConfig[] fallbacks,BootstrapPreValidationHookConfig[] preValidationHooks)',
104
+ ]),
105
+ functionName: 'initNexusWithDefaultValidatorAndOtherModulesNoRegistry',
106
+ args: [
107
+ defaultValidatorInitData,
108
+ configs(validators),
109
+ configs(input.setup.executors),
110
+ { module: zeroAddress, initData: '0x' },
111
+ configs(input.setup.fallbacks),
112
+ [],
113
+ ],
114
+ })
115
+ : encodeFunctionData({
116
+ abi: parseAbi([
117
+ 'struct BootstrapConfig {address module;bytes initData;}',
118
+ 'struct BootstrapPreValidationHookConfig {uint256 hookType;address module;bytes data;}',
119
+ 'function initNexusNoRegistry(BootstrapConfig[] validators,BootstrapConfig[] executors,BootstrapConfig hook,BootstrapConfig[] fallbacks,BootstrapPreValidationHookConfig[] preValidationHooks)',
120
+ ]),
121
+ functionName: 'initNexusNoRegistry',
122
+ args: [
123
+ configs(validators),
124
+ configs(input.setup.executors),
125
+ { module: zeroAddress, initData: '0x' },
126
+ configs(input.setup.fallbacks),
127
+ [],
128
+ ],
129
+ });
130
+ const initData = encodeAbiParameters([{ type: 'address' }, { type: 'bytes' }], [NEXUS_BOOTSTRAP_ADDRESS, bootstrapData]);
131
+ factoryData = encodeFunctionData({
132
+ abi: parseAbi(['function createAccount(bytes,bytes32)']),
133
+ functionName: 'createAccount',
134
+ args: [initData, salt],
135
+ });
136
+ initializationCallData = encodeFunctionData({
137
+ abi: parseAbi(['function initializeAccount(bytes)']),
138
+ functionName: 'initializeAccount',
139
+ args: [initData],
140
+ });
141
+ }
142
+ const accountInitData = encodeAbiParameters([
143
+ { name: 'address', type: 'address' },
144
+ { name: 'calldata', type: 'bytes' },
145
+ ], [implementation, initializationCallData]);
146
+ const address = getContractAddress({
147
+ opcode: 'CREATE2',
148
+ from: factory,
149
+ salt,
150
+ bytecode: concat([NEXUS_CREATION_CODE, accountInitData]),
151
+ });
152
+ return {
153
+ address,
154
+ factory,
155
+ factoryData,
156
+ implementation,
157
+ initializationCallData,
158
+ salt,
159
+ };
160
+ }
161
+ function nexusEip7702AdoptionPlan(input) {
162
+ const { eoa: _eoa, ...factoryConstruction } = input;
163
+ const material = nexusMaterial(factoryConstruction);
164
+ if (!material.factoryData || !material.implementation) {
165
+ throw new Error('Nexus EIP-7702 initialization data is unavailable');
166
+ }
167
+ const decoded = decodeFunctionData({
168
+ abi: parseAbi(['function createAccount(bytes,bytes32)']),
169
+ data: material.factoryData,
170
+ });
171
+ if (decoded.functionName !== 'createAccount') {
172
+ throw new Error('Invalid Nexus EIP-7702 initialization data');
173
+ }
174
+ return {
175
+ contract: material.implementation,
176
+ initData: decoded.args[0],
177
+ };
178
+ }
179
+ // Builds the signed `initializeAccount` call sent as the account setup op when a
180
+ // 7702 intent is prepared. The account authorizes initialization by prefixing
181
+ // the raw module init data (packed with the any-chain sentinel) with its
182
+ // EIP-7702 init signature.
183
+ function nexusEip7702InitCall(input, eip7702InitSignature) {
184
+ const { initData } = nexusEip7702AdoptionPlan(input);
185
+ const packedInitData = encodePacked(['uint256', 'uint256', 'uint256', 'bytes'], [0n, 1n, 0n, initData]);
186
+ return encodeFunctionData({
187
+ abi: parseAbi(['function initializeAccount(bytes)']),
188
+ functionName: 'initializeAccount',
189
+ args: [concat([eip7702InitSignature, packedInitData])],
190
+ });
191
+ }
192
+ export function createNexusAdapter(construction) {
193
+ if (construction.account.kind !== 'nexus') {
194
+ throw new Error('Expected Nexus account');
195
+ }
196
+ const version = construction.account.version.source === 'explicit'
197
+ ? construction.account.version.value
198
+ : undefined;
199
+ const validator = construction.setup.validators[0]?.address ?? zeroAddress;
200
+ return {
201
+ account: construction.account,
202
+ capabilities: {
203
+ modular: true,
204
+ supportsDeployment: true,
205
+ supportsUserOperations: true,
206
+ supportsEip7702Adoption: true,
207
+ supportsSmartSessions: true,
208
+ supportsOriginSignatureReuse: true,
209
+ signatureEnvelope: { kind: 'nexus', validator },
210
+ },
211
+ getIdentity: (input) => ({
212
+ definition: input.account,
213
+ address: nexusMaterial(input).address,
214
+ }),
215
+ getDeploymentPlan: (input) => deploymentPlan(input.chain, nexusMaterial(input), input.deployed),
216
+ getEip7702AdoptionPlan: nexusEip7702AdoptionPlan,
217
+ getEip7702InitCall: nexusEip7702InitCall,
218
+ encodeCalls: encodeErc7579Calls,
219
+ encodeModuleInstallation: (module) => [encodeInstallModule(module)],
220
+ encodeModuleUninstallation: encodeUninstallModule,
221
+ encodeSignatureEnvelope: ({ envelope, validatorContribution }) => {
222
+ if (envelope.kind !== 'nexus')
223
+ throw new Error('Expected Nexus envelope');
224
+ return encodeAddressEnvelope(envelope.validator, validatorContribution, nexusDefaultValidator(version));
225
+ },
226
+ };
227
+ }
@@ -0,0 +1,6 @@
1
+ import type { AccountAdapter } from '../adapter.js';
2
+ import { type DeploymentMaterial } from '../deployment.js';
3
+ import type { AccountConstruction } from '../types.js';
4
+ export declare function safeV0FactoryMaterial(input: AccountConstruction): Pick<Required<DeploymentMaterial>, 'factory' | 'factoryData'>;
5
+ export declare function createSafeAdapter(construction: AccountConstruction): AccountAdapter;
6
+ //# sourceMappingURL=safe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe.d.ts","sourceRoot":"","sources":["../../../../accounts/adapters/safe.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAkB,MAAM,eAAe,CAAA;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAyHnD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GACzB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,CA0D/D;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,mBAAmB,GAChC,cAAc,CA8BhB"}