@interop/wallet-core 0.65.0 → 0.67.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -8
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +5 -4
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +32 -50
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +112 -21
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +248 -180
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +2 -6
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +31 -61
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +48 -132
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +88 -221
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +9 -0
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +97 -13
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +108 -174
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +8 -8
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +6 -6
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladder.d.ts +51 -4
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +310 -55
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +37 -3
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +69 -34
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +148 -72
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +211 -137
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +63 -81
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +20 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +77 -294
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -5
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +18 -9
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +1 -1
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/clientAnnex/zcap.d.ts +19 -0
- package/dist/clientAnnex/zcap.d.ts.map +1 -1
- package/dist/clientAnnex/zcap.js +80 -12
- package/dist/clientAnnex/zcap.js.map +1 -1
- package/dist/clients/index.d.ts +3 -2
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -2
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +33 -15
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/policy.d.ts +18 -0
- package/dist/clients/policy.d.ts.map +1 -1
- package/dist/clients/policy.js +22 -8
- package/dist/clients/policy.js.map +1 -1
- package/dist/clients/revocation.d.ts +18 -30
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js +12 -27
- package/dist/clients/revocation.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts +6 -1
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +27 -30
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/errors.d.ts +6 -5
- package/dist/descriptors/errors.d.ts.map +1 -1
- package/dist/descriptors/errors.js +6 -5
- package/dist/descriptors/errors.js.map +1 -1
- package/dist/descriptors/index.d.ts +7 -3
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +7 -3
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +28 -6
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +33 -7
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +3 -7
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +8 -10
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +39 -41
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/genesis/kmsAuthentication.d.ts +50 -0
- package/dist/genesis/kmsAuthentication.d.ts.map +1 -0
- package/dist/genesis/kmsAuthentication.js +49 -0
- package/dist/genesis/kmsAuthentication.js.map +1 -0
- package/dist/keyring/kdf.d.ts +16 -20
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +2 -2
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keyring/unlockSpace.d.ts +8 -30
- package/dist/keyring/unlockSpace.d.ts.map +1 -1
- package/dist/keyring/unlockSpace.js +8 -31
- package/dist/keyring/unlockSpace.js.map +1 -1
- package/dist/keys/clientKeyRecord.d.ts +2 -1
- package/dist/keys/clientKeyRecord.d.ts.map +1 -1
- package/dist/keys/clientKeyRecord.js +28 -11
- package/dist/keys/clientKeyRecord.js.map +1 -1
- package/dist/keys/index.d.ts +19 -5
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +17 -3
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +3 -1
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +20 -8
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +92 -3
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +110 -4
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyCascade.d.ts +8 -5
- package/dist/keys/userKeyCascade.d.ts.map +1 -1
- package/dist/keys/userKeyCascade.js +7 -6
- package/dist/keys/userKeyCascade.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +68 -4
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +146 -33
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts +110 -10
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +184 -40
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/recovery/continuation.d.ts +255 -0
- package/dist/recovery/continuation.d.ts.map +1 -0
- package/dist/recovery/continuation.js +471 -0
- package/dist/recovery/continuation.js.map +1 -0
- package/dist/recovery/index.d.ts +12 -8
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/index.js +11 -7
- package/dist/recovery/index.js.map +1 -1
- package/dist/recovery/recoveryDelegation.d.ts +40 -120
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +36 -268
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +42 -83
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +44 -380
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/request/appKey.d.ts +35 -1
- package/dist/request/appKey.d.ts.map +1 -1
- package/dist/request/appKey.js +29 -10
- package/dist/request/appKey.js.map +1 -1
- package/dist/request/classify.d.ts +3 -14
- package/dist/request/classify.d.ts.map +1 -1
- package/dist/request/classify.js +19 -40
- package/dist/request/classify.js.map +1 -1
- package/dist/request/index.d.ts +1 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +1 -0
- package/dist/request/index.js.map +1 -1
- package/dist/request/onboarding.d.ts.map +1 -1
- package/dist/request/onboarding.js +19 -27
- package/dist/request/onboarding.js.map +1 -1
- package/dist/request/parse.d.ts +5 -3
- package/dist/request/parse.d.ts.map +1 -1
- package/dist/request/parse.js +7 -6
- package/dist/request/parse.js.map +1 -1
- package/dist/request/processRequest.d.ts.map +1 -1
- package/dist/request/processRequest.js +2 -1
- package/dist/request/processRequest.js.map +1 -1
- package/dist/request/queryPredicates.d.ts +98 -0
- package/dist/request/queryPredicates.d.ts.map +1 -0
- package/dist/request/queryPredicates.js +107 -0
- package/dist/request/queryPredicates.js.map +1 -0
- package/dist/resourceLog/document.d.ts +39 -0
- package/dist/resourceLog/document.d.ts.map +1 -1
- package/dist/resourceLog/document.js +41 -0
- package/dist/resourceLog/document.js.map +1 -1
- package/dist/resourceLog/ladderRungs.d.ts.map +1 -1
- package/dist/resourceLog/ladderRungs.js +3 -2
- package/dist/resourceLog/ladderRungs.js.map +1 -1
- package/dist/sync/contactsConflict.d.ts.map +1 -1
- package/dist/sync/contactsConflict.js +8 -2
- package/dist/sync/contactsConflict.js.map +1 -1
- package/dist/sync/engine.d.ts +38 -23
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js +36 -5
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -12
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -11
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +1 -2
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/remint.d.ts +0 -31
- package/dist/sync/remint.d.ts.map +1 -1
- package/dist/sync/remint.js +32 -1
- package/dist/sync/remint.js.map +1 -1
- package/dist/sync/types.d.ts +4 -41
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +4 -47
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/index.d.ts +1 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js +1 -1
- package/dist/unlock/index.js.map +1 -1
- package/dist/unlock/retire.d.ts +16 -56
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +7 -76
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +20 -40
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +35 -76
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/unlock/unlockRecord.d.ts.map +1 -1
- package/dist/unlock/unlockRecord.js +69 -44
- package/dist/unlock/unlockRecord.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +63 -7
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +110 -19
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +18 -12
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +32 -11
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +39 -23
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +63 -45
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts.map +1 -1
- package/dist/webvh/enrollClient.js +19 -23
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +11 -7
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +9 -6
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +102 -65
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/mergeMethods.d.ts +84 -0
- package/dist/webvh/mergeMethods.d.ts.map +1 -0
- package/dist/webvh/mergeMethods.js +46 -0
- package/dist/webvh/mergeMethods.js.map +1 -0
- package/dist/webvh/revokeClient.d.ts +12 -2
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +126 -48
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +21 -0
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +36 -14
- package/dist/webvh/verifyLog.js.map +1 -1
- package/package.json +11 -11
|
@@ -41,7 +41,7 @@ import { hkdf } from '@noble/hashes/hkdf.js';
|
|
|
41
41
|
import { sha256 } from '@noble/hashes/sha2.js';
|
|
42
42
|
import { currentLogParameters, effectiveParameters, updateKeyMultibase } from '../webvh/didWebvh.js';
|
|
43
43
|
import { listEnrolledWebvhClients } from '../webvh/listClients.js';
|
|
44
|
-
import { credentialKeyAgreementMethods, ladderVmIds, relationIds, resolvedKeyAgreementMethods } from '../resourceLog/document.js';
|
|
44
|
+
import { credentialKeyAgreementMethods, introducedCredentialKeys, ladderVmIds, relationIds, resolvedKeyAgreementMethods, retiredCredentialKeys } from '../resourceLog/document.js';
|
|
45
45
|
import { survivingClientKeyProtection } from '../webvh/revokeClient.js';
|
|
46
46
|
import { log as logger } from '../log.js';
|
|
47
47
|
import { LADDER_SEED_BYTES } from '../unlock/unlockRecord.js';
|
|
@@ -143,6 +143,24 @@ export async function ladderRung({ ladderSeed, index }) {
|
|
|
143
143
|
const seed = ladderRungSeed({ ladderSeed, index });
|
|
144
144
|
return { index, seed, keyMultibase: await updateKeyMultibase({ seed }) };
|
|
145
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Derives rungs `0..maxScan - 1` and their `nextKeyHashes` commitments
|
|
148
|
+
* concurrently. Each rung is an HKDF expansion plus an Ed25519 keygen, so a
|
|
149
|
+
* seeded scan of the full range is worth deriving in parallel rather than one
|
|
150
|
+
* `await` per index. The result is in ascending rung order, so a caller that
|
|
151
|
+
* classifies over it sees the same order a serial loop did.
|
|
152
|
+
*
|
|
153
|
+
* @param options {object}
|
|
154
|
+
* @param options.ladderSeed {Uint8Array}
|
|
155
|
+
* @param options.maxScan {number} how many rungs to derive, from 0
|
|
156
|
+
* @returns {Promise<{ rung: LadderRung, hash: string }[]>}
|
|
157
|
+
*/
|
|
158
|
+
async function deriveLadderRungs({ ladderSeed, maxScan }) {
|
|
159
|
+
return await Promise.all(Array.from({ length: maxScan }, async (unused, index) => {
|
|
160
|
+
const rung = await ladderRung({ ladderSeed, index });
|
|
161
|
+
return { rung, hash: await deriveNextKeyHash(rung.keyMultibase) };
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
146
164
|
/**
|
|
147
165
|
* Derives the 32-byte Ed25519 seed of the ladder VM -- the STABLE SIBLING: a
|
|
148
166
|
* dedicated key derived once from the ladder seed, distinct from every rung,
|
|
@@ -248,12 +266,14 @@ export async function clientAnnexRung({ ladderSeed, generationId }) {
|
|
|
248
266
|
export async function attributeLadderRung({ ladderSeed, published, maxScan = LADDER_MAX_SCAN }) {
|
|
249
267
|
const revealed = [];
|
|
250
268
|
const committed = [];
|
|
251
|
-
|
|
252
|
-
|
|
269
|
+
// The whole range is derived up front: the ambiguity refusal below counts
|
|
270
|
+
// every match, so there is nothing to exit early for.
|
|
271
|
+
const scanned = await deriveLadderRungs({ ladderSeed, maxScan });
|
|
272
|
+
for (const { rung, hash } of scanned) {
|
|
253
273
|
if (published.updateKeys.includes(rung.keyMultibase)) {
|
|
254
274
|
revealed.push(rung);
|
|
255
275
|
}
|
|
256
|
-
else if (published.nextKeyHashes.includes(
|
|
276
|
+
else if (published.nextKeyHashes.includes(hash)) {
|
|
257
277
|
committed.push(rung);
|
|
258
278
|
}
|
|
259
279
|
}
|
|
@@ -331,26 +351,6 @@ function credentialSurvives({ entry, vmId }) {
|
|
|
331
351
|
// commitment.
|
|
332
352
|
return relationIds(entry.state.keyAgreement).includes(vmId);
|
|
333
353
|
}
|
|
334
|
-
/**
|
|
335
|
-
* The credential-class `keyAgreement` verification-method ids an entry
|
|
336
|
-
* INTRODUCES: those its document publishes and the previous entry's document
|
|
337
|
-
* did not. Credential-class means account-controlled
|
|
338
|
-
* (`credentialKeyAgreementMethods`), so an enrolled client's marked twin
|
|
339
|
-
* never counts. The co-introduction arm of the ladder-VM attribution reads
|
|
340
|
-
* this and refuses to act unless the answer is exactly this credential.
|
|
341
|
-
*
|
|
342
|
-
* @param options {object}
|
|
343
|
-
* @param options.doc {KeyAgreementDocument} the entry's document
|
|
344
|
-
* @param [options.prevDoc] {KeyAgreementDocument} the previous entry's
|
|
345
|
-
* @param options.did {string} the account DID
|
|
346
|
-
* @returns {string[]} in document order
|
|
347
|
-
*/
|
|
348
|
-
function introducedCredentialKeys({ doc, prevDoc, did }) {
|
|
349
|
-
const before = new Set((prevDoc ? credentialKeyAgreementMethods({ doc: prevDoc, did }) : []).map(method => method.id));
|
|
350
|
-
return credentialKeyAgreementMethods({ doc, did })
|
|
351
|
-
.map(method => method.id)
|
|
352
|
-
.filter((id) => id !== undefined && !before.has(id));
|
|
353
|
-
}
|
|
354
354
|
/**
|
|
355
355
|
* The log-derived indexes every attribution walk starts from, computed once
|
|
356
356
|
* per log rather than once per credential.
|
|
@@ -463,7 +463,11 @@ function indexLadderLog({ log, params }) {
|
|
|
463
463
|
* ours yet, and at the spent recovery code whose reveal entry commits the
|
|
464
464
|
* REPLACEMENT code's hash last -- without it the replacement's retirement
|
|
465
465
|
* would recover the spent code's key and go on to strike the fresh
|
|
466
|
-
* credential's rungs.
|
|
466
|
+
* credential's rungs. That last stop is load-bearing for the anchor rule of
|
|
467
|
+
* `decisions/0014`: a replacement code anchored on that last-position hash
|
|
468
|
+
* enters this walk through the climb rule, and its member is published one
|
|
469
|
+
* entry after the reveal that committed the hash, which is exactly what the
|
|
470
|
+
* test refuses on. The single-self-revealing-key test stops it at the bind
|
|
467
471
|
* entry an enrolled client signs, which authorizes no key of its own, so the
|
|
468
472
|
* binding client's update key is never recovered as a rung. The strictly
|
|
469
473
|
* decreasing entry cursor and the already-recovered test keep the walk finite
|
|
@@ -639,11 +643,27 @@ function introducesEnrolledClient({ doc, prevDoc, did }) {
|
|
|
639
643
|
* hash (the `publishUnlockKey` bind an enrolled client signs, and the
|
|
640
644
|
* recovery-code issuance sharing it), so rung 0's hash is that hash.
|
|
641
645
|
*
|
|
646
|
+
* A third shape is the recovery add-and-retire entry, which the two above
|
|
647
|
+
* cannot read: the transient continuation's introduces the fresh credential's
|
|
648
|
+
* member and the replacement code's together, and the remembered
|
|
649
|
+
* continuation's introduces the replacement's beside an enrolled client. Both
|
|
650
|
+
* are the HANDOVER of `decisions/0007`, read here as the anchor rule of
|
|
651
|
+
* `decisions/0014`: the entry authorized exactly one key, that key signed it,
|
|
652
|
+
* that key's hash was committed by an earlier reveal-and-commit entry whose
|
|
653
|
+
* signer this entry retires, and that earlier entry appended exactly three
|
|
654
|
+
* hashes with the successor's first. The reveal entry's LAST addition is then
|
|
655
|
+
* the replacement code's rung-0 hash (what an entry hands to a successor
|
|
656
|
+
* credential comes last), and the successor key is the fresh credential's
|
|
657
|
+
* rung 0. Which member is which is read off the `keyAgreement` relation's
|
|
658
|
+
* order, which the emitter fixes: the fresh credential's member precedes the
|
|
659
|
+
* replacement code's. So a two-member bind that publishes no enrolled client
|
|
660
|
+
* anchors its first member on the successor key and its second on the last
|
|
661
|
+
* addition; a one-member bind that publishes an enrolled client anchors that
|
|
662
|
+
* member on the last addition alone, since the successor key there is the
|
|
663
|
+
* client's.
|
|
664
|
+
*
|
|
642
665
|
* Anything else is ambiguous and returns `undefined`, which the callers report
|
|
643
|
-
* as unclaimed rather than acting on.
|
|
644
|
-
* introducing more than one credential-class member: a recovery
|
|
645
|
-
* add-and-retire entry introduces the fresh credential and the replacement
|
|
646
|
-
* code together, so neither is anchorable this way.
|
|
666
|
+
* as unclaimed rather than acting on.
|
|
647
667
|
*
|
|
648
668
|
* @param options {object}
|
|
649
669
|
* @param options.log {DIDLog} a resolved, caller-verified log
|
|
@@ -653,8 +673,8 @@ function introducesEnrolledClient({ doc, prevDoc, did }) {
|
|
|
653
673
|
* undefined>}
|
|
654
674
|
*/
|
|
655
675
|
export async function credentialLadderAnchor({ log, credentialVmId }) {
|
|
656
|
-
const { facts } = indexedLadderLog(log);
|
|
657
|
-
return resolveBindAnchor({ log, facts, credentialVmId });
|
|
676
|
+
const { facts, commitIndex } = indexedLadderLog(log);
|
|
677
|
+
return resolveBindAnchor({ log, facts, commitIndex, credentialVmId });
|
|
658
678
|
}
|
|
659
679
|
/**
|
|
660
680
|
* The ladder VMs the log introduced ALONGSIDE something of this credential's
|
|
@@ -736,16 +756,142 @@ export async function ladderVmIdsIntroducedWithCredential({ log, credentialVmId,
|
|
|
736
756
|
return [...new Set(candidates)];
|
|
737
757
|
}
|
|
738
758
|
/**
|
|
739
|
-
* The
|
|
740
|
-
*
|
|
759
|
+
* The earlier attempts behind a RESUMED reveal entry: one that appended
|
|
760
|
+
* exactly two hashes, the successor's and its staged partner's, because the
|
|
761
|
+
* replacement's was already committed by an earlier attempt. A transient
|
|
762
|
+
* continuation torn at its seam and re-run mints a fresh ladder seed while
|
|
763
|
+
* reusing the replacement (both as its contract asks), so every reveal entry
|
|
764
|
+
* after the first dedups the replacement's hash away. Such an entry's own
|
|
765
|
+
* last addition is the ladder's rung 1, not a handover; the replacement's
|
|
766
|
+
* hash is the last addition of a three-addition entry the same retired
|
|
767
|
+
* signer wrote earlier.
|
|
768
|
+
*
|
|
769
|
+
* Every earlier entry that signer wrote is read. A two-addition one is
|
|
770
|
+
* another resumed reveal, walked past (a continuation torn at its seam twice
|
|
771
|
+
* leaves one behind). A three-addition one is an attempt that committed a
|
|
772
|
+
* replacement, and its last addition is collected. Any other size is no
|
|
773
|
+
* attempt of this continuation's, and the answer is refused. The two readers
|
|
774
|
+
* ask different questions of the result: the forward walk asks only whether
|
|
775
|
+
* an attempt committed a replacement at all (so the two-addition entry's last
|
|
776
|
+
* position is the ladder's own rung), while the anchor rule needs exactly one
|
|
777
|
+
* such attempt, since more than one means the replacement changed between
|
|
778
|
+
* resumes, which the contract forbids and which no last position can settle.
|
|
779
|
+
*
|
|
780
|
+
* @param options {object}
|
|
781
|
+
* @param options.facts {LadderEntryFacts[]} from {@link indexLadderLog}
|
|
782
|
+
* @param options.before {number} the resumed reveal entry's index
|
|
783
|
+
* @param options.retiredSigners {string[]} the signers the add-and-retire
|
|
784
|
+
* entry retires
|
|
785
|
+
* @returns {string[] | undefined} the replacement hashes the earlier
|
|
786
|
+
* attempts committed, nearest first; `undefined` on a refusal
|
|
787
|
+
*/
|
|
788
|
+
function resumedRevealReplacementHashes({ facts, before, retiredSigners }) {
|
|
789
|
+
const replacementHashes = [];
|
|
790
|
+
for (let index = before - 1; index >= 0; index--) {
|
|
791
|
+
const attempt = facts[index];
|
|
792
|
+
if (!attempt.signers.some(key => retiredSigners.includes(key))) {
|
|
793
|
+
continue;
|
|
794
|
+
}
|
|
795
|
+
if (attempt.addedHashes.length === 2) {
|
|
796
|
+
continue;
|
|
797
|
+
}
|
|
798
|
+
if (attempt.addedHashes.length !== 3) {
|
|
799
|
+
return undefined;
|
|
800
|
+
}
|
|
801
|
+
replacementHashes.push(attempt.addedHashes[2]);
|
|
802
|
+
}
|
|
803
|
+
return replacementHashes;
|
|
804
|
+
}
|
|
805
|
+
/**
|
|
806
|
+
* The recovery add-and-retire arm of {@link resolveBindAnchor}: the handover
|
|
807
|
+
* shape of `decisions/0007` read as an anchor, per `decisions/0014`. Every
|
|
808
|
+
* test is fail-closed. A shape that passes them all names the successor key
|
|
809
|
+
* the entry authorized and, when the reveal entry that committed its hash
|
|
810
|
+
* (or, on a resumed reveal, the attempt before it) ends on one, the
|
|
811
|
+
* replacement code's hash. The two are decoupled on purpose: the successor
|
|
812
|
+
* key is unambiguous from the bind entry alone, so a replacement lookup that
|
|
813
|
+
* refuses leaves the fresh credential anchored and retirable.
|
|
814
|
+
*
|
|
815
|
+
* The between-entries test is what refuses a remembered continuation whose
|
|
816
|
+
* reveal entry was published twice with a DIFFERENT replacement code, which
|
|
817
|
+
* the continuation's contract forbids. The retired signer then signed an
|
|
818
|
+
* entry after the reveal, and no last addition is the replacement's. A reveal
|
|
819
|
+
* published twice with the SAME replacement is the resumed shape
|
|
820
|
+
* {@link resumedRevealReplacementHashes} reads.
|
|
821
|
+
*
|
|
822
|
+
* The retired-member test is what keeps the arm off a self-enrollment's add
|
|
823
|
+
* entry, which passes every other clause: its reveal entry also commits
|
|
824
|
+
* exactly three hashes with the successor's first, and its add entry also
|
|
825
|
+
* authorizes one self-signing key while retiring the reveal's signer. Only a
|
|
826
|
+
* spend strikes a credential-class `keyAgreement` member in that entry, and
|
|
827
|
+
* a self-enrollment's third hash is the acting ladder's own next rung, not a
|
|
828
|
+
* successor's.
|
|
829
|
+
*
|
|
830
|
+
* @param options {object}
|
|
831
|
+
* @param options.facts {LadderEntryFacts[]} from {@link indexLadderLog}
|
|
832
|
+
* @param options.commitIndex {Map<string, LadderCommitOrigin>} likewise
|
|
833
|
+
* @param options.bind {LadderEntryFacts} the bind entry's facts
|
|
834
|
+
* @param options.index {number} the bind entry's index
|
|
835
|
+
* @param options.successorKeyMultibase {string} the one key it authorized
|
|
836
|
+
* @param options.successorHash {string} that key's hash
|
|
837
|
+
* @param options.retiresCredentialMember {boolean} whether the bind entry
|
|
838
|
+
* struck a credential-class `keyAgreement` member (the spent code's)
|
|
839
|
+
* @returns {{ successorKeyMultibase: string, replacementHash?: string } |
|
|
840
|
+
* undefined}
|
|
841
|
+
*/
|
|
842
|
+
function resolveHandoverShape({ facts, commitIndex, bind, index, successorKeyMultibase, successorHash, retiresCredentialMember }) {
|
|
843
|
+
if (!retiresCredentialMember ||
|
|
844
|
+
bind.addedKeys.length !== 1 ||
|
|
845
|
+
!bind.signers.includes(successorKeyMultibase)) {
|
|
846
|
+
return undefined;
|
|
847
|
+
}
|
|
848
|
+
// The reveal entry: it committed the successor's hash first among exactly
|
|
849
|
+
// three additions (or two, on a resumed reveal), and this entry retires a
|
|
850
|
+
// key that signed it.
|
|
851
|
+
const origin = commitIndex.get(successorHash);
|
|
852
|
+
if (origin === undefined || origin.entryIndex >= index || origin.at !== 0) {
|
|
853
|
+
return undefined;
|
|
854
|
+
}
|
|
855
|
+
const reveal = facts[origin.entryIndex];
|
|
856
|
+
const retiredSigners = reveal.signers.filter(signer => bind.removedKeys.includes(signer));
|
|
857
|
+
if (retiredSigners.length === 0) {
|
|
858
|
+
return undefined;
|
|
859
|
+
}
|
|
860
|
+
for (let between = origin.entryIndex + 1; between < index; between++) {
|
|
861
|
+
if (facts[between].signers.some(key => retiredSigners.includes(key))) {
|
|
862
|
+
return undefined;
|
|
863
|
+
}
|
|
864
|
+
}
|
|
865
|
+
const earlier = reveal.addedHashes.length === 2
|
|
866
|
+
? resumedRevealReplacementHashes({
|
|
867
|
+
facts,
|
|
868
|
+
before: origin.entryIndex,
|
|
869
|
+
retiredSigners
|
|
870
|
+
})
|
|
871
|
+
: undefined;
|
|
872
|
+
const replacementHash = reveal.addedHashes.length === 3
|
|
873
|
+
? reveal.addedHashes[2]
|
|
874
|
+
: earlier?.length === 1
|
|
875
|
+
? earlier[0]
|
|
876
|
+
: undefined;
|
|
877
|
+
return {
|
|
878
|
+
successorKeyMultibase,
|
|
879
|
+
...(replacementHash !== undefined ? { replacementHash } : {})
|
|
880
|
+
};
|
|
881
|
+
}
|
|
882
|
+
/**
|
|
883
|
+
* The core of {@link credentialLadderAnchor}, over a pre-pass the caller
|
|
884
|
+
* already ran.
|
|
741
885
|
*
|
|
742
886
|
* @param options {object}
|
|
743
887
|
* @param options.log {DIDLog}
|
|
744
888
|
* @param options.facts {LadderEntryFacts[]} from {@link indexLadderLog}
|
|
889
|
+
* @param options.commitIndex {Map<string, LadderCommitOrigin>} likewise
|
|
745
890
|
* @param options.credentialVmId {string}
|
|
746
|
-
* @returns {{ anchorKeyMultibase?: string, anchorHash?: string } |
|
|
891
|
+
* @returns {Promise<{ anchorKeyMultibase?: string, anchorHash?: string } |
|
|
892
|
+
* undefined>}
|
|
747
893
|
*/
|
|
748
|
-
function resolveBindAnchor({ log, facts, credentialVmId }) {
|
|
894
|
+
async function resolveBindAnchor({ log, facts, commitIndex, credentialVmId }) {
|
|
749
895
|
const did = credentialVmId.split('#')[0];
|
|
750
896
|
if (did === undefined || did === '') {
|
|
751
897
|
return undefined;
|
|
@@ -773,26 +919,71 @@ function resolveBindAnchor({ log, facts, credentialVmId }) {
|
|
|
773
919
|
if (!introduced.includes(credentialVmId)) {
|
|
774
920
|
continue;
|
|
775
921
|
}
|
|
776
|
-
// The bind entry.
|
|
777
|
-
// and nothing below can say which addition is whose.
|
|
778
|
-
if (introduced.length !== 1) {
|
|
779
|
-
return undefined;
|
|
780
|
-
}
|
|
922
|
+
// The bind entry.
|
|
781
923
|
const bind = facts[index];
|
|
782
924
|
if (bind === undefined) {
|
|
783
925
|
return undefined;
|
|
784
926
|
}
|
|
927
|
+
const publishesClient = introducesEnrolledClient({
|
|
928
|
+
doc: doc,
|
|
929
|
+
prevDoc: prevDocBefore,
|
|
930
|
+
did
|
|
931
|
+
});
|
|
932
|
+
// The recovery add-and-retire arm, on the two shapes the continuations
|
|
933
|
+
// write: two credential-class members and no client (the transient
|
|
934
|
+
// continuation), or one member beside a client (the remembered one). The
|
|
935
|
+
// successor key is an anchor only on the first shape, and only when the
|
|
936
|
+
// log attributes it to no enrolled client; on the second it is the
|
|
937
|
+
// client's update key, and only the replacement's hash is read.
|
|
938
|
+
const successorKey = bind.addedKeys[0];
|
|
939
|
+
const handover = successorKey === undefined || introduced.length > 2
|
|
940
|
+
? undefined
|
|
941
|
+
: resolveHandoverShape({
|
|
942
|
+
facts,
|
|
943
|
+
commitIndex,
|
|
944
|
+
bind,
|
|
945
|
+
index,
|
|
946
|
+
successorKeyMultibase: successorKey,
|
|
947
|
+
successorHash: await deriveNextKeyHash(successorKey),
|
|
948
|
+
retiresCredentialMember: retiredCredentialKeys({ doc, prevDoc: prevDocBefore, did })
|
|
949
|
+
.length > 0
|
|
950
|
+
});
|
|
951
|
+
if (handover !== undefined) {
|
|
952
|
+
const replacementAnchor = handover.replacementHash === undefined
|
|
953
|
+
? undefined
|
|
954
|
+
: { anchorHash: handover.replacementHash };
|
|
955
|
+
if (introduced.length === 2 && !publishesClient) {
|
|
956
|
+
if (credentialVmId === introduced[0]) {
|
|
957
|
+
return enrolledClientKeys.has(handover.successorKeyMultibase)
|
|
958
|
+
? undefined
|
|
959
|
+
: { anchorKeyMultibase: handover.successorKeyMultibase };
|
|
960
|
+
}
|
|
961
|
+
return replacementAnchor;
|
|
962
|
+
}
|
|
963
|
+
if (introduced.length === 1 && publishesClient) {
|
|
964
|
+
return replacementAnchor;
|
|
965
|
+
}
|
|
966
|
+
// A handover whose members match neither continuation's shape. The
|
|
967
|
+
// continuation refuses to re-bind a standing credential's own member
|
|
968
|
+
// (`RecoveryCredentialStandingError`), so no emitter writes a
|
|
969
|
+
// one-member transient entry; a log that carries one is refused here
|
|
970
|
+
// rather than have the self-signed-key arm below anchor the
|
|
971
|
+
// replacement on the fresh credential's rung 0.
|
|
972
|
+
return undefined;
|
|
973
|
+
}
|
|
974
|
+
// More than one credential-class member introduced here and nothing
|
|
975
|
+
// below can say which addition is whose.
|
|
976
|
+
if (introduced.length !== 1) {
|
|
977
|
+
return undefined;
|
|
978
|
+
}
|
|
785
979
|
// The fourth condition: an entry that also publishes an enrolled client
|
|
786
980
|
// names no credential's rung. The remembered recovery's add-and-retire
|
|
787
|
-
// entry is
|
|
981
|
+
// entry is this shape -- the new client's key-agreement method is
|
|
788
982
|
// client-marked, so the credential-class count above sees only the
|
|
789
983
|
// replacement code and the ambiguity guard does not fire, while the one
|
|
790
|
-
// key the entry authorizes is the CLIENT's update key
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
prevDoc: prevDocBefore,
|
|
794
|
-
did
|
|
795
|
-
})) {
|
|
984
|
+
// key the entry authorizes is the CLIENT's update key -- and the handover
|
|
985
|
+
// arm above is the only reading of it.
|
|
986
|
+
if (publishesClient) {
|
|
796
987
|
return undefined;
|
|
797
988
|
}
|
|
798
989
|
const revealed = bind.addedKeys[0];
|
|
@@ -837,6 +1028,59 @@ async function claimLadderInventory({ log, credentialVmId, maxScan }) {
|
|
|
837
1028
|
return undefined;
|
|
838
1029
|
}
|
|
839
1030
|
}
|
|
1031
|
+
/**
|
|
1032
|
+
* The committed rung hashes of every standing credential the head document
|
|
1033
|
+
* lists, read off the log alone -- the latent commitments a client removal
|
|
1034
|
+
* must exclude before it attributes the removed client's staged hash. Each
|
|
1035
|
+
* credential-class `keyAgreement` member (an unmarked method, verbatim key or
|
|
1036
|
+
* commitment) is anchored from its bind entry and walked
|
|
1037
|
+
* ({@link attributeLadderInventory}); a credential whose anchor or walk
|
|
1038
|
+
* refuses claims nothing and is named on `unclaimedCredentialVmIds`, so the
|
|
1039
|
+
* caller can tell "no latent hashes stand" from "one credential's could not
|
|
1040
|
+
* be read" rather than treating both as an empty list.
|
|
1041
|
+
*
|
|
1042
|
+
* Read-only and under-claiming by construction: a walk that refuses is
|
|
1043
|
+
* reported, never guessed, and the surviving-client protection is not applied
|
|
1044
|
+
* here (a claimed hash is only ever EXCLUDED from a staged-hash attribution,
|
|
1045
|
+
* so an over-claim can at worst leave the removed client's staged hash to the
|
|
1046
|
+
* positional rule, while an under-claim leaves it to the same rule).
|
|
1047
|
+
*
|
|
1048
|
+
* @param options {object}
|
|
1049
|
+
* @param options.log {DIDLog} a resolved, caller-verified log
|
|
1050
|
+
* @param [options.maxScan] {number} the ladder walk's bound
|
|
1051
|
+
* @returns {Promise<{ hashes: string[], unclaimedCredentialVmIds: string[] }>}
|
|
1052
|
+
* the claimed committed hashes, deduplicated, and the credentials whose
|
|
1053
|
+
* walk refused
|
|
1054
|
+
*/
|
|
1055
|
+
export async function standingCredentialLatentHashes({ log, maxScan = LADDER_MAX_SCAN }) {
|
|
1056
|
+
const hashes = new Set();
|
|
1057
|
+
const unclaimedCredentialVmIds = [];
|
|
1058
|
+
if (log.length === 0) {
|
|
1059
|
+
return { hashes: [], unclaimedCredentialVmIds };
|
|
1060
|
+
}
|
|
1061
|
+
const head = log[log.length - 1].state;
|
|
1062
|
+
for (const method of credentialKeyAgreementMethods({
|
|
1063
|
+
doc: head,
|
|
1064
|
+
did: head.id
|
|
1065
|
+
})) {
|
|
1066
|
+
if (method.id === undefined) {
|
|
1067
|
+
continue;
|
|
1068
|
+
}
|
|
1069
|
+
const inventory = await claimLadderInventory({
|
|
1070
|
+
log,
|
|
1071
|
+
credentialVmId: method.id,
|
|
1072
|
+
maxScan
|
|
1073
|
+
});
|
|
1074
|
+
if (inventory === undefined) {
|
|
1075
|
+
unclaimedCredentialVmIds.push(method.id);
|
|
1076
|
+
continue;
|
|
1077
|
+
}
|
|
1078
|
+
for (const hash of inventory.committedHashes) {
|
|
1079
|
+
hashes.add(hash);
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
return { hashes: [...hashes], unclaimedCredentialVmIds };
|
|
1083
|
+
}
|
|
840
1084
|
/**
|
|
841
1085
|
* The strike a retirement entry ALREADY published, recomputed by re-running
|
|
842
1086
|
* {@link attributeRetiredCredentialRungs} over the log as it stood just before
|
|
@@ -1148,7 +1392,7 @@ export async function attributeLadderInventory({ log, anchorKeyMultibase, anchor
|
|
|
1148
1392
|
if (anchorKey === undefined && anchorHash === undefined) {
|
|
1149
1393
|
const resolved = credentialVmId === undefined
|
|
1150
1394
|
? undefined
|
|
1151
|
-
: resolveBindAnchor({ log, facts, credentialVmId });
|
|
1395
|
+
: await resolveBindAnchor({ log, facts, commitIndex, credentialVmId });
|
|
1152
1396
|
if (resolved === undefined) {
|
|
1153
1397
|
throw new LadderAttributionError('The ladder walk was given no anchor, and the log does not name an ' +
|
|
1154
1398
|
'unambiguous bind entry for this credential; refusing to ' +
|
|
@@ -1168,12 +1412,11 @@ export async function attributeLadderInventory({ log, anchorKeyMultibase, anchor
|
|
|
1168
1412
|
const derivedHashes = new Set([anchorHash]);
|
|
1169
1413
|
const ladderHashes = new Set([anchorHash]);
|
|
1170
1414
|
if (ladderSeed) {
|
|
1171
|
-
|
|
1172
|
-
|
|
1415
|
+
const scanned = await deriveLadderRungs({ ladderSeed, maxScan });
|
|
1416
|
+
for (const { rung, hash } of scanned) {
|
|
1173
1417
|
ladderKeys.add(rung.keyMultibase);
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
ladderHashes.add(rungHash);
|
|
1418
|
+
derivedHashes.add(hash);
|
|
1419
|
+
ladderHashes.add(hash);
|
|
1177
1420
|
}
|
|
1178
1421
|
}
|
|
1179
1422
|
// Without the seed, the anchor alone would hide every entry a spent rung
|
|
@@ -1327,9 +1570,21 @@ export async function attributeLadderInventory({ log, anchorKeyMultibase, anchor
|
|
|
1327
1570
|
if (origin !== undefined && originFacts !== undefined) {
|
|
1328
1571
|
const successor = originFacts.addedHashes[origin.at + 1];
|
|
1329
1572
|
const successorLast = origin.at + 2 === originFacts.addedHashes.length;
|
|
1573
|
+
const retiredSigners = originFacts.signers.filter(signer => removedKeys.includes(signer));
|
|
1574
|
+
// A RESUMED reveal entry -- two additions, the replacement's hash
|
|
1575
|
+
// already committed by an earlier attempt of the same retired
|
|
1576
|
+
// signer -- hands nothing in its last position: that is the
|
|
1577
|
+
// ladder's own next rung ({@link resumedRevealReplacementHashes}).
|
|
1578
|
+
const resumedReveal = origin.at === 0 &&
|
|
1579
|
+
originFacts.addedHashes.length === 2 &&
|
|
1580
|
+
(resumedRevealReplacementHashes({
|
|
1581
|
+
facts,
|
|
1582
|
+
before: origin.entryIndex,
|
|
1583
|
+
retiredSigners
|
|
1584
|
+
})?.length ?? 0) > 0;
|
|
1330
1585
|
if (successor !== undefined &&
|
|
1331
|
-
!successorLast &&
|
|
1332
|
-
|
|
1586
|
+
(!successorLast || resumedReveal) &&
|
|
1587
|
+
retiredSigners.length > 0) {
|
|
1333
1588
|
pending.claims.unshift(successor);
|
|
1334
1589
|
ladderHashes.add(successor);
|
|
1335
1590
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ladder.js","sourceRoot":"","sources":["../../src/clientAnnex/ladder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ladder.js","sourceRoot":"","sources":["../../src/clientAnnex/ladder.ts"],"names":[],"mappings":"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"}
|