@rhinestone/sdk 2.0.0-beta.8 → 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.
- 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 +118 -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 +1 -1
- package/dist/src/actions/ecdsa.d.ts.map +1 -1
- package/dist/src/actions/ecdsa.js +8 -8
- 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/passkeys.d.ts +2 -2
- package/dist/src/actions/passkeys.d.ts.map +1 -1
- package/dist/src/actions/passkeys.js +19 -14
- package/dist/src/actions/runtime.d.ts +12 -0
- package/dist/src/actions/runtime.d.ts.map +1 -0
- package/dist/src/actions/runtime.js +158 -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/api/account.d.ts +265 -0
- package/dist/src/api/account.d.ts.map +1 -0
- package/dist/src/api/account.js +637 -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 +766 -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 +7 -0
- package/dist/src/api/signer-selection.d.ts.map +1 -0
- package/dist/src/api/signer-selection.js +109 -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/chains/non-evm.d.ts +26 -0
- 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} +115 -42
- 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 +743 -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 +54 -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 +174 -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} +43 -12
- package/dist/src/errors/execution.d.ts.map +1 -0
- package/dist/src/errors/execution.js +123 -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 -83
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -290
- 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 +39 -0
- package/dist/src/modules/read-core.d.ts.map +1 -0
- package/dist/src/modules/read-core.js +149 -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/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 +6 -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/actions/recovery.d.ts +0 -33
- package/dist/src/actions/recovery.d.ts.map +0 -1
- package/dist/src/actions/recovery.js +0 -189
- 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 -41
- 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 -126
- package/dist/src/execution/utils.d.ts.map +0 -1
- package/dist/src/execution/utils.js +0 -1054
- 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 -7
- package/dist/src/orchestrator/caip2.d.ts.map +0 -1
- package/dist/src/orchestrator/caip2.js +0 -17
- 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 -291
- 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/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 -11
- package/dist/src/orchestrator/index.d.ts.map +0 -1
- package/dist/src/orchestrator/index.js +0 -9
- package/dist/src/orchestrator/registry.d.ts +0 -16
- package/dist/src/orchestrator/registry.d.ts.map +0 -1
- package/dist/src/orchestrator/registry.js +0 -90
- 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 -446
- 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
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
import { createPublicClient, } from 'viem';
|
|
2
|
-
import { getModuleInstallationCalls } from '../accounts/index.js';
|
|
3
|
-
import { createTransport } from '../accounts/json-rpc/index.js';
|
|
4
|
-
import { resolveCallInputs } from '../execution/utils.js';
|
|
5
|
-
import { getSocialRecoveryValidator, OWNABLE_VALIDATOR_ADDRESS, WEBAUTHN_VALIDATOR_ADDRESS, } from '../modules/validators/core.js';
|
|
6
|
-
import { addOwner, changeThreshold, removeOwner } from './ecdsa.js';
|
|
7
|
-
import { addOwner as addPasskeyOwner, changeThreshold as changePasskeyThreshold, removeOwner as removePasskeyOwner, } from './passkeys.js';
|
|
8
|
-
/**
|
|
9
|
-
* Set up social recovery
|
|
10
|
-
* @param guardians Guardians to use for recovery
|
|
11
|
-
* @param threshold Threshold for the guardians
|
|
12
|
-
* @returns Calls to set up social recovery
|
|
13
|
-
*/
|
|
14
|
-
function enable(guardians, threshold = 1) {
|
|
15
|
-
const module = getSocialRecoveryValidator(guardians, threshold);
|
|
16
|
-
return {
|
|
17
|
-
async resolve({ config }) {
|
|
18
|
-
return getModuleInstallationCalls(config, module);
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Recover an account's ownership (ECDSA)
|
|
24
|
-
* @param address Account address
|
|
25
|
-
* @param newOwners New owners
|
|
26
|
-
* @param chain Chain to recover ownership on
|
|
27
|
-
* @param provider Provider to use for the recovery
|
|
28
|
-
* @returns Calls to recover ownership
|
|
29
|
-
*/
|
|
30
|
-
async function recoverEcdsaOwnership(address, newOwners, chain, config) {
|
|
31
|
-
const publicClient = createPublicClient({
|
|
32
|
-
chain,
|
|
33
|
-
transport: createTransport(chain, config.provider),
|
|
34
|
-
});
|
|
35
|
-
// Read the existing config
|
|
36
|
-
const results = await publicClient.multicall({
|
|
37
|
-
contracts: [
|
|
38
|
-
{
|
|
39
|
-
address: OWNABLE_VALIDATOR_ADDRESS,
|
|
40
|
-
abi: [
|
|
41
|
-
{
|
|
42
|
-
inputs: [
|
|
43
|
-
{ internalType: 'address', name: 'account', type: 'address' },
|
|
44
|
-
],
|
|
45
|
-
name: 'getOwners',
|
|
46
|
-
outputs: [
|
|
47
|
-
{
|
|
48
|
-
internalType: 'address[]',
|
|
49
|
-
name: 'ownersArray',
|
|
50
|
-
type: 'address[]',
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
stateMutability: 'view',
|
|
54
|
-
type: 'function',
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
functionName: 'getOwners',
|
|
58
|
-
args: [address],
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
address: OWNABLE_VALIDATOR_ADDRESS,
|
|
62
|
-
abi: [
|
|
63
|
-
{
|
|
64
|
-
inputs: [
|
|
65
|
-
{ internalType: 'address', name: 'account', type: 'address' },
|
|
66
|
-
],
|
|
67
|
-
name: 'threshold',
|
|
68
|
-
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
|
|
69
|
-
stateMutability: 'view',
|
|
70
|
-
type: 'function',
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
functionName: 'threshold',
|
|
74
|
-
args: [address],
|
|
75
|
-
},
|
|
76
|
-
],
|
|
77
|
-
});
|
|
78
|
-
const existingOwnersResult = results[0];
|
|
79
|
-
const existingThresholdResult = results[1];
|
|
80
|
-
if (existingOwnersResult.error || existingThresholdResult.error) {
|
|
81
|
-
throw new Error('Failed to read existing owners or threshold');
|
|
82
|
-
}
|
|
83
|
-
const existingOwners = existingOwnersResult.result;
|
|
84
|
-
const existingThreshold = existingThresholdResult.result;
|
|
85
|
-
const normalizedExistingOwners = existingOwners.map((owner) => owner.toLowerCase());
|
|
86
|
-
const callInputs = [];
|
|
87
|
-
// Convert new owners config to addresses and threshold
|
|
88
|
-
const newOwnerAddresses = newOwners.accounts
|
|
89
|
-
.map((account) => account.address.toLowerCase())
|
|
90
|
-
.sort();
|
|
91
|
-
const newThreshold = newOwners.threshold ?? 1;
|
|
92
|
-
// Check if threshold needs to be updated
|
|
93
|
-
if (Number(existingThreshold) !== newThreshold) {
|
|
94
|
-
callInputs.push(changeThreshold(newThreshold));
|
|
95
|
-
}
|
|
96
|
-
const ownersToAdd = newOwnerAddresses.filter((owner) => !normalizedExistingOwners.includes(owner));
|
|
97
|
-
const ownersToRemove = normalizedExistingOwners.filter((owner) => !newOwnerAddresses.includes(owner));
|
|
98
|
-
// Maintain the list as making changes to keep track of the previous owner for removals
|
|
99
|
-
// Note: new owners are added to the START of the linked list
|
|
100
|
-
let currentOwners = [...normalizedExistingOwners];
|
|
101
|
-
for (const owner of ownersToAdd) {
|
|
102
|
-
callInputs.push(addOwner(owner));
|
|
103
|
-
currentOwners.unshift(owner);
|
|
104
|
-
}
|
|
105
|
-
for (const ownerToRemove of ownersToRemove) {
|
|
106
|
-
const ownerIndex = currentOwners.indexOf(ownerToRemove);
|
|
107
|
-
let prevOwner;
|
|
108
|
-
if (ownerIndex === 0) {
|
|
109
|
-
// If it's the first owner, use the sentinel address
|
|
110
|
-
prevOwner = '0x0000000000000000000000000000000000000001';
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
prevOwner = currentOwners[ownerIndex - 1];
|
|
114
|
-
}
|
|
115
|
-
callInputs.push(removeOwner(prevOwner, ownerToRemove));
|
|
116
|
-
currentOwners = currentOwners.filter((owner) => owner !== ownerToRemove);
|
|
117
|
-
}
|
|
118
|
-
const calls = await resolveCallInputs(callInputs, config, chain, address);
|
|
119
|
-
return calls;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Recover an account's ownership (Passkey)
|
|
123
|
-
* @param address Account address
|
|
124
|
-
* @param oldCredentials Old credentials to be replaced (with pubKeyX, pubKeyY)
|
|
125
|
-
* @param newOwners New passkey owners
|
|
126
|
-
* @param chain Chain to recover ownership on
|
|
127
|
-
* @param provider Provider to use for the recovery
|
|
128
|
-
* @returns Calls to recover ownership
|
|
129
|
-
*/
|
|
130
|
-
async function recoverPasskeyOwnership(address, oldCredentials, newOwners, chain, config) {
|
|
131
|
-
const publicClient = createPublicClient({
|
|
132
|
-
chain,
|
|
133
|
-
transport: createTransport(chain, config.provider),
|
|
134
|
-
});
|
|
135
|
-
const existingThreshold = await publicClient.readContract({
|
|
136
|
-
address: WEBAUTHN_VALIDATOR_ADDRESS,
|
|
137
|
-
abi: [
|
|
138
|
-
{
|
|
139
|
-
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
|
|
140
|
-
name: 'threshold',
|
|
141
|
-
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
|
|
142
|
-
stateMutability: 'view',
|
|
143
|
-
type: 'function',
|
|
144
|
-
},
|
|
145
|
-
],
|
|
146
|
-
functionName: 'threshold',
|
|
147
|
-
args: [address],
|
|
148
|
-
});
|
|
149
|
-
const callInputs = [];
|
|
150
|
-
// Convert new owners config to credentials and threshold
|
|
151
|
-
const newCredentials = newOwners.accounts.map((account) => {
|
|
152
|
-
const publicKey = account.publicKey;
|
|
153
|
-
// Parse the public key hex string to extract x and y coordinates
|
|
154
|
-
const publicKeyBytes = publicKey.startsWith('0x')
|
|
155
|
-
? publicKey.slice(2)
|
|
156
|
-
: publicKey;
|
|
157
|
-
// The public key is 64 bytes: 32 bytes for x, 32 bytes for y
|
|
158
|
-
const x = BigInt(`0x${publicKeyBytes.slice(0, 64)}`);
|
|
159
|
-
const y = BigInt(`0x${publicKeyBytes.slice(64, 128)}`);
|
|
160
|
-
return {
|
|
161
|
-
pubKeyX: x,
|
|
162
|
-
pubKeyY: y,
|
|
163
|
-
requireUV: false, // Default to false for now
|
|
164
|
-
};
|
|
165
|
-
});
|
|
166
|
-
const newThreshold = newOwners.threshold ?? 1;
|
|
167
|
-
// Check if threshold needs to be updated
|
|
168
|
-
if (Number(existingThreshold) !== newThreshold) {
|
|
169
|
-
callInputs.push(changePasskeyThreshold(newThreshold));
|
|
170
|
-
}
|
|
171
|
-
// Compare existing and new credentials to determine what to add/remove
|
|
172
|
-
const existingCredentialKeys = oldCredentials.map((cred) => `${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`);
|
|
173
|
-
const newCredentialKeys = newCredentials.map((cred) => `${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`);
|
|
174
|
-
// Find credentials to add (new ones not in existing)
|
|
175
|
-
const credentialsToAdd = newCredentials.filter((cred) => !existingCredentialKeys.includes(`${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`));
|
|
176
|
-
// Find credentials to remove (existing ones not in new)
|
|
177
|
-
const credentialsToRemove = oldCredentials.filter((cred) => !newCredentialKeys.includes(`${cred.pubKeyX.toString()}-${cred.pubKeyY.toString()}`));
|
|
178
|
-
// Remove old credentials first (important for security in recovery scenarios)
|
|
179
|
-
for (const credential of credentialsToRemove) {
|
|
180
|
-
callInputs.push(removePasskeyOwner(credential.pubKeyX, credential.pubKeyY));
|
|
181
|
-
}
|
|
182
|
-
// Then add new credentials
|
|
183
|
-
for (const credential of credentialsToAdd) {
|
|
184
|
-
callInputs.push(addPasskeyOwner(credential.pubKeyX, credential.pubKeyY, credential.requireUV));
|
|
185
|
-
}
|
|
186
|
-
const calls = await resolveCallInputs(callInputs, config, chain, address);
|
|
187
|
-
return calls;
|
|
188
|
-
}
|
|
189
|
-
export { enable, recoverEcdsaOwnership, recoverPasskeyOwnership };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { RhinestoneConfig, RhinestoneSDKConfig } from '../types.js';
|
|
2
|
-
export interface AuthProvider {
|
|
3
|
-
getHeaders(): Promise<Record<string, string>>;
|
|
4
|
-
getSubmitHeaders(intentInput: unknown, isSponsored: boolean): Promise<Record<string, string>>;
|
|
5
|
-
}
|
|
6
|
-
export declare function createAuthProvider(config: RhinestoneSDKConfig | RhinestoneConfig): AuthProvider;
|
|
7
|
-
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../auth/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,UAAU,CAAA;AAEjB,MAAM,WAAW,YAAY;IAC3B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC7C,gBAAgB,CACd,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACnC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,GAC7C,YAAY,CAqCd"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export function createAuthProvider(config) {
|
|
2
|
-
const resolved = resolveAuth(config);
|
|
3
|
-
if (resolved.mode === 'apiKey') {
|
|
4
|
-
const headers = { 'x-api-key': resolved.apiKey };
|
|
5
|
-
return {
|
|
6
|
-
getHeaders: async () => headers,
|
|
7
|
-
getSubmitHeaders: async () => headers,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
const { accessToken, getIntentExtensionToken } = resolved;
|
|
11
|
-
const resolveAccessToken = async () => typeof accessToken === 'function' ? await accessToken() : accessToken;
|
|
12
|
-
return {
|
|
13
|
-
async getHeaders() {
|
|
14
|
-
const token = await resolveAccessToken();
|
|
15
|
-
return { Authorization: `Bearer ${token}`, 'x-api-key': 'jwt' };
|
|
16
|
-
},
|
|
17
|
-
async getSubmitHeaders(intentInput, isSponsored) {
|
|
18
|
-
const token = await resolveAccessToken();
|
|
19
|
-
const headers = {
|
|
20
|
-
Authorization: `Bearer ${token}`,
|
|
21
|
-
'x-api-key': 'jwt',
|
|
22
|
-
};
|
|
23
|
-
if (isSponsored && getIntentExtensionToken) {
|
|
24
|
-
const extensionToken = await getIntentExtensionToken(intentInput);
|
|
25
|
-
headers['X-Intent-Extension'] = `Bearer ${extensionToken}`;
|
|
26
|
-
}
|
|
27
|
-
return headers;
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function resolveAuth(config) {
|
|
32
|
-
if ('auth' in config && config.auth)
|
|
33
|
-
return config.auth;
|
|
34
|
-
if ('apiKey' in config && config.apiKey) {
|
|
35
|
-
return { mode: 'apiKey', apiKey: config.apiKey };
|
|
36
|
-
}
|
|
37
|
-
throw new Error('RhinestoneSDK requires either `apiKey` or `auth` in config');
|
|
38
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../execution/compact.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,gBAAgB,IAAI,CAAA;AAC1B,QAAA,MAAM,qBAAqB,IAAI,CAAA;AAE/B,QAAA,MAAM,eAAe,+CAA+C,CAAA;AAEpE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../execution/error.ts"],"names":[],"mappings":"AAAA,cAAM,cAAe,SAAQ,KAAK;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;gBAErB,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;IAQD,IAAI,OAAO,WAEV;IAED,IAAI,OAAO,QAEV;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,OAAO,WAEV;CACF;AAED,cAAM,uBAAwB,SAAQ,cAAc;gBACtC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,cAAM,gCAAiC,SAAQ,cAAc;gBAC/C,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAMF;AAED,cAAM,yBAA0B,SAAQ,cAAc;gBACxC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,cAAM,iBAAkB,SAAQ,cAAc;gBAChC,MAAM,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAMF;AAED,cAAM,wBAAyB,SAAQ,cAAc;gBACvC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAMF;AAED,cAAM,kCAAmC,SAAQ,cAAc;gBACjD,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,cAAM,iCAAkC,SAAQ,cAAc;gBAChD,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,EAAE,GAAG,CAAA;QACb,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB;CAOF;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,cAAc,CAE/D;AAED,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iCAAiC,EACjC,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,GACxB,CAAA"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
class ExecutionError extends Error {
|
|
2
|
-
_message;
|
|
3
|
-
_context;
|
|
4
|
-
_errorType;
|
|
5
|
-
_traceId;
|
|
6
|
-
constructor(params) {
|
|
7
|
-
super();
|
|
8
|
-
this._message = params?.message || 'ExecutionError';
|
|
9
|
-
this._context = params?.context || {};
|
|
10
|
-
this._errorType = params?.errorType || 'Unknown';
|
|
11
|
-
this._traceId = params?.traceId || '';
|
|
12
|
-
}
|
|
13
|
-
get message() {
|
|
14
|
-
return this._message;
|
|
15
|
-
}
|
|
16
|
-
get context() {
|
|
17
|
-
return this._context;
|
|
18
|
-
}
|
|
19
|
-
get errorType() {
|
|
20
|
-
return this._errorType;
|
|
21
|
-
}
|
|
22
|
-
get traceId() {
|
|
23
|
-
return this._traceId;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
class SignerNotSupportedError extends ExecutionError {
|
|
27
|
-
constructor(params) {
|
|
28
|
-
super({
|
|
29
|
-
message: 'Sending a transaction is not supported for this type of signers. Use user operations instead.',
|
|
30
|
-
...params,
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
class OrderPathRequiredForIntentsError extends ExecutionError {
|
|
35
|
-
constructor(params) {
|
|
36
|
-
super({
|
|
37
|
-
message: 'Order path is required when using intents',
|
|
38
|
-
...params,
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
class SessionChainRequiredError extends ExecutionError {
|
|
43
|
-
constructor(params) {
|
|
44
|
-
super({
|
|
45
|
-
message: 'Specifying a chain is required when using multi-chain smart sessions',
|
|
46
|
-
...params,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
class IntentFailedError extends ExecutionError {
|
|
51
|
-
constructor(params) {
|
|
52
|
-
super({
|
|
53
|
-
message: 'Intent failed',
|
|
54
|
-
...params,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
class IntentStatusTimeoutError extends ExecutionError {
|
|
59
|
-
constructor(params) {
|
|
60
|
-
super({
|
|
61
|
-
message: 'Intent status polling timed out',
|
|
62
|
-
...params,
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
class QuoteNotInPreparedTransactionError extends ExecutionError {
|
|
67
|
-
constructor(params) {
|
|
68
|
-
super({
|
|
69
|
-
message: 'Selected quote does not belong to the prepared transaction. Re-prepare and try again.',
|
|
70
|
-
...params,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
class Eip7702InitSignatureRequiredError extends ExecutionError {
|
|
75
|
-
constructor(params) {
|
|
76
|
-
super({
|
|
77
|
-
message: 'EIP-7702 initialization signature is required for 7702 accounts. This signature is needed during transaction preparation, even if your account is already deployed on all chains. Use `getEip7702InitSignature()` to generate it.',
|
|
78
|
-
...params,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
function isExecutionError(error) {
|
|
83
|
-
return error instanceof ExecutionError;
|
|
84
|
-
}
|
|
85
|
-
export { isExecutionError, ExecutionError, Eip7702InitSignatureRequiredError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, IntentFailedError, IntentStatusTimeoutError, SignerNotSupportedError, };
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { type Address, type Chain, type Hex } from 'viem';
|
|
2
|
-
import type { UserOperationReceipt } from 'viem/_types/account-abstraction';
|
|
3
|
-
import { type AuthProvider } from '../auth/provider.js';
|
|
4
|
-
import { type IntentOpStatus, type SplitIntentsInput } from '../orchestrator/index.js';
|
|
5
|
-
import type { SettlementLayerFilter } from '../orchestrator/types.js';
|
|
6
|
-
import type { CalldataInput, CallInput, RhinestoneAccountConfig, RhinestoneConfig, SignerSet, SourceAssetInput, Sponsorship, TokenRequest, TokenSymbol, UserOperationTransaction } from '../types.js';
|
|
7
|
-
import { ExecutionError, IntentFailedError, IntentStatusTimeoutError, isExecutionError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError } from './error.js';
|
|
8
|
-
import type { TransactionResult, UserOperationResult } from './utils.js';
|
|
9
|
-
interface TransactionStatus {
|
|
10
|
-
fill: {
|
|
11
|
-
hash: Hex | undefined;
|
|
12
|
-
chainId: number;
|
|
13
|
-
};
|
|
14
|
-
claims: {
|
|
15
|
-
hash: Hex | undefined;
|
|
16
|
-
chainId: number;
|
|
17
|
-
}[];
|
|
18
|
-
}
|
|
19
|
-
declare function sendUserOperation(config: RhinestoneAccountConfig, transaction: UserOperationTransaction): Promise<UserOperationResult>;
|
|
20
|
-
declare function sendTransactionInternal(config: RhinestoneConfig, sourceChains: Chain[] | undefined, targetChain: Chain, options: {
|
|
21
|
-
callInputs?: CallInput[];
|
|
22
|
-
gasLimit?: bigint;
|
|
23
|
-
initialTokenRequests?: TokenRequest[];
|
|
24
|
-
recipient?: RhinestoneAccountConfig | Address;
|
|
25
|
-
signers?: SignerSet;
|
|
26
|
-
sponsored?: Sponsorship;
|
|
27
|
-
eip7702InitSignature?: Hex;
|
|
28
|
-
settlementLayers?: SettlementLayerFilter;
|
|
29
|
-
sourceAssets?: SourceAssetInput;
|
|
30
|
-
feeAsset?: Address | TokenSymbol;
|
|
31
|
-
}): Promise<TransactionResult>;
|
|
32
|
-
declare function sendUserOperationInternal(config: RhinestoneConfig, chain: Chain, callInputs: CalldataInput[], signers?: SignerSet): Promise<UserOperationResult>;
|
|
33
|
-
declare function waitForExecution(config: RhinestoneConfig, result: TransactionResult | UserOperationResult): Promise<TransactionStatus | UserOperationReceipt>;
|
|
34
|
-
declare function getPortfolio(config: RhinestoneConfig, onTestnets: boolean): Promise<import("../orchestrator/index.js").Portfolio>;
|
|
35
|
-
declare function getIntentStatus(authProvider: AuthProvider, endpointUrl: string | undefined, intentId: string, headers?: Record<string, string>): Promise<TransactionStatus & {
|
|
36
|
-
status: IntentOpStatus['status'];
|
|
37
|
-
}>;
|
|
38
|
-
declare function splitIntents(authProvider: AuthProvider, endpointUrl: string | undefined, input: SplitIntentsInput, headers?: Record<string, string>): Promise<import("../orchestrator/index.js").SplitIntentsResult>;
|
|
39
|
-
export { sendTransactionInternal, sendUserOperation, sendUserOperationInternal, waitForExecution, getPortfolio, getIntentStatus, splitIntents, isExecutionError, ExecutionError, IntentFailedError, IntentStatusTimeoutError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, };
|
|
40
|
-
export type { TransactionStatus, TransactionResult, UserOperationResult };
|
|
41
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../execution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAG3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAKL,KAAK,cAAc,EAGnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,uBAAuB,EACvB,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,wBAAwB,EACzB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAoBrE,UAAU,iBAAiB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,GAAG,GAAG,SAAS,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,MAAM,EAAE;QACN,IAAI,EAAE,GAAG,GAAG,SAAS,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;KAChB,EAAE,CAAA;CACJ;AAED,iBAAe,iBAAiB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,WAAW,EAAE,wBAAwB,gCAetC;AAED,iBAAe,uBAAuB,CACpC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,KAAK,EAAE,GAAG,SAAS,EACjC,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE;IACP,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IACrC,SAAS,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAA;IAC7C,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,WAAW,CAAA;IACvB,oBAAoB,CAAC,EAAE,GAAG,CAAA;IAC1B,gBAAgB,CAAC,EAAE,qBAAqB,CAAA;IACxC,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;CACjC,8BAkCF;AAED,iBAAe,yBAAyB,CACtC,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,aAAa,EAAE,EAC3B,OAAO,CAAC,EAAE,SAAS,gCA4BpB;AAwED,iBAAe,gBAAgB,CAC7B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,GAC9C,OAAO,CAAC,iBAAiB,GAAG,oBAAoB,CAAC,CAkGnD;AAED,iBAAe,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,gDAgBxE;AAED,iBAAe,eAAe,CAC5B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CACR,iBAAiB,GAAG;IAClB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;CACjC,CACF,CAcA;AAED,iBAAe,YAAY,CACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,yDAIjC;AAED,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,YAAY,EAEZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAChC,kCAAkC,EAClC,yBAAyB,EACzB,uBAAuB,GACxB,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { createPublicClient } from 'viem';
|
|
2
|
-
import { deploy, getAddress } from '../accounts/index.js';
|
|
3
|
-
import { createTransport, getBundlerClient } from '../accounts/utils.js';
|
|
4
|
-
import { createAuthProvider } from '../auth/provider.js';
|
|
5
|
-
import { getOrchestrator, INTENT_STATUS_COMPLETED, INTENT_STATUS_FAILED, INTENT_STATUS_FILLED, isRateLimited, isRetryable, } from '../orchestrator/index.js';
|
|
6
|
-
import { getChainById, getSupportedChainIds, isTestnet, } from '../orchestrator/registry.js';
|
|
7
|
-
import { ExecutionError, IntentFailedError, IntentStatusTimeoutError, isExecutionError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, } from './error.js';
|
|
8
|
-
import { getTargetExecutionSignature, getTokenRequests, getValidatorAccount, parseCalls, prepareTransactionAsIntent, resolveCallInputs, signAuthorizationsInternal, signIntent, submitIntentInternal, } from './utils.js';
|
|
9
|
-
const POLL_INITIAL_MS = 500;
|
|
10
|
-
const POLL_SLOW_AFTER_MS = 15000;
|
|
11
|
-
const POLL_SLOW_MS = 2000;
|
|
12
|
-
const POLL_MAX_WAIT_MS = 210000;
|
|
13
|
-
const POLL_ERROR_BACKOFF_MS = 1000;
|
|
14
|
-
const POLL_ERROR_BACKOFF_MAX_MS = 10000;
|
|
15
|
-
async function sendUserOperation(config, transaction) {
|
|
16
|
-
const accountAddress = getAddress(config);
|
|
17
|
-
const resolvedCalls = await resolveCallInputs(transaction.calls, config, transaction.chain, accountAddress);
|
|
18
|
-
return await sendUserOperationInternal(config, transaction.chain, resolvedCalls, transaction.signers);
|
|
19
|
-
}
|
|
20
|
-
async function sendTransactionInternal(config, sourceChains, targetChain, options) {
|
|
21
|
-
const accountAddress = getAddress(config);
|
|
22
|
-
const resolvedCalls = await resolveCallInputs(options.callInputs, config, targetChain, accountAddress);
|
|
23
|
-
const tokenRequests = getTokenRequests(targetChain, options.initialTokenRequests);
|
|
24
|
-
const sendAsUserOp = options.signers?.type === 'guardians';
|
|
25
|
-
if (sendAsUserOp) {
|
|
26
|
-
throw new SignerNotSupportedError();
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
return await sendTransactionAsIntent(config, sourceChains, targetChain, resolvedCalls, options.gasLimit, tokenRequests, options.recipient, options.signers, options.sponsored, options.eip7702InitSignature, options.settlementLayers, options.sourceAssets, options.feeAsset);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
async function sendUserOperationInternal(config, chain, callInputs, signers) {
|
|
33
|
-
// Make sure the account is deployed
|
|
34
|
-
await deploy(config, chain);
|
|
35
|
-
const publicClient = createPublicClient({
|
|
36
|
-
chain,
|
|
37
|
-
transport: createTransport(chain, config.provider),
|
|
38
|
-
});
|
|
39
|
-
const validatorAccount = await getValidatorAccount(config, signers, publicClient, chain);
|
|
40
|
-
if (!validatorAccount) {
|
|
41
|
-
throw new Error('No validator account found');
|
|
42
|
-
}
|
|
43
|
-
const bundlerClient = getBundlerClient(config, publicClient);
|
|
44
|
-
const calls = parseCalls(callInputs, chain.id);
|
|
45
|
-
const hash = await bundlerClient.sendUserOperation({
|
|
46
|
-
account: validatorAccount,
|
|
47
|
-
calls,
|
|
48
|
-
});
|
|
49
|
-
return {
|
|
50
|
-
type: 'userop',
|
|
51
|
-
hash,
|
|
52
|
-
chain: chain.id,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
async function sendTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, signers, sponsored, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset) {
|
|
56
|
-
const prepared = await prepareTransactionAsIntent(config, sourceChains, targetChain, callInputs, gasLimit, tokenRequests, recipient, sponsored ?? false, eip7702InitSignature, settlementLayers, sourceAssets, feeAsset, undefined, undefined, signers);
|
|
57
|
-
if (!prepared) {
|
|
58
|
-
throw new OrderPathRequiredForIntentsError();
|
|
59
|
-
}
|
|
60
|
-
const { quotes, intentInput } = prepared;
|
|
61
|
-
const quote = quotes.best;
|
|
62
|
-
const { originSignatures, destinationSignature } = await signIntent(config, quote.signData, targetChain, signers);
|
|
63
|
-
const targetExecutionSignature = await getTargetExecutionSignature(config, quote.signData, targetChain, signers);
|
|
64
|
-
const authorizations = config.eoa
|
|
65
|
-
? await signAuthorizationsInternal(config, {
|
|
66
|
-
sourceChains,
|
|
67
|
-
targetChain,
|
|
68
|
-
eip7702InitSignature,
|
|
69
|
-
})
|
|
70
|
-
: [];
|
|
71
|
-
return await submitIntentInternal(config, sourceChains, targetChain, quote, originSignatures, destinationSignature, targetExecutionSignature, authorizations, false, intentInput);
|
|
72
|
-
}
|
|
73
|
-
async function waitForExecution(config, result) {
|
|
74
|
-
const validStatuses = new Set([
|
|
75
|
-
INTENT_STATUS_FAILED,
|
|
76
|
-
INTENT_STATUS_COMPLETED,
|
|
77
|
-
INTENT_STATUS_FILLED,
|
|
78
|
-
]);
|
|
79
|
-
switch (result.type) {
|
|
80
|
-
case 'intent': {
|
|
81
|
-
let intentStatus = null;
|
|
82
|
-
const startTs = Date.now();
|
|
83
|
-
let nextDelayMs = POLL_INITIAL_MS;
|
|
84
|
-
let errorBackoffMs = POLL_ERROR_BACKOFF_MS;
|
|
85
|
-
while (intentStatus === null || !validStatuses.has(intentStatus.status)) {
|
|
86
|
-
const now = Date.now();
|
|
87
|
-
if (now - startTs >= POLL_MAX_WAIT_MS) {
|
|
88
|
-
throw new IntentStatusTimeoutError({
|
|
89
|
-
context: {
|
|
90
|
-
intentId: result.id,
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
const orchestrator = getOrchestrator(config._authProvider ?? createAuthProvider(config), config.endpointUrl, config.headers);
|
|
95
|
-
try {
|
|
96
|
-
intentStatus = await orchestrator.getIntent(result.id);
|
|
97
|
-
// reset error backoff on success
|
|
98
|
-
errorBackoffMs = POLL_ERROR_BACKOFF_MS;
|
|
99
|
-
const elapsed = Date.now() - startTs;
|
|
100
|
-
nextDelayMs =
|
|
101
|
-
elapsed >= POLL_SLOW_AFTER_MS ? POLL_SLOW_MS : POLL_INITIAL_MS;
|
|
102
|
-
await new Promise((resolve) => setTimeout(resolve, nextDelayMs));
|
|
103
|
-
}
|
|
104
|
-
catch (err) {
|
|
105
|
-
if (isRateLimited(err)) {
|
|
106
|
-
const retryAfter = err.retryAfter;
|
|
107
|
-
let retryMs = nextDelayMs;
|
|
108
|
-
if (retryAfter) {
|
|
109
|
-
const parsed = Number(retryAfter);
|
|
110
|
-
if (!Number.isNaN(parsed)) {
|
|
111
|
-
retryMs = Math.max(parsed * 1000, nextDelayMs);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
const asDate = Date.parse(retryAfter);
|
|
115
|
-
if (!Number.isNaN(asDate)) {
|
|
116
|
-
retryMs = Math.max(asDate - Date.now(), nextDelayMs);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
retryMs = Math.max(POLL_SLOW_MS, nextDelayMs);
|
|
122
|
-
}
|
|
123
|
-
await new Promise((resolve) => setTimeout(resolve, retryMs));
|
|
124
|
-
continue;
|
|
125
|
-
}
|
|
126
|
-
if (isRetryable(err)) {
|
|
127
|
-
const backoff = Math.min(errorBackoffMs, POLL_ERROR_BACKOFF_MAX_MS);
|
|
128
|
-
errorBackoffMs = Math.min(errorBackoffMs * 2, POLL_ERROR_BACKOFF_MAX_MS);
|
|
129
|
-
await new Promise((resolve) => setTimeout(resolve, backoff));
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
throw err;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (intentStatus.status === INTENT_STATUS_FAILED) {
|
|
136
|
-
throw new IntentFailedError({
|
|
137
|
-
context: {
|
|
138
|
-
intentId: result.id,
|
|
139
|
-
},
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
return {
|
|
143
|
-
fill: {
|
|
144
|
-
hash: intentStatus.fillTransactionHash,
|
|
145
|
-
chainId: result.targetChain,
|
|
146
|
-
},
|
|
147
|
-
claims: intentStatus.claims.map((claim) => ({
|
|
148
|
-
hash: claim.claimTransactionHash,
|
|
149
|
-
chainId: claim.chainId,
|
|
150
|
-
})),
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
case 'userop': {
|
|
154
|
-
const targetChain = getChainById(result.chain);
|
|
155
|
-
const publicClient = createPublicClient({
|
|
156
|
-
chain: targetChain,
|
|
157
|
-
transport: createTransport(targetChain, config.provider),
|
|
158
|
-
});
|
|
159
|
-
const bundlerClient = getBundlerClient(config, publicClient);
|
|
160
|
-
const receipt = await bundlerClient.waitForUserOperationReceipt({
|
|
161
|
-
hash: result.hash,
|
|
162
|
-
});
|
|
163
|
-
return receipt;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
async function getPortfolio(config, onTestnets) {
|
|
168
|
-
const address = getAddress(config);
|
|
169
|
-
const orchestrator = getOrchestrator(config._authProvider ?? createAuthProvider(config), config.endpointUrl, config.headers);
|
|
170
|
-
const supportedChainIds = getSupportedChainIds();
|
|
171
|
-
const filteredChainIds = supportedChainIds.filter((id) => {
|
|
172
|
-
try {
|
|
173
|
-
return isTestnet(id) === onTestnets;
|
|
174
|
-
}
|
|
175
|
-
catch {
|
|
176
|
-
return false;
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
return orchestrator.getPortfolio(address, { chainIds: filteredChainIds });
|
|
180
|
-
}
|
|
181
|
-
async function getIntentStatus(authProvider, endpointUrl, intentId, headers) {
|
|
182
|
-
const orchestrator = getOrchestrator(authProvider, endpointUrl, headers);
|
|
183
|
-
const internalStatus = await orchestrator.getIntent(intentId);
|
|
184
|
-
return {
|
|
185
|
-
status: internalStatus.status,
|
|
186
|
-
fill: {
|
|
187
|
-
hash: internalStatus.fillTransactionHash,
|
|
188
|
-
chainId: internalStatus.destinationChainId,
|
|
189
|
-
},
|
|
190
|
-
claims: internalStatus.claims.map((claim) => ({
|
|
191
|
-
hash: claim.claimTransactionHash,
|
|
192
|
-
chainId: claim.chainId,
|
|
193
|
-
})),
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
async function splitIntents(authProvider, endpointUrl, input, headers) {
|
|
197
|
-
const orchestrator = getOrchestrator(authProvider, endpointUrl, headers);
|
|
198
|
-
return orchestrator.getSplit(input);
|
|
199
|
-
}
|
|
200
|
-
export { sendTransactionInternal, sendUserOperation, sendUserOperationInternal, waitForExecution, getPortfolio, getIntentStatus, splitIntents,
|
|
201
|
-
// Errors
|
|
202
|
-
isExecutionError, ExecutionError, IntentFailedError, IntentStatusTimeoutError, OrderPathRequiredForIntentsError, QuoteNotInPreparedTransactionError, SessionChainRequiredError, SignerNotSupportedError, };
|