@interop/wallet-core 0.66.0 → 0.68.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 +12 -8
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +6 -10
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +34 -56
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +46 -29
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +111 -86
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +7 -16
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +13 -24
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +33 -129
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +43 -182
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +26 -12
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +60 -57
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +75 -18
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +79 -147
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +8 -8
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +5 -5
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladder.d.ts +51 -4
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +283 -47
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +62 -73
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +103 -117
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +123 -125
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +174 -233
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +0 -4
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +50 -51
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +25 -13
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +80 -303
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -5
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +18 -9
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +6 -10
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +13 -18
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/clientAnnex/zcap.d.ts +19 -0
- package/dist/clientAnnex/zcap.d.ts.map +1 -1
- package/dist/clientAnnex/zcap.js +80 -12
- package/dist/clientAnnex/zcap.js.map +1 -1
- package/dist/clients/index.d.ts +3 -2
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -2
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +33 -15
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/policy.d.ts +18 -0
- package/dist/clients/policy.d.ts.map +1 -1
- package/dist/clients/policy.js +22 -8
- package/dist/clients/policy.js.map +1 -1
- package/dist/clients/revocation.d.ts +18 -30
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js +12 -27
- package/dist/clients/revocation.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts +6 -1
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +27 -30
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/errors.d.ts +6 -5
- package/dist/descriptors/errors.d.ts.map +1 -1
- package/dist/descriptors/errors.js +6 -5
- package/dist/descriptors/errors.js.map +1 -1
- package/dist/descriptors/index.d.ts +7 -3
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +7 -3
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +28 -6
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +33 -7
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +3 -7
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +11 -16
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +43 -47
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/genesis/kmsAuthentication.d.ts +50 -0
- package/dist/genesis/kmsAuthentication.d.ts.map +1 -0
- package/dist/genesis/kmsAuthentication.js +49 -0
- package/dist/genesis/kmsAuthentication.js.map +1 -0
- package/dist/keyring/kdf.d.ts +16 -20
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +2 -2
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keyring/unlockSpace.d.ts +8 -30
- package/dist/keyring/unlockSpace.d.ts.map +1 -1
- package/dist/keyring/unlockSpace.js +8 -31
- package/dist/keyring/unlockSpace.js.map +1 -1
- package/dist/keys/clientKeyRecord.d.ts +2 -1
- package/dist/keys/clientKeyRecord.d.ts.map +1 -1
- package/dist/keys/clientKeyRecord.js +28 -11
- package/dist/keys/clientKeyRecord.js.map +1 -1
- package/dist/keys/index.d.ts +6 -2
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +5 -1
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +14 -5
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +92 -3
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +110 -4
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +30 -3
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +90 -15
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +5 -1
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/recovery/continuation.d.ts +250 -0
- package/dist/recovery/continuation.d.ts.map +1 -0
- package/dist/recovery/continuation.js +467 -0
- package/dist/recovery/continuation.js.map +1 -0
- package/dist/recovery/index.d.ts +12 -8
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/index.js +11 -7
- package/dist/recovery/index.js.map +1 -1
- package/dist/recovery/recoveryDelegation.d.ts +23 -126
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +1 -266
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +52 -107
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +54 -403
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/request/classify.d.ts +3 -14
- package/dist/request/classify.d.ts.map +1 -1
- package/dist/request/classify.js +19 -40
- package/dist/request/classify.js.map +1 -1
- package/dist/request/index.d.ts +1 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +1 -0
- package/dist/request/index.js.map +1 -1
- package/dist/request/onboarding.d.ts.map +1 -1
- package/dist/request/onboarding.js +19 -27
- package/dist/request/onboarding.js.map +1 -1
- package/dist/request/parse.d.ts +5 -3
- package/dist/request/parse.d.ts.map +1 -1
- package/dist/request/parse.js +7 -6
- package/dist/request/parse.js.map +1 -1
- package/dist/request/processRequest.d.ts.map +1 -1
- package/dist/request/processRequest.js +2 -1
- package/dist/request/processRequest.js.map +1 -1
- package/dist/request/queryPredicates.d.ts +98 -0
- package/dist/request/queryPredicates.d.ts.map +1 -0
- package/dist/request/queryPredicates.js +107 -0
- package/dist/request/queryPredicates.js.map +1 -0
- package/dist/resourceLog/document.d.ts +39 -0
- package/dist/resourceLog/document.d.ts.map +1 -1
- package/dist/resourceLog/document.js +41 -0
- package/dist/resourceLog/document.js.map +1 -1
- package/dist/resourceLog/index.d.ts +2 -2
- package/dist/resourceLog/index.js +2 -2
- package/dist/resourceLog/ladderRungs.d.ts.map +1 -1
- package/dist/resourceLog/ladderRungs.js +3 -2
- package/dist/resourceLog/ladderRungs.js.map +1 -1
- package/dist/sync/contactsConflict.d.ts.map +1 -1
- package/dist/sync/contactsConflict.js +8 -2
- package/dist/sync/contactsConflict.js.map +1 -1
- package/dist/sync/engine.d.ts +38 -23
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js +36 -5
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -12
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -11
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +1 -2
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/remint.d.ts +0 -31
- package/dist/sync/remint.d.ts.map +1 -1
- package/dist/sync/remint.js +32 -1
- package/dist/sync/remint.js.map +1 -1
- package/dist/sync/types.d.ts +4 -41
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +4 -47
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/index.d.ts +1 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js +1 -1
- package/dist/unlock/index.js.map +1 -1
- package/dist/unlock/retire.d.ts +16 -64
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +7 -86
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +27 -61
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +40 -92
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/unlock/unlockRecord.d.ts.map +1 -1
- package/dist/unlock/unlockRecord.js +69 -44
- package/dist/unlock/unlockRecord.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +68 -19
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +117 -37
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +24 -13
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +40 -11
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +91 -86
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +117 -142
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts +2 -8
- package/dist/webvh/enrollClient.d.ts.map +1 -1
- package/dist/webvh/enrollClient.js +22 -31
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +12 -8
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +10 -7
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +102 -65
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/mergeMethods.d.ts +84 -0
- package/dist/webvh/mergeMethods.d.ts.map +1 -0
- package/dist/webvh/mergeMethods.js +46 -0
- package/dist/webvh/mergeMethods.js.map +1 -0
- package/dist/webvh/revokeClient.d.ts +15 -11
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +130 -57
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +45 -4
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +62 -21
- package/dist/webvh/verifyLog.js.map +1 -1
- package/dist/webvh/wasIdStore.d.ts +16 -3
- package/dist/webvh/wasIdStore.d.ts.map +1 -1
- package/dist/webvh/wasIdStore.js +18 -3
- package/dist/webvh/wasIdStore.js.map +1 -1
- package/package.json +11 -11
|
@@ -3,7 +3,6 @@ import type { EncryptionDescriptorStore } from '@interop/was-client/edv';
|
|
|
3
3
|
import type { IKeyAgreementKey } from '@interop/data-integrity-core';
|
|
4
4
|
import { type ClientWebvhUpdateKeys, type ICapabilityAgent, type KmsAuthenticationBinding, type PublishedWebvhLog, type WebvhIdStore } from '../webvh/index.js';
|
|
5
5
|
import { type UserKey, type WalletSpaceEpochsResult } from '../keys/index.js';
|
|
6
|
-
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
7
6
|
import { type StageNotifier } from '../log.js';
|
|
8
7
|
/**
|
|
9
8
|
* The complete key set a brand-new account mints locally before anything
|
|
@@ -134,17 +133,15 @@ export interface AccountGenesisResult {
|
|
|
134
133
|
rosterDescriptor?: CollectionEncryption;
|
|
135
134
|
epochs?: WalletSpaceEpochsResult;
|
|
136
135
|
/**
|
|
137
|
-
* Set when the epochs stage was
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* `
|
|
143
|
-
*
|
|
136
|
+
* Set when the epochs stage was refused by `ensureWalletSpaceEpochs`'s
|
|
137
|
+
* mint gate: the adopted user-key roster's current epoch is not the
|
|
138
|
+
* `userKey` the ceremony was handed, so nothing was installed (`epochs` is
|
|
139
|
+
* then absent). The caller that recovers the roster's real key is the one
|
|
140
|
+
* installer (the credential-anchored establishment's adopted-roster arm
|
|
141
|
+
* does this). Absent, like `epochs`, when the roster stage did not land:
|
|
142
|
+
* no roster means no epochs, and a re-run installs both.
|
|
144
143
|
*/
|
|
145
|
-
epochsSkipped?:
|
|
146
|
-
rosterEpochId?: string;
|
|
147
|
-
};
|
|
144
|
+
epochsSkipped?: WalletSpaceEpochsResult['skipped'];
|
|
148
145
|
promotion?: SpaceControllerPromotion;
|
|
149
146
|
failed: Array<{
|
|
150
147
|
stage: AccountGenesisStage;
|
|
@@ -203,9 +200,8 @@ export interface AccountGenesisResult {
|
|
|
203
200
|
* the thunk mints instead of adopting
|
|
204
201
|
* @param [options.expectedDid] {string} the account's did:webvh from the
|
|
205
202
|
* caller's stored account pointer, when it already names one; the genesis
|
|
206
|
-
* read then refuses a published log resolving to any other account
|
|
207
|
-
*
|
|
208
|
-
* chain-head pin for the account log
|
|
203
|
+
* read then refuses a published log resolving to any other account. That
|
|
204
|
+
* read and the publish run under the `idStore`'s own chain-head pin
|
|
209
205
|
* @param [options.onDidPublished] {Function} `({ did }) => Promise<void>`
|
|
210
206
|
* -- runs between the DID publication and the roster genesis, so the app
|
|
211
207
|
* can adopt the DID (and drop any verified-log memo) before the roster
|
|
@@ -222,7 +218,7 @@ export interface AccountGenesisResult {
|
|
|
222
218
|
* genesis emits at the same point
|
|
223
219
|
* @returns {Promise<AccountGenesisResult>}
|
|
224
220
|
*/
|
|
225
|
-
export declare function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spaceId, keyAgent, clientKeyAgreementKey, userKey, updateKeys, idStore, rosterStoreFor, provideKmsAuthentication, expectedDid,
|
|
221
|
+
export declare function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spaceId, keyAgent, clientKeyAgreementKey, userKey, updateKeys, idStore, rosterStoreFor, provideKmsAuthentication, expectedDid, onDidPublished, promoteController, onStage }: {
|
|
226
222
|
was: WasClient;
|
|
227
223
|
wasAsClient?: WasClient;
|
|
228
224
|
wasServerUrl: string;
|
|
@@ -239,7 +235,6 @@ export declare function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, s
|
|
|
239
235
|
spaceReady: Promise<unknown>;
|
|
240
236
|
}) => Promise<KmsAuthenticationBinding | undefined>;
|
|
241
237
|
expectedDid?: string;
|
|
242
|
-
accountLogPinStore?: ResourceLogPinStore;
|
|
243
238
|
onDidPublished?: (published: {
|
|
244
239
|
did: string;
|
|
245
240
|
}) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountGenesis.d.ts","sourceRoot":"","sources":["../../src/genesis/accountGenesis.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountGenesis.d.ts","sourceRoot":"","sources":["../../src/genesis/accountGenesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,7 @@ import { base64urlnopad } from '@scure/base';
|
|
|
37
37
|
import { provisionWalletSpace, WALLET_SPACE_NAME } from '../space/index.js';
|
|
38
38
|
import { clientSigningKeyMultibase, ensureDidWebvh, mintClientWebvhUpdateKeys } from '../webvh/index.js';
|
|
39
39
|
import { ensureUserKeyRoster, ensureWalletSpaceEpochs, mintUserKey } from '../keys/index.js';
|
|
40
|
+
import { startKmsAuthentication } from './kmsAuthentication.js';
|
|
40
41
|
import { stageNotifier } from '../log.js';
|
|
41
42
|
import { KMS_AUTHENTICATION_STAGE } from '../stages.js';
|
|
42
43
|
/**
|
|
@@ -68,7 +69,7 @@ export async function mintAccountKeySet() {
|
|
|
68
69
|
spaceId: mintSpaceId(),
|
|
69
70
|
clientSeed,
|
|
70
71
|
userKey: await mintUserKey(),
|
|
71
|
-
updateKeys:
|
|
72
|
+
updateKeys: mintClientWebvhUpdateKeys()
|
|
72
73
|
};
|
|
73
74
|
}
|
|
74
75
|
/**
|
|
@@ -198,9 +199,8 @@ export class AccountGenesisSpaceError extends Error {
|
|
|
198
199
|
* the thunk mints instead of adopting
|
|
199
200
|
* @param [options.expectedDid] {string} the account's did:webvh from the
|
|
200
201
|
* caller's stored account pointer, when it already names one; the genesis
|
|
201
|
-
* read then refuses a published log resolving to any other account
|
|
202
|
-
*
|
|
203
|
-
* chain-head pin for the account log
|
|
202
|
+
* read then refuses a published log resolving to any other account. That
|
|
203
|
+
* read and the publish run under the `idStore`'s own chain-head pin
|
|
204
204
|
* @param [options.onDidPublished] {Function} `({ did }) => Promise<void>`
|
|
205
205
|
* -- runs between the DID publication and the roster genesis, so the app
|
|
206
206
|
* can adopt the DID (and drop any verified-log memo) before the roster
|
|
@@ -217,7 +217,7 @@ export class AccountGenesisSpaceError extends Error {
|
|
|
217
217
|
* genesis emits at the same point
|
|
218
218
|
* @returns {Promise<AccountGenesisResult>}
|
|
219
219
|
*/
|
|
220
|
-
export async function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spaceId, keyAgent, clientKeyAgreementKey, userKey, updateKeys, idStore, rosterStoreFor, provideKmsAuthentication, expectedDid,
|
|
220
|
+
export async function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spaceId, keyAgent, clientKeyAgreementKey, userKey, updateKeys, idStore, rosterStoreFor, provideKmsAuthentication, expectedDid, onDidPublished, promoteController = true, onStage }) {
|
|
221
221
|
const failed = [];
|
|
222
222
|
const stage = stageNotifier(onStage);
|
|
223
223
|
// 1. The Space and its collection roster, create-if-absent under this
|
|
@@ -236,24 +236,10 @@ export async function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spa
|
|
|
236
236
|
// the client-keys-only genesis rather than aborting: every later ceremony
|
|
237
237
|
// anchors in client keys, and the document simply publishes no
|
|
238
238
|
// `authentication` relation.
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
// a thunk rejecting with `undefined` is still a collected failure.
|
|
244
|
-
let kmsFailed = false;
|
|
245
|
-
let kmsFailure;
|
|
246
|
-
try {
|
|
247
|
-
kmsRun = provideKmsAuthentication?.({ spaceReady });
|
|
248
|
-
}
|
|
249
|
-
catch (err) {
|
|
250
|
-
kmsFailed = true;
|
|
251
|
-
kmsFailure = err;
|
|
252
|
-
}
|
|
253
|
-
// A Space that never came up returns below while the thunk is still in
|
|
254
|
-
// flight, so its rejection is claimed here rather than surfacing as an
|
|
255
|
-
// unhandled one.
|
|
256
|
-
kmsRun?.catch(() => { });
|
|
239
|
+
const kms = startKmsAuthentication({
|
|
240
|
+
...(provideKmsAuthentication ? { provideKmsAuthentication } : {}),
|
|
241
|
+
spaceReady
|
|
242
|
+
});
|
|
257
243
|
try {
|
|
258
244
|
await spaceReady;
|
|
259
245
|
}
|
|
@@ -262,21 +248,12 @@ export async function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spa
|
|
|
262
248
|
}
|
|
263
249
|
// The join: the genesis entry carries the KMS binding, so it waits on the
|
|
264
250
|
// whole stage even though the Space no longer does.
|
|
265
|
-
|
|
266
|
-
if (
|
|
267
|
-
|
|
268
|
-
kmsAuthentication = await kmsRun;
|
|
269
|
-
}
|
|
270
|
-
catch (err) {
|
|
271
|
-
kmsFailed = true;
|
|
272
|
-
kmsFailure = err;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
if (kmsFailed) {
|
|
276
|
-
failed.push({ stage: 'kmsAuthentication', error: kmsFailure });
|
|
251
|
+
const kmsAuthentication = await kms.join();
|
|
252
|
+
if (kmsAuthentication.failed) {
|
|
253
|
+
failed.push({ stage: 'kmsAuthentication', error: kmsAuthentication.error });
|
|
277
254
|
}
|
|
278
255
|
stage(KMS_AUTHENTICATION_STAGE);
|
|
279
|
-
const didWebKeys = kmsAuthentication?.keys;
|
|
256
|
+
const didWebKeys = kmsAuthentication.binding?.keys;
|
|
280
257
|
// 3. The did:webvh genesis -- probe, adopt, or create-and-publish. Fatal on
|
|
281
258
|
// failure: the account DID is what every remaining stage anchors in.
|
|
282
259
|
const { publicKeyMultibase: keyAgreementKeyMultibase } = clientKeyAgreementKey;
|
|
@@ -288,16 +265,15 @@ export async function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spa
|
|
|
288
265
|
wasServerUrl,
|
|
289
266
|
spaceId,
|
|
290
267
|
...(didWebKeys ? { didWebKeys } : {}),
|
|
291
|
-
...(kmsAuthentication?.etag !== undefined && {
|
|
292
|
-
keysJsonEtag: kmsAuthentication.etag
|
|
268
|
+
...(kmsAuthentication.binding?.etag !== undefined && {
|
|
269
|
+
keysJsonEtag: kmsAuthentication.binding.etag
|
|
293
270
|
}),
|
|
294
271
|
clientKeys: {
|
|
295
272
|
signingKeyMultibase: clientSigningKeyMultibase({ keyAgent }),
|
|
296
273
|
keyAgreementKeyMultibase
|
|
297
274
|
},
|
|
298
275
|
updateKeys,
|
|
299
|
-
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
300
|
-
...(accountLogPinStore ? { pinStore: accountLogPinStore } : {})
|
|
276
|
+
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
301
277
|
});
|
|
302
278
|
await onDidPublished?.({ did });
|
|
303
279
|
// 4. The user-key roster genesis, strictly after the DID publication: the
|
|
@@ -315,14 +291,33 @@ export async function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spa
|
|
|
315
291
|
failed.push({ stage: 'roster', error: err });
|
|
316
292
|
}
|
|
317
293
|
// 5. Epoch[0] on every encrypted roster collection, wrapped to the user
|
|
318
|
-
// key
|
|
319
|
-
//
|
|
294
|
+
// key -- only behind a landed roster, and through the mint gate: a re-run
|
|
295
|
+
// that adopted a roster keyed to another user key (an earlier run's, or one
|
|
296
|
+
// a sibling client has since rotated to) must not install under the key
|
|
297
|
+
// it was handed, since the install is create-if-absent and would key the
|
|
298
|
+
// collection to nothing for good. Its own per-collection failures stay
|
|
299
|
+
// inside the result (`epochs.failed`); only a fan-out that could not run at
|
|
300
|
+
// all lands here.
|
|
320
301
|
let epochs;
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
302
|
+
let epochsSkipped;
|
|
303
|
+
if (rosterDescriptor) {
|
|
304
|
+
try {
|
|
305
|
+
const fanOut = await ensureWalletSpaceEpochs({
|
|
306
|
+
was,
|
|
307
|
+
spaceId,
|
|
308
|
+
userKey,
|
|
309
|
+
rosterDescriptor
|
|
310
|
+
});
|
|
311
|
+
if (fanOut.skipped) {
|
|
312
|
+
epochsSkipped = fanOut.skipped;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
epochs = fanOut;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch (err) {
|
|
319
|
+
failed.push({ stage: 'epochs', error: err });
|
|
320
|
+
}
|
|
326
321
|
}
|
|
327
322
|
// 6. The controller promotion, last: every earlier stage ran under the
|
|
328
323
|
// signing identity the Space's stored controller authorizes. Skipped when
|
|
@@ -345,6 +340,7 @@ export async function ensureAccountGenesis({ was, wasAsClient, wasServerUrl, spa
|
|
|
345
340
|
did,
|
|
346
341
|
...(rosterDescriptor ? { rosterDescriptor } : {}),
|
|
347
342
|
...(epochs ? { epochs } : {}),
|
|
343
|
+
...(epochsSkipped ? { epochsSkipped } : {}),
|
|
348
344
|
...(promotion ? { promotion } : {}),
|
|
349
345
|
failed
|
|
350
346
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountGenesis.js","sourceRoot":"","sources":["../../src/genesis/accountGenesis.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAK5C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC3E,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,yBAAyB,EAM1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,WAAW,EAGZ,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"accountGenesis.js","sourceRoot":"","sources":["../../src/genesis/accountGenesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The optional KMS authentication stage's concurrency, shared by both account
|
|
6
|
+
* genesis flavors (the enrolled-client ceremony and the credential-anchored
|
|
7
|
+
* one). Nothing in a keystore ensure or a key mint needs the Space, so the
|
|
8
|
+
* thunk STARTS before Space provisioning is awaited and is handed that
|
|
9
|
+
* provisioning as `spaceReady`, which its own `keys.json` write orders itself
|
|
10
|
+
* behind. Both ceremonies join before the genesis entry, which carries the
|
|
11
|
+
* binding.
|
|
12
|
+
*
|
|
13
|
+
* A throw degrades to the keystore-less genesis rather than aborting: the
|
|
14
|
+
* failure is collected for the ceremony's `failed` list and the document
|
|
15
|
+
* simply publishes no `authentication` relation. The stage is marked at the
|
|
16
|
+
* join rather than inside the thunk, so a thunk that finished first cannot
|
|
17
|
+
* mark out of order.
|
|
18
|
+
*/
|
|
19
|
+
import type { KmsAuthenticationBinding } from '../webvh/index.js';
|
|
20
|
+
/**
|
|
21
|
+
* Starts the optional KMS authentication thunk and hands back its join. The
|
|
22
|
+
* thunk is started inside the same guard the join uses, so one that throws
|
|
23
|
+
* synchronously is collected like one that rejects, and its rejection is
|
|
24
|
+
* claimed immediately -- a ceremony whose Space never came up returns while
|
|
25
|
+
* the thunk is still in flight, and the rejection must not surface as an
|
|
26
|
+
* unhandled one.
|
|
27
|
+
*
|
|
28
|
+
* @param options {object}
|
|
29
|
+
* @param [options.provideKmsAuthentication] {Function} the caller's stage;
|
|
30
|
+
* absent means the keystore-less genesis
|
|
31
|
+
* @param options.spaceReady {Promise<unknown>} the Space provisioning the
|
|
32
|
+
* thunk orders its own writes behind
|
|
33
|
+
* @returns {object} `{ join }` -- awaiting the stage and reporting it: the
|
|
34
|
+
* binding when it settled, or `failed` with the collected error. The flag
|
|
35
|
+
* rather than the value decides, so a thunk rejecting with `undefined` is
|
|
36
|
+
* still a collected failure
|
|
37
|
+
*/
|
|
38
|
+
export declare function startKmsAuthentication({ provideKmsAuthentication, spaceReady }: {
|
|
39
|
+
provideKmsAuthentication?: (options: {
|
|
40
|
+
spaceReady: Promise<unknown>;
|
|
41
|
+
}) => Promise<KmsAuthenticationBinding | undefined>;
|
|
42
|
+
spaceReady: Promise<unknown>;
|
|
43
|
+
}): {
|
|
44
|
+
join: () => Promise<{
|
|
45
|
+
binding?: KmsAuthenticationBinding;
|
|
46
|
+
failed: boolean;
|
|
47
|
+
error?: unknown;
|
|
48
|
+
}>;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=kmsAuthentication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kmsAuthentication.d.ts","sourceRoot":"","sources":["../../src/genesis/kmsAuthentication.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAEjE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,wBAAwB,EACxB,UAAU,EACX,EAAE;IACD,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE;QACnC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KAC7B,KAAK,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAA;IACnD,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAC7B,GAAG;IACF,IAAI,EAAE,MAAM,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,wBAAwB,CAAA;QAClC,MAAM,EAAE,OAAO,CAAA;QACf,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB,CAAC,CAAA;CACH,CA4BA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Starts the optional KMS authentication thunk and hands back its join. The
|
|
3
|
+
* thunk is started inside the same guard the join uses, so one that throws
|
|
4
|
+
* synchronously is collected like one that rejects, and its rejection is
|
|
5
|
+
* claimed immediately -- a ceremony whose Space never came up returns while
|
|
6
|
+
* the thunk is still in flight, and the rejection must not surface as an
|
|
7
|
+
* unhandled one.
|
|
8
|
+
*
|
|
9
|
+
* @param options {object}
|
|
10
|
+
* @param [options.provideKmsAuthentication] {Function} the caller's stage;
|
|
11
|
+
* absent means the keystore-less genesis
|
|
12
|
+
* @param options.spaceReady {Promise<unknown>} the Space provisioning the
|
|
13
|
+
* thunk orders its own writes behind
|
|
14
|
+
* @returns {object} `{ join }` -- awaiting the stage and reporting it: the
|
|
15
|
+
* binding when it settled, or `failed` with the collected error. The flag
|
|
16
|
+
* rather than the value decides, so a thunk rejecting with `undefined` is
|
|
17
|
+
* still a collected failure
|
|
18
|
+
*/
|
|
19
|
+
export function startKmsAuthentication({ provideKmsAuthentication, spaceReady }) {
|
|
20
|
+
let run;
|
|
21
|
+
let failed = false;
|
|
22
|
+
let failure;
|
|
23
|
+
try {
|
|
24
|
+
run = provideKmsAuthentication?.({ spaceReady });
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
failed = true;
|
|
28
|
+
failure = err;
|
|
29
|
+
}
|
|
30
|
+
run?.catch(() => { });
|
|
31
|
+
return {
|
|
32
|
+
join: async () => {
|
|
33
|
+
let binding;
|
|
34
|
+
if (run) {
|
|
35
|
+
try {
|
|
36
|
+
binding = await run;
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
failed = true;
|
|
40
|
+
failure = err;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return failed
|
|
44
|
+
? { failed: true, error: failure }
|
|
45
|
+
: { failed: false, ...(binding ? { binding } : {}) };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=kmsAuthentication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kmsAuthentication.js","sourceRoot":"","sources":["../../src/genesis/kmsAuthentication.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,sBAAsB,CAAC,EACrC,wBAAwB,EACxB,UAAU,EAMX;IAOC,IAAI,GAA8D,CAAA;IAClE,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,OAAgB,CAAA;IACpB,IAAI,CAAC;QACH,GAAG,GAAG,wBAAwB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,IAAI,CAAA;QACb,OAAO,GAAG,GAAG,CAAA;IACf,CAAC;IACD,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAEpB,OAAO;QACL,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,OAA6C,CAAA;YACjD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC;oBACH,OAAO,GAAG,MAAM,GAAG,CAAA;gBACrB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,IAAI,CAAA;oBACb,OAAO,GAAG,GAAG,CAAA;gBACf,CAAC;YACH,CAAC;YACD,OAAO,MAAM;gBACX,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;gBAClC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;QACxD,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/keyring/kdf.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { CapabilityAgent } from '@interop/webkms-client';
|
|
2
|
+
import type { ProfileAgents } from '../identity/agents.js';
|
|
3
|
+
import type { RecordSigner } from './record.js';
|
|
2
4
|
/**
|
|
3
5
|
* The load-bearing `CapabilityAgent` derivation names for an unlock identity
|
|
4
6
|
* (the counterpart of the data identity's bootstrap names): every unlock
|
|
@@ -71,19 +73,12 @@ export declare function deriveUnlockSeed({ secret, kdf }: {
|
|
|
71
73
|
* @param options {object}
|
|
72
74
|
* @param options.secret {string | Uint8Array}
|
|
73
75
|
* @param options.kdf {UnlockKdf}
|
|
74
|
-
* @returns {Promise<
|
|
76
|
+
* @returns {Promise<UnlockIdentity>}
|
|
75
77
|
*/
|
|
76
78
|
export declare function deriveUnlockIdentity({ secret, kdf }: {
|
|
77
79
|
secret: string | Uint8Array;
|
|
78
80
|
kdf: UnlockKdf;
|
|
79
|
-
}): Promise<
|
|
80
|
-
agent: CapabilityAgent;
|
|
81
|
-
zcapClient: import("@interop/ezcap").ZcapClient;
|
|
82
|
-
keyAgreementKey: import("@interop/data-integrity-core").IKeyAgreementKey;
|
|
83
|
-
keyResolver: import("@interop/data-integrity-core").IKeyResolver;
|
|
84
|
-
recordSigner: import("./record.js").RecordSigner;
|
|
85
|
-
spaceId: string;
|
|
86
|
-
}>;
|
|
81
|
+
}): Promise<UnlockIdentity>;
|
|
87
82
|
/**
|
|
88
83
|
* Assembles the unlock identity from an already-derived 32-byte unlock seed.
|
|
89
84
|
* The seam that lets an app run the expensive stretch once per typed secret:
|
|
@@ -92,18 +87,11 @@ export declare function deriveUnlockIdentity({ secret, kdf }: {
|
|
|
92
87
|
*
|
|
93
88
|
* @param options {object}
|
|
94
89
|
* @param options.seed {Uint8Array} the method's 32-byte unlock seed
|
|
95
|
-
* @returns {Promise<
|
|
90
|
+
* @returns {Promise<UnlockIdentity>}
|
|
96
91
|
*/
|
|
97
92
|
export declare function unlockIdentityFromSeed({ seed }: {
|
|
98
93
|
seed: Uint8Array;
|
|
99
|
-
}): Promise<
|
|
100
|
-
agent: CapabilityAgent;
|
|
101
|
-
zcapClient: import("@interop/ezcap").ZcapClient;
|
|
102
|
-
keyAgreementKey: import("@interop/data-integrity-core").IKeyAgreementKey;
|
|
103
|
-
keyResolver: import("@interop/data-integrity-core").IKeyResolver;
|
|
104
|
-
recordSigner: import("./record.js").RecordSigner;
|
|
105
|
-
spaceId: string;
|
|
106
|
-
}>;
|
|
94
|
+
}): Promise<UnlockIdentity>;
|
|
107
95
|
/**
|
|
108
96
|
* The unlock Space id an unlock identity addresses: was-client's
|
|
109
97
|
* `deriveSpaceId` over the unlock did:key (`base64url(SHA-256(did))`,
|
|
@@ -120,7 +108,15 @@ export declare function unlockSpaceIdFor({ did }: {
|
|
|
120
108
|
did: string;
|
|
121
109
|
}): string;
|
|
122
110
|
/**
|
|
123
|
-
* The derived unlock identity, as `deriveUnlockIdentity` returns it.
|
|
111
|
+
* The derived unlock identity, as `deriveUnlockIdentity` returns it. Stated
|
|
112
|
+
* explicitly rather than inferred from the return: the agent set's members
|
|
113
|
+
* are named by `ProfileAgents`, so the emitted declaration references this
|
|
114
|
+
* package's own copy of those types rather than whichever copy a linked
|
|
115
|
+
* dependency happens to carry.
|
|
124
116
|
*/
|
|
125
|
-
export
|
|
117
|
+
export interface UnlockIdentity extends Pick<ProfileAgents, 'zcapClient' | 'keyAgreementKey' | 'keyResolver'> {
|
|
118
|
+
agent: CapabilityAgent;
|
|
119
|
+
recordSigner: RecordSigner;
|
|
120
|
+
spaceId: string;
|
|
121
|
+
}
|
|
126
122
|
//# sourceMappingURL=kdf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kdf.d.ts","sourceRoot":"","sources":["../../src/keyring/kdf.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"kdf.d.ts","sourceRoot":"","sources":["../../src/keyring/kdf.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAKxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,aAAa,WAAW,CAAA;AACrC,eAAO,MAAM,eAAe,eAAe,CAAA;AAQ3C;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GACjB;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,QAAQ,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,GACD;IACE,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAEL;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,SAMzB,CAAA;AAmBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,GAAG,EACJ,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3B,GAAG,EAAE,SAAS,CAAA;CACf,GAAG,OAAO,CAAC,UAAU,CAAC,CAsBtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,GAAG,EACJ,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3B,GAAG,EAAE,SAAS,CAAA;CACf,GAAG,OAAO,CAAC,cAAc,CAAC,CAG1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,IAAI,EACL,EAAE;IACD,IAAI,EAAE,UAAU,CAAA;CACjB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4B1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEjE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,aAAa,EACb,YAAY,GAAG,iBAAiB,GAAG,aAAa,CACjD;IACC,KAAK,EAAE,eAAe,CAAA;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB"}
|
package/dist/keyring/kdf.js
CHANGED
|
@@ -112,7 +112,7 @@ export async function deriveUnlockSeed({ secret, kdf }) {
|
|
|
112
112
|
* @param options {object}
|
|
113
113
|
* @param options.secret {string | Uint8Array}
|
|
114
114
|
* @param options.kdf {UnlockKdf}
|
|
115
|
-
* @returns {Promise<
|
|
115
|
+
* @returns {Promise<UnlockIdentity>}
|
|
116
116
|
*/
|
|
117
117
|
export async function deriveUnlockIdentity({ secret, kdf }) {
|
|
118
118
|
const seed = await deriveUnlockSeed({ secret, kdf });
|
|
@@ -126,7 +126,7 @@ export async function deriveUnlockIdentity({ secret, kdf }) {
|
|
|
126
126
|
*
|
|
127
127
|
* @param options {object}
|
|
128
128
|
* @param options.seed {Uint8Array} the method's 32-byte unlock seed
|
|
129
|
-
* @returns {Promise<
|
|
129
|
+
* @returns {Promise<UnlockIdentity>}
|
|
130
130
|
*/
|
|
131
131
|
export async function unlockIdentityFromSeed({ seed }) {
|
|
132
132
|
const agent = await CapabilityAgent.fromSeed({
|
package/dist/keyring/kdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kdf.js","sourceRoot":"","sources":["../../src/keyring/kdf.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"kdf.js","sourceRoot":"","sources":["../../src/keyring/kdf.ts"],"names":[],"mappings":"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"}
|
|
@@ -128,35 +128,13 @@ export declare function deleteUnlockSpace({ storageServerUrl, zcapClient, spaceI
|
|
|
128
128
|
spaceId: string;
|
|
129
129
|
}): Promise<void>;
|
|
130
130
|
/**
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
* without re-deriving the unlock identity from the (possibly lost) secret. A
|
|
139
|
-
* 404 is REPORTED rather than decided here: a caller retiring a method reads
|
|
140
|
-
* it as idempotent success, while a deletion walk records the Space as
|
|
141
|
-
* already gone. `not-found` means the server answered 404, which is absent OR
|
|
142
|
-
* unauthorized -- was-teaching-server masks a refused invocation as 404, and
|
|
143
|
-
* the two are indistinguishable on the wire -- so no caller may read the
|
|
144
|
-
* outcome as absence without its own prior discovery.
|
|
145
|
-
*
|
|
146
|
-
* @param options {object}
|
|
147
|
-
* @param options.storageServerUrl {string}
|
|
148
|
-
* @param options.zcapClient {ZcapClient} the data identity's client
|
|
149
|
-
* @param options.spaceId {string} the unlock Space id
|
|
150
|
-
* @param options.capability {IZcap} the delegated management zcap
|
|
151
|
-
* @returns {Promise<{ outcome: 'deleted' | 'not-found' }>} `not-found` when
|
|
152
|
-
* the server answered 404 (absent or unauthorized, indistinguishable)
|
|
131
|
+
* The unlock Space's name for the one capability-authorized Space DELETE
|
|
132
|
+
* ({@link deleteSpaceWithCapability}). The alias stands because an unlock
|
|
133
|
+
* Space's deletion is the one this module's callers reach for -- retiring a
|
|
134
|
+
* lost unlock method with the management zcap the unlock identity delegated
|
|
135
|
+
* to the data identity at bind time, rather than by re-deriving the unlock
|
|
136
|
+
* identity from the (possibly lost) secret -- while the request itself is
|
|
137
|
+
* the shared one, 404 outcome and all.
|
|
153
138
|
*/
|
|
154
|
-
export
|
|
155
|
-
storageServerUrl: string;
|
|
156
|
-
zcapClient: ZcapClient;
|
|
157
|
-
spaceId: string;
|
|
158
|
-
capability: IZcap;
|
|
159
|
-
}): Promise<{
|
|
160
|
-
outcome: 'deleted' | 'not-found';
|
|
161
|
-
}>;
|
|
139
|
+
export { deleteSpaceWithCapability as deleteUnlockSpaceWithCapability } from '../space/deleteSpace.js';
|
|
162
140
|
//# sourceMappingURL=unlockSpace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlockSpace.d.ts","sourceRoot":"","sources":["../../src/keyring/unlockSpace.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"unlockSpace.d.ts","sourceRoot":"","sources":["../../src/keyring/unlockSpace.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAIhD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAgIrD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,UAAU,EACV,IAAwB,EACzB,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,gBAAgB,EAChB,UAAU,EACV,OAAO,EACR,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAQ1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,MAAM,EACP,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,IAAI,CAAC,CAShB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,UAAU,EACX,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,KAAK,CAAA;CAClB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAW1B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,MAAM,EACN,UAAU,EACX,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,KAAK,CAAA;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,gBAAgB,EAChB,UAAU,EACV,OAAO,EACR,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB;AAED;;;;;;;;GAQG;AACH,OAAO,EAAE,yBAAyB,IAAI,+BAA+B,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
import { WasClient } from '@interop/was-client';
|
|
19
19
|
import { resourcePath } from '@interop/was-client/paths';
|
|
20
20
|
import { KEYRING_COLLECTION, KEYRING_RESOURCE } from '../space/collections.js';
|
|
21
|
-
import { deleteSpaceWithCapability } from '../space/deleteSpace.js';
|
|
22
21
|
import { plaintextCollection } from '../space/plaintextCollection.js';
|
|
23
22
|
/**
|
|
24
23
|
* The default Space Description name an unlock Space is configured with.
|
|
@@ -247,35 +246,13 @@ export async function deleteUnlockSpace({ storageServerUrl, zcapClient, spaceId
|
|
|
247
246
|
await was.space(spaceId).delete();
|
|
248
247
|
}
|
|
249
248
|
/**
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
*
|
|
256
|
-
*
|
|
257
|
-
* without re-deriving the unlock identity from the (possibly lost) secret. A
|
|
258
|
-
* 404 is REPORTED rather than decided here: a caller retiring a method reads
|
|
259
|
-
* it as idempotent success, while a deletion walk records the Space as
|
|
260
|
-
* already gone. `not-found` means the server answered 404, which is absent OR
|
|
261
|
-
* unauthorized -- was-teaching-server masks a refused invocation as 404, and
|
|
262
|
-
* the two are indistinguishable on the wire -- so no caller may read the
|
|
263
|
-
* outcome as absence without its own prior discovery.
|
|
264
|
-
*
|
|
265
|
-
* @param options {object}
|
|
266
|
-
* @param options.storageServerUrl {string}
|
|
267
|
-
* @param options.zcapClient {ZcapClient} the data identity's client
|
|
268
|
-
* @param options.spaceId {string} the unlock Space id
|
|
269
|
-
* @param options.capability {IZcap} the delegated management zcap
|
|
270
|
-
* @returns {Promise<{ outcome: 'deleted' | 'not-found' }>} `not-found` when
|
|
271
|
-
* the server answered 404 (absent or unauthorized, indistinguishable)
|
|
249
|
+
* The unlock Space's name for the one capability-authorized Space DELETE
|
|
250
|
+
* ({@link deleteSpaceWithCapability}). The alias stands because an unlock
|
|
251
|
+
* Space's deletion is the one this module's callers reach for -- retiring a
|
|
252
|
+
* lost unlock method with the management zcap the unlock identity delegated
|
|
253
|
+
* to the data identity at bind time, rather than by re-deriving the unlock
|
|
254
|
+
* identity from the (possibly lost) secret -- while the request itself is
|
|
255
|
+
* the shared one, 404 outcome and all.
|
|
272
256
|
*/
|
|
273
|
-
export
|
|
274
|
-
return deleteSpaceWithCapability({
|
|
275
|
-
storageServerUrl,
|
|
276
|
-
zcapClient,
|
|
277
|
-
spaceId,
|
|
278
|
-
capability
|
|
279
|
-
});
|
|
280
|
-
}
|
|
257
|
+
export { deleteSpaceWithCapability as deleteUnlockSpaceWithCapability } from '../space/deleteSpace.js';
|
|
281
258
|
//# sourceMappingURL=unlockSpace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlockSpace.js","sourceRoot":"","sources":["../../src/keyring/unlockSpace.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"unlockSpace.js","sourceRoot":"","sources":["../../src/keyring/unlockSpace.ts"],"names":[],"mappings":"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"}
|