@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,159 @@
1
+ import { SignerNotSupportedError } from '../errors/execution.js';
2
+ import { defineValidator } from '../modules/validators/definition.js';
3
+ import { ecdsaSignerId, webauthnSignerId, } from '../modules/validators/signer-id.js';
4
+ import { SOCIAL_RECOVERY_VALIDATOR_ADDRESS } from '../modules/validators/social-recovery.js';
5
+ /**
6
+ * Adapts a signer selection for the intent and ERC-1271 flows.
7
+ *
8
+ * Rejects guardians: the social recovery validator reverts on
9
+ * `isValidSignatureWithSender` and only validates UserOperations, so a
10
+ * guardian signature could never be verified on these paths. Use
11
+ * {@link adaptUserOperationSignerSelection} for the UserOperation flow.
12
+ */
13
+ export function adaptSignerSelection(account, signers) {
14
+ if (signers.type === 'guardians') {
15
+ throw new SignerNotSupportedError();
16
+ }
17
+ return adaptAnySignerSelection(account, signers);
18
+ }
19
+ /**
20
+ * Adapts a signer selection for the UserOperation flow, where guardians are
21
+ * the one supported non-owner signer.
22
+ */
23
+ export function adaptUserOperationSignerSelection(account, signers) {
24
+ return adaptAnySignerSelection(account, signers);
25
+ }
26
+ function adaptAnySignerSelection(account, signers) {
27
+ if (signers.type === 'session') {
28
+ return adaptSessionSelection(signers);
29
+ }
30
+ if (signers.type === 'guardians') {
31
+ return adaptGuardianSelection(signers);
32
+ }
33
+ return adaptOwnerSelection(account, signers);
34
+ }
35
+ /**
36
+ * Adapts a guardian selection onto the social recovery validator.
37
+ *
38
+ * The module shares the ownable validator's threshold-ECDSA shape, so it
39
+ * resolves as an ECDSA validator pinned to the recovery module address. The
40
+ * threshold is the number of supplied guardians: the validator reads exactly
41
+ * `threshold` signatures onchain and sorts the recovered signers itself, so
42
+ * every guardian passed here must sign and their order is irrelevant.
43
+ */
44
+ function adaptGuardianSelection(signers) {
45
+ if (signers.guardians.length === 0) {
46
+ throw new Error('Guardian signer selection requires at least one guardian');
47
+ }
48
+ return {
49
+ kind: 'owner',
50
+ validator: defineValidator({
51
+ type: 'ecdsa',
52
+ accounts: signers.guardians,
53
+ threshold: signers.guardians.length,
54
+ module: SOCIAL_RECOVERY_VALIDATOR_ADDRESS,
55
+ }, 'recovery-validator'),
56
+ signerIds: signers.guardians.map(ecdsaSignerId),
57
+ };
58
+ }
59
+ function adaptOwnerSelection(account, signers) {
60
+ switch (signers.kind) {
61
+ case 'ecdsa': {
62
+ const signerIds = signers.accounts.map(ecdsaSignerId);
63
+ return {
64
+ kind: 'owner',
65
+ validator: account.owners
66
+ ? replaceValidatorAccounts(account.owners, signers.accounts)
67
+ : defineValidator({ type: 'ecdsa', accounts: signers.accounts }),
68
+ signerIds,
69
+ };
70
+ }
71
+ case 'passkey': {
72
+ const signerIds = signers.accounts.map(webauthnSignerId);
73
+ return {
74
+ kind: 'owner',
75
+ validator: defineValidator({
76
+ type: 'passkey',
77
+ accounts: signers.accounts,
78
+ ...(signers.module ? { module: signers.module } : {}),
79
+ }),
80
+ signerIds,
81
+ };
82
+ }
83
+ case 'multi-factor': {
84
+ const validator = defineValidator({
85
+ type: 'multi-factor',
86
+ validators: signers.validators.map((factor) => factor.type === 'passkey'
87
+ ? { type: 'passkey', accounts: factor.accounts }
88
+ : { type: 'ecdsa', accounts: factor.accounts }),
89
+ ...(signers.module ? { module: signers.module } : {}),
90
+ });
91
+ if (validator.kind !== 'multi-factor') {
92
+ throw new Error('Multi-factor signer selection did not resolve');
93
+ }
94
+ return {
95
+ kind: 'owner',
96
+ validator: {
97
+ ...validator,
98
+ validators: validator.validators.map((factor, index) => ({
99
+ ...factor,
100
+ publicId: signers.validators[index]?.id ?? factor.publicId,
101
+ })),
102
+ },
103
+ signerIds: signers.validators.flatMap((factor) => factor.type === 'passkey'
104
+ ? factor.accounts.map(webauthnSignerId)
105
+ : factor.accounts.map(ecdsaSignerId)),
106
+ };
107
+ }
108
+ }
109
+ }
110
+ function replaceValidatorAccounts(configured, selectedAccounts) {
111
+ const accounts = new Map(selectedAccounts.map((account) => [
112
+ account.type === 'webAuthn'
113
+ ? webauthnSignerId(account)
114
+ : ecdsaSignerId(account),
115
+ account,
116
+ ]));
117
+ if (configured.kind === 'multi-factor') {
118
+ return {
119
+ ...configured,
120
+ validators: configured.validators.map((validator) => replaceAtomicValidatorAccounts(validator, accounts)),
121
+ };
122
+ }
123
+ return replaceAtomicValidatorAccounts(configured, accounts);
124
+ }
125
+ function replaceAtomicValidatorAccounts(configured, accounts) {
126
+ return {
127
+ ...configured,
128
+ owners: configured.owners.map((owner) => replaceOwnerAccount(owner, accounts.get(owner.signerId))),
129
+ };
130
+ }
131
+ function replaceOwnerAccount(owner, account) {
132
+ if (!account)
133
+ return owner;
134
+ return owner.kind === 'webauthn' && account.type === 'webAuthn'
135
+ ? { ...owner, account }
136
+ : owner.kind !== 'webauthn' && account.type !== 'webAuthn'
137
+ ? { ...owner, account }
138
+ : owner;
139
+ }
140
+ function adaptSessionSelection(signers) {
141
+ if ('sessions' in signers) {
142
+ return {
143
+ kind: 'smart-session',
144
+ byChain: Object.fromEntries(Object.entries(signers.sessions).map(([chainId, selection]) => [
145
+ Number(chainId),
146
+ selection,
147
+ ])),
148
+ };
149
+ }
150
+ return {
151
+ kind: 'smart-session',
152
+ byChain: {
153
+ [signers.session.chain.id]: {
154
+ session: signers.session,
155
+ ...(signers.enableData ? { enableData: signers.enableData } : {}),
156
+ },
157
+ },
158
+ };
159
+ }
@@ -0,0 +1,9 @@
1
+ import type { Call } from './types.js';
2
+ export interface CallInput {
3
+ readonly target: string;
4
+ readonly value?: bigint;
5
+ readonly data?: `0x${string}`;
6
+ }
7
+ export declare function normalizeCall(input: CallInput): Call;
8
+ export declare function normalizeCalls(inputs: readonly CallInput[]): readonly Call[];
9
+ //# sourceMappingURL=normalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../calls/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,EAAE,CAAA;CAC9B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAYpD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,IAAI,EAAE,CAE5E"}
@@ -0,0 +1,17 @@
1
+ import { getAddress, isAddress } from 'viem';
2
+ export function normalizeCall(input) {
3
+ if (!isAddress(input.target)) {
4
+ throw new Error(`Invalid call target: ${input.target}`);
5
+ }
6
+ if (input.value !== undefined && input.value < 0n) {
7
+ throw new Error('Call value cannot be negative');
8
+ }
9
+ return {
10
+ target: getAddress(input.target),
11
+ value: input.value ?? 0n,
12
+ data: input.data ?? '0x',
13
+ };
14
+ }
15
+ export function normalizeCalls(inputs) {
16
+ return inputs.map(normalizeCall);
17
+ }
@@ -0,0 +1,3 @@
1
+ import type { Call, CallResolveContext, UnresolvedCall } from './types.js';
2
+ export declare function resolveCalls<CompatibilityConfig>(calls: readonly UnresolvedCall<CompatibilityConfig>[], context: CallResolveContext<CompatibilityConfig>): Promise<readonly Call[]>;
3
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../calls/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,kBAAkB,EAElB,cAAc,EACf,MAAM,SAAS,CAAA;AAQhB,wBAAsB,YAAY,CAAC,mBAAmB,EACpD,KAAK,EAAE,SAAS,cAAc,CAAC,mBAAmB,CAAC,EAAE,EACrD,OAAO,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,GAC/C,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAW1B"}
@@ -0,0 +1,15 @@
1
+ function isLazyCall(call) {
2
+ return 'resolve' in call && typeof call.resolve === 'function';
3
+ }
4
+ export async function resolveCalls(calls, context) {
5
+ const resolved = [];
6
+ for (const call of calls) {
7
+ if (!isLazyCall(call)) {
8
+ resolved.push(call);
9
+ continue;
10
+ }
11
+ const value = await call.resolve(context);
12
+ resolved.push(...(Array.isArray(value) ? value : [value]));
13
+ }
14
+ return resolved;
15
+ }
@@ -0,0 +1,25 @@
1
+ import type { Address, Hex } from 'viem';
2
+ import type { EvmChainReference, TokenReference } from '../chains/types.js';
3
+ export interface Call {
4
+ readonly target: Address;
5
+ readonly value: bigint;
6
+ readonly data: Hex;
7
+ }
8
+ export interface SourceFund {
9
+ readonly token: TokenReference;
10
+ readonly amount: bigint;
11
+ }
12
+ export interface CallResolveContext<CompatibilityConfig> {
13
+ readonly account: Address;
14
+ readonly chain: EvmChainReference;
15
+ readonly config: CompatibilityConfig;
16
+ }
17
+ export interface LazyCallInput<CompatibilityConfig> {
18
+ readonly resolve: (context: CallResolveContext<CompatibilityConfig>) => Promise<Call | readonly Call[]>;
19
+ }
20
+ export type UnresolvedCall<CompatibilityConfig> = Call | LazyCallInput<CompatibilityConfig>;
21
+ export interface ResolvedCalls {
22
+ readonly calls: readonly Call[];
23
+ readonly sourceFunds: readonly SourceFund[];
24
+ }
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../calls/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAExE,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,kBAAkB,CAAC,mBAAmB;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAA;CACrC;AAED,MAAM,WAAW,aAAa,CAAC,mBAAmB;IAChD,QAAQ,CAAC,OAAO,EAAE,CAChB,OAAO,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,KAC7C,OAAO,CAAC,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC,CAAA;CACrC;AAED,MAAM,MAAM,cAAc,CAAC,mBAAmB,IAC1C,IAAI,GACJ,aAAa,CAAC,mBAAmB,CAAC,CAAA;AAEtC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAC5C"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { ChainReference, EvmChainReference } from './types.js';
2
+ export declare function formatCaip2(chainId: number): string;
3
+ export declare function chainIdFromCaip2(value: string): number | undefined;
4
+ export declare function parseCaip2(value: string): ChainReference;
5
+ export declare function toEvmChainReference(chainId: number): EvmChainReference;
6
+ export declare function chainIdFromReference(chain: ChainReference): number;
7
+ export declare function isCaip2(value: string): boolean;
8
+ export declare function isEvmCaip2(value: string): value is `eip155:${number}`;
9
+ export declare function isNonEvmChainId(chainId: number): boolean;
10
+ //# sourceMappingURL=caip2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip2.d.ts","sourceRoot":"","sources":["../../../chains/caip2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AA4BhE,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAmBxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAUtE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAOlE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,MAAM,EAAE,CAErE;AAKD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD"}
@@ -0,0 +1,85 @@
1
+ // CAIP-2 wire format. EVM chains map programmatically (`eip155:<id>`); the
2
+ // handful of non-EVM / virtual chains carry an explicit id ↔ caip2 mapping.
3
+ //
4
+ // v2: this small table is bundled here rather than read from
5
+ // `@rhinestone/shared-configs`. EVM is the common case and needs no table, so a
6
+ // new EVM chain needs no SDK change; a new non-EVM chain is rare and adds one
7
+ // entry below. HyperCore is EVM-settled (id 1337) so `isNonEvmChainId` is
8
+ // `false` for it even though its wire id is the non-`eip155` `hypercore:mainnet`.
9
+ //
10
+ // Spec: https://chainagnostic.org/CAIPs/caip-2
11
+ const NON_EVM_CHAINS = [
12
+ { id: 1337, caip2: 'hypercore:mainnet', nonEvm: false },
13
+ { id: 728126428, caip2: 'tron:mainnet', nonEvm: true },
14
+ {
15
+ id: 792703809,
16
+ caip2: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
17
+ nonEvm: true,
18
+ },
19
+ ];
20
+ const evmPattern = /^eip155:(0|[1-9]\d*)$/;
21
+ export function formatCaip2(chainId) {
22
+ if (!Number.isSafeInteger(chainId) || chainId < 0) {
23
+ throw new Error(`Invalid chain id: ${chainId}`);
24
+ }
25
+ const nonEvm = NON_EVM_CHAINS.find((chain) => chain.id === chainId);
26
+ return nonEvm ? nonEvm.caip2 : `eip155:${chainId}`;
27
+ }
28
+ export function chainIdFromCaip2(value) {
29
+ if (evmPattern.test(value)) {
30
+ return Number(value.slice('eip155:'.length));
31
+ }
32
+ return NON_EVM_CHAINS.find((chain) => chain.caip2 === value)?.id;
33
+ }
34
+ export function parseCaip2(value) {
35
+ if (evmPattern.test(value)) {
36
+ const id = Number(value.slice('eip155:'.length));
37
+ return { kind: 'evm', id, caip2: `eip155:${id}` };
38
+ }
39
+ const id = chainIdFromCaip2(value);
40
+ if (id === undefined) {
41
+ throw new Error(`Invalid CAIP-2 chain id: ${value}`);
42
+ }
43
+ if (!isNonEvmChainId(id)) {
44
+ return { kind: 'evm', id, caip2: value };
45
+ }
46
+ const separator = value.indexOf(':');
47
+ return {
48
+ kind: 'non-evm',
49
+ namespace: value.slice(0, separator),
50
+ reference: value.slice(separator + 1),
51
+ caip2: value,
52
+ };
53
+ }
54
+ export function toEvmChainReference(chainId) {
55
+ const caip2 = formatCaip2(chainId);
56
+ if (!caip2.startsWith('eip155:') && chainId !== 1337) {
57
+ throw new Error(`Chain ${chainId} is not EVM-compatible`);
58
+ }
59
+ return {
60
+ kind: 'evm',
61
+ id: chainId,
62
+ caip2: caip2,
63
+ };
64
+ }
65
+ export function chainIdFromReference(chain) {
66
+ if (chain.kind === 'evm')
67
+ return chain.id;
68
+ const id = chainIdFromCaip2(chain.caip2);
69
+ if (id === undefined) {
70
+ throw new Error(`Invalid CAIP-2 chain id: ${chain.caip2}`);
71
+ }
72
+ return id;
73
+ }
74
+ export function isCaip2(value) {
75
+ return evmPattern.test(value) || chainIdFromCaip2(value) !== undefined;
76
+ }
77
+ export function isEvmCaip2(value) {
78
+ return evmPattern.test(value);
79
+ }
80
+ // True when a numeric chain id is genuinely non-EVM (Solana / Tron). HyperCore
81
+ // (1337) is EVM-settled, so this is `false` for it even though its wire id is
82
+ // the non-`eip155` `hypercore:mainnet` namespace.
83
+ export function isNonEvmChainId(chainId) {
84
+ return NON_EVM_CHAINS.some((chain) => chain.id === chainId && chain.nonEvm);
85
+ }
@@ -0,0 +1,5 @@
1
+ import { type Chain } from 'viem';
2
+ import type { ChainReference } from './types.js';
3
+ export declare function getChainById(chainId: number): Chain;
4
+ export declare function getChainReference(chainId: number): ChainReference;
5
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../chains/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAe,MAAM,MAAM,CAAA;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAU7C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAcnD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAgBjE"}
@@ -0,0 +1,41 @@
1
+ import { defineChain } from 'viem';
2
+ import * as viemChains from 'viem/chains';
3
+ import { formatCaip2 } from './caip2.js';
4
+ // Chain objects (rpc / nativeCurrency / formatters, needed for signing and
5
+ // `createPublicClient`) come from viem — not from bundled chain config. The
6
+ // supported *set* is gated by the orchestrator; this resolves any known viem
7
+ // chain by id.
8
+ const allViemChains = Object.values(viemChains).filter((chain) => typeof chain?.id === 'number');
9
+ export function getChainById(chainId) {
10
+ const known = allViemChains.find((chain) => chain.id === chainId);
11
+ if (known)
12
+ return known;
13
+ // The SDK must not gate signing/execution on its bundled viem version: a chain
14
+ // the orchestrator supports before viem knows it must still resolve. Fall back
15
+ // to a minimal chain carrying the id — the field EIP-712 signing needs. Richer
16
+ // metadata (formatters, default RPC) is only available for viem-known chains;
17
+ // RPC-needing paths already accept a caller-supplied transport.
18
+ return defineChain({
19
+ id: chainId,
20
+ name: `Chain ${chainId}`,
21
+ nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
22
+ rpcUrls: { default: { http: [] } },
23
+ });
24
+ }
25
+ export function getChainReference(chainId) {
26
+ const caip2 = formatCaip2(chainId);
27
+ if (caip2.startsWith('eip155:') || chainId === 1337) {
28
+ return {
29
+ kind: 'evm',
30
+ id: chainId,
31
+ caip2: caip2,
32
+ };
33
+ }
34
+ const separator = caip2.indexOf(':');
35
+ return {
36
+ kind: 'non-evm',
37
+ namespace: caip2.slice(0, separator),
38
+ reference: caip2.slice(separator + 1),
39
+ caip2: caip2,
40
+ };
41
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Thrown by the SDK's local chain/token registry — not an orchestrator API
3
+ * error. Kept distinct from `OrchestratorError` so consumers can catch
4
+ * unsupported-chain/token failures separately from server-side errors.
5
+ */
6
+ export declare class UnsupportedChainError extends Error {
7
+ readonly chainId: number;
8
+ constructor(chainId: number);
9
+ }
10
+ export declare class UnsupportedTokenError extends Error {
11
+ readonly tokenSymbol: string;
12
+ readonly chainId: number;
13
+ constructor(tokenSymbol: string, chainId: number);
14
+ }
15
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../chains/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKjD"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Thrown by the SDK's local chain/token registry — not an orchestrator API
3
+ * error. Kept distinct from `OrchestratorError` so consumers can catch
4
+ * unsupported-chain/token failures separately from server-side errors.
5
+ */
6
+ export class UnsupportedChainError extends Error {
7
+ chainId;
8
+ constructor(chainId) {
9
+ super(`Unsupported chain ${chainId}`);
10
+ this.chainId = chainId;
11
+ }
12
+ }
13
+ export class UnsupportedTokenError extends Error {
14
+ tokenSymbol;
15
+ chainId;
16
+ constructor(tokenSymbol, chainId) {
17
+ super(`Unsupported token ${tokenSymbol} for chain ${chainId}`);
18
+ this.tokenSymbol = tokenSymbol;
19
+ this.chainId = chainId;
20
+ }
21
+ }
@@ -1,5 +1,9 @@
1
1
  import type { Chain } from 'viem';
2
- import type { Caip2ChainId } from './caip2.js';
2
+ type EvmCaip2ChainId = `eip155:${number}`;
3
+ type SolanaCaip2ChainId = `solana:${string}`;
4
+ type TronCaip2ChainId = `tron:${string}`;
5
+ type HyperCoreCaip2ChainId = 'hypercore:mainnet';
6
+ type Caip2ChainId = EvmCaip2ChainId | SolanaCaip2ChainId | TronCaip2ChainId | HyperCoreCaip2ChainId;
3
7
  interface NativeCurrency {
4
8
  readonly name: string;
5
9
  readonly symbol: string;
@@ -9,15 +13,14 @@ type NonEvmAddress = string;
9
13
  interface NonEvmChain {
10
14
  readonly name: string;
11
15
  readonly caip2: Caip2ChainId;
12
- readonly kind: 'svm' | 'tvm';
16
+ readonly kind: 'svm' | 'tvm' | 'hypercore';
13
17
  readonly nativeCurrency: NativeCurrency;
14
18
  readonly testnet?: boolean;
15
19
  }
16
20
  type DestinationChain = Chain | NonEvmChain;
17
21
  declare const solanaMainnet: NonEvmChain;
18
22
  declare const tronMainnet: NonEvmChain;
19
- declare function isNonEvmChain(chain: DestinationChain): chain is NonEvmChain;
20
- declare function getChainId(chain: DestinationChain): number;
23
+ declare const hyperCoreMainnet: NonEvmChain;
21
24
  export type { DestinationChain, NativeCurrency, NonEvmAddress, NonEvmChain };
22
- export { getChainId, isNonEvmChain, solanaMainnet, tronMainnet };
23
- //# sourceMappingURL=destinations.d.ts.map
25
+ export { hyperCoreMainnet, solanaMainnet, tronMainnet };
26
+ //# sourceMappingURL=non-evm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-evm.d.ts","sourceRoot":"","sources":["../../../chains/non-evm.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAEjC,KAAK,eAAe,GAAG,UAAU,MAAM,EAAE,CAAA;AACzC,KAAK,kBAAkB,GAAG,UAAU,MAAM,EAAE,CAAA;AAC5C,KAAK,gBAAgB,GAAG,QAAQ,MAAM,EAAE,CAAA;AACxC,KAAK,qBAAqB,GAAG,mBAAmB,CAAA;AAChD,KAAK,YAAY,GACb,eAAe,GACf,kBAAkB,GAClB,gBAAgB,GAChB,qBAAqB,CAAA;AAEzB,UAAU,cAAc;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAMD,KAAK,aAAa,GAAG,MAAM,CAAA;AAE3B,UAAU,WAAW;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAI5B,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,WAAW,CAAA;IAC1C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,KAAK,gBAAgB,GAAG,KAAK,GAAG,WAAW,CAAA;AAE3C,QAAA,MAAM,aAAa,EAAE,WAKpB,CAAA;AAED,QAAA,MAAM,WAAW,EAAE,WAKlB,CAAA;AAED,QAAA,MAAM,gBAAgB,EAAE,WAKvB,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,30 @@
1
+ // Public destination chain descriptors for destinations that aren't a plain
2
+ // viem `Chain`: the non-EVM chains (Solana, Tron) plus HyperCore (an EVM-settled
3
+ // virtual L1). Mirrors the minimal shape of viem's `Chain` (name,
4
+ // nativeCurrency) so callers can pass them anywhere a destination chain is
5
+ // expected — `targetChain: solanaMainnet` reads the same as `targetChain:
6
+ // optimism`.
7
+ //
8
+ // The wire format is the CAIP-2 string. Internally the SDK and the
9
+ // orchestrator also use a synthetic numeric chain id derived from the
10
+ // CAIP-2 mapping, but it is non-standard and intentionally not exposed
11
+ // on this type.
12
+ const solanaMainnet = {
13
+ name: 'Solana',
14
+ caip2: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
15
+ kind: 'svm',
16
+ nativeCurrency: { name: 'Solana', symbol: 'SOL', decimals: 9 },
17
+ };
18
+ const tronMainnet = {
19
+ name: 'Tron',
20
+ caip2: 'tron:mainnet',
21
+ kind: 'tvm',
22
+ nativeCurrency: { name: 'Tron', symbol: 'TRX', decimals: 6 },
23
+ };
24
+ const hyperCoreMainnet = {
25
+ name: 'HyperCore',
26
+ caip2: 'hypercore:mainnet',
27
+ kind: 'hypercore',
28
+ nativeCurrency: { name: 'Hyperliquid', symbol: 'HYPE', decimals: 18 },
29
+ };
30
+ export { hyperCoreMainnet, solanaMainnet, tronMainnet };
@@ -0,0 +1,4 @@
1
+ import { type Address } from 'viem';
2
+ export declare function normalizeTokenAddress(token: Address | string, chainId: number, nonEvm: boolean): Address | string;
3
+ export declare function validateTokenAddresses(tokens: readonly string[]): void;
4
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../chains/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,MAAM,CAAA;AAM9C,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GAAG,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,GACd,OAAO,GAAG,MAAM,CAMlB;AAKD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAMtE"}
@@ -0,0 +1,22 @@
1
+ import { isAddress } from 'viem';
2
+ // Token inputs are per-chain ERC-20 addresses (v2 no longer bundles a token
3
+ // registry — chain/token data is fetched from the orchestrator at runtime).
4
+ // Non-EVM chains pass their token identifiers through unchanged; EVM inputs
5
+ // must be hex addresses.
6
+ export function normalizeTokenAddress(token, chainId, nonEvm) {
7
+ if (isAddress(token))
8
+ return token;
9
+ if (nonEvm)
10
+ return token;
11
+ throw new Error(`Expected a token address on EVM chain ${chainId}, got: ${token}`);
12
+ }
13
+ // Rejects non-address token identifiers (e.g. symbols) so they can't slip
14
+ // through the `sourceAssets` token-list inputs the way they can't through
15
+ // tokenRequests / per-chain `ExactInputConfig`.
16
+ export function validateTokenAddresses(tokens) {
17
+ for (const token of tokens) {
18
+ if (!isAddress(token, { strict: false })) {
19
+ throw new Error(`Invalid token address: ${token}`);
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,25 @@
1
+ import type { Address } from 'viem';
2
+ export interface EvmChainReference {
3
+ readonly kind: 'evm';
4
+ readonly id: number;
5
+ readonly caip2: `eip155:${number}`;
6
+ }
7
+ export interface NonEvmChainReference {
8
+ readonly kind: 'non-evm';
9
+ readonly namespace: string;
10
+ readonly reference: string;
11
+ readonly caip2: `${string}:${string}`;
12
+ }
13
+ export type ChainReference = EvmChainReference | NonEvmChainReference;
14
+ export interface EvmTokenReference {
15
+ readonly kind: 'evm-token';
16
+ readonly chain: EvmChainReference;
17
+ readonly address: Address;
18
+ }
19
+ export interface NonEvmTokenReference {
20
+ readonly kind: 'non-evm-token';
21
+ readonly chain: NonEvmChainReference;
22
+ readonly address: string;
23
+ }
24
+ export type TokenReference = EvmTokenReference | NonEvmTokenReference;
25
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../chains/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,UAAU,MAAM,EAAE,CAAA;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,oBAAoB,CAAA;AAErE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,oBAAoB,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { ResolvedProvider, ResolvedServiceEndpoint } from '../../config/resolved.js';
2
+ import { type JsonRpcFetchPort } from '../json-rpc.js';
3
+ import type { BundlerPort, BundlerUserOperation } from './port.js';
4
+ export declare function createBundlerClient(input: {
5
+ readonly endpoint?: ResolvedServiceEndpoint;
6
+ readonly provider: ResolvedProvider;
7
+ readonly fetch?: JsonRpcFetchPort;
8
+ }): BundlerPort;
9
+ export declare function serializeUserOperation(operation: BundlerUserOperation): Readonly<Record<string, unknown>>;
10
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../clients/bundler/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAAkB,MAAM,aAAa,CAAA;AAGnE,OAAO,KAAK,EAGV,WAAW,EACX,oBAAoB,EACrB,MAAM,QAAQ,CAAA;AAEf,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAClC,GAAG,WAAW,CAmDd;AAED,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,oBAAoB,GAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASnC"}