@interop/wallet-core 0.67.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 -6
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +10 -7
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +11 -12
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +20 -30
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +7 -16
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +8 -18
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +8 -17
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +19 -34
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +26 -12
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +60 -57
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +3 -12
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +19 -32
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +2 -2
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +1 -1
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +25 -70
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +34 -83
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +55 -68
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +82 -111
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +19 -8
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +89 -66
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +5 -12
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +7 -13
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -14
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +12 -12
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +6 -10
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +12 -17
- package/dist/clientAnnex/selfEnroll.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 +15 -6
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +14 -7
- 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/recovery/continuation.d.ts +2 -7
- package/dist/recovery/continuation.d.ts.map +1 -1
- package/dist/recovery/continuation.js +2 -6
- package/dist/recovery/continuation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +11 -25
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +13 -26
- package/dist/recovery/recoveryWebvh.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 +6 -3
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +6 -3
- 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 +12 -13
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +12 -15
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +8 -22
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +7 -18
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +5 -12
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +11 -22
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +7 -2
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +9 -1
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +69 -80
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +74 -117
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts +2 -8
- package/dist/webvh/enrollClient.d.ts.map +1 -1
- package/dist/webvh/enrollClient.js +3 -8
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +1 -1
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +1 -1
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/revokeClient.d.ts +3 -9
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +4 -9
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +24 -4
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +26 -7
- package/dist/webvh/verifyLog.js.map +1 -1
- package/dist/webvh/wasIdStore.d.ts +16 -3
- package/dist/webvh/wasIdStore.d.ts.map +1 -1
- package/dist/webvh/wasIdStore.js +18 -3
- package/dist/webvh/wasIdStore.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
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
*/
|
|
58
58
|
import { updateDID } from '@interop/did-method-webvh';
|
|
59
59
|
import { deriveNextKeyHash } from '@interop/did-method-webvh';
|
|
60
|
-
import {
|
|
60
|
+
import { assertCarryOverCommitments, assertPublishedLogDid, concludeWithPublishedLog, putLogResource, readPublishedLogOrThrow, updateKeyMultibase, updateKeySigner } from './didWebvh.js';
|
|
61
61
|
import { putDidWebProjection } from './didWebProjection.js';
|
|
62
62
|
// The one deliberate dependency on the annex subpath, pinned as an exception
|
|
63
63
|
// in the lint rule (beside `unlock/standingWebvh.ts` and
|
|
@@ -124,13 +124,9 @@ export function accountEntryHead({ outcome }) {
|
|
|
124
124
|
* The caller owns the staleness: a lost compare-and-swap surfaces as a
|
|
125
125
|
* conflict for its retry to re-run
|
|
126
126
|
* @param [options.expectedDid] {string} the account DID the log must
|
|
127
|
-
* resolve to, from the caller's stored account pointer
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
* to the head this entry publishes
|
|
131
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
132
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
133
|
-
* supplied
|
|
127
|
+
* resolve to, from the caller's stored account pointer. The store's own
|
|
128
|
+
* chain-head pin checks the read and advances to the head this entry
|
|
129
|
+
* publishes
|
|
134
130
|
* @param [options.missingMessage] {string} the thrown `Error`'s message
|
|
135
131
|
* when `did.jsonl` is absent
|
|
136
132
|
* @param [options.verb] {string} what the caller is doing, for the client
|
|
@@ -152,7 +148,7 @@ export function accountEntryHead({ outcome }) {
|
|
|
152
148
|
* and it must be idempotent
|
|
153
149
|
* @returns {Promise<AccountEntryOutcome>}
|
|
154
150
|
*/
|
|
155
|
-
export async function signAccountEntry({ idStore, signer, build, skip, published: alreadyRead, expectedDid,
|
|
151
|
+
export async function signAccountEntry({ idStore, signer, build, skip, published: alreadyRead, expectedDid, missingMessage, verb = 'extending the account log', logOnly = signer.kind === 'ladder', beforePublish }) {
|
|
156
152
|
// THE PREAMBLE: each attempt reads for itself unless the caller threaded a
|
|
157
153
|
// read in, so the continuity check runs on the read the compare-and-swap
|
|
158
154
|
// publish is conditioned on rather than only on an orchestrator's pre-read.
|
|
@@ -164,8 +160,6 @@ export async function signAccountEntry({ idStore, signer, build, skip, published
|
|
|
164
160
|
: await readPublishedLogOrThrow({
|
|
165
161
|
idStore,
|
|
166
162
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
167
|
-
...(pinStore ? { pinStore } : {}),
|
|
168
|
-
...(logId !== undefined ? { logId } : {}),
|
|
169
163
|
...(missingMessage !== undefined ? { missingMessage } : {})
|
|
170
164
|
});
|
|
171
165
|
if (skip && (await skip(published))) {
|
|
@@ -256,9 +250,7 @@ export async function signAccountEntry({ idStore, signer, build, skip, published
|
|
|
256
250
|
idStore,
|
|
257
251
|
updated,
|
|
258
252
|
ifMatch: published.etag,
|
|
259
|
-
logOnly
|
|
260
|
-
pinStore,
|
|
261
|
-
logId
|
|
253
|
+
logOnly
|
|
262
254
|
});
|
|
263
255
|
return {
|
|
264
256
|
skipped: false,
|
|
@@ -269,10 +261,10 @@ export async function signAccountEntry({ idStore, signer, build, skip, published
|
|
|
269
261
|
};
|
|
270
262
|
}
|
|
271
263
|
/**
|
|
272
|
-
* The publish tail: `did.jsonl` under the caller's compare-and-swap token
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
264
|
+
* The publish tail: `did.jsonl` under the caller's compare-and-swap token
|
|
265
|
+
* (which advances the store's pin, for both arms, so a host rolling the log
|
|
266
|
+
* back straight afterwards is refused on the next read), then its `did:web`
|
|
267
|
+
* projection where the signer may write one.
|
|
276
268
|
*
|
|
277
269
|
* @param options {object}
|
|
278
270
|
* @param options.idStore {AccountLogStore}
|
|
@@ -280,11 +272,9 @@ export async function signAccountEntry({ idStore, signer, build, skip, published
|
|
|
280
272
|
* @param [options.ifMatch] {string} the ETag of the read this entry was
|
|
281
273
|
* built on
|
|
282
274
|
* @param options.logOnly {boolean} skip the projection PUT
|
|
283
|
-
* @param [options.pinStore] {ResourceLogPinStore}
|
|
284
|
-
* @param [options.logId] {string}
|
|
285
275
|
* @returns {Promise<{ etag?: string }>} the LOG's new validator
|
|
286
276
|
*/
|
|
287
|
-
async function publishAccountEntry({ idStore, updated, ifMatch, logOnly
|
|
277
|
+
async function publishAccountEntry({ idStore, updated, ifMatch, logOnly }) {
|
|
288
278
|
if (!logOnly && !updated.webDoc) {
|
|
289
279
|
throw new Error('did:webvh: updateDID returned no webDoc despite the did:web alsoKnownAs.');
|
|
290
280
|
}
|
|
@@ -299,7 +289,6 @@ async function publishAccountEntry({ idStore, updated, ifMatch, logOnly, pinStor
|
|
|
299
289
|
webDoc: updated.webDoc
|
|
300
290
|
});
|
|
301
291
|
}
|
|
302
|
-
await advanceLogPin({ pinStore, logId, log: updated.log });
|
|
303
292
|
return written;
|
|
304
293
|
}
|
|
305
294
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountEntry.js","sourceRoot":"","sources":["../../src/webvh/accountEntry.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"accountEntry.js","sourceRoot":"","sources":["../../src/webvh/accountEntry.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
*/
|
|
34
34
|
import type { IZcap } from '@interop/data-integrity-core';
|
|
35
35
|
import type { ZcapClient } from '@interop/ezcap';
|
|
36
|
+
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
36
37
|
import type { WebvhIdStore } from './didWebvh.js';
|
|
37
38
|
/**
|
|
38
39
|
* The narrow store shape a delegated bridge serves: the log read plus the
|
|
@@ -40,7 +41,7 @@ import type { WebvhIdStore } from './didWebvh.js';
|
|
|
40
41
|
* satisfies the ceremony seams (`UnlockLogStore`, `RecoveryLogStore`, and the
|
|
41
42
|
* annex ceremonies) structurally.
|
|
42
43
|
*/
|
|
43
|
-
export type DelegatedWebvhLogStore = Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource'>;
|
|
44
|
+
export type DelegatedWebvhLogStore = Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource' | 'pin'>;
|
|
44
45
|
/**
|
|
45
46
|
* Builds a delegated log store over one collection of one Space.
|
|
46
47
|
*
|
|
@@ -61,13 +62,17 @@ export type DelegatedWebvhLogStore = Pick<WebvhIdStore, 'getIdResourceRaw' | 'pu
|
|
|
61
62
|
* (and, on a capability-gated collection, the reads) invoke
|
|
62
63
|
* @param options.zcapClient {ZcapClient} the ezcap client holding the
|
|
63
64
|
* invoking signer
|
|
65
|
+
* @param options.pinStore {ResourceLogPinStore} this client's chain-head
|
|
66
|
+
* pins; the log's slot is derived here from the collection
|
|
67
|
+
* (`logResourcePinId`)
|
|
64
68
|
* @returns {DelegatedWebvhLogStore}
|
|
65
69
|
*/
|
|
66
|
-
export declare function delegatedWebvhLogStore({ host, spaceId, collectionId, delegation, zcapClient }: {
|
|
70
|
+
export declare function delegatedWebvhLogStore({ host, spaceId, collectionId, delegation, zcapClient, pinStore }: {
|
|
67
71
|
host: string;
|
|
68
72
|
spaceId: string;
|
|
69
73
|
collectionId: string;
|
|
70
74
|
delegation: IZcap;
|
|
71
75
|
zcapClient: ZcapClient;
|
|
76
|
+
pinStore: ResourceLogPinStore;
|
|
72
77
|
}): DelegatedWebvhLogStore;
|
|
73
78
|
//# sourceMappingURL=delegatedLogStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegatedLogStore.d.ts","sourceRoot":"","sources":["../../src/webvh/delegatedLogStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"delegatedLogStore.d.ts","sourceRoot":"","sources":["../../src/webvh/delegatedLogStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAInE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAGjD;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,YAAY,EACZ,kBAAkB,GAAG,eAAe,GAAG,KAAK,CAC7C,CAAA;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,QAAQ,EACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,KAAK,CAAA;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,QAAQ,EAAE,mBAAmB,CAAA;CAC9B,GAAG,sBAAsB,CAoGzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PreconditionFailedError, WasClient } from '@interop/was-client';
|
|
2
2
|
import { resourcePath, toUrl } from '@interop/was-client/paths';
|
|
3
3
|
import { WALLET_SPACE_PROVISION_ROSTER } from '../space/collections.js';
|
|
4
|
+
import { logResourcePinId } from './verifyLog.js';
|
|
4
5
|
/**
|
|
5
6
|
* The `status` of a raw signed-request error, when it carries one.
|
|
6
7
|
*
|
|
@@ -43,13 +44,20 @@ function collectionIsPublic({ collectionId }) {
|
|
|
43
44
|
* (and, on a capability-gated collection, the reads) invoke
|
|
44
45
|
* @param options.zcapClient {ZcapClient} the ezcap client holding the
|
|
45
46
|
* invoking signer
|
|
47
|
+
* @param options.pinStore {ResourceLogPinStore} this client's chain-head
|
|
48
|
+
* pins; the log's slot is derived here from the collection
|
|
49
|
+
* (`logResourcePinId`)
|
|
46
50
|
* @returns {DelegatedWebvhLogStore}
|
|
47
51
|
*/
|
|
48
|
-
export function delegatedWebvhLogStore({ host, spaceId, collectionId, delegation, zcapClient }) {
|
|
52
|
+
export function delegatedWebvhLogStore({ host, spaceId, collectionId, delegation, zcapClient, pinStore }) {
|
|
49
53
|
const publicRead = collectionIsPublic({ collectionId });
|
|
50
54
|
const was = new WasClient({ serverUrl: host, zcapClient });
|
|
51
55
|
const pathOf = (resourceId) => resourcePath(spaceId, collectionId, resourceId);
|
|
52
56
|
return {
|
|
57
|
+
pin: {
|
|
58
|
+
store: pinStore,
|
|
59
|
+
logId: logResourcePinId({ spaceId, collectionId })
|
|
60
|
+
},
|
|
53
61
|
async getIdResourceRaw({ resourceId }) {
|
|
54
62
|
if (publicRead) {
|
|
55
63
|
const response = await fetch(toUrl({ serverUrl: host, path: pathOf(resourceId) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegatedLogStore.js","sourceRoot":"","sources":["../../src/webvh/delegatedLogStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegatedLogStore.js","sourceRoot":"","sources":["../../src/webvh/delegatedLogStore.ts"],"names":[],"mappings":"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"}
|
package/dist/webvh/didWebvh.d.ts
CHANGED
|
@@ -89,6 +89,23 @@ export interface WebvhIdStore {
|
|
|
89
89
|
}): Promise<{
|
|
90
90
|
etag?: string;
|
|
91
91
|
} | void>;
|
|
92
|
+
/**
|
|
93
|
+
* The chain-head pin for the log this store serves: the caller's keyed
|
|
94
|
+
* {@link ResourceLogPinStore} plus the slot this log occupies in it
|
|
95
|
+
* (`accountLogPinId({ spaceId })` for the account log; a store over
|
|
96
|
+
* another collection's `did.jsonl` derives its own slot the same way). A
|
|
97
|
+
* property of the store rather than an argument of every read and publish,
|
|
98
|
+
* so no ceremony can read the log unpinned or publish an entry without
|
|
99
|
+
* advancing the pin: {@link readPublishedLog} refuses a served rollback,
|
|
100
|
+
* fork, or SCID / method switch against it, and {@link putLogResource}
|
|
101
|
+
* advances it to every log this store publishes. The constructors derive
|
|
102
|
+
* the slot from the collection they serve, so no caller pairs a store with
|
|
103
|
+
* the wrong slot.
|
|
104
|
+
*/
|
|
105
|
+
pin: {
|
|
106
|
+
store: ResourceLogPinStore;
|
|
107
|
+
logId: string;
|
|
108
|
+
};
|
|
92
109
|
}
|
|
93
110
|
/**
|
|
94
111
|
* The Multikey verification-method type the did:webvh data model uses for both
|
|
@@ -542,8 +559,18 @@ export declare function withThreadedHeadOnce<Result>({ published, attempt }: {
|
|
|
542
559
|
* keeping the check implementation-agnostic. With neither precondition the PUT
|
|
543
560
|
* is unconditional -- the degradation on a backend that serves no ETags.
|
|
544
561
|
*
|
|
562
|
+
* A successful write advances the store's chain-head pin to the log just
|
|
563
|
+
* published, so a host rolling the log back straight afterwards is refused
|
|
564
|
+
* on the next read. The write and the advance are one function on purpose:
|
|
565
|
+
* separating them is what leaves a pin standing behind an entry this client
|
|
566
|
+
* itself published. The pin write still lands after the PUT, not with it, so
|
|
567
|
+
* a client torn between the two holds a pin behind its own entry; that
|
|
568
|
+
* one-request window is what `BuiltOnHeadNotReachedError` still guards on a
|
|
569
|
+
* resume. Every log publish in this library (the create, the rotation, every
|
|
570
|
+
* ceremony entry) runs through here.
|
|
571
|
+
*
|
|
545
572
|
* @param options {object}
|
|
546
|
-
* @param options.store {object}
|
|
573
|
+
* @param options.store {object} the seam's `putIdResource` and its `pin`
|
|
547
574
|
* @param options.log {DIDLog}
|
|
548
575
|
* @param [options.ifMatch] {string} publish only if the log is unchanged
|
|
549
576
|
* @param [options.ifNoneMatch] {boolean} publish only if the log is absent
|
|
@@ -552,7 +579,7 @@ export declare function withThreadedHeadOnce<Result>({ published, attempt }: {
|
|
|
552
579
|
* backend that serves no ETags
|
|
553
580
|
*/
|
|
554
581
|
export declare function putLogResource({ store, log, ifMatch, ifNoneMatch }: {
|
|
555
|
-
store: Pick<WebvhIdStore, 'putIdResource'>;
|
|
582
|
+
store: Pick<WebvhIdStore, 'putIdResource' | 'pin'>;
|
|
556
583
|
log: DIDLog;
|
|
557
584
|
ifMatch?: string;
|
|
558
585
|
ifNoneMatch?: boolean;
|
|
@@ -562,7 +589,7 @@ export declare function putLogResource({ store, log, ifMatch, ifNoneMatch }: {
|
|
|
562
589
|
/**
|
|
563
590
|
* THE POSTAMBLE: publishes `did.jsonl` -- the log only, never `did.json` (a
|
|
564
591
|
* caller writing through a bridge delegation is authorized for nothing else)
|
|
565
|
-
* -- and advances the
|
|
592
|
+
* -- and advances the store's chain-head pin to what it just published, so a
|
|
566
593
|
* host rolling the log back straight afterwards is refused on the next read.
|
|
567
594
|
*
|
|
568
595
|
* So an entry published here leaves the `did:web` projection standing at
|
|
@@ -576,27 +603,21 @@ export declare function putLogResource({ store, log, ifMatch, ifNoneMatch }: {
|
|
|
576
603
|
* surfaces as a {@link WebvhLogConflictError} (the mapping lives in
|
|
577
604
|
* {@link putLogResource}).
|
|
578
605
|
*
|
|
579
|
-
* The
|
|
580
|
-
*
|
|
581
|
-
*
|
|
582
|
-
* compensating class.
|
|
606
|
+
* The pin advance is {@link putLogResource}'s own, since the pin is a member
|
|
607
|
+
* of the store; this name is the ladder-signed ceremonies' statement that
|
|
608
|
+
* their publish is the log-only one.
|
|
583
609
|
*
|
|
584
610
|
* @param options {object}
|
|
585
|
-
* @param options.store {object}
|
|
611
|
+
* @param options.store {object} the seam's `putIdResource` and its `pin`
|
|
586
612
|
* @param options.log {DIDLog} the log this entry produced
|
|
587
613
|
* @param [options.ifMatch] {string} publish only if `did.jsonl` is unchanged
|
|
588
|
-
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
589
|
-
* pins; the pin advances only when a `logId` names its slot
|
|
590
|
-
* @param [options.logId] {string} the log's pin slot
|
|
591
614
|
* @returns {Promise<{ etag?: string }>} the new validator of the log this
|
|
592
615
|
* entry just published, for a stage building on the post-entry head
|
|
593
616
|
*/
|
|
594
|
-
export declare function publishEntryPinned({ store, log, ifMatch
|
|
595
|
-
store: Pick<WebvhIdStore, 'putIdResource'>;
|
|
617
|
+
export declare function publishEntryPinned({ store, log, ifMatch }: {
|
|
618
|
+
store: Pick<WebvhIdStore, 'putIdResource' | 'pin'>;
|
|
596
619
|
log: DIDLog;
|
|
597
620
|
ifMatch?: string;
|
|
598
|
-
pinStore?: ResourceLogPinStore;
|
|
599
|
-
logId?: string;
|
|
600
621
|
}): Promise<{
|
|
601
622
|
etag?: string;
|
|
602
623
|
}>;
|
|
@@ -751,10 +772,10 @@ export interface PublishedWebvhLog {
|
|
|
751
772
|
* hold the account pointer (or an earlier read of the same log, mid-ceremony)
|
|
752
773
|
* pass it; a caller discovering the DID from the log itself cannot.
|
|
753
774
|
*
|
|
754
|
-
*
|
|
755
|
-
*
|
|
756
|
-
* class: a served log that is a rollback, a fork, or an
|
|
757
|
-
* relative to the pinned head is refused with a
|
|
775
|
+
* The resolved log takes the same chain-head continuity check
|
|
776
|
+
* `verifyAccountLog` runs, against the store's own pin, through literally the
|
|
777
|
+
* same seam and refusal class: a served log that is a rollback, a fork, or an
|
|
778
|
+
* SCID/method switch relative to the pinned head is refused with a
|
|
758
779
|
* {@link ResourceLogContinuityError} rather than built on, and the pin is
|
|
759
780
|
* established at first contact and advanced only by a log that verifies past
|
|
760
781
|
* it. This is what stops a host from feeding a ceremony a valid PREFIX of the
|
|
@@ -767,21 +788,22 @@ export interface PublishedWebvhLog {
|
|
|
767
788
|
* refused as a `rollback` instead of read as `undefined`.
|
|
768
789
|
*
|
|
769
790
|
* @param options {object}
|
|
770
|
-
* @param options.idStore {Pick<WebvhIdStore, 'getIdResourceRaw'>}
|
|
771
|
-
* half of the seam
|
|
772
|
-
* delegation's read + PUT pair) passes it directly
|
|
791
|
+
* @param options.idStore {Pick<WebvhIdStore, 'getIdResourceRaw' | 'pin'>}
|
|
792
|
+
* the read half of the seam plus its pin, so a caller holding a narrower
|
|
793
|
+
* store (a bridge delegation's read + PUT pair) passes it directly
|
|
773
794
|
* @param [options.expectedDid] {string} the DID the log must resolve to
|
|
774
|
-
* @param [options.
|
|
775
|
-
*
|
|
776
|
-
*
|
|
777
|
-
*
|
|
795
|
+
* @param [options.absentUnderPin] {'refuse' | 'absent'} what an absent log
|
|
796
|
+
* under a held pin reads as: `refuse` (the default, the account log's
|
|
797
|
+
* rule above) throws the `rollback` refusal; `absent` resolves `undefined`
|
|
798
|
+
* and leaves the pin standing, for a log that is deleted by design (an
|
|
799
|
+
* annex generation). A served log that falls behind the pin stays refused
|
|
800
|
+
* under both
|
|
778
801
|
* @returns {Promise<PublishedWebvhLog | undefined>}
|
|
779
802
|
*/
|
|
780
|
-
export declare function readPublishedLog({ idStore, expectedDid,
|
|
781
|
-
idStore: Pick<WebvhIdStore, 'getIdResourceRaw'>;
|
|
803
|
+
export declare function readPublishedLog({ idStore, expectedDid, absentUnderPin }: {
|
|
804
|
+
idStore: Pick<WebvhIdStore, 'getIdResourceRaw' | 'pin'>;
|
|
782
805
|
expectedDid?: string;
|
|
783
|
-
|
|
784
|
-
logId?: string;
|
|
806
|
+
absentUnderPin?: 'refuse' | 'absent';
|
|
785
807
|
}): Promise<PublishedWebvhLog | undefined>;
|
|
786
808
|
/**
|
|
787
809
|
* {@link readPublishedLog} for the ceremonies whose premise is a log that
|
|
@@ -799,21 +821,15 @@ export declare function readPublishedLog({ idStore, expectedDid, pinStore, logId
|
|
|
799
821
|
* an orchestrator's pre-read.
|
|
800
822
|
*
|
|
801
823
|
* @param options {object}
|
|
802
|
-
* @param options.idStore {Pick<WebvhIdStore, 'getIdResourceRaw'>}
|
|
824
|
+
* @param options.idStore {Pick<WebvhIdStore, 'getIdResourceRaw' | 'pin'>}
|
|
803
825
|
* @param [options.expectedDid] {string} the DID the log must resolve to
|
|
804
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
805
|
-
* pins for the log being read
|
|
806
|
-
* @param [options.logId] {string} the log's pin-slot key; required whenever
|
|
807
|
-
* a `pinStore` is supplied
|
|
808
826
|
* @param [options.missingMessage] {string} the thrown `Error`'s message when
|
|
809
827
|
* the log is absent
|
|
810
828
|
* @returns {Promise<PublishedWebvhLog>}
|
|
811
829
|
*/
|
|
812
|
-
export declare function readPublishedLogOrThrow({ idStore, expectedDid,
|
|
813
|
-
idStore: Pick<WebvhIdStore, 'getIdResourceRaw'>;
|
|
830
|
+
export declare function readPublishedLogOrThrow({ idStore, expectedDid, missingMessage }: {
|
|
831
|
+
idStore: Pick<WebvhIdStore, 'getIdResourceRaw' | 'pin'>;
|
|
814
832
|
expectedDid?: string;
|
|
815
|
-
pinStore?: ResourceLogPinStore;
|
|
816
|
-
logId?: string;
|
|
817
833
|
missingMessage?: string;
|
|
818
834
|
}): Promise<PublishedWebvhLog>;
|
|
819
835
|
/**
|
|
@@ -826,23 +842,6 @@ export declare function readPublishedLogOrThrow({ idStore, expectedDid, pinStore
|
|
|
826
842
|
* @returns {ResourceLogHeadPin}
|
|
827
843
|
*/
|
|
828
844
|
export declare function pinOfLog(log: DIDLog): ResourceLogHeadPin;
|
|
829
|
-
/**
|
|
830
|
-
* Advances a caller's chain-head pin to the log it just published, when it
|
|
831
|
-
* keeps one. The pair is optional together: a caller holding no pin store, or
|
|
832
|
-
* no slot to write it under, keeps one-shot verification, so both halves are
|
|
833
|
-
* checked here rather than at every publish site.
|
|
834
|
-
*
|
|
835
|
-
* @param options {object}
|
|
836
|
-
* @param [options.pinStore] {ResourceLogPinStore}
|
|
837
|
-
* @param [options.logId] {string} the pin slot this log occupies
|
|
838
|
-
* @param options.log {DIDLog} the log as this client just published it
|
|
839
|
-
* @returns {Promise<void>}
|
|
840
|
-
*/
|
|
841
|
-
export declare function advanceLogPin({ pinStore, logId, log }: {
|
|
842
|
-
pinStore?: ResourceLogPinStore;
|
|
843
|
-
logId?: string;
|
|
844
|
-
log: DIDLog;
|
|
845
|
-
}): Promise<void>;
|
|
846
845
|
/**
|
|
847
846
|
* The head of a log snapshot in the pending record's terms: the genesis
|
|
848
847
|
* parameters' SCID plus the latest entry's `versionId`. What a
|
|
@@ -953,13 +952,14 @@ export declare function currentLogParameters(published: {
|
|
|
953
952
|
*
|
|
954
953
|
* The probe read is checked against the DID this run expects -- a caller's
|
|
955
954
|
* `expectedDid`, else the `webvh` block of the `keys.json` it was handed -- and
|
|
956
|
-
* against
|
|
957
|
-
* prefix of the real one can be adopted here. One exemption, and it
|
|
958
|
-
* documented first-contact case: an adoption holding neither a
|
|
959
|
-
* `expectedDid` nor a `keys.json` webvh block legitimately
|
|
960
|
-
* from the log itself, and
|
|
961
|
-
*
|
|
962
|
-
*
|
|
955
|
+
* against the store's chain-head pin, so neither a substituted log nor a
|
|
956
|
+
* truncated prefix of the real one can be adopted here. One exemption, and it
|
|
957
|
+
* is the documented first-contact case: an adoption holding neither a
|
|
958
|
+
* caller-supplied `expectedDid` nor a `keys.json` webvh block legitimately
|
|
959
|
+
* discovers the DID from the log itself, and its read is what establishes the
|
|
960
|
+
* pin (trust-on-first-use). On the create path the pin is written to the log
|
|
961
|
+
* this run just published, since the creator knows the true genesis and first
|
|
962
|
+
* contact should not be left to the next read.
|
|
963
963
|
*
|
|
964
964
|
* @param options {object}
|
|
965
965
|
* @param options.idStore {WebvhIdStore}
|
|
@@ -975,9 +975,6 @@ export declare function currentLogParameters(published: {
|
|
|
975
975
|
* client-local
|
|
976
976
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
977
977
|
* resolve to, when the caller holds the account pointer
|
|
978
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
979
|
-
* pins; the account log's slot is keyed by `accountLogPinId` over the
|
|
980
|
-
* `spaceId` above
|
|
981
978
|
* @returns {Promise<{ did: string }>}
|
|
982
979
|
*/
|
|
983
980
|
export declare function ensureDidWebvh(options: {
|
|
@@ -989,7 +986,6 @@ export declare function ensureDidWebvh(options: {
|
|
|
989
986
|
clientKeys: WebvhClientKeys;
|
|
990
987
|
updateKeys: ClientWebvhUpdateKeys;
|
|
991
988
|
expectedDid?: string;
|
|
992
|
-
pinStore?: ResourceLogPinStore;
|
|
993
989
|
}): Promise<{
|
|
994
990
|
did: string;
|
|
995
991
|
}>;
|
|
@@ -1022,12 +1018,12 @@ export declare function ensureDidWebvh(options: {
|
|
|
1022
1018
|
* seed again -- the documented cost of a torn rotation, one unused staged key.
|
|
1023
1019
|
*
|
|
1024
1020
|
* A rotation is a publish, so the read it builds on carries the full check: an
|
|
1025
|
-
* `expectedDid` refuses a substituted log, and
|
|
1026
|
-
* history that is a rollback, a fork, or an SCID/method
|
|
1027
|
-
* host serving a truncated prefix gets this ceremony to
|
|
1028
|
-
* truncation plus its own entry as the log's durable state. The
|
|
1029
|
-
* to the head this ceremony publishes, so a host that rolls the
|
|
1030
|
-
* immediately afterwards is caught by the next read.
|
|
1021
|
+
* `expectedDid` refuses a substituted log, and the store's chain-head pin
|
|
1022
|
+
* refuses a served history that is a rollback, a fork, or an SCID/method
|
|
1023
|
+
* switch -- without it a host serving a truncated prefix gets this ceremony to
|
|
1024
|
+
* republish the truncation plus its own entry as the log's durable state. The
|
|
1025
|
+
* pin advances to the head this ceremony publishes, so a host that rolls the
|
|
1026
|
+
* log back immediately afterwards is caught by the next read.
|
|
1031
1027
|
*
|
|
1032
1028
|
* @param options {object}
|
|
1033
1029
|
* @param options.idStore {WebvhIdStore}
|
|
@@ -1036,11 +1032,6 @@ export declare function ensureDidWebvh(options: {
|
|
|
1036
1032
|
* that changes the log's authorized update keys
|
|
1037
1033
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
1038
1034
|
* resolve to
|
|
1039
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
1040
|
-
* pins for the account log
|
|
1041
|
-
* @param [options.logId] {string} the account log's pin-slot key, built by
|
|
1042
|
-
* the caller with `accountLogPinId({ spaceId })`; required whenever a
|
|
1043
|
-
* `pinStore` is supplied
|
|
1044
1035
|
* @returns {Promise<{ did: string }>}
|
|
1045
1036
|
*/
|
|
1046
1037
|
export declare function rotateWebvhUpdateKey(options: {
|
|
@@ -1048,8 +1039,6 @@ export declare function rotateWebvhUpdateKey(options: {
|
|
|
1048
1039
|
updateKeys: ClientWebvhUpdateKeys;
|
|
1049
1040
|
persistUpdateKeys: (next: ClientWebvhUpdateKeys) => Promise<void>;
|
|
1050
1041
|
expectedDid?: string;
|
|
1051
|
-
pinStore?: ResourceLogPinStore;
|
|
1052
|
-
logId?: string;
|
|
1053
1042
|
}): Promise<{
|
|
1054
1043
|
did: string;
|
|
1055
1044
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"AA2EA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,MAAM,EACN,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAelC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
|