@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
@@ -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"}
@@ -0,0 +1,85 @@
1
+ import { createPublicClient } from 'viem';
2
+ import { entryPoint07Address } from 'viem/account-abstraction';
3
+ import { getChainById } from '../../chains/catalog.js';
4
+ import { requestJsonRpc } from '../json-rpc.js';
5
+ import { createRpcTransport } from '../rpc/transport.js';
6
+ import { resolveBundlerUrl } from './endpoints.js';
7
+ export function createBundlerClient(input) {
8
+ const fetchPort = input.fetch ?? globalThis.fetch;
9
+ const request = (chainId, method, params) => requestJsonRpc({
10
+ fetch: fetchPort,
11
+ url: resolveBundlerUrl(chainId, input.endpoint),
12
+ method,
13
+ params,
14
+ });
15
+ return {
16
+ estimateGas: async (chain, operation) => mapGasEstimate(await request(chain.id, 'eth_estimateUserOperationGas', [
17
+ serializeUserOperation(operation),
18
+ entryPoint07Address,
19
+ ])),
20
+ getGasPrice: async (chain) => {
21
+ if (input.endpoint?.kind === 'custom') {
22
+ const client = createPublicClient({
23
+ chain: getChainById(chain.id),
24
+ transport: createRpcTransport(chain.id, input.provider),
25
+ });
26
+ const fees = await client.estimateFeesPerGas({ type: 'eip1559' });
27
+ return {
28
+ maxFeePerGas: 2n * fees.maxFeePerGas,
29
+ maxPriorityFeePerGas: 2n * fees.maxPriorityFeePerGas,
30
+ };
31
+ }
32
+ return mapGasPrice(await request(chain.id, 'pimlico_getUserOperationGasPrice', []));
33
+ },
34
+ send: async (chain, operation) => (await request(chain.id, 'eth_sendUserOperation', [
35
+ serializeUserOperation(operation),
36
+ entryPoint07Address,
37
+ ])),
38
+ getReceipt: async (chain, hash) => {
39
+ const receipt = await request(chain.id, 'eth_getUserOperationReceipt', [
40
+ hash,
41
+ ]);
42
+ return receipt === null
43
+ ? undefined
44
+ : receipt;
45
+ },
46
+ };
47
+ }
48
+ export function serializeUserOperation(operation) {
49
+ return Object.fromEntries(Object.entries(operation)
50
+ .filter(([, value]) => value !== undefined)
51
+ .map(([key, value]) => [
52
+ key,
53
+ typeof value === 'bigint' ? `0x${value.toString(16)}` : value,
54
+ ]));
55
+ }
56
+ function mapGasEstimate(value) {
57
+ const result = value;
58
+ return {
59
+ callGasLimit: parseQuantity(result.callGasLimit),
60
+ verificationGasLimit: parseQuantity(result.verificationGasLimit),
61
+ preVerificationGas: parseQuantity(result.preVerificationGas),
62
+ ...(result.paymasterVerificationGasLimit
63
+ ? {
64
+ paymasterVerificationGasLimit: parseQuantity(result.paymasterVerificationGasLimit),
65
+ }
66
+ : {}),
67
+ ...(result.paymasterPostOpGasLimit
68
+ ? {
69
+ paymasterPostOpGasLimit: parseQuantity(result.paymasterPostOpGasLimit),
70
+ }
71
+ : {}),
72
+ };
73
+ }
74
+ function mapGasPrice(value) {
75
+ const result = value;
76
+ return {
77
+ maxFeePerGas: parseQuantity(result.fast?.maxFeePerGas),
78
+ maxPriorityFeePerGas: parseQuantity(result.fast?.maxPriorityFeePerGas),
79
+ };
80
+ }
81
+ function parseQuantity(value) {
82
+ if (value === undefined)
83
+ throw new Error('JSON-RPC quantity is missing');
84
+ return BigInt(value);
85
+ }
@@ -0,0 +1,3 @@
1
+ import type { ResolvedServiceEndpoint } from '../../config/resolved.js';
2
+ export declare function resolveBundlerUrl(chainId: number, endpoint?: ResolvedServiceEndpoint): string;
3
+ //# sourceMappingURL=endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../clients/bundler/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,uBAAuB,GACjC,MAAM,CAiBR"}
@@ -0,0 +1,18 @@
1
+ export function resolveBundlerUrl(chainId, endpoint) {
2
+ if (!endpoint)
3
+ return `https://public.pimlico.io/v2/${chainId}/rpc`;
4
+ switch (endpoint.kind) {
5
+ case 'pimlico':
6
+ return `https://api.pimlico.io/v2/${chainId}/rpc?apikey=${endpoint.apiKey}`;
7
+ case 'biconomy':
8
+ return `https://bundler.biconomy.io/api/v3/${chainId}/${endpoint.apiKey}`;
9
+ case 'custom': {
10
+ const url = typeof endpoint.urls === 'string'
11
+ ? endpoint.urls
12
+ : endpoint.urls[chainId];
13
+ if (!url)
14
+ throw new Error(`No bundler URL configured for chain ${chainId}`);
15
+ return url;
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,22 @@
1
+ import type { Hex } from 'viem';
2
+ import type { UserOperation, UserOperationReceipt } from 'viem/account-abstraction';
3
+ import type { EvmChainReference } from '../../chains/types.js';
4
+ export type BundlerUserOperation = UserOperation<'0.7'>;
5
+ export interface BundlerGasEstimate {
6
+ readonly callGasLimit: bigint;
7
+ readonly verificationGasLimit: bigint;
8
+ readonly preVerificationGas: bigint;
9
+ readonly paymasterVerificationGasLimit?: bigint;
10
+ readonly paymasterPostOpGasLimit?: bigint;
11
+ }
12
+ export interface BundlerGasPrice {
13
+ readonly maxFeePerGas: bigint;
14
+ readonly maxPriorityFeePerGas: bigint;
15
+ }
16
+ export interface BundlerPort {
17
+ readonly estimateGas: (chain: EvmChainReference, operation: BundlerUserOperation) => Promise<BundlerGasEstimate>;
18
+ readonly getGasPrice: (chain: EvmChainReference) => Promise<BundlerGasPrice>;
19
+ readonly send: (chain: EvmChainReference, operation: BundlerUserOperation) => Promise<Hex>;
20
+ readonly getReceipt: (chain: EvmChainReference, userOperationHash: Hex) => Promise<UserOperationReceipt<'0.7'> | undefined>;
21
+ }
22
+ //# sourceMappingURL=port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../../../clients/bundler/port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;AAEvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,MAAM,CAAA;IAC/C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,CACpB,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,oBAAoB,KAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IAC5E,QAAQ,CAAC,IAAI,EAAE,CACb,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,oBAAoB,KAC5B,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,iBAAiB,EACxB,iBAAiB,EAAE,GAAG,KACnB,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAAA;CACtD"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ export type JsonRpcFetchPort = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
2
+ export declare class JsonRpcClientError extends Error {
3
+ readonly method: string;
4
+ readonly code?: number;
5
+ readonly data?: unknown;
6
+ constructor(input: {
7
+ readonly method: string;
8
+ readonly message: string;
9
+ readonly code?: number;
10
+ readonly data?: unknown;
11
+ readonly cause?: unknown;
12
+ });
13
+ }
14
+ export declare function requestJsonRpc(input: {
15
+ readonly fetch: JsonRpcFetchPort;
16
+ readonly url: string;
17
+ readonly method: string;
18
+ readonly params: readonly unknown[];
19
+ }): Promise<unknown>;
20
+ //# sourceMappingURL=json-rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-rpc.d.ts","sourceRoot":"","sources":["../../../clients/json-rpc.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtB,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;gBAEX,KAAK,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;QACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;QACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KACzB;CAUF;AAID,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAA;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAA;CACpC,GAAG,OAAO,CAAC,OAAO,CAAC,CAgDnB"}