@interop/wallet-core 0.66.0 → 0.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -8
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +6 -10
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +34 -56
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +46 -29
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +111 -86
- 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 +13 -24
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +33 -129
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +43 -182
- 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 +75 -18
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +79 -147
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +8 -8
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +5 -5
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladder.d.ts +51 -4
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +283 -47
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +62 -73
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +103 -117
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +123 -125
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +174 -233
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts +0 -4
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +50 -51
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +25 -13
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +80 -303
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -5
- package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
- package/dist/clientAnnex/rosterDeliveredEpochs.js +18 -9
- package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +6 -10
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +13 -18
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/clientAnnex/zcap.d.ts +19 -0
- package/dist/clientAnnex/zcap.d.ts.map +1 -1
- package/dist/clientAnnex/zcap.js +80 -12
- package/dist/clientAnnex/zcap.js.map +1 -1
- package/dist/clients/index.d.ts +3 -2
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js +3 -2
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +33 -15
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/policy.d.ts +18 -0
- package/dist/clients/policy.d.ts.map +1 -1
- package/dist/clients/policy.js +22 -8
- package/dist/clients/policy.js.map +1 -1
- package/dist/clients/revocation.d.ts +18 -30
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js +12 -27
- package/dist/clients/revocation.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts +6 -1
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +27 -30
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/errors.d.ts +6 -5
- package/dist/descriptors/errors.d.ts.map +1 -1
- package/dist/descriptors/errors.js +6 -5
- package/dist/descriptors/errors.js.map +1 -1
- package/dist/descriptors/index.d.ts +7 -3
- package/dist/descriptors/index.d.ts.map +1 -1
- package/dist/descriptors/index.js +7 -3
- package/dist/descriptors/index.js.map +1 -1
- package/dist/descriptors/logSource.d.ts +28 -6
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +33 -7
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +3 -7
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +11 -16
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +43 -47
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/genesis/kmsAuthentication.d.ts +50 -0
- package/dist/genesis/kmsAuthentication.d.ts.map +1 -0
- package/dist/genesis/kmsAuthentication.js +49 -0
- package/dist/genesis/kmsAuthentication.js.map +1 -0
- package/dist/keyring/kdf.d.ts +16 -20
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +2 -2
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keyring/unlockSpace.d.ts +8 -30
- package/dist/keyring/unlockSpace.d.ts.map +1 -1
- package/dist/keyring/unlockSpace.js +8 -31
- package/dist/keyring/unlockSpace.js.map +1 -1
- package/dist/keys/clientKeyRecord.d.ts +2 -1
- package/dist/keys/clientKeyRecord.d.ts.map +1 -1
- package/dist/keys/clientKeyRecord.js +28 -11
- package/dist/keys/clientKeyRecord.js.map +1 -1
- package/dist/keys/index.d.ts +6 -2
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +5 -1
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +14 -5
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +92 -3
- package/dist/keys/spaceEpochs.d.ts.map +1 -1
- package/dist/keys/spaceEpochs.js +110 -4
- package/dist/keys/spaceEpochs.js.map +1 -1
- package/dist/keys/userKeyRoster.d.ts +30 -3
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +90 -15
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
- package/dist/keys/userKeyRosterCascade.js +5 -1
- package/dist/keys/userKeyRosterCascade.js.map +1 -1
- package/dist/recovery/continuation.d.ts +250 -0
- package/dist/recovery/continuation.d.ts.map +1 -0
- package/dist/recovery/continuation.js +467 -0
- package/dist/recovery/continuation.js.map +1 -0
- package/dist/recovery/index.d.ts +12 -8
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/index.js +11 -7
- package/dist/recovery/index.js.map +1 -1
- package/dist/recovery/recoveryDelegation.d.ts +23 -126
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +1 -266
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +52 -107
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +54 -403
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/request/classify.d.ts +3 -14
- package/dist/request/classify.d.ts.map +1 -1
- package/dist/request/classify.js +19 -40
- package/dist/request/classify.js.map +1 -1
- package/dist/request/index.d.ts +1 -0
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +1 -0
- package/dist/request/index.js.map +1 -1
- package/dist/request/onboarding.d.ts.map +1 -1
- package/dist/request/onboarding.js +19 -27
- package/dist/request/onboarding.js.map +1 -1
- package/dist/request/parse.d.ts +5 -3
- package/dist/request/parse.d.ts.map +1 -1
- package/dist/request/parse.js +7 -6
- package/dist/request/parse.js.map +1 -1
- package/dist/request/processRequest.d.ts.map +1 -1
- package/dist/request/processRequest.js +2 -1
- package/dist/request/processRequest.js.map +1 -1
- package/dist/request/queryPredicates.d.ts +98 -0
- package/dist/request/queryPredicates.d.ts.map +1 -0
- package/dist/request/queryPredicates.js +107 -0
- package/dist/request/queryPredicates.js.map +1 -0
- package/dist/resourceLog/document.d.ts +39 -0
- package/dist/resourceLog/document.d.ts.map +1 -1
- package/dist/resourceLog/document.js +41 -0
- package/dist/resourceLog/document.js.map +1 -1
- package/dist/resourceLog/index.d.ts +2 -2
- package/dist/resourceLog/index.js +2 -2
- package/dist/resourceLog/ladderRungs.d.ts.map +1 -1
- package/dist/resourceLog/ladderRungs.js +3 -2
- package/dist/resourceLog/ladderRungs.js.map +1 -1
- package/dist/sync/contactsConflict.d.ts.map +1 -1
- package/dist/sync/contactsConflict.js +8 -2
- package/dist/sync/contactsConflict.js.map +1 -1
- package/dist/sync/engine.d.ts +38 -23
- package/dist/sync/engine.d.ts.map +1 -1
- package/dist/sync/engine.js +36 -5
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/index.d.ts +9 -12
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +8 -11
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/push.d.ts.map +1 -1
- package/dist/sync/push.js +1 -2
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/remint.d.ts +0 -31
- package/dist/sync/remint.d.ts.map +1 -1
- package/dist/sync/remint.js +32 -1
- package/dist/sync/remint.js.map +1 -1
- package/dist/sync/types.d.ts +4 -41
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/sync/types.js +4 -47
- package/dist/sync/types.js.map +1 -1
- package/dist/unlock/index.d.ts +1 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js +1 -1
- package/dist/unlock/index.js.map +1 -1
- package/dist/unlock/retire.d.ts +16 -64
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +7 -86
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +27 -61
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +40 -92
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/unlock/unlockRecord.d.ts.map +1 -1
- package/dist/unlock/unlockRecord.js +69 -44
- package/dist/unlock/unlockRecord.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +68 -19
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +117 -37
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +24 -13
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +40 -11
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +91 -86
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +117 -142
- 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 +22 -31
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +12 -8
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +10 -7
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +102 -65
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/mergeMethods.d.ts +84 -0
- package/dist/webvh/mergeMethods.d.ts.map +1 -0
- package/dist/webvh/mergeMethods.js +46 -0
- package/dist/webvh/mergeMethods.js.map +1 -0
- package/dist/webvh/revokeClient.d.ts +15 -11
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +130 -57
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +45 -4
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +62 -21
- 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 +11 -11
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
* from durable state alone, on the recovery continuation's pattern.
|
|
54
54
|
*/
|
|
55
55
|
import { deriveNextKeyHash, updateDID } from '@interop/did-method-webvh';
|
|
56
|
-
import { assertCanonicalClientKeys, backfillKeyMapWebvhBlock, concludeWithPublishedLog, createLadderAnchoredWebvhLog, didWebvhControllerTemplate, genesisNextKeyHashes, ladderVerificationMethod, markedVerificationMethodPair,
|
|
56
|
+
import { assertCanonicalClientKeys, backfillKeyMapWebvhBlock, concludeWithPublishedLog, createLadderAnchoredWebvhLog, didWebvhControllerTemplate, genesisNextKeyHashes, ladderVerificationMethod, markedVerificationMethodPair, publishEntryPinned, publishWebvhLog, readPublishedLog, readPublishedLogOrThrow, servedHead, updateKeySigner, withLogConflictRetry, writeKeysJson } from '../webvh/didWebvh.js';
|
|
57
|
+
import { mergeVerificationMethods } from '../webvh/mergeMethods.js';
|
|
57
58
|
import { putDidWebProjection } from '../webvh/didWebProjection.js';
|
|
58
|
-
import { accountLogPinId } from '../webvh/verifyLog.js';
|
|
59
59
|
import { ladderVmIds, relationIds } from '../resourceLog/document.js';
|
|
60
60
|
import { clientRemovalFields, clientRemovalTarget } from '../webvh/revokeClient.js';
|
|
61
61
|
import { unlockKeyVerificationMethod } from '../unlock/standingWebvh.js';
|
|
62
62
|
import { attributeLadderRung, ladderRung, ladderVmKeyMultibase } from './ladder.js';
|
|
63
|
-
import { signAccountEntry } from '../webvh/accountEntry.js';
|
|
63
|
+
import { accountEntryHead, signAccountEntry } from '../webvh/accountEntry.js';
|
|
64
64
|
/**
|
|
65
65
|
* LADDER-ANCHORED GENESIS: assembles the one-entry did:webvh log of an account
|
|
66
66
|
* with zero enrolled clients, anchored on the minting credential's
|
|
@@ -135,9 +135,10 @@ export async function createLadderAnchoredAccountLog({ wasServerUrl, spaceId, di
|
|
|
135
135
|
*
|
|
136
136
|
* The publish is a conditional create-if-absent, so a concurrent signup's
|
|
137
137
|
* winner is adopted on the conflict re-run rather than erased. On the create
|
|
138
|
-
* path
|
|
139
|
-
* account-log trust-on-first-use convention: the creator
|
|
140
|
-
* genesis); on the probe path the read itself carries the pin
|
|
138
|
+
* path the publish advances the store's own chain-head pin from the log this
|
|
139
|
+
* run minted (the account-log trust-on-first-use convention: the creator
|
|
140
|
+
* knows the true genesis); on the probe path the read itself carries the pin
|
|
141
|
+
* check.
|
|
141
142
|
*
|
|
142
143
|
* @param options {object}
|
|
143
144
|
* @param options.idStore {WebvhIdStore}
|
|
@@ -156,9 +157,6 @@ export async function createLadderAnchoredAccountLog({ wasServerUrl, spaceId, di
|
|
|
156
157
|
* @param [options.expectedDid] {string} the DID the published log must
|
|
157
158
|
* resolve to, when the caller holds the account pointer; a heal login on a
|
|
158
159
|
* fresh terminal legitimately holds none
|
|
159
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
160
|
-
* pins; the account log's slot is keyed by `accountLogPinId` over the
|
|
161
|
-
* `spaceId` above
|
|
162
160
|
* @returns {Promise<{ did: string, published: PublishedWebvhLog,
|
|
163
161
|
* logMinted: boolean }>} `published` is the head this stage stands on --
|
|
164
162
|
* the served one on the adopt branch, the minted one paired with its
|
|
@@ -183,12 +181,10 @@ export async function ensureLadderAnchoredDidWebvh(options) {
|
|
|
183
181
|
* @returns {Promise<{ did: string, published: PublishedWebvhLog,
|
|
184
182
|
* logMinted: boolean }>}
|
|
185
183
|
*/
|
|
186
|
-
async function ensureLadderAnchoredDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys, keysJsonEtag, ladderSeed, keyAgreement, expectedDid
|
|
187
|
-
const logId = accountLogPinId({ spaceId });
|
|
184
|
+
async function ensureLadderAnchoredDidWebvhOnce({ idStore, wasServerUrl, spaceId, didWebKeys, keysJsonEtag, ladderSeed, keyAgreement, expectedDid }) {
|
|
188
185
|
const published = await readPublishedLog({
|
|
189
186
|
idStore,
|
|
190
|
-
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
191
|
-
...(pinStore ? { pinStore, logId } : {})
|
|
187
|
+
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
192
188
|
});
|
|
193
189
|
if (published) {
|
|
194
190
|
// Adoption: a torn earlier signup (or a concurrent one) already published
|
|
@@ -230,14 +226,11 @@ async function ensureLadderAnchoredDidWebvhOnce({ idStore, wasServerUrl, spaceId
|
|
|
230
226
|
webDoc: created.webDoc,
|
|
231
227
|
// Create-if-absent: a concurrent signup that already published its own
|
|
232
228
|
// log wins, and this run re-reads and adopts (or refuses) instead of
|
|
233
|
-
// erasing it.
|
|
229
|
+
// erasing it. The publish advances the store's own chain-head pin to the
|
|
230
|
+
// genesis this run minted -- trust-on-first-use established by the
|
|
231
|
+
// creator itself, which needs no served log to be believed.
|
|
234
232
|
ifNoneMatch: true
|
|
235
233
|
});
|
|
236
|
-
// Trust-on-first-use, established by the creator itself: this run minted the
|
|
237
|
-
// genesis, so the pin it writes needs no served log to be believed.
|
|
238
|
-
if (pinStore) {
|
|
239
|
-
await pinStore.write({ logId, pin: pinOfLog(created.log) });
|
|
240
|
-
}
|
|
241
234
|
// The enrolled-client create path's keys.json record, verbatim: the
|
|
242
235
|
// account DID joins the KMS bindings in the webvh block, so keys.json never
|
|
243
236
|
// durably names the bindings without the DID they belong to.
|
|
@@ -280,16 +273,12 @@ async function ensureLadderAnchoredDidWebvhOnce({ idStore, wasServerUrl, spaceId
|
|
|
280
273
|
* committed one (the retry-up-the-ladder resolution).
|
|
281
274
|
*
|
|
282
275
|
* @param options {object}
|
|
283
|
-
* @param options.store {UnlockLogStore} public log read + delegated PUT
|
|
276
|
+
* @param options.store {UnlockLogStore} public log read + delegated PUT,
|
|
277
|
+
* carrying the chain-head pin the read is checked against and the publish
|
|
278
|
+
* advances
|
|
284
279
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
285
280
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
286
281
|
* to, from the caller's stored account pointer
|
|
287
|
-
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
288
|
-
* pins: the read is checked against the pinned head, and the pin advances
|
|
289
|
-
* to the head this entry publishes
|
|
290
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
291
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
292
|
-
* supplied
|
|
293
282
|
* @param [options.skip] {function} `(published) => boolean` -- run on the
|
|
294
283
|
* read, before any attribution; `true` returns `skipped` with nothing
|
|
295
284
|
* published
|
|
@@ -302,15 +291,13 @@ async function ensureLadderAnchoredDidWebvhOnce({ idStore, wasServerUrl, spaceId
|
|
|
302
291
|
* write it. See {@link signAccountEntry}
|
|
303
292
|
* @returns {Promise<LadderSignedEntryOutcome>}
|
|
304
293
|
*/
|
|
305
|
-
export async function ladderSignedAccountEntry({ store, ladderSeed, expectedDid,
|
|
294
|
+
export async function ladderSignedAccountEntry({ store, ladderSeed, expectedDid, skip, build, beforePublish }) {
|
|
306
295
|
const outcome = await signAccountEntry({
|
|
307
296
|
idStore: store,
|
|
308
297
|
signer: { kind: 'ladder', ladderSeed },
|
|
309
298
|
build: ({ published, rung, state }) => build({ published, rung: rung, state: state }),
|
|
310
299
|
...(skip ? { skip } : {}),
|
|
311
300
|
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
312
|
-
...(pinStore ? { pinStore } : {}),
|
|
313
|
-
...(logId !== undefined ? { logId } : {}),
|
|
314
301
|
missingMessage: 'did:webvh: did.jsonl is missing; nothing to enroll into.',
|
|
315
302
|
...(beforePublish ? { beforePublish } : {})
|
|
316
303
|
});
|
|
@@ -323,7 +310,8 @@ export async function ladderSignedAccountEntry({ store, ladderSeed, expectedDid,
|
|
|
323
310
|
rung: outcome.rung,
|
|
324
311
|
rungHash: outcome.rungHash,
|
|
325
312
|
state: outcome.state,
|
|
326
|
-
...(outcome.updated ? { updated: outcome.updated } : {})
|
|
313
|
+
...(outcome.updated ? { updated: outcome.updated } : {}),
|
|
314
|
+
...(outcome.etag !== undefined ? { etag: outcome.etag } : {})
|
|
327
315
|
};
|
|
328
316
|
}
|
|
329
317
|
/**
|
|
@@ -339,7 +327,11 @@ export async function ladderSignedAccountEntry({ store, ladderSeed, expectedDid,
|
|
|
339
327
|
* re-attributing, which is exactly the retry-up-the-ladder resolution.
|
|
340
328
|
*
|
|
341
329
|
* @param options {object}
|
|
342
|
-
* @param options.store {UnlockLogStore} public log read + delegated PUT
|
|
330
|
+
* @param options.store {UnlockLogStore} public log read + delegated PUT.
|
|
331
|
+
* Every read the two entries are built on is checked against the store's
|
|
332
|
+
* own chain-head pin (a served prefix is refused before the reveal entry
|
|
333
|
+
* lands, not only by a verify that follows both entries), and the pin
|
|
334
|
+
* advances to each entry as it publishes
|
|
343
335
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed, from
|
|
344
336
|
* its unlock record
|
|
345
337
|
* @param options.newClientKeys {WebvhEnrollmentKeys} the new ordinary
|
|
@@ -390,14 +382,6 @@ export async function ladderSignedAccountEntry({ store, ladderSeed, expectedDid,
|
|
|
390
382
|
* fork guard
|
|
391
383
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
392
384
|
* to, from the credential-authenticated pointer
|
|
393
|
-
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
394
|
-
* pins; every read both entries are built on is checked against the pinned
|
|
395
|
-
* head (a served prefix is refused before the reveal entry lands, not only
|
|
396
|
-
* by a verify that follows both entries), and the pin advances to each
|
|
397
|
-
* entry as it publishes
|
|
398
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
399
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
400
|
-
* supplied
|
|
401
385
|
* @returns {Promise<{ did: string, webDoc?: object, committed: boolean }>}
|
|
402
386
|
* the account DID, the final `did.json` projection when the add entry ran
|
|
403
387
|
* here, and `committed` -- whether THIS call published the pivot entry
|
|
@@ -494,7 +478,7 @@ export class BuiltOnHeadNotReachedError extends Error {
|
|
|
494
478
|
* @param options {object} see {@link selfEnrollWebvhClient}
|
|
495
479
|
* @returns {Promise<{ did: string, webDoc?: object, committed: boolean }>}
|
|
496
480
|
*/
|
|
497
|
-
async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, newClientUpdateSeeds, onCommitted, builtOnHead, expectedDid
|
|
481
|
+
async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, newClientUpdateSeeds, onCommitted, builtOnHead, expectedDid }) {
|
|
498
482
|
// The reveal-and-commit entry, through the shared preamble and postamble.
|
|
499
483
|
// It is skipped when a torn earlier run already published it (the rung
|
|
500
484
|
// revealed AND every needed hash committed).
|
|
@@ -502,8 +486,6 @@ async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, new
|
|
|
502
486
|
store,
|
|
503
487
|
ladderSeed,
|
|
504
488
|
expectedDid,
|
|
505
|
-
pinStore,
|
|
506
|
-
logId,
|
|
507
489
|
skip: read => {
|
|
508
490
|
// The resume marker, checked before anything else -- the completion
|
|
509
491
|
// check included, so a truncated served log is refused rather than read
|
|
@@ -542,16 +524,20 @@ async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, new
|
|
|
542
524
|
return { did: reveal.published.did, committed: false };
|
|
543
525
|
}
|
|
544
526
|
const { rung, rungHash } = reveal;
|
|
545
|
-
// The
|
|
546
|
-
|
|
547
|
-
|
|
527
|
+
// The head the reveal entry left standing, assembled from the entry's own
|
|
528
|
+
// result rather than re-read: nothing between the two entries touches the
|
|
529
|
+
// log. The add entry publishes under a compare-and-swap on this head's
|
|
530
|
+
// validator, so a head with none (a store serving no ETag on the reveal's
|
|
531
|
+
// PUT, or on the GET a declined reveal hands back verbatim) is
|
|
532
|
+
// re-read under the same pin instead, rather than built on unconditionally.
|
|
533
|
+
const head = accountEntryHead({ outcome: reveal });
|
|
534
|
+
const published = head.etag !== undefined
|
|
535
|
+
? head
|
|
536
|
+
: await readPublishedLogOrThrow({
|
|
548
537
|
idStore: store,
|
|
549
538
|
expectedDid: reveal.published.did,
|
|
550
|
-
pinStore,
|
|
551
|
-
logId,
|
|
552
539
|
missingMessage: 'did:webvh: did.jsonl is missing; nothing to enroll into.'
|
|
553
|
-
})
|
|
554
|
-
: reveal.published;
|
|
540
|
+
});
|
|
555
541
|
// The persist-before-publish seam: the pending client-key record is
|
|
556
542
|
// persisted client-local HERE, on the head the add entry is about to be
|
|
557
543
|
// built on, before that entry -- the ceremony's pivot -- publishes a client
|
|
@@ -575,12 +561,6 @@ async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, new
|
|
|
575
561
|
signingKeyMultibase: newClientKeys.signingKeyMultibase,
|
|
576
562
|
keyAgreementKeyMultibase: newClientKeys.keyAgreementKeyMultibase
|
|
577
563
|
});
|
|
578
|
-
const existingMethods = (doc.verificationMethod ?? []);
|
|
579
|
-
const verificationMethods = [
|
|
580
|
-
...existingMethods.filter(method => !addedMethods.some(added => added.id === method.id)),
|
|
581
|
-
...addedMethods
|
|
582
|
-
];
|
|
583
|
-
const withReference = (relation, id) => [...new Set([...relationIds(relation), id])];
|
|
584
564
|
const signingVmId = vmId(newClientKeys.signingKeyMultibase);
|
|
585
565
|
const signer = await updateKeySigner({
|
|
586
566
|
seed: newClientUpdateSeeds.updateSeed
|
|
@@ -596,21 +576,25 @@ async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, new
|
|
|
596
576
|
])
|
|
597
577
|
],
|
|
598
578
|
nextKeyHashes: published.nextKeyHashes.filter(hash => hash !== rungHash),
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
579
|
+
...mergeVerificationMethods({
|
|
580
|
+
doc,
|
|
581
|
+
methods: addedMethods,
|
|
582
|
+
relations: {
|
|
583
|
+
authentication: [signingVmId],
|
|
584
|
+
assertionMethod: [signingVmId],
|
|
585
|
+
keyAgreement: [vmId(newClientKeys.keyAgreementKeyMultibase)],
|
|
586
|
+
capabilityInvocation: [signingVmId],
|
|
587
|
+
capabilityDelegation: [signingVmId]
|
|
588
|
+
}
|
|
589
|
+
})
|
|
605
590
|
});
|
|
606
|
-
// Conditional on the
|
|
607
|
-
//
|
|
591
|
+
// Conditional on the head this entry was built on: the reveal entry's
|
|
592
|
+
// own post-publish head (or its fallback re-read) when the commit entry
|
|
593
|
+
// ran here, the first read when it was skipped.
|
|
608
594
|
await publishEntryPinned({
|
|
609
595
|
store,
|
|
610
596
|
log: updated.log,
|
|
611
|
-
ifMatch: published.etag
|
|
612
|
-
pinStore,
|
|
613
|
-
logId
|
|
597
|
+
ifMatch: published.etag
|
|
614
598
|
});
|
|
615
599
|
return { did: updated.did, webDoc: updated.webDoc, committed: true };
|
|
616
600
|
}
|
|
@@ -674,7 +658,10 @@ export class LastEnrolledClientForgetError extends Error {
|
|
|
674
658
|
*
|
|
675
659
|
* @param options {object}
|
|
676
660
|
* @param options.store {UnlockLogStore} the credential's delegated
|
|
677
|
-
* `did.jsonl` bridge store
|
|
661
|
+
* `did.jsonl` bridge store; the read inside each attempt is checked against
|
|
662
|
+
* its chain-head pin (a served truncated prefix is refused as a `rollback`
|
|
663
|
+
* before anything is built on it), and the pin advances to the head this
|
|
664
|
+
* entry publishes
|
|
678
665
|
* @param [options.projectionStore] {object} an `id`-collection store the
|
|
679
666
|
* FORGETTING client can still write through (its own root-invoking store):
|
|
680
667
|
* the post-removal `did:web` projection is PUT through it immediately
|
|
@@ -691,13 +678,6 @@ export class LastEnrolledClientForgetError extends Error {
|
|
|
691
678
|
* excluded from the staged-hash attribution
|
|
692
679
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
693
680
|
* to, from the caller's stored account pointer
|
|
694
|
-
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
695
|
-
* pins: the read inside each attempt is checked against the pinned head
|
|
696
|
-
* (a served truncated prefix is refused as a `rollback` before anything is
|
|
697
|
-
* built on it), and the pin advances to the head this entry publishes
|
|
698
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
699
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
700
|
-
* supplied
|
|
701
681
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} the account
|
|
702
682
|
* DID and the document and log as the removal entry leaves them (unchanged
|
|
703
683
|
* on the idempotent no-op path)
|
|
@@ -706,13 +686,29 @@ export async function forgetWebvhClient(options) {
|
|
|
706
686
|
return withLogConflictRetry(() => clientForgetEntryOnce({ ...options, assertRemovable: assertNotLastClient }));
|
|
707
687
|
}
|
|
708
688
|
/**
|
|
709
|
-
*
|
|
710
|
-
* exactly the enrolled clients' signing keys (a
|
|
711
|
-
* `keyAgreement`-only and the KMS convenience key
|
|
712
|
-
*
|
|
713
|
-
*
|
|
714
|
-
*
|
|
715
|
-
*
|
|
689
|
+
* Whether a verification method is the account's ONE enrolled client:
|
|
690
|
+
* `capabilityInvocation` lists exactly the enrolled clients' signing keys (a
|
|
691
|
+
* recovery code's key is `keyAgreement`-only and the KMS convenience key
|
|
692
|
+
* `authentication`-only), so a document listing this method there and nothing
|
|
693
|
+
* else stands on this client alone. A document that does not list it at all
|
|
694
|
+
* is not this client standing alone, which is why membership is asked
|
|
695
|
+
* alongside exclusivity.
|
|
696
|
+
*
|
|
697
|
+
* @param options {object}
|
|
698
|
+
* @param options.doc {object} a locally verified account document
|
|
699
|
+
* @param options.vmId {string} the client's signing verification-method id
|
|
700
|
+
* @returns {boolean}
|
|
701
|
+
*/
|
|
702
|
+
export function isSoleEnrolledClient({ doc, vmId }) {
|
|
703
|
+
const invocationIds = relationIds(doc.capabilityInvocation);
|
|
704
|
+
return invocationIds.includes(vmId) && invocationIds.every(id => id === vmId);
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* The plain forget's removability invariant: removing the account's one
|
|
708
|
+
* enrolled client strands the account, so it is refused. The transition
|
|
709
|
+
* ceremony supplies its own invariant instead (`forgetLast.ts`), which is why
|
|
710
|
+
* this one is injected rather than selected by a flag inside the shared entry
|
|
711
|
+
* builder.
|
|
716
712
|
*
|
|
717
713
|
* @param options {object}
|
|
718
714
|
* @param options.published {PublishedWebvhLog}
|
|
@@ -720,9 +716,7 @@ export async function forgetWebvhClient(options) {
|
|
|
720
716
|
* @returns {void}
|
|
721
717
|
*/
|
|
722
718
|
function assertNotLastClient({ published, target }) {
|
|
723
|
-
|
|
724
|
-
if (invocationIds.includes(target.signingVmId) &&
|
|
725
|
-
invocationIds.every(id => id === target.signingVmId)) {
|
|
719
|
+
if (isSoleEnrolledClient({ doc: published.doc, vmId: target.signingVmId })) {
|
|
726
720
|
throw new LastEnrolledClientForgetError();
|
|
727
721
|
}
|
|
728
722
|
}
|
|
@@ -757,7 +751,7 @@ function assertNotLastClient({ published, target }) {
|
|
|
757
751
|
* built; it throws to refuse the removal
|
|
758
752
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>}
|
|
759
753
|
*/
|
|
760
|
-
export async function clientForgetEntryOnce({ store, projectionStore, ladderSeed, forgottenClient, knownLatentHashes = [], expectedDid,
|
|
754
|
+
export async function clientForgetEntryOnce({ store, projectionStore, ladderSeed, forgottenClient, knownLatentHashes = [], expectedDid, assertRemovable }) {
|
|
761
755
|
// Resolved by the skip hook on the read the entry is built on, and used by
|
|
762
756
|
// the build below -- the same snapshot, never a second read.
|
|
763
757
|
let target;
|
|
@@ -765,8 +759,6 @@ export async function clientForgetEntryOnce({ store, projectionStore, ladderSeed
|
|
|
765
759
|
store,
|
|
766
760
|
ladderSeed,
|
|
767
761
|
expectedDid,
|
|
768
|
-
pinStore,
|
|
769
|
-
logId,
|
|
770
762
|
skip: async (published) => {
|
|
771
763
|
target = await clientRemovalTarget({
|
|
772
764
|
published,
|
|
@@ -856,16 +848,11 @@ export async function clientForgetEntryOnce({ store, projectionStore, ladderSeed
|
|
|
856
848
|
*
|
|
857
849
|
* @param options {object}
|
|
858
850
|
* @param options.store {UnlockLogStore} the credential's delegated
|
|
859
|
-
* `did.jsonl` bridge store
|
|
851
|
+
* `did.jsonl` bridge store; the read inside each attempt is checked against
|
|
852
|
+
* its chain-head pin, and the pin advances to the head this entry publishes
|
|
860
853
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
861
854
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
862
855
|
* to, from the caller's stored account pointer
|
|
863
|
-
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
864
|
-
* pins: the read inside each attempt is checked against the pinned head,
|
|
865
|
-
* and the pin advances to the head this entry publishes
|
|
866
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
867
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
868
|
-
* supplied
|
|
869
856
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, installed: boolean }>}
|
|
870
857
|
* the account DID and the document and log as the install entry leaves them
|
|
871
858
|
* (unchanged on the idempotent no-op path); `installed` says whether the
|
|
@@ -912,14 +899,12 @@ async function installLadderVmWebvhOnce(options) {
|
|
|
912
899
|
* in
|
|
913
900
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, changed: boolean }>}
|
|
914
901
|
*/
|
|
915
|
-
async function setLadderVmPresenceOnce({ store, ladderSeed, expectedDid,
|
|
902
|
+
async function setLadderVmPresenceOnce({ store, ladderSeed, expectedDid, present }) {
|
|
916
903
|
const ladderVmKey = await ladderVmKeyMultibase({ ladderSeed });
|
|
917
904
|
const entry = await ladderSignedAccountEntry({
|
|
918
905
|
store,
|
|
919
906
|
ladderSeed,
|
|
920
907
|
expectedDid,
|
|
921
|
-
pinStore,
|
|
922
|
-
logId,
|
|
923
908
|
// Already in the asked-for state: a torn earlier run published the entry,
|
|
924
909
|
// the account is mid-transition, or the credential never bound a VM here.
|
|
925
910
|
skip: published => ladderVmIds({ doc: published.doc }).includes(`${published.did}#${ladderVmKey}`) === present,
|
|
@@ -989,16 +974,11 @@ async function setLadderVmPresenceOnce({ store, ladderSeed, expectedDid, pinStor
|
|
|
989
974
|
*
|
|
990
975
|
* @param options {object}
|
|
991
976
|
* @param options.store {UnlockLogStore} the credential's delegated
|
|
992
|
-
* `did.jsonl` bridge store
|
|
977
|
+
* `did.jsonl` bridge store; the read inside each attempt is checked against
|
|
978
|
+
* its chain-head pin, and the pin advances to the head this entry publishes
|
|
993
979
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
994
980
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
995
981
|
* to, from the caller's stored account pointer
|
|
996
|
-
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
997
|
-
* pins: the read inside each attempt is checked against the pinned head,
|
|
998
|
-
* and the pin advances to the head this entry publishes
|
|
999
|
-
* @param [options.logId] {string} the account log's pin slot
|
|
1000
|
-
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
1001
|
-
* supplied
|
|
1002
982
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, struck: boolean }>}
|
|
1003
983
|
* the account DID and the document and log as the strike entry leaves them
|
|
1004
984
|
* (unchanged on the idempotent no-op path); `struck` says whether the entry
|
|
@@ -1047,26 +1027,26 @@ async function strikeLadderVmWebvhOnce(options) {
|
|
|
1047
1027
|
*
|
|
1048
1028
|
* @param options {object}
|
|
1049
1029
|
* @param options.store {UnlockLogStore} the credential's delegated
|
|
1050
|
-
* `did.jsonl` bridge store
|
|
1030
|
+
* `did.jsonl` bridge store; the read is checked against its chain-head pin,
|
|
1031
|
+
* and the pin advances to the head this entry publishes
|
|
1051
1032
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
1052
1033
|
* @param [options.expectedDid] {string} the account DID the log must
|
|
1053
1034
|
* resolve to, from the caller's stored account pointer
|
|
1054
|
-
* @
|
|
1055
|
-
*
|
|
1056
|
-
*
|
|
1057
|
-
*
|
|
1058
|
-
*
|
|
1059
|
-
*
|
|
1060
|
-
*
|
|
1061
|
-
*
|
|
1035
|
+
* @returns {Promise<{ revealed: boolean, rung: LadderRung,
|
|
1036
|
+
* published: PublishedWebvhLog }>} whether this call published the
|
|
1037
|
+
* entry; the rung the attribution resolved, which stands REVEALED in
|
|
1038
|
+
* `published.updateKeys` either way (it was revealed already, or this entry
|
|
1039
|
+
* revealed it); and the head this call leaves standing -- the post-entry
|
|
1040
|
+
* head when it published, the read it was built on when the rung was
|
|
1041
|
+
* revealed already -- so a caller signing its next entry with the rung
|
|
1042
|
+
* builds on this head instead of re-reading and re-attributing a log that
|
|
1043
|
+
* provably did not change in between
|
|
1062
1044
|
*/
|
|
1063
|
-
export async function revealLadderRungWebvh({ store, ladderSeed, expectedDid
|
|
1045
|
+
export async function revealLadderRungWebvh({ store, ladderSeed, expectedDid }) {
|
|
1064
1046
|
const entry = await ladderSignedAccountEntry({
|
|
1065
1047
|
store,
|
|
1066
1048
|
ladderSeed,
|
|
1067
1049
|
expectedDid,
|
|
1068
|
-
pinStore,
|
|
1069
|
-
logId,
|
|
1070
1050
|
build: async ({ rung, state }) => {
|
|
1071
1051
|
// A rung already revealed (a torn earlier run, or a racing ceremony
|
|
1072
1052
|
// that got there first) leaves nothing to publish. The decline sits
|
|
@@ -1082,6 +1062,12 @@ export async function revealLadderRungWebvh({ store, ladderSeed, expectedDid, pi
|
|
|
1082
1062
|
};
|
|
1083
1063
|
}
|
|
1084
1064
|
});
|
|
1085
|
-
|
|
1065
|
+
// No `skip` hook was supplied, so the entry was attributed and `rung`
|
|
1066
|
+
// stands on the outcome.
|
|
1067
|
+
return {
|
|
1068
|
+
revealed: entry.updated !== undefined,
|
|
1069
|
+
rung: entry.rung,
|
|
1070
|
+
published: accountEntryHead({ outcome: entry })
|
|
1071
|
+
};
|
|
1086
1072
|
}
|
|
1087
1073
|
//# sourceMappingURL=ladderAnchored.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ladderAnchored.js","sourceRoot":"","sources":["../../src/clientAnnex/ladderAnchored.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ladderAnchored.js","sourceRoot":"","sources":["../../src/clientAnnex/ladderAnchored.ts"],"names":[],"mappings":"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"}
|