@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.
- package/README.md +2 -2
- package/dist/src/accounts/adapter.d.ts +31 -0
- package/dist/src/accounts/adapter.d.ts.map +1 -0
- package/dist/src/accounts/adapters/eoa.d.ts +4 -0
- package/dist/src/accounts/adapters/eoa.d.ts.map +1 -0
- package/dist/src/accounts/adapters/eoa.js +45 -0
- package/dist/src/accounts/adapters/hca.d.ts +5 -0
- package/dist/src/accounts/adapters/hca.d.ts.map +1 -0
- package/dist/src/accounts/adapters/hca.js +121 -0
- package/dist/src/accounts/adapters/kernel.d.ts +9 -0
- package/dist/src/accounts/adapters/kernel.d.ts.map +1 -0
- package/dist/src/accounts/adapters/kernel.js +159 -0
- package/dist/src/accounts/adapters/nexus.d.ts +16 -0
- package/dist/src/accounts/adapters/nexus.d.ts.map +1 -0
- package/dist/src/accounts/adapters/nexus.js +212 -0
- package/dist/src/accounts/adapters/safe.d.ts +6 -0
- package/dist/src/accounts/adapters/safe.d.ts.map +1 -0
- package/dist/src/accounts/adapters/safe.js +194 -0
- package/dist/src/accounts/adapters/shared.d.ts +9 -0
- package/dist/src/accounts/adapters/shared.d.ts.map +1 -0
- package/dist/src/accounts/adapters/shared.js +62 -0
- package/dist/src/accounts/adapters/startale.d.ts +14 -0
- package/dist/src/accounts/adapters/startale.d.ts.map +1 -0
- package/dist/src/accounts/adapters/startale.js +165 -0
- package/dist/src/accounts/construction.d.ts +25 -0
- package/dist/src/accounts/construction.d.ts.map +1 -0
- package/dist/src/accounts/construction.js +34 -0
- package/dist/src/accounts/deployment.d.ts +12 -0
- package/dist/src/accounts/deployment.d.ts.map +1 -0
- package/dist/src/accounts/deployment.js +33 -0
- package/dist/src/accounts/erc7579-calls.d.ts +4 -0
- package/dist/src/accounts/erc7579-calls.d.ts.map +1 -0
- package/dist/src/accounts/erc7579-calls.js +57 -0
- package/dist/src/accounts/error.d.ts +3 -10
- package/dist/src/accounts/error.d.ts.map +1 -1
- package/dist/src/accounts/error.js +5 -11
- package/dist/src/accounts/legacy.d.ts +14 -0
- package/dist/src/accounts/legacy.d.ts.map +1 -0
- package/dist/src/accounts/legacy.js +40 -0
- package/dist/src/accounts/registry.d.ts +4 -0
- package/dist/src/accounts/registry.d.ts.map +1 -0
- package/dist/src/accounts/registry.js +22 -0
- package/dist/src/accounts/types.d.ts +131 -0
- package/dist/src/accounts/types.d.ts.map +1 -0
- package/dist/src/accounts/types.js +1 -0
- package/dist/src/accounts/wallet-account.d.ts +3 -0
- package/dist/src/accounts/wallet-account.d.ts.map +1 -0
- package/dist/src/accounts/wallet-account.js +12 -0
- package/dist/src/actions/deploy.d.ts +4 -0
- package/dist/src/actions/deploy.d.ts.map +1 -0
- package/dist/src/actions/deploy.js +8 -0
- package/dist/src/actions/ecdsa.d.ts +2 -2
- package/dist/src/actions/ecdsa.d.ts.map +1 -1
- package/dist/src/actions/ecdsa.js +12 -65
- package/dist/src/actions/index.d.ts +2 -16
- package/dist/src/actions/index.d.ts.map +1 -1
- package/dist/src/actions/index.js +3 -49
- package/dist/src/actions/mfa.d.ts +1 -1
- package/dist/src/actions/mfa.d.ts.map +1 -1
- package/dist/src/actions/mfa.js +30 -10
- package/dist/src/actions/modules.d.ts +4 -0
- package/dist/src/actions/modules.d.ts.map +1 -0
- package/dist/src/actions/modules.js +22 -0
- package/dist/src/actions/ownable.d.ts +6 -0
- package/dist/src/actions/ownable.d.ts.map +1 -0
- package/dist/src/actions/ownable.js +63 -0
- package/dist/src/actions/passkeys.d.ts +2 -2
- package/dist/src/actions/passkeys.d.ts.map +1 -1
- package/dist/src/actions/passkeys.js +23 -78
- package/dist/src/actions/recovery.d.ts +58 -24
- package/dist/src/actions/recovery.d.ts.map +1 -1
- package/dist/src/actions/recovery.js +107 -162
- package/dist/src/actions/runtime.d.ts +17 -0
- package/dist/src/actions/runtime.d.ts.map +1 -0
- package/dist/src/actions/runtime.js +182 -0
- package/dist/src/actions/smart-sessions.d.ts +30 -6
- package/dist/src/actions/smart-sessions.d.ts.map +1 -1
- package/dist/src/actions/smart-sessions.js +69 -18
- package/dist/src/actions/webauthn.d.ts +6 -0
- package/dist/src/actions/webauthn.d.ts.map +1 -0
- package/dist/src/actions/webauthn.js +67 -0
- package/dist/src/api/account.d.ts +265 -0
- package/dist/src/api/account.d.ts.map +1 -0
- package/dist/src/api/account.js +638 -0
- package/dist/src/api/accounts.d.ts +12 -0
- package/dist/src/api/accounts.d.ts.map +1 -0
- package/dist/src/api/accounts.js +17 -0
- package/dist/src/api/compose-types.d.ts +147 -0
- package/dist/src/api/compose-types.d.ts.map +1 -0
- package/dist/src/api/compose-types.js +1 -0
- package/dist/src/api/compose.d.ts +6 -0
- package/dist/src/api/compose.d.ts.map +1 -0
- package/dist/src/api/compose.js +772 -0
- package/dist/src/api/direct-signing.d.ts +27 -0
- package/dist/src/api/direct-signing.d.ts.map +1 -0
- package/dist/src/api/direct-signing.js +191 -0
- package/dist/src/api/project-mappers.d.ts +7 -0
- package/dist/src/api/project-mappers.d.ts.map +1 -0
- package/dist/src/api/project-mappers.js +23 -0
- package/dist/src/api/queries/app-fees.d.ts +4 -0
- package/dist/src/api/queries/app-fees.d.ts.map +1 -0
- package/dist/src/api/queries/app-fees.js +3 -0
- package/dist/src/api/queries/portfolio.d.ts +9 -0
- package/dist/src/api/queries/portfolio.d.ts.map +1 -0
- package/dist/src/api/queries/portfolio.js +28 -0
- package/dist/src/api/queries/session.d.ts +8 -0
- package/dist/src/api/queries/session.d.ts.map +1 -0
- package/dist/src/api/queries/session.js +15 -0
- package/dist/src/api/sdk.d.ts +80 -0
- package/dist/src/api/sdk.d.ts.map +1 -0
- package/dist/src/api/sdk.js +103 -0
- package/dist/src/api/signer-selection.d.ts +20 -0
- package/dist/src/api/signer-selection.d.ts.map +1 -0
- package/dist/src/api/signer-selection.js +159 -0
- package/dist/src/calls/normalize.d.ts +9 -0
- package/dist/src/calls/normalize.d.ts.map +1 -0
- package/dist/src/calls/normalize.js +17 -0
- package/dist/src/calls/resolve.d.ts +3 -0
- package/dist/src/calls/resolve.d.ts.map +1 -0
- package/dist/src/calls/resolve.js +15 -0
- package/dist/src/calls/types.d.ts +25 -0
- package/dist/src/calls/types.d.ts.map +1 -0
- package/dist/src/calls/types.js +1 -0
- package/dist/src/chains/caip2.d.ts +10 -0
- package/dist/src/chains/caip2.d.ts.map +1 -0
- package/dist/src/chains/caip2.js +85 -0
- package/dist/src/chains/catalog.d.ts +5 -0
- package/dist/src/chains/catalog.d.ts.map +1 -0
- package/dist/src/chains/catalog.js +41 -0
- package/dist/src/chains/errors.d.ts +15 -0
- package/dist/src/chains/errors.d.ts.map +1 -0
- package/dist/src/chains/errors.js +21 -0
- package/dist/src/{orchestrator/destinations.d.ts → chains/non-evm.d.ts} +9 -6
- package/dist/src/chains/non-evm.d.ts.map +1 -0
- package/dist/src/chains/non-evm.js +30 -0
- package/dist/src/chains/tokens.d.ts +4 -0
- package/dist/src/chains/tokens.d.ts.map +1 -0
- package/dist/src/chains/tokens.js +22 -0
- package/dist/src/chains/types.d.ts +25 -0
- package/dist/src/chains/types.d.ts.map +1 -0
- package/dist/src/chains/types.js +1 -0
- package/dist/src/clients/bundler/client.d.ts +10 -0
- package/dist/src/clients/bundler/client.d.ts.map +1 -0
- package/dist/src/clients/bundler/client.js +85 -0
- package/dist/src/clients/bundler/endpoints.d.ts +3 -0
- package/dist/src/clients/bundler/endpoints.d.ts.map +1 -0
- package/dist/src/clients/bundler/endpoints.js +18 -0
- package/dist/src/clients/bundler/port.d.ts +22 -0
- package/dist/src/clients/bundler/port.d.ts.map +1 -0
- package/dist/src/clients/bundler/port.js +1 -0
- package/dist/src/clients/json-rpc.d.ts +20 -0
- package/dist/src/clients/json-rpc.d.ts.map +1 -0
- package/dist/src/clients/json-rpc.js +56 -0
- package/dist/src/clients/orchestrator/auth.d.ts +7 -0
- package/dist/src/clients/orchestrator/auth.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/auth.js +27 -0
- package/dist/src/clients/orchestrator/chain-catalog.d.ts +36 -0
- package/dist/src/clients/orchestrator/chain-catalog.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/chain-catalog.js +67 -0
- package/dist/src/clients/orchestrator/client.d.ts +13 -0
- package/dist/src/clients/orchestrator/client.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/client.js +97 -0
- package/dist/src/clients/orchestrator/errors.d.ts +238 -0
- package/dist/src/clients/orchestrator/errors.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/errors.js +525 -0
- package/dist/src/clients/orchestrator/fetch.d.ts +7 -0
- package/dist/src/clients/orchestrator/fetch.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/fetch.js +37 -0
- package/dist/src/clients/orchestrator/mappers.d.ts +9 -0
- package/dist/src/clients/orchestrator/mappers.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/mappers.js +198 -0
- package/dist/src/clients/orchestrator/port.d.ts +26 -0
- package/dist/src/clients/orchestrator/port.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/port.js +1 -0
- package/dist/src/{orchestrator/types.d.ts → clients/orchestrator/public.d.ts} +113 -43
- package/dist/src/clients/orchestrator/public.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/public.js +14 -0
- package/dist/src/clients/orchestrator/types.d.ts +144 -0
- package/dist/src/clients/orchestrator/types.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/types.js +1 -0
- package/dist/src/clients/orchestrator/wire.d.ts +19 -0
- package/dist/src/clients/orchestrator/wire.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/wire.gen.d.ts +6463 -0
- package/dist/src/clients/orchestrator/wire.gen.d.ts.map +1 -0
- package/dist/src/clients/orchestrator/wire.gen.js +1 -0
- package/dist/src/clients/orchestrator/wire.js +1 -0
- package/dist/src/clients/paymaster/client.d.ts +8 -0
- package/dist/src/clients/paymaster/client.d.ts.map +1 -0
- package/dist/src/clients/paymaster/client.js +38 -0
- package/dist/src/clients/paymaster/endpoints.d.ts +3 -0
- package/dist/src/clients/paymaster/endpoints.d.ts.map +1 -0
- package/dist/src/clients/paymaster/endpoints.js +16 -0
- package/dist/src/clients/paymaster/port.d.ts +17 -0
- package/dist/src/clients/paymaster/port.d.ts.map +1 -0
- package/dist/src/clients/paymaster/port.js +1 -0
- package/dist/src/clients/rpc/client.d.ts +6 -0
- package/dist/src/clients/rpc/client.d.ts.map +1 -0
- package/dist/src/clients/rpc/client.js +66 -0
- package/dist/src/clients/rpc/compatibility.d.ts +12 -0
- package/dist/src/clients/rpc/compatibility.d.ts.map +1 -0
- package/dist/src/clients/rpc/compatibility.js +16 -0
- package/dist/src/clients/rpc/port.d.ts +13 -0
- package/dist/src/clients/rpc/port.d.ts.map +1 -0
- package/dist/src/clients/rpc/port.js +1 -0
- package/dist/src/clients/rpc/providers.d.ts +3 -0
- package/dist/src/clients/rpc/providers.d.ts.map +1 -0
- package/dist/src/clients/rpc/providers.js +8 -0
- package/dist/src/clients/rpc/transport.d.ts +4 -0
- package/dist/src/clients/rpc/transport.d.ts.map +1 -0
- package/dist/src/clients/rpc/transport.js +5 -0
- package/dist/src/clients/rpc/types.d.ts +23 -0
- package/dist/src/clients/rpc/types.d.ts.map +1 -0
- package/dist/src/clients/rpc/types.js +1 -0
- package/dist/src/config/account-runtime.d.ts +7 -0
- package/dist/src/config/account-runtime.d.ts.map +1 -0
- package/dist/src/config/account-runtime.js +36 -0
- package/dist/src/config/account.d.ts +767 -0
- package/dist/src/config/account.d.ts.map +1 -0
- package/dist/src/config/account.js +10 -0
- package/dist/src/config/defaults.d.ts +14 -0
- package/dist/src/config/defaults.d.ts.map +1 -0
- package/dist/src/config/defaults.js +26 -0
- package/dist/src/config/input.d.ts +59 -0
- package/dist/src/config/input.d.ts.map +1 -0
- package/dist/src/config/input.js +1 -0
- package/dist/src/config/legacy.d.ts +22 -0
- package/dist/src/config/legacy.d.ts.map +1 -0
- package/dist/src/config/legacy.js +23 -0
- package/dist/src/config/resolve.d.ts +13 -0
- package/dist/src/config/resolve.d.ts.map +1 -0
- package/dist/src/config/resolve.js +200 -0
- package/dist/src/config/resolved.d.ts +77 -0
- package/dist/src/config/resolved.d.ts.map +1 -0
- package/dist/src/config/resolved.js +1 -0
- package/dist/src/config/validate.d.ts +3 -0
- package/dist/src/config/validate.d.ts.map +1 -0
- package/dist/src/config/validate.js +6 -0
- package/dist/src/{execution/error.d.ts → errors/execution.d.ts} +47 -9
- package/dist/src/errors/execution.d.ts.map +1 -0
- package/dist/src/errors/execution.js +131 -0
- package/dist/src/errors/index.d.ts +6 -4
- package/dist/src/errors/index.d.ts.map +1 -1
- package/dist/src/errors/index.js +7 -6
- package/dist/src/index.d.ts +14 -84
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -293
- package/dist/src/jwt-server/jcs.d.ts +1 -1
- package/dist/src/jwt-server/jcs.js +4 -2
- package/dist/src/modules/erc7579-abi.d.ts +4 -0
- package/dist/src/modules/erc7579-abi.d.ts.map +1 -0
- package/dist/src/modules/erc7579-abi.js +12 -0
- package/dist/src/modules/intent-executor.d.ts +6 -0
- package/dist/src/modules/intent-executor.d.ts.map +1 -0
- package/dist/src/modules/intent-executor.js +13 -0
- package/dist/src/modules/legacy-core.d.ts +29 -0
- package/dist/src/modules/legacy-core.d.ts.map +1 -0
- package/dist/src/modules/legacy-core.js +80 -0
- package/dist/src/modules/normalize.d.ts +4 -0
- package/dist/src/modules/normalize.d.ts.map +1 -0
- package/dist/src/modules/normalize.js +15 -0
- package/dist/src/modules/plan.d.ts +16 -0
- package/dist/src/modules/plan.d.ts.map +1 -0
- package/dist/src/modules/plan.js +51 -0
- package/dist/src/modules/read-core.d.ts +62 -0
- package/dist/src/modules/read-core.d.ts.map +1 -0
- package/dist/src/modules/read-core.js +206 -0
- package/dist/src/modules/types.d.ts +46 -0
- package/dist/src/modules/types.d.ts.map +1 -0
- package/dist/src/modules/types.js +1 -0
- package/dist/src/modules/validators/capabilities.d.ts +4 -0
- package/dist/src/modules/validators/capabilities.d.ts.map +1 -0
- package/dist/src/modules/validators/capabilities.js +58 -0
- package/dist/src/modules/validators/contribution.d.ts +4 -0
- package/dist/src/modules/validators/contribution.d.ts.map +1 -0
- package/dist/src/modules/validators/contribution.js +64 -0
- package/dist/src/modules/validators/definition.d.ts +3 -0
- package/dist/src/modules/validators/definition.d.ts.map +1 -0
- package/dist/src/modules/validators/definition.js +68 -0
- package/dist/src/modules/validators/ens.d.ts +5 -0
- package/dist/src/modules/validators/ens.d.ts.map +1 -0
- package/dist/src/modules/validators/ens.js +34 -0
- package/dist/src/modules/validators/k1.d.ts +2 -0
- package/dist/src/modules/validators/k1.d.ts.map +1 -0
- package/dist/src/modules/validators/k1.js +1 -0
- package/dist/src/modules/validators/multi-factor.d.ts +18 -0
- package/dist/src/modules/validators/multi-factor.d.ts.map +1 -0
- package/dist/src/modules/validators/multi-factor.js +79 -0
- package/dist/src/modules/validators/ownable.d.ts +26 -0
- package/dist/src/modules/validators/ownable.d.ts.map +1 -0
- package/dist/src/modules/validators/ownable.js +84 -0
- package/dist/src/modules/validators/permissions.d.ts +2 -1
- package/dist/src/modules/validators/permissions.d.ts.map +1 -1
- package/dist/src/modules/validators/permissions.js +192 -18
- package/dist/src/modules/validators/policies/claim/arbiters.d.ts +19 -0
- package/dist/src/modules/validators/policies/claim/arbiters.d.ts.map +1 -0
- package/dist/src/modules/validators/policies/claim/arbiters.js +82 -0
- package/dist/src/modules/validators/resolve.d.ts +5 -0
- package/dist/src/modules/validators/resolve.d.ts.map +1 -0
- package/dist/src/modules/validators/resolve.js +22 -0
- package/dist/src/modules/validators/signer-id.d.ts +5 -0
- package/dist/src/modules/validators/signer-id.d.ts.map +1 -0
- package/dist/src/modules/validators/signer-id.js +8 -0
- package/dist/src/modules/validators/smart-session-signature-types.d.ts +35 -0
- package/dist/src/modules/validators/smart-session-signature-types.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-session-signature-types.js +1 -0
- package/dist/src/modules/validators/smart-sessions/authorization.d.ts +99 -0
- package/dist/src/modules/validators/smart-sessions/authorization.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/authorization.js +101 -0
- package/dist/src/modules/validators/smart-sessions/calls.d.ts +19 -0
- package/dist/src/modules/validators/smart-sessions/calls.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/calls.js +85 -0
- package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts +4 -0
- package/dist/src/modules/validators/smart-sessions/cross-chain-permits.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/cross-chain-permits.js +77 -0
- package/dist/src/modules/validators/smart-sessions/digest.d.ts +5 -0
- package/dist/src/modules/validators/smart-sessions/digest.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/digest.js +30 -0
- package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts +10 -0
- package/dist/src/modules/validators/smart-sessions/mock-signature.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/mock-signature.js +31 -0
- package/dist/src/modules/validators/smart-sessions/module.d.ts +11 -0
- package/dist/src/modules/validators/smart-sessions/module.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/module.js +18 -0
- package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts +23 -0
- package/dist/src/modules/validators/smart-sessions/policies/addresses.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/policies/addresses.js +29 -0
- package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts +10 -0
- package/dist/src/modules/validators/smart-sessions/policies/claim.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/policies/claim.js +106 -0
- package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts +4 -0
- package/dist/src/modules/validators/smart-sessions/policies/encode.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/policies/encode.js +197 -0
- package/dist/src/modules/validators/smart-sessions/resolve.d.ts +16 -0
- package/dist/src/modules/validators/smart-sessions/resolve.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/resolve.js +120 -0
- package/dist/src/modules/validators/smart-sessions/signature.d.ts +14 -0
- package/dist/src/modules/validators/smart-sessions/signature.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/signature.js +167 -0
- package/dist/src/modules/validators/smart-sessions/state.d.ts +19 -0
- package/dist/src/modules/validators/smart-sessions/state.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/state.js +42 -0
- package/dist/src/modules/validators/smart-sessions/types.d.ts +227 -0
- package/dist/src/modules/validators/smart-sessions/types.d.ts.map +1 -0
- package/dist/src/modules/validators/smart-sessions/types.js +1 -0
- package/dist/src/modules/validators/social-recovery.d.ts +16 -0
- package/dist/src/modules/validators/social-recovery.d.ts.map +1 -0
- package/dist/src/modules/validators/social-recovery.js +17 -0
- package/dist/src/modules/validators/types.d.ts +143 -0
- package/dist/src/modules/validators/types.d.ts.map +1 -0
- package/dist/src/modules/validators/types.js +1 -0
- package/dist/src/modules/validators/webauthn.d.ts +54 -0
- package/dist/src/modules/validators/webauthn.d.ts.map +1 -0
- package/dist/src/modules/validators/webauthn.js +159 -0
- package/dist/src/signing/context.d.ts +25 -0
- package/dist/src/signing/context.d.ts.map +1 -0
- package/dist/src/signing/context.js +163 -0
- package/dist/src/signing/contribution.d.ts +13 -0
- package/dist/src/signing/contribution.d.ts.map +1 -0
- package/dist/src/signing/contribution.js +83 -0
- package/dist/src/signing/eip7702.d.ts +41 -0
- package/dist/src/signing/eip7702.d.ts.map +1 -0
- package/dist/src/signing/eip7702.js +215 -0
- package/dist/src/signing/error.d.ts +27 -0
- package/dist/src/signing/error.d.ts.map +1 -0
- package/dist/src/signing/error.js +25 -0
- package/dist/src/signing/execute.d.ts +17 -0
- package/dist/src/signing/execute.d.ts.map +1 -0
- package/dist/src/signing/execute.js +138 -0
- package/dist/src/signing/intent-plans/assemble.d.ts +15 -0
- package/dist/src/signing/intent-plans/assemble.d.ts.map +1 -0
- package/dist/src/signing/intent-plans/assemble.js +96 -0
- package/dist/src/signing/intent-plans/independent.d.ts +48 -0
- package/dist/src/signing/intent-plans/independent.d.ts.map +1 -0
- package/dist/src/signing/intent-plans/independent.js +150 -0
- package/dist/src/signing/intent-plans/plan.d.ts +14 -0
- package/dist/src/signing/intent-plans/plan.d.ts.map +1 -0
- package/dist/src/signing/intent-plans/plan.js +187 -0
- package/dist/src/signing/intent-plans/types.d.ts +63 -0
- package/dist/src/signing/intent-plans/types.d.ts.map +1 -0
- package/dist/src/signing/intent-plans/types.js +1 -0
- package/dist/src/signing/message.d.ts +28 -0
- package/dist/src/signing/message.d.ts.map +1 -0
- package/dist/src/signing/message.js +90 -0
- package/dist/src/signing/passkeys.d.ts +28 -0
- package/dist/src/signing/passkeys.d.ts.map +1 -0
- package/dist/src/signing/passkeys.js +17 -0
- package/dist/src/signing/plan.d.ts +35 -0
- package/dist/src/signing/plan.d.ts.map +1 -0
- package/dist/src/signing/plan.js +377 -0
- package/dist/src/signing/protocols/erc6492.d.ts +11 -0
- package/dist/src/signing/protocols/erc6492.d.ts.map +1 -0
- package/dist/src/signing/protocols/erc6492.js +24 -0
- package/dist/src/signing/protocols/erc7739.d.ts +17 -0
- package/dist/src/signing/protocols/erc7739.d.ts.map +1 -0
- package/dist/src/signing/protocols/erc7739.js +84 -0
- package/dist/src/signing/session-enable.d.ts +35 -0
- package/dist/src/signing/session-enable.d.ts.map +1 -0
- package/dist/src/signing/session-enable.js +62 -0
- package/dist/src/signing/signers/compatibility.d.ts +4 -0
- package/dist/src/signing/signers/compatibility.d.ts.map +1 -0
- package/dist/src/signing/signers/compatibility.js +51 -0
- package/dist/src/signing/signers/ecdsa.d.ts +14 -0
- package/dist/src/signing/signers/ecdsa.d.ts.map +1 -0
- package/dist/src/signing/signers/ecdsa.js +54 -0
- package/dist/src/signing/signers/registry.d.ts +7 -0
- package/dist/src/signing/signers/registry.d.ts.map +1 -0
- package/dist/src/signing/signers/registry.js +33 -0
- package/dist/src/signing/signers/types.d.ts +16 -0
- package/dist/src/signing/signers/types.d.ts.map +1 -0
- package/dist/src/signing/signers/types.js +1 -0
- package/dist/src/signing/signers/wallet-chain.d.ts +9 -0
- package/dist/src/signing/signers/wallet-chain.d.ts.map +1 -0
- package/dist/src/signing/signers/wallet-chain.js +15 -0
- package/dist/src/signing/signers/webauthn.d.ts +11 -0
- package/dist/src/signing/signers/webauthn.d.ts.map +1 -0
- package/dist/src/signing/signers/webauthn.js +14 -0
- package/dist/src/signing/typed-data.d.ts +39 -0
- package/dist/src/signing/typed-data.d.ts.map +1 -0
- package/dist/src/signing/typed-data.js +135 -0
- package/dist/src/signing/types.d.ts +346 -0
- package/dist/src/signing/types.d.ts.map +1 -0
- package/dist/src/signing/types.js +1 -0
- package/dist/src/signing/user-operation.d.ts +23 -0
- package/dist/src/signing/user-operation.d.ts.map +1 -0
- package/dist/src/signing/user-operation.js +61 -0
- package/dist/src/smart-sessions/index.d.ts +16 -0
- package/dist/src/smart-sessions/index.d.ts.map +1 -0
- package/dist/src/smart-sessions/index.js +45 -0
- package/dist/src/transactions/intents/account.d.ts +15 -0
- package/dist/src/transactions/intents/account.d.ts.map +1 -0
- package/dist/src/transactions/intents/account.js +48 -0
- package/dist/src/transactions/intents/compatibility.d.ts +4 -0
- package/dist/src/transactions/intents/compatibility.d.ts.map +1 -0
- package/dist/src/transactions/intents/compatibility.js +19 -0
- package/dist/src/transactions/intents/normalize.d.ts +5 -0
- package/dist/src/transactions/intents/normalize.d.ts.map +1 -0
- package/dist/src/transactions/intents/normalize.js +48 -0
- package/dist/src/transactions/intents/prepare.d.ts +7 -0
- package/dist/src/transactions/intents/prepare.d.ts.map +1 -0
- package/dist/src/transactions/intents/prepare.js +249 -0
- package/dist/src/transactions/intents/quotes.d.ts +3 -0
- package/dist/src/transactions/intents/quotes.d.ts.map +1 -0
- package/dist/src/transactions/intents/quotes.js +11 -0
- package/dist/src/transactions/intents/request.d.ts +11 -0
- package/dist/src/transactions/intents/request.d.ts.map +1 -0
- package/dist/src/transactions/intents/request.js +55 -0
- package/dist/src/transactions/intents/send.d.ts +3 -0
- package/dist/src/transactions/intents/send.d.ts.map +1 -0
- package/dist/src/transactions/intents/send.js +22 -0
- package/dist/src/transactions/intents/session-signing.d.ts +7 -0
- package/dist/src/transactions/intents/session-signing.d.ts.map +1 -0
- package/dist/src/transactions/intents/session-signing.js +363 -0
- package/dist/src/transactions/intents/sessions.d.ts +17 -0
- package/dist/src/transactions/intents/sessions.d.ts.map +1 -0
- package/dist/src/transactions/intents/sessions.js +85 -0
- package/dist/src/transactions/intents/sign-transaction.d.ts +10 -0
- package/dist/src/transactions/intents/sign-transaction.d.ts.map +1 -0
- package/dist/src/transactions/intents/sign-transaction.js +386 -0
- package/dist/src/transactions/intents/split.d.ts +13 -0
- package/dist/src/transactions/intents/split.d.ts.map +1 -0
- package/dist/src/transactions/intents/split.js +3 -0
- package/dist/src/transactions/intents/status-policy.d.ts +13 -0
- package/dist/src/transactions/intents/status-policy.d.ts.map +1 -0
- package/dist/src/transactions/intents/status-policy.js +39 -0
- package/dist/src/transactions/intents/status.d.ts +4 -0
- package/dist/src/transactions/intents/status.d.ts.map +1 -0
- package/dist/src/transactions/intents/status.js +50 -0
- package/dist/src/transactions/intents/submit.d.ts +3 -0
- package/dist/src/transactions/intents/submit.d.ts.map +1 -0
- package/dist/src/transactions/intents/submit.js +32 -0
- package/dist/src/transactions/intents/types.d.ts +136 -0
- package/dist/src/transactions/intents/types.d.ts.map +1 -0
- package/dist/src/transactions/intents/types.js +1 -0
- package/dist/src/transactions/user-operations/hash.d.ts +5 -0
- package/dist/src/transactions/user-operations/hash.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/hash.js +9 -0
- package/dist/src/transactions/user-operations/nonce.d.ts +18 -0
- package/dist/src/transactions/user-operations/nonce.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/nonce.js +43 -0
- package/dist/src/transactions/user-operations/prepare.d.ts +12 -0
- package/dist/src/transactions/user-operations/prepare.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/prepare.js +136 -0
- package/dist/src/transactions/user-operations/reconstruct.d.ts +28 -0
- package/dist/src/transactions/user-operations/reconstruct.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/reconstruct.js +52 -0
- package/dist/src/transactions/user-operations/send.d.ts +3 -0
- package/dist/src/transactions/user-operations/send.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/send.js +8 -0
- package/dist/src/transactions/user-operations/sign.d.ts +3 -0
- package/dist/src/transactions/user-operations/sign.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/sign.js +14 -0
- package/dist/src/transactions/user-operations/status.d.ts +4 -0
- package/dist/src/transactions/user-operations/status.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/status.js +37 -0
- package/dist/src/transactions/user-operations/submit.d.ts +3 -0
- package/dist/src/transactions/user-operations/submit.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/submit.js +8 -0
- package/dist/src/transactions/user-operations/types.d.ts +68 -0
- package/dist/src/transactions/user-operations/types.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/types.js +1 -0
- package/dist/src/transactions/user-operations/validator-account.d.ts +5 -0
- package/dist/src/transactions/user-operations/validator-account.d.ts.map +1 -0
- package/dist/src/transactions/user-operations/validator-account.js +26 -0
- package/dist/src/utils/index.d.ts +68 -4
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +113 -51
- package/package.json +10 -11
- package/dist/src/accounts/index.d.ts +0 -51
- package/dist/src/accounts/index.d.ts.map +0 -1
- package/dist/src/accounts/index.js +0 -589
- package/dist/src/accounts/json-rpc/index.d.ts +0 -5
- package/dist/src/accounts/json-rpc/index.d.ts.map +0 -1
- package/dist/src/accounts/json-rpc/index.js +0 -19
- package/dist/src/accounts/json-rpc/providers.d.ts +0 -5
- package/dist/src/accounts/json-rpc/providers.d.ts.map +0 -1
- package/dist/src/accounts/json-rpc/providers.js +0 -16
- package/dist/src/accounts/kernel.d.ts +0 -27
- package/dist/src/accounts/kernel.d.ts.map +0 -1
- package/dist/src/accounts/kernel.js +0 -272
- package/dist/src/accounts/nexus.d.ts +0 -33
- package/dist/src/accounts/nexus.d.ts.map +0 -1
- package/dist/src/accounts/nexus.js +0 -444
- package/dist/src/accounts/safe.d.ts +0 -33
- package/dist/src/accounts/safe.d.ts.map +0 -1
- package/dist/src/accounts/safe.js +0 -343
- package/dist/src/accounts/signing/common.d.ts +0 -32
- package/dist/src/accounts/signing/common.d.ts.map +0 -1
- package/dist/src/accounts/signing/common.js +0 -184
- package/dist/src/accounts/signing/message.d.ts +0 -7
- package/dist/src/accounts/signing/message.d.ts.map +0 -1
- package/dist/src/accounts/signing/message.js +0 -45
- package/dist/src/accounts/signing/passkeys.d.ts +0 -36
- package/dist/src/accounts/signing/passkeys.d.ts.map +0 -1
- package/dist/src/accounts/signing/passkeys.js +0 -119
- package/dist/src/accounts/signing/typedData.d.ts +0 -5
- package/dist/src/accounts/signing/typedData.d.ts.map +0 -1
- package/dist/src/accounts/signing/typedData.js +0 -33
- package/dist/src/accounts/startale.d.ts +0 -26
- package/dist/src/accounts/startale.d.ts.map +0 -1
- package/dist/src/accounts/startale.js +0 -191
- package/dist/src/accounts/utils.d.ts +0 -33
- package/dist/src/accounts/utils.d.ts.map +0 -1
- package/dist/src/accounts/utils.js +0 -202
- package/dist/src/auth/provider.d.ts +0 -7
- package/dist/src/auth/provider.d.ts.map +0 -1
- package/dist/src/auth/provider.js +0 -38
- package/dist/src/execution/compact.d.ts +0 -5
- package/dist/src/execution/compact.d.ts.map +0 -1
- package/dist/src/execution/compact.js +0 -4
- package/dist/src/execution/error.d.ts.map +0 -1
- package/dist/src/execution/error.js +0 -85
- package/dist/src/execution/index.d.ts +0 -42
- package/dist/src/execution/index.d.ts.map +0 -1
- package/dist/src/execution/index.js +0 -202
- package/dist/src/execution/utils.d.ts +0 -127
- package/dist/src/execution/utils.d.ts.map +0 -1
- package/dist/src/execution/utils.js +0 -1116
- package/dist/src/modules/abi/smart-sessions.d.ts +0 -104
- package/dist/src/modules/abi/smart-sessions.d.ts.map +0 -1
- package/dist/src/modules/abi/smart-sessions.js +0 -128
- package/dist/src/modules/chain-abstraction.d.ts +0 -5
- package/dist/src/modules/chain-abstraction.d.ts.map +0 -1
- package/dist/src/modules/chain-abstraction.js +0 -3
- package/dist/src/modules/common.d.ts +0 -30
- package/dist/src/modules/common.d.ts.map +0 -1
- package/dist/src/modules/common.js +0 -30
- package/dist/src/modules/index.d.ts +0 -11
- package/dist/src/modules/index.d.ts.map +0 -1
- package/dist/src/modules/index.js +0 -90
- package/dist/src/modules/legacy.d.ts +0 -10
- package/dist/src/modules/legacy.d.ts.map +0 -1
- package/dist/src/modules/legacy.js +0 -62
- package/dist/src/modules/read.d.ts +0 -10
- package/dist/src/modules/read.d.ts.map +0 -1
- package/dist/src/modules/read.js +0 -171
- package/dist/src/modules/validators/core.d.ts +0 -31
- package/dist/src/modules/validators/core.d.ts.map +0 -1
- package/dist/src/modules/validators/core.js +0 -266
- package/dist/src/modules/validators/index.d.ts +0 -4
- package/dist/src/modules/validators/index.d.ts.map +0 -1
- package/dist/src/modules/validators/index.js +0 -3
- package/dist/src/modules/validators/smart-sessions.d.ts +0 -196
- package/dist/src/modules/validators/smart-sessions.d.ts.map +0 -1
- package/dist/src/modules/validators/smart-sessions.js +0 -772
- package/dist/src/orchestrator/caip2.d.ts +0 -13
- package/dist/src/orchestrator/caip2.d.ts.map +0 -1
- package/dist/src/orchestrator/caip2.js +0 -52
- package/dist/src/orchestrator/client.d.ts +0 -29
- package/dist/src/orchestrator/client.d.ts.map +0 -1
- package/dist/src/orchestrator/client.js +0 -293
- package/dist/src/orchestrator/consts.d.ts +0 -6
- package/dist/src/orchestrator/consts.d.ts.map +0 -1
- package/dist/src/orchestrator/consts.js +0 -5
- package/dist/src/orchestrator/destinations.d.ts.map +0 -1
- package/dist/src/orchestrator/destinations.js +0 -36
- package/dist/src/orchestrator/error.d.ts +0 -97
- package/dist/src/orchestrator/error.d.ts.map +0 -1
- package/dist/src/orchestrator/error.js +0 -173
- package/dist/src/orchestrator/index.d.ts +0 -12
- package/dist/src/orchestrator/index.d.ts.map +0 -1
- package/dist/src/orchestrator/index.js +0 -10
- package/dist/src/orchestrator/registry.d.ts +0 -17
- package/dist/src/orchestrator/registry.d.ts.map +0 -1
- package/dist/src/orchestrator/registry.js +0 -100
- package/dist/src/orchestrator/types.d.ts.map +0 -1
- package/dist/src/orchestrator/types.js +0 -15
- package/dist/src/orchestrator/utils.d.ts +0 -3
- package/dist/src/orchestrator/utils.d.ts.map +0 -1
- package/dist/src/orchestrator/utils.js +0 -22
- package/dist/src/types.d.ts +0 -466
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/utils/walletClient.d.ts +0 -34
- package/dist/src/utils/walletClient.d.ts.map +0 -1
- package/dist/src/utils/walletClient.js +0 -117
- /package/dist/src/{types.js → accounts/adapter.js} +0 -0
|
@@ -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 @@
|
|
|
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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export class JsonRpcClientError extends Error {
|
|
2
|
+
method;
|
|
3
|
+
code;
|
|
4
|
+
data;
|
|
5
|
+
constructor(input) {
|
|
6
|
+
super(input.message, input.cause === undefined ? undefined : { cause: input.cause });
|
|
7
|
+
this.name = 'JsonRpcClientError';
|
|
8
|
+
this.method = input.method;
|
|
9
|
+
this.code = input.code;
|
|
10
|
+
this.data = input.data;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
let nextRequestId = 1;
|
|
14
|
+
export async function requestJsonRpc(input) {
|
|
15
|
+
let response;
|
|
16
|
+
try {
|
|
17
|
+
response = await input.fetch(input.url, {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
headers: { 'Content-Type': 'application/json' },
|
|
20
|
+
body: JSON.stringify({
|
|
21
|
+
jsonrpc: '2.0',
|
|
22
|
+
id: nextRequestId++,
|
|
23
|
+
method: input.method,
|
|
24
|
+
params: input.params,
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
catch (cause) {
|
|
29
|
+
throw new JsonRpcClientError({
|
|
30
|
+
method: input.method,
|
|
31
|
+
message: `JSON-RPC request ${input.method} failed`,
|
|
32
|
+
cause,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
let envelope;
|
|
36
|
+
try {
|
|
37
|
+
envelope = (await response.json());
|
|
38
|
+
}
|
|
39
|
+
catch (cause) {
|
|
40
|
+
throw new JsonRpcClientError({
|
|
41
|
+
method: input.method,
|
|
42
|
+
message: `JSON-RPC request ${input.method} returned invalid JSON`,
|
|
43
|
+
cause,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (!response.ok || envelope.error) {
|
|
47
|
+
throw new JsonRpcClientError({
|
|
48
|
+
method: input.method,
|
|
49
|
+
message: envelope.error?.message ??
|
|
50
|
+
`JSON-RPC request ${input.method} failed with status ${response.status}`,
|
|
51
|
+
code: envelope.error?.code,
|
|
52
|
+
data: envelope.error?.data,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return envelope.result;
|
|
56
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ResolvedAuth } from '../../config/resolved.js';
|
|
2
|
+
export interface OrchestratorAuthPort {
|
|
3
|
+
readonly getHeaders: () => Promise<Readonly<Record<string, string>>>;
|
|
4
|
+
readonly getSubmitHeaders: (intentInput: unknown, sponsored: boolean) => Promise<Readonly<Record<string, string>>>;
|
|
5
|
+
}
|
|
6
|
+
export declare function createOrchestratorAuth(auth: ResolvedAuth): OrchestratorAuthPort;
|
|
7
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../clients/orchestrator/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IACpE,QAAQ,CAAC,gBAAgB,EAAE,CACzB,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,OAAO,KACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,GACjB,oBAAoB,CA4BtB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export function createOrchestratorAuth(auth) {
|
|
2
|
+
if (auth.kind === 'api-key') {
|
|
3
|
+
const headers = Object.freeze({ 'x-api-key': auth.apiKey });
|
|
4
|
+
return {
|
|
5
|
+
getHeaders: async () => headers,
|
|
6
|
+
getSubmitHeaders: async () => headers,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
const accessToken = async () => typeof auth.accessToken === 'function'
|
|
10
|
+
? await auth.accessToken()
|
|
11
|
+
: auth.accessToken;
|
|
12
|
+
const headers = async () => ({
|
|
13
|
+
Authorization: `Bearer ${await accessToken()}`,
|
|
14
|
+
'x-api-key': 'jwt',
|
|
15
|
+
});
|
|
16
|
+
return {
|
|
17
|
+
getHeaders: headers,
|
|
18
|
+
getSubmitHeaders: async (intentInput, sponsored) => ({
|
|
19
|
+
...(await headers()),
|
|
20
|
+
...(sponsored && auth.getIntentExtensionToken
|
|
21
|
+
? {
|
|
22
|
+
'X-Intent-Extension': `Bearer ${await auth.getIntentExtensionToken(intentInput)}`,
|
|
23
|
+
}
|
|
24
|
+
: {}),
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { WireChainsResponse } from './wire.js';
|
|
2
|
+
export type CatalogToken = {
|
|
3
|
+
symbol: string;
|
|
4
|
+
address: string;
|
|
5
|
+
decimals: number;
|
|
6
|
+
};
|
|
7
|
+
export type ChainInfo = {
|
|
8
|
+
name: string;
|
|
9
|
+
testnet: boolean;
|
|
10
|
+
supportedTokens: 'all' | CatalogToken[];
|
|
11
|
+
wrappedNativeToken?: CatalogToken;
|
|
12
|
+
};
|
|
13
|
+
export type ChainInfoMap = Record<number, ChainInfo>;
|
|
14
|
+
/**
|
|
15
|
+
* Read-only view over the chain facts returned by `GET /chains`. Built once per
|
|
16
|
+
* client (fetched lazily) and read synchronously thereafter.
|
|
17
|
+
*/
|
|
18
|
+
export declare class ChainCatalog {
|
|
19
|
+
private readonly chains;
|
|
20
|
+
constructor(chains: ChainInfoMap);
|
|
21
|
+
getSupportedChainIds(): number[];
|
|
22
|
+
isSupported(chainId: number): boolean;
|
|
23
|
+
getChainInfo(chainId: number): ChainInfo | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Whether the chain is a testnet, per the orchestrator's `/chains`. Uses the
|
|
26
|
+
* catalog's own flag so it is authoritative for every supported chain
|
|
27
|
+
* (including non-EVM and chains newer than the SDK's viem), rather than
|
|
28
|
+
* viem's local chain list.
|
|
29
|
+
*/
|
|
30
|
+
isTestnet(chainId: number): boolean;
|
|
31
|
+
/** The wrapped-native (e.g. WETH) token for the chain, if advertised. */
|
|
32
|
+
getWrappedNativeToken(chainId: number): CatalogToken | undefined;
|
|
33
|
+
getSupportedTokens(chainId: number): 'all' | CatalogToken[] | undefined;
|
|
34
|
+
}
|
|
35
|
+
export declare function parseChains(json: WireChainsResponse): ChainInfoMap;
|
|
36
|
+
//# sourceMappingURL=chain-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-catalog.d.ts","sourceRoot":"","sources":["../../../../clients/orchestrator/chain-catalog.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAGhB,eAAe,EAAE,KAAK,GAAG,YAAY,EAAE,CAAA;IACvC,kBAAkB,CAAC,EAAE,YAAY,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEpD;;;GAGG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAEjD,oBAAoB,IAAI,MAAM,EAAE;IAIhC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIpD;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInC,yEAAyE;IACzE,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIhE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,YAAY,EAAE,GAAG,SAAS;CAGxE;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,CAelE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Runtime chain catalog, sourced from the orchestrator's `GET /chains`.
|
|
2
|
+
//
|
|
3
|
+
// This replaces the SDK's bundled `@rhinestone/shared-configs` chain data: the
|
|
4
|
+
// orchestrator is authoritative for chain *facts* (which chains are supported,
|
|
5
|
+
// their tokens, and the wrapped-native token), so the SDK reads them at runtime
|
|
6
|
+
// instead of baking them in at build time. That's what lets a new chain go live
|
|
7
|
+
// without an SDK release.
|
|
8
|
+
//
|
|
9
|
+
// `Chain` objects themselves (rpc/nativeCurrency/formatters, needed for signing
|
|
10
|
+
// and `createPublicClient`) still come from viem — `/chains` can't carry those.
|
|
11
|
+
// The catalog only owns the chain *facts*.
|
|
12
|
+
import { chainIdFromCaip2, isCaip2 } from '../../chains/caip2.js';
|
|
13
|
+
/**
|
|
14
|
+
* Read-only view over the chain facts returned by `GET /chains`. Built once per
|
|
15
|
+
* client (fetched lazily) and read synchronously thereafter.
|
|
16
|
+
*/
|
|
17
|
+
export class ChainCatalog {
|
|
18
|
+
chains;
|
|
19
|
+
constructor(chains) {
|
|
20
|
+
this.chains = chains;
|
|
21
|
+
}
|
|
22
|
+
getSupportedChainIds() {
|
|
23
|
+
return Object.keys(this.chains).map(Number);
|
|
24
|
+
}
|
|
25
|
+
isSupported(chainId) {
|
|
26
|
+
return chainId in this.chains;
|
|
27
|
+
}
|
|
28
|
+
getChainInfo(chainId) {
|
|
29
|
+
return this.chains[chainId];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Whether the chain is a testnet, per the orchestrator's `/chains`. Uses the
|
|
33
|
+
* catalog's own flag so it is authoritative for every supported chain
|
|
34
|
+
* (including non-EVM and chains newer than the SDK's viem), rather than
|
|
35
|
+
* viem's local chain list.
|
|
36
|
+
*/
|
|
37
|
+
isTestnet(chainId) {
|
|
38
|
+
return this.chains[chainId]?.testnet ?? false;
|
|
39
|
+
}
|
|
40
|
+
/** The wrapped-native (e.g. WETH) token for the chain, if advertised. */
|
|
41
|
+
getWrappedNativeToken(chainId) {
|
|
42
|
+
return this.chains[chainId]?.wrappedNativeToken;
|
|
43
|
+
}
|
|
44
|
+
getSupportedTokens(chainId) {
|
|
45
|
+
return this.chains[chainId]?.supportedTokens;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Adapter boundary: decode the CAIP-2-keyed wire response into a numeric-keyed
|
|
49
|
+
// `ChainInfoMap`. Entries whose id can't be mapped are skipped rather than
|
|
50
|
+
// failing the whole catalog.
|
|
51
|
+
export function parseChains(json) {
|
|
52
|
+
const out = {};
|
|
53
|
+
for (const [key, entry] of Object.entries(json)) {
|
|
54
|
+
const id = isCaip2(key) ? chainIdFromCaip2(key) : Number(key);
|
|
55
|
+
if (id === undefined || !Number.isFinite(id))
|
|
56
|
+
continue;
|
|
57
|
+
out[id] = {
|
|
58
|
+
name: entry.name,
|
|
59
|
+
testnet: entry.testnet,
|
|
60
|
+
supportedTokens: entry.supportedTokens,
|
|
61
|
+
...(entry.wrappedNativeToken
|
|
62
|
+
? { wrappedNativeToken: entry.wrappedNativeToken }
|
|
63
|
+
: {}),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ResolvedSdkConfig } from '../../config/resolved.js';
|
|
2
|
+
import type { OrchestratorAuthPort } from './auth.js';
|
|
3
|
+
import { type FetchPort } from './fetch.js';
|
|
4
|
+
import type { OrchestratorPort } from './port.js';
|
|
5
|
+
export interface OrchestratorClientOptions {
|
|
6
|
+
readonly url: string;
|
|
7
|
+
readonly auth: OrchestratorAuthPort;
|
|
8
|
+
readonly headers?: Readonly<Record<string, string>>;
|
|
9
|
+
readonly fetch?: FetchPort;
|
|
10
|
+
}
|
|
11
|
+
export declare function createOrchestratorClient(options: OrchestratorClientOptions): OrchestratorPort;
|
|
12
|
+
export declare function createConfiguredOrchestratorClient(config: ResolvedSdkConfig, fetch?: FetchPort): OrchestratorPort;
|
|
13
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../clients/orchestrator/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAGlD,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,SAAS,CAAA;AAU/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAM9C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAC3B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,gBAAgB,CA0GlB;AAED,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,iBAAiB,EACzB,KAAK,CAAC,EAAE,SAAS,GAChB,gBAAgB,CAOlB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { formatCaip2 } from '../../chains/caip2.js';
|
|
2
|
+
import { createOrchestratorAuth } from './auth.js';
|
|
3
|
+
import { ChainCatalog, parseChains } from './chain-catalog.js';
|
|
4
|
+
import { fetchOrchestratorJson } from './fetch.js';
|
|
5
|
+
import { mapIntentRequestToWire, mapIntentStatusFromWire, mapPortfolioFromWire, mapQuoteResponseFromWire, mapSignedIntentToWire, mapSplitRequestToWire, mapSplitResultFromWire, } from './mappers.js';
|
|
6
|
+
const SDK_VERSION = '2.1.0';
|
|
7
|
+
const API_VERSION = '2026-04.blanc';
|
|
8
|
+
export function createOrchestratorClient(options) {
|
|
9
|
+
const fetchPort = options.fetch ?? globalThis.fetch;
|
|
10
|
+
const request = async (input) => {
|
|
11
|
+
const authHeaders = input.submitContext
|
|
12
|
+
? await options.auth.getSubmitHeaders(input.submitContext.intentInput, input.submitContext.sponsored)
|
|
13
|
+
: await options.auth.getHeaders();
|
|
14
|
+
return fetchOrchestratorJson({
|
|
15
|
+
fetch: fetchPort,
|
|
16
|
+
url: new URL(input.path, withTrailingSlash(options.url)).toString(),
|
|
17
|
+
init: {
|
|
18
|
+
method: input.method ?? 'GET',
|
|
19
|
+
headers: {
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
'x-sdk-version': SDK_VERSION,
|
|
22
|
+
'x-api-version': API_VERSION,
|
|
23
|
+
...authHeaders,
|
|
24
|
+
...options.headers,
|
|
25
|
+
},
|
|
26
|
+
...(input.body === undefined
|
|
27
|
+
? {}
|
|
28
|
+
: { body: JSON.stringify(input.body) }),
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
// Memoized so the chain catalog is fetched at most once per client, lazily on
|
|
33
|
+
// first use — never at account construction.
|
|
34
|
+
let chainCatalogPromise;
|
|
35
|
+
return {
|
|
36
|
+
createQuote: async (input) => mapQuoteResponseFromWire(await request({
|
|
37
|
+
path: 'quotes',
|
|
38
|
+
method: 'POST',
|
|
39
|
+
body: mapIntentRequestToWire(input),
|
|
40
|
+
})),
|
|
41
|
+
submitIntent: async (input, context) => {
|
|
42
|
+
const value = (await request({
|
|
43
|
+
path: 'intents',
|
|
44
|
+
method: 'POST',
|
|
45
|
+
body: mapSignedIntentToWire(input),
|
|
46
|
+
...(context ? { submitContext: context } : {}),
|
|
47
|
+
}));
|
|
48
|
+
return { traceId: value.traceId ?? '', intentId: value.intentId ?? '' };
|
|
49
|
+
},
|
|
50
|
+
getIntentStatus: async (intentId) => mapIntentStatusFromWire(intentId, await request({ path: `intents/${encodeURIComponent(intentId)}` })),
|
|
51
|
+
splitIntents: async (input) => mapSplitResultFromWire(await request({
|
|
52
|
+
path: 'intents/splits',
|
|
53
|
+
method: 'POST',
|
|
54
|
+
body: mapSplitRequestToWire(input),
|
|
55
|
+
})),
|
|
56
|
+
getPortfolio: async (input) => {
|
|
57
|
+
const params = new URLSearchParams();
|
|
58
|
+
for (const chainId of input.chainIds ?? []) {
|
|
59
|
+
params.append('chainIds', formatCaip2(chainId));
|
|
60
|
+
}
|
|
61
|
+
for (const [chainId, tokens] of Object.entries(input.tokens ?? {})) {
|
|
62
|
+
for (const token of tokens) {
|
|
63
|
+
params.append('tokens', `${formatCaip2(Number(chainId))}:${token}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const suffix = params.size > 0 ? `?${params}` : '';
|
|
67
|
+
return mapPortfolioFromWire(await request({
|
|
68
|
+
path: `accounts/${input.account}/portfolio${suffix}`,
|
|
69
|
+
}));
|
|
70
|
+
},
|
|
71
|
+
getAppFeeBalances: async () => {
|
|
72
|
+
const value = (await request({ path: 'app-fees/balances' }));
|
|
73
|
+
return {
|
|
74
|
+
withdrawableUsd: value.withdrawableUsd ?? 0,
|
|
75
|
+
pendingUsd: value.pendingUsd ?? 0,
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
getChainCatalog: () => {
|
|
79
|
+
chainCatalogPromise ??= (async () => {
|
|
80
|
+
const json = (await request({ path: 'chains' }));
|
|
81
|
+
return new ChainCatalog(parseChains(json));
|
|
82
|
+
})();
|
|
83
|
+
return chainCatalogPromise;
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export function createConfiguredOrchestratorClient(config, fetch) {
|
|
88
|
+
return createOrchestratorClient({
|
|
89
|
+
url: config.orchestratorUrl,
|
|
90
|
+
auth: createOrchestratorAuth(config.auth),
|
|
91
|
+
headers: config.headers,
|
|
92
|
+
...(fetch ? { fetch } : {}),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
function withTrailingSlash(value) {
|
|
96
|
+
return value.endsWith('/') ? value : `${value}/`;
|
|
97
|
+
}
|