@interop/wallet-core 0.68.0 → 0.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -13
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +12 -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/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/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/descriptors/index.d.ts +21 -46
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +21 -45
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +45 -56
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +64 -74
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +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/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/resourceLog/controller.d.ts +18 -6
- package/dist/resourceLog/controller.d.ts.map +1 -1
- package/dist/resourceLog/controller.js +5 -3
- package/dist/resourceLog/controller.js.map +1 -1
- package/dist/resourceLog/errors.d.ts +17 -43
- package/dist/resourceLog/errors.d.ts.map +1 -1
- package/dist/resourceLog/errors.js +17 -50
- package/dist/resourceLog/errors.js.map +1 -1
- package/dist/resourceLog/index.d.ts +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 +4 -3
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +4 -3
- package/dist/space/index.js.map +1 -1
- package/dist/space/provisioning.d.ts +16 -6
- package/dist/space/provisioning.d.ts.map +1 -1
- package/dist/space/provisioning.js +11 -7
- package/dist/space/provisioning.js.map +1 -1
- package/dist/sync/engine.d.ts +4 -2
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -6
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -5
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts +0 -29
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +30 -28
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/types.d.ts +39 -21
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +13 -7
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/retire.d.ts +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/package.json +4 -4
- package/dist/descriptors/acquire.d.ts +0 -122
- package/dist/descriptors/acquire.d.ts.map +0 -1
- package/dist/descriptors/acquire.js +0 -100
- package/dist/descriptors/acquire.js.map +0 -1
- package/dist/descriptors/cipher.d.ts +0 -71
- package/dist/descriptors/cipher.d.ts.map +0 -1
- package/dist/descriptors/cipher.js +0 -109
- package/dist/descriptors/cipher.js.map +0 -1
- package/dist/descriptors/errors.d.ts +0 -44
- package/dist/descriptors/errors.d.ts.map +0 -1
- package/dist/descriptors/errors.js +0 -46
- package/dist/descriptors/errors.js.map +0 -1
- package/dist/descriptors/refresh.d.ts +0 -62
- package/dist/descriptors/refresh.d.ts.map +0 -1
- package/dist/descriptors/refresh.js +0 -69
- package/dist/descriptors/refresh.js.map +0 -1
package/dist/clientAnnex/mend.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hasKeyEpochs } from '@interop/was-client/edv';
|
|
1
2
|
import { ensurePromotedSpaceController } from '../genesis/accountGenesis.js';
|
|
2
3
|
import { currentLogParameters, keyAgreementCommitment, readPublishedLog } from '../webvh/didWebvh.js';
|
|
3
4
|
import { relationIds } from '../resourceLog/document.js';
|
|
@@ -30,6 +31,10 @@ import { stageNotifier } from '../log.js';
|
|
|
30
31
|
* @param options.rosterStoreFor {Function} REQUIRED: the establishment's
|
|
31
32
|
* bootstrap-invoked roster store builder (`({ did, log }) => store`); used
|
|
32
33
|
* only inside the establishment arm's re-run
|
|
34
|
+
* @param options.collectionStoreFor {Function} REQUIRED: the
|
|
35
|
+
* establishment's bootstrap-invoked per-collection descriptor store builder
|
|
36
|
+
* (`({ did, log }) => (collectionId) => store`); used only inside the
|
|
37
|
+
* establishment arm's re-run, and handed through verbatim
|
|
33
38
|
* @param options.bootstrapWasFor {Function} REQUIRED:
|
|
34
39
|
* `({ keyAgent }) => WasClient` signing as the ladder VM's bare did:key;
|
|
35
40
|
* the promotion arm's mend and the establishment arm ride it
|
|
@@ -64,6 +69,11 @@ import { stageNotifier } from '../log.js';
|
|
|
64
69
|
* ladder-signed log signer -- the roster arm's store (the bootstrap
|
|
65
70
|
* `rosterStoreFor` cannot serve it: the promoted Space refuses bootstrap
|
|
66
71
|
* invocations)
|
|
72
|
+
* @param [options.collectionStore] {Function} `(collectionId) =>
|
|
73
|
+
* EncryptionDescriptorStore` -- each encrypted collection's descriptor
|
|
74
|
+
* store under that same post-promotion authority, the sibling of
|
|
75
|
+
* `rosterStore`. Required by the roster-and-epochs arm, whose fan-out
|
|
76
|
+
* lands each collection's epoch[0] through it
|
|
67
77
|
* @param [options.delegatedRead] {object} the promotion arm's
|
|
68
78
|
* failed-delegated-read trigger: `error` (the original failure, rethrown
|
|
69
79
|
* unchanged on a non-converging mend) and `retry` (re-runs the caller's
|
|
@@ -112,6 +122,11 @@ export function mendCredentialAnchoredAccount(options) {
|
|
|
112
122
|
throw new TypeError('mendCredentialAnchoredAccount requires rosterStoreFor: the ' +
|
|
113
123
|
"establishment arm's re-run cannot land a roster without it.");
|
|
114
124
|
}
|
|
125
|
+
if (typeof options.collectionStoreFor !== 'function') {
|
|
126
|
+
throw new TypeError('mendCredentialAnchoredAccount requires collectionStoreFor: the ' +
|
|
127
|
+
"establishment arm's re-run cannot land the collection epochs " +
|
|
128
|
+
'without it.');
|
|
129
|
+
}
|
|
115
130
|
if (typeof options.bootstrapWasFor !== 'function') {
|
|
116
131
|
throw new TypeError('mendCredentialAnchoredAccount requires bootstrapWasFor: the ' +
|
|
117
132
|
"promotion arm signs as the ladder VM's bare did:key.");
|
|
@@ -234,6 +249,7 @@ async function mendCredentialAnchoredAccountChecked(options) {
|
|
|
234
249
|
standing,
|
|
235
250
|
bindRecord: options.bindRecord,
|
|
236
251
|
rosterStoreFor: options.rosterStoreFor,
|
|
252
|
+
collectionStoreFor: options.collectionStoreFor,
|
|
237
253
|
bootstrapWasFor: options.bootstrapWasFor,
|
|
238
254
|
idStore,
|
|
239
255
|
lowEntropy: options.lowEntropy,
|
|
@@ -345,12 +361,15 @@ async function mendCredentialAnchoredAccountChecked(options) {
|
|
|
345
361
|
// "roster delivered AND every encrypted collection carries epoch[0]",
|
|
346
362
|
// durable state alone, never roster presence alone. Fires on: an absent
|
|
347
363
|
// roster head, an epoch-less encrypted collection behind a present roster
|
|
348
|
-
// (the completion probe
|
|
349
|
-
// the stated budget), a prior arm's mend,
|
|
350
|
-
// flag.
|
|
364
|
+
// (the completion probe: a Description read plus a verified governing-log
|
|
365
|
+
// read per encrypted collection, the stated budget), a prior arm's mend,
|
|
366
|
+
// or the caller's repair-shaped flag.
|
|
351
367
|
const rosterStore = options.rosterStore;
|
|
368
|
+
const collectionStore = options.collectionStore;
|
|
352
369
|
const invocation = options.invocation;
|
|
353
|
-
if (rosterStore !== undefined &&
|
|
370
|
+
if (rosterStore !== undefined &&
|
|
371
|
+
collectionStore !== undefined &&
|
|
372
|
+
invocation !== undefined) {
|
|
354
373
|
let rosterAbsent = false;
|
|
355
374
|
let detectionFailed = false;
|
|
356
375
|
try {
|
|
@@ -367,7 +386,7 @@ async function mendCredentialAnchoredAccountChecked(options) {
|
|
|
367
386
|
try {
|
|
368
387
|
collectionEpochless = await hasEpochlessEncryptedCollection({
|
|
369
388
|
options,
|
|
370
|
-
|
|
389
|
+
collectionStore
|
|
371
390
|
});
|
|
372
391
|
}
|
|
373
392
|
catch (err) {
|
|
@@ -381,6 +400,7 @@ async function mendCredentialAnchoredAccountChecked(options) {
|
|
|
381
400
|
options,
|
|
382
401
|
did,
|
|
383
402
|
rosterStore,
|
|
403
|
+
collectionStore,
|
|
384
404
|
invocation
|
|
385
405
|
});
|
|
386
406
|
if (report.rosterEpochs.converged) {
|
|
@@ -488,53 +508,71 @@ function encryptedCollectionIds(options) {
|
|
|
488
508
|
}
|
|
489
509
|
/**
|
|
490
510
|
* Every encrypted collection's Description, read under the caller's
|
|
491
|
-
* post-promotion authority, with its epoch-lessness alongside.
|
|
492
|
-
*
|
|
493
|
-
*
|
|
494
|
-
*
|
|
495
|
-
*
|
|
511
|
+
* post-promotion authority, with its epoch-lessness alongside. Two reads per
|
|
512
|
+
* collection, on two questions. The Description read asks whether the
|
|
513
|
+
* collection is there and readable under this authority (WAS masks a
|
|
514
|
+
* refusal as absence). Epoch presence is decided from the collection's
|
|
515
|
+
* VERIFIED governing log through the caller's `collectionStore` -- the
|
|
516
|
+
* chain, the entry proofs, and the chain-head pin all checked -- never from
|
|
517
|
+
* the Description's `encryption` member, which the server derives from that
|
|
518
|
+
* log and the wallet neither writes nor verifies: a host omitting the
|
|
519
|
+
* derived member could otherwise read every collection as epoch-less and
|
|
520
|
+
* license a fresh roster genesis over collections keyed under the real user
|
|
521
|
+
* key. The reads run concurrently and the results come back in the
|
|
522
|
+
* collections' own order, so a caller still decides on the first collection
|
|
523
|
+
* that fails its rule. A failed read is rethrown where the walk reaches it,
|
|
524
|
+
* so the earliest collection's failure is the one the caller sees whichever
|
|
525
|
+
* request failed first.
|
|
496
526
|
*
|
|
497
527
|
* @param options {object}
|
|
498
528
|
* @param options.options {object} the mend options
|
|
529
|
+
* @param options.collectionStore {Function} `(collectionId) =>
|
|
530
|
+
* EncryptionDescriptorStore` -- the per-collection verified stores
|
|
499
531
|
* @param options.invocation {object} the post-promotion authority triple
|
|
500
532
|
* @returns {Promise<Array<object>>} one entry per encrypted collection:
|
|
501
533
|
* its id, its served Description (null when the server answered absent or
|
|
502
|
-
* masked a refusal), and whether
|
|
534
|
+
* masked a refusal), and whether its verified log carries no epoch
|
|
503
535
|
*/
|
|
504
|
-
async function describeEncryptedCollections({ options, invocation }) {
|
|
536
|
+
async function describeEncryptedCollections({ options, collectionStore, invocation }) {
|
|
505
537
|
const space = invocation.was.space(options.account.pointer.spaceId, {
|
|
506
538
|
capability: invocation.capability
|
|
507
539
|
});
|
|
508
540
|
const collectionIds = encryptedCollectionIds(options);
|
|
509
|
-
const settled = await Promise.allSettled(collectionIds.map(collectionId =>
|
|
541
|
+
const settled = await Promise.allSettled(collectionIds.map(async (collectionId) => {
|
|
542
|
+
const [description, governed] = await Promise.all([
|
|
543
|
+
space.collection(collectionId).describe(),
|
|
544
|
+
collectionStore(collectionId).read()
|
|
545
|
+
]);
|
|
546
|
+
return {
|
|
547
|
+
description,
|
|
548
|
+
epochless: governed === null || !hasKeyEpochs(governed.descriptor)
|
|
549
|
+
};
|
|
550
|
+
}));
|
|
510
551
|
return settled.map((result, index) => {
|
|
511
552
|
if (result.status === 'rejected') {
|
|
512
553
|
throw result.reason;
|
|
513
554
|
}
|
|
514
|
-
|
|
515
|
-
return {
|
|
516
|
-
collectionId: collectionIds[index],
|
|
517
|
-
description,
|
|
518
|
-
epochless: (description?.encryption?.epochs?.length ?? 0) === 0
|
|
519
|
-
};
|
|
555
|
+
return { collectionId: collectionIds[index], ...result.value };
|
|
520
556
|
});
|
|
521
557
|
}
|
|
522
558
|
/**
|
|
523
559
|
* The completion probe's per-collection half: whether any encrypted
|
|
524
|
-
* collection lacks epoch[0]
|
|
525
|
-
* with the roster present no mint can follow, so
|
|
526
|
-
*
|
|
527
|
-
*
|
|
528
|
-
*
|
|
560
|
+
* collection lacks epoch[0], read off each collection's verified log alone
|
|
561
|
+
* (no Description read: with the roster present no mint can follow, so the
|
|
562
|
+
* unreadable-collection check the mint preconditions run is not needed here).
|
|
563
|
+
* An absent log counts as epoch-less: firing the arm on it only drives the
|
|
564
|
+
* create-if-absent fan-out, whose own refusals ride the report's
|
|
565
|
+
* `epochsFailed` list. A thrown read propagates to the caller as transport.
|
|
529
566
|
*
|
|
530
567
|
* @param options {object}
|
|
531
568
|
* @param options.options {object} the mend options
|
|
532
|
-
* @param options.
|
|
569
|
+
* @param options.collectionStore {Function} the per-collection verified
|
|
570
|
+
* stores
|
|
533
571
|
* @returns {Promise<boolean>}
|
|
534
572
|
*/
|
|
535
|
-
async function hasEpochlessEncryptedCollection({ options,
|
|
536
|
-
const
|
|
537
|
-
return
|
|
573
|
+
async function hasEpochlessEncryptedCollection({ options, collectionStore }) {
|
|
574
|
+
const governed = await Promise.all(encryptedCollectionIds(options).map(collectionId => collectionStore(collectionId).read()));
|
|
575
|
+
return governed.some(current => current === null || !hasKeyEpochs(current.descriptor));
|
|
538
576
|
}
|
|
539
577
|
/**
|
|
540
578
|
* The roster-and-epochs arm's body: the shared mint-policy stage under the
|
|
@@ -547,10 +585,12 @@ async function hasEpochlessEncryptedCollection({ options, invocation }) {
|
|
|
547
585
|
* @param options.options {object} the mend options
|
|
548
586
|
* @param options.did {string} the account DID
|
|
549
587
|
* @param options.rosterStore {EncryptionDescriptorStore}
|
|
588
|
+
* @param options.collectionStore {Function} `(collectionId) =>
|
|
589
|
+
* EncryptionDescriptorStore` -- the fan-out's per-collection stores
|
|
550
590
|
* @param options.invocation {object} the post-promotion authority triple
|
|
551
591
|
* @returns {Promise<object>} the report member
|
|
552
592
|
*/
|
|
553
|
-
async function runRosterEpochsArm({ options, did, rosterStore, invocation }) {
|
|
593
|
+
async function runRosterEpochsArm({ options, did, rosterStore, collectionStore, invocation }) {
|
|
554
594
|
const { account, standing } = options;
|
|
555
595
|
let delivered;
|
|
556
596
|
try {
|
|
@@ -558,14 +598,18 @@ async function runRosterEpochsArm({ options, did, rosterStore, invocation }) {
|
|
|
558
598
|
store: rosterStore,
|
|
559
599
|
candidateUserKey: await mintUserKey(),
|
|
560
600
|
clientKeyAgreementKey: standing.keyAgreementKey,
|
|
561
|
-
|
|
601
|
+
storeFor: collectionStore,
|
|
562
602
|
spaceId: account.pointer.spaceId,
|
|
563
|
-
capability: invocation.capability,
|
|
564
603
|
...(options.collectionIds !== undefined
|
|
565
604
|
? { collectionIds: options.collectionIds }
|
|
566
605
|
: {}),
|
|
567
606
|
beforeMint: async () => {
|
|
568
|
-
const refusal = await rosterMintRefusal({
|
|
607
|
+
const refusal = await rosterMintRefusal({
|
|
608
|
+
options,
|
|
609
|
+
did,
|
|
610
|
+
collectionStore,
|
|
611
|
+
invocation
|
|
612
|
+
});
|
|
569
613
|
if (refusal !== undefined) {
|
|
570
614
|
throw new RosterMintRefusedSignal({ refusal });
|
|
571
615
|
}
|
|
@@ -608,11 +652,13 @@ async function runRosterEpochsArm({ options, did, rosterStore, invocation }) {
|
|
|
608
652
|
* @param options {object}
|
|
609
653
|
* @param options.options {object} the mend options
|
|
610
654
|
* @param options.did {string}
|
|
655
|
+
* @param options.collectionStore {Function} the per-collection verified
|
|
656
|
+
* stores the epoch precondition reads through
|
|
611
657
|
* @param options.invocation {object}
|
|
612
658
|
* @returns {Promise<object | undefined>} the refusing report member, or
|
|
613
659
|
* undefined when the mint may proceed
|
|
614
660
|
*/
|
|
615
|
-
async function rosterMintRefusal({ options, did, invocation }) {
|
|
661
|
+
async function rosterMintRefusal({ options, did, collectionStore, invocation }) {
|
|
616
662
|
const { standing, idStore } = options;
|
|
617
663
|
const refused = (error) => ({
|
|
618
664
|
converged: false,
|
|
@@ -645,10 +691,12 @@ async function rosterMintRefusal({ options, did, invocation }) {
|
|
|
645
691
|
return refused(new Error('The verified document publishes another standing credential ' +
|
|
646
692
|
`(${foreign.join(', ')}); minting a fresh roster would evict it.`));
|
|
647
693
|
}
|
|
648
|
-
// No encrypted collection already epoch'd
|
|
649
|
-
//
|
|
694
|
+
// No encrypted collection already epoch'd (read off each collection's
|
|
695
|
+
// verified log): a collection keyed under an earlier user key beside an
|
|
696
|
+
// "absent" roster is fabricated absence.
|
|
650
697
|
const described = await describeEncryptedCollections({
|
|
651
698
|
options,
|
|
699
|
+
collectionStore,
|
|
652
700
|
invocation
|
|
653
701
|
});
|
|
654
702
|
for (const { collectionId, description, epochless } of described) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mend.js","sourceRoot":"","sources":["../../src/clientAnnex/mend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mend.js","sourceRoot":"","sources":["../../src/clientAnnex/mend.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,9 +40,8 @@
|
|
|
40
40
|
* Per-collection fan-out failures surface on the result's `epochs.failed`
|
|
41
41
|
* list (the establishment's assert contract); nothing is discarded.
|
|
42
42
|
*/
|
|
43
|
-
import type { IZcap } from '@interop/data-integrity-core';
|
|
44
43
|
import type { IKeyAgreementKey } from '@interop/data-integrity-core';
|
|
45
|
-
import type { CollectionEncryption
|
|
44
|
+
import type { CollectionEncryption } from '@interop/was-client';
|
|
46
45
|
import type { EncryptionDescriptorStore } from '@interop/was-client/edv';
|
|
47
46
|
import { type UserKey, type WalletSpaceEpochsResult } from '../keys/index.js';
|
|
48
47
|
/**
|
|
@@ -76,10 +75,11 @@ export type RosterDeliveredEpochsResult = {
|
|
|
76
75
|
/**
|
|
77
76
|
* Ensures the user-key roster exists and every encrypted collection carries
|
|
78
77
|
* epoch[0] under the key the roster delivers (see the module doc for the
|
|
79
|
-
* policy and the refusal shapes).
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
78
|
+
* policy and the refusal shapes). Both authority pairs ride the caller's
|
|
79
|
+
* stores: the SIGNER and the INVOCATION are wired into `store` for the
|
|
80
|
+
* roster and into each `storeFor` store for the collections -- ladder-signed
|
|
81
|
+
* appends on a ladder-anchored account, invoked with the bootstrap root
|
|
82
|
+
* pre-promotion or with a delegated capability post-promotion.
|
|
83
83
|
*
|
|
84
84
|
* @param options {object}
|
|
85
85
|
* @param options.store {EncryptionDescriptorStore} the roster's descriptor
|
|
@@ -90,11 +90,11 @@ export type RosterDeliveredEpochsResult = {
|
|
|
90
90
|
* @param options.clientKeyAgreementKey {IKeyAgreementKey} the credential's
|
|
91
91
|
* own key-agreement key -- the roster recipient the ensure wraps to, and
|
|
92
92
|
* the unwrap key of the re-read
|
|
93
|
-
* @param options.
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
93
|
+
* @param options.storeFor {function} `(collectionId) =>
|
|
94
|
+
* EncryptionDescriptorStore` -- the collection fan-out's per-collection
|
|
95
|
+
* descriptor stores
|
|
96
|
+
* @param options.spaceId {string} the account Space's id, named in the
|
|
97
|
+
* fan-out's per-collection failure messages
|
|
98
98
|
* @param [options.collectionIds] {string[]} the fan-out's collection set
|
|
99
99
|
* override, threaded through to `ensureWalletSpaceEpochs`
|
|
100
100
|
* @param options.beforeMint {Function} `() => Promise<void>` -- the mint
|
|
@@ -109,13 +109,12 @@ export type RosterDeliveredEpochsResult = {
|
|
|
109
109
|
* is refused with a `TypeError` before any read
|
|
110
110
|
* @returns {Promise<RosterDeliveredEpochsResult>}
|
|
111
111
|
*/
|
|
112
|
-
export declare function ensureRosterDeliveredEpochs({ store, candidateUserKey, clientKeyAgreementKey,
|
|
112
|
+
export declare function ensureRosterDeliveredEpochs({ store, candidateUserKey, clientKeyAgreementKey, storeFor, spaceId, collectionIds, beforeMint }: {
|
|
113
113
|
store: EncryptionDescriptorStore;
|
|
114
114
|
candidateUserKey: UserKey;
|
|
115
115
|
clientKeyAgreementKey: IKeyAgreementKey;
|
|
116
|
-
|
|
116
|
+
storeFor: (collectionId: string) => EncryptionDescriptorStore;
|
|
117
117
|
spaceId: string;
|
|
118
|
-
capability?: IZcap;
|
|
119
118
|
collectionIds?: string[];
|
|
120
119
|
beforeMint: () => Promise<void>;
|
|
121
120
|
}): Promise<RosterDeliveredEpochsResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rosterDeliveredEpochs.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/rosterDeliveredEpochs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"rosterDeliveredEpochs.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/rosterDeliveredEpochs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;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;;;;;;;GAOG;AACH,MAAM,MAAM,2BAA2B,GACnC;IACE,OAAO,EAAE,WAAW,GAAG,qBAAqB,CAAA;IAC5C;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,gBAAgB,EAAE,oBAAoB,CAAA;IACtC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,uBAAuB,CAAA;CAChC,GACD;IACE,OAAO,EAAE,SAAS,CAAA;IAClB,gBAAgB,EAAE,oBAAoB,CAAA;IACtC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAA;CACf,CAAA;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,KAAK,EACL,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,aAAa,EACb,UAAU,EACX,EAAE;IACD,KAAK,EAAE,yBAAyB,CAAA;IAChC,gBAAgB,EAAE,OAAO,CAAA;IACzB,qBAAqB,EAAE,gBAAgB,CAAA;IACvC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,yBAAyB,CAAA;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAmFvC"}
|
|
@@ -13,10 +13,11 @@ const CREATE_RACE_ERROR_NAMES = new Set([
|
|
|
13
13
|
/**
|
|
14
14
|
* Ensures the user-key roster exists and every encrypted collection carries
|
|
15
15
|
* epoch[0] under the key the roster delivers (see the module doc for the
|
|
16
|
-
* policy and the refusal shapes).
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
16
|
+
* policy and the refusal shapes). Both authority pairs ride the caller's
|
|
17
|
+
* stores: the SIGNER and the INVOCATION are wired into `store` for the
|
|
18
|
+
* roster and into each `storeFor` store for the collections -- ladder-signed
|
|
19
|
+
* appends on a ladder-anchored account, invoked with the bootstrap root
|
|
20
|
+
* pre-promotion or with a delegated capability post-promotion.
|
|
20
21
|
*
|
|
21
22
|
* @param options {object}
|
|
22
23
|
* @param options.store {EncryptionDescriptorStore} the roster's descriptor
|
|
@@ -27,11 +28,11 @@ const CREATE_RACE_ERROR_NAMES = new Set([
|
|
|
27
28
|
* @param options.clientKeyAgreementKey {IKeyAgreementKey} the credential's
|
|
28
29
|
* own key-agreement key -- the roster recipient the ensure wraps to, and
|
|
29
30
|
* the unwrap key of the re-read
|
|
30
|
-
* @param options.
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
31
|
+
* @param options.storeFor {function} `(collectionId) =>
|
|
32
|
+
* EncryptionDescriptorStore` -- the collection fan-out's per-collection
|
|
33
|
+
* descriptor stores
|
|
34
|
+
* @param options.spaceId {string} the account Space's id, named in the
|
|
35
|
+
* fan-out's per-collection failure messages
|
|
35
36
|
* @param [options.collectionIds] {string[]} the fan-out's collection set
|
|
36
37
|
* override, threaded through to `ensureWalletSpaceEpochs`
|
|
37
38
|
* @param options.beforeMint {Function} `() => Promise<void>` -- the mint
|
|
@@ -46,7 +47,7 @@ const CREATE_RACE_ERROR_NAMES = new Set([
|
|
|
46
47
|
* is refused with a `TypeError` before any read
|
|
47
48
|
* @returns {Promise<RosterDeliveredEpochsResult>}
|
|
48
49
|
*/
|
|
49
|
-
export async function ensureRosterDeliveredEpochs({ store, candidateUserKey, clientKeyAgreementKey,
|
|
50
|
+
export async function ensureRosterDeliveredEpochs({ store, candidateUserKey, clientKeyAgreementKey, storeFor, spaceId, collectionIds, beforeMint }) {
|
|
50
51
|
if (typeof beforeMint !== 'function') {
|
|
51
52
|
throw new TypeError('ensureRosterDeliveredEpochs requires a beforeMint seam: the mint ' +
|
|
52
53
|
'preconditions that license installing the candidate as epoch[0].');
|
|
@@ -109,11 +110,10 @@ export async function ensureRosterDeliveredEpochs({ store, candidateUserKey, cli
|
|
|
109
110
|
// the install. Per-collection failures ride the result's `failed` list to
|
|
110
111
|
// the caller.
|
|
111
112
|
const epochs = await ensureWalletSpaceEpochs({
|
|
112
|
-
|
|
113
|
+
storeFor,
|
|
113
114
|
spaceId,
|
|
114
115
|
userKey,
|
|
115
116
|
rosterDescriptor: descriptor,
|
|
116
|
-
...(capability !== undefined ? { capability } : {}),
|
|
117
117
|
...(collectionIds !== undefined ? { collectionIds } : {})
|
|
118
118
|
});
|
|
119
119
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rosterDeliveredEpochs.js","sourceRoot":"","sources":["../../src/clientAnnex/rosterDeliveredEpochs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rosterDeliveredEpochs.js","sourceRoot":"","sources":["../../src/clientAnnex/rosterDeliveredEpochs.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,52 +2,27 @@
|
|
|
2
2
|
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* The `@interop/wallet-core/descriptors` subpath:
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
5
|
+
* The `@interop/wallet-core/descriptors` subpath: the log-governed descriptor
|
|
6
|
+
* source, the wallet's implementation of `@interop/was-client/edv`'s
|
|
7
|
+
* `EncryptionDescriptorSource` seam for collections whose encryption
|
|
8
|
+
* descriptor is governed by a resource log. The acquisition, cache-fallback,
|
|
9
|
+
* and unknown-epoch refresh policy that source plugs into (`acquireDescriptor`,
|
|
10
|
+
* `DescriptorRefreshPolicy`, `createRefreshingEdvDocCipher`, and the
|
|
11
|
+
* `isKeyUnwrapError` matcher) ship from `@interop/was-client/edv`, and this
|
|
12
|
+
* subpath re-exports none of them: one owner per name.
|
|
11
13
|
*
|
|
12
|
-
* - `
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* log-governed source's refusal classes rethrow instead of falling back
|
|
25
|
-
* (except a continuity rollback, which is reconcilable divergence).
|
|
26
|
-
* - `logGovernedDescriptorSource` -- the `EncryptionDescriptorSource` for
|
|
27
|
-
* collections whose descriptor is governed by a resource log: every read
|
|
28
|
-
* (including the unknown-epoch refresh) re-verifies the log and resolves to
|
|
29
|
-
* its verified head state, refusing a head that is not a
|
|
30
|
-
* `WasEpochConfiguration`. It keys each collection's chain-head pin by
|
|
31
|
-
* `collectionDescriptorLogPinId` over the Space id, the library-named slot
|
|
32
|
-
* (`space/<spaceId>/key-map/<collectionId>.jsonl`), so no app builds one.
|
|
33
|
-
* - `DescriptorRefreshPolicy` -- the once-per-collection-per-session
|
|
34
|
-
* unknown-epoch refresh guard, plus the refresh-and-re-read-once wrapper
|
|
35
|
-
* for hosts whose reads scan rows and count unknown-epoch skips.
|
|
36
|
-
* - `createRefreshingEdvDocCipher` -- `createEdvDocCipher` bound to both: a
|
|
37
|
-
* cipher that acquires its own descriptor and, on an unknown-epoch decrypt,
|
|
38
|
-
* re-reads the description, swaps itself, and retries exactly once per
|
|
39
|
-
* instance.
|
|
40
|
-
* - `isKeyUnwrapError` -- how a host scanning rows tells "not a recipient of
|
|
41
|
-
* this epoch" from corruption, matched by `err.name` because the cipher is
|
|
42
|
-
* an injected seam. Its sibling `isUnknownEpochError` ships from
|
|
43
|
-
* `@interop/was-client/sync`, beside the class it matches. This one stays
|
|
44
|
-
* here on policy: it classifies a roster-membership failure the wallet
|
|
45
|
-
* layer owns, and no sync driver dispatches on it.
|
|
14
|
+
* - `logGovernedDescriptorSource` -- every read (including the unknown-epoch
|
|
15
|
+
* refresh) re-verifies the log and resolves to its verified head state,
|
|
16
|
+
* refusing a head that is not a `WasEpochConfiguration`. Reads run under the
|
|
17
|
+
* collection-descriptor log class, so a ladder-signed append admits on
|
|
18
|
+
* `assertionMethod` membership alone. It keys each collection's chain-head
|
|
19
|
+
* pin by `collectionDescriptorLogPinId` over the Space id, the library-named
|
|
20
|
+
* slot (`space/<spaceId>/<collectionId>/meta/log`, the log's own home), so no
|
|
21
|
+
* app builds one. It is the one governed-descriptor reader this subpath
|
|
22
|
+
* publishes: the bare-controller read under it
|
|
23
|
+
* (`readGovernedEpochConfiguration`, was-client's) states no log class and
|
|
24
|
+
* would read a collection log under the roster's license, so it stays
|
|
25
|
+
* module-internal.
|
|
46
26
|
*/
|
|
47
|
-
export {
|
|
48
|
-
export type { EncryptionDescriptorCache, EncryptionDescriptorSource } from './acquire.js';
|
|
49
|
-
export { collectionDescriptorLogPinId, EPOCH_CONFIGURATION_STATE_TYPE, logGovernedDescriptorSource, readGovernedEpochConfiguration } from './logSource.js';
|
|
50
|
-
export { DescriptorRefreshPolicy } from './refresh.js';
|
|
51
|
-
export { createRefreshingEdvDocCipher } from './cipher.js';
|
|
52
|
-
export { isKeyUnwrapError } from './errors.js';
|
|
27
|
+
export { collectionDescriptorLogPinId, logGovernedDescriptorSource } from './logSource.js';
|
|
53
28
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/descriptors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/descriptors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,gBAAgB,CAAA"}
|