@seams/wallet-server 0.15.6 → 0.18.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 +6 -6
- package/THIRD_PARTY_NOTICES.md +102 -1
- package/artifact-manifest.json +38 -33
- package/cloudflare-router-ab/build/deriver-a/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/deriver-a/index.js +2 -2
- package/cloudflare-router-ab/build/deriver-a/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/deriver-b/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/deriver-b/index.js +2 -2
- package/cloudflare-router-ab/build/deriver-b/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/local-tools/linux-x64/router_ab_local_init +0 -0
- package/cloudflare-router-ab/build/router/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/router/index.js +2 -2
- package/cloudflare-router-ab/build/router/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/signing-worker/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/signing-worker/index.js +2 -2
- package/cloudflare-router-ab/build/signing-worker/index_bg.wasm +0 -0
- package/cloudflare-router-ab/build/tenant-root-control-plane/build-stamp.json +1 -1
- package/cloudflare-router-ab/build/tenant-root-control-plane/index.js +2 -2
- package/cloudflare-router-ab/build/tenant-root-control-plane/index_bg.wasm +0 -0
- package/cloudflare-router-ab/migrations/postgres/0001_role_store.sql +567 -0
- package/dist/esm/authorization/factorEvidence.js +49 -8
- package/dist/esm/authorization/vaultProxyUse.js +15 -15
- package/dist/esm/core/SessionService.js +1 -0
- package/dist/esm/core/ThresholdService/kv.js +2 -0
- package/dist/esm/core/ThresholdService/routerAb/ecdsaDerivationPoolFillHandlers.js +3 -0
- package/dist/esm/core/d1IdentityStore.js +3 -1
- package/dist/esm/core/d1TenantStore.js +4 -1
- package/dist/esm/core/d1WalletAuthMethodStore.js +3 -1
- package/dist/esm/core/d1WalletStore.js +5 -2
- package/dist/esm/core/deviceLinking/linkedDeviceManagement.js +1 -4
- package/dist/esm/core/deviceLinking/linkedDeviceSession.js +2 -0
- package/dist/esm/core/deviceLinking/requestProof.js +1 -0
- package/dist/esm/core/routerAbSigning/RouterAbEcdsaPresignRuntime.js +2 -0
- package/dist/esm/core/routerAbSigning/RouterAbNormalSigningRuntime.js +3 -0
- package/dist/esm/core/rpcClients/near/NearClient.js +8 -0
- package/dist/esm/core/signingMaterial/ordinaryInactiveSignerMaterialReservation.js +0 -1
- package/dist/esm/localHostedWalletGatewayHandler.js +2 -2
- package/dist/esm/localIntendedEcdsaFinalizeFault.js +1 -1
- package/dist/esm/localIntendedLinkExecuteFault.js +1 -1
- package/dist/esm/localIntendedMaterialAdmissionFault.js +2 -2
- package/dist/esm/localIntendedRevokeFault.js +1 -1
- package/dist/esm/localIntendedSessionAdmissionFault.js +1 -1
- package/dist/esm/localIntendedYaoExportFault.js +1 -1
- package/dist/esm/localIntendedYaoFault.js +1 -1
- package/dist/esm/localIntendedYaoFinalizeFault.js +1 -1
- package/dist/esm/localIntendedYaoRecoveryFault.js +3 -3
- package/dist/esm/localIntendedYaoSigningFault.js +1 -1
- package/dist/esm/localRegistrationSetupAuthority.js +1 -0
- package/dist/esm/router/cloudflare/d1/auth/d1RouterApiAuthService.js +2 -2
- package/dist/esm/router/cloudflare/d1/authorization/d1AuthorizationStore.js +5 -0
- package/dist/esm/router/cloudflare/d1/authorization/d1VaultProxyStore.js +1 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceAuthorityInstallService.js +1 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEd25519ExportRootStore.js +2 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpGrantStore.js +2 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceEmailOtpTargetFactor.js +3 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceOwnerAuthorizationProvider.js +2 -3
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceRequestProofNonceStore.js +2 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSessionStore.js +3 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceSourceContributionPreparationPlanner.js +6 -2
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetAuthenticatorStore.js +3 -0
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.js +10 -2
- package/dist/esm/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.js +3 -0
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoCapabilityPersistence.js +6 -1
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoLifecycleDecisionStore.js +2 -0
- package/dist/esm/router/cloudflare/d1/ed25519Yao/d1Ed25519YaoProductRegistrationPartitionedStateStore.js +1 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeIssuer.js +5 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeService.js +8 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeStore.js +6 -1
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpChallengeVerifier.js +4 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpEnrollmentStore.js +1 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpGrantStore.js +1 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRecoveryService.js +4 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpRegistrationEnrollmentFinalizer.js +2 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1EmailOtpServerSealRuntime.js +1 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpRegistrationAttemptStore.js +3 -0
- package/dist/esm/router/cloudflare/d1/emailOtp/d1GoogleEmailOtpSessionResolver.js +6 -0
- package/dist/esm/router/cloudflare/d1/identity/d1IdentityService.js +1 -0
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcBoundary.js +2 -4
- package/dist/esm/router/cloudflare/d1/oidc/d1OidcVerificationService.js +4 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1PasskeyCustodyEnvelopeStore.js +4 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletCustodyCommitStore.js +7 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpAttemptStore.js +1 -0
- package/dist/esm/router/cloudflare/d1/passkeyCustody/d1WalletRecoveryGoogleEmailOtpService.js +8 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyRecordStore.js +3 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationCeremonyStore.js +1 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationIntentService.js +1 -0
- package/dist/esm/router/cloudflare/d1/registration/d1RegistrationSessionTransaction.js +1 -1
- package/dist/esm/router/cloudflare/d1/registration/d1WalletOperationStore.js +2 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationCommitStore.js +3 -0
- package/dist/esm/router/cloudflare/d1/registration/d1WalletRegistrationService.js +24 -0
- package/dist/esm/router/cloudflare/d1/signingAdmission/d1RouterAbNormalSigningAdmissionStore.js +3 -0
- package/dist/esm/router/cloudflare/d1/versionedJson/d1VersionedJsonRecordStore.js +6 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAddSignerService.js +11 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodRevocationReplayStore.js +2 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthMethodService.js +16 -0
- package/dist/esm/router/cloudflare/d1/wallet/d1WalletAuthorityStore.js +3 -1
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnAuthService.js +4 -0
- package/dist/esm/router/cloudflare/d1/webauthn/d1WebAuthnStore.js +5 -1
- package/dist/esm/router/cloudflare/durableObjects/versionedJsonRecordStore.js +6 -0
- package/dist/esm/router/cloudflare/runtime/ed25519SessionAdapter.js +6 -0
- package/dist/esm/router/cloudflare/runtime/walletAuthorizationRelocationRoutes.js +117 -117
- package/dist/esm/router/cloudflare/runtime/walletPlacementRoutes.js +51 -51
- package/dist/esm/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.js +3 -3
- package/dist/esm/router/cloudflare.js +114 -61
- package/dist/esm/router/domains/ecdsa/routerAbEcdsaStrictRegistration.js +1 -1
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistration.js +2 -1
- package/dist/esm/router/domains/ed25519Yao/capabilityLifecycle/routerAbEd25519YaoProductRegistrationRequestScopedRuntime.js +2 -1
- package/dist/esm/router/domains/ed25519Yao/export/routerAbEd25519YaoExport.js +6 -8
- package/dist/esm/router/domains/ed25519Yao/recovery/routerAbEd25519YaoRecovery.js +11 -9
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoHttpRegistrationBackend.js +2 -1
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistration.js +11 -9
- package/dist/esm/router/domains/ed25519Yao/registration/routerAbEd25519YaoRegistrationIntentAuthorization.js +2 -3
- package/dist/esm/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.js +2 -4
- package/dist/esm/router/domains/walletRegistration/registrationSessionSeal.js +1 -1
- package/dist/esm/router/framework/http.js +1 -1
- package/dist/esm/router/framework/ror/staticProvider.js +1 -0
- package/dist/esm/router/ror.js +1 -0
- package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +1 -1
- package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +6 -0
- package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -5
- package/dist/esm/shared-ts/src/near/nearClient.js +6 -0
- package/dist/esm/shared-ts/src/tenant-root/tenantRootIdentity.js +5 -0
- package/dist/esm/shared-ts/src/utils/domainIds.js +7 -0
- package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +7 -6
- package/dist/esm/storage/tenantRoute.js +4 -0
- package/dist/esm/threshold/session/signingSessionSeal/crypto/cipher.js +1 -1
- package/dist/esm/threshold/session/signingSessionSeal/crypto/shamir3PassWasm.js +1 -1
- package/dist/esm/threshold/session/signingSessionSeal/guards/backends.js +2 -0
- package/dist/esm/threshold/session/signingSessionSeal/guards/index.js +2 -1
- package/dist/esm/threshold/session/signingSessionSeal/idempotencyBackends.js +3 -0
- package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +14 -14
- package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/ed25519ExportRoot.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/requestProof.d.ts +1 -1
- package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +5 -5
- package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +3 -3
- package/dist/types/shared-ts/src/passkey-custody/custodySecretBinding.d.ts +1 -1
- package/dist/types/shared-ts/src/tenant-root/tenantRootIdentity.d.ts +1 -1
- package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/base64.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/digestEncoding.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/digests.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +16 -16
- package/dist/types/shared-ts/src/utils/emailOtpRecoveryKey.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +10 -10
- package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +12 -11
- package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +3 -3
- package/dist/types/shared-ts/src/utils/routerAbTraceContext.d.ts +1 -1
- package/dist/types/shared-ts/src/utils/signerDomain.d.ts +15 -15
- package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +11 -11
- package/dist/types/shared-ts/src/utils/walletSessionFailure.d.ts +8 -8
- package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +2 -2
- package/dist/types/shared-ts/src/utils/wireSchema.d.ts +1 -1
- package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +1 -1
- package/dist/types/wallet-server/src/authorization/factorEvidence.d.ts +6 -6
- package/dist/types/wallet-server/src/core/ecdsaMaterialReadSnapshot.d.ts +1 -1
- package/dist/types/wallet-server/src/core/threeRouteRegistrationContracts.typecheck.d.ts +6 -6
- package/dist/types/wallet-server/src/router/auth/webAuthnCredentialCodecs.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetCredentialProvider.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/deviceLinking/d1LinkedDeviceTargetPlanner.d.ts +3 -3
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/d1WalletRegistrationRead.d.ts +2 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/registration/walletRegistrationEstablishedSessionIssuer.d.ts +2 -2
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/authorizationSnapshotLayout.d.ts +1 -1
- package/dist/types/wallet-server/src/router/cloudflare/d1/wallet/d1WalletRelocationOwner.d.ts +9 -9
- package/dist/types/wallet-server/src/router/cloudflare/signingLanes/cloudflareOrdinaryInactiveSignerMaterialReservation.d.ts +6 -6
- package/dist/types/wallet-server/src/router/domains/signingOperations/signingPrepareSession.d.ts +2 -2
- package/dist/types/wallet-server/src/router/domains/walletRegistration/walletRegistrationSetupPayload.d.ts +1 -1
- package/dist/types/wallet-server/src/router/domains/walletUnlock/walletUnlockRequestedCapabilitiesValidation.d.ts +3 -3
- package/dist/types/wallet-server/src/router/framework/apiCredentialPorts.d.ts +1 -1
- package/dist/types/wallet-server/src/router/framework/routeAuthPolicy.d.ts +2 -2
- package/dist/types/wallet-server/src/router/framework/routeExecutionContext.d.ts +1 -1
- package/dist/types/wallet-server/src/router/transport/fetch/routes/deviceLinkingOwnerAuthorization.d.ts +1 -1
- package/migrations/d1-signer/0082_wallet_signature_completions.sql +39 -0
- package/package.json +4 -5
|
@@ -18,12 +18,11 @@ function resolveTraceContext(request) {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
var InMemoryRouterAbEd25519YaoRegistrationStateV1 = class {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
21
|
+
states = /* @__PURE__ */ new Map();
|
|
22
|
+
lifecycleSessions = /* @__PURE__ */ new Map();
|
|
23
|
+
admissionClaims = /* @__PURE__ */ new Map();
|
|
24
|
+
/** The tenant root each admitted lifecycle dispatches to, pinned at admission. */
|
|
25
|
+
dispatchRoots = /* @__PURE__ */ new Map();
|
|
27
26
|
};
|
|
28
27
|
function registrationSessionKey(receipt) {
|
|
29
28
|
return bytesToHex(receipt.binding.session_id);
|
|
@@ -140,12 +139,12 @@ function routeFailureResponse(result) {
|
|
|
140
139
|
}, { status: result.status });
|
|
141
140
|
}
|
|
142
141
|
var RouterAbEd25519YaoRegistrationRouteExtension = class {
|
|
142
|
+
kind = "fetch_route_extension";
|
|
143
|
+
id = "router_ab_ed25519_yao_registration";
|
|
144
|
+
routes = ROUTER_AB_ED25519_YAO_REGISTRATION_ROUTES;
|
|
143
145
|
constructor(service, authorization) {
|
|
144
146
|
this.service = service;
|
|
145
147
|
this.authorization = authorization;
|
|
146
|
-
this.kind = "fetch_route_extension";
|
|
147
|
-
this.id = "router_ab_ed25519_yao_registration";
|
|
148
|
-
this.routes = ROUTER_AB_ED25519_YAO_REGISTRATION_ROUTES;
|
|
149
148
|
}
|
|
150
149
|
async handleFetchRoute(input) {
|
|
151
150
|
if (input.method !== "POST") return json({
|
|
@@ -218,6 +217,9 @@ function createRouterAbEd25519YaoRegistrationModule(input) {
|
|
|
218
217
|
});
|
|
219
218
|
}
|
|
220
219
|
var InMemoryRouterAbEd25519YaoRegistrationService = class {
|
|
220
|
+
states;
|
|
221
|
+
lifecycleSessions;
|
|
222
|
+
admissionClaims;
|
|
221
223
|
constructor(backend, state = new InMemoryRouterAbEd25519YaoRegistrationStateV1()) {
|
|
222
224
|
this.backend = backend;
|
|
223
225
|
this.states = state.states;
|
|
@@ -218,11 +218,10 @@ function findAuthorityByLifecycleId(authorities, lifecycleId) {
|
|
|
218
218
|
return null;
|
|
219
219
|
}
|
|
220
220
|
var InMemoryRouterAbEd25519YaoRegistrationIntentAuthorizationStateV1 = class {
|
|
221
|
-
|
|
222
|
-
this.authorities = [];
|
|
223
|
-
}
|
|
221
|
+
authorities = [];
|
|
224
222
|
};
|
|
225
223
|
var InMemoryRouterAbEd25519YaoRegistrationIntentAuthorizationAdapter = class {
|
|
224
|
+
authorities;
|
|
226
225
|
constructor(state = new InMemoryRouterAbEd25519YaoRegistrationIntentAuthorizationStateV1()) {
|
|
227
226
|
this.authorities = state.authorities;
|
|
228
227
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
//#region src/router/domains/signingOperations/routerAbNormalSigningAdmissionCore.ts
|
|
2
2
|
var InMemoryRouterAbNormalSigningAdmissionStore = class {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
this.abuseDecisions = /* @__PURE__ */ new Map();
|
|
6
|
-
}
|
|
3
|
+
projectPolicies = /* @__PURE__ */ new Map();
|
|
4
|
+
abuseDecisions = /* @__PURE__ */ new Map();
|
|
7
5
|
setProjectPolicy(scope, decision) {
|
|
8
6
|
this.projectPolicies.set(runtimePolicyScopeKey(scope), decision);
|
|
9
7
|
}
|
|
@@ -2,10 +2,10 @@ import { isPlainObject } from "../../../shared-ts/src/utils/validation.js";
|
|
|
2
2
|
//#region src/router/domains/walletRegistration/registrationSessionSeal.ts
|
|
3
3
|
/** Holds one request's computation until registration can publish its response. */
|
|
4
4
|
var RegistrationPreparedSessionSeal = class {
|
|
5
|
+
prepared = null;
|
|
5
6
|
constructor(request, service) {
|
|
6
7
|
this.request = request;
|
|
7
8
|
this.service = service;
|
|
8
|
-
this.prepared = null;
|
|
9
9
|
}
|
|
10
10
|
async prepare(session) {
|
|
11
11
|
await this.finish(session);
|
|
@@ -7,7 +7,7 @@ import { ROUTER_AB_TRACE_ID_HEADER_V1 } from "../../shared-ts/src/utils/routerAb
|
|
|
7
7
|
import { WALLET_MANAGEMENT_PROTOCOL_HEADER } from "../../shared-ts/src/utils/walletManagementProtocol.js";
|
|
8
8
|
//#region src/router/framework/http.ts
|
|
9
9
|
const CORS_ALLOW_METHODS = "GET,POST,PUT,PATCH,DELETE,OPTIONS";
|
|
10
|
-
const CORS_PREFLIGHT_MAX_AGE_SECONDS =
|
|
10
|
+
const CORS_PREFLIGHT_MAX_AGE_SECONDS = 7200;
|
|
11
11
|
const CORS_ALLOW_HEADERS = [
|
|
12
12
|
"Content-Type",
|
|
13
13
|
WALLET_MANAGEMENT_PROTOCOL_HEADER,
|
|
@@ -2,6 +2,7 @@ import { normalizeOptionalTrimmedString } from "../../../shared-ts/src/utils/nor
|
|
|
2
2
|
import { sanitizeRorOrigins } from "./normalize.js";
|
|
3
3
|
//#region src/router/framework/ror/staticProvider.ts
|
|
4
4
|
var StaticRorOriginsProvider = class {
|
|
5
|
+
byRpId;
|
|
5
6
|
constructor(input) {
|
|
6
7
|
this.byRpId = /* @__PURE__ */ new Map();
|
|
7
8
|
const byRpId = input?.byRpId || {};
|
package/dist/esm/router/ror.js
CHANGED
|
@@ -156,6 +156,7 @@ function resolveRorRpId(input) {
|
|
|
156
156
|
//#endregion
|
|
157
157
|
//#region src/router/framework/ror/staticProvider.ts
|
|
158
158
|
var StaticRorOriginsProvider = class {
|
|
159
|
+
byRpId;
|
|
159
160
|
constructor(input) {
|
|
160
161
|
this.byRpId = /* @__PURE__ */ new Map();
|
|
161
162
|
const byRpId = input?.byRpId || {};
|
|
@@ -14,9 +14,9 @@ const DELEGATED_WALLET_PERMISSION_VALUE_SET = new Set([
|
|
|
14
14
|
]);
|
|
15
15
|
const canonicalPermissionSetBrand = Symbol("canonicalPermissionSetBrand");
|
|
16
16
|
var CanonicalDelegatedWalletPermissionSetProof = class CanonicalDelegatedWalletPermissionSetProof extends Array {
|
|
17
|
+
[canonicalPermissionSetBrand] = true;
|
|
17
18
|
constructor(permissions) {
|
|
18
19
|
super(...permissions);
|
|
19
|
-
this[canonicalPermissionSetBrand] = true;
|
|
20
20
|
Object.freeze(this);
|
|
21
21
|
}
|
|
22
22
|
static create(permissions) {
|
|
@@ -4,6 +4,12 @@ import { parseDigestB64u } from "../utils/canonicalPrimitives.js";
|
|
|
4
4
|
//#region ../shared-ts/src/authorization/operationFingerprint.ts
|
|
5
5
|
const CAPABILITY_OPERATION_FINGERPRINT_DOMAIN_V1 = "seams:authorization:capability-operation-fingerprint:v1";
|
|
6
6
|
var CapabilityOperationEnvelopeProof = class {
|
|
7
|
+
tenantId;
|
|
8
|
+
principalId;
|
|
9
|
+
capabilityId;
|
|
10
|
+
operationId;
|
|
11
|
+
operation;
|
|
12
|
+
digests;
|
|
7
13
|
retainProof() {
|
|
8
14
|
return true;
|
|
9
15
|
}
|
|
@@ -5,7 +5,7 @@ import { base64UrlDecode, base64UrlEncode } from "../utils/base64.js";
|
|
|
5
5
|
import { parseDigestB64u } from "../utils/canonicalPrimitives.js";
|
|
6
6
|
import { parseEd25519PublicKeyB64u, parseEnvelopeCiphertextB64u, parseSecp256k1CompressedPublicKeyB64u } from "../passkey-custody/primitives.js";
|
|
7
7
|
import { routerAbMpcMaterialActivationRefFromWire } from "../utils/routerAbNormalSigningIdentity.js";
|
|
8
|
-
import { parseRouterAbEd25519YaoActivationPublicReceiptV1, parseRouterAbEd25519YaoApplicationBindingFactsV1,
|
|
8
|
+
import { parseRouterAbEd25519YaoActivationBindingV1, parseRouterAbEd25519YaoActivationPublicReceiptV1, parseRouterAbEd25519YaoApplicationBindingFactsV1, parseRouterAbEd25519YaoEncryptedPackageV1, parseRouterAbEd25519YaoParticipantIdsV1, parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1, sameRouterAbEd25519YaoByteSequence } from "../utils/routerAbEd25519Yao.js";
|
|
9
9
|
import { parseSdkEcdsaDerivationThresholdKeyId } from "../threshold/ecdsaDerivationRoleLocalBootstrap.js";
|
|
10
10
|
import { requireRouterAbEcdsaDerivationNormalSigningStateV1 } from "../utils/routerAbEcdsaDerivation.js";
|
|
11
11
|
//#region ../shared-ts/src/device-linking/sourceContribution.ts
|
|
@@ -108,7 +108,7 @@ function parseEd25519SourceContributionPreparation(record) {
|
|
|
108
108
|
"sourceRegisteredPublicKeyB64u"
|
|
109
109
|
], "linked-device Ed25519 source contribution preparation");
|
|
110
110
|
if (record.kind !== "linked_device_ed25519_source_contribution_preparation_v1") throw new Error("linked-device Ed25519 source contribution preparation kind is invalid");
|
|
111
|
-
const sourceBinding =
|
|
111
|
+
const sourceBinding = parseRouterAbEd25519YaoActivationBindingV1(record.sourceBinding);
|
|
112
112
|
const targetAdmissionResult = parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1(record.targetAdmission);
|
|
113
113
|
if (!targetAdmissionResult.ok) throw new Error(`targetAdmission ${targetAdmissionResult.message}`);
|
|
114
114
|
const targetAdmission = targetAdmissionResult.value;
|
|
@@ -187,7 +187,7 @@ function parseEd25519Contribution(record) {
|
|
|
187
187
|
], "linked-device Ed25519 source contribution");
|
|
188
188
|
if (record.kind !== "linked_device_ed25519_source_contribution_v1") throw new Error("linked-device Ed25519 source contribution kind is invalid");
|
|
189
189
|
if (record.keyFamily !== "ed25519") throw new Error("linked-device Ed25519 source contribution family is invalid");
|
|
190
|
-
const sourceBinding =
|
|
190
|
+
const sourceBinding = parseRouterAbEd25519YaoActivationBindingV1(record.sourceBinding);
|
|
191
191
|
const targetMaterialActivation = parseActivation(record.targetMaterialActivation, "source contribution targetMaterialActivation");
|
|
192
192
|
const targetBinding = parseRegistrationBinding(record.targetBinding, "targetBinding");
|
|
193
193
|
const activationReceipt = parseRouterAbEd25519YaoActivationPublicReceiptV1(record.activationReceipt);
|
|
@@ -464,7 +464,7 @@ function parseLinkedDeviceEcdsaEncryptedSourceContributionV1(raw, label) {
|
|
|
464
464
|
};
|
|
465
465
|
}
|
|
466
466
|
function parseRegistrationBinding(raw, label) {
|
|
467
|
-
const binding =
|
|
467
|
+
const binding = parseRouterAbEd25519YaoActivationBindingV1(raw);
|
|
468
468
|
if (binding.operation !== "registration") throw new Error(`${label} must use the registration operation`);
|
|
469
469
|
return binding;
|
|
470
470
|
}
|
|
@@ -478,7 +478,7 @@ function assertSourceBindingContext(binding, linkSessionId, label) {
|
|
|
478
478
|
if (binding.session_id.length !== 32 || String(linkSessionId).length === 0) throw new Error(`${label} link binding is invalid`);
|
|
479
479
|
}
|
|
480
480
|
function sameEdStableIdentity(left, right) {
|
|
481
|
-
return left.
|
|
481
|
+
return left.stable_key_context_binding.every((value, index) => value === right.stable_key_context_binding[index]) && left.material_activation.capability === right.material_activation.capability && left.material_activation.material_owner === right.material_activation.material_owner && left.material_activation.key_binding === right.material_activation.key_binding && left.material_activation.lifecycle_binding === right.material_activation.lifecycle_binding && left.material_activation.signing_worker === right.material_activation.signing_worker && left.lifecycle.root_share_epoch === right.lifecycle.root_share_epoch && left.lifecycle.account_id === right.lifecycle.account_id && left.lifecycle.signer_set_id === right.lifecycle.signer_set_id && left.lifecycle.selected_server_id === right.lifecycle.selected_server_id;
|
|
482
482
|
}
|
|
483
483
|
function sameEcdsaSourceSigner(left, right) {
|
|
484
484
|
return mpcMaterialActivationRefsEqual(left.activation, right.activation) && left.clientPublicKey33B64u === right.clientPublicKey33B64u && left.relayerPublicKey33B64u === right.relayerPublicKey33B64u && left.thresholdPublicKey33B64u === right.thresholdPublicKey33B64u && left.thresholdEthereumAddress20B64u === right.thresholdEthereumAddress20B64u;
|
|
@@ -14,6 +14,11 @@ var RpcCallType = /* @__PURE__ */ function(RpcCallType) {
|
|
|
14
14
|
const DEFAULT_SEND_WAIT_UNTIL = "EXECUTED_OPTIMISTIC";
|
|
15
15
|
/** The wallet narrows the transaction, signature and nonce lease types. */
|
|
16
16
|
var SignedTransaction = class SignedTransaction {
|
|
17
|
+
transaction;
|
|
18
|
+
signature;
|
|
19
|
+
borsh_bytes;
|
|
20
|
+
nonceLease;
|
|
21
|
+
serverDispatch;
|
|
17
22
|
constructor(data) {
|
|
18
23
|
this.transaction = data.transaction;
|
|
19
24
|
this.signature = data.signature;
|
|
@@ -61,6 +66,7 @@ function encodeSignedTransactionBase64(signed) {
|
|
|
61
66
|
throw new Error("Invalid signed transaction payload: cannot serialize to base64");
|
|
62
67
|
}
|
|
63
68
|
var NearJsonRpcClient = class NearJsonRpcClient {
|
|
69
|
+
rpcUrls;
|
|
64
70
|
constructor(rpcUrl) {
|
|
65
71
|
this.rpcUrls = NearJsonRpcClient.normalizeRpcUrls(rpcUrl);
|
|
66
72
|
}
|
|
@@ -7,6 +7,11 @@ const TENANT_ROOT_IDENTITY_DOMAIN_V1 = new TextEncoder().encode("seams/tenant-ro
|
|
|
7
7
|
* incompatible with the trusted identity.
|
|
8
8
|
*/
|
|
9
9
|
var TenantRootIdentityProof = class TenantRootIdentityProof {
|
|
10
|
+
orgId;
|
|
11
|
+
projectId;
|
|
12
|
+
envId;
|
|
13
|
+
signingRootId;
|
|
14
|
+
signingRootVersion;
|
|
10
15
|
retainProof() {
|
|
11
16
|
return true;
|
|
12
17
|
}
|
|
@@ -3,6 +3,13 @@ var MpcMaterialActivationReference = class {
|
|
|
3
3
|
retainProof() {
|
|
4
4
|
return true;
|
|
5
5
|
}
|
|
6
|
+
kind;
|
|
7
|
+
activationId;
|
|
8
|
+
capability;
|
|
9
|
+
materialOwner;
|
|
10
|
+
keyBinding;
|
|
11
|
+
lifecycleBinding;
|
|
12
|
+
signingWorker;
|
|
6
13
|
constructor(fields) {
|
|
7
14
|
this.retainProof();
|
|
8
15
|
this.kind = "mpc_material_activation_ref";
|
|
@@ -247,7 +247,8 @@ function parseExportBinding(value) {
|
|
|
247
247
|
authorization_digest: requireBytes32(record.authorization_digest, "export binding.authorization_digest", true)
|
|
248
248
|
};
|
|
249
249
|
}
|
|
250
|
-
function
|
|
250
|
+
function parseRouterAbEd25519YaoActivationBindingV1(value) {
|
|
251
|
+
const binding = parseCeremonyBinding(value);
|
|
251
252
|
switch (binding.operation) {
|
|
252
253
|
case "registration":
|
|
253
254
|
if (binding.lifecycle.work_kind !== REGISTRATION_WORK_KIND || binding.lifecycle.primitive_request_kind !== REGISTRATION_PRIMITIVE_REQUEST_KIND) throw new Error("activation binding has the wrong registration lifecycle kind");
|
|
@@ -602,7 +603,7 @@ function parseExportResultValue(value) {
|
|
|
602
603
|
function parseActivationAdmissionReceiptValue(value) {
|
|
603
604
|
const record = requireRecord(value, "activation admission receipt");
|
|
604
605
|
requireExactKeys(record, "activation admission receipt", ["binding", "keyset"]);
|
|
605
|
-
const binding =
|
|
606
|
+
const binding = parseRouterAbEd25519YaoActivationBindingV1(record.binding);
|
|
606
607
|
const keyset = parseKeyset(record.keyset);
|
|
607
608
|
switch (binding.operation) {
|
|
608
609
|
case "registration": return {
|
|
@@ -622,7 +623,7 @@ function parseActivationExecuteRequestValue(value) {
|
|
|
622
623
|
"deriver_a_input",
|
|
623
624
|
"deriver_b_input"
|
|
624
625
|
]);
|
|
625
|
-
const binding =
|
|
626
|
+
const binding = parseRouterAbEd25519YaoActivationBindingV1(record.binding);
|
|
626
627
|
const deriverAInput = requireActivationInput(binding, parseEncryptedInput(record.deriver_a_input, "deriver_a_input"), "deriver_a", "deriver_a_input");
|
|
627
628
|
const deriverBInput = requireActivationInput(binding, parseEncryptedInput(record.deriver_b_input, "deriver_b_input"), "deriver_b", "deriver_b_input");
|
|
628
629
|
if (binding.operation === "registration") {
|
|
@@ -648,7 +649,7 @@ function parseActivationResultValue(value) {
|
|
|
648
649
|
"deriver_b_client_package",
|
|
649
650
|
"public_receipt"
|
|
650
651
|
]);
|
|
651
|
-
const binding =
|
|
652
|
+
const binding = parseRouterAbEd25519YaoActivationBindingV1(record.binding);
|
|
652
653
|
const receipt = parseRouterAbEd25519YaoActivationPublicReceiptV1(record.public_receipt);
|
|
653
654
|
if (!sameRouterAbMpcMaterialActivationRef(binding.material_activation, receipt.material_activation)) throw new Error("activation result receipt material does not match the admitted binding");
|
|
654
655
|
const packageA = parseEncryptedPackage(record.deriver_a_client_package, "deriver_a_client_package");
|
|
@@ -671,7 +672,7 @@ function parseActivationResultValue(value) {
|
|
|
671
672
|
}
|
|
672
673
|
}
|
|
673
674
|
function requireRecoveryBinding(value) {
|
|
674
|
-
const binding =
|
|
675
|
+
const binding = parseRouterAbEd25519YaoActivationBindingV1(value);
|
|
675
676
|
switch (binding.operation) {
|
|
676
677
|
case "registration": throw new Error("recovery activation requires a recovery binding");
|
|
677
678
|
case "recovery": return binding;
|
|
@@ -819,6 +820,6 @@ function parseEncryptedPackageValue(value) {
|
|
|
819
820
|
return parseEncryptedPackage(value, "encrypted_package");
|
|
820
821
|
}
|
|
821
822
|
//#endregion
|
|
822
|
-
export { ROUTER_AB_ED25519_YAO_EMAIL_OTP_RECOVERY_BOOTSTRAP_KIND_V1, ROUTER_AB_ED25519_YAO_EXPORT_ADMISSION_PATH_V1, ROUTER_AB_ED25519_YAO_EXPORT_EXECUTE_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_ACTIVATE_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_ADMISSION_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_CHALLENGE_ID_HEADER_V1, ROUTER_AB_ED25519_YAO_RECOVERY_EXECUTE_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_STATUS_PATH_V1, ROUTER_AB_ED25519_YAO_REGISTRATION_ADMISSION_PATH_V1, ROUTER_AB_ED25519_YAO_REGISTRATION_EXECUTE_PATH_V1, ROUTER_AB_ED25519_YAO_WARM_RECOVERY_BOOTSTRAP_PATH_V1, parseRouterAbEd25519YaoActivationKeysetV1, parseRouterAbEd25519YaoActivationPublicReceiptV1, parseRouterAbEd25519YaoActivationResultV1, parseRouterAbEd25519YaoApplicationBindingFactsV1, parseRouterAbEd25519YaoCeremonyBindingV1, parseRouterAbEd25519YaoEncryptedPackageV1, parseRouterAbEd25519YaoExportAdmissionReceiptV1, parseRouterAbEd25519YaoExportAdmissionRequestV1, parseRouterAbEd25519YaoExportExecuteRequestV1, parseRouterAbEd25519YaoExportResultV1, parseRouterAbEd25519YaoParticipantIdsV1, parseRouterAbEd25519YaoRecoveryActivationAdmissionReceiptV1, parseRouterAbEd25519YaoRecoveryActivationExecuteRequestV1, parseRouterAbEd25519YaoRecoveryActivationReceiptV1, parseRouterAbEd25519YaoRecoveryActivationRequestV1, parseRouterAbEd25519YaoRecoveryActivationResultV1, parseRouterAbEd25519YaoRecoveryAdmissionRequestV1, parseRouterAbEd25519YaoRecoveryStatusRequestV1, parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1, parseRouterAbEd25519YaoRegistrationActivationExecuteRequestV1, parseRouterAbEd25519YaoRegistrationActivationResultV1, parseRouterAbEd25519YaoRegistrationAdmissionRequestV1, parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1, sameRouterAbEd25519YaoActivationBindingV1, sameRouterAbEd25519YaoActivationPublicReceiptV1, sameRouterAbEd25519YaoByteSequence, sameRouterAbEd25519YaoRecoveryAdmissionRequestV1, sameRouterAbEd25519YaoRegistrationAdmissionRequestV1 };
|
|
823
|
+
export { ROUTER_AB_ED25519_YAO_EMAIL_OTP_RECOVERY_BOOTSTRAP_KIND_V1, ROUTER_AB_ED25519_YAO_EXPORT_ADMISSION_PATH_V1, ROUTER_AB_ED25519_YAO_EXPORT_EXECUTE_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_ACTIVATE_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_ADMISSION_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_CHALLENGE_ID_HEADER_V1, ROUTER_AB_ED25519_YAO_RECOVERY_EXECUTE_PATH_V1, ROUTER_AB_ED25519_YAO_RECOVERY_STATUS_PATH_V1, ROUTER_AB_ED25519_YAO_REGISTRATION_ADMISSION_PATH_V1, ROUTER_AB_ED25519_YAO_REGISTRATION_EXECUTE_PATH_V1, ROUTER_AB_ED25519_YAO_WARM_RECOVERY_BOOTSTRAP_PATH_V1, parseRouterAbEd25519YaoActivationBindingV1, parseRouterAbEd25519YaoActivationKeysetV1, parseRouterAbEd25519YaoActivationPublicReceiptV1, parseRouterAbEd25519YaoActivationResultV1, parseRouterAbEd25519YaoApplicationBindingFactsV1, parseRouterAbEd25519YaoCeremonyBindingV1, parseRouterAbEd25519YaoEncryptedPackageV1, parseRouterAbEd25519YaoExportAdmissionReceiptV1, parseRouterAbEd25519YaoExportAdmissionRequestV1, parseRouterAbEd25519YaoExportExecuteRequestV1, parseRouterAbEd25519YaoExportResultV1, parseRouterAbEd25519YaoParticipantIdsV1, parseRouterAbEd25519YaoRecoveryActivationAdmissionReceiptV1, parseRouterAbEd25519YaoRecoveryActivationExecuteRequestV1, parseRouterAbEd25519YaoRecoveryActivationReceiptV1, parseRouterAbEd25519YaoRecoveryActivationRequestV1, parseRouterAbEd25519YaoRecoveryActivationResultV1, parseRouterAbEd25519YaoRecoveryAdmissionRequestV1, parseRouterAbEd25519YaoRecoveryStatusRequestV1, parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1, parseRouterAbEd25519YaoRegistrationActivationExecuteRequestV1, parseRouterAbEd25519YaoRegistrationActivationResultV1, parseRouterAbEd25519YaoRegistrationAdmissionRequestV1, parseRouterAbEd25519YaoWarmRecoveryBootstrapRequestV1, sameRouterAbEd25519YaoActivationBindingV1, sameRouterAbEd25519YaoActivationPublicReceiptV1, sameRouterAbEd25519YaoByteSequence, sameRouterAbEd25519YaoRecoveryAdmissionRequestV1, sameRouterAbEd25519YaoRegistrationAdmissionRequestV1 };
|
|
823
824
|
|
|
824
825
|
//# sourceMappingURL=routerAbEd25519Yao.js.map
|
|
@@ -35,6 +35,10 @@ function createCloudflareTenantStorageRoute(input) {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
var StaticCloudflareTenantStorageRouteResolver = class {
|
|
38
|
+
routeVersion;
|
|
39
|
+
topology;
|
|
40
|
+
jurisdiction;
|
|
41
|
+
signerTarget;
|
|
38
42
|
constructor(input) {
|
|
39
43
|
this.routeVersion = normalizeRouteVersion(input.routeVersion);
|
|
40
44
|
this.topology = input.topology;
|
|
@@ -112,10 +112,10 @@ async function deriveAcceptedKeyHandles(input) {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
var SigningSessionSealKeyHandles = class {
|
|
115
|
+
initialization = null;
|
|
115
116
|
constructor(config, runtime) {
|
|
116
117
|
this.config = config;
|
|
117
118
|
this.runtime = runtime;
|
|
118
|
-
this.initialization = null;
|
|
119
119
|
}
|
|
120
120
|
get() {
|
|
121
121
|
if (!this.initialization) this.initialization = deriveAcceptedKeyHandles({
|
|
@@ -35,7 +35,7 @@ async function initializeNodeRuntime() {
|
|
|
35
35
|
const { readFile } = await import("node:fs/promises");
|
|
36
36
|
for (const url of wasmUrls()) try {
|
|
37
37
|
const bytes = await readFile(fileURLToPath(url));
|
|
38
|
-
await initializeCompiledModule(await WebAssembly.compile(bytes));
|
|
38
|
+
await initializeCompiledModule(await WebAssembly.compile(new Uint8Array(bytes)));
|
|
39
39
|
return;
|
|
40
40
|
} catch {}
|
|
41
41
|
throw new Error("[shamir3pass] Failed to initialize WASM from filesystem candidates");
|
|
@@ -15,8 +15,9 @@ function composeSigningSessionSealGuards(...guards) {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
var InMemorySigningSessionSealRateLimiter = class {
|
|
18
|
+
maxEntries;
|
|
19
|
+
buckets = /* @__PURE__ */ new Map();
|
|
18
20
|
constructor(options = {}) {
|
|
19
|
-
this.buckets = /* @__PURE__ */ new Map();
|
|
20
21
|
const configuredMaxEntries = Number(options.maxEntries);
|
|
21
22
|
this.maxEntries = Number.isFinite(configuredMaxEntries) && configuredMaxEntries > 0 ? Math.floor(configuredMaxEntries) : 1e4;
|
|
22
23
|
}
|
|
@@ -18,6 +18,9 @@ function ttlMsUntilExpiry(expiresAtMs, nowMs) {
|
|
|
18
18
|
return ttlMs > 0 ? ttlMs : 0;
|
|
19
19
|
}
|
|
20
20
|
var UpstashSigningSessionSealIdempotencyStore = class {
|
|
21
|
+
client;
|
|
22
|
+
keyPrefix;
|
|
23
|
+
nowMs;
|
|
21
24
|
constructor(options) {
|
|
22
25
|
this.client = new UpstashRedisRestClient({
|
|
23
26
|
url: options.url,
|
|
@@ -11,26 +11,26 @@ export type AuthorizationParseResult<T> = {
|
|
|
11
11
|
readonly error: AuthorizationParseError;
|
|
12
12
|
};
|
|
13
13
|
export declare const CAPABILITY_KINDS: {
|
|
14
|
-
readonly vaultAccess:
|
|
15
|
-
readonly nearEd25519MpcSigning:
|
|
16
|
-
readonly evmEcdsaMpcSigning:
|
|
14
|
+
readonly vaultAccess: 'vault_access';
|
|
15
|
+
readonly nearEd25519MpcSigning: 'near_ed25519_mpc_signing';
|
|
16
|
+
readonly evmEcdsaMpcSigning: 'evm_ecdsa_mpc_signing';
|
|
17
17
|
};
|
|
18
18
|
type CapabilityKind = (typeof CAPABILITY_KINDS)[keyof typeof CAPABILITY_KINDS];
|
|
19
19
|
export declare const VAULT_OPERATION_KINDS: {
|
|
20
|
-
readonly proxyUse:
|
|
21
|
-
readonly reveal:
|
|
20
|
+
readonly proxyUse: 'vault.proxy_use';
|
|
21
|
+
readonly reveal: 'vault.reveal';
|
|
22
22
|
};
|
|
23
23
|
type VaultOperationKind = (typeof VAULT_OPERATION_KINDS)[keyof typeof VAULT_OPERATION_KINDS];
|
|
24
24
|
export declare const NEAR_ED25519_MPC_OPERATION_KINDS: {
|
|
25
|
-
readonly signTransaction:
|
|
26
|
-
readonly signDelegateAction:
|
|
27
|
-
readonly signNep413Message:
|
|
28
|
-
readonly exportKey:
|
|
25
|
+
readonly signTransaction: 'near.sign_transaction';
|
|
26
|
+
readonly signDelegateAction: 'near.sign_delegate_action';
|
|
27
|
+
readonly signNep413Message: 'near.sign_nep413_message';
|
|
28
|
+
readonly exportKey: 'near.export_key';
|
|
29
29
|
};
|
|
30
30
|
export type NearEd25519MpcOperationKind = (typeof NEAR_ED25519_MPC_OPERATION_KINDS)[keyof typeof NEAR_ED25519_MPC_OPERATION_KINDS];
|
|
31
31
|
export declare const EVM_ECDSA_MPC_OPERATION_KINDS: {
|
|
32
|
-
readonly signTransaction:
|
|
33
|
-
readonly exportKey:
|
|
32
|
+
readonly signTransaction: 'evm.sign_transaction';
|
|
33
|
+
readonly exportKey: 'evm.export_key';
|
|
34
34
|
};
|
|
35
35
|
export type EvmEcdsaMpcOperationKind = (typeof EVM_ECDSA_MPC_OPERATION_KINDS)[keyof typeof EVM_ECDSA_MPC_OPERATION_KINDS];
|
|
36
36
|
type CapabilityOperationKindByCapability = {
|
|
@@ -45,9 +45,9 @@ export type CapabilityOperationRef = {
|
|
|
45
45
|
};
|
|
46
46
|
}[CapabilityKind];
|
|
47
47
|
export declare const AUTHORIZATION_EVIDENCE_KINDS: {
|
|
48
|
-
readonly seamsSession:
|
|
49
|
-
readonly passkeyAssertion:
|
|
50
|
-
readonly emailOtp:
|
|
48
|
+
readonly seamsSession: 'seams_session';
|
|
49
|
+
readonly passkeyAssertion: 'passkey_assertion';
|
|
50
|
+
readonly emailOtp: 'email_otp';
|
|
51
51
|
};
|
|
52
52
|
type SessionAuthorizationEvidenceKind = typeof AUTHORIZATION_EVIDENCE_KINDS.seamsSession;
|
|
53
53
|
type InteractiveAuthorizationEvidenceKind = typeof AUTHORIZATION_EVIDENCE_KINDS.passkeyAssertion | typeof AUTHORIZATION_EVIDENCE_KINDS.emailOtp;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AuthorizationParseResult } from './capabilityKinds';
|
|
2
2
|
export type DelegatedWalletPermissionV1 = (typeof DELEGATED_WALLET_PERMISSION_VALUES)[number];
|
|
3
|
-
declare const DELEGATED_WALLET_PERMISSION_VALUES: readonly [
|
|
3
|
+
declare const DELEGATED_WALLET_PERMISSION_VALUES: readonly ['export_keys', 'link_devices', 'revoke_devices', 'sign'];
|
|
4
4
|
type CanonicalPermissionTuple = readonly [
|
|
5
5
|
DelegatedWalletPermissionV1,
|
|
6
6
|
...DelegatedWalletPermissionV1[]
|
|
@@ -9,7 +9,7 @@ import { type LinkedDeviceEnrollmentId, type LinkedDeviceId, type LinkDeviceSess
|
|
|
9
9
|
import { type WalletId } from '../utils/domainIds';
|
|
10
10
|
import type { LinkedDeviceTargetFactorV1 } from './contracts';
|
|
11
11
|
/** Frozen by signer-core's Ed25519 Yao Client-root transfer module. */
|
|
12
|
-
export declare const LINKED_DEVICE_ED25519_EXPORT_ROOT_TRANSFER_ALG_V1:
|
|
12
|
+
export declare const LINKED_DEVICE_ED25519_EXPORT_ROOT_TRANSFER_ALG_V1: 'x25519-hkdf-sha256-chacha20poly1305-v1';
|
|
13
13
|
/** One-use X25519 public key generated and retained by Device 2's worker. */
|
|
14
14
|
type LinkedDeviceEd25519ExportRootRecipientPublicKeyB64u = string & {
|
|
15
15
|
readonly __linkedDeviceEd25519ExportRootRecipientPublicKeyB64uBrand: 'LinkedDeviceEd25519ExportRootRecipientPublicKeyB64u';
|
|
@@ -19,7 +19,7 @@ export type LinkedDeviceRequestProofV1 = {
|
|
|
19
19
|
readonly expiresAtMs: number;
|
|
20
20
|
readonly signatureB64u: string;
|
|
21
21
|
};
|
|
22
|
-
export declare function encodeLinkedDeviceRequestProofV1(proof: LinkedDeviceRequestProofV1): Uint8Array
|
|
22
|
+
export declare function encodeLinkedDeviceRequestProofV1(proof: LinkedDeviceRequestProofV1): Uint8Array<ArrayBuffer>;
|
|
23
23
|
export declare function computeLinkedDeviceRequestProofDigestV1(proof: LinkedDeviceRequestProofV1): Promise<DigestB64u>;
|
|
24
24
|
export declare function computeLinkedDevicePublicKeyDigestV1(publicKeyB64u: LinkDevicePublicKeyB64u | string): Promise<DigestB64u>;
|
|
25
25
|
//# sourceMappingURL=requestProof.d.ts.map
|
|
@@ -3,11 +3,11 @@ import { type LinkedDeviceEnrollmentId, type LinkDeviceSessionId, type WalletKey
|
|
|
3
3
|
import { type MpcMaterialActivationRef, type WalletAuthorityId } from '../utils/domainIds';
|
|
4
4
|
import { type DigestB64u } from '../utils/canonicalPrimitives';
|
|
5
5
|
import { type Ed25519PublicKeyB64u, type Secp256k1CompressedPublicKeyB64u } from '../passkey-custody/primitives';
|
|
6
|
-
import { type
|
|
6
|
+
import { type RouterAbEd25519YaoActivationBindingV1, type RouterAbEd25519YaoActivationAdmissionReceiptV1, type RouterAbEd25519YaoActivationPublicReceiptV1, type RouterAbEd25519YaoApplicationBindingFactsV1, type RouterAbEd25519YaoActivationClientPackageV1 } from '../utils/routerAbEd25519Yao';
|
|
7
7
|
import { type EcdsaThresholdKeyId } from '../threshold/ecdsaDerivationRoleLocalBootstrap';
|
|
8
8
|
import { type RouterAbEcdsaDerivationNormalSigningStateV1 } from '../utils/routerAbEcdsaDerivation';
|
|
9
9
|
/** Exact discriminator accepted by the ECDSA source-contribution core. */
|
|
10
|
-
declare const LINKED_DEVICE_ECDSA_SOURCE_CONTRIBUTION_ENVELOPE_KIND_V1:
|
|
10
|
+
declare const LINKED_DEVICE_ECDSA_SOURCE_CONTRIBUTION_ENVELOPE_KIND_V1: 'seams/linked-device/ecdsa-source-contribution-envelope/v1';
|
|
11
11
|
/** Source derivation facts required by the Cloudflare ECDSA reservation wire. */
|
|
12
12
|
export type LinkedDeviceEcdsaSourceDerivationV1 = {
|
|
13
13
|
readonly applicationBindingDigestB64u: DigestB64u;
|
|
@@ -50,7 +50,7 @@ export type LinkedDeviceEd25519SourceContributionPreparationV1 = {
|
|
|
50
50
|
readonly walletKeyId: WalletKeyId;
|
|
51
51
|
readonly targetDeviceId: DeviceId;
|
|
52
52
|
readonly targetFactorVerificationDigestB64u: DigestB64u;
|
|
53
|
-
readonly sourceBinding:
|
|
53
|
+
readonly sourceBinding: RouterAbEd25519YaoActivationBindingV1;
|
|
54
54
|
readonly targetAdmission: RouterAbEd25519YaoActivationAdmissionReceiptV1<'registration'>;
|
|
55
55
|
readonly applicationBinding: RouterAbEd25519YaoApplicationBindingFactsV1;
|
|
56
56
|
readonly sourceRevocationEpoch: number;
|
|
@@ -120,10 +120,10 @@ export type LinkedDeviceEd25519SourceContributionV1 = {
|
|
|
120
120
|
readonly targetClientRecipientPublicKeyB64u: string;
|
|
121
121
|
readonly targetSigningWorkerRecipientPublicKeyB64u: string;
|
|
122
122
|
readonly sourceRegisteredPublicKeyB64u: Ed25519PublicKeyB64u;
|
|
123
|
-
readonly sourceBinding:
|
|
123
|
+
readonly sourceBinding: RouterAbEd25519YaoActivationBindingV1;
|
|
124
124
|
/** Exact inactive reservation returned by Router source-preserving execution. */
|
|
125
125
|
readonly reservationId: string;
|
|
126
|
-
readonly targetBinding:
|
|
126
|
+
readonly targetBinding: RouterAbEd25519YaoActivationBindingV1<'registration'>;
|
|
127
127
|
readonly activationReceipt: RouterAbEd25519YaoActivationPublicReceiptV1;
|
|
128
128
|
readonly participantIds: readonly [number, number];
|
|
129
129
|
readonly deriver_a_client_package: RouterAbEd25519YaoActivationClientPackageV1<'deriver_a'>;
|
|
@@ -3,9 +3,9 @@ import type { DigestB64u } from '../utils/canonicalPrimitives';
|
|
|
3
3
|
import type { PasskeyCustodySecretBinding } from './custodySecretBinding';
|
|
4
4
|
import type { EnvelopeCiphertextB64u, EnvelopeNonceB64u, EnvelopeRevision } from './primitives';
|
|
5
5
|
import type { ExclusiveUnion } from '../utils/variant';
|
|
6
|
-
export declare const WALLET_CUSTODY_ENVELOPE_VERSION_V2:
|
|
7
|
-
declare const PASSKEY_PRF_KEK_VERSION_V1:
|
|
8
|
-
declare const EMAIL_OTP_FACTOR_KEK_VERSION_V1:
|
|
6
|
+
export declare const WALLET_CUSTODY_ENVELOPE_VERSION_V2: 'wallet_custody_envelope_v2';
|
|
7
|
+
declare const PASSKEY_PRF_KEK_VERSION_V1: 'passkey_prf_kek_hkdf_sha256_v1';
|
|
8
|
+
declare const EMAIL_OTP_FACTOR_KEK_VERSION_V1: 'email_otp_factor_kek_hkdf_sha256_v1';
|
|
9
9
|
type WalletCustodyEnvelopeVersion = typeof WALLET_CUSTODY_ENVELOPE_VERSION_V2;
|
|
10
10
|
type PasskeyPrfKekVersion = typeof PASSKEY_PRF_KEK_VERSION_V1;
|
|
11
11
|
type EmailOtpFactorKekVersion = typeof EMAIL_OTP_FACTOR_KEK_VERSION_V1;
|
|
@@ -14,7 +14,7 @@ import type { Ed25519PublicKeyB64u, Secp256k1CompressedPublicKeyB64u } from './p
|
|
|
14
14
|
*/
|
|
15
15
|
export type PasskeyCustodySecretKind = 'wallet_custody_seed_v1' | 'ed25519_yao_client_root_v1' | 'ed25519_lane_holder_share_v1' | 'ecdsa_lane_holder_share_v1';
|
|
16
16
|
/** The only derivation scheme owner custody supports. */
|
|
17
|
-
declare const WALLET_SEED_DERIVATION_SCHEME_V1:
|
|
17
|
+
declare const WALLET_SEED_DERIVATION_SCHEME_V1: 'wallet_seed_parallel_hkdf_sha256_v1';
|
|
18
18
|
type WalletSeedDerivationScheme = typeof WALLET_SEED_DERIVATION_SCHEME_V1;
|
|
19
19
|
export type PasskeyCustodySecretBinding = {
|
|
20
20
|
/**
|
|
@@ -67,6 +67,6 @@ export declare function buildTenantRootIdentityFromAuthenticatedDeploymentV1(inp
|
|
|
67
67
|
/** Decodes the exact private wire/persistence representation of the identity. */
|
|
68
68
|
export declare function decodeTenantRootIdentityWireV1(value: unknown): TenantRootIdentityDecodeResultV1<TenantRootIdentityV1>;
|
|
69
69
|
/** Encodes the exact Rust-compatible canonical identity bytes. */
|
|
70
|
-
export declare function encodeTenantRootIdentityV1(identity: TenantRootIdentityV1): Uint8Array
|
|
70
|
+
export declare function encodeTenantRootIdentityV1(identity: TenantRootIdentityV1): Uint8Array<ArrayBuffer>;
|
|
71
71
|
export {};
|
|
72
72
|
//# sourceMappingURL=tenantRootIdentity.d.ts.map
|
|
@@ -18,7 +18,7 @@ export type TenantRootOperationSubjectV1 = {
|
|
|
18
18
|
};
|
|
19
19
|
/** The single Deriver role a role-local operation acts on. */
|
|
20
20
|
export type TenantRootDeriverRoleV1 = 'deriver_a' | 'deriver_b';
|
|
21
|
-
export declare const TENANT_ROOT_RESTORE_ROLE_IMPORT_KEY_ISSUE_OPERATION_KIND_V1:
|
|
21
|
+
export declare const TENANT_ROOT_RESTORE_ROLE_IMPORT_KEY_ISSUE_OPERATION_KIND_V1: 'tenant_root_restore_role_import_key_issue_v1';
|
|
22
22
|
type TenantRootOperationRecordWithActiveRootV1 = {
|
|
23
23
|
readonly formatVersion: typeof TENANT_ROOT_OPERATION_RECORD_FORMAT_V1;
|
|
24
24
|
readonly operationKind: Exclude<TenantRootOperationKindV1, typeof TENANT_ROOT_RESTORE_ROLE_IMPORT_KEY_ISSUE_OPERATION_KIND_V1>;
|
|
@@ -157,7 +157,7 @@ export type TenantRootRestoreRoleImportKeyIssueOperationInputV1 = {
|
|
|
157
157
|
};
|
|
158
158
|
/** Inputs the console resolves before building a record. */
|
|
159
159
|
export type TenantRootOperationRecordInputV1 = TenantRootOperationRecordInputWithActiveRootV1 | TenantRootRestoreRoleImportKeyIssueOperationInputV1;
|
|
160
|
-
declare const TENANT_ROOT_OPERATION_KINDS_V1: readonly [
|
|
160
|
+
declare const TENANT_ROOT_OPERATION_KINDS_V1: readonly ['tenant_root_operational_share_rotation_v1', 'tenant_root_recovery_governance_change_v1', 'tenant_root_recovery_recipient_pair_enroll_v1', 'tenant_root_recovery_recipient_pair_replace_v1', 'tenant_root_recovery_backup_create_v1', 'tenant_root_recovery_backup_replace_v1', 'tenant_root_recovery_role_package_download_v1', 'tenant_root_recovery_manifest_download_v1', 'tenant_root_restore_session_start_v1', 'tenant_root_restore_manifest_register_v1', 'tenant_root_restore_role_import_key_issue_v1', 'tenant_root_restore_role_import_v1', 'tenant_root_restore_activate_v1', 'tenant_root_source_lineage_retire_v1'];
|
|
161
161
|
/** Returns the four operations that follow the tenant's recovery governance. */
|
|
162
162
|
export declare function tenantRootOperationFollowsGovernanceV1(kind: TenantRootOperationKindV1): boolean;
|
|
163
163
|
/** Returns the maximum authorization lifetime for one operation. */
|
|
@@ -17,7 +17,7 @@ export declare const base64Encode: (value: ArrayBufferLike | ArrayBufferView) =>
|
|
|
17
17
|
* @returns Uint8Array containing the decoded bytes
|
|
18
18
|
* @throws Error if decoding fails due to invalid base64 input
|
|
19
19
|
*/
|
|
20
|
-
export declare function base64Decode(base64: string): Uint8Array
|
|
20
|
+
export declare function base64Decode(base64: string): Uint8Array<ArrayBuffer>;
|
|
21
21
|
/**
|
|
22
22
|
* Encodes an ArrayBuffer into a base64url string.
|
|
23
23
|
* Converts binary data to base64 then replaces standard base64 characters with URL-safe ones:
|
|
@@ -40,7 +40,7 @@ export declare const base64UrlEncode: (value: ArrayBufferLike | ArrayBufferView)
|
|
|
40
40
|
* @returns Uint8Array containing the decoded bytes
|
|
41
41
|
* @throws Error if decoding fails due to invalid base64url input
|
|
42
42
|
*/
|
|
43
|
-
export declare function base64UrlDecode(base64Url: string): Uint8Array
|
|
43
|
+
export declare function base64UrlDecode(base64Url: string): Uint8Array<ArrayBuffer>;
|
|
44
44
|
/**
|
|
45
45
|
* Converts an ArrayBuffer or ArrayBufferLike object to a plain number array for WASM compatibility.
|
|
46
46
|
* WASM bindings require plain number arrays rather than TypedArrays for memory safety and direct access.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DigestB64u } from './canonicalPrimitives';
|
|
2
|
-
export declare function concat(parts: readonly Uint8Array[]): Uint8Array
|
|
2
|
+
export declare function concat(parts: readonly Uint8Array[]): Uint8Array<ArrayBuffer>;
|
|
3
3
|
export declare function u32(value: number, label: string): Uint8Array;
|
|
4
4
|
export declare function u64(value: number, label: string): Uint8Array;
|
|
5
5
|
export declare function lp32(value: Uint8Array, label: string): Uint8Array;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare function alphabetizeStringify(input: unknown): string;
|
|
2
|
-
export declare function sha256BytesUtf8(input: string): Promise<Uint8Array
|
|
3
|
-
export declare function sha256Bytes(input: Uint8Array): Promise<Uint8Array
|
|
2
|
+
export declare function sha256BytesUtf8(input: string): Promise<Uint8Array<ArrayBuffer>>;
|
|
3
|
+
export declare function sha256Bytes(input: Uint8Array): Promise<Uint8Array<ArrayBuffer>>;
|
|
4
4
|
export declare function bytesToUnprefixedHex(bytes: Uint8Array): string;
|
|
5
5
|
export declare function sha256HexUtf8(input: string): Promise<string>;
|
|
6
6
|
//# sourceMappingURL=digests.d.ts.map
|