@rhinestone/sdk 2.0.0-beta.9 → 2.0.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 (606) 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 +118 -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 +1 -1
  53. package/dist/src/actions/ecdsa.d.ts.map +1 -1
  54. package/dist/src/actions/ecdsa.js +8 -8
  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/passkeys.d.ts +2 -2
  65. package/dist/src/actions/passkeys.d.ts.map +1 -1
  66. package/dist/src/actions/passkeys.js +19 -14
  67. package/dist/src/actions/runtime.d.ts +12 -0
  68. package/dist/src/actions/runtime.d.ts.map +1 -0
  69. package/dist/src/actions/runtime.js +158 -0
  70. package/dist/src/actions/smart-sessions.d.ts +30 -6
  71. package/dist/src/actions/smart-sessions.d.ts.map +1 -1
  72. package/dist/src/actions/smart-sessions.js +69 -18
  73. package/dist/src/api/account.d.ts +265 -0
  74. package/dist/src/api/account.d.ts.map +1 -0
  75. package/dist/src/api/account.js +637 -0
  76. package/dist/src/api/accounts.d.ts +12 -0
  77. package/dist/src/api/accounts.d.ts.map +1 -0
  78. package/dist/src/api/accounts.js +17 -0
  79. package/dist/src/api/compose-types.d.ts +147 -0
  80. package/dist/src/api/compose-types.d.ts.map +1 -0
  81. package/dist/src/api/compose-types.js +1 -0
  82. package/dist/src/api/compose.d.ts +6 -0
  83. package/dist/src/api/compose.d.ts.map +1 -0
  84. package/dist/src/api/compose.js +766 -0
  85. package/dist/src/api/direct-signing.d.ts +27 -0
  86. package/dist/src/api/direct-signing.d.ts.map +1 -0
  87. package/dist/src/api/direct-signing.js +191 -0
  88. package/dist/src/api/project-mappers.d.ts +7 -0
  89. package/dist/src/api/project-mappers.d.ts.map +1 -0
  90. package/dist/src/api/project-mappers.js +23 -0
  91. package/dist/src/api/queries/app-fees.d.ts +4 -0
  92. package/dist/src/api/queries/app-fees.d.ts.map +1 -0
  93. package/dist/src/api/queries/app-fees.js +3 -0
  94. package/dist/src/api/queries/portfolio.d.ts +9 -0
  95. package/dist/src/api/queries/portfolio.d.ts.map +1 -0
  96. package/dist/src/api/queries/portfolio.js +28 -0
  97. package/dist/src/api/queries/session.d.ts +8 -0
  98. package/dist/src/api/queries/session.d.ts.map +1 -0
  99. package/dist/src/api/queries/session.js +15 -0
  100. package/dist/src/api/sdk.d.ts +80 -0
  101. package/dist/src/api/sdk.d.ts.map +1 -0
  102. package/dist/src/api/sdk.js +103 -0
  103. package/dist/src/api/signer-selection.d.ts +7 -0
  104. package/dist/src/api/signer-selection.d.ts.map +1 -0
  105. package/dist/src/api/signer-selection.js +109 -0
  106. package/dist/src/calls/normalize.d.ts +9 -0
  107. package/dist/src/calls/normalize.d.ts.map +1 -0
  108. package/dist/src/calls/normalize.js +17 -0
  109. package/dist/src/calls/resolve.d.ts +3 -0
  110. package/dist/src/calls/resolve.d.ts.map +1 -0
  111. package/dist/src/calls/resolve.js +15 -0
  112. package/dist/src/calls/types.d.ts +25 -0
  113. package/dist/src/calls/types.d.ts.map +1 -0
  114. package/dist/src/calls/types.js +1 -0
  115. package/dist/src/chains/caip2.d.ts +10 -0
  116. package/dist/src/chains/caip2.d.ts.map +1 -0
  117. package/dist/src/chains/caip2.js +85 -0
  118. package/dist/src/chains/catalog.d.ts +5 -0
  119. package/dist/src/chains/catalog.d.ts.map +1 -0
  120. package/dist/src/chains/catalog.js +41 -0
  121. package/dist/src/chains/errors.d.ts +15 -0
  122. package/dist/src/chains/errors.d.ts.map +1 -0
  123. package/dist/src/chains/errors.js +21 -0
  124. package/dist/src/{orchestrator/destinations.d.ts → chains/non-evm.d.ts} +9 -6
  125. package/dist/src/chains/non-evm.d.ts.map +1 -0
  126. package/dist/src/chains/non-evm.js +30 -0
  127. package/dist/src/chains/tokens.d.ts +4 -0
  128. package/dist/src/chains/tokens.d.ts.map +1 -0
  129. package/dist/src/chains/tokens.js +22 -0
  130. package/dist/src/chains/types.d.ts +25 -0
  131. package/dist/src/chains/types.d.ts.map +1 -0
  132. package/dist/src/chains/types.js +1 -0
  133. package/dist/src/clients/bundler/client.d.ts +10 -0
  134. package/dist/src/clients/bundler/client.d.ts.map +1 -0
  135. package/dist/src/clients/bundler/client.js +85 -0
  136. package/dist/src/clients/bundler/endpoints.d.ts +3 -0
  137. package/dist/src/clients/bundler/endpoints.d.ts.map +1 -0
  138. package/dist/src/clients/bundler/endpoints.js +18 -0
  139. package/dist/src/clients/bundler/port.d.ts +22 -0
  140. package/dist/src/clients/bundler/port.d.ts.map +1 -0
  141. package/dist/src/clients/bundler/port.js +1 -0
  142. package/dist/src/clients/json-rpc.d.ts +20 -0
  143. package/dist/src/clients/json-rpc.d.ts.map +1 -0
  144. package/dist/src/clients/json-rpc.js +56 -0
  145. package/dist/src/clients/orchestrator/auth.d.ts +7 -0
  146. package/dist/src/clients/orchestrator/auth.d.ts.map +1 -0
  147. package/dist/src/clients/orchestrator/auth.js +27 -0
  148. package/dist/src/clients/orchestrator/chain-catalog.d.ts +36 -0
  149. package/dist/src/clients/orchestrator/chain-catalog.d.ts.map +1 -0
  150. package/dist/src/clients/orchestrator/chain-catalog.js +67 -0
  151. package/dist/src/clients/orchestrator/client.d.ts +13 -0
  152. package/dist/src/clients/orchestrator/client.d.ts.map +1 -0
  153. package/dist/src/clients/orchestrator/client.js +97 -0
  154. package/dist/src/clients/orchestrator/errors.d.ts +238 -0
  155. package/dist/src/clients/orchestrator/errors.d.ts.map +1 -0
  156. package/dist/src/clients/orchestrator/errors.js +525 -0
  157. package/dist/src/clients/orchestrator/fetch.d.ts +7 -0
  158. package/dist/src/clients/orchestrator/fetch.d.ts.map +1 -0
  159. package/dist/src/clients/orchestrator/fetch.js +37 -0
  160. package/dist/src/clients/orchestrator/mappers.d.ts +9 -0
  161. package/dist/src/clients/orchestrator/mappers.d.ts.map +1 -0
  162. package/dist/src/clients/orchestrator/mappers.js +198 -0
  163. package/dist/src/clients/orchestrator/port.d.ts +26 -0
  164. package/dist/src/clients/orchestrator/port.d.ts.map +1 -0
  165. package/dist/src/clients/orchestrator/port.js +1 -0
  166. package/dist/src/{orchestrator/types.d.ts → clients/orchestrator/public.d.ts} +102 -40
  167. package/dist/src/clients/orchestrator/public.d.ts.map +1 -0
  168. package/dist/src/clients/orchestrator/public.js +14 -0
  169. package/dist/src/clients/orchestrator/types.d.ts +144 -0
  170. package/dist/src/clients/orchestrator/types.d.ts.map +1 -0
  171. package/dist/src/clients/orchestrator/types.js +1 -0
  172. package/dist/src/clients/orchestrator/wire.d.ts +19 -0
  173. package/dist/src/clients/orchestrator/wire.d.ts.map +1 -0
  174. package/dist/src/clients/orchestrator/wire.gen.d.ts +6463 -0
  175. package/dist/src/clients/orchestrator/wire.gen.d.ts.map +1 -0
  176. package/dist/src/clients/orchestrator/wire.gen.js +1 -0
  177. package/dist/src/clients/orchestrator/wire.js +1 -0
  178. package/dist/src/clients/paymaster/client.d.ts +8 -0
  179. package/dist/src/clients/paymaster/client.d.ts.map +1 -0
  180. package/dist/src/clients/paymaster/client.js +38 -0
  181. package/dist/src/clients/paymaster/endpoints.d.ts +3 -0
  182. package/dist/src/clients/paymaster/endpoints.d.ts.map +1 -0
  183. package/dist/src/clients/paymaster/endpoints.js +16 -0
  184. package/dist/src/clients/paymaster/port.d.ts +17 -0
  185. package/dist/src/clients/paymaster/port.d.ts.map +1 -0
  186. package/dist/src/clients/paymaster/port.js +1 -0
  187. package/dist/src/clients/rpc/client.d.ts +6 -0
  188. package/dist/src/clients/rpc/client.d.ts.map +1 -0
  189. package/dist/src/clients/rpc/client.js +66 -0
  190. package/dist/src/clients/rpc/compatibility.d.ts +12 -0
  191. package/dist/src/clients/rpc/compatibility.d.ts.map +1 -0
  192. package/dist/src/clients/rpc/compatibility.js +16 -0
  193. package/dist/src/clients/rpc/port.d.ts +13 -0
  194. package/dist/src/clients/rpc/port.d.ts.map +1 -0
  195. package/dist/src/clients/rpc/port.js +1 -0
  196. package/dist/src/clients/rpc/providers.d.ts +3 -0
  197. package/dist/src/clients/rpc/providers.d.ts.map +1 -0
  198. package/dist/src/clients/rpc/providers.js +8 -0
  199. package/dist/src/clients/rpc/transport.d.ts +4 -0
  200. package/dist/src/clients/rpc/transport.d.ts.map +1 -0
  201. package/dist/src/clients/rpc/transport.js +5 -0
  202. package/dist/src/clients/rpc/types.d.ts +23 -0
  203. package/dist/src/clients/rpc/types.d.ts.map +1 -0
  204. package/dist/src/clients/rpc/types.js +1 -0
  205. package/dist/src/config/account-runtime.d.ts +7 -0
  206. package/dist/src/config/account-runtime.d.ts.map +1 -0
  207. package/dist/src/config/account-runtime.js +36 -0
  208. package/dist/src/config/account.d.ts +743 -0
  209. package/dist/src/config/account.d.ts.map +1 -0
  210. package/dist/src/config/account.js +10 -0
  211. package/dist/src/config/defaults.d.ts +14 -0
  212. package/dist/src/config/defaults.d.ts.map +1 -0
  213. package/dist/src/config/defaults.js +26 -0
  214. package/dist/src/config/input.d.ts +54 -0
  215. package/dist/src/config/input.d.ts.map +1 -0
  216. package/dist/src/config/input.js +1 -0
  217. package/dist/src/config/legacy.d.ts +22 -0
  218. package/dist/src/config/legacy.d.ts.map +1 -0
  219. package/dist/src/config/legacy.js +23 -0
  220. package/dist/src/config/resolve.d.ts +13 -0
  221. package/dist/src/config/resolve.d.ts.map +1 -0
  222. package/dist/src/config/resolve.js +174 -0
  223. package/dist/src/config/resolved.d.ts +77 -0
  224. package/dist/src/config/resolved.d.ts.map +1 -0
  225. package/dist/src/config/resolved.js +1 -0
  226. package/dist/src/config/validate.d.ts +3 -0
  227. package/dist/src/config/validate.d.ts.map +1 -0
  228. package/dist/src/config/validate.js +6 -0
  229. package/dist/src/{execution/error.d.ts → errors/execution.d.ts} +43 -12
  230. package/dist/src/errors/execution.d.ts.map +1 -0
  231. package/dist/src/errors/execution.js +123 -0
  232. package/dist/src/errors/index.d.ts +6 -4
  233. package/dist/src/errors/index.d.ts.map +1 -1
  234. package/dist/src/errors/index.js +7 -6
  235. package/dist/src/index.d.ts +14 -84
  236. package/dist/src/index.d.ts.map +1 -1
  237. package/dist/src/index.js +9 -293
  238. package/dist/src/jwt-server/jcs.d.ts +1 -1
  239. package/dist/src/jwt-server/jcs.js +4 -2
  240. package/dist/src/modules/erc7579-abi.d.ts +4 -0
  241. package/dist/src/modules/erc7579-abi.d.ts.map +1 -0
  242. package/dist/src/modules/erc7579-abi.js +12 -0
  243. package/dist/src/modules/intent-executor.d.ts +6 -0
  244. package/dist/src/modules/intent-executor.d.ts.map +1 -0
  245. package/dist/src/modules/intent-executor.js +13 -0
  246. package/dist/src/modules/legacy-core.d.ts +29 -0
  247. package/dist/src/modules/legacy-core.d.ts.map +1 -0
  248. package/dist/src/modules/legacy-core.js +80 -0
  249. package/dist/src/modules/normalize.d.ts +4 -0
  250. package/dist/src/modules/normalize.d.ts.map +1 -0
  251. package/dist/src/modules/normalize.js +15 -0
  252. package/dist/src/modules/plan.d.ts +16 -0
  253. package/dist/src/modules/plan.d.ts.map +1 -0
  254. package/dist/src/modules/plan.js +51 -0
  255. package/dist/src/modules/read-core.d.ts +39 -0
  256. package/dist/src/modules/read-core.d.ts.map +1 -0
  257. package/dist/src/modules/read-core.js +149 -0
  258. package/dist/src/modules/types.d.ts +46 -0
  259. package/dist/src/modules/types.d.ts.map +1 -0
  260. package/dist/src/modules/types.js +1 -0
  261. package/dist/src/modules/validators/capabilities.d.ts +4 -0
  262. package/dist/src/modules/validators/capabilities.d.ts.map +1 -0
  263. package/dist/src/modules/validators/capabilities.js +58 -0
  264. package/dist/src/modules/validators/contribution.d.ts +4 -0
  265. package/dist/src/modules/validators/contribution.d.ts.map +1 -0
  266. package/dist/src/modules/validators/contribution.js +64 -0
  267. package/dist/src/modules/validators/definition.d.ts +3 -0
  268. package/dist/src/modules/validators/definition.d.ts.map +1 -0
  269. package/dist/src/modules/validators/definition.js +68 -0
  270. package/dist/src/modules/validators/ens.d.ts +5 -0
  271. package/dist/src/modules/validators/ens.d.ts.map +1 -0
  272. package/dist/src/modules/validators/ens.js +34 -0
  273. package/dist/src/modules/validators/k1.d.ts +2 -0
  274. package/dist/src/modules/validators/k1.d.ts.map +1 -0
  275. package/dist/src/modules/validators/k1.js +1 -0
  276. package/dist/src/modules/validators/multi-factor.d.ts +18 -0
  277. package/dist/src/modules/validators/multi-factor.d.ts.map +1 -0
  278. package/dist/src/modules/validators/multi-factor.js +79 -0
  279. package/dist/src/modules/validators/ownable.d.ts +26 -0
  280. package/dist/src/modules/validators/ownable.d.ts.map +1 -0
  281. package/dist/src/modules/validators/ownable.js +84 -0
  282. package/dist/src/modules/validators/permissions.d.ts +2 -1
  283. package/dist/src/modules/validators/permissions.d.ts.map +1 -1
  284. package/dist/src/modules/validators/permissions.js +192 -18
  285. package/dist/src/modules/validators/policies/claim/arbiters.d.ts +19 -0
  286. package/dist/src/modules/validators/policies/claim/arbiters.d.ts.map +1 -0
  287. package/dist/src/modules/validators/policies/claim/arbiters.js +82 -0
  288. package/dist/src/modules/validators/resolve.d.ts +5 -0
  289. package/dist/src/modules/validators/resolve.d.ts.map +1 -0
  290. package/dist/src/modules/validators/resolve.js +22 -0
  291. package/dist/src/modules/validators/signer-id.d.ts +5 -0
  292. package/dist/src/modules/validators/signer-id.d.ts.map +1 -0
  293. package/dist/src/modules/validators/signer-id.js +8 -0
  294. package/dist/src/modules/validators/smart-session-signature-types.d.ts +35 -0
  295. package/dist/src/modules/validators/smart-session-signature-types.d.ts.map +1 -0
  296. package/dist/src/modules/validators/smart-session-signature-types.js +1 -0
  297. package/dist/src/modules/validators/smart-sessions/authorization.d.ts +99 -0
  298. package/dist/src/modules/validators/smart-sessions/authorization.d.ts.map +1 -0
  299. package/dist/src/modules/validators/smart-sessions/authorization.js +101 -0
  300. package/dist/src/modules/validators/smart-sessions/calls.d.ts +19 -0
  301. package/dist/src/modules/validators/smart-sessions/calls.d.ts.map +1 -0
  302. package/dist/src/modules/validators/smart-sessions/calls.js +85 -0
  303. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts +4 -0
  304. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts.map +1 -0
  305. package/dist/src/modules/validators/smart-sessions/cross-chain-permits.js +77 -0
  306. package/dist/src/modules/validators/smart-sessions/digest.d.ts +5 -0
  307. package/dist/src/modules/validators/smart-sessions/digest.d.ts.map +1 -0
  308. package/dist/src/modules/validators/smart-sessions/digest.js +30 -0
  309. package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts +10 -0
  310. package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts.map +1 -0
  311. package/dist/src/modules/validators/smart-sessions/mock-signature.js +31 -0
  312. package/dist/src/modules/validators/smart-sessions/module.d.ts +11 -0
  313. package/dist/src/modules/validators/smart-sessions/module.d.ts.map +1 -0
  314. package/dist/src/modules/validators/smart-sessions/module.js +18 -0
  315. package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts +23 -0
  316. package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts.map +1 -0
  317. package/dist/src/modules/validators/smart-sessions/policies/addresses.js +29 -0
  318. package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts +10 -0
  319. package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts.map +1 -0
  320. package/dist/src/modules/validators/smart-sessions/policies/claim.js +106 -0
  321. package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts +4 -0
  322. package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts.map +1 -0
  323. package/dist/src/modules/validators/smart-sessions/policies/encode.js +197 -0
  324. package/dist/src/modules/validators/smart-sessions/resolve.d.ts +16 -0
  325. package/dist/src/modules/validators/smart-sessions/resolve.d.ts.map +1 -0
  326. package/dist/src/modules/validators/smart-sessions/resolve.js +120 -0
  327. package/dist/src/modules/validators/smart-sessions/signature.d.ts +14 -0
  328. package/dist/src/modules/validators/smart-sessions/signature.d.ts.map +1 -0
  329. package/dist/src/modules/validators/smart-sessions/signature.js +167 -0
  330. package/dist/src/modules/validators/smart-sessions/state.d.ts +19 -0
  331. package/dist/src/modules/validators/smart-sessions/state.d.ts.map +1 -0
  332. package/dist/src/modules/validators/smart-sessions/state.js +42 -0
  333. package/dist/src/modules/validators/smart-sessions/types.d.ts +227 -0
  334. package/dist/src/modules/validators/smart-sessions/types.d.ts.map +1 -0
  335. package/dist/src/modules/validators/smart-sessions/types.js +1 -0
  336. package/dist/src/modules/validators/types.d.ts +143 -0
  337. package/dist/src/modules/validators/types.d.ts.map +1 -0
  338. package/dist/src/modules/validators/types.js +1 -0
  339. package/dist/src/modules/validators/webauthn.d.ts +54 -0
  340. package/dist/src/modules/validators/webauthn.d.ts.map +1 -0
  341. package/dist/src/modules/validators/webauthn.js +159 -0
  342. package/dist/src/signing/context.d.ts +25 -0
  343. package/dist/src/signing/context.d.ts.map +1 -0
  344. package/dist/src/signing/context.js +163 -0
  345. package/dist/src/signing/contribution.d.ts +13 -0
  346. package/dist/src/signing/contribution.d.ts.map +1 -0
  347. package/dist/src/signing/contribution.js +83 -0
  348. package/dist/src/signing/eip7702.d.ts +41 -0
  349. package/dist/src/signing/eip7702.d.ts.map +1 -0
  350. package/dist/src/signing/eip7702.js +215 -0
  351. package/dist/src/signing/error.d.ts +27 -0
  352. package/dist/src/signing/error.d.ts.map +1 -0
  353. package/dist/src/signing/error.js +25 -0
  354. package/dist/src/signing/execute.d.ts +17 -0
  355. package/dist/src/signing/execute.d.ts.map +1 -0
  356. package/dist/src/signing/execute.js +138 -0
  357. package/dist/src/signing/intent-plans/assemble.d.ts +15 -0
  358. package/dist/src/signing/intent-plans/assemble.d.ts.map +1 -0
  359. package/dist/src/signing/intent-plans/assemble.js +96 -0
  360. package/dist/src/signing/intent-plans/independent.d.ts +48 -0
  361. package/dist/src/signing/intent-plans/independent.d.ts.map +1 -0
  362. package/dist/src/signing/intent-plans/independent.js +150 -0
  363. package/dist/src/signing/intent-plans/plan.d.ts +14 -0
  364. package/dist/src/signing/intent-plans/plan.d.ts.map +1 -0
  365. package/dist/src/signing/intent-plans/plan.js +187 -0
  366. package/dist/src/signing/intent-plans/types.d.ts +63 -0
  367. package/dist/src/signing/intent-plans/types.d.ts.map +1 -0
  368. package/dist/src/signing/intent-plans/types.js +1 -0
  369. package/dist/src/signing/message.d.ts +28 -0
  370. package/dist/src/signing/message.d.ts.map +1 -0
  371. package/dist/src/signing/message.js +90 -0
  372. package/dist/src/signing/passkeys.d.ts +28 -0
  373. package/dist/src/signing/passkeys.d.ts.map +1 -0
  374. package/dist/src/signing/passkeys.js +17 -0
  375. package/dist/src/signing/plan.d.ts +35 -0
  376. package/dist/src/signing/plan.d.ts.map +1 -0
  377. package/dist/src/signing/plan.js +377 -0
  378. package/dist/src/signing/protocols/erc6492.d.ts +11 -0
  379. package/dist/src/signing/protocols/erc6492.d.ts.map +1 -0
  380. package/dist/src/signing/protocols/erc6492.js +24 -0
  381. package/dist/src/signing/protocols/erc7739.d.ts +17 -0
  382. package/dist/src/signing/protocols/erc7739.d.ts.map +1 -0
  383. package/dist/src/signing/protocols/erc7739.js +84 -0
  384. package/dist/src/signing/session-enable.d.ts +35 -0
  385. package/dist/src/signing/session-enable.d.ts.map +1 -0
  386. package/dist/src/signing/session-enable.js +62 -0
  387. package/dist/src/signing/signers/compatibility.d.ts +4 -0
  388. package/dist/src/signing/signers/compatibility.d.ts.map +1 -0
  389. package/dist/src/signing/signers/compatibility.js +51 -0
  390. package/dist/src/signing/signers/ecdsa.d.ts +14 -0
  391. package/dist/src/signing/signers/ecdsa.d.ts.map +1 -0
  392. package/dist/src/signing/signers/ecdsa.js +54 -0
  393. package/dist/src/signing/signers/registry.d.ts +7 -0
  394. package/dist/src/signing/signers/registry.d.ts.map +1 -0
  395. package/dist/src/signing/signers/registry.js +33 -0
  396. package/dist/src/signing/signers/types.d.ts +16 -0
  397. package/dist/src/signing/signers/types.d.ts.map +1 -0
  398. package/dist/src/signing/signers/types.js +1 -0
  399. package/dist/src/signing/signers/wallet-chain.d.ts +9 -0
  400. package/dist/src/signing/signers/wallet-chain.d.ts.map +1 -0
  401. package/dist/src/signing/signers/wallet-chain.js +15 -0
  402. package/dist/src/signing/signers/webauthn.d.ts +11 -0
  403. package/dist/src/signing/signers/webauthn.d.ts.map +1 -0
  404. package/dist/src/signing/signers/webauthn.js +14 -0
  405. package/dist/src/signing/typed-data.d.ts +39 -0
  406. package/dist/src/signing/typed-data.d.ts.map +1 -0
  407. package/dist/src/signing/typed-data.js +135 -0
  408. package/dist/src/signing/types.d.ts +346 -0
  409. package/dist/src/signing/types.d.ts.map +1 -0
  410. package/dist/src/signing/types.js +1 -0
  411. package/dist/src/signing/user-operation.d.ts +23 -0
  412. package/dist/src/signing/user-operation.d.ts.map +1 -0
  413. package/dist/src/signing/user-operation.js +61 -0
  414. package/dist/src/smart-sessions/index.d.ts +16 -0
  415. package/dist/src/smart-sessions/index.d.ts.map +1 -0
  416. package/dist/src/smart-sessions/index.js +45 -0
  417. package/dist/src/transactions/intents/account.d.ts +15 -0
  418. package/dist/src/transactions/intents/account.d.ts.map +1 -0
  419. package/dist/src/transactions/intents/account.js +48 -0
  420. package/dist/src/transactions/intents/compatibility.d.ts +4 -0
  421. package/dist/src/transactions/intents/compatibility.d.ts.map +1 -0
  422. package/dist/src/transactions/intents/compatibility.js +19 -0
  423. package/dist/src/transactions/intents/normalize.d.ts +5 -0
  424. package/dist/src/transactions/intents/normalize.d.ts.map +1 -0
  425. package/dist/src/transactions/intents/normalize.js +48 -0
  426. package/dist/src/transactions/intents/prepare.d.ts +7 -0
  427. package/dist/src/transactions/intents/prepare.d.ts.map +1 -0
  428. package/dist/src/transactions/intents/prepare.js +249 -0
  429. package/dist/src/transactions/intents/quotes.d.ts +3 -0
  430. package/dist/src/transactions/intents/quotes.d.ts.map +1 -0
  431. package/dist/src/transactions/intents/quotes.js +11 -0
  432. package/dist/src/transactions/intents/request.d.ts +11 -0
  433. package/dist/src/transactions/intents/request.d.ts.map +1 -0
  434. package/dist/src/transactions/intents/request.js +55 -0
  435. package/dist/src/transactions/intents/send.d.ts +3 -0
  436. package/dist/src/transactions/intents/send.d.ts.map +1 -0
  437. package/dist/src/transactions/intents/send.js +22 -0
  438. package/dist/src/transactions/intents/session-signing.d.ts +7 -0
  439. package/dist/src/transactions/intents/session-signing.d.ts.map +1 -0
  440. package/dist/src/transactions/intents/session-signing.js +363 -0
  441. package/dist/src/transactions/intents/sessions.d.ts +17 -0
  442. package/dist/src/transactions/intents/sessions.d.ts.map +1 -0
  443. package/dist/src/transactions/intents/sessions.js +85 -0
  444. package/dist/src/transactions/intents/sign-transaction.d.ts +10 -0
  445. package/dist/src/transactions/intents/sign-transaction.d.ts.map +1 -0
  446. package/dist/src/transactions/intents/sign-transaction.js +386 -0
  447. package/dist/src/transactions/intents/split.d.ts +13 -0
  448. package/dist/src/transactions/intents/split.d.ts.map +1 -0
  449. package/dist/src/transactions/intents/split.js +3 -0
  450. package/dist/src/transactions/intents/status-policy.d.ts +13 -0
  451. package/dist/src/transactions/intents/status-policy.d.ts.map +1 -0
  452. package/dist/src/transactions/intents/status-policy.js +39 -0
  453. package/dist/src/transactions/intents/status.d.ts +4 -0
  454. package/dist/src/transactions/intents/status.d.ts.map +1 -0
  455. package/dist/src/transactions/intents/status.js +50 -0
  456. package/dist/src/transactions/intents/submit.d.ts +3 -0
  457. package/dist/src/transactions/intents/submit.d.ts.map +1 -0
  458. package/dist/src/transactions/intents/submit.js +32 -0
  459. package/dist/src/transactions/intents/types.d.ts +136 -0
  460. package/dist/src/transactions/intents/types.d.ts.map +1 -0
  461. package/dist/src/transactions/intents/types.js +1 -0
  462. package/dist/src/transactions/user-operations/hash.d.ts +5 -0
  463. package/dist/src/transactions/user-operations/hash.d.ts.map +1 -0
  464. package/dist/src/transactions/user-operations/hash.js +9 -0
  465. package/dist/src/transactions/user-operations/nonce.d.ts +18 -0
  466. package/dist/src/transactions/user-operations/nonce.d.ts.map +1 -0
  467. package/dist/src/transactions/user-operations/nonce.js +43 -0
  468. package/dist/src/transactions/user-operations/prepare.d.ts +12 -0
  469. package/dist/src/transactions/user-operations/prepare.d.ts.map +1 -0
  470. package/dist/src/transactions/user-operations/prepare.js +136 -0
  471. package/dist/src/transactions/user-operations/reconstruct.d.ts +28 -0
  472. package/dist/src/transactions/user-operations/reconstruct.d.ts.map +1 -0
  473. package/dist/src/transactions/user-operations/reconstruct.js +52 -0
  474. package/dist/src/transactions/user-operations/send.d.ts +3 -0
  475. package/dist/src/transactions/user-operations/send.d.ts.map +1 -0
  476. package/dist/src/transactions/user-operations/send.js +8 -0
  477. package/dist/src/transactions/user-operations/sign.d.ts +3 -0
  478. package/dist/src/transactions/user-operations/sign.d.ts.map +1 -0
  479. package/dist/src/transactions/user-operations/sign.js +14 -0
  480. package/dist/src/transactions/user-operations/status.d.ts +4 -0
  481. package/dist/src/transactions/user-operations/status.d.ts.map +1 -0
  482. package/dist/src/transactions/user-operations/status.js +37 -0
  483. package/dist/src/transactions/user-operations/submit.d.ts +3 -0
  484. package/dist/src/transactions/user-operations/submit.d.ts.map +1 -0
  485. package/dist/src/transactions/user-operations/submit.js +8 -0
  486. package/dist/src/transactions/user-operations/types.d.ts +68 -0
  487. package/dist/src/transactions/user-operations/types.d.ts.map +1 -0
  488. package/dist/src/transactions/user-operations/types.js +1 -0
  489. package/dist/src/transactions/user-operations/validator-account.d.ts +5 -0
  490. package/dist/src/transactions/user-operations/validator-account.d.ts.map +1 -0
  491. package/dist/src/transactions/user-operations/validator-account.js +26 -0
  492. package/dist/src/utils/index.d.ts +68 -4
  493. package/dist/src/utils/index.d.ts.map +1 -1
  494. package/dist/src/utils/index.js +113 -51
  495. package/package.json +6 -11
  496. package/dist/src/accounts/index.d.ts +0 -51
  497. package/dist/src/accounts/index.d.ts.map +0 -1
  498. package/dist/src/accounts/index.js +0 -589
  499. package/dist/src/accounts/json-rpc/index.d.ts +0 -5
  500. package/dist/src/accounts/json-rpc/index.d.ts.map +0 -1
  501. package/dist/src/accounts/json-rpc/index.js +0 -19
  502. package/dist/src/accounts/json-rpc/providers.d.ts +0 -5
  503. package/dist/src/accounts/json-rpc/providers.d.ts.map +0 -1
  504. package/dist/src/accounts/json-rpc/providers.js +0 -16
  505. package/dist/src/accounts/kernel.d.ts +0 -27
  506. package/dist/src/accounts/kernel.d.ts.map +0 -1
  507. package/dist/src/accounts/kernel.js +0 -272
  508. package/dist/src/accounts/nexus.d.ts +0 -33
  509. package/dist/src/accounts/nexus.d.ts.map +0 -1
  510. package/dist/src/accounts/nexus.js +0 -444
  511. package/dist/src/accounts/safe.d.ts +0 -33
  512. package/dist/src/accounts/safe.d.ts.map +0 -1
  513. package/dist/src/accounts/safe.js +0 -343
  514. package/dist/src/accounts/signing/common.d.ts +0 -32
  515. package/dist/src/accounts/signing/common.d.ts.map +0 -1
  516. package/dist/src/accounts/signing/common.js +0 -184
  517. package/dist/src/accounts/signing/message.d.ts +0 -7
  518. package/dist/src/accounts/signing/message.d.ts.map +0 -1
  519. package/dist/src/accounts/signing/message.js +0 -45
  520. package/dist/src/accounts/signing/passkeys.d.ts +0 -36
  521. package/dist/src/accounts/signing/passkeys.d.ts.map +0 -1
  522. package/dist/src/accounts/signing/passkeys.js +0 -119
  523. package/dist/src/accounts/signing/typedData.d.ts +0 -5
  524. package/dist/src/accounts/signing/typedData.d.ts.map +0 -1
  525. package/dist/src/accounts/signing/typedData.js +0 -33
  526. package/dist/src/accounts/startale.d.ts +0 -26
  527. package/dist/src/accounts/startale.d.ts.map +0 -1
  528. package/dist/src/accounts/startale.js +0 -191
  529. package/dist/src/accounts/utils.d.ts +0 -33
  530. package/dist/src/accounts/utils.d.ts.map +0 -1
  531. package/dist/src/accounts/utils.js +0 -202
  532. package/dist/src/actions/recovery.d.ts +0 -33
  533. package/dist/src/actions/recovery.d.ts.map +0 -1
  534. package/dist/src/actions/recovery.js +0 -189
  535. package/dist/src/auth/provider.d.ts +0 -7
  536. package/dist/src/auth/provider.d.ts.map +0 -1
  537. package/dist/src/auth/provider.js +0 -38
  538. package/dist/src/execution/compact.d.ts +0 -5
  539. package/dist/src/execution/compact.d.ts.map +0 -1
  540. package/dist/src/execution/compact.js +0 -4
  541. package/dist/src/execution/error.d.ts.map +0 -1
  542. package/dist/src/execution/error.js +0 -85
  543. package/dist/src/execution/index.d.ts +0 -42
  544. package/dist/src/execution/index.d.ts.map +0 -1
  545. package/dist/src/execution/index.js +0 -202
  546. package/dist/src/execution/utils.d.ts +0 -127
  547. package/dist/src/execution/utils.d.ts.map +0 -1
  548. package/dist/src/execution/utils.js +0 -1116
  549. package/dist/src/modules/abi/smart-sessions.d.ts +0 -104
  550. package/dist/src/modules/abi/smart-sessions.d.ts.map +0 -1
  551. package/dist/src/modules/abi/smart-sessions.js +0 -128
  552. package/dist/src/modules/chain-abstraction.d.ts +0 -5
  553. package/dist/src/modules/chain-abstraction.d.ts.map +0 -1
  554. package/dist/src/modules/chain-abstraction.js +0 -3
  555. package/dist/src/modules/common.d.ts +0 -30
  556. package/dist/src/modules/common.d.ts.map +0 -1
  557. package/dist/src/modules/common.js +0 -30
  558. package/dist/src/modules/index.d.ts +0 -11
  559. package/dist/src/modules/index.d.ts.map +0 -1
  560. package/dist/src/modules/index.js +0 -90
  561. package/dist/src/modules/legacy.d.ts +0 -10
  562. package/dist/src/modules/legacy.d.ts.map +0 -1
  563. package/dist/src/modules/legacy.js +0 -62
  564. package/dist/src/modules/read.d.ts +0 -10
  565. package/dist/src/modules/read.d.ts.map +0 -1
  566. package/dist/src/modules/read.js +0 -171
  567. package/dist/src/modules/validators/core.d.ts +0 -31
  568. package/dist/src/modules/validators/core.d.ts.map +0 -1
  569. package/dist/src/modules/validators/core.js +0 -266
  570. package/dist/src/modules/validators/index.d.ts +0 -4
  571. package/dist/src/modules/validators/index.d.ts.map +0 -1
  572. package/dist/src/modules/validators/index.js +0 -3
  573. package/dist/src/modules/validators/smart-sessions.d.ts +0 -196
  574. package/dist/src/modules/validators/smart-sessions.d.ts.map +0 -1
  575. package/dist/src/modules/validators/smart-sessions.js +0 -772
  576. package/dist/src/orchestrator/caip2.d.ts +0 -13
  577. package/dist/src/orchestrator/caip2.d.ts.map +0 -1
  578. package/dist/src/orchestrator/caip2.js +0 -52
  579. package/dist/src/orchestrator/client.d.ts +0 -29
  580. package/dist/src/orchestrator/client.d.ts.map +0 -1
  581. package/dist/src/orchestrator/client.js +0 -293
  582. package/dist/src/orchestrator/consts.d.ts +0 -6
  583. package/dist/src/orchestrator/consts.d.ts.map +0 -1
  584. package/dist/src/orchestrator/consts.js +0 -5
  585. package/dist/src/orchestrator/destinations.d.ts.map +0 -1
  586. package/dist/src/orchestrator/destinations.js +0 -36
  587. package/dist/src/orchestrator/error.d.ts +0 -97
  588. package/dist/src/orchestrator/error.d.ts.map +0 -1
  589. package/dist/src/orchestrator/error.js +0 -173
  590. package/dist/src/orchestrator/index.d.ts +0 -12
  591. package/dist/src/orchestrator/index.d.ts.map +0 -1
  592. package/dist/src/orchestrator/index.js +0 -10
  593. package/dist/src/orchestrator/registry.d.ts +0 -17
  594. package/dist/src/orchestrator/registry.d.ts.map +0 -1
  595. package/dist/src/orchestrator/registry.js +0 -100
  596. package/dist/src/orchestrator/types.d.ts.map +0 -1
  597. package/dist/src/orchestrator/types.js +0 -15
  598. package/dist/src/orchestrator/utils.d.ts +0 -3
  599. package/dist/src/orchestrator/utils.d.ts.map +0 -1
  600. package/dist/src/orchestrator/utils.js +0 -22
  601. package/dist/src/types.d.ts +0 -466
  602. package/dist/src/types.d.ts.map +0 -1
  603. package/dist/src/utils/walletClient.d.ts +0 -34
  604. package/dist/src/utils/walletClient.d.ts.map +0 -1
  605. package/dist/src/utils/walletClient.js +0 -117
  606. /package/dist/src/{types.js → accounts/adapter.js} +0 -0
@@ -1,189 +0,0 @@
1
- import { createPublicClient, } from 'viem';
2
- import { getModuleInstallationCalls } from '../accounts/index.js';
3
- import { createTransport } from '../accounts/json-rpc/index.js';
4
- import { resolveCallInputs } from '../execution/utils.js';
5
- import { getSocialRecoveryValidator, OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, } from '../modules/validators/core.js';
6
- import { addOwner, changeThreshold, removeOwner } from './ecdsa.js';
7
- import { addOwner as addPasskeyOwner, changeThreshold as changePasskeyThreshold, removeOwner as removePasskeyOwner, } from './passkeys.js';
8
- /**
9
- * Set up social recovery
10
- * @param guardians Guardians to use for recovery
11
- * @param threshold Threshold for the guardians
12
- * @returns Calls to set up social recovery
13
- */
14
- function enable(guardians, threshold = 1) {
15
- const module = getSocialRecoveryValidator(guardians, threshold);
16
- return {
17
- async resolve({ config }) {
18
- return getModuleInstallationCalls(config, module);
19
- },
20
- };
21
- }
22
- /**
23
- * Recover an account's ownership (ECDSA)
24
- * @param address Account address
25
- * @param newOwners New owners
26
- * @param chain Chain to recover ownership on
27
- * @param provider Provider to use for the recovery
28
- * @returns Calls to recover ownership
29
- */
30
- async function recoverEcdsaOwnership(address, newOwners, chain, config) {
31
- const publicClient = createPublicClient({
32
- chain,
33
- transport: createTransport(chain, config.provider),
34
- });
35
- // Read the existing config
36
- const results = await publicClient.multicall({
37
- contracts: [
38
- {
39
- address: OWNABLE_VALIDATOR_ADDRESS,
40
- abi: [
41
- {
42
- inputs: [
43
- { internalType: 'address', name: 'account', type: 'address' },
44
- ],
45
- name: 'getOwners',
46
- outputs: [
47
- {
48
- internalType: 'address[]',
49
- name: 'ownersArray',
50
- type: 'address[]',
51
- },
52
- ],
53
- stateMutability: 'view',
54
- type: 'function',
55
- },
56
- ],
57
- functionName: 'getOwners',
58
- args: [address],
59
- },
60
- {
61
- address: OWNABLE_VALIDATOR_ADDRESS,
62
- abi: [
63
- {
64
- inputs: [
65
- { internalType: 'address', name: 'account', type: 'address' },
66
- ],
67
- name: 'threshold',
68
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
69
- stateMutability: 'view',
70
- type: 'function',
71
- },
72
- ],
73
- functionName: 'threshold',
74
- args: [address],
75
- },
76
- ],
77
- });
78
- const existingOwnersResult = results[0];
79
- const existingThresholdResult = results[1];
80
- if (existingOwnersResult.error || existingThresholdResult.error) {
81
- throw new Error('Failed to read existing owners or threshold');
82
- }
83
- const existingOwners = existingOwnersResult.result;
84
- const existingThreshold = existingThresholdResult.result;
85
- const normalizedExistingOwners = existingOwners.map((owner) => owner.toLowerCase());
86
- const callInputs = [];
87
- // Convert new owners config to addresses and threshold
88
- const newOwnerAddresses = newOwners.accounts
89
- .map((account) => account.address.toLowerCase())
90
- .sort();
91
- const newThreshold = newOwners.threshold ?? 1;
92
- // Check if threshold needs to be updated
93
- if (Number(existingThreshold) !== newThreshold) {
94
- callInputs.push(changeThreshold(newThreshold));
95
- }
96
- const ownersToAdd = newOwnerAddresses.filter((owner) => !normalizedExistingOwners.includes(owner));
97
- const ownersToRemove = normalizedExistingOwners.filter((owner) => !newOwnerAddresses.includes(owner));
98
- // Maintain the list as making changes to keep track of the previous owner for removals
99
- // Note: new owners are added to the START of the linked list
100
- let currentOwners = [...normalizedExistingOwners];
101
- for (const owner of ownersToAdd) {
102
- callInputs.push(addOwner(owner));
103
- currentOwners.unshift(owner);
104
- }
105
- for (const ownerToRemove of ownersToRemove) {
106
- const ownerIndex = currentOwners.indexOf(ownerToRemove);
107
- let prevOwner;
108
- if (ownerIndex === 0) {
109
- // If it's the first owner, use the sentinel address
110
- prevOwner = '0x0000000000000000000000000000000000000001';
111
- }
112
- else {
113
- prevOwner = currentOwners[ownerIndex - 1];
114
- }
115
- callInputs.push(removeOwner(prevOwner, ownerToRemove));
116
- currentOwners = currentOwners.filter((owner) => owner !== ownerToRemove);
117
- }
118
- const calls = await resolveCallInputs(callInputs, config, chain, address);
119
- return calls;
120
- }
121
- /**
122
- * Recover an account's ownership (Passkey)
123
- * @param address Account address
124
- * @param oldCredentials Old credentials to be replaced (with pubKeyX, pubKeyY)
125
- * @param newOwners New passkey owners
126
- * @param chain Chain to recover ownership on
127
- * @param provider Provider to use for the recovery
128
- * @returns Calls to recover ownership
129
- */
130
- async function recoverPasskeyOwnership(address, oldCredentials, newOwners, chain, config) {
131
- const publicClient = createPublicClient({
132
- chain,
133
- transport: createTransport(chain, config.provider),
134
- });
135
- const existingThreshold = await publicClient.readContract({
136
- address: WEBAUTHN_VALIDATOR_ADDRESS,
137
- abi: [
138
- {
139
- inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
140
- name: 'threshold',
141
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
142
- stateMutability: 'view',
143
- type: 'function',
144
- },
145
- ],
146
- functionName: 'threshold',
147
- args: [address],
148
- });
149
- const callInputs = [];
150
- // Convert new owners config to credentials and threshold
151
- const newCredentials = newOwners.accounts.map((account) => {
152
- const publicKey = account.publicKey;
153
- // Parse the public key hex string to extract x and y coordinates
154
- const publicKeyBytes = publicKey.startsWith('0x')
155
- ? publicKey.slice(2)
156
- : publicKey;
157
- // The public key is 64 bytes: 32 bytes for x, 32 bytes for y
158
- const x = BigInt(`0x${publicKeyBytes.slice(0, 64)}`);
159
- const y = BigInt(`0x${publicKeyBytes.slice(64, 128)}`);
160
- return {
161
- pubKeyX: x,
162
- pubKeyY: y,
163
- requireUV: false, // Default to false for now
164
- };
165
- });
166
- const newThreshold = newOwners.threshold ?? 1;
167
- // Check if threshold needs to be updated
168
- if (Number(existingThreshold) !== newThreshold) {
169
- callInputs.push(changePasskeyThreshold(newThreshold));
170
- }
171
- // Compare existing and new credentials to determine what to add/remove
172
- const existingCredentialKeys = oldCredentials.map((cred) => `${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`);
173
- const newCredentialKeys = newCredentials.map((cred) => `${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`);
174
- // Find credentials to add (new ones not in existing)
175
- const credentialsToAdd = newCredentials.filter((cred) => !existingCredentialKeys.includes(`${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`));
176
- // Find credentials to remove (existing ones not in new)
177
- const credentialsToRemove = oldCredentials.filter((cred) => !newCredentialKeys.includes(`${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`));
178
- // Remove old credentials first (important for security in recovery scenarios)
179
- for (const credential of credentialsToRemove) {
180
- callInputs.push(removePasskeyOwner(credential.pubKeyX, credential.pubKeyY));
181
- }
182
- // Then add new credentials
183
- for (const credential of credentialsToAdd) {
184
- callInputs.push(addPasskeyOwner(credential.pubKeyX, credential.pubKeyY, credential.requireUV));
185
- }
186
- const calls = await resolveCallInputs(callInputs, config, chain, address);
187
- return calls;
188
- }
189
- export { enable, recoverEcdsaOwnership, recoverPasskeyOwnership };
@@ -1,7 +0,0 @@
1
- import type { RhinestoneConfig, RhinestoneSDKConfig } from '../types.js';
2
- export interface AuthProvider {
3
- getHeaders(): Promise<Record<string, string>>;
4
- getSubmitHeaders(intentInput: unknown, isSponsored: boolean): Promise<Record<string, string>>;
5
- }
6
- export declare function createAuthProvider(config: RhinestoneSDKConfig | RhinestoneConfig): AuthProvider;
7
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../auth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC7C,gBAAgB,CACd,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACnC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,GAC7C,YAAY,CAqCd"}
@@ -1,38 +0,0 @@
1
- export function createAuthProvider(config) {
2
- const resolved = resolveAuth(config);
3
- if (resolved.mode === 'apiKey') {
4
- const headers = { 'x-api-key': resolved.apiKey };
5
- return {
6
- getHeaders: async () => headers,
7
- getSubmitHeaders: async () => headers,
8
- };
9
- }
10
- const { accessToken, getIntentExtensionToken } = resolved;
11
- const resolveAccessToken = async () => typeof accessToken === 'function' ? await accessToken() : accessToken;
12
- return {
13
- async getHeaders() {
14
- const token = await resolveAccessToken();
15
- return { Authorization: `Bearer ${token}`, 'x-api-key': 'jwt' };
16
- },
17
- async getSubmitHeaders(intentInput, isSponsored) {
18
- const token = await resolveAccessToken();
19
- const headers = {
20
- Authorization: `Bearer ${token}`,
21
- 'x-api-key': 'jwt',
22
- };
23
- if (isSponsored && getIntentExtensionToken) {
24
- const extensionToken = await getIntentExtensionToken(intentInput);
25
- headers['X-Intent-Extension'] = `Bearer ${extensionToken}`;
26
- }
27
- return headers;
28
- },
29
- };
30
- }
31
- function resolveAuth(config) {
32
- if ('auth' in config && config.auth)
33
- return config.auth;
34
- if ('apiKey' in config && config.apiKey) {
35
- return { mode: 'apiKey', apiKey: config.apiKey };
36
- }
37
- throw new Error('RhinestoneSDK requires either `apiKey` or `auth` in config');
38
- }
@@ -1,5 +0,0 @@
1
- declare const SCOPE_MULTICHAIN = 0;
2
- declare const RESET_PERIOD_ONE_WEEK = 6;
3
- declare const COMPACT_ADDRESS = "0x00000000000000171ede64904551eeDF3C6C9788";
4
- export { SCOPE_MULTICHAIN, RESET_PERIOD_ONE_WEEK, COMPACT_ADDRESS };
5
- //# sourceMappingURL=compact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../execution/compact.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,IAAI,CAAA;AAC1B,QAAA,MAAM,qBAAqB,IAAI,CAAA;AAE/B,QAAA,MAAM,eAAe,+CAA+C,CAAA;AAEpE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAA"}
@@ -1,4 +0,0 @@
1
- const SCOPE_MULTICHAIN = 0;
2
- const RESET_PERIOD_ONE_WEEK = 6;
3
- const COMPACT_ADDRESS = '0x00000000000000171ede64904551eeDF3C6C9788';
4
- export { SCOPE_MULTICHAIN, RESET_PERIOD_ONE_WEEK, COMPACT_ADDRESS };
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../execution/error.ts"],"names":[],"mappings":"AAAA,cAAM,cAAe,SAAQ,KAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;gBAErB,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;IAQD,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,QAEV;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,OAAO,WAEV;CACF;AAED,cAAM,uBAAwB,SAAQ,cAAc;gBACtC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,cAAM,gCAAiC,SAAQ,cAAc;gBAC/C,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAMF;AAED,cAAM,yBAA0B,SAAQ,cAAc;gBACxC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,cAAM,iBAAkB,SAAQ,cAAc;gBAChC,MAAM,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAMF;AAED,cAAM,wBAAyB,SAAQ,cAAc;gBACvC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAMF;AAED,cAAM,kCAAmC,SAAQ,cAAc;gBACjD,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,cAAM,iCAAkC,SAAQ,cAAc;gBAChD,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,cAAc,CAE/D;AAED,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iCAAiC,EACjC,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,GACxB,CAAA"}
@@ -1,85 +0,0 @@
1
- class ExecutionError extends Error {
2
- _message;
3
- _context;
4
- _errorType;
5
- _traceId;
6
- constructor(params) {
7
- super();
8
- this._message = params?.message || 'ExecutionError';
9
- this._context = params?.context || {};
10
- this._errorType = params?.errorType || 'Unknown';
11
- this._traceId = params?.traceId || '';
12
- }
13
- get message() {
14
- return this._message;
15
- }
16
- get context() {
17
- return this._context;
18
- }
19
- get errorType() {
20
- return this._errorType;
21
- }
22
- get traceId() {
23
- return this._traceId;
24
- }
25
- }
26
- class SignerNotSupportedError extends ExecutionError {
27
- constructor(params) {
28
- super({
29
- message: 'Sending a transaction is not supported for this type of signers. Use user operations instead.',
30
- ...params,
31
- });
32
- }
33
- }
34
- class OrderPathRequiredForIntentsError extends ExecutionError {
35
- constructor(params) {
36
- super({
37
- message: 'Order path is required when using intents',
38
- ...params,
39
- });
40
- }
41
- }
42
- class SessionChainRequiredError extends ExecutionError {
43
- constructor(params) {
44
- super({
45
- message: 'Specifying a chain is required when using multi-chain smart sessions',
46
- ...params,
47
- });
48
- }
49
- }
50
- class IntentFailedError extends ExecutionError {
51
- constructor(params) {
52
- super({
53
- message: 'Intent failed',
54
- ...params,
55
- });
56
- }
57
- }
58
- class IntentStatusTimeoutError extends ExecutionError {
59
- constructor(params) {
60
- super({
61
- message: 'Intent status polling timed out',
62
- ...params,
63
- });
64
- }
65
- }
66
- class QuoteNotInPreparedTransactionError extends ExecutionError {
67
- constructor(params) {
68
- super({
69
- message: 'Selected quote does not belong to the prepared transaction. Re-prepare and try again.',
70
- ...params,
71
- });
72
- }
73
- }
74
- class Eip7702InitSignatureRequiredError extends ExecutionError {
75
- constructor(params) {
76
- super({
77
- message: 'EIP-7702 initialization signature is required for 7702 accounts. This signature is needed during transaction preparation, even if your account is already deployed on all chains. Use `getEip7702InitSignature()` to generate it.',
78
- ...params,
79
- });
80
- }
81
- }
82
- function isExecutionError(error) {
83
- return error instanceof ExecutionError;
84
- }
85
- export { isExecutionError, ExecutionError, Eip7702InitSignatureRequiredError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, IntentFailedError, IntentStatusTimeoutError, SignerNotSupportedError, };
@@ -1,42 +0,0 @@
1
- import { type Address, type Chain, type Hex } from 'viem';
2
- import type { UserOperationReceipt } from 'viem/_types/account-abstraction';
3
- import { type AuthProvider } from '../auth/provider.js';
4
- import { type FillTransactionHash, type IntentOpStatus, type SplitIntentsInput } from '../orchestrator/index.js';
5
- import type { SettlementLayerFilter } from '../orchestrator/types.js';
6
- import type { CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, UserOperationTransaction } from '../types.js';
7
- import { ExecutionError, IntentFailedError, IntentStatusTimeoutError, isExecutionError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError } from './error.js';
8
- import type { TransactionResult, UserOperationResult } from './utils.js';
9
- interface TransactionStatus {
10
- fill: {
11
- /** Destination fill hash — viem `Hex` for EVM, base58 / Tron-hex for non-EVM. */
12
- hash: FillTransactionHash | undefined;
13
- chainId: number;
14
- };
15
- claims: {
16
- hash: Hex | undefined;
17
- chainId: number;
18
- }[];
19
- }
20
- declare function sendUserOperation(config: RhinestoneAccountConfig, transaction: UserOperationTransaction): Promise<UserOperationResult>;
21
- declare function sendTransactionInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, options: {
22
- callInputs?: CallInput[];
23
- gasLimit?: bigint;
24
- initialTokenRequests?: TokenRequest[];
25
- recipient?: RhinestoneAccountConfig | Address;
26
- signers?: SignerSet;
27
- sponsored?: Sponsorship;
28
- eip7702InitSignature?: Hex;
29
- settlementLayers?: SettlementLayerFilter;
30
- sourceAssets?: SourceAssetInput;
31
- feeAsset?: Address | TokenSymbol;
32
- }): Promise<TransactionResult>;
33
- declare function sendUserOperationInternal(config: RhinestoneConfig, chain: Chain, callInputs: CalldataInput[], signers?: SignerSet): Promise<UserOperationResult>;
34
- declare function waitForExecution(config: RhinestoneConfig, result: TransactionResult | UserOperationResult): Promise<TransactionStatus | UserOperationReceipt>;
35
- declare function getPortfolio(config: RhinestoneConfig, onTestnets: boolean): Promise<import("../orchestrator/index.js").Portfolio>;
36
- declare function getIntentStatus(authProvider: AuthProvider, endpointUrl: string | undefined, intentId: string, headers?: Record<string, string>): Promise<TransactionStatus & {
37
- status: IntentOpStatus['status'];
38
- }>;
39
- declare function splitIntents(authProvider: AuthProvider, endpointUrl: string | undefined, input: SplitIntentsInput, headers?: Record<string, string>): Promise<import("../orchestrator/index.js").SplitIntentsResult>;
40
- export { sendTransactionInternal, sendUserOperation, sendUserOperationInternal, waitForExecution, getPortfolio, getIntentStatus, splitIntents, isExecutionError, ExecutionError, IntentFailedError, IntentStatusTimeoutError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, };
41
- export type { TransactionStatus, TransactionResult, UserOperationResult };
42
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAG3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EACL,KAAK,mBAAmB,EAKxB,KAAK,cAAc,EAGnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EAET,uBAAuB,EACvB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,wBAAwB,EACzB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAoBrE,UAAU,iBAAiB;IACzB,IAAI,EAAE;QACJ,iFAAiF;QACjF,IAAI,EAAE,mBAAmB,GAAG,SAAS,CAAA;QACrC,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG,GAAG,SAAS,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,wBAAwB,gCAetC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,EACjC,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE;IACP,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IACrC,SAAS,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAA;IAC7C,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,oBAAoB,CAAC,EAAE,GAAG,CAAA;IAC1B,gBAAgB,CAAC,EAAE,qBAAqB,CAAA;IACxC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;CACjC,8BAkCF;AAED,iBAAe,yBAAyB,CACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,CAAC,EAAE,SAAS,gCA4BpB;AAwED,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,GAC9C,OAAO,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,CAkGnD;AAED,iBAAe,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,gDAgBxE;AAED,iBAAe,eAAe,CAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CACR,iBAAiB,GAAG;IAClB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACjC,CACF,CAcA;AAED,iBAAe,YAAY,CACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,yDAIjC;AAED,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,YAAY,EAEZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,uBAAuB,GACxB,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA"}
@@ -1,202 +0,0 @@
1
- import { createPublicClient } from 'viem';
2
- import { deploy, getAddress } from '../accounts/index.js';
3
- import { createTransport, getBundlerClient } from '../accounts/utils.js';
4
- import { createAuthProvider } from '../auth/provider.js';
5
- import { getOrchestrator, INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, INTENT_STATUS_FILLED, isRateLimited, isRetryable, } from '../orchestrator/index.js';
6
- import { getChainById, getSupportedChainIds, isTestnet, } from '../orchestrator/registry.js';
7
- import { ExecutionError, IntentFailedError, IntentStatusTimeoutError, isExecutionError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, } from './error.js';
8
- import { getTargetExecutionSignature, getTokenRequests, getValidatorAccount, parseCalls, prepareTransactionAsIntent, resolveCallInputs, signAuthorizationsInternal, signIntent, submitIntentInternal, } from './utils.js';
9
- const POLL_INITIAL_MS = 500;
10
- const POLL_SLOW_AFTER_MS = 15000;
11
- const POLL_SLOW_MS = 2000;
12
- const POLL_MAX_WAIT_MS = 210000;
13
- const POLL_ERROR_BACKOFF_MS = 1000;
14
- const POLL_ERROR_BACKOFF_MAX_MS = 10000;
15
- async function sendUserOperation(config, transaction) {
16
- const accountAddress = getAddress(config);
17
- const resolvedCalls = await resolveCallInputs(transaction.calls, config, transaction.chain, accountAddress);
18
- return await sendUserOperationInternal(config, transaction.chain, resolvedCalls, transaction.signers);
19
- }
20
- async function sendTransactionInternal(config, sourceChains, targetChain, options) {
21
- const accountAddress = getAddress(config);
22
- const resolvedCalls = await resolveCallInputs(options.callInputs, config, targetChain, accountAddress);
23
- const tokenRequests = getTokenRequests(targetChain, options.initialTokenRequests);
24
- const sendAsUserOp = options.signers?.type === 'guardians';
25
- if (sendAsUserOp) {
26
- throw new SignerNotSupportedError();
27
- }
28
- else {
29
- return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset);
30
- }
31
- }
32
- async function sendUserOperationInternal(config, chain, callInputs, signers) {
33
- // Make sure the account is deployed
34
- await deploy(config, chain);
35
- const publicClient = createPublicClient({
36
- chain,
37
- transport: createTransport(chain, config.provider),
38
- });
39
- const validatorAccount = await getValidatorAccount(config, signers, publicClient, chain);
40
- if (!validatorAccount) {
41
- throw new Error('No validator account found');
42
- }
43
- const bundlerClient = getBundlerClient(config, publicClient);
44
- const calls = parseCalls(callInputs, chain.id);
45
- const hash = await bundlerClient.sendUserOperation({
46
- account: validatorAccount,
47
- calls,
48
- });
49
- return {
50
- type: 'userop',
51
- hash,
52
- chain: chain.id,
53
- };
54
- }
55
- async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset) {
56
- const prepared = await prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, undefined, undefined, signers);
57
- if (!prepared) {
58
- throw new OrderPathRequiredForIntentsError();
59
- }
60
- const { quotes, intentInput } = prepared;
61
- const quote = quotes.best;
62
- const { originSignatures, destinationSignature } = await signIntent(config, quote.signData, targetChain, signers);
63
- const targetExecutionSignature = await getTargetExecutionSignature(config, quote.signData, targetChain, signers);
64
- const authorizations = config.eoa
65
- ? await signAuthorizationsInternal(config, {
66
- sourceChains,
67
- targetChain,
68
- eip7702InitSignature,
69
- })
70
- : [];
71
- return await submitIntentInternal(config, sourceChains, targetChain, quote, originSignatures, destinationSignature, targetExecutionSignature, authorizations, false, intentInput);
72
- }
73
- async function waitForExecution(config, result) {
74
- const validStatuses = new Set([
75
- INTENT_STATUS_FAILED,
76
- INTENT_STATUS_COMPLETED,
77
- INTENT_STATUS_FILLED,
78
- ]);
79
- switch (result.type) {
80
- case 'intent': {
81
- let intentStatus = null;
82
- const startTs = Date.now();
83
- let nextDelayMs = POLL_INITIAL_MS;
84
- let errorBackoffMs = POLL_ERROR_BACKOFF_MS;
85
- while (intentStatus === null || !validStatuses.has(intentStatus.status)) {
86
- const now = Date.now();
87
- if (now - startTs >= POLL_MAX_WAIT_MS) {
88
- throw new IntentStatusTimeoutError({
89
- context: {
90
- intentId: result.id,
91
- },
92
- });
93
- }
94
- const orchestrator = getOrchestrator(config._authProvider ?? createAuthProvider(config), config.endpointUrl, config.headers);
95
- try {
96
- intentStatus = await orchestrator.getIntent(result.id);
97
- // reset error backoff on success
98
- errorBackoffMs = POLL_ERROR_BACKOFF_MS;
99
- const elapsed = Date.now() - startTs;
100
- nextDelayMs =
101
- elapsed >= POLL_SLOW_AFTER_MS ? POLL_SLOW_MS : POLL_INITIAL_MS;
102
- await new Promise((resolve) => setTimeout(resolve, nextDelayMs));
103
- }
104
- catch (err) {
105
- if (isRateLimited(err)) {
106
- const retryAfter = err.retryAfter;
107
- let retryMs = nextDelayMs;
108
- if (retryAfter) {
109
- const parsed = Number(retryAfter);
110
- if (!Number.isNaN(parsed)) {
111
- retryMs = Math.max(parsed * 1000, nextDelayMs);
112
- }
113
- else {
114
- const asDate = Date.parse(retryAfter);
115
- if (!Number.isNaN(asDate)) {
116
- retryMs = Math.max(asDate - Date.now(), nextDelayMs);
117
- }
118
- }
119
- }
120
- else {
121
- retryMs = Math.max(POLL_SLOW_MS, nextDelayMs);
122
- }
123
- await new Promise((resolve) => setTimeout(resolve, retryMs));
124
- continue;
125
- }
126
- if (isRetryable(err)) {
127
- const backoff = Math.min(errorBackoffMs, POLL_ERROR_BACKOFF_MAX_MS);
128
- errorBackoffMs = Math.min(errorBackoffMs * 2, POLL_ERROR_BACKOFF_MAX_MS);
129
- await new Promise((resolve) => setTimeout(resolve, backoff));
130
- continue;
131
- }
132
- throw err;
133
- }
134
- }
135
- if (intentStatus.status === INTENT_STATUS_FAILED) {
136
- throw new IntentFailedError({
137
- context: {
138
- intentId: result.id,
139
- },
140
- });
141
- }
142
- return {
143
- fill: {
144
- hash: intentStatus.fillTransactionHash,
145
- chainId: result.targetChain,
146
- },
147
- claims: intentStatus.claims.map((claim) => ({
148
- hash: claim.claimTransactionHash,
149
- chainId: claim.chainId,
150
- })),
151
- };
152
- }
153
- case 'userop': {
154
- const targetChain = getChainById(result.chain);
155
- const publicClient = createPublicClient({
156
- chain: targetChain,
157
- transport: createTransport(targetChain, config.provider),
158
- });
159
- const bundlerClient = getBundlerClient(config, publicClient);
160
- const receipt = await bundlerClient.waitForUserOperationReceipt({
161
- hash: result.hash,
162
- });
163
- return receipt;
164
- }
165
- }
166
- }
167
- async function getPortfolio(config, onTestnets) {
168
- const address = getAddress(config);
169
- const orchestrator = getOrchestrator(config._authProvider ?? createAuthProvider(config), config.endpointUrl, config.headers);
170
- const supportedChainIds = getSupportedChainIds();
171
- const filteredChainIds = supportedChainIds.filter((id) => {
172
- try {
173
- return isTestnet(id) === onTestnets;
174
- }
175
- catch {
176
- return false;
177
- }
178
- });
179
- return orchestrator.getPortfolio(address, { chainIds: filteredChainIds });
180
- }
181
- async function getIntentStatus(authProvider, endpointUrl, intentId, headers) {
182
- const orchestrator = getOrchestrator(authProvider, endpointUrl, headers);
183
- const internalStatus = await orchestrator.getIntent(intentId);
184
- return {
185
- status: internalStatus.status,
186
- fill: {
187
- hash: internalStatus.fillTransactionHash,
188
- chainId: internalStatus.destinationChainId,
189
- },
190
- claims: internalStatus.claims.map((claim) => ({
191
- hash: claim.claimTransactionHash,
192
- chainId: claim.chainId,
193
- })),
194
- };
195
- }
196
- async function splitIntents(authProvider, endpointUrl, input, headers) {
197
- const orchestrator = getOrchestrator(authProvider, endpointUrl, headers);
198
- return orchestrator.getSplit(input);
199
- }
200
- export { sendTransactionInternal, sendUserOperation, sendUserOperationInternal, waitForExecution, getPortfolio, getIntentStatus, splitIntents,
201
- // Errors
202
- isExecutionError, ExecutionError, IntentFailedError, IntentStatusTimeoutError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, };