@interop/wallet-core 0.67.0 → 0.69.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 +14 -13
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +12 -6
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +10 -7
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +11 -12
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +20 -30
- 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 +8 -18
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +8 -17
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +19 -34
- 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 +3 -12
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +19 -32
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +2 -2
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +1 -1
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +25 -70
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +34 -83
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +55 -68
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +82 -111
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +19 -8
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +89 -66
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +5 -12
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +7 -13
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -14
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +12 -12
- 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 +12 -17
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/descriptors/index.d.ts +21 -46
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +21 -45
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +45 -56
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +64 -74
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +15 -6
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +14 -7
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/keys/collectionLogStore.d.ts +73 -0
- package/dist/keys/collectionLogStore.d.ts.map +1 -0
- package/dist/keys/collectionLogStore.js +60 -0
- package/dist/keys/collectionLogStore.js.map +1 -0
- package/dist/keys/index.d.ts +18 -6
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +18 -6
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +44 -6
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +51 -238
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +2 -1
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +67 -34
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +80 -30
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyCascade.d.ts +26 -1
- package/dist/keys/userKeyCascade.d.ts.map +1 -1
- package/dist/keys/userKeyCascade.js +29 -2
- package/dist/keys/userKeyCascade.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +5 -0
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +5 -0
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts +54 -16
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +50 -22
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/recovery/continuation.d.ts +2 -7
- package/dist/recovery/continuation.d.ts.map +1 -1
- package/dist/recovery/continuation.js +2 -6
- package/dist/recovery/continuation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +11 -25
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +13 -26
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/resourceLog/controller.d.ts +18 -6
- package/dist/resourceLog/controller.d.ts.map +1 -1
- package/dist/resourceLog/controller.js +5 -3
- package/dist/resourceLog/controller.js.map +1 -1
- package/dist/resourceLog/errors.d.ts +17 -43
- package/dist/resourceLog/errors.d.ts.map +1 -1
- package/dist/resourceLog/errors.js +17 -50
- package/dist/resourceLog/errors.js.map +1 -1
- package/dist/resourceLog/index.d.ts +6 -3
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +6 -3
- package/dist/resourceLog/index.js.map +1 -1
- package/dist/resourceLog/logClass.d.ts +69 -0
- package/dist/resourceLog/logClass.d.ts.map +1 -0
- package/dist/resourceLog/logClass.js +43 -0
- package/dist/resourceLog/logClass.js.map +1 -0
- package/dist/space/collections.d.ts +22 -2
- package/dist/space/collections.d.ts.map +1 -1
- package/dist/space/collections.js +18 -0
- package/dist/space/collections.js.map +1 -1
- package/dist/space/index.d.ts +4 -3
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +4 -3
- package/dist/space/index.js.map +1 -1
- package/dist/space/provisioning.d.ts +16 -6
- package/dist/space/provisioning.d.ts.map +1 -1
- package/dist/space/provisioning.js +11 -7
- package/dist/space/provisioning.js.map +1 -1
- package/dist/sync/engine.d.ts +4 -2
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -6
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -5
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts +0 -29
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +30 -28
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/types.d.ts +39 -21
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +13 -7
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/retire.d.ts +12 -13
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +12 -15
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +8 -22
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +7 -18
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +5 -12
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +11 -22
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +7 -2
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +9 -1
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +69 -80
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +74 -117
- 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 +3 -8
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +1 -1
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +1 -1
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +3 -9
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +4 -9
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +24 -4
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +26 -7
- 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 +4 -4
- package/dist/descriptors/acquire.d.ts +0 -122
- package/dist/descriptors/acquire.d.ts.map +0 -1
- package/dist/descriptors/acquire.js +0 -100
- package/dist/descriptors/acquire.js.map +0 -1
- package/dist/descriptors/cipher.d.ts +0 -71
- package/dist/descriptors/cipher.d.ts.map +0 -1
- package/dist/descriptors/cipher.js +0 -109
- package/dist/descriptors/cipher.js.map +0 -1
- package/dist/descriptors/errors.d.ts +0 -44
- package/dist/descriptors/errors.d.ts.map +0 -1
- package/dist/descriptors/errors.js +0 -46
- package/dist/descriptors/errors.js.map +0 -1
- package/dist/descriptors/refresh.d.ts +0 -62
- package/dist/descriptors/refresh.d.ts.map +0 -1
- package/dist/descriptors/refresh.js +0 -69
- package/dist/descriptors/refresh.js.map +0 -1
|
@@ -10,22 +10,16 @@ import { forgetWebvhClient, isSoleEnrolledClient, LastEnrolledClientForgetError
|
|
|
10
10
|
* @param options {object}
|
|
11
11
|
* @param options.logStore {UnlockLogStore} the credential's delegated
|
|
12
12
|
* `did.jsonl` bridge store; also serves the ceremony's public pre-edit
|
|
13
|
-
* read
|
|
13
|
+
* read. Every read the ceremony makes -- the pre-edit read the roster
|
|
14
|
+
* rotation's recipient document comes from, and the removal entry's own
|
|
15
|
+
* read inside its conflict-retry loop -- is checked against the store's
|
|
16
|
+
* chain-head pin, so a served truncated prefix is refused
|
|
17
|
+
* (`ResourceLogContinuityError`, `rollback`) before any roster append or
|
|
18
|
+
* log publish, and the pin advances to the head the removal entry publishes
|
|
14
19
|
* @param options.clientLogStore {object} the account's `id` collection
|
|
15
20
|
* store invoked under THIS (still-standing) enrolled client's root
|
|
16
21
|
* authority. Used for one thing: the post-removal `did:web` projection PUT
|
|
17
22
|
* that precedes the removal entry (see stage 3 in the module doc)
|
|
18
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
19
|
-
* pins. Every read the ceremony makes -- the pre-edit read the roster
|
|
20
|
-
* rotation's recipient document comes from, and the removal entry's own
|
|
21
|
-
* read inside its conflict-retry loop -- is checked against the pinned
|
|
22
|
-
* head, so a served truncated prefix is refused (`ResourceLogContinuityError`,
|
|
23
|
-
* `rollback`) before any roster append or log publish, and the pin
|
|
24
|
-
* advances to the head the removal entry publishes. Without it the
|
|
25
|
-
* ceremony checks `expectedDid` only
|
|
26
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
27
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
28
|
-
* supplied
|
|
29
23
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
30
24
|
* @param options.forgottenClient {RevokedClientKeys} this client's public
|
|
31
25
|
* halves; an `updateKeyMultibase` the log does not authorize (stale, or the
|
|
@@ -52,7 +46,7 @@ import { forgetWebvhClient, isSoleEnrolledClient, LastEnrolledClientForgetError
|
|
|
52
46
|
* @param options.collections {CascadeCollections} the fan-out's work
|
|
53
47
|
* @returns {Promise<EnrolledClientForgetResult>}
|
|
54
48
|
*/
|
|
55
|
-
export async function forgetEnrolledClient({ logStore, clientLogStore,
|
|
49
|
+
export async function forgetEnrolledClient({ logStore, clientLogStore, ladderSeed, forgottenClient, forgottenKeyAgreementKeyMultibase, knownLatentHashes, expectedDid, rosterStore, credentialKeyAgreementKey, userKey, pinnedEpochId, onUserKeyAdopted, collections }) {
|
|
56
50
|
// The pre-edit read, doing double duty: the last-client refusal must fire
|
|
57
51
|
// BEFORE the rotation (or a refused forget would already have retired this
|
|
58
52
|
// client's wrap), and the rotation's recipient resolver needs the pre-edit
|
|
@@ -60,8 +54,6 @@ export async function forgetEnrolledClient({ logStore, clientLogStore, pinStore,
|
|
|
60
54
|
const published = await readPublishedLogOrThrow({
|
|
61
55
|
idStore: logStore,
|
|
62
56
|
expectedDid,
|
|
63
|
-
...(pinStore ? { pinStore } : {}),
|
|
64
|
-
...(logId !== undefined ? { logId } : {}),
|
|
65
57
|
missingMessage: 'did:webvh: did.jsonl is missing; nothing to forget from.'
|
|
66
58
|
});
|
|
67
59
|
if (isSoleEnrolledClient({
|
|
@@ -101,9 +93,7 @@ export async function forgetEnrolledClient({ logStore, clientLogStore, pinStore,
|
|
|
101
93
|
ladderSeed,
|
|
102
94
|
forgottenClient,
|
|
103
95
|
...(knownLatentHashes ? { knownLatentHashes } : {}),
|
|
104
|
-
expectedDid
|
|
105
|
-
...(pinStore ? { pinStore } : {}),
|
|
106
|
-
...(logId !== undefined ? { logId } : {})
|
|
96
|
+
expectedDid
|
|
107
97
|
});
|
|
108
98
|
return {
|
|
109
99
|
rotated: tail.rotated,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forget.js","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAsEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"forget.js","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAsEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAKnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,qBAAqB,CAAA;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,QAAQ,EACR,cAAc,EACd,UAAU,EACV,eAAe,EACf,iCAAiC,EACjC,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,WAAW,EAeZ;IACC,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC;QAC9C,OAAO,EAAE,QAAQ;QACjB,WAAW;QACX,cAAc,EAAE,0DAA0D;KAC3E,CAAC,CAAA;IACF,IACE,oBAAoB,CAAC;QACnB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,mBAAmB,EAAE;KAChE,CAAC,EACF,CAAC;QACD,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAC3C,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,IAAI,GAAG,MAAM,+BAA+B,CAAC;QACjD,WAAW;QACX,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,iBAAiB,EAAE,kBAAkB,CAAC;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,wBAAwB,EAAE,iCAAiC;SAC5D,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,uBAAuB,EAAE,yBAAyB;QAClD,aAAa;QACb,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,WAAW;KACZ,CAAC,CAAA;IAEF,uEAAuE;IACvE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,KAAK,EAAE,QAAQ;QACf,eAAe,EAAE,cAAc;QAC/B,UAAU;QACV,eAAe;QACf,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,WAAW;KACZ,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,GAAG;QACrB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB;YACvC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC"}
|
|
@@ -124,7 +124,6 @@ import type { IKeyAgreementKey } from '@interop/data-integrity-core';
|
|
|
124
124
|
import type { CollectionEncryption, IDelegatedZcap } from '@interop/was-client';
|
|
125
125
|
import type { WebvhIdStore } from '../webvh/didWebvh.js';
|
|
126
126
|
import { type RevokedClientKeys } from '../webvh/revokeClient.js';
|
|
127
|
-
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
128
127
|
import { type CascadeCollections, type SealableEncryptionDescriptorStore, type UserKey, type UserKeyAdoptedHook, type UserKeyCascadeResult } from '../keys/index.js';
|
|
129
128
|
import type { UnlockLogStore } from '../unlock/standingWebvh.js';
|
|
130
129
|
import { type ClientAnnexWriteStore } from './log.js';
|
|
@@ -178,7 +177,13 @@ export interface LastEnrolledClientForgetResult {
|
|
|
178
177
|
*
|
|
179
178
|
* @param options {object}
|
|
180
179
|
* @param options.logStore {UnlockLogStore} the credential's delegated
|
|
181
|
-
* `did.jsonl` bridge store; also serves the ceremony's public reads
|
|
180
|
+
* `did.jsonl` bridge store; also serves the ceremony's public reads. Every
|
|
181
|
+
* account-log read the ceremony makes -- the opening read, and the strike,
|
|
182
|
+
* reinstall, and removal entries' own reads inside their conflict-retry
|
|
183
|
+
* loops -- is checked against the chain-head pin its store carries, so a
|
|
184
|
+
* served truncated prefix is refused (`ResourceLogContinuityError`,
|
|
185
|
+
* `rollback`) before any roster append or log publish, and each entry
|
|
186
|
+
* advances the pin to the head it publishes
|
|
182
187
|
* @param options.clientLogStore {UnlockLogStore} the account-log store
|
|
183
188
|
* invoked under the STILL-STANDING enrolled client's root authority (an
|
|
184
189
|
* app's `wasWebvhIdStore` satisfies the narrower shape). The
|
|
@@ -189,14 +194,6 @@ export interface LastEnrolledClientForgetResult {
|
|
|
189
194
|
* carries the removal entry's pre-entry `did:web` projection PUT (stage 6),
|
|
190
195
|
* the one write the bridge store cannot make. Required: a call without it
|
|
191
196
|
* throws a `TypeError` before any read
|
|
192
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
193
|
-
* pins, the account log's slot derived from `annex.accountSpaceId`. Every
|
|
194
|
-
* account-log read the ceremony makes -- the opening read, and the strike,
|
|
195
|
-
* reinstall, and removal entries' own reads inside their conflict-retry
|
|
196
|
-
* loops -- is checked against the pinned head, so a served truncated
|
|
197
|
-
* prefix is refused (`ResourceLogContinuityError`, `rollback`) before any
|
|
198
|
-
* roster append or log publish, and each entry advances the pin to the
|
|
199
|
-
* head it publishes. Without it the ceremony checks `expectedDid` only
|
|
200
197
|
* @param options.ladderSeed {Uint8Array} the login credential's ladder seed
|
|
201
198
|
* @param options.forgottenClient {RevokedClientKeys} this client's public
|
|
202
199
|
* halves; an `updateKeyMultibase` the log does not authorize (stale, or the
|
|
@@ -244,8 +241,6 @@ export interface LastEnrolledClientForgetResult {
|
|
|
244
241
|
* server (the fresh generation delegation's target host)
|
|
245
242
|
* @param options.annex.accountSpaceId {string} the ACCOUNT Space's id (the
|
|
246
243
|
* fresh delegation's target subtree)
|
|
247
|
-
* @param [options.annex.pinStore] {ResourceLogPinStore} chain-head pins
|
|
248
|
-
* for the pointed generation's read
|
|
249
244
|
* @param options.onBeforeRemoval {Function}
|
|
250
245
|
* `({ did, doc, log }) => Promise<void>` -- the record re-bind seam: runs
|
|
251
246
|
* immediately before the removal entry, with the post-reinstall published
|
|
@@ -257,10 +252,9 @@ export interface LastEnrolledClientForgetResult {
|
|
|
257
252
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
258
253
|
* @returns {Promise<LastEnrolledClientForgetResult>}
|
|
259
254
|
*/
|
|
260
|
-
export declare function forgetLastEnrolledClient({ logStore, clientLogStore,
|
|
255
|
+
export declare function forgetLastEnrolledClient({ logStore, clientLogStore, ladderSeed, forgottenClient, forgottenKeyAgreementKeyMultibase, knownLatentHashes, expectedDid, rosterStore, credentialKeyAgreementKey, userKey, pinnedEpochId, onUserKeyAdopted, collections, annex, onBeforeRemoval, now }: {
|
|
261
256
|
logStore: UnlockLogStore;
|
|
262
257
|
clientLogStore: UnlockLogStore;
|
|
263
|
-
pinStore?: ResourceLogPinStore;
|
|
264
258
|
ladderSeed: Uint8Array;
|
|
265
259
|
forgottenClient: RevokedClientKeys;
|
|
266
260
|
forgottenKeyAgreementKeyMultibase: string;
|
|
@@ -280,7 +274,6 @@ export declare function forgetLastEnrolledClient({ logStore, clientLogStore, pin
|
|
|
280
274
|
revoke: (delegation: IDelegatedZcap) => Promise<void>;
|
|
281
275
|
wasServerUrl: string;
|
|
282
276
|
accountSpaceId: string;
|
|
283
|
-
pinStore?: ResourceLogPinStore;
|
|
284
277
|
};
|
|
285
278
|
onBeforeRemoval: (published: {
|
|
286
279
|
did: string;
|
|
@@ -309,8 +302,6 @@ export declare function forgetLastWebvhClient(options: {
|
|
|
309
302
|
forgottenClient: RevokedClientKeys;
|
|
310
303
|
knownLatentHashes?: string[];
|
|
311
304
|
expectedDid?: string;
|
|
312
|
-
pinStore?: ResourceLogPinStore;
|
|
313
|
-
logId?: string;
|
|
314
305
|
}): Promise<{
|
|
315
306
|
did: string;
|
|
316
307
|
doc: DIDDoc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgetLast.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forgetLast.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqHG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"forgetLast.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forgetLast.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { accountLogPinId } from '../webvh/verifyLog.js';
|
|
1
|
+
import { readPublishedLogOrThrow, withLogConflictRetry } from '../webvh/didWebvh.js';
|
|
3
2
|
import { clientRemovalTarget } from '../webvh/revokeClient.js';
|
|
4
3
|
import { delegationProofKeyId } from '../webvh/standingZcap.js';
|
|
5
4
|
import { vmFragmentOf } from '@interop/vh-resource-log';
|
|
@@ -8,7 +7,7 @@ import { ladderVmKeyMultibase } from './ladder.js';
|
|
|
8
7
|
import { ladderVmIds, relationIds } from '../resourceLog/document.js';
|
|
9
8
|
import { ladderVmZcapClient } from './zcap.js';
|
|
10
9
|
import { clientForgetEntryOnce, installLadderVmWebvh, strikeLadderVmWebvh } from './ladderAnchored.js';
|
|
11
|
-
import { clientAnnexDidParts,
|
|
10
|
+
import { clientAnnexDidParts, delegatedClientsPointer, ensureGenerationDelegationCurrent, generationDelegationHistory, mintGenerationDelegation, readClientAnnexLogOrAbsent, revokeTreatingAlreadyRevokedAsSuccess } from './log.js';
|
|
12
11
|
/**
|
|
13
12
|
* Forgets the account's LAST enrolled client -- this browser's own
|
|
14
13
|
* -- transitioning the account to the client-less, ladder-anchored state.
|
|
@@ -20,7 +19,13 @@ import { clientAnnexDidParts, clientAnnexLogPinId, delegatedClientsPointer, ensu
|
|
|
20
19
|
*
|
|
21
20
|
* @param options {object}
|
|
22
21
|
* @param options.logStore {UnlockLogStore} the credential's delegated
|
|
23
|
-
* `did.jsonl` bridge store; also serves the ceremony's public reads
|
|
22
|
+
* `did.jsonl` bridge store; also serves the ceremony's public reads. Every
|
|
23
|
+
* account-log read the ceremony makes -- the opening read, and the strike,
|
|
24
|
+
* reinstall, and removal entries' own reads inside their conflict-retry
|
|
25
|
+
* loops -- is checked against the chain-head pin its store carries, so a
|
|
26
|
+
* served truncated prefix is refused (`ResourceLogContinuityError`,
|
|
27
|
+
* `rollback`) before any roster append or log publish, and each entry
|
|
28
|
+
* advances the pin to the head it publishes
|
|
24
29
|
* @param options.clientLogStore {UnlockLogStore} the account-log store
|
|
25
30
|
* invoked under the STILL-STANDING enrolled client's root authority (an
|
|
26
31
|
* app's `wasWebvhIdStore` satisfies the narrower shape). The
|
|
@@ -31,14 +36,6 @@ import { clientAnnexDidParts, clientAnnexLogPinId, delegatedClientsPointer, ensu
|
|
|
31
36
|
* carries the removal entry's pre-entry `did:web` projection PUT (stage 6),
|
|
32
37
|
* the one write the bridge store cannot make. Required: a call without it
|
|
33
38
|
* throws a `TypeError` before any read
|
|
34
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
35
|
-
* pins, the account log's slot derived from `annex.accountSpaceId`. Every
|
|
36
|
-
* account-log read the ceremony makes -- the opening read, and the strike,
|
|
37
|
-
* reinstall, and removal entries' own reads inside their conflict-retry
|
|
38
|
-
* loops -- is checked against the pinned head, so a served truncated
|
|
39
|
-
* prefix is refused (`ResourceLogContinuityError`, `rollback`) before any
|
|
40
|
-
* roster append or log publish, and each entry advances the pin to the
|
|
41
|
-
* head it publishes. Without it the ceremony checks `expectedDid` only
|
|
42
39
|
* @param options.ladderSeed {Uint8Array} the login credential's ladder seed
|
|
43
40
|
* @param options.forgottenClient {RevokedClientKeys} this client's public
|
|
44
41
|
* halves; an `updateKeyMultibase` the log does not authorize (stale, or the
|
|
@@ -86,8 +83,6 @@ import { clientAnnexDidParts, clientAnnexLogPinId, delegatedClientsPointer, ensu
|
|
|
86
83
|
* server (the fresh generation delegation's target host)
|
|
87
84
|
* @param options.annex.accountSpaceId {string} the ACCOUNT Space's id (the
|
|
88
85
|
* fresh delegation's target subtree)
|
|
89
|
-
* @param [options.annex.pinStore] {ResourceLogPinStore} chain-head pins
|
|
90
|
-
* for the pointed generation's read
|
|
91
86
|
* @param options.onBeforeRemoval {Function}
|
|
92
87
|
* `({ did, doc, log }) => Promise<void>` -- the record re-bind seam: runs
|
|
93
88
|
* immediately before the removal entry, with the post-reinstall published
|
|
@@ -99,7 +94,7 @@ import { clientAnnexDidParts, clientAnnexLogPinId, delegatedClientsPointer, ensu
|
|
|
99
94
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
100
95
|
* @returns {Promise<LastEnrolledClientForgetResult>}
|
|
101
96
|
*/
|
|
102
|
-
export async function forgetLastEnrolledClient({ logStore, clientLogStore,
|
|
97
|
+
export async function forgetLastEnrolledClient({ logStore, clientLogStore, ladderSeed, forgottenClient, forgottenKeyAgreementKeyMultibase, knownLatentHashes, expectedDid, rosterStore, credentialKeyAgreementKey, userKey, pinnedEpochId, onUserKeyAdopted, collections, annex, onBeforeRemoval, now = Date.now() }) {
|
|
103
98
|
// The seam is the only stage that re-signs the login credential's bridge
|
|
104
99
|
// with the ladder VM; a run without it would land the removal entry over
|
|
105
100
|
// a record the struck key signed, on an account nothing could then write
|
|
@@ -132,14 +127,9 @@ export async function forgetLastEnrolledClient({ logStore, clientLogStore, pinSt
|
|
|
132
127
|
// state the app's next login maps -- nothing here can still invoke), and
|
|
133
128
|
// an account with another enrolled client belongs to the ordinary
|
|
134
129
|
// forget ceremony.
|
|
135
|
-
// The account log's pin slot, shared by every read and entry below.
|
|
136
|
-
const pinned = pinStore
|
|
137
|
-
? { pinStore, logId: accountLogPinId({ spaceId: annex.accountSpaceId }) }
|
|
138
|
-
: {};
|
|
139
130
|
const before = await readPublishedLogOrThrow({
|
|
140
131
|
idStore: logStore,
|
|
141
132
|
expectedDid,
|
|
142
|
-
...pinned,
|
|
143
133
|
missingMessage: 'did:webvh: did.jsonl is missing; nothing to enroll into.'
|
|
144
134
|
});
|
|
145
135
|
const preTarget = await clientRemovalTarget({
|
|
@@ -226,14 +216,12 @@ export async function forgetLastEnrolledClient({ logStore, clientLogStore, pinSt
|
|
|
226
216
|
await strikeLadderVmWebvh({
|
|
227
217
|
store: clientLogStore,
|
|
228
218
|
ladderSeed,
|
|
229
|
-
expectedDid
|
|
230
|
-
...pinned
|
|
219
|
+
expectedDid
|
|
231
220
|
});
|
|
232
221
|
const install = await installLadderVmWebvh({
|
|
233
222
|
store: clientLogStore,
|
|
234
223
|
ladderSeed,
|
|
235
|
-
expectedDid
|
|
236
|
-
...pinned
|
|
224
|
+
expectedDid
|
|
237
225
|
});
|
|
238
226
|
reinstalled = install.installed;
|
|
239
227
|
anchor = { did: install.did, doc: install.doc, log: install.log };
|
|
@@ -291,8 +279,7 @@ export async function forgetLastEnrolledClient({ logStore, clientLogStore, pinSt
|
|
|
291
279
|
ladderSeed,
|
|
292
280
|
forgottenClient,
|
|
293
281
|
...(knownLatentHashes ? { knownLatentHashes } : {}),
|
|
294
|
-
expectedDid
|
|
295
|
-
...pinned
|
|
282
|
+
expectedDid
|
|
296
283
|
});
|
|
297
284
|
return {
|
|
298
285
|
reinstalled,
|
|
@@ -342,11 +329,12 @@ async function retireLadderGenerationDelegations({ doc, accountDid, ladderSeed,
|
|
|
342
329
|
}
|
|
343
330
|
const parts = clientAnnexDidParts({ did: pointedDid });
|
|
344
331
|
const store = annex.storeFor(parts);
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
332
|
+
// Absence is read as absence even under a pin this client holds from an
|
|
333
|
+
// earlier read: a generation that is gone is the `log-unreadable` escape,
|
|
334
|
+
// and a refusal here would wedge the transition after the roster rotation.
|
|
335
|
+
const published = await readClientAnnexLogOrAbsent({
|
|
336
|
+
store,
|
|
337
|
+
expectedDid: pointedDid
|
|
350
338
|
});
|
|
351
339
|
if (published === undefined) {
|
|
352
340
|
return { revoked: [], replaced: false, skipped: 'log-unreadable' };
|
|
@@ -389,9 +377,6 @@ async function retireLadderGenerationDelegations({ doc, accountDid, ladderSeed,
|
|
|
389
377
|
expectedDid: pointedDid,
|
|
390
378
|
accountDoc: doc,
|
|
391
379
|
retiringKeyMultibases: [ladderVmKey, retiringSigningKeyMultibase],
|
|
392
|
-
...(annex.pinStore !== undefined
|
|
393
|
-
? { pinStore: annex.pinStore, logId }
|
|
394
|
-
: {}),
|
|
395
380
|
now
|
|
396
381
|
});
|
|
397
382
|
// `replaced` reports what the stage actually wrote. A delegation the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgetLast.js","sourceRoot":"","sources":["../../src/clientAnnex/forgetLast.ts"],"names":[],"mappings":"AA4HA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"forgetLast.js","sourceRoot":"","sources":["../../src/clientAnnex/forgetLast.ts"],"names":[],"mappings":"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"}
|
package/dist/clientAnnex/gc.d.ts
CHANGED
|
@@ -53,7 +53,6 @@
|
|
|
53
53
|
import type { DIDLog } from '@interop/did-method-webvh';
|
|
54
54
|
import type { ZcapClient } from '@interop/ezcap';
|
|
55
55
|
import type { WasClient } from '@interop/was-client';
|
|
56
|
-
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
57
56
|
import type { AccountLogSigner } from '../webvh/accountEntry.js';
|
|
58
57
|
import type { ClientWebvhUpdateKeys, PublishedWebvhLog, WebvhIdStore } from '../webvh/didWebvh.js';
|
|
59
58
|
/**
|
|
@@ -156,6 +155,20 @@ export interface ClientAnnexGcReport {
|
|
|
156
155
|
error: unknown;
|
|
157
156
|
}>;
|
|
158
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* One generation swap's outcome: the fresh annex DID the account now points
|
|
160
|
+
* at, and what the revoke stage did with the old generation's embedded
|
|
161
|
+
* delegation -- `revoked` (the POST landed, or the server answered
|
|
162
|
+
* already-revoked), `no-delegation` (the old log stands and embeds none),
|
|
163
|
+
* or `log-absent` (the pointed log does not exist, so there were no bytes to
|
|
164
|
+
* revoke; pointer equality retires the delegation on a conforming server).
|
|
165
|
+
* Reported rather than folded into the DID so a caller can tell a swap that
|
|
166
|
+
* revoked from one that could not.
|
|
167
|
+
*/
|
|
168
|
+
export interface ClientAnnexGenerationSwap {
|
|
169
|
+
clientAnnexDid: string;
|
|
170
|
+
revoke: 'revoked' | 'no-delegation' | 'log-absent';
|
|
171
|
+
}
|
|
159
172
|
/**
|
|
160
173
|
* One annex GC pass: the quarterly swap when due and quiet, then the
|
|
161
174
|
* predicate-driven collect fan-out over every non-pointed `gen-` collection.
|
|
@@ -193,12 +206,10 @@ export interface ClientAnnexGcReport {
|
|
|
193
206
|
* `({ generationId }) => Promise<void>` -- local cleanup after a
|
|
194
207
|
* generation's delete (the caller's annex pin-slot drop); a throw is
|
|
195
208
|
* reported but cannot be retried (the collection is already gone)
|
|
196
|
-
* @param [options.pinStore] {ResourceLogPinStore} chain-head pins for the
|
|
197
|
-
* account-log re-point and the pointed generation's read
|
|
198
209
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
199
210
|
* @returns {Promise<ClientAnnexGcReport>}
|
|
200
211
|
*/
|
|
201
|
-
export declare function runClientAnnexGc({ was, wasServerUrl, accountSpaceId, account, idStore, updateKeys, zcapClient, ladderSeed, recordDigest, onCollected,
|
|
212
|
+
export declare function runClientAnnexGc({ was, wasServerUrl, accountSpaceId, account, idStore, updateKeys, zcapClient, ladderSeed, recordDigest, onCollected, now }: {
|
|
202
213
|
was: WasClient;
|
|
203
214
|
wasServerUrl: string;
|
|
204
215
|
accountSpaceId: string;
|
|
@@ -216,7 +227,6 @@ export declare function runClientAnnexGc({ was, wasServerUrl, accountSpaceId, ac
|
|
|
216
227
|
onCollected?: (options: {
|
|
217
228
|
generationId: string;
|
|
218
229
|
}) => Promise<void>;
|
|
219
|
-
pinStore?: ResourceLogPinStore;
|
|
220
230
|
now?: number;
|
|
221
231
|
}): Promise<ClientAnnexGcReport>;
|
|
222
232
|
/**
|
|
@@ -233,16 +243,21 @@ export declare function runClientAnnexGc({ was, wasServerUrl, accountSpaceId, ac
|
|
|
233
243
|
* Same four swap stages and ordering as the quarterly GC swap, minus the
|
|
234
244
|
* cadence and quiet gates (the caller's reason for swapping is authority
|
|
235
245
|
* removal, not hygiene). The pointed generation's log is read for the revoke
|
|
236
|
-
* stage's delegation bytes
|
|
237
|
-
*
|
|
246
|
+
* stage's delegation bytes. A pointed log that does not exist (a collected
|
|
247
|
+
* generation the pointer still names) carries no delegation to revoke, so
|
|
248
|
+
* the revoke is skipped and reported as `log-absent`, and pointer equality
|
|
249
|
+
* retires the old delegation on a conforming server; a served log that fails
|
|
250
|
+
* verification or falls behind this client's pin throws, since a swap over a
|
|
251
|
+
* log this client cannot trust would skip a revoke it may owe.
|
|
238
252
|
*
|
|
239
253
|
* @param options {object} see {@link runClientAnnexGc} for the shared
|
|
240
254
|
* members ({ was, wasServerUrl, accountSpaceId, account, idStore,
|
|
241
|
-
* updateKeys, zcapClient
|
|
255
|
+
* updateKeys, zcapClient }); `ladderSeed` here is the SURVIVING
|
|
242
256
|
* credential's seed the fresh generation is minted from
|
|
243
|
-
* @returns {Promise<
|
|
257
|
+
* @returns {Promise<ClientAnnexGenerationSwap>} the fresh annex DID and
|
|
258
|
+
* what the revoke stage did
|
|
244
259
|
*/
|
|
245
|
-
export declare function swapClientAnnexGeneration({ was, wasServerUrl, accountSpaceId, account, idStore, signer, zcapClient, ladderSeed
|
|
260
|
+
export declare function swapClientAnnexGeneration({ was, wasServerUrl, accountSpaceId, account, idStore, signer, zcapClient, ladderSeed }: {
|
|
246
261
|
was: WasClient;
|
|
247
262
|
wasServerUrl: string;
|
|
248
263
|
accountSpaceId: string;
|
|
@@ -251,6 +266,5 @@ export declare function swapClientAnnexGeneration({ was, wasServerUrl, accountSp
|
|
|
251
266
|
signer: AccountLogSigner;
|
|
252
267
|
zcapClient: ZcapClient;
|
|
253
268
|
ladderSeed: Uint8Array;
|
|
254
|
-
|
|
255
|
-
}): Promise<string>;
|
|
269
|
+
}): Promise<ClientAnnexGenerationSwap>;
|
|
256
270
|
//# sourceMappingURL=gc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/gc.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"gc.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/gc.ts"],"names":[],"mappings":"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"}
|