@interop/wallet-core 0.56.0 → 0.58.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/dist/clientAnnex/credentialAnchoredGenesis.d.ts +24 -23
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +28 -26
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +35 -3
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +10 -7
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +9 -9
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +5 -5
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +15 -15
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +12 -12
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +6 -6
- package/dist/clientAnnex/gc.js +4 -4
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +2 -2
- package/dist/clientAnnex/index.d.ts +14 -13
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +11 -11
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladder.js +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +34 -34
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +66 -66
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +34 -29
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +39 -31
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +322 -0
- package/dist/clientAnnex/mend.d.ts.map +1 -0
- package/dist/clientAnnex/mend.js +762 -0
- package/dist/clientAnnex/mend.js.map +1 -0
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +2 -2
- package/dist/clientAnnex/recoveryLadderAnchored.js +4 -4
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +8 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +25 -9
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +2 -1
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +2 -2
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/clientAnnex/zcap.d.ts +9 -3
- package/dist/clientAnnex/zcap.d.ts.map +1 -1
- package/dist/clientAnnex/zcap.js +10 -4
- package/dist/clientAnnex/zcap.js.map +1 -1
- package/dist/clients/revocation.d.ts +4 -4
- package/dist/descriptors/acquire.d.ts +8 -7
- package/dist/descriptors/acquire.d.ts.map +1 -1
- package/dist/descriptors/acquire.js.map +1 -1
- package/dist/descriptors/index.d.ts +1 -1
- package/dist/descriptors/index.js +1 -1
- package/dist/enrollment/enrollment.d.ts +2 -2
- package/dist/enrollment/enrollment.js +4 -4
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +4 -4
- package/dist/genesis/accountGenesis.js +2 -2
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +5 -6
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +3 -3
- package/dist/recovery/recoveryWebvh.js +7 -7
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/sync/engine.d.ts +1 -1
- package/dist/webvh/didWebvh.d.ts +31 -28
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +40 -36
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/listClients.d.ts +5 -6
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +5 -6
- package/dist/webvh/listClients.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* The LAST
|
|
6
|
-
* takes an account from one enrolled
|
|
5
|
+
* The LAST enrolled client's forget: the two-entry transition ceremony that
|
|
6
|
+
* takes an account from one enrolled client to the client-less,
|
|
7
7
|
* ladder-anchored state -- the same state a credential-anchored signup and a
|
|
8
8
|
* transient recovery produce. Decision 0004's 2026-08-19 amendment fixes the
|
|
9
9
|
* entry order, and it is forced twice over: the server's revocation endpoint
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
* and record-signing key and the forgotten client named as retiring, so
|
|
46
46
|
* every delegation it signed counts as rotted ahead of the removal entry.
|
|
47
47
|
* Delegations the removed client had signed rot at that entry, and on a
|
|
48
|
-
* client-less account no
|
|
48
|
+
* client-less account no remembered login's refresh block will ever run
|
|
49
49
|
* again to heal them, so this is the one pass that reaches them. The
|
|
50
50
|
* HTTP side still invokes under the still-standing client (the
|
|
51
51
|
* management zcaps are granted to the account DID, which only an enrolled
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
* credential in hand rather than through a management zcap), so the
|
|
66
66
|
* seam is the only thing that ever re-signs the login credential's own
|
|
67
67
|
* bridge with the ladder VM. Without it the removal entry would leave
|
|
68
|
-
* every bridge signed by the struck key on an account with no
|
|
68
|
+
* every bridge signed by the struck key on an account with no enrolled
|
|
69
69
|
* client -- an account nothing can write to -- which is why a call that
|
|
70
70
|
* omits the seam is refused before any read.
|
|
71
71
|
* 7. **The removal entry** ({@link forgetLastWebvhClient}): the client's
|
|
@@ -150,7 +150,7 @@ export interface UnlockMethodsRemintReach<Entry extends RecoveryDelegationEntry
|
|
|
150
150
|
* entry left it, and -- when the account has a roster -- the rotated key with
|
|
151
151
|
* the roster descriptor it was read from.
|
|
152
152
|
*/
|
|
153
|
-
export interface
|
|
153
|
+
export interface LastEnrolledClientForgetResult {
|
|
154
154
|
installed: boolean;
|
|
155
155
|
rotated: boolean;
|
|
156
156
|
collections: UserKeyCascadeResult;
|
|
@@ -174,7 +174,7 @@ export interface LastDurableClientForgetResult {
|
|
|
174
174
|
* `unlockMethods` is the whole stage report. A pending-shaped entry blocks
|
|
175
175
|
* for the same reason a failed one does: its bridge is left signed by the
|
|
176
176
|
* key the removal entry strikes, and on a client-less account no login will
|
|
177
|
-
* ever heal it. The mender is a
|
|
177
|
+
* ever heal it. The mender is a remembered login, which is exactly what the
|
|
178
178
|
* removal would end. The forgotten client is still enrolled and every stage
|
|
179
179
|
* before this one has landed, so a re-run resumes at the re-mint. Matched
|
|
180
180
|
* on `name` (the errors cross app-injected seams that may resolve to another
|
|
@@ -182,19 +182,19 @@ export interface LastDurableClientForgetResult {
|
|
|
182
182
|
*/
|
|
183
183
|
export declare class RecordRemintFailedError extends Error {
|
|
184
184
|
readonly failed: RecordRemintOutcome[];
|
|
185
|
-
readonly unlockMethods: NonNullable<
|
|
185
|
+
readonly unlockMethods: NonNullable<LastEnrolledClientForgetResult['unlockMethods']>;
|
|
186
186
|
constructor({ unlockMethods }: {
|
|
187
|
-
unlockMethods: NonNullable<
|
|
187
|
+
unlockMethods: NonNullable<LastEnrolledClientForgetResult['unlockMethods']>;
|
|
188
188
|
});
|
|
189
189
|
}
|
|
190
190
|
/**
|
|
191
|
-
* Forgets the account's LAST enrolled
|
|
191
|
+
* Forgets the account's LAST enrolled client -- this browser's own
|
|
192
192
|
* -- transitioning the account to the client-less, ladder-anchored state.
|
|
193
193
|
* See the module doc for the stage order and the torn-state map. The caller
|
|
194
194
|
* runs the local wipe only after this resolves. An account with another
|
|
195
|
-
* enrolled
|
|
196
|
-
* (`
|
|
197
|
-
* is what routes callers here.
|
|
195
|
+
* enrolled client refuses: that forget is the ordinary ceremony
|
|
196
|
+
* (`forgetEnrolledClient`), reached first, whose
|
|
197
|
+
* `LastEnrolledClientForgetError` is what routes callers here.
|
|
198
198
|
*
|
|
199
199
|
* @param options {object}
|
|
200
200
|
* @param options.logStore {UnlockLogStore} the credential's delegated
|
|
@@ -268,9 +268,9 @@ export declare class RecordRemintFailedError extends Error {
|
|
|
268
268
|
* be idempotent (a resumed run invokes it again). Required: a call
|
|
269
269
|
* without it throws a `TypeError` before any read
|
|
270
270
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
271
|
-
* @returns {Promise<
|
|
271
|
+
* @returns {Promise<LastEnrolledClientForgetResult>}
|
|
272
272
|
*/
|
|
273
|
-
export declare function
|
|
273
|
+
export declare function forgetLastEnrolledClient({ logStore, pinStore, ladderSeed, forgottenClient, forgottenKeyAgreementKeyMultibase, knownLatentHashes, expectedDid, rosterStoreFor, credentialKeyAgreementKey, userKey, pinnedEpochId, onUserKeyAdopted, collections, annex, unlockMethods, onBeforeRemoval, now }: {
|
|
274
274
|
logStore: UnlockLogStore;
|
|
275
275
|
pinStore?: ResourceLogPinStore;
|
|
276
276
|
ladderSeed: Uint8Array;
|
|
@@ -308,5 +308,5 @@ export declare function forgetLastDurableClient({ logStore, pinStore, ladderSeed
|
|
|
308
308
|
log: DIDLog;
|
|
309
309
|
}) => Promise<void>;
|
|
310
310
|
now?: number;
|
|
311
|
-
}): Promise<
|
|
311
|
+
}): Promise<LastEnrolledClientForgetResult>;
|
|
312
312
|
//# sourceMappingURL=forgetLast.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgetLast.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forgetLast.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwFG;AACH,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAIxE,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAKL,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,mCAAmC,CAAA;AAO1C,OAAO,EASL,KAAK,qBAAqB,EAC3B,MAAM,UAAU,CAAA;AAEjB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EACN,YAAY,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,iBAAiB,CAAA;CAC3E;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB,CACvC,KAAK,SAAS,uBAAuB,GAAG,uBAAuB;IAE/D,OAAO,EAAE,KAAK,EAAE,CAAA;IAChB,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,oBAAoB,EAAE,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,KAAK,CAAA;KAAE,KAAK,UAAU,CAAA;IACpE,WAAW,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1D;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"forgetLast.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forgetLast.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ import { clientAnnexDidParts, clientAnnexLogPinId, delegatedClientsDelegationMin
|
|
|
16
16
|
* could not reach, and a pending-shaped entry it deliberately did not write
|
|
17
17
|
* (re-minting one would seal a half-retired credential a fresh bridge into
|
|
18
18
|
* the standing credential's record). Both leave a bridge the removal entry
|
|
19
|
-
* would rot for good on an account that will never see a
|
|
19
|
+
* would rot for good on an account that will never see a remembered login
|
|
20
20
|
* again.
|
|
21
21
|
*/
|
|
22
22
|
const REMINT_BLOCKING_OUTCOMES = [
|
|
@@ -32,7 +32,7 @@ const REMINT_BLOCKING_OUTCOMES = [
|
|
|
32
32
|
* `unlockMethods` is the whole stage report. A pending-shaped entry blocks
|
|
33
33
|
* for the same reason a failed one does: its bridge is left signed by the
|
|
34
34
|
* key the removal entry strikes, and on a client-less account no login will
|
|
35
|
-
* ever heal it. The mender is a
|
|
35
|
+
* ever heal it. The mender is a remembered login, which is exactly what the
|
|
36
36
|
* removal would end. The forgotten client is still enrolled and every stage
|
|
37
37
|
* before this one has landed, so a re-run resumes at the re-mint. Matched
|
|
38
38
|
* on `name` (the errors cross app-injected seams that may resolve to another
|
|
@@ -54,13 +54,13 @@ export class RecordRemintFailedError extends Error {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
* Forgets the account's LAST enrolled
|
|
57
|
+
* Forgets the account's LAST enrolled client -- this browser's own
|
|
58
58
|
* -- transitioning the account to the client-less, ladder-anchored state.
|
|
59
59
|
* See the module doc for the stage order and the torn-state map. The caller
|
|
60
60
|
* runs the local wipe only after this resolves. An account with another
|
|
61
|
-
* enrolled
|
|
62
|
-
* (`
|
|
63
|
-
* is what routes callers here.
|
|
61
|
+
* enrolled client refuses: that forget is the ordinary ceremony
|
|
62
|
+
* (`forgetEnrolledClient`), reached first, whose
|
|
63
|
+
* `LastEnrolledClientForgetError` is what routes callers here.
|
|
64
64
|
*
|
|
65
65
|
* @param options {object}
|
|
66
66
|
* @param options.logStore {UnlockLogStore} the credential's delegated
|
|
@@ -134,21 +134,21 @@ export class RecordRemintFailedError extends Error {
|
|
|
134
134
|
* be idempotent (a resumed run invokes it again). Required: a call
|
|
135
135
|
* without it throws a `TypeError` before any read
|
|
136
136
|
* @param [options.now] {number} epoch milliseconds, for tests
|
|
137
|
-
* @returns {Promise<
|
|
137
|
+
* @returns {Promise<LastEnrolledClientForgetResult>}
|
|
138
138
|
*/
|
|
139
|
-
export async function
|
|
139
|
+
export async function forgetLastEnrolledClient({ logStore, pinStore, ladderSeed, forgottenClient, forgottenKeyAgreementKeyMultibase, knownLatentHashes, expectedDid, rosterStoreFor, credentialKeyAgreementKey, userKey, pinnedEpochId, onUserKeyAdopted, collections, annex, unlockMethods, onBeforeRemoval, now = Date.now() }) {
|
|
140
140
|
// The seam is the only stage that re-signs the login credential's bridge
|
|
141
141
|
// with the ladder VM; a run without it would land the removal entry over
|
|
142
142
|
// a record the struck key signed, on an account nothing could then write
|
|
143
143
|
// to. Refused before any read, so nothing is published.
|
|
144
144
|
if (typeof onBeforeRemoval !== 'function') {
|
|
145
|
-
throw new TypeError('
|
|
145
|
+
throw new TypeError('forgetLastEnrolledClient requires onBeforeRemoval: the login ' +
|
|
146
146
|
"credential's record is re-bound only through that seam");
|
|
147
147
|
}
|
|
148
148
|
// The pre-install read and the two guards: a client with no remaining
|
|
149
149
|
// presence means the removal entry already landed (the finish-the-wipe
|
|
150
150
|
// state the app's next login maps -- nothing here can still invoke), and
|
|
151
|
-
// an account with another enrolled
|
|
151
|
+
// an account with another enrolled client belongs to the ordinary
|
|
152
152
|
// forget ceremony.
|
|
153
153
|
// The account log's pin slot, shared by every read and entry below.
|
|
154
154
|
const pinned = pinStore
|
|
@@ -176,7 +176,7 @@ export async function forgetLastDurableClient({ logStore, pinStore, ladderSeed,
|
|
|
176
176
|
const signingVmId = `${before.did}#${forgottenClient.signingKeyMultibase}`;
|
|
177
177
|
const invocationIds = relationIds(before.doc.capabilityInvocation);
|
|
178
178
|
if (invocationIds.some(id => id !== signingVmId)) {
|
|
179
|
-
throw new Error('did:webvh: another enrolled
|
|
179
|
+
throw new Error('did:webvh: another enrolled client remains; the last-client ' +
|
|
180
180
|
'transition ceremony does not apply -- run the ordinary forget.');
|
|
181
181
|
}
|
|
182
182
|
// Stage 1: the install entry -- the ladder VM in, the client untouched.
|
|
@@ -322,7 +322,7 @@ export async function forgetLastDurableClient({ logStore, pinStore, ladderSeed,
|
|
|
322
322
|
* @param options.doc {DIDDoc} the post-install account document
|
|
323
323
|
* @param options.accountDid {string}
|
|
324
324
|
* @param options.ladderSeed {Uint8Array}
|
|
325
|
-
* @param options.annex {object} see {@link
|
|
325
|
+
* @param options.annex {object} see {@link forgetLastEnrolledClient}
|
|
326
326
|
* @param options.now {number}
|
|
327
327
|
* @returns {Promise<GenerationDelegationRetirement>}
|
|
328
328
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgetLast.js","sourceRoot":"","sources":["../../src/clientAnnex/forgetLast.ts"],"names":[],"mappings":"AAiGA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,mBAAmB,EAEpB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EAIpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EACL,yBAAyB,EAG1B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,gCAAgC,EAChC,uBAAuB,EACvB,iCAAiC,EACjC,2BAA2B,EAC3B,wBAAwB,EACxB,qCAAqC,EAEtC,MAAM,UAAU,CAAA;AAmEjB;;;;;;;GAOG;AACH,MAAM,wBAAwB,GAAqC;IACjE,QAAQ;IACR,eAAe;CAChB,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,MAAM,CAAuB;IAC7B,aAAa,CAErB;IAED,YAAY,EACV,aAAa,EAGd;QACC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CACrD,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CACnD,CAAA;QACD,KAAK,CACH,mEAAmE;YACjE,GAAG,MAAM,CAAC,MAAM,2BAA2B;YAC3C,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtD,qEAAqE;YACrE,uBAAuB,CAC1B,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,MAAM,CAAC,KAAK,UAAU,
|
|
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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* The ceremony has two halves with different rhythms:
|
|
9
9
|
*
|
|
10
10
|
* - The SWAP runs on the fixed quarterly cadence (90 days, at the first
|
|
11
|
-
*
|
|
11
|
+
* remembered login after the period elapses -- coarse on purpose, so the
|
|
12
12
|
* account log's permanent pointer-entry rhythm reveals little about
|
|
13
13
|
* transient-use frequency), and only when the pointed generation is
|
|
14
14
|
* GC-quiet (the 24-hour max-visit quiet bound over its newest entry's
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* before the delete (the POST needs the capability bytes the delete
|
|
23
23
|
* destroys).
|
|
24
24
|
*
|
|
25
|
-
* - The COLLECT fan-out is predicate-driven and runs at every
|
|
25
|
+
* - The COLLECT fan-out is predicate-driven and runs at every remembered login:
|
|
26
26
|
* every `gen-` collection the pointer does not name -- the generation a
|
|
27
27
|
* swap just superseded, a torn GC's leftover, a torn signup's orphan, a
|
|
28
28
|
* double-genesis loser -- gets identical treatment (revoke its embedded
|
|
@@ -56,7 +56,7 @@ import type { WasClient } from '@interop/was-client';
|
|
|
56
56
|
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
57
57
|
import type { ClientWebvhUpdateKeys, PublishedWebvhLog, WebvhIdStore } from '../webvh/didWebvh.js';
|
|
58
58
|
/**
|
|
59
|
-
* The fixed GC cadence: a generation is replaced at the first
|
|
59
|
+
* The fixed GC cadence: a generation is replaced at the first remembered login
|
|
60
60
|
* 90 days after the current pointer value was established. Wallet GC policy
|
|
61
61
|
* over the account log's own timestamps, never a stored or wire value.
|
|
62
62
|
*/
|
|
@@ -85,7 +85,7 @@ export declare const GENERATION_QUIET_GRACE_MS: number;
|
|
|
85
85
|
* different annex DID than the entry before it (or the first entry, when
|
|
86
86
|
* the pointer has been there since genesis). This is the cadence's clock --
|
|
87
87
|
* "the pointer-update entry is the record" -- and it is read off the log a
|
|
88
|
-
*
|
|
88
|
+
* remembered login has already verified, so the cadence costs no extra fetch
|
|
89
89
|
* and every enrolled client agrees on it.
|
|
90
90
|
*
|
|
91
91
|
* @param options {object}
|
|
@@ -143,7 +143,7 @@ export type ClientAnnexGcSwapOutcome = 'replaced' | 'not-due' | 'deferred-live'
|
|
|
143
143
|
* One GC pass's report: the swap outcome, the annex DID the account
|
|
144
144
|
* points at after the pass, the generation ids collected (revoked, digested,
|
|
145
145
|
* deleted), and the per-generation failures. A report with `failed` entries
|
|
146
|
-
* is a resumable success -- the next
|
|
146
|
+
* is a resumable success -- the next remembered login's pass picks up exactly
|
|
147
147
|
* the generations still listed.
|
|
148
148
|
*/
|
|
149
149
|
export interface ClientAnnexGcReport {
|
|
@@ -227,7 +227,7 @@ export declare function runClientAnnexGc({ was, wasServerUrl, accountSpaceId, ac
|
|
|
227
227
|
* retired credential's annex inventory dies with the whole generation the
|
|
228
228
|
* moment the re-point lands. The abandoned generation is an ordinary
|
|
229
229
|
* non-pointed `gen-` collection the standing collect fan-out picks up at the
|
|
230
|
-
* next
|
|
230
|
+
* next remembered login.
|
|
231
231
|
*
|
|
232
232
|
* Same four swap stages and ordering as the quarterly GC swap, minus the
|
|
233
233
|
* cadence and quiet gates (the caller's reason for swapping is authority
|
package/dist/clientAnnex/gc.js
CHANGED
|
@@ -2,7 +2,7 @@ import { clientAnnexDidParts, clientAnnexLogPinId, clientAnnexLogStore, delegate
|
|
|
2
2
|
import { readPublishedLog } from '../webvh/didWebvh.js';
|
|
3
3
|
import { accountLogPinId } from '../webvh/verifyLog.js';
|
|
4
4
|
/**
|
|
5
|
-
* The fixed GC cadence: a generation is replaced at the first
|
|
5
|
+
* The fixed GC cadence: a generation is replaced at the first remembered login
|
|
6
6
|
* 90 days after the current pointer value was established. Wallet GC policy
|
|
7
7
|
* over the account log's own timestamps, never a stored or wire value.
|
|
8
8
|
*/
|
|
@@ -31,7 +31,7 @@ export const GENERATION_QUIET_GRACE_MS = 60 * 60 * 1000;
|
|
|
31
31
|
* different annex DID than the entry before it (or the first entry, when
|
|
32
32
|
* the pointer has been there since genesis). This is the cadence's clock --
|
|
33
33
|
* "the pointer-update entry is the record" -- and it is read off the log a
|
|
34
|
-
*
|
|
34
|
+
* remembered login has already verified, so the cadence costs no extra fetch
|
|
35
35
|
* and every enrolled client agrees on it.
|
|
36
36
|
*
|
|
37
37
|
* @param options {object}
|
|
@@ -150,7 +150,7 @@ export async function runClientAnnexGc({ was, wasServerUrl, accountSpaceId, acco
|
|
|
150
150
|
// 1. The swap, when the quarterly cadence is due. Its own failure is
|
|
151
151
|
// collected under the pointed generation's id rather than aborting the
|
|
152
152
|
// pass: the collect fan-out below still cleans what it can, and the next
|
|
153
|
-
//
|
|
153
|
+
// remembered login re-attempts the swap from durable state.
|
|
154
154
|
let swap = 'not-due';
|
|
155
155
|
let currentDid = pointedDid;
|
|
156
156
|
if (clientAnnexGcDue({ log: account.log, now })) {
|
|
@@ -351,7 +351,7 @@ async function replaceClientAnnexGeneration({ was, wasServerUrl, accountSpaceId,
|
|
|
351
351
|
* retired credential's annex inventory dies with the whole generation the
|
|
352
352
|
* moment the re-point lands. The abandoned generation is an ordinary
|
|
353
353
|
* non-pointed `gen-` collection the standing collect fan-out picks up at the
|
|
354
|
-
* next
|
|
354
|
+
* next remembered login.
|
|
355
355
|
*
|
|
356
356
|
* Same four swap stages and ordering as the quarterly GC swap, minus the
|
|
357
357
|
* cadence and quiet gates (the caller's reason for swapping is authority
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/clientAnnex/gc.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gc.js","sourceRoot":"","sources":["../../src/clientAnnex/gc.ts"],"names":[],"mappings":"AAwDA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC5B,iCAAiC,EACjC,oBAAoB,EACpB,mCAAmC,EACnC,wBAAwB,EACxB,qCAAqC,EACrC,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAMvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAE/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAE5D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEvD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oCAAoC,CAAC,EACnD,GAAG,EAGJ;IACC,IAAI,aAAiC,CAAA;IACrC,IAAI,QAA4B,CAAA;IAChC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAA;QAC7D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClD,aAAa,GAAG,KAAK,CAAC,WAAW,CAAA;QACnC,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,mEAAmE;YACnE,oCAAoC;YACpC,aAAa,GAAG,SAAS,CAAA;QAC3B,CAAC;QACD,QAAQ,GAAG,OAAO,CAAA;IACpB,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,GAAG,EACH,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAIjB;IACC,MAAM,aAAa,GAAG,oCAAoC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC/C,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC9B,GAAG,GAAG,aAAa,IAAI,uBAAuB,CAC/C,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAIjB;IACC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW,CAAA;IAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACnC,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACzB,GAAG,GAAG,QAAQ,IAAI,yBAAyB,GAAG,yBAAyB,CACxE,CAAA;AACH,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,GAAG,EACH,YAAY,EACZ,cAAc,EACd,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAmBjB;IACC,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAChE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC1D,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;IAC5D,MAAM,MAAM,GAAkC,EAAE,CAAA;IAEhD,qEAAqE;IACrE,uEAAuE;IACvE,yEAAyE;IACzE,4DAA4D;IAC5D,IAAI,IAAI,GAA6B,SAAS,CAAA;IAC9C,IAAI,UAAU,GAAG,UAAU,CAAA;IAC3B,IAAI,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAChD,IAAI;YACF,UAAU,KAAK,SAAS;gBACtB,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,MAAM,CAAC,KAAK,IAAuC,EAAE;oBACnD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;oBACzD,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,MAAM,yBAAyB,CAAC;4BAC1C,GAAG;4BACH,OAAO;4BACP,YAAY,EAAE,QAAQ,CAAC,YAAY;4BACnC,WAAW,EAAE,UAAU;4BACvB,QAAQ;yBACT,CAAC,CAAA;wBACF,IACE,GAAG,KAAK,SAAS;4BACjB,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EACvC,CAAC;4BACD,sDAAsD;4BACtD,2DAA2D;4BAC3D,yDAAyD;4BACzD,iBAAiB;4BACjB,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAA;wBACvD,CAAC;wBACD,UAAU,GAAG,MAAM,4BAA4B,CAAC;4BAC9C,GAAG;4BACH,YAAY;4BACZ,cAAc;4BACd,OAAO;4BACP,OAAO;4BACP,UAAU;4BACV,UAAU;4BACV,UAAU;4BACV,kBAAkB,EAAE,OAAO;4BAC3B,aAAa,EAAE,GAAG;4BAClB,QAAQ;yBACT,CAAC,CAAA;wBACF,OAAO,UAAU,CAAA;oBACnB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;wBAChE,OAAO,QAAQ,CAAA;oBACjB,CAAC;gBACH,CAAC,CAAC,EAAE,CAAA;IACZ,CAAC;IAED,uEAAuE;IACvE,2EAA2E;IAC3E,qEAAqE;IACrE,qEAAqE;IACrE,8DAA8D;IAC9D,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;QAC9C,GAAG,EAAE,UAAU;KAChB,CAAC,CAAC,YAAY,CAAA;IACf,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IACE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,oBAAoB,CAAC;gBACxC,IAAI,CAAC,EAAE,KAAK,mBAAmB,EAC/B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC;gBACzB,GAAG;gBACH,OAAO;gBACP,YAAY;gBACZ,YAAY;gBACZ,WAAW;aACZ,CAAC,CAAA;YACF,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA;AAC5D,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,yBAAyB,CAAC,EACvC,GAAG,EACH,OAAO,EACP,YAAY,EACZ,WAAW,EACX,QAAQ,EAOT;IACC,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;IACjE,OAAO,gBAAgB,CAAC;QACtB,OAAO,EAAE,KAAqB;QAC9B,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,QAAQ,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE;YACrE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,4BAA4B,CAAC,EAC1C,GAAG,EACH,YAAY,EACZ,cAAc,EACd,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,QAAQ,EAaT;IACC,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,wDAAwD;IACxD,MAAM,MAAM,GAAG,MAAM,mCAAmC,CAAC;QACvD,GAAG;QACH,YAAY;QACZ,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,OAAO,CAAC,GAAG;QACvB,UAAU;KACX,CAAC,CAAA;IAEF,kEAAkE;IAClE,mEAAmE;IACnE,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,iCAAiC,CAAC;QACtC,KAAK,EAAE,mBAAmB,CAAC;YACzB,GAAG;YACH,OAAO,EAAE,kBAAkB;YAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC;QACF,UAAU;QACV,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,wBAAwB,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CACrD,wBAAwB,CAAC;YACvB,UAAU;YACV,YAAY;YACZ,OAAO,EAAE,cAAc;YACvB,cAAc;SACf,CAAC;QACJ,WAAW,EAAE,MAAM,CAAC,GAAG;QACvB,GAAG,CAAC,QAAQ,KAAK,SAAS;YACxB,CAAC,CAAC;gBACE,QAAQ;gBACR,KAAK,EAAE,mBAAmB,CAAC;oBACzB,OAAO,EAAE,kBAAkB;oBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;IAEF,sEAAsE;IACtE,0EAA0E;IAC1E,oEAAoE;IACpE,gEAAgE;IAChE,MAAM,aAAa,GACjB,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,4BAA4B,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAA;IAC9D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,qCAAqC,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAChC,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAA;IACJ,CAAC;IAED,iEAAiE;IACjE,8DAA8D;IAC9D,kEAAkE;IAClE,kBAAkB;IAClB,MAAM,0BAA0B,CAAC;QAC/B,OAAO;QACP,UAAU;QACV,cAAc,EAAE,MAAM,CAAC,GAAG;QAC1B,WAAW,EAAE,OAAO,CAAC,GAAG;QACxB,GAAG,CAAC,QAAQ,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE;YACnE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;IACF,OAAO,MAAM,CAAC,GAAG,CAAA;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,GAAG,EACH,YAAY,EACZ,cAAc,EACd,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EAWT;IACC,MAAM,UAAU,GAAG,uBAAuB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAChE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,iEAAiE;YAC/D,8CAA8C,CACjD,CAAA;IACH,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAA;IAC5D,MAAM,aAAa,GAAG,MAAM,yBAAyB,CAAC;QACpD,GAAG;QACH,OAAO;QACP,YAAY,EAAE,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,YAAY;QACnE,WAAW,EAAE,UAAU;QACvB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CAAA;IACF,OAAO,4BAA4B,CAAC;QAClC,GAAG;QACH,YAAY;QACZ,cAAc;QACd,OAAO;QACP,OAAO;QACP,UAAU;QACV,UAAU;QACV,UAAU;QACV,kBAAkB,EAAE,OAAO;QAC3B,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChD,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,oBAAoB,CAAC,EAClC,GAAG,EACH,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,WAAW,EAYZ;IACC,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,8CAA8C;IAC9C,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;QAChD,GAAG;QACH,OAAO;QACP,YAAY;KACb,CAAC,CAAA;IAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,aAAa,GAAG,4BAA4B,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,qCAAqC,CAAC;gBAC1C,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChC,UAAU,EAAE,aAAa;aAC1B,CAAC,CAAA;QACJ,CAAC;QACD,kEAAkE;QAClE,oEAAoE;QACpE,iEAAiE;QACjE,MAAM,YAAY,CAAC;YACjB,YAAY;YACZ,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW;YACzC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW;YAC/D,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM;SACjC,CAAC,CAAA;IACJ,CAAC;IAED,2EAA2E;IAC3E,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAA;IAC1D,MAAM,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -59,8 +59,8 @@ import type { ICapabilityAgent } from '../webvh/zcap.js';
|
|
|
59
59
|
*
|
|
60
60
|
* `'ladder-vm-not-anchored'`: this credential's ladder VM is not a
|
|
61
61
|
* verification method of the account document, so nothing ladder-signed can
|
|
62
|
-
* verify. Two distinct states land here: an account with enrolled
|
|
63
|
-
*
|
|
62
|
+
* verify. Two distinct states land here: an account with enrolled clients
|
|
63
|
+
* and no ladder VM at all (the self-enrollment's add entry removes
|
|
64
64
|
* them; the mender there is the step-up ceremony, not this ensure), and a
|
|
65
65
|
* client-less account anchored on ANOTHER standing credential's ladder --
|
|
66
66
|
* e.g. a passkey visiting an account the passphrase's ladder anchors, whose
|
|
@@ -4,18 +4,17 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* The `@interop/wallet-core/clientAnnex` subpath: the client annex -- the
|
|
6
6
|
* authoring and maintenance surface of everything anchored on a standing
|
|
7
|
-
* credential's ladder rather than on an enrolled
|
|
7
|
+
* credential's ladder rather than on an enrolled client. One boundary
|
|
8
8
|
* rule holds throughout: this subpath imports from the base subpaths;
|
|
9
9
|
* nothing in the base imports from it (enforced in the lint pass, with one
|
|
10
10
|
* pinned exception -- `unlock/standingWebvh.ts` uses the shared ladder
|
|
11
11
|
* attribution helpers here, never the annex log machinery). The verify-side
|
|
12
|
-
* halves every wallet needs regardless of account configuration stay in the
|
|
13
|
-
* resource-log ladder-append license and `ControllerInventory`
|
|
14
|
-
* computation (`resourceLog`), `ladderVmIds` recognition (`webvh`),
|
|
15
|
-
* unlock-record codec with its `ladder` and `delegatedClients` members
|
|
16
|
-
* (`unlock`), the standing-zcap staleness policy and the generalized log
|
|
17
|
-
*
|
|
18
|
-
* (`space`).
|
|
12
|
+
* halves every wallet needs regardless of account configuration stay in the
|
|
13
|
+
* base: the resource-log ladder-append license and `ControllerInventory`
|
|
14
|
+
* ladder-key computation (`resourceLog`), `ladderVmIds` recognition (`webvh`),
|
|
15
|
+
* the unlock-record codec with its `ladder` and `delegatedClients` members
|
|
16
|
+
* (`unlock`), the standing-zcap staleness policy and the generalized log store
|
|
17
|
+
* seams (`webvh`), and the `GenerationCollect` activity builder (`space`).
|
|
19
18
|
*
|
|
20
19
|
* - The ladder (`ladder.ts`): rung and ladder-VM derivation from the record's
|
|
21
20
|
* random seed, and the shared attribution walks (`attributeLadderRung`,
|
|
@@ -54,12 +53,14 @@ export { ensurePointedClientAnnexGeneration, establishCredentialAnchoredAccount
|
|
|
54
53
|
export type { CredentialAnchoredBindRecordHook, CredentialAnchoredBindResult, CredentialAnchoredEstablishment, CredentialAnchoredStandingFields } from './establish.js';
|
|
55
54
|
export { ensureRosterDeliveredEpochs } from './rosterDeliveredEpochs.js';
|
|
56
55
|
export type { RosterDeliveredEpochsResult } from './rosterDeliveredEpochs.js';
|
|
57
|
-
export {
|
|
56
|
+
export { mendCredentialAnchoredAccount } from './mend.js';
|
|
57
|
+
export type { CredentialAnchoredAccountCore, CredentialAnchoredMendReport, CredentialAnchoredRegistryContext } from './mend.js';
|
|
58
|
+
export { BuiltOnHeadNotReachedError, createLadderAnchoredAccountLog, ensureLadderAnchoredDidWebvh, forgetLastWebvhClient, forgetWebvhClient, installLadderVmWebvh, LastEnrolledClientForgetError, selfEnrollWebvhClient } from './ladderAnchored.js';
|
|
58
59
|
export { selfEnrollClientCore } from './selfEnroll.js';
|
|
59
|
-
export {
|
|
60
|
-
export type {
|
|
61
|
-
export {
|
|
62
|
-
export type { GenerationDelegationRetirement,
|
|
60
|
+
export { forgetEnrolledClient } from './forget.js';
|
|
61
|
+
export type { EnrolledClientForgetResult } from './forget.js';
|
|
62
|
+
export { forgetLastEnrolledClient, RecordRemintFailedError } from './forgetLast.js';
|
|
63
|
+
export type { GenerationDelegationRetirement, LastEnrolledClientForgetResult, UnlockMethodsRemintReach } from './forgetLast.js';
|
|
63
64
|
export { ensureCredentialAnchoredAccountGenesis, mintCredentialAnchoredAccountKeySet } from './credentialAnchoredGenesis.js';
|
|
64
65
|
export { recoverWebvhLadderAnchored } from './recoveryLadderAnchored.js';
|
|
65
66
|
export { createLadderAnchoredWebvhLog, ladderVerificationMethod } from '../webvh/didWebvh.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,18 +4,17 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* The `@interop/wallet-core/clientAnnex` subpath: the client annex -- the
|
|
6
6
|
* authoring and maintenance surface of everything anchored on a standing
|
|
7
|
-
* credential's ladder rather than on an enrolled
|
|
7
|
+
* credential's ladder rather than on an enrolled client. One boundary
|
|
8
8
|
* rule holds throughout: this subpath imports from the base subpaths;
|
|
9
9
|
* nothing in the base imports from it (enforced in the lint pass, with one
|
|
10
10
|
* pinned exception -- `unlock/standingWebvh.ts` uses the shared ladder
|
|
11
11
|
* attribution helpers here, never the annex log machinery). The verify-side
|
|
12
|
-
* halves every wallet needs regardless of account configuration stay in the
|
|
13
|
-
* resource-log ladder-append license and `ControllerInventory`
|
|
14
|
-
* computation (`resourceLog`), `ladderVmIds` recognition (`webvh`),
|
|
15
|
-
* unlock-record codec with its `ladder` and `delegatedClients` members
|
|
16
|
-
* (`unlock`), the standing-zcap staleness policy and the generalized log
|
|
17
|
-
*
|
|
18
|
-
* (`space`).
|
|
12
|
+
* halves every wallet needs regardless of account configuration stay in the
|
|
13
|
+
* base: the resource-log ladder-append license and `ControllerInventory`
|
|
14
|
+
* ladder-key computation (`resourceLog`), `ladderVmIds` recognition (`webvh`),
|
|
15
|
+
* the unlock-record codec with its `ladder` and `delegatedClients` members
|
|
16
|
+
* (`unlock`), the standing-zcap staleness policy and the generalized log store
|
|
17
|
+
* seams (`webvh`), and the `GenerationCollect` activity builder (`space`).
|
|
19
18
|
*
|
|
20
19
|
* - The ladder (`ladder.ts`): rung and ladder-VM derivation from the record's
|
|
21
20
|
* random seed, and the shared attribution walks (`attributeLadderRung`,
|
|
@@ -48,10 +47,11 @@ export { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
|
|
|
48
47
|
export { ClientAnnexGenerationUnavailableError, ensureCredentialClientAnnexGeneration, ladderSignedGenerationDelegationMinter, pointerEntryUpdateKeys, resolveClientAnnexSpaceId } from './heal.js';
|
|
49
48
|
export { ensurePointedClientAnnexGeneration, establishCredentialAnchoredAccount } from './establish.js';
|
|
50
49
|
export { ensureRosterDeliveredEpochs } from './rosterDeliveredEpochs.js';
|
|
51
|
-
export {
|
|
50
|
+
export { mendCredentialAnchoredAccount } from './mend.js';
|
|
51
|
+
export { BuiltOnHeadNotReachedError, createLadderAnchoredAccountLog, ensureLadderAnchoredDidWebvh, forgetLastWebvhClient, forgetWebvhClient, installLadderVmWebvh, LastEnrolledClientForgetError, selfEnrollWebvhClient } from './ladderAnchored.js';
|
|
52
52
|
export { selfEnrollClientCore } from './selfEnroll.js';
|
|
53
|
-
export {
|
|
54
|
-
export {
|
|
53
|
+
export { forgetEnrolledClient } from './forget.js';
|
|
54
|
+
export { forgetLastEnrolledClient, RecordRemintFailedError } from './forgetLast.js';
|
|
55
55
|
export { ensureCredentialAnchoredAccountGenesis, mintCredentialAnchoredAccountKeySet } from './credentialAnchoredGenesis.js';
|
|
56
56
|
export { recoverWebvhLadderAnchored } from './recoveryLadderAnchored.js';
|
|
57
57
|
// The ladder VM's pure document builder and the ladder-anchored genesis log
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AAOpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,qCAAqC,EACrC,qCAAqC,EACrC,sCAAsC,EACtC,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,WAAW,CAAA;AAMlB,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EACnC,MAAM,gBAAgB,CAAA;AAQvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAGxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAA;AAOzD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAGlD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAExE,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,4EAA4E;AAC5E,wBAAwB;AACxB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
|
|
@@ -40,7 +40,7 @@ const LADDER_SALT = 'freewallet/unlock/update-ladder/v1';
|
|
|
40
40
|
const LADDER_RUNG_INFO_PREFIX = 'rung/';
|
|
41
41
|
/**
|
|
42
42
|
* The info label of the ladder VM -- the stable sibling key published in the
|
|
43
|
-
* account document while the account has no enrolled
|
|
43
|
+
* account document while the account has no enrolled client. One salt
|
|
44
44
|
* for everything ladder-seed-derived, with the info namespace doing the
|
|
45
45
|
* separation: `vm` can never collide with a `rung/<n>` label. Permanent.
|
|
46
46
|
*/
|