@interop/wallet-core 0.68.0 → 0.70.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 +31 -41
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +12 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +9 -2
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +10 -0
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +14 -2
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/ladder.d.ts +103 -57
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +254 -335
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +10 -5
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +19 -4
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +83 -35
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +3 -15
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +22 -3
- 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/clients/grantState.d.ts +67 -0
- package/dist/clients/grantState.d.ts.map +1 -0
- package/dist/clients/grantState.js +72 -0
- package/dist/clients/grantState.js.map +1 -0
- package/dist/clients/index.d.ts +7 -0
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +6 -0
- package/dist/clients/index.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/enrollment/connectCode.d.ts +4 -3
- package/dist/enrollment/connectCode.d.ts.map +1 -1
- package/dist/enrollment/connectCode.js +4 -3
- package/dist/enrollment/connectCode.js.map +1 -1
- package/dist/enrollment/index.d.ts +2 -2
- package/dist/enrollment/index.js +2 -2
- package/dist/enrollment/onboardingInvite.d.ts +1 -1
- package/dist/enrollment/onboardingInvite.js +1 -1
- package/dist/enrollment/onboardingResponse.js +1 -1
- package/dist/genesis/accountGenesis.d.ts +13 -1
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +11 -2
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/identity/index.d.ts +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -8
- package/dist/index.js.map +1 -1
- package/dist/keyring/kdf.d.ts +33 -19
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +36 -25
- package/dist/keyring/kdf.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 +5 -4
- package/dist/recovery/continuation.d.ts.map +1 -1
- package/dist/recovery/continuation.js +14 -13
- package/dist/recovery/continuation.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/document.d.ts +10 -2
- package/dist/resourceLog/document.d.ts.map +1 -1
- package/dist/resourceLog/document.js +1 -2
- package/dist/resourceLog/document.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 +4 -1
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +4 -1
- 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 +8 -5
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +8 -5
- 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/space/wasLink.d.ts +13 -2
- package/dist/space/wasLink.d.ts.map +1 -1
- package/dist/space/wasLink.js +28 -2
- package/dist/space/wasLink.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/index.d.ts +1 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js.map +1 -1
- package/dist/unlock/retire.d.ts +8 -1
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +8 -1
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +81 -19
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +170 -30
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/did.d.ts +2 -4
- package/dist/webvh/did.d.ts.map +1 -1
- package/dist/webvh/did.js +2 -4
- package/dist/webvh/did.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +3 -2
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +2 -1
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +13 -7
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +14 -7
- package/dist/webvh/revokeClient.js.map +1 -1
- package/package.json +4 -19
- 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
- package/dist/request/appKey.d.ts +0 -295
- package/dist/request/appKey.d.ts.map +0 -1
- package/dist/request/appKey.js +0 -516
- package/dist/request/appKey.js.map +0 -1
- package/dist/request/capabilityRequest.d.ts +0 -41
- package/dist/request/capabilityRequest.d.ts.map +0 -1
- package/dist/request/capabilityRequest.js +0 -46
- package/dist/request/capabilityRequest.js.map +0 -1
- package/dist/request/classify.d.ts +0 -226
- package/dist/request/classify.d.ts.map +0 -1
- package/dist/request/classify.js +0 -416
- package/dist/request/classify.js.map +0 -1
- package/dist/request/composeVp.d.ts +0 -52
- package/dist/request/composeVp.d.ts.map +0 -1
- package/dist/request/composeVp.js +0 -176
- package/dist/request/composeVp.js.map +0 -1
- package/dist/request/ephemeralExchange.d.ts +0 -100
- package/dist/request/ephemeralExchange.d.ts.map +0 -1
- package/dist/request/ephemeralExchange.js +0 -230
- package/dist/request/ephemeralExchange.js.map +0 -1
- package/dist/request/exchangeClient.d.ts +0 -142
- package/dist/request/exchangeClient.d.ts.map +0 -1
- package/dist/request/exchangeClient.js +0 -241
- package/dist/request/exchangeClient.js.map +0 -1
- package/dist/request/index.d.ts +0 -59
- package/dist/request/index.d.ts.map +0 -1
- package/dist/request/index.js +0 -59
- package/dist/request/index.js.map +0 -1
- package/dist/request/interactionRequest.d.ts +0 -23
- package/dist/request/interactionRequest.d.ts.map +0 -1
- package/dist/request/interactionRequest.js +0 -46
- package/dist/request/interactionRequest.js.map +0 -1
- package/dist/request/interactionUrl.d.ts +0 -42
- package/dist/request/interactionUrl.d.ts.map +0 -1
- package/dist/request/interactionUrl.js +0 -104
- package/dist/request/interactionUrl.js.map +0 -1
- package/dist/request/matching.d.ts +0 -95
- package/dist/request/matching.d.ts.map +0 -1
- package/dist/request/matching.js +0 -205
- package/dist/request/matching.js.map +0 -1
- package/dist/request/onboarding.d.ts +0 -94
- package/dist/request/onboarding.d.ts.map +0 -1
- package/dist/request/onboarding.js +0 -167
- package/dist/request/onboarding.js.map +0 -1
- package/dist/request/parse.d.ts +0 -63
- package/dist/request/parse.d.ts.map +0 -1
- package/dist/request/parse.js +0 -153
- package/dist/request/parse.js.map +0 -1
- package/dist/request/presentationSuite.d.ts +0 -71
- package/dist/request/presentationSuite.d.ts.map +0 -1
- package/dist/request/presentationSuite.js +0 -143
- package/dist/request/presentationSuite.js.map +0 -1
- package/dist/request/processRequest.d.ts +0 -45
- package/dist/request/processRequest.d.ts.map +0 -1
- package/dist/request/processRequest.js +0 -147
- package/dist/request/processRequest.js.map +0 -1
- package/dist/request/queryPredicates.d.ts +0 -98
- package/dist/request/queryPredicates.d.ts.map +0 -1
- package/dist/request/queryPredicates.js +0 -107
- package/dist/request/queryPredicates.js.map +0 -1
- package/dist/request/types.d.ts +0 -257
- package/dist/request/types.d.ts.map +0 -1
- package/dist/request/types.js +0 -2
- package/dist/request/types.js.map +0 -1
- package/dist/request/walletInput.d.ts +0 -93
- package/dist/request/walletInput.d.ts.map +0 -1
- package/dist/request/walletInput.js +0 -179
- package/dist/request/walletInput.js.map +0 -1
|
@@ -216,56 +216,97 @@ export declare function assertNextKeyHashesRemain({ nextKeyHashes, ceremony }: {
|
|
|
216
216
|
}): string[];
|
|
217
217
|
/**
|
|
218
218
|
* The anchor a credential's ladder walk starts from when the caller holds no
|
|
219
|
-
* recorded update key -- the log-only anchoring a cold browser needs.
|
|
220
|
-
* credential
|
|
221
|
-
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
*
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
*
|
|
219
|
+
* recorded update key -- the log-only anchoring a cold browser needs. Every
|
|
220
|
+
* credential-class `keyAgreement` member names its own ladder's rung-0
|
|
221
|
+
* commitment (`ladderCommitment`, written by every bind site through
|
|
222
|
+
* `unlockKeyVerificationMethod`), so the anchor is read off the member
|
|
223
|
+
* itself rather than inferred from the shape of the entry that introduced
|
|
224
|
+
* it. The value is `hash(rung 0)` in the form `nextKeyHashes` carries, the
|
|
225
|
+
* same commitment the bind puts there.
|
|
226
|
+
*
|
|
227
|
+
* The value is taken from the entry that INTRODUCED the member, and only
|
|
228
|
+
* from an account-controlled member (an enrolled client's marked twin is
|
|
229
|
+
* never a credential). A member is introduced each time it appears after
|
|
230
|
+
* not standing, so a member re-bound after a retirement (the same passphrase
|
|
231
|
+
* added again) anchors on the fresh ladder's commitment, and a log read
|
|
232
|
+
* before the retirement entry that struck it still names it. What a later
|
|
233
|
+
* entry says about a member that already stood is checked, not adopted: the
|
|
234
|
+
* property is a document member any update-key holder can restate, and a
|
|
235
|
+
* value that changes while the member stands continuously is a retargeting
|
|
236
|
+
* no bind performs. Such a member names no anchor for the rest of that
|
|
237
|
+
* standing run, so the retargeting is reported as unclaimed rather than
|
|
238
|
+
* quietly walked from the substituted hash. The write side carries the same
|
|
239
|
+
* rule: `publishUnlockKey`, the one path in this library that rewrites a
|
|
240
|
+
* standing member, refuses a bind whose rung-0 hash differs from the value
|
|
241
|
+
* the member already names, so a retargeting in a served log is a foreign
|
|
242
|
+
* writer's and never a torn re-run's. The guard covers only a
|
|
243
|
+
* continuous run: the same update-key holder can strike the member in one
|
|
244
|
+
* entry and re-add it under a fresh commitment in the next, which reads as a
|
|
245
|
+
* legitimate re-bind and is not distinguishable from one seedlessly. That
|
|
246
|
+
* shape rests on the log's loudness and on `survivingClientKeyProtection`
|
|
247
|
+
* instead. A member without the property, or one nowhere in the log, names
|
|
248
|
+
* no anchor either.
|
|
249
|
+
*
|
|
250
|
+
* The named hash must also be one the log COMMITTED FOR THE MEMBER: newly
|
|
251
|
+
* added to `nextKeyHashes` by the introducing entry (the merged bind, the
|
|
252
|
+
* ladder-anchored genesis), by a later entry of the same standing run (the
|
|
253
|
+
* split bind's authority entry, two versions after its key entry), or by an
|
|
254
|
+
* earlier entry whose signer the introducing entry retires (the recovery
|
|
255
|
+
* continuations' reveal-and-commit entry, signed by the spent code's rung,
|
|
256
|
+
* which the add-and-retire entry introducing the replacement's member and
|
|
257
|
+
* the fresh credential's strikes -- every reveal entry of a torn and resumed
|
|
258
|
+
* continuation is that shape). A member naming a hash that stood in
|
|
259
|
+
* `nextKeyHashes` already, committed by some other entry for something else
|
|
260
|
+
* -- an enrolled client's staged hash, say, which any update-key holder can
|
|
261
|
+
* read off the log and restate as a commitment -- names no anchor. Without
|
|
262
|
+
* the check the walk would claim that hash for the credential, and a
|
|
263
|
+
* retirement that honored the claim would strike a surviving client's
|
|
264
|
+
* staged commitment. The check is necessary rather than sufficient: an
|
|
265
|
+
* approver can name a hash BEFORE the enrollment it approves commits it, and
|
|
266
|
+
* that is the shape `survivingClientKeyProtection`'s positional exemption
|
|
267
|
+
* closes. Every refusal returns `undefined`, which the callers report as
|
|
268
|
+
* unclaimed rather than acting on.
|
|
254
269
|
*
|
|
255
270
|
* @param options {object}
|
|
256
271
|
* @param options.log {DIDLog} a resolved, caller-verified log
|
|
257
272
|
* @param options.credentialVmId {string} the credential's `keyAgreement`
|
|
258
273
|
* verification-method id
|
|
259
|
-
* @returns {
|
|
260
|
-
* undefined>}
|
|
274
|
+
* @returns {{ anchorHash: string } | undefined}
|
|
261
275
|
*/
|
|
262
276
|
export declare function credentialLadderAnchor({ log, credentialVmId }: {
|
|
263
277
|
log: DIDLog;
|
|
264
278
|
credentialVmId: string;
|
|
265
|
-
}):
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
279
|
+
}): {
|
|
280
|
+
anchorHash: string;
|
|
281
|
+
} | undefined;
|
|
282
|
+
/**
|
|
283
|
+
* What the log says about a credential member's `ladderCommitment`, before
|
|
284
|
+
* {@link credentialLadderAnchor} decides whether it is an anchor: the value
|
|
285
|
+
* the entry introducing the member's latest standing run named (`named`),
|
|
286
|
+
* whether the member stands in the head document (`stands`), whether a later
|
|
287
|
+
* entry of that run restated the value (`retargeted`), and whether the log
|
|
288
|
+
* committed the named hash for the member (`committed`). The anchor reader
|
|
289
|
+
* is the refusing composition of these; the bind's write-side check reads
|
|
290
|
+
* them apart, since a split bind's authority entry meets a member that names
|
|
291
|
+
* its hash while the log has not committed it yet.
|
|
292
|
+
*
|
|
293
|
+
* @param options {object}
|
|
294
|
+
* @param options.log {DIDLog} a resolved, caller-verified log
|
|
295
|
+
* @param options.credentialVmId {string} the credential's `keyAgreement`
|
|
296
|
+
* verification-method id
|
|
297
|
+
* @returns {{ named?: string, stands: boolean, retargeted: boolean,
|
|
298
|
+
* committed: boolean } | undefined} `undefined` for a member the log
|
|
299
|
+
* never introduced
|
|
300
|
+
*/
|
|
301
|
+
export declare function credentialLadderCommitment({ log, credentialVmId }: {
|
|
302
|
+
log: DIDLog;
|
|
303
|
+
credentialVmId: string;
|
|
304
|
+
}): {
|
|
305
|
+
named?: string;
|
|
306
|
+
stands: boolean;
|
|
307
|
+
retargeted: boolean;
|
|
308
|
+
committed: boolean;
|
|
309
|
+
} | undefined;
|
|
269
310
|
/**
|
|
270
311
|
* The ladder VMs the log introduced ALONGSIDE something of this credential's
|
|
271
312
|
* -- the question a fail-closed retirement gate asks when its seedless walk
|
|
@@ -317,7 +358,7 @@ export declare function ladderVmIdsIntroducedWithCredential({ log, credentialVmI
|
|
|
317
358
|
* lists, read off the log alone -- the latent commitments a client removal
|
|
318
359
|
* must exclude before it attributes the removed client's staged hash. Each
|
|
319
360
|
* credential-class `keyAgreement` member (an unmarked method, verbatim key or
|
|
320
|
-
* commitment) is anchored from its
|
|
361
|
+
* commitment) is anchored from its member's `ladderCommitment` and walked
|
|
321
362
|
* ({@link attributeLadderInventory}); a credential whose anchor or walk
|
|
322
363
|
* refuses claims nothing and is named on `unclaimedCredentialVmIds`, so the
|
|
323
364
|
* caller can tell "no latent hashes stand" from "one credential's could not
|
|
@@ -407,9 +448,12 @@ export declare function retiredCredentialRungsBeforeKey({ log, authorizedKeyMult
|
|
|
407
448
|
* than a property of the walk, because a mis-anchored walk landing on a
|
|
408
449
|
* client's key would otherwise end that client's ability to extend the
|
|
409
450
|
* account log for good. The walks therefore run FIRST, and the hashes they
|
|
410
|
-
* claimed are passed to the protection as
|
|
451
|
+
* claimed are passed to the protection as walk-derived, so a retiring
|
|
411
452
|
* credential's own rung cannot make a client's staged attribution ambiguous
|
|
412
|
-
* and get itself protected as a candidate
|
|
453
|
+
* and get itself protected as a candidate. The protection never lets such
|
|
454
|
+
* a claim prune the hash the decision-0007 position names as a client's
|
|
455
|
+
* staged hash, so a walk anchored on a member that names that hash claims
|
|
456
|
+
* it and is withheld, rather than striking it;
|
|
413
457
|
* - a listed enrolled client whose ACTIVE update key the log cannot attribute
|
|
414
458
|
* withholds the WHOLE strike: nothing is struck and every credential is
|
|
415
459
|
* reported, since the structural guard cannot say what that client holds.
|
|
@@ -540,29 +584,31 @@ export declare function attributeRetiredCredentialRungs({ log, credentialVmIds,
|
|
|
540
584
|
* once matches no legitimate history and fails closed ({@link
|
|
541
585
|
* LadderAttributionError}).
|
|
542
586
|
*
|
|
543
|
-
* One shape is out of
|
|
544
|
-
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
587
|
+
* One shape is out of the backward walk's reach. The last-client transition
|
|
588
|
+
* strikes the ladder VM and reinstalls it in the same run
|
|
589
|
+
* (`forgetLastEnrolledClient` stage 1): same seed, the credential's member
|
|
590
|
+
* standing, the acting rung's hash still committed, and no hash added. A
|
|
591
|
+
* later self-enrollment then spends that already-revealed rung, so its
|
|
548
592
|
* reveal-and-commit entry authorizes no key while committing the next rung's
|
|
549
593
|
* hash, and the registry anchor advances to that next rung. The backward walk
|
|
550
594
|
* climbs from the anchor by asking which key the entry that committed its
|
|
551
595
|
* hash authorized; that entry authorized none, so the walk cannot name the
|
|
552
|
-
* rung that signed it, and
|
|
553
|
-
*
|
|
554
|
-
*
|
|
596
|
+
* rung that signed it, and a walk anchored on the registry key alone leaves
|
|
597
|
+
* the earlier rung and the reinstalled VM unrecovered. A walk anchored on the
|
|
598
|
+
* member's own rung-0 commitment reads that history forward with no climb,
|
|
599
|
+
* which is why the removal paths walk from both anchors
|
|
600
|
+
* (`attributeUnlockLadderInventory`) and act on the member's reading.
|
|
555
601
|
*
|
|
556
602
|
* The anchor comes in three forms, and the walk is the same afterwards. A
|
|
557
603
|
* recorded update-key multibase (`anchorKeyMultibase`) is what a caller
|
|
558
604
|
* holding a registry entry passes. A hash (`anchorHash`) is the same anchor
|
|
559
605
|
* with the key withheld: the rung is picked up when the log reveals it, since
|
|
560
606
|
* the reveal test already matches on the commitment. With neither, and a
|
|
561
|
-
* `credentialVmId` in hand, the anchor is read off the credential's
|
|
562
|
-
* ({@link credentialLadderAnchor}) -- the cold-browser
|
|
563
|
-
* is readable before the entry is written.
|
|
564
|
-
*
|
|
565
|
-
* walking from a guess.
|
|
607
|
+
* `credentialVmId` in hand, the anchor is read off the credential's own
|
|
608
|
+
* `keyAgreement` member ({@link credentialLadderAnchor}) -- the cold-browser
|
|
609
|
+
* mode, where no registry is readable before the entry is written. A member
|
|
610
|
+
* naming no ladder commitment refuses with {@link LadderAttributionError}
|
|
611
|
+
* rather than walking from a guess.
|
|
566
612
|
*
|
|
567
613
|
* @param options {object}
|
|
568
614
|
* @param options.log {DIDLog} a resolved, caller-verified log
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ladder.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/ladder.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"ladder.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/ladder.ts"],"names":[],"mappings":"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"}
|