@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
@@ -0,0 +1,136 @@
1
+ import type { Address, Hex, SignedAuthorization } from 'viem';
2
+ import type { AccountRuntimePort } from '../../accounts/adapter.js';
3
+ import type { UnresolvedCall } from '../../calls/types.js';
4
+ import type { ChainReference, EvmChainReference } from '../../chains/types.js';
5
+ import type { IntentQuotePort, IntentStatusPort, IntentSubmissionPort } from '../../clients/orchestrator/port.js';
6
+ import type { IntentOpStatus, OriginSignature, Quote } from '../../clients/orchestrator/public.js';
7
+ import type { OrchestratorAccount, OrchestratorAccountAccessList, OrchestratorIntentOptions, OrchestratorIntentRequest, OrchestratorOriginSignature, OrchestratorQuote } from '../../clients/orchestrator/types.js';
8
+ import type { Transaction } from '../../config/account.js';
9
+ import type { ResolvedSessionSignerSet, Session, SessionEnableData } from '../../modules/validators/smart-sessions/types.js';
10
+ import type { IntentSigningInput } from '../../signing/intent-plans/types.js';
11
+ import type { OwnerSignerSelection, SignerInvocationPort, SigningCheckpointPort, SigningTranscript } from '../../signing/types.js';
12
+ export interface IntentTokenRequest {
13
+ readonly token: Address | string;
14
+ readonly amount?: bigint;
15
+ }
16
+ export interface IntentSourceCall<CompatibilityConfig> {
17
+ readonly call: UnresolvedCall<CompatibilityConfig>;
18
+ readonly provides?: readonly {
19
+ readonly token: Address;
20
+ readonly amount: bigint;
21
+ }[];
22
+ }
23
+ export interface IntentSessionSelection {
24
+ readonly kind: 'smart-session';
25
+ readonly byChain: Readonly<Record<number, {
26
+ readonly session: Session;
27
+ readonly enableData?: SessionEnableData;
28
+ }>>;
29
+ }
30
+ export interface IntentInput<CompatibilityConfig = unknown> {
31
+ readonly destination: ChainReference;
32
+ readonly sourceChains?: readonly EvmChainReference[];
33
+ readonly calls: readonly UnresolvedCall<CompatibilityConfig>[];
34
+ readonly tokenRequests: readonly IntentTokenRequest[];
35
+ readonly recipient?: OrchestratorAccount;
36
+ readonly gasLimit?: bigint;
37
+ readonly eip7702InitSignature?: Hex;
38
+ readonly accountAccessList?: OrchestratorAccountAccessList;
39
+ readonly options?: Omit<OrchestratorIntentOptions, 'signatureMode'>;
40
+ readonly signatureMode?: number;
41
+ readonly sourceCalls?: Readonly<Record<number, readonly IntentSourceCall<CompatibilityConfig>[]>>;
42
+ readonly accountSetupOverride?: readonly {
43
+ readonly to: Address;
44
+ readonly data: Hex;
45
+ }[];
46
+ readonly signers?: OwnerSignerSelection | IntentSessionSelection;
47
+ }
48
+ export interface PreparedIntent<CompatibilityConfig = unknown> {
49
+ readonly traceId: string;
50
+ readonly input: IntentInput<CompatibilityConfig>;
51
+ readonly request: OrchestratorIntentRequest;
52
+ readonly quote: OrchestratorQuote;
53
+ readonly quotes: readonly OrchestratorQuote[];
54
+ readonly signing: IntentSigningInput;
55
+ readonly accountChain: EvmChainReference;
56
+ readonly resolvedSessions?: Readonly<Record<number, ResolvedSessionSignerSet>>;
57
+ readonly sessionEnvironment?: 'production' | 'development';
58
+ }
59
+ export interface SignedIntent<CompatibilityConfig = unknown> {
60
+ readonly prepared: PreparedIntent<CompatibilityConfig>;
61
+ readonly originSignatures: readonly OrchestratorOriginSignature[];
62
+ readonly destinationSignature: Hex;
63
+ readonly targetSignature?: Hex;
64
+ readonly transcript: SigningTranscript;
65
+ readonly authorizations?: readonly SignedAuthorization[];
66
+ readonly dryRun?: boolean;
67
+ }
68
+ export interface SubmittedIntent {
69
+ readonly type: 'intent';
70
+ readonly traceId: string;
71
+ readonly intentId: string;
72
+ readonly sourceChains?: readonly number[];
73
+ readonly targetChain: number;
74
+ }
75
+ export interface IntentStatus {
76
+ readonly traceId: string;
77
+ readonly intentId: string;
78
+ readonly status: IntentOpStatus['status'];
79
+ readonly account: Address;
80
+ readonly operations: readonly IntentOpStatus['operations'][number][];
81
+ readonly terminal: boolean;
82
+ }
83
+ export interface IntentWorkflowContext<CompatibilityConfig = unknown> {
84
+ readonly compatibilityConfig: CompatibilityConfig;
85
+ readonly account: AccountRuntimePort;
86
+ readonly quoteClient: IntentQuotePort;
87
+ readonly submissionClient: IntentSubmissionPort;
88
+ readonly statusClient: IntentStatusPort;
89
+ readonly signerInvoker: SignerInvocationPort;
90
+ readonly checkpoints: SigningCheckpointPort;
91
+ readonly signAuthorizations: (input: {
92
+ readonly chains: readonly ChainReference[];
93
+ readonly eip7702InitSignature: Hex;
94
+ }) => Promise<readonly SignedAuthorization[]>;
95
+ readonly clock: {
96
+ readonly now: () => number;
97
+ readonly sleep: (milliseconds: number) => Promise<void>;
98
+ };
99
+ }
100
+ export interface TransactionResult {
101
+ type: 'intent';
102
+ id: string;
103
+ traceId: string;
104
+ sourceChains?: number[];
105
+ targetChain: number;
106
+ }
107
+ export interface PreparedQuotes {
108
+ traceId: string;
109
+ best: Quote;
110
+ all: Quote[];
111
+ }
112
+ export interface PreparedTransactionData {
113
+ quotes: PreparedQuotes;
114
+ intentInput: unknown;
115
+ transaction: Transaction;
116
+ }
117
+ export interface QuoteSelection {
118
+ intentId: string;
119
+ }
120
+ export interface SignedTransactionData extends PreparedTransactionData {
121
+ quote: Quote;
122
+ originSignatures: OriginSignature[];
123
+ destinationSignature: Hex;
124
+ targetExecutionSignature: Hex | undefined;
125
+ }
126
+ export interface TransactionStatus {
127
+ /** OpenTelemetry trace ID for correlating the status response. */
128
+ traceId: IntentOpStatus['traceId'];
129
+ /** High-level intent status. */
130
+ status: IntentOpStatus['status'];
131
+ /** The account address that owns this intent. */
132
+ accountAddress: Address;
133
+ /** Per-chain operation status. One entry per chain. */
134
+ operations: IntentOpStatus['operations'];
135
+ }
136
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../transactions/intents/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAA;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3E,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,KAAK,EACN,MAAM,mCAAmC,CAAA;AAC1C,OAAO,KAAK,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EACV,wBAAwB,EACxB,OAAO,EACP,iBAAiB,EAClB,MAAM,+CAA+C,CAAA;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAE5B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,gBAAgB,CAAC,mBAAmB;IACnD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS;QAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KACxB,EAAE,CAAA;CACJ;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CACxB,MAAM,CACJ,MAAM,EACN;QACE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;KACxC,CACF,CACF,CAAA;CACF;AAED,MAAM,WAAW,WAAW,CAAC,mBAAmB,GAAG,OAAO;IACxD,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAA;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;IACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAAA;IAC9D,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAA;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,CAAA;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAA;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CACjE,CAAA;IACD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS;QACvC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;QACpB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;KACnB,EAAE,CAAA;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,sBAAsB,CAAA;CACjE;AAED,MAAM,WAAW,cAAc,CAAC,mBAAmB,GAAG,OAAO;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAA;IAChD,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAA;IAC3C,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;IACpC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAA;IAC9E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,YAAY,GAAG,aAAa,CAAA;CAC3D;AAED,MAAM,WAAW,YAAY,CAAC,mBAAmB,GAAG,OAAO;IACzD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,mBAAmB,CAAC,CAAA;IACtD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,2BAA2B,EAAE,CAAA;IACjE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAA;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA;IACpE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,qBAAqB,CAAC,mBAAmB,GAAG,OAAO;IAClE,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAA;IACjD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAA;IACrC,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAA;IAC/C,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAA;IACvC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAA;IAC5C,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAA;IAC3C,QAAQ,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE;QACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAA;QAC1C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAA;KACnC,KAAK,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAA;QAC1B,QAAQ,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KACxD,CAAA;CACF;AAID,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,KAAK,CAAA;IACX,GAAG,EAAE,KAAK,EAAE,CAAA;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,EAAE,OAAO,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,KAAK,EAAE,KAAK,CAAA;IACZ,gBAAgB,EAAE,eAAe,EAAE,CAAA;IACnC,oBAAoB,EAAE,GAAG,CAAA;IACzB,wBAAwB,EAAE,GAAG,GAAG,SAAS,CAAA;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;IAClC,gCAAgC;IAChC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAChC,iDAAiD;IACjD,cAAc,EAAE,OAAO,CAAA;IACvB,uDAAuD;IACvD,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;CACzC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import type { Hex } from 'viem';
2
+ import type { EvmChainReference } from '../../chains/types.js';
3
+ import type { BundlerUserOperation } from '../../clients/bundler/port.js';
4
+ export declare function hashUserOperation(chain: EvmChainReference, operation: BundlerUserOperation): Hex;
5
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/hash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAK/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEtE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,oBAAoB,GAC9B,GAAG,CAOL"}
@@ -0,0 +1,9 @@
1
+ import { entryPoint07Address, getUserOperationHash, } from 'viem/account-abstraction';
2
+ export function hashUserOperation(chain, operation) {
3
+ return getUserOperationHash({
4
+ userOperation: operation,
5
+ chainId: chain.id,
6
+ entryPointAddress: entryPoint07Address,
7
+ entryPointVersion: '0.7',
8
+ });
9
+ }
@@ -0,0 +1,18 @@
1
+ import { type Address } from 'viem';
2
+ import type { AccountKind } from '../../accounts/types.js';
3
+ import type { EvmChainReference } from '../../chains/types.js';
4
+ import type { RpcReadPort } from '../../clients/rpc/port.js';
5
+ export declare function getUserOperationNonceKey(input: {
6
+ readonly accountKind: AccountKind;
7
+ readonly validator: Address;
8
+ readonly defaultValidator?: Address;
9
+ readonly lane?: bigint;
10
+ readonly requested?: bigint;
11
+ }): bigint;
12
+ export declare function readUserOperationNonce(input: {
13
+ readonly rpc: RpcReadPort;
14
+ readonly chain: EvmChainReference;
15
+ readonly sender: Address;
16
+ readonly key: bigint;
17
+ }): Promise<bigint>;
18
+ //# sourceMappingURL=nonce.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nonce.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/nonce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA8B,MAAM,MAAM,CAAA;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAezD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B,GAAG,MAAM,CAoBT;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB"}
@@ -0,0 +1,43 @@
1
+ import { concat, toHex, zeroAddress } from 'viem';
2
+ import { entryPoint07Address } from 'viem/account-abstraction';
3
+ const getNonceAbi = [
4
+ {
5
+ type: 'function',
6
+ name: 'getNonce',
7
+ stateMutability: 'view',
8
+ inputs: [
9
+ { name: 'sender', type: 'address' },
10
+ { name: 'key', type: 'uint192' },
11
+ ],
12
+ outputs: [{ name: 'nonce', type: 'uint256' }],
13
+ },
14
+ ];
15
+ export function getUserOperationNonceKey(input) {
16
+ if (input.requested !== undefined)
17
+ return input.requested;
18
+ switch (input.accountKind) {
19
+ case 'safe':
20
+ return BigInt(concat([input.validator, '0x00000000']));
21
+ case 'kernel':
22
+ return BigInt(concat(['0x0000', input.validator, '0x0000']));
23
+ case 'nexus':
24
+ case 'startale':
25
+ case 'hca': {
26
+ const validator = input.defaultValidator?.toLowerCase() === input.validator.toLowerCase()
27
+ ? zeroAddress
28
+ : input.validator;
29
+ const lane = (input.lane ?? 0n) % 16777215n;
30
+ return BigInt(concat([toHex(lane, { size: 3 }), '0x00', validator]));
31
+ }
32
+ case 'eoa':
33
+ throw new Error('EOA accounts do not support UserOperations');
34
+ }
35
+ }
36
+ export async function readUserOperationNonce(input) {
37
+ return input.rpc.readContract({ chain: input.chain }, {
38
+ address: entryPoint07Address,
39
+ abi: getNonceAbi,
40
+ functionName: 'getNonce',
41
+ args: [input.sender, input.key],
42
+ });
43
+ }
@@ -0,0 +1,12 @@
1
+ import type { Hex } from 'viem';
2
+ import type { EvmChainReference } from '../../chains/types.js';
3
+ import { type SigningContext } from '../../signing/context.js';
4
+ import type { UserOperationSigningPlanInput } from '../../signing/user-operation.js';
5
+ import type { PreparedUserOperation, UserOperationInput, UserOperationWorkflowContext } from './types.js';
6
+ export declare function prepareUserOperation<CompatibilityConfig>(context: UserOperationWorkflowContext<CompatibilityConfig>, input: UserOperationInput<CompatibilityConfig>): Promise<PreparedUserOperation<CompatibilityConfig>>;
7
+ /**
8
+ * Builds the validator signing-plan input for a UserOperation hash. Shared by
9
+ * preparation and reconstruction so both derive an identical signing plan.
10
+ */
11
+ export declare function buildUserOperationSigningPlanInput(signingContext: SigningContext, chain: EvmChainReference, hash: Hex): UserOperationSigningPlanInput;
12
+ //# sourceMappingURL=prepare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAI/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI3D,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAA;AAK9B,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAA;AAGjF,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAGhB,wBAAsB,oBAAoB,CAAC,mBAAmB,EAC5D,OAAO,EAAE,4BAA4B,CAAC,mBAAmB,CAAC,EAC1D,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GAC7C,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC,CAgGrD;AAiBD;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,GAAG,GACR,6BAA6B,CAoB/B"}
@@ -0,0 +1,136 @@
1
+ import { K1_DEFAULT_VALIDATOR_ADDRESS } from '../../accounts/adapters/startale.js';
2
+ import { resolveCalls } from '../../calls/resolve.js';
3
+ import { ENS_HCA_MODULE } from '../../modules/validators/ens.js';
4
+ import { OWNABLE_VALIDATOR_ADDRESS } from '../../modules/validators/ownable.js';
5
+ import { createAccountSigningContext, getSigningValidatorCodec, getSigningValidatorFactors, } from '../../signing/context.js';
6
+ import { createValidatorSigningTasks, signingTopology, } from '../../signing/plan.js';
7
+ import { hashUserOperation } from './hash.js';
8
+ import { getUserOperationNonceKey, readUserOperationNonce } from './nonce.js';
9
+ import { getUserOperationStubSignature } from './validator-account.js';
10
+ export async function prepareUserOperation(context, input) {
11
+ const runtime = await context.account.forChain(input.chain);
12
+ const signingContext = createAccountSigningContext({
13
+ runtime,
14
+ purpose: 'user-operation',
15
+ signerInvoker: context.signerInvoker,
16
+ ...(input.signers ? { selection: input.signers } : {}),
17
+ });
18
+ const calls = await resolveCalls(input.calls, {
19
+ account: runtime.identity.address,
20
+ chain: input.chain,
21
+ config: context.compatibilityConfig,
22
+ });
23
+ const nonce = await readUserOperationNonce({
24
+ rpc: context.rpc.forChain(input.chain),
25
+ chain: input.chain,
26
+ sender: runtime.identity.address,
27
+ key: getUserOperationNonceKey({
28
+ accountKind: runtime.construction.account.kind,
29
+ validator: signingContext.validatorCapabilities.compatibilityKey.moduleAddress,
30
+ defaultValidator: defaultUserOperationValidator(runtime.construction),
31
+ lane: BigInt(context.clock.now()),
32
+ ...(input.nonceKey === undefined ? {} : { requested: input.nonceKey }),
33
+ }),
34
+ });
35
+ const deployment = runtime.adapter.getDeploymentPlan(runtime.construction);
36
+ const gasPrice = await context.bundler.getGasPrice(input.chain);
37
+ let operation = {
38
+ sender: runtime.identity.address,
39
+ nonce,
40
+ ...(deployment.deployed || !deployment.factory || !deployment.factoryData
41
+ ? {}
42
+ : {
43
+ factory: deployment.factory,
44
+ factoryData: deployment.factoryData,
45
+ }),
46
+ callData: runtime.adapter.encodeCalls({
47
+ chain: input.chain,
48
+ calls,
49
+ mode: calls.length > 1 ? 'batch' : 'single',
50
+ }),
51
+ callGasLimit: input.gasLimit ?? 0n,
52
+ verificationGasLimit: 0n,
53
+ preVerificationGas: 0n,
54
+ maxFeePerGas: gasPrice.maxFeePerGas,
55
+ maxPriorityFeePerGas: gasPrice.maxPriorityFeePerGas,
56
+ signature: getUserOperationStubSignature(runtime, signingContext),
57
+ };
58
+ let paymasterIsFinal = false;
59
+ if (context.paymaster) {
60
+ const { isFinal, ...stub } = await context.paymaster.getStubData(input.chain, operation);
61
+ paymasterIsFinal = isFinal;
62
+ operation = {
63
+ ...operation,
64
+ ...stub,
65
+ };
66
+ }
67
+ const gas = await context.bundler.estimateGas(input.chain, operation);
68
+ const paymasterGas = {
69
+ ...(operation.paymasterVerificationGasLimit === undefined
70
+ ? {}
71
+ : {
72
+ paymasterVerificationGasLimit: operation.paymasterVerificationGasLimit,
73
+ }),
74
+ ...(operation.paymasterPostOpGasLimit === undefined
75
+ ? {}
76
+ : { paymasterPostOpGasLimit: operation.paymasterPostOpGasLimit }),
77
+ };
78
+ operation = {
79
+ ...operation,
80
+ ...gas,
81
+ ...paymasterGas,
82
+ ...(input.gasLimit === undefined ? {} : { callGasLimit: input.gasLimit }),
83
+ };
84
+ if (context.paymaster && !paymasterIsFinal) {
85
+ operation = {
86
+ ...operation,
87
+ ...(await context.paymaster.getData(input.chain, operation)),
88
+ };
89
+ }
90
+ const hash = hashUserOperation(input.chain, operation);
91
+ return {
92
+ input,
93
+ operation,
94
+ hash,
95
+ signing: buildUserOperationSigningPlanInput(signingContext, input.chain, hash),
96
+ };
97
+ }
98
+ function defaultUserOperationValidator(construction) {
99
+ switch (construction.account.kind) {
100
+ case 'nexus':
101
+ return OWNABLE_VALIDATOR_ADDRESS;
102
+ case 'startale':
103
+ return K1_DEFAULT_VALIDATOR_ADDRESS;
104
+ case 'hca':
105
+ return ENS_HCA_MODULE;
106
+ case 'safe':
107
+ case 'kernel':
108
+ case 'eoa':
109
+ return undefined;
110
+ }
111
+ }
112
+ /**
113
+ * Builds the validator signing-plan input for a UserOperation hash. Shared by
114
+ * preparation and reconstruction so both derive an identical signing plan.
115
+ */
116
+ export function buildUserOperationSigningPlanInput(signingContext, chain, hash) {
117
+ const tasks = createValidatorSigningTasks({
118
+ validator: signingContext.validator,
119
+ signerReferences: signingContext.signerReferences,
120
+ taskPrefix: 'user-operation',
121
+ ecdsaInvocation: 'ecdsa-sign-message',
122
+ webauthnInvocation: 'webauthn-sign-hash',
123
+ });
124
+ const topology = signingTopology(signingContext.validator);
125
+ return {
126
+ hash,
127
+ chain,
128
+ configuredTopology: topology.configuredTopology,
129
+ effectiveSelection: topology.effectiveSelection,
130
+ tasks,
131
+ validatorCodec: getSigningValidatorCodec(signingContext),
132
+ ...(signingContext.validator.kind === 'multi-factor'
133
+ ? { validatorFactors: getSigningValidatorFactors(signingContext) }
134
+ : {}),
135
+ };
136
+ }
@@ -0,0 +1,28 @@
1
+ import type { Hex } from 'viem';
2
+ import type { EvmChainReference } from '../../chains/types.js';
3
+ import type { BundlerUserOperation } from '../../clients/bundler/port.js';
4
+ import type { OwnerSignerSelection } from '../../signing/types.js';
5
+ import type { PreparedUserOperation, SignedUserOperation, UserOperationWorkflowContext } from './types.js';
6
+ interface ReconstructPreparedInput {
7
+ readonly chain: EvmChainReference;
8
+ readonly operation: BundlerUserOperation;
9
+ readonly signers?: OwnerSignerSelection;
10
+ }
11
+ interface ReconstructSignedInput extends ReconstructPreparedInput {
12
+ readonly signature: Hex;
13
+ }
14
+ /**
15
+ * Rebuilds the internal PreparedUserOperation from a public prepared shape that
16
+ * did not originate from this SDK instance (e.g. externally rebuilt, mutated to
17
+ * add a paymaster, or replayed across instances). The signing plan is derived
18
+ * from the account's static configuration, so this performs no RPC reads.
19
+ */
20
+ export declare function reconstructPreparedUserOperation<CompatibilityConfig>(context: UserOperationWorkflowContext<CompatibilityConfig>, input: ReconstructPreparedInput): Promise<PreparedUserOperation<CompatibilityConfig>>;
21
+ /**
22
+ * Rebuilds the internal SignedUserOperation from a public signed shape that did
23
+ * not originate from this SDK instance, so submission works with a rebuilt or
24
+ * externally supplied signed UserOperation. Performs no RPC reads.
25
+ */
26
+ export declare function reconstructSignedUserOperation<CompatibilityConfig>(context: UserOperationWorkflowContext<CompatibilityConfig>, input: ReconstructSignedInput): Promise<SignedUserOperation<CompatibilityConfig>>;
27
+ export {};
28
+ //# sourceMappingURL=reconstruct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconstruct.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/reconstruct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG/D,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAEhB,UAAU,wBAAwB;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAA;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CACxC;AAED,UAAU,sBAAuB,SAAQ,wBAAwB;IAC/D,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,gCAAgC,CAAC,mBAAmB,EACxE,OAAO,EAAE,4BAA4B,CAAC,mBAAmB,CAAC,EAC1D,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC,CAuBrD;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,mBAAmB,EACtE,OAAO,EAAE,4BAA4B,CAAC,mBAAmB,CAAC,EAC1D,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAiBnD"}
@@ -0,0 +1,52 @@
1
+ import { createAccountSigningContext } from '../../signing/context.js';
2
+ import { hashUserOperation } from './hash.js';
3
+ import { buildUserOperationSigningPlanInput } from './prepare.js';
4
+ /**
5
+ * Rebuilds the internal PreparedUserOperation from a public prepared shape that
6
+ * did not originate from this SDK instance (e.g. externally rebuilt, mutated to
7
+ * add a paymaster, or replayed across instances). The signing plan is derived
8
+ * from the account's static configuration, so this performs no RPC reads.
9
+ */
10
+ export async function reconstructPreparedUserOperation(context, input) {
11
+ const runtime = await context.account.forChain(input.chain);
12
+ const signingContext = createAccountSigningContext({
13
+ runtime,
14
+ purpose: 'user-operation',
15
+ signerInvoker: context.signerInvoker,
16
+ ...(input.signers ? { selection: input.signers } : {}),
17
+ });
18
+ const hash = hashUserOperation(input.chain, input.operation);
19
+ return {
20
+ input: {
21
+ chain: input.chain,
22
+ calls: [],
23
+ ...(input.signers ? { signers: input.signers } : {}),
24
+ },
25
+ operation: input.operation,
26
+ hash,
27
+ signing: buildUserOperationSigningPlanInput(signingContext, input.chain, hash),
28
+ };
29
+ }
30
+ /**
31
+ * Rebuilds the internal SignedUserOperation from a public signed shape that did
32
+ * not originate from this SDK instance, so submission works with a rebuilt or
33
+ * externally supplied signed UserOperation. Performs no RPC reads.
34
+ */
35
+ export async function reconstructSignedUserOperation(context, input) {
36
+ const operation = { ...input.operation, signature: input.signature };
37
+ const prepared = await reconstructPreparedUserOperation(context, {
38
+ chain: input.chain,
39
+ operation,
40
+ ...(input.signers ? { signers: input.signers } : {}),
41
+ });
42
+ return {
43
+ prepared,
44
+ operation,
45
+ signature: input.signature,
46
+ transcript: {
47
+ planKind: 'user-operation',
48
+ payloadId: prepared.hash,
49
+ stages: [],
50
+ },
51
+ };
52
+ }
@@ -0,0 +1,3 @@
1
+ import type { SubmittedUserOperation, UserOperationInput, UserOperationWorkflowContext } from './types.js';
2
+ export declare function sendUserOperation<CompatibilityConfig>(context: UserOperationWorkflowContext<CompatibilityConfig>, input: UserOperationInput<CompatibilityConfig>): Promise<SubmittedUserOperation>;
3
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/send.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAEhB,wBAAsB,iBAAiB,CAAC,mBAAmB,EACzD,OAAO,EAAE,4BAA4B,CAAC,mBAAmB,CAAC,EAC1D,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GAC7C,OAAO,CAAC,sBAAsB,CAAC,CAIjC"}
@@ -0,0 +1,8 @@
1
+ import { prepareUserOperation } from './prepare.js';
2
+ import { signUserOperation } from './sign.js';
3
+ import { submitUserOperation } from './submit.js';
4
+ export async function sendUserOperation(context, input) {
5
+ const prepared = await prepareUserOperation(context, input);
6
+ const signed = await signUserOperation(context, prepared);
7
+ return submitUserOperation(context, signed);
8
+ }
@@ -0,0 +1,3 @@
1
+ import type { PreparedUserOperation, SignedUserOperation, UserOperationWorkflowContext } from './types.js';
2
+ export declare function signUserOperation<CompatibilityConfig>(context: UserOperationWorkflowContext<CompatibilityConfig>, prepared: PreparedUserOperation<CompatibilityConfig>): Promise<SignedUserOperation<CompatibilityConfig>>;
3
+ //# sourceMappingURL=sign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/sign.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAEhB,wBAAsB,iBAAiB,CAAC,mBAAmB,EACzD,OAAO,EAAE,4BAA4B,CAAC,mBAAmB,CAAC,EAC1D,QAAQ,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,GACnD,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAYnD"}
@@ -0,0 +1,14 @@
1
+ import { signUserOperationPayload } from '../../signing/user-operation.js';
2
+ export async function signUserOperation(context, prepared) {
3
+ const { signature, transcript } = await signUserOperationPayload({
4
+ planInput: prepared.signing,
5
+ signerInvoker: context.signerInvoker,
6
+ checkpoints: context.checkpoints,
7
+ });
8
+ return {
9
+ prepared,
10
+ operation: { ...prepared.operation, signature },
11
+ signature,
12
+ transcript,
13
+ };
14
+ }
@@ -0,0 +1,4 @@
1
+ import type { SubmittedUserOperation, UserOperationStatus, UserOperationWorkflowContext } from './types.js';
2
+ export declare function getUserOperationStatus<CompatibilityConfig>(context: Pick<UserOperationWorkflowContext<CompatibilityConfig>, 'bundler'>, submitted: SubmittedUserOperation): Promise<UserOperationStatus>;
3
+ export declare function waitForUserOperationStatus<CompatibilityConfig>(context: Pick<UserOperationWorkflowContext<CompatibilityConfig>, 'bundler' | 'clock'>, submitted: SubmittedUserOperation): Promise<UserOperationStatus>;
4
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/status.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAIhB,wBAAsB,sBAAsB,CAAC,mBAAmB,EAC9D,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,EAC3E,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAU9B;AAED,wBAAsB,0BAA0B,CAAC,mBAAmB,EAClE,OAAO,EAAE,IAAI,CACX,4BAA4B,CAAC,mBAAmB,CAAC,EACjD,SAAS,GAAG,OAAO,CACpB,EACD,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAQ9B"}
@@ -0,0 +1,37 @@
1
+ import { WaitForUserOperationReceiptTimeoutError } from 'viem/account-abstraction';
2
+ import { getChainById } from '../../chains/catalog.js';
3
+ const receiptTimeoutMs = 120_000;
4
+ export async function getUserOperationStatus(context, submitted) {
5
+ const receipt = await context.bundler.getReceipt(submitted.chain, submitted.hash);
6
+ return {
7
+ hash: submitted.hash,
8
+ ...(receipt ? { receipt } : {}),
9
+ terminal: receipt !== undefined,
10
+ };
11
+ }
12
+ export async function waitForUserOperationStatus(context, submitted) {
13
+ const timeoutError = () => new WaitForUserOperationReceiptTimeoutError({ hash: submitted.hash });
14
+ return context.clock.timeout(pollForUserOperationStatus(context, submitted, timeoutError), receiptTimeoutMs, timeoutError);
15
+ }
16
+ async function pollForUserOperationStatus(context, submitted, timeoutError) {
17
+ const startedAt = context.clock.now();
18
+ const blockTime = getChainById(submitted.chain.id).blockTime ?? 12_000;
19
+ const pollIntervalMs = Math.min(Math.max(Math.floor(blockTime / 2), 500), 4_000);
20
+ let waitedMs = 0;
21
+ for (;;) {
22
+ const status = await getUserOperationStatus(context, submitted);
23
+ if (status.terminal)
24
+ return status;
25
+ const elapsed = Math.max(context.clock.now() - startedAt, waitedMs);
26
+ const remaining = receiptTimeoutMs - elapsed;
27
+ if (remaining <= 0) {
28
+ throw timeoutError();
29
+ }
30
+ const delay = Math.min(pollIntervalMs, remaining);
31
+ await context.clock.sleep(delay);
32
+ waitedMs += delay;
33
+ if (Math.max(context.clock.now() - startedAt, waitedMs) >= receiptTimeoutMs) {
34
+ throw timeoutError();
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,3 @@
1
+ import type { SignedUserOperation, SubmittedUserOperation, UserOperationWorkflowContext } from './types.js';
2
+ export declare function submitUserOperation<CompatibilityConfig>(context: UserOperationWorkflowContext<CompatibilityConfig>, signed: SignedUserOperation<CompatibilityConfig>): Promise<SubmittedUserOperation>;
3
+ //# sourceMappingURL=submit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../../../transactions/user-operations/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,SAAS,CAAA;AAEhB,wBAAsB,mBAAmB,CAAC,mBAAmB,EAC3D,OAAO,EAAE,4BAA4B,CAAC,mBAAmB,CAAC,EAC1D,MAAM,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,GAC/C,OAAO,CAAC,sBAAsB,CAAC,CAOjC"}
@@ -0,0 +1,8 @@
1
+ export async function submitUserOperation(context, signed) {
2
+ const operation = { ...signed.operation, signature: signed.signature };
3
+ return {
4
+ type: 'userop',
5
+ chain: signed.prepared.input.chain,
6
+ hash: await context.bundler.send(signed.prepared.input.chain, operation),
7
+ };
8
+ }