@interop/wallet-core 0.32.0 → 0.34.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/clients/rosterPolicy.d.ts +1 -1
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +13 -7
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +66 -2
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +121 -7
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +24 -1
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +5 -1
- package/dist/webvh/verifyLog.js.map +1 -1
- package/package.json +1 -1
|
@@ -53,7 +53,7 @@ import type { IKeyAgreementKey } from '@interop/data-integrity-core';
|
|
|
53
53
|
import type { CollectionEncryption } from '@interop/was-client';
|
|
54
54
|
import type { EncryptionDescriptorStore } from '@interop/was-client/edv';
|
|
55
55
|
import { type UserKey, type UserKeyRosterReadResult } from '../keys/index.js';
|
|
56
|
-
import {
|
|
56
|
+
import type { ResourceLogPinStore } from '../resourceLog/index.js';
|
|
57
57
|
import type { AccountLogPointer } from './listing.js';
|
|
58
58
|
/**
|
|
59
59
|
* What an adopted user key carries: the key itself, the roster epoch to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rosterPolicy.d.ts","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"rosterPolicy.d.ts","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AACxE,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAErD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,oBAAoB,CAAA;CACjC;AA8BD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,KAAK,EACL,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,YAAY,EACb,EAAE;IACD,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,EAAE,gBAAgB,CAAA;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1D,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CA8B1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,OAAO,EACP,KAAK,EACL,OAAO,EACP,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,EAAE;IACD,OAAO,EAAE,iBAAiB,CAAA;IAC1B,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,oBAAoB,CAAA;IAChC,qBAAqB,EAAE,gBAAgB,CAAA;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;IACxC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,oBAAoB,CAAA;CACjC,CAAC,CAwGD"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { convergeUserKeyRosterToDocument, isSealableDescriptorStore,
|
|
2
|
-
import { ResourceLogContinuityError, ResourceLogIntegrityError } from '../resourceLog/index.js';
|
|
1
|
+
import { convergeUserKeyRosterToDocument, isSealableDescriptorStore, readUserKeyRoster } from '../keys/index.js';
|
|
3
2
|
import { verifyAccountLog } from '../webvh/index.js';
|
|
4
3
|
/**
|
|
5
4
|
* Whether a thrown error is one of the roster refusals -- a fabricated or
|
|
@@ -9,15 +8,22 @@ import { verifyAccountLog } from '../webvh/index.js';
|
|
|
9
8
|
* than degrading it, so both entry points rethrow them instead of warning and
|
|
10
9
|
* carrying on.
|
|
11
10
|
*
|
|
11
|
+
* Matched on `err.name` rather than `instanceof`: the errors are raised inside
|
|
12
|
+
* the app-injected descriptor store, which can resolve to a different copy of
|
|
13
|
+
* this package (linked, or duplicated through a dependency tree), and a
|
|
14
|
+
* refusal from that copy must not fall into the warn-and-proceed transport
|
|
15
|
+
* branch.
|
|
16
|
+
*
|
|
12
17
|
* @param err {unknown}
|
|
13
18
|
* @returns {boolean}
|
|
14
19
|
*/
|
|
15
20
|
function isRosterRefusal(err) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
const name = err?.name;
|
|
22
|
+
return (name === 'ResourceLogContinuityError' ||
|
|
23
|
+
name === 'ResourceLogIntegrityError' ||
|
|
24
|
+
name === 'UserKeyRosterContinuityError' ||
|
|
25
|
+
name === 'UserKeyRosterIntegrityError' ||
|
|
26
|
+
name === 'UserKeyRosterUnwrapError');
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
29
|
* The login-time roster read. See the module doc for the failure semantics.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rosterPolicy.js","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"AAsDA,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"rosterPolicy.js","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"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"}
|
package/dist/webvh/didWebvh.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { DIDDoc, DIDLog, Signer } from '@interop/did-method-webvh';
|
|
2
2
|
import type { KeystoreAgent } from '@interop/webkms-client';
|
|
3
|
+
import type { ResourceLogPinStore } from '../resourceLog/pin.js';
|
|
3
4
|
import type { DidWebKeyMap } from './didWeb.js';
|
|
4
5
|
/**
|
|
5
6
|
* The Space-side seam this module reads and writes through: the world-readable
|
|
@@ -285,14 +286,32 @@ export interface PublishedWebvhLog {
|
|
|
285
286
|
* hold the account pointer (or an earlier read of the same log, mid-ceremony)
|
|
286
287
|
* pass it; a caller discovering the DID from the log itself cannot.
|
|
287
288
|
*
|
|
289
|
+
* Given a `pinStore`, the resolved log takes the same chain-head continuity
|
|
290
|
+
* check `verifyAccountLog` runs, through literally the same seam and refusal
|
|
291
|
+
* class: a served log that is a rollback, a fork, or an SCID/method switch
|
|
292
|
+
* relative to the pinned head is refused with a
|
|
293
|
+
* {@link ResourceLogContinuityError} rather than built on, and the pin is
|
|
294
|
+
* established at first contact and advanced only by a log that verifies past
|
|
295
|
+
* it. This is what stops a host from feeding a ceremony a valid PREFIX of the
|
|
296
|
+
* real log -- same SCID, same DID, resolves cleanly -- and having the ceremony
|
|
297
|
+
* republish the truncated history plus one entry as durable state. A
|
|
298
|
+
* `rollback` is the one reason that may be nothing worse than replication lag,
|
|
299
|
+
* exactly as on a governed resource log; nothing rolled back is ever adopted
|
|
300
|
+
* here either way. An ABSENT log under a held pin is not "not yet published"
|
|
301
|
+
* but a full truncation of a history this client has already seen, so it is
|
|
302
|
+
* refused as a `rollback` instead of read as `undefined`.
|
|
303
|
+
*
|
|
288
304
|
* @param options {object}
|
|
289
305
|
* @param options.idStore {WebvhIdStore}
|
|
290
306
|
* @param [options.expectedDid] {string} the DID the log must resolve to
|
|
307
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
308
|
+
* pin for the account log
|
|
291
309
|
* @returns {Promise<PublishedWebvhLog | undefined>}
|
|
292
310
|
*/
|
|
293
|
-
export declare function readPublishedLog({ idStore, expectedDid }: {
|
|
311
|
+
export declare function readPublishedLog({ idStore, expectedDid, pinStore }: {
|
|
294
312
|
idStore: WebvhIdStore;
|
|
295
313
|
expectedDid?: string;
|
|
314
|
+
pinStore?: ResourceLogPinStore;
|
|
296
315
|
}): Promise<PublishedWebvhLog | undefined>;
|
|
297
316
|
/**
|
|
298
317
|
* The shared tail of every ceremony path that has nothing left to append to
|
|
@@ -361,6 +380,16 @@ export declare function effectiveParameters(log: DIDLog): Array<{
|
|
|
361
380
|
* winner's log -- adopting it when it holds this client's seeds, and raising
|
|
362
381
|
* the lost-seed refusal when it does not.
|
|
363
382
|
*
|
|
383
|
+
* The probe read is checked against the DID this run expects -- a caller's
|
|
384
|
+
* `expectedDid`, else the `webvh` block of the `keys.json` it was handed -- and
|
|
385
|
+
* against a supplied `pinStore`, so neither a substituted log nor a truncated
|
|
386
|
+
* prefix of the real one can be adopted here. One exemption, and it is the
|
|
387
|
+
* documented first-contact case: an adoption holding neither a caller-supplied
|
|
388
|
+
* `expectedDid` nor a `keys.json` webvh block legitimately discovers the DID
|
|
389
|
+
* from the log itself, and runs unchecked. On the create path a supplied
|
|
390
|
+
* `pinStore` is pinned to the log this run just published, since the creator
|
|
391
|
+
* knows the true genesis and first contact should not be left to the next read.
|
|
392
|
+
*
|
|
364
393
|
* @param options {object}
|
|
365
394
|
* @param options.idStore {WebvhIdStore}
|
|
366
395
|
* @param options.wasServerUrl {string}
|
|
@@ -369,6 +398,10 @@ export declare function effectiveParameters(log: DIDLog): Array<{
|
|
|
369
398
|
* webvh block) returned by the did:web provisioning.
|
|
370
399
|
* @param options.clientKeys {WebvhClientKeys} this client's published keys
|
|
371
400
|
* @param options.updateKeys {ClientWebvhUpdateKeys} already durably persisted
|
|
401
|
+
* @param [options.expectedDid] {string} the DID the published log must
|
|
402
|
+
* resolve to, when the caller holds the account pointer
|
|
403
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
404
|
+
* pin for the account log
|
|
372
405
|
* @returns {Promise<{ did: string }>}
|
|
373
406
|
*/
|
|
374
407
|
export declare function ensureDidWebvh(options: {
|
|
@@ -378,6 +411,8 @@ export declare function ensureDidWebvh(options: {
|
|
|
378
411
|
didWebKeys: DidWebKeyMapV2;
|
|
379
412
|
clientKeys: WebvhClientKeys;
|
|
380
413
|
updateKeys: ClientWebvhUpdateKeys;
|
|
414
|
+
expectedDid?: string;
|
|
415
|
+
pinStore?: ResourceLogPinStore;
|
|
381
416
|
}): Promise<{
|
|
382
417
|
did: string;
|
|
383
418
|
}>;
|
|
@@ -407,17 +442,31 @@ export declare function ensureDidWebvh(options: {
|
|
|
407
442
|
* (see {@link withLogConflictRetry}), which mints and persists a fresh staged
|
|
408
443
|
* seed again -- the documented cost of a torn rotation, one unused staged key.
|
|
409
444
|
*
|
|
445
|
+
* A rotation is a publish, so the read it builds on carries the full check: an
|
|
446
|
+
* `expectedDid` refuses a substituted log, and a `pinStore` refuses a served
|
|
447
|
+
* history that is a rollback, a fork, or an SCID/method switch -- without it a
|
|
448
|
+
* host serving a truncated prefix gets this ceremony to republish the
|
|
449
|
+
* truncation plus its own entry as the log's durable state. The pin advances
|
|
450
|
+
* to the head this ceremony publishes, so a host that rolls the log back
|
|
451
|
+
* immediately afterwards is caught by the next read.
|
|
452
|
+
*
|
|
410
453
|
* @param options {object}
|
|
411
454
|
* @param options.idStore {WebvhIdStore}
|
|
412
455
|
* @param options.updateKeys {ClientWebvhUpdateKeys} the current seeds
|
|
413
456
|
* @param options.persistUpdateKeys {Function} awaited before every publish
|
|
414
457
|
* that changes the log's authorized update keys
|
|
458
|
+
* @param [options.expectedDid] {string} the DID the published log must
|
|
459
|
+
* resolve to
|
|
460
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
461
|
+
* pin for the account log
|
|
415
462
|
* @returns {Promise<{ did: string }>}
|
|
416
463
|
*/
|
|
417
464
|
export declare function rotateWebvhUpdateKey(options: {
|
|
418
465
|
idStore: WebvhIdStore;
|
|
419
466
|
updateKeys: ClientWebvhUpdateKeys;
|
|
420
467
|
persistUpdateKeys: (next: ClientWebvhUpdateKeys) => Promise<void>;
|
|
468
|
+
expectedDid?: string;
|
|
469
|
+
pinStore?: ResourceLogPinStore;
|
|
421
470
|
}): Promise<{
|
|
422
471
|
did: string;
|
|
423
472
|
}>;
|
|
@@ -517,13 +566,28 @@ export declare function enrollWebvhClient(options: {
|
|
|
517
566
|
* An unmatchable binding is unrepairable and throws: a published artifact
|
|
518
567
|
* depends on a key the keystore no longer lists.
|
|
519
568
|
*
|
|
569
|
+
* The log read takes the same checks every other ceremony read does, and for
|
|
570
|
+
* the same reason: what it reads is written straight back into the rebuilt
|
|
571
|
+
* `keys.json`, so a substituted log would rewrite the `webvh` block to a wrong
|
|
572
|
+
* DID and a truncated one would be adopted as this account's history. A caller
|
|
573
|
+
* that still holds the account pointer passes `expectedDid` and its
|
|
574
|
+
* `pinStore`; the pure-recovery caller that has lost everything but the
|
|
575
|
+
* keystore has no DID to expect and passes neither, which is the one read here
|
|
576
|
+
* that legitimately discovers the DID from the log itself.
|
|
577
|
+
*
|
|
520
578
|
* @param options {object}
|
|
521
579
|
* @param options.keystoreAgent {KeystoreAgent}
|
|
522
580
|
* @param options.idStore {WebvhIdStore}
|
|
581
|
+
* @param [options.expectedDid] {string} the DID the published log must
|
|
582
|
+
* resolve to
|
|
583
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
584
|
+
* pin for the account log
|
|
523
585
|
* @returns {Promise<DidWebKeyMapV2>} the rebuilt, persisted keys.json
|
|
524
586
|
*/
|
|
525
|
-
export declare function repairKeyBindings({ keystoreAgent, idStore }: {
|
|
587
|
+
export declare function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore }: {
|
|
526
588
|
keystoreAgent: KeystoreAgent;
|
|
527
589
|
idStore: WebvhIdStore;
|
|
590
|
+
expectedDid?: string;
|
|
591
|
+
pinStore?: ResourceLogPinStore;
|
|
528
592
|
}): Promise<DidWebKeyMapV2>;
|
|
529
593
|
//# sourceMappingURL=didWebvh.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"AAwEA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAO3D,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
package/dist/webvh/didWebvh.js
CHANGED
|
@@ -62,7 +62,9 @@
|
|
|
62
62
|
import { createDID, deriveNextKeyHash, generateParallelDidWeb, logToJsonlString, readLogFromString, resolveDIDFromLog, SCID_PLACEHOLDER, signerFromExternalKey, updateDID } from '@interop/did-method-webvh';
|
|
63
63
|
import { Ed25519VerificationKey } from '@interop/ed25519-verification-key';
|
|
64
64
|
import { DID_DOCUMENT_RESOURCE, DID_LOG_RESOURCE, ID_COLLECTION } from '../space/collections.js';
|
|
65
|
+
import { ResourceLogContinuityError } from '../resourceLog/errors.js';
|
|
65
66
|
import { multibaseOf } from './didWeb.js';
|
|
67
|
+
import { checkAccountLogContinuity } from './verifyLog.js';
|
|
66
68
|
/**
|
|
67
69
|
* The Multikey verification-method type the did:webvh data model uses for both
|
|
68
70
|
* the Ed25519 (authentication/assertionMethod/capability*) and X25519
|
|
@@ -406,16 +408,42 @@ async function writeKeysJson({ idStore, didWebKeys, webvh }) {
|
|
|
406
408
|
* hold the account pointer (or an earlier read of the same log, mid-ceremony)
|
|
407
409
|
* pass it; a caller discovering the DID from the log itself cannot.
|
|
408
410
|
*
|
|
411
|
+
* Given a `pinStore`, the resolved log takes the same chain-head continuity
|
|
412
|
+
* check `verifyAccountLog` runs, through literally the same seam and refusal
|
|
413
|
+
* class: a served log that is a rollback, a fork, or an SCID/method switch
|
|
414
|
+
* relative to the pinned head is refused with a
|
|
415
|
+
* {@link ResourceLogContinuityError} rather than built on, and the pin is
|
|
416
|
+
* established at first contact and advanced only by a log that verifies past
|
|
417
|
+
* it. This is what stops a host from feeding a ceremony a valid PREFIX of the
|
|
418
|
+
* real log -- same SCID, same DID, resolves cleanly -- and having the ceremony
|
|
419
|
+
* republish the truncated history plus one entry as durable state. A
|
|
420
|
+
* `rollback` is the one reason that may be nothing worse than replication lag,
|
|
421
|
+
* exactly as on a governed resource log; nothing rolled back is ever adopted
|
|
422
|
+
* here either way. An ABSENT log under a held pin is not "not yet published"
|
|
423
|
+
* but a full truncation of a history this client has already seen, so it is
|
|
424
|
+
* refused as a `rollback` instead of read as `undefined`.
|
|
425
|
+
*
|
|
409
426
|
* @param options {object}
|
|
410
427
|
* @param options.idStore {WebvhIdStore}
|
|
411
428
|
* @param [options.expectedDid] {string} the DID the log must resolve to
|
|
429
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
430
|
+
* pin for the account log
|
|
412
431
|
* @returns {Promise<PublishedWebvhLog | undefined>}
|
|
413
432
|
*/
|
|
414
|
-
export async function readPublishedLog({ idStore, expectedDid }) {
|
|
433
|
+
export async function readPublishedLog({ idStore, expectedDid, pinStore }) {
|
|
415
434
|
const read = await idStore.getIdResourceRaw({
|
|
416
435
|
resourceId: DID_LOG_RESOURCE
|
|
417
436
|
});
|
|
418
437
|
if (read === undefined) {
|
|
438
|
+
if (pinStore) {
|
|
439
|
+
const pin = await pinStore.read();
|
|
440
|
+
if (pin) {
|
|
441
|
+
throw new ResourceLogContinuityError({
|
|
442
|
+
reason: 'rollback',
|
|
443
|
+
pinnedHead: pin.head
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
}
|
|
419
447
|
return undefined;
|
|
420
448
|
}
|
|
421
449
|
const log = readLogFromString(read.text);
|
|
@@ -427,6 +455,15 @@ export async function readPublishedLog({ idStore, expectedDid }) {
|
|
|
427
455
|
throw new Error('did:webvh: the published did.jsonl resolves to a different DID ' +
|
|
428
456
|
`(${resolved.did}) than expected (${expectedDid}).`);
|
|
429
457
|
}
|
|
458
|
+
if (pinStore) {
|
|
459
|
+
const pin = await pinStore.read();
|
|
460
|
+
const served = checkAccountLogContinuity({ log, pin });
|
|
461
|
+
// Advanced only when the served head is genuinely ahead of the pin: the
|
|
462
|
+
// check above has already refused everything that is not.
|
|
463
|
+
if (!pin || pin.head !== served.head) {
|
|
464
|
+
await pinStore.write(served);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
430
467
|
return {
|
|
431
468
|
log,
|
|
432
469
|
did: resolved.did,
|
|
@@ -436,6 +473,18 @@ export async function readPublishedLog({ idStore, expectedDid }) {
|
|
|
436
473
|
etag: read.etag
|
|
437
474
|
};
|
|
438
475
|
}
|
|
476
|
+
/**
|
|
477
|
+
* The chain-head pin a log establishes: the genesis entry's method and SCID
|
|
478
|
+
* plus the head entry's `versionId`. Used where this client is the one that
|
|
479
|
+
* just published the log and so knows its genesis firsthand -- first contact
|
|
480
|
+
* should not be left to whatever the host serves back on the next read.
|
|
481
|
+
*
|
|
482
|
+
* @param log {DIDLog}
|
|
483
|
+
* @returns {ResourceLogHeadPin}
|
|
484
|
+
*/
|
|
485
|
+
function pinOfLog(log) {
|
|
486
|
+
return checkAccountLogContinuity({ log, pin: null });
|
|
487
|
+
}
|
|
439
488
|
/**
|
|
440
489
|
* The shared tail of every ceremony path that has nothing left to append to
|
|
441
490
|
* the log -- an adoption, a resumed rotation, an already-enrolled no-op, an
|
|
@@ -558,6 +607,16 @@ function advancedSeeds({ published, multibases, updateKeys }) {
|
|
|
558
607
|
* winner's log -- adopting it when it holds this client's seeds, and raising
|
|
559
608
|
* the lost-seed refusal when it does not.
|
|
560
609
|
*
|
|
610
|
+
* The probe read is checked against the DID this run expects -- a caller's
|
|
611
|
+
* `expectedDid`, else the `webvh` block of the `keys.json` it was handed -- and
|
|
612
|
+
* against a supplied `pinStore`, so neither a substituted log nor a truncated
|
|
613
|
+
* prefix of the real one can be adopted here. One exemption, and it is the
|
|
614
|
+
* documented first-contact case: an adoption holding neither a caller-supplied
|
|
615
|
+
* `expectedDid` nor a `keys.json` webvh block legitimately discovers the DID
|
|
616
|
+
* from the log itself, and runs unchecked. On the create path a supplied
|
|
617
|
+
* `pinStore` is pinned to the log this run just published, since the creator
|
|
618
|
+
* knows the true genesis and first contact should not be left to the next read.
|
|
619
|
+
*
|
|
561
620
|
* @param options {object}
|
|
562
621
|
* @param options.idStore {WebvhIdStore}
|
|
563
622
|
* @param options.wasServerUrl {string}
|
|
@@ -566,6 +625,10 @@ function advancedSeeds({ published, multibases, updateKeys }) {
|
|
|
566
625
|
* webvh block) returned by the did:web provisioning.
|
|
567
626
|
* @param options.clientKeys {WebvhClientKeys} this client's published keys
|
|
568
627
|
* @param options.updateKeys {ClientWebvhUpdateKeys} already durably persisted
|
|
628
|
+
* @param [options.expectedDid] {string} the DID the published log must
|
|
629
|
+
* resolve to, when the caller holds the account pointer
|
|
630
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
631
|
+
* pin for the account log
|
|
569
632
|
* @returns {Promise<{ did: string }>}
|
|
570
633
|
*/
|
|
571
634
|
export async function ensureDidWebvh(options) {
|
|
@@ -577,8 +640,16 @@ export async function ensureDidWebvh(options) {
|
|
|
577
640
|
* @param options {object} see {@link ensureDidWebvh}
|
|
578
641
|
* @returns {Promise<{ did: string }>}
|
|
579
642
|
*/
|
|
580
|
-
async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys, clientKeys, updateKeys }) {
|
|
581
|
-
|
|
643
|
+
async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys, clientKeys, updateKeys, expectedDid, pinStore }) {
|
|
644
|
+
// The DID this run expects the published log to resolve to: the caller's,
|
|
645
|
+
// else the one keys.json already records. Undefined only on the documented
|
|
646
|
+
// first-contact adoption, which discovers the DID from the log itself.
|
|
647
|
+
const expected = expectedDid ?? didWebKeys.webvh?.did;
|
|
648
|
+
const published = await readPublishedLog({
|
|
649
|
+
idStore,
|
|
650
|
+
...(expected !== undefined ? { expectedDid: expected } : {}),
|
|
651
|
+
...(pinStore ? { pinStore } : {})
|
|
652
|
+
});
|
|
582
653
|
const multibases = await updateKeyMultibases({ updateKeys });
|
|
583
654
|
if (published) {
|
|
584
655
|
// Adoption: the log is already public (this client provisioned it, or a
|
|
@@ -633,6 +704,11 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
633
704
|
// erasing it.
|
|
634
705
|
ifNoneMatch: true
|
|
635
706
|
});
|
|
707
|
+
// Trust-on-first-use, established by the creator itself: this run minted the
|
|
708
|
+
// genesis, so the pin it writes needs no served log to be believed.
|
|
709
|
+
if (pinStore) {
|
|
710
|
+
await pinStore.write(pinOfLog(created.log));
|
|
711
|
+
}
|
|
636
712
|
await writeKeysJson({
|
|
637
713
|
idStore,
|
|
638
714
|
didWebKeys,
|
|
@@ -666,11 +742,23 @@ async function ensureDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys,
|
|
|
666
742
|
* (see {@link withLogConflictRetry}), which mints and persists a fresh staged
|
|
667
743
|
* seed again -- the documented cost of a torn rotation, one unused staged key.
|
|
668
744
|
*
|
|
745
|
+
* A rotation is a publish, so the read it builds on carries the full check: an
|
|
746
|
+
* `expectedDid` refuses a substituted log, and a `pinStore` refuses a served
|
|
747
|
+
* history that is a rollback, a fork, or an SCID/method switch -- without it a
|
|
748
|
+
* host serving a truncated prefix gets this ceremony to republish the
|
|
749
|
+
* truncation plus its own entry as the log's durable state. The pin advances
|
|
750
|
+
* to the head this ceremony publishes, so a host that rolls the log back
|
|
751
|
+
* immediately afterwards is caught by the next read.
|
|
752
|
+
*
|
|
669
753
|
* @param options {object}
|
|
670
754
|
* @param options.idStore {WebvhIdStore}
|
|
671
755
|
* @param options.updateKeys {ClientWebvhUpdateKeys} the current seeds
|
|
672
756
|
* @param options.persistUpdateKeys {Function} awaited before every publish
|
|
673
757
|
* that changes the log's authorized update keys
|
|
758
|
+
* @param [options.expectedDid] {string} the DID the published log must
|
|
759
|
+
* resolve to
|
|
760
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
761
|
+
* pin for the account log
|
|
674
762
|
* @returns {Promise<{ did: string }>}
|
|
675
763
|
*/
|
|
676
764
|
export async function rotateWebvhUpdateKey(options) {
|
|
@@ -683,8 +771,12 @@ export async function rotateWebvhUpdateKey(options) {
|
|
|
683
771
|
* @param options {object} see {@link rotateWebvhUpdateKey}
|
|
684
772
|
* @returns {Promise<{ did: string }>}
|
|
685
773
|
*/
|
|
686
|
-
async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys }) {
|
|
687
|
-
const published = await readPublishedLog({
|
|
774
|
+
async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys, expectedDid, pinStore }) {
|
|
775
|
+
const published = await readPublishedLog({
|
|
776
|
+
idStore,
|
|
777
|
+
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
778
|
+
...(pinStore ? { pinStore } : {})
|
|
779
|
+
});
|
|
688
780
|
if (!published) {
|
|
689
781
|
throw new Error('did:webvh: did.jsonl is missing; nothing to rotate.');
|
|
690
782
|
}
|
|
@@ -763,6 +855,11 @@ async function rotateWebvhUpdateKeyOnce({ idStore, updateKeys, persistUpdateKeys
|
|
|
763
855
|
// then finalize the local seeds: the staged key is now active, the pending
|
|
764
856
|
// one is the new staged key.
|
|
765
857
|
await publishUpdatedLog({ idStore, updated, ifMatch: published.etag });
|
|
858
|
+
// Advance the pin to what this ceremony just published, so a host rolling
|
|
859
|
+
// the log back straight afterwards is refused on the next read.
|
|
860
|
+
if (pinStore) {
|
|
861
|
+
await pinStore.write(pinOfLog(updated.log));
|
|
862
|
+
}
|
|
766
863
|
await persistUpdateKeys({
|
|
767
864
|
updateSeed: updateKeys.stagedSeed,
|
|
768
865
|
stagedSeed: newStagedSeed
|
|
@@ -973,12 +1070,25 @@ async function enrollWebvhClientOnce({ idStore, updateKeys, newClient }) {
|
|
|
973
1070
|
* An unmatchable binding is unrepairable and throws: a published artifact
|
|
974
1071
|
* depends on a key the keystore no longer lists.
|
|
975
1072
|
*
|
|
1073
|
+
* The log read takes the same checks every other ceremony read does, and for
|
|
1074
|
+
* the same reason: what it reads is written straight back into the rebuilt
|
|
1075
|
+
* `keys.json`, so a substituted log would rewrite the `webvh` block to a wrong
|
|
1076
|
+
* DID and a truncated one would be adopted as this account's history. A caller
|
|
1077
|
+
* that still holds the account pointer passes `expectedDid` and its
|
|
1078
|
+
* `pinStore`; the pure-recovery caller that has lost everything but the
|
|
1079
|
+
* keystore has no DID to expect and passes neither, which is the one read here
|
|
1080
|
+
* that legitimately discovers the DID from the log itself.
|
|
1081
|
+
*
|
|
976
1082
|
* @param options {object}
|
|
977
1083
|
* @param options.keystoreAgent {KeystoreAgent}
|
|
978
1084
|
* @param options.idStore {WebvhIdStore}
|
|
1085
|
+
* @param [options.expectedDid] {string} the DID the published log must
|
|
1086
|
+
* resolve to
|
|
1087
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
1088
|
+
* pin for the account log
|
|
979
1089
|
* @returns {Promise<DidWebKeyMapV2>} the rebuilt, persisted keys.json
|
|
980
1090
|
*/
|
|
981
|
-
export async function repairKeyBindings({ keystoreAgent, idStore }) {
|
|
1091
|
+
export async function repairKeyBindings({ keystoreAgent, idStore, expectedDid, pinStore }) {
|
|
982
1092
|
const didDoc = (await idStore.getIdResource({
|
|
983
1093
|
resourceId: DID_DOCUMENT_RESOURCE
|
|
984
1094
|
}));
|
|
@@ -1036,7 +1146,11 @@ export async function repairKeyBindings({ keystoreAgent, idStore }) {
|
|
|
1036
1146
|
};
|
|
1037
1147
|
// The webvh block, recovered from the published log: the DID and nothing
|
|
1038
1148
|
// else, since the update keys never left the client that minted them.
|
|
1039
|
-
const published = await readPublishedLog({
|
|
1149
|
+
const published = await readPublishedLog({
|
|
1150
|
+
idStore,
|
|
1151
|
+
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
1152
|
+
...(pinStore ? { pinStore } : {})
|
|
1153
|
+
});
|
|
1040
1154
|
if (published) {
|
|
1041
1155
|
repaired.webvh = { did: published.did };
|
|
1042
1156
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"didWebvh.js","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"didWebvh.js","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DIDDoc, DIDLog } from '@interop/did-method-webvh';
|
|
2
|
-
import type { ResourceLogPinStore } from '../resourceLog/pin.js';
|
|
2
|
+
import type { ResourceLogHeadPin, ResourceLogPinStore } from '../resourceLog/pin.js';
|
|
3
3
|
/**
|
|
4
4
|
* Thrown when the account has published no DID log at all (the resource is
|
|
5
5
|
* absent). Distinguished from every other failure because it is the one
|
|
@@ -10,6 +10,29 @@ import type { ResourceLogPinStore } from '../resourceLog/pin.js';
|
|
|
10
10
|
export declare class AccountLogMissingError extends Error {
|
|
11
11
|
constructor(message?: string);
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Refuses a served log that conflicts with the pinned head, and returns the
|
|
15
|
+
* pin the served log establishes. A method or SCID that differs from the pin
|
|
16
|
+
* is a substituted log under the account's location; a served history shorter
|
|
17
|
+
* than the pinned ordinal is a rollback; a differing `versionId` at the pinned
|
|
18
|
+
* ordinal is a fork, whose served entries ride along as evidence (every entry
|
|
19
|
+
* is signed, so a conflicting pair under one SCID is transferable proof of
|
|
20
|
+
* equivocation). A pin whose head does not parse as `N-<hash>` is treated as
|
|
21
|
+
* a fork rather than trusted.
|
|
22
|
+
*
|
|
23
|
+
* Exported for the ceremony-side reads in `didWebvh.ts`, which take the same
|
|
24
|
+
* check on their own read of `did.jsonl`; it is deliberately absent from the
|
|
25
|
+
* module barrel.
|
|
26
|
+
*
|
|
27
|
+
* @param options {object}
|
|
28
|
+
* @param options.log {DIDLog} the served, already-resolved log
|
|
29
|
+
* @param options.pin {ResourceLogHeadPin | null} the pin held for this log
|
|
30
|
+
* @returns {ResourceLogHeadPin} the pin the served log establishes
|
|
31
|
+
*/
|
|
32
|
+
export declare function checkAccountLogContinuity({ log, pin }: {
|
|
33
|
+
log: DIDLog;
|
|
34
|
+
pin: ResourceLogHeadPin | null;
|
|
35
|
+
}): ResourceLogHeadPin;
|
|
13
36
|
/**
|
|
14
37
|
* Fetches and locally verifies the account's world-readable DID log.
|
|
15
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyLog.d.ts","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"verifyLog.d.ts","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAE9B;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,SAA0C;CAI9D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAC/B,GAAG,kBAAkB,CA4CrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACT,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAC/B,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,CAAC,CA4CD"}
|
package/dist/webvh/verifyLog.js
CHANGED
|
@@ -52,12 +52,16 @@ export class AccountLogMissingError extends Error {
|
|
|
52
52
|
* equivocation). A pin whose head does not parse as `N-<hash>` is treated as
|
|
53
53
|
* a fork rather than trusted.
|
|
54
54
|
*
|
|
55
|
+
* Exported for the ceremony-side reads in `didWebvh.ts`, which take the same
|
|
56
|
+
* check on their own read of `did.jsonl`; it is deliberately absent from the
|
|
57
|
+
* module barrel.
|
|
58
|
+
*
|
|
55
59
|
* @param options {object}
|
|
56
60
|
* @param options.log {DIDLog} the served, already-resolved log
|
|
57
61
|
* @param options.pin {ResourceLogHeadPin | null} the pin held for this log
|
|
58
62
|
* @returns {ResourceLogHeadPin} the pin the served log establishes
|
|
59
63
|
*/
|
|
60
|
-
function checkAccountLogContinuity({ log, pin }) {
|
|
64
|
+
export function checkAccountLogContinuity({ log, pin }) {
|
|
61
65
|
const genesis = log[0];
|
|
62
66
|
const head = log[log.length - 1];
|
|
63
67
|
if (!genesis || !head) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyLog.js","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAMrE;;;;;;GAMG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAO,GAAG,uCAAuC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED
|
|
1
|
+
{"version":3,"file":"verifyLog.js","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interop/wallet-core",
|
|
3
3
|
"description": "Shared wallet-domain logic (WAS sync engine core and wallet Space layout contracts) for Interop wallet apps.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.34.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "pnpm run clear && tsc",
|