@interop/wallet-core 0.51.0 → 0.53.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 +7 -11
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +2 -2
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +1 -1
- package/dist/clientAnnex/forget.d.ts +18 -6
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +19 -6
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +51 -30
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +72 -26
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +3 -3
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +2 -2
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/index.d.ts +6 -6
- 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 +19 -11
- package/dist/clientAnnex/ladder.d.ts.map +1 -1
- package/dist/clientAnnex/ladder.js +77 -14
- package/dist/clientAnnex/ladder.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +146 -10
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +230 -26
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +6 -6
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +8 -8
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +18 -7
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +54 -14
- package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +67 -6
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +91 -15
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/clients/listing.d.ts +1 -1
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +1 -1
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/revocation.d.ts +1 -1
- package/dist/clients/rosterPolicy.d.ts +1 -1
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +10 -7
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/descriptors/acquire.js +1 -1
- package/dist/descriptors/logSource.d.ts +6 -4
- package/dist/descriptors/logSource.d.ts.map +1 -1
- package/dist/descriptors/logSource.js +7 -4
- package/dist/descriptors/logSource.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts +1 -1
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +2 -1
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +1 -1
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/keyring/kdf.d.ts +6 -20
- package/dist/keyring/kdf.d.ts.map +1 -1
- package/dist/keyring/kdf.js +8 -5
- package/dist/keyring/kdf.js.map +1 -1
- package/dist/keyring/unlockSpace.js +1 -1
- package/dist/keys/clientKeyRecord.d.ts +68 -1
- package/dist/keys/clientKeyRecord.d.ts.map +1 -1
- package/dist/keys/clientKeyRecord.js +155 -20
- package/dist/keys/clientKeyRecord.js.map +1 -1
- package/dist/keys/index.d.ts +2 -2
- package/dist/keys/index.d.ts.map +1 -1
- package/dist/keys/index.js +1 -1
- package/dist/keys/index.js.map +1 -1
- package/dist/keys/rosterLogStore.d.ts +16 -14
- package/dist/keys/rosterLogStore.d.ts.map +1 -1
- package/dist/keys/rosterLogStore.js +164 -32
- package/dist/keys/rosterLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts +8 -7
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +6 -6
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/keys/spaceEpochs.d.ts +1 -1
- package/dist/keys/spaceEpochs.js +1 -1
- package/dist/keys/userKeyRoster.d.ts +3 -3
- package/dist/keys/userKeyRoster.d.ts.map +1 -1
- package/dist/keys/userKeyRoster.js +3 -3
- package/dist/keys/userKeyRoster.js.map +1 -1
- package/dist/log.d.ts +49 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +53 -0
- package/dist/log.js.map +1 -0
- package/dist/recovery/index.d.ts +2 -2
- package/dist/recovery/index.js +2 -2
- package/dist/recovery/recoveryDelegation.d.ts +6 -2
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +32 -6
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +67 -8
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +114 -19
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/request/appKey.d.ts +9 -3
- package/dist/request/appKey.d.ts.map +1 -1
- package/dist/request/appKey.js +13 -8
- package/dist/request/appKey.js.map +1 -1
- package/dist/request/capabilityRequest.d.ts +9 -1
- package/dist/request/capabilityRequest.d.ts.map +1 -1
- package/dist/request/capabilityRequest.js +13 -2
- package/dist/request/capabilityRequest.js.map +1 -1
- package/dist/request/classify.d.ts +37 -1
- package/dist/request/classify.d.ts.map +1 -1
- package/dist/request/classify.js +74 -3
- package/dist/request/classify.js.map +1 -1
- package/dist/request/ephemeralExchange.d.ts +5 -18
- package/dist/request/ephemeralExchange.d.ts.map +1 -1
- package/dist/request/ephemeralExchange.js +9 -3
- package/dist/request/ephemeralExchange.js.map +1 -1
- package/dist/request/exchangeClient.d.ts +0 -23
- package/dist/request/exchangeClient.d.ts.map +1 -1
- package/dist/request/exchangeClient.js +30 -1
- package/dist/request/exchangeClient.js.map +1 -1
- package/dist/request/index.d.ts +4 -1
- package/dist/request/index.d.ts.map +1 -1
- package/dist/request/index.js +4 -1
- package/dist/request/index.js.map +1 -1
- package/dist/request/interactionRequest.d.ts +23 -0
- package/dist/request/interactionRequest.d.ts.map +1 -0
- package/dist/request/interactionRequest.js +46 -0
- package/dist/request/interactionRequest.js.map +1 -0
- package/dist/request/interactionUrl.d.ts +3 -14
- package/dist/request/interactionUrl.d.ts.map +1 -1
- package/dist/request/interactionUrl.js +24 -3
- package/dist/request/interactionUrl.js.map +1 -1
- package/dist/request/parse.d.ts +0 -10
- package/dist/request/parse.d.ts.map +1 -1
- package/dist/request/parse.js +15 -1
- 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/types.d.ts +23 -2
- package/dist/request/types.d.ts.map +1 -1
- package/dist/resourceLog/controller.d.ts +48 -49
- package/dist/resourceLog/controller.d.ts.map +1 -1
- package/dist/resourceLog/controller.js +41 -20
- package/dist/resourceLog/controller.js.map +1 -1
- package/dist/resourceLog/errors.d.ts +12 -78
- package/dist/resourceLog/errors.d.ts.map +1 -1
- package/dist/resourceLog/errors.js +12 -79
- package/dist/resourceLog/errors.js.map +1 -1
- package/dist/resourceLog/index.d.ts +17 -22
- package/dist/resourceLog/index.d.ts.map +1 -1
- package/dist/resourceLog/index.js +16 -21
- package/dist/resourceLog/index.js.map +1 -1
- package/dist/resourceLog/license.d.ts +42 -27
- package/dist/resourceLog/license.d.ts.map +1 -1
- package/dist/resourceLog/license.js +53 -30
- package/dist/resourceLog/license.js.map +1 -1
- package/dist/space/activity.d.ts +48 -1
- package/dist/space/activity.d.ts.map +1 -1
- package/dist/space/activity.js +52 -4
- package/dist/space/activity.js.map +1 -1
- package/dist/space/index.d.ts +1 -1
- package/dist/space/index.d.ts.map +1 -1
- package/dist/space/index.js +1 -1
- package/dist/space/index.js.map +1 -1
- package/dist/sync/pull.d.ts +0 -22
- package/dist/sync/pull.d.ts.map +1 -1
- package/dist/sync/pull.js +30 -2
- package/dist/sync/pull.js.map +1 -1
- package/dist/unlock/index.d.ts +7 -7
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/index.js +6 -6
- package/dist/unlock/index.js.map +1 -1
- package/dist/unlock/retire.d.ts +29 -28
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +25 -16
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingClient.d.ts +1 -1
- package/dist/unlock/standingClient.js +3 -3
- package/dist/unlock/standingWebvh.d.ts +28 -10
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +75 -37
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/unlock/unlockRecord.d.ts +37 -0
- package/dist/unlock/unlockRecord.d.ts.map +1 -1
- package/dist/unlock/unlockRecord.js +54 -1
- package/dist/unlock/unlockRecord.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +2 -2
- package/dist/webvh/delegatedLogStore.js +2 -2
- package/dist/webvh/didWeb.js +1 -1
- package/dist/webvh/didWeb.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +33 -3
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +40 -11
- package/dist/webvh/didWebvh.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/listClients.js +1 -1
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +1 -1
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +1 -2
- package/dist/webvh/verifyLog.js.map +1 -1
- package/package.json +9 -11
- package/dist/display/alignment.d.ts +0 -55
- package/dist/display/alignment.d.ts.map +0 -1
- package/dist/display/alignment.js +0 -117
- package/dist/display/alignment.js.map +0 -1
- package/dist/display/credentialName.d.ts +0 -42
- package/dist/display/credentialName.d.ts.map +0 -1
- package/dist/display/credentialName.js +0 -106
- package/dist/display/credentialName.js.map +0 -1
- package/dist/display/displayFields.d.ts +0 -59
- package/dist/display/displayFields.d.ts.map +0 -1
- package/dist/display/displayFields.js +0 -136
- package/dist/display/displayFields.js.map +0 -1
- package/dist/display/evidence.d.ts +0 -50
- package/dist/display/evidence.d.ts.map +0 -1
- package/dist/display/evidence.js +0 -67
- package/dist/display/evidence.js.map +0 -1
- package/dist/display/image.d.ts +0 -18
- package/dist/display/image.d.ts.map +0 -1
- package/dist/display/image.js +0 -23
- package/dist/display/image.js.map +0 -1
- package/dist/display/index.d.ts +0 -38
- package/dist/display/index.d.ts.map +0 -1
- package/dist/display/index.js +0 -32
- package/dist/display/index.js.map +0 -1
- package/dist/display/issuer.d.ts +0 -105
- package/dist/display/issuer.d.ts.map +0 -1
- package/dist/display/issuer.js +0 -126
- package/dist/display/issuer.js.map +0 -1
- package/dist/display/obv3.d.ts +0 -82
- package/dist/display/obv3.d.ts.map +0 -1
- package/dist/display/obv3.js +0 -117
- package/dist/display/obv3.js.map +0 -1
- package/dist/display/parse.d.ts +0 -66
- package/dist/display/parse.d.ts.map +0 -1
- package/dist/display/parse.js +0 -104
- package/dist/display/parse.js.map +0 -1
- package/dist/display/subject.d.ts +0 -79
- package/dist/display/subject.d.ts.map +0 -1
- package/dist/display/subject.js +0 -124
- package/dist/display/subject.js.map +0 -1
- package/dist/display/text.d.ts +0 -53
- package/dist/display/text.d.ts.map +0 -1
- package/dist/display/text.js +0 -78
- package/dist/display/text.js.map +0 -1
- package/dist/display/types.d.ts +0 -55
- package/dist/display/types.d.ts.map +0 -1
- package/dist/display/types.js +0 -41
- package/dist/display/types.js.map +0 -1
- package/dist/display/validity.d.ts +0 -51
- package/dist/display/validity.d.ts.map +0 -1
- package/dist/display/validity.js +0 -51
- package/dist/display/validity.js.map +0 -1
- package/dist/display/verificationView.d.ts +0 -115
- package/dist/display/verificationView.d.ts.map +0 -1
- package/dist/display/verificationView.js +0 -199
- package/dist/display/verificationView.js.map +0 -1
- package/dist/resourceLog/append.d.ts +0 -112
- package/dist/resourceLog/append.d.ts.map +0 -1
- package/dist/resourceLog/append.js +0 -197
- package/dist/resourceLog/append.js.map +0 -1
- package/dist/resourceLog/entry.d.ts +0 -68
- package/dist/resourceLog/entry.d.ts.map +0 -1
- package/dist/resourceLog/entry.js +0 -167
- package/dist/resourceLog/entry.js.map +0 -1
- package/dist/resourceLog/pin.d.ts +0 -82
- package/dist/resourceLog/pin.d.ts.map +0 -1
- package/dist/resourceLog/pin.js +0 -57
- package/dist/resourceLog/pin.js.map +0 -1
- package/dist/resourceLog/seal.d.ts +0 -97
- package/dist/resourceLog/seal.d.ts.map +0 -1
- package/dist/resourceLog/seal.js +0 -113
- package/dist/resourceLog/seal.js.map +0 -1
- package/dist/resourceLog/verify.d.ts +0 -96
- package/dist/resourceLog/verify.d.ts.map +0 -1
- package/dist/resourceLog/verify.js +0 -474
- package/dist/resourceLog/verify.js.map +0 -1
- package/dist/resourceLog/vmFragment.d.ts +0 -33
- package/dist/resourceLog/vmFragment.d.ts.map +0 -1
- package/dist/resourceLog/vmFragment.js +0 -39
- package/dist/resourceLog/vmFragment.js.map +0 -1
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* The ladder-anchored ceremonies on the ACCOUNT log -- everything a standing
|
|
6
6
|
* credential's ladder does to the world-readable `did.jsonl` beyond the
|
|
7
|
-
* split-
|
|
7
|
+
* split-configuration edits (which stay in `unlock/standingWebvh.ts`):
|
|
8
8
|
*
|
|
9
9
|
* - {@link createLadderAnchoredAccountLog} / {@link ensureLadderAnchoredDidWebvh}
|
|
10
10
|
* -- the genesis of an account with zero enrolled durable clients, anchored
|
|
11
11
|
* on the credential's ladder alone (rung 0 signs, the ladder VM and the
|
|
12
|
-
* credential's `keyAgreement`
|
|
12
|
+
* credential's `keyAgreement` inventory fold into the one entry).
|
|
13
13
|
* - {@link selfEnrollWebvhClient} -- the self-enrolling continuation a fresh
|
|
14
14
|
* browser runs with nothing but the credential: two entries through the
|
|
15
15
|
* record's delegated `did.jsonl` bridge --
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* 2. **Add + retire the rung**: signed by the new client's update key
|
|
23
23
|
* (revealed from the commit), this entry publishes the new client's
|
|
24
24
|
* verification methods and update key and drops the spent rung and its
|
|
25
|
-
* hash. The credential's own
|
|
25
|
+
* hash. The credential's own inventory -- its `keyAgreement` entry and the
|
|
26
26
|
* freshly committed `hash(rung i + 1)` -- stands untouched, ready for
|
|
27
27
|
* the next self-enrollment. Nothing is spent, and no replacement exists.
|
|
28
28
|
* When the account was LADDER-ANCHORED, the same atomic entry removes
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
*
|
|
33
33
|
* - {@link forgetWebvhClient} -- self-enrollment in reverse: one atomic
|
|
34
34
|
* ladder-signed removal entry through the bridge takes a durable client's
|
|
35
|
-
* whole document
|
|
35
|
+
* whole document inventory out; the last enrolled durable client refuses
|
|
36
36
|
* ({@link LastDurableClientForgetError}).
|
|
37
37
|
* - {@link installLadderVmWebvh} / {@link forgetLastWebvhClient} -- the two
|
|
38
38
|
* entries of the LAST durable client's forget (decision 0004's 2026-08-19
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
* from durable state alone, on the recovery continuation's pattern.
|
|
50
50
|
*/
|
|
51
51
|
import { deriveNextKeyHash, updateDID } from '@interop/did-method-webvh';
|
|
52
|
-
import { assertCarryOverCommitments, concludeWithPublishedLog, createLadderAnchoredWebvhLog, didWebvhControllerTemplate, genesisNextKeyHashes, ladderVerificationMethod, markedVerificationMethodPair, pinOfLog, publishWebvhLog, putLogResource, readPublishedLog, relationIds, updateKeySigner, withLogConflictRetry } from '../webvh/didWebvh.js';
|
|
52
|
+
import { assertCanonicalClientKeys, assertCarryOverCommitments, concludeWithPublishedLog, createLadderAnchoredWebvhLog, didWebvhControllerTemplate, genesisNextKeyHashes, ladderVerificationMethod, markedVerificationMethodPair, pinOfLog, publishWebvhLog, putLogResource, readPublishedLog, relationIds, servedHead, updateKeySigner, withLogConflictRetry } from '../webvh/didWebvh.js';
|
|
53
53
|
import { accountLogPinId } from '../webvh/verifyLog.js';
|
|
54
54
|
import { ladderVmIds } from '../webvh/listClients.js';
|
|
55
55
|
import { clientRemovalFields, clientRemovalTarget } from '../webvh/revokeClient.js';
|
|
@@ -64,7 +64,7 @@ import { attributeLadderRung, ladderRung, ladderVmKeyMultibase } from './ladder.
|
|
|
64
64
|
* what the first durable self-enrollment's reveal-and-commit entry,
|
|
65
65
|
* re-stating `updateKeys` containing rung 0, requires --
|
|
66
66
|
* and the ladder VM (the stable sibling) is published under `assertionMethod`
|
|
67
|
-
* and `capabilityDelegation` only. The credential's `keyAgreement`
|
|
67
|
+
* and `capabilityDelegation` only. The credential's `keyAgreement`
|
|
68
68
|
* entry is FOLDED INTO GENESIS -- no enrolled client exists to run the
|
|
69
69
|
* separate bind entry ({@link publishUnlockKey}) -- so the genesis
|
|
70
70
|
* `keyAgreement` array holds only the credential's entry.
|
|
@@ -227,31 +227,182 @@ async function publishLogOnly({ store, log, ifMatch }) {
|
|
|
227
227
|
* @param options.newClientUpdateSeeds {ClientWebvhUpdateKeys} the new
|
|
228
228
|
* client's update-key seeds (minted by the self-enrolling flow, which
|
|
229
229
|
* therefore holds them and can sign the add entry)
|
|
230
|
+
* @param options.onCommitted {function}
|
|
231
|
+
* `(committed: { builtOnHead: { scid, versionId } }) => Promise<void>` --
|
|
232
|
+
* the REQUIRED persist-before-publish seam. It runs once per attempt, after
|
|
233
|
+
* the reveal-and-commit entry stands (published here, or standing from a
|
|
234
|
+
* torn earlier run) and BEFORE the add entry -- the ceremony's pivot -- is
|
|
235
|
+
* built. The caller durably writes the pending client-key record there (the
|
|
236
|
+
* `pending` codec group of `keys/clientKeyRecord.ts`: ceremony
|
|
237
|
+
* `'self-enrollment'`, the handed-back `builtOnHead`), so the add entry can
|
|
238
|
+
* never publish a client whose seed nothing can re-derive, per the
|
|
239
|
+
* post-pivot derivability rule (`decisions/0010`). A throw propagates and
|
|
240
|
+
* the add entry is withheld. What a throw leaves behind is inert: the
|
|
241
|
+
* standing reveal entry's committed hashes for the unpersisted client stay
|
|
242
|
+
* in `nextKeyHashes` forever as orphans, but they commit keys of a lost
|
|
243
|
+
* random seed -- nothing can reveal them, so they are no re-seizure
|
|
244
|
+
* credential, and the per-entry staged-hash attribution passes over them.
|
|
245
|
+
* The seam must be idempotent: the conflict retry and a resumed run invoke
|
|
246
|
+
* it again. `builtOnHead` is the head of the log snapshot the add entry is
|
|
247
|
+
* about to be built on -- the SCID from the log's parameters and the latest
|
|
248
|
+
* entry's `versionId` -- which a resume hands back as this call's
|
|
249
|
+
* `builtOnHead` marker. The caveat to hold on to: the idempotent COMPLETED
|
|
250
|
+
* branch (the new client's update key already authorized) returns without
|
|
251
|
+
* ever entering the seam, so a caller resuming across processes must be
|
|
252
|
+
* able to treat an already-complete continuation as success on its own
|
|
253
|
+
* @param [options.builtOnHead] {object} `{ scid, versionId }` -- the resume
|
|
254
|
+
* marker a pending record recorded, from an earlier run's `onCommitted`.
|
|
255
|
+
* Supplied, the attempt's first read is refused with
|
|
256
|
+
* {@link BuiltOnHeadNotReachedError} unless the served log carries that
|
|
257
|
+
* SCID and an entry with that `versionId`. The chain-head pin cannot stand
|
|
258
|
+
* in for it: the pin is written non-atomically after the add entry
|
|
259
|
+
* publishes, and the continuity check accepts a log served at exactly the
|
|
260
|
+
* pinned length -- so only this marker stops a resume rebuilding the add
|
|
261
|
+
* entry over a log that never reached the head the pending record was
|
|
262
|
+
* written against. The marker covers the pre-pivot half of that gap only:
|
|
263
|
+
* a served log CONTAINING the recorded head but truncated behind the torn
|
|
264
|
+
* run's own add entry still passes it and is resumed onto, and the menders
|
|
265
|
+
* for that residual half are the ordinary ones -- this client's own
|
|
266
|
+
* chain-head pin once the add publish wrote it, and any other enrolled
|
|
267
|
+
* client's pinned read of the same log. Both members must be non-empty
|
|
268
|
+
* strings; a malformed marker is refused with a `TypeError` before any
|
|
269
|
+
* read, since a resume with an uncomparable marker is a resume with no
|
|
270
|
+
* fork guard
|
|
230
271
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
231
272
|
* to, from the credential-authenticated pointer
|
|
232
|
-
* @
|
|
233
|
-
*
|
|
234
|
-
*
|
|
273
|
+
* @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
|
|
274
|
+
* pins; every read both entries are built on is checked against the pinned
|
|
275
|
+
* head (a served prefix is refused before the reveal entry lands, not only
|
|
276
|
+
* by a verify that follows both entries), and the pin advances to each
|
|
277
|
+
* entry as it publishes
|
|
278
|
+
* @param [options.logId] {string} the account log's pin slot
|
|
279
|
+
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
280
|
+
* supplied
|
|
281
|
+
* @returns {Promise<{ did: string, webDoc?: object, committed: boolean }>}
|
|
282
|
+
* the account DID, the final `did.json` projection when the add entry ran
|
|
283
|
+
* here, and `committed` -- whether THIS call published the pivot entry
|
|
284
|
+
* (`false` exactly on the idempotent completed branch, where a torn earlier
|
|
285
|
+
* run had already published it). It is an observability signal, not a
|
|
286
|
+
* success flag: a returning call means the continuation stands either way,
|
|
287
|
+
* so a caller clears its pending record on the RETURN, whatever `committed`
|
|
288
|
+
* says. Its absence from a return value is a build skew, which is why it is
|
|
289
|
+
* stated rather than inferred
|
|
235
290
|
*/
|
|
236
291
|
export async function selfEnrollWebvhClient(options) {
|
|
292
|
+
// The seam is what makes the new client's seed durable before the pivot
|
|
293
|
+
// entry publishes it; a call omitting it would silently keep the window in
|
|
294
|
+
// which the log names a client nothing can re-derive. Refused before any
|
|
295
|
+
// read, so nothing is published.
|
|
296
|
+
if (typeof options.onCommitted !== 'function') {
|
|
297
|
+
throw new TypeError('selfEnrollWebvhClient requires onCommitted: the pending client-key ' +
|
|
298
|
+
'record must be persisted before the add entry publishes the client.');
|
|
299
|
+
}
|
|
300
|
+
if (options.builtOnHead !== undefined) {
|
|
301
|
+
assertBuiltOnHeadShape({ builtOnHead: options.builtOnHead });
|
|
302
|
+
}
|
|
303
|
+
// A non-canonical pair could only ever throw at the add-entry build, AFTER
|
|
304
|
+
// the reveal entry published and the seam persisted; refused here, it costs
|
|
305
|
+
// nothing durable.
|
|
306
|
+
assertCanonicalClientKeys({
|
|
307
|
+
signingKeyMultibase: options.newClientKeys.signingKeyMultibase,
|
|
308
|
+
keyAgreementKeyMultibase: options.newClientKeys.keyAgreementKeyMultibase
|
|
309
|
+
});
|
|
237
310
|
return withLogConflictRetry(() => selfEnrollWebvhClientOnce(options));
|
|
238
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* Refuses a malformed resume marker before any read. A marker whose members
|
|
314
|
+
* are missing or empty could not be compared against anything, so accepting
|
|
315
|
+
* one would hand a resume the mint-skip WITHOUT the fork guard the marker
|
|
316
|
+
* exists to apply -- fail-open exactly where the guard matters.
|
|
317
|
+
*
|
|
318
|
+
* @param options {object}
|
|
319
|
+
* @param options.builtOnHead {unknown} the supplied marker
|
|
320
|
+
* @returns {void}
|
|
321
|
+
*/
|
|
322
|
+
export function assertBuiltOnHeadShape({ builtOnHead }) {
|
|
323
|
+
const { scid, versionId } = (builtOnHead ?? {});
|
|
324
|
+
if (builtOnHead === null ||
|
|
325
|
+
typeof builtOnHead !== 'object' ||
|
|
326
|
+
typeof scid !== 'string' ||
|
|
327
|
+
scid === '' ||
|
|
328
|
+
typeof versionId !== 'string' ||
|
|
329
|
+
versionId === '') {
|
|
330
|
+
throw new TypeError('The self-enrollment resume marker (builtOnHead) must carry a non-empty ' +
|
|
331
|
+
'scid and versionId; a marker that cannot be compared would resume ' +
|
|
332
|
+
'with no fork guard at all.');
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Thrown when a resumed self-enrollment is served an account log that has not
|
|
337
|
+
* reached the head its pending record was written against -- a different SCID,
|
|
338
|
+
* or no entry carrying the recorded `versionId`. Rebuilding the add entry over
|
|
339
|
+
* such a log would fork the account off a head the ceremony already committed
|
|
340
|
+
* to, which the chain-head pin alone does not catch: the pin is written
|
|
341
|
+
* non-atomically after the add entry publishes, so a run torn between the two
|
|
342
|
+
* leaves a pin one entry behind, and the continuity check accepts a served log
|
|
343
|
+
* at exactly the pinned length.
|
|
344
|
+
*
|
|
345
|
+
* **`name` is a stable contract.** It is always the string
|
|
346
|
+
* `'BuiltOnHeadNotReachedError'`, and a consumer should match on that rather
|
|
347
|
+
* than on `instanceof`: a wallet app that links this package (or holds two
|
|
348
|
+
* copies of it through a dependency tree) gets a different class object for
|
|
349
|
+
* the same error, so `instanceof` silently fails there while the name does
|
|
350
|
+
* not.
|
|
351
|
+
*/
|
|
352
|
+
export class BuiltOnHeadNotReachedError extends Error {
|
|
353
|
+
/**
|
|
354
|
+
* The head the pending record recorded, which the served log did not reach.
|
|
355
|
+
*/
|
|
356
|
+
builtOnHead;
|
|
357
|
+
/**
|
|
358
|
+
* @param options {object}
|
|
359
|
+
* @param options.builtOnHead {object} the recorded `{ scid, versionId }`
|
|
360
|
+
*/
|
|
361
|
+
constructor({ builtOnHead }) {
|
|
362
|
+
super('did:webvh: the served account log has not reached the head this ' +
|
|
363
|
+
`self-enrollment was built on (scid ${builtOnHead.scid}, version ` +
|
|
364
|
+
`${builtOnHead.versionId}); the resume is refused rather than ` +
|
|
365
|
+
'rebuilt over it.');
|
|
366
|
+
this.name = 'BuiltOnHeadNotReachedError';
|
|
367
|
+
this.builtOnHead = builtOnHead;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
239
370
|
/**
|
|
240
371
|
* One attempt of {@link selfEnrollWebvhClient}, re-invoked by the conflict
|
|
241
372
|
* retry.
|
|
242
373
|
*
|
|
243
374
|
* @param options {object} see {@link selfEnrollWebvhClient}
|
|
244
|
-
* @returns {Promise<{ did: string, webDoc?: object }>}
|
|
375
|
+
* @returns {Promise<{ did: string, webDoc?: object, committed: boolean }>}
|
|
245
376
|
*/
|
|
246
|
-
async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, newClientUpdateSeeds, expectedDid }) {
|
|
377
|
+
async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, newClientUpdateSeeds, onCommitted, builtOnHead, expectedDid, pinStore, logId }) {
|
|
378
|
+
// Each attempt's own read is what the CAS publish is built on, so the
|
|
379
|
+
// continuity check runs here -- and again on the retry-up-the-ladder
|
|
380
|
+
// re-run -- not only on the verify that follows both entries.
|
|
381
|
+
const pinned = {
|
|
382
|
+
...(pinStore ? { pinStore } : {}),
|
|
383
|
+
...(logId !== undefined ? { logId } : {})
|
|
384
|
+
};
|
|
247
385
|
let published = await readLogOrThrow({
|
|
248
386
|
store,
|
|
249
|
-
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
387
|
+
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
388
|
+
...pinned
|
|
250
389
|
});
|
|
390
|
+
// The resume marker, checked before anything else -- the completion check
|
|
391
|
+
// included, so a truncated served log is refused rather than read as "not
|
|
392
|
+
// complete yet" and rebuilt over.
|
|
393
|
+
if (builtOnHead) {
|
|
394
|
+
const genesisScid = published.log[0]?.parameters.scid ?? '';
|
|
395
|
+
const reached = published.log.some(entry => entry.versionId === builtOnHead.versionId);
|
|
396
|
+
if (genesisScid !== builtOnHead.scid || !reached) {
|
|
397
|
+
throw new BuiltOnHeadNotReachedError({ builtOnHead });
|
|
398
|
+
}
|
|
399
|
+
}
|
|
251
400
|
// Already complete (a torn earlier run finished the add entry): the new
|
|
252
|
-
// client's update key is authorized, which only the add entry writes.
|
|
401
|
+
// client's update key is authorized, which only the add entry writes. The
|
|
402
|
+
// seam is deliberately NOT entered here -- nothing is about to be
|
|
403
|
+
// published, so there is no pivot to persist ahead of.
|
|
253
404
|
if (published.updateKeys.includes(newClientKeys.updateKeyMultibase)) {
|
|
254
|
-
return { did: published.did };
|
|
405
|
+
return { did: published.did, committed: false };
|
|
255
406
|
}
|
|
256
407
|
// Which rung is current, recovered from the log itself. Fails closed with
|
|
257
408
|
// `LadderAttributionError` for a revoked (or never-bound) credential and
|
|
@@ -288,9 +439,26 @@ async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, new
|
|
|
288
439
|
]
|
|
289
440
|
});
|
|
290
441
|
await publishLogOnly({ store, log: updated.log, ifMatch: published.etag });
|
|
291
|
-
//
|
|
292
|
-
|
|
442
|
+
// Advance the pin to what the reveal entry just published, so the re-read
|
|
443
|
+
// below (and any read after a tear here) refuses a host that rolls the
|
|
444
|
+
// log back behind it.
|
|
445
|
+
if (pinStore && logId !== undefined) {
|
|
446
|
+
await pinStore.write({ logId, pin: pinOfLog(updated.log) });
|
|
447
|
+
}
|
|
448
|
+
// The same account the reveal entry just extended, under the same pin.
|
|
449
|
+
published = await readLogOrThrow({
|
|
450
|
+
store,
|
|
451
|
+
expectedDid: published.did,
|
|
452
|
+
...pinned
|
|
453
|
+
});
|
|
293
454
|
}
|
|
455
|
+
// The persist-before-publish seam: the pending client-key record becomes
|
|
456
|
+
// durable HERE, on the head the add entry is about to be built on, before
|
|
457
|
+
// that entry -- the ceremony's pivot -- publishes a client whose seed only
|
|
458
|
+
// this caller holds. Reached on both paths into the add entry: the reveal
|
|
459
|
+
// entry just published above, or a torn earlier run's reveal entry standing
|
|
460
|
+
// already.
|
|
461
|
+
await onCommitted({ builtOnHead: servedHead(published.log) });
|
|
294
462
|
// The add entry: the new client's verification methods and update key in;
|
|
295
463
|
// the spent rung's key and hash out. The credential's keyAgreement entry
|
|
296
464
|
// and the next rung's committed hash stand untouched. Signed by the new
|
|
@@ -341,7 +509,12 @@ async function selfEnrollWebvhClientOnce({ store, ladderSeed, newClientKeys, new
|
|
|
341
509
|
// Conditional on the read this entry was built on: the re-read above when
|
|
342
510
|
// the commit entry ran here, the first read when it was skipped.
|
|
343
511
|
await publishLogOnly({ store, log: updated.log, ifMatch: published.etag });
|
|
344
|
-
|
|
512
|
+
// Advance the pin to what this entry just published, so a host rolling the
|
|
513
|
+
// log back straight afterwards is refused on the next read.
|
|
514
|
+
if (pinStore && logId !== undefined) {
|
|
515
|
+
await pinStore.write({ logId, pin: pinOfLog(updated.log) });
|
|
516
|
+
}
|
|
517
|
+
return { did: updated.did, webDoc: updated.webDoc, committed: true };
|
|
345
518
|
}
|
|
346
519
|
/**
|
|
347
520
|
* Thrown when the client being forgotten is the account's LAST enrolled
|
|
@@ -373,7 +546,7 @@ export class LastDurableClientForgetError extends Error {
|
|
|
373
546
|
* reverse, collapsed to a single entry because a removal reveals no new key.
|
|
374
547
|
* The signer is the credential's current ladder rung, recovered from the log
|
|
375
548
|
* itself ({@link attributeLadderRung}): its hash stands committed by the
|
|
376
|
-
* credential's
|
|
549
|
+
* credential's inventory (or the rung is already revealed), which is exactly
|
|
377
550
|
* what lets it reveal itself in the entry it signs under prerotation. The
|
|
378
551
|
* entry's members are the revocation removal's, verbatim
|
|
379
552
|
* (`clientRemovalTarget` / `clientRemovalFields`, shared with
|
|
@@ -387,10 +560,10 @@ export class LastDurableClientForgetError extends Error {
|
|
|
387
560
|
* the rung is revealed and the client still stands. The honest residue is the
|
|
388
561
|
* acting rung itself -- no entry can remove its own signing key, so the rung
|
|
389
562
|
* stands REVEALED in `updateKeys` afterwards (the same standing state the
|
|
390
|
-
* ladder-anchored
|
|
563
|
+
* ladder-anchored accounts live in). That is credential-held authority, not
|
|
391
564
|
* the forgotten client's: only the ladder seed derives it, the credential's
|
|
392
565
|
* next self-enrollment consumes and retires it, and retiring the credential
|
|
393
|
-
* itself strikes it (`
|
|
566
|
+
* itself strikes it (`attributeLadderInventory`).
|
|
394
567
|
*
|
|
395
568
|
* Forgetting the LAST enrolled durable client is refused
|
|
396
569
|
* ({@link LastDurableClientForgetError}): that transition -- to the
|
|
@@ -413,6 +586,13 @@ export class LastDurableClientForgetError extends Error {
|
|
|
413
586
|
* excluded from the staged-hash attribution
|
|
414
587
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
415
588
|
* to, from the caller's stored account pointer
|
|
589
|
+
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
590
|
+
* pins: the read inside each attempt is checked against the pinned head
|
|
591
|
+
* (a served truncated prefix is refused as a `rollback` before anything is
|
|
592
|
+
* built on it), and the pin advances to the head this entry publishes
|
|
593
|
+
* @param [options.logId] {string} the account log's pin slot
|
|
594
|
+
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
595
|
+
* supplied
|
|
416
596
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} the account
|
|
417
597
|
* DID and the document and log as the removal entry leaves them (unchanged
|
|
418
598
|
* on the idempotent no-op path)
|
|
@@ -450,10 +630,14 @@ export async function forgetLastWebvhClient(options) {
|
|
|
450
630
|
* (refuse the last client)
|
|
451
631
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>}
|
|
452
632
|
*/
|
|
453
|
-
async function clientForgetEntryOnce({ store, ladderSeed, forgottenClient, knownLatentHashes = [], expectedDid, transition }) {
|
|
633
|
+
async function clientForgetEntryOnce({ store, ladderSeed, forgottenClient, knownLatentHashes = [], expectedDid, pinStore, logId, transition }) {
|
|
634
|
+
// Each attempt's own read is what the CAS publish is built on, so the
|
|
635
|
+
// continuity check runs here, not only on the orchestrator's pre-read.
|
|
454
636
|
const published = await readLogOrThrow({
|
|
455
637
|
store,
|
|
456
|
-
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
638
|
+
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
639
|
+
...(pinStore ? { pinStore } : {}),
|
|
640
|
+
...(logId !== undefined ? { logId } : {})
|
|
457
641
|
});
|
|
458
642
|
const { did, doc } = published;
|
|
459
643
|
const target = await clientRemovalTarget({
|
|
@@ -522,20 +706,25 @@ async function clientForgetEntryOnce({ store, ladderSeed, forgottenClient, known
|
|
|
522
706
|
nextKeyHashes: [...new Set([...fields.nextKeyHashes, rungHash])]
|
|
523
707
|
});
|
|
524
708
|
await publishLogOnly({ store, log: updated.log, ifMatch: published.etag });
|
|
709
|
+
// Advance the pin to what this entry just published, so a host rolling the
|
|
710
|
+
// log back straight afterwards is refused on the next read.
|
|
711
|
+
if (pinStore && logId !== undefined) {
|
|
712
|
+
await pinStore.write({ logId, pin: pinOfLog(updated.log) });
|
|
713
|
+
}
|
|
525
714
|
return { did: updated.did, doc: updated.doc, log: updated.log };
|
|
526
715
|
}
|
|
527
716
|
/**
|
|
528
717
|
* THE LADDER-VM INSTALL ENTRY (the two-entry transition ceremony's first
|
|
529
718
|
* entry): publishes the credential's ladder VM -- the stable sibling, under
|
|
530
719
|
* `assertionMethod` and `capabilityDelegation` only -- while the last durable
|
|
531
|
-
* client's whole
|
|
720
|
+
* client's whole inventory stays untouched: the both-present transitional
|
|
532
721
|
* state the no-neither invariant permits. The entry is ladder-signed by the
|
|
533
722
|
* attributed rung, which reveals itself into `updateKeys` with its own hash
|
|
534
723
|
* kept committed (the carry-over convention), exactly the removal entry's
|
|
535
724
|
* rung math -- so a torn ceremony's re-run re-attributes the now-revealed
|
|
536
725
|
* rung and carries on.
|
|
537
726
|
*
|
|
538
|
-
* This entry is what makes the transition's document version
|
|
727
|
+
* This entry is what makes the transition's document version INVENTORY-CHANGING
|
|
539
728
|
* under the ceremony-tail license (the ladder-VM set gains a member), so the
|
|
540
729
|
* ceremony's ONE ladder-signed roster append anchors here -- and it is what
|
|
541
730
|
* lets the delegation revocations that follow verify their ladder-signed
|
|
@@ -554,6 +743,12 @@ async function clientForgetEntryOnce({ store, ladderSeed, forgottenClient, known
|
|
|
554
743
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
555
744
|
* @param [options.expectedDid] {string} the account DID the log must resolve
|
|
556
745
|
* to, from the caller's stored account pointer
|
|
746
|
+
* @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
|
|
747
|
+
* pins: the read inside each attempt is checked against the pinned head,
|
|
748
|
+
* and the pin advances to the head this entry publishes
|
|
749
|
+
* @param [options.logId] {string} the account log's pin slot
|
|
750
|
+
* (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
|
|
751
|
+
* supplied
|
|
557
752
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, installed: boolean }>}
|
|
558
753
|
* the account DID and the document and log as the install entry leaves them
|
|
559
754
|
* (unchanged on the idempotent no-op path); `installed` says whether the
|
|
@@ -569,10 +764,14 @@ export async function installLadderVmWebvh(options) {
|
|
|
569
764
|
* @param options {object} see {@link installLadderVmWebvh}
|
|
570
765
|
* @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, installed: boolean }>}
|
|
571
766
|
*/
|
|
572
|
-
async function installLadderVmWebvhOnce({ store, ladderSeed, expectedDid }) {
|
|
767
|
+
async function installLadderVmWebvhOnce({ store, ladderSeed, expectedDid, pinStore, logId }) {
|
|
768
|
+
// Each attempt's own read is what the CAS publish is built on, so the
|
|
769
|
+
// continuity check runs here, not only on the orchestrator's pre-read.
|
|
573
770
|
const published = await readLogOrThrow({
|
|
574
771
|
store,
|
|
575
|
-
...(expectedDid !== undefined ? { expectedDid } : {})
|
|
772
|
+
...(expectedDid !== undefined ? { expectedDid } : {}),
|
|
773
|
+
...(pinStore ? { pinStore } : {}),
|
|
774
|
+
...(logId !== undefined ? { logId } : {})
|
|
576
775
|
});
|
|
577
776
|
const { did, doc } = published;
|
|
578
777
|
const ladderVmKey = await ladderVmKeyMultibase({ ladderSeed });
|
|
@@ -621,6 +820,11 @@ async function installLadderVmWebvhOnce({ store, ladderSeed, expectedDid }) {
|
|
|
621
820
|
capabilityDelegation: withVm(doc.capabilityDelegation)
|
|
622
821
|
});
|
|
623
822
|
await publishLogOnly({ store, log: updated.log, ifMatch: published.etag });
|
|
823
|
+
// Advance the pin to what this entry just published, so a host rolling the
|
|
824
|
+
// log back straight afterwards is refused on the next read.
|
|
825
|
+
if (pinStore && logId !== undefined) {
|
|
826
|
+
await pinStore.write({ logId, pin: pinOfLog(updated.log) });
|
|
827
|
+
}
|
|
624
828
|
return {
|
|
625
829
|
did: updated.did,
|
|
626
830
|
doc: updated.doc,
|
|
@@ -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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"}
|
|
@@ -2,7 +2,7 @@ import type { DIDDoc, DIDLog, ServiceEndpoint, Signer } from '@interop/did-metho
|
|
|
2
2
|
import type { IZcap } from '@interop/data-integrity-core';
|
|
3
3
|
import type { ZcapClient } from '@interop/ezcap';
|
|
4
4
|
import type { IDelegatedZcap, WasClient } from '@interop/was-client';
|
|
5
|
-
import type { ResourceLogPinStore } from '
|
|
5
|
+
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
6
6
|
import type { ClientWebvhUpdateKeys, WebvhIdStore } from '../webvh/didWebvh.js';
|
|
7
7
|
import type { PublishedKeyDocument } from '../webvh/listClients.js';
|
|
8
8
|
import type { WebvhLogResourceStore } from '../webvh/wasIdStore.js';
|
|
@@ -79,7 +79,7 @@ export declare function clientAnnexLogStore({ was, spaceId, generationId, capabi
|
|
|
79
79
|
}): WebvhLogResourceStore;
|
|
80
80
|
/**
|
|
81
81
|
* Creates the one-entry annex generation log. The genesis parameters are
|
|
82
|
-
* the annex
|
|
82
|
+
* the annex inventory (see the module doc): prerotation on via the rung-0
|
|
83
83
|
* hash commitments, no witnesses, portability off (the library's default,
|
|
84
84
|
* stated explicitly in the emitted entry), and a bare document -- id and the
|
|
85
85
|
* DID core context, nothing else.
|
|
@@ -130,7 +130,7 @@ export declare function createClientAnnexLog({ wasServerUrl, spaceId, generation
|
|
|
130
130
|
* no-pad): the sibling delegation's `invocationTarget` embeds the id and is
|
|
131
131
|
* sealed into the unlock record before the account DID exists, so no
|
|
132
132
|
* derivation over the account identity is possible -- and hash-derived
|
|
133
|
-
* addressing would import the unlock Spaces' existence-oracle
|
|
133
|
+
* addressing would import the unlock Spaces' existence-oracle exposure,
|
|
134
134
|
* unwanted here.
|
|
135
135
|
*
|
|
136
136
|
* @param options {object}
|
|
@@ -801,7 +801,7 @@ export declare function enrollTransientClient({ readAccountDocument, storeForGen
|
|
|
801
801
|
*
|
|
802
802
|
* Failure is the caller's failure: a renewal that cannot complete throws,
|
|
803
803
|
* and the App Connect approval fails with the standard retryable-ceremony
|
|
804
|
-
*
|
|
804
|
+
* convention -- deliberately no clamp-on-failure fallback, which would deliver
|
|
805
805
|
* exactly the silently short grant this stage exists to prevent. By
|
|
806
806
|
* construction a grant minted behind a completed renewal never meets the
|
|
807
807
|
* monotonicity clamp below its full TTL except for 365-day-class grants at
|
|
@@ -851,7 +851,7 @@ export declare function ensureGenerationDelegationCurrent(options: {
|
|
|
851
851
|
renewed: boolean;
|
|
852
852
|
}>;
|
|
853
853
|
/**
|
|
854
|
-
* THE CLIENT-ANNEX RUNG STRIKE: drops a retired credential's annex
|
|
854
|
+
* THE CLIENT-ANNEX RUNG STRIKE: drops a retired credential's annex inventory
|
|
855
855
|
* from a generation's log -- its revealed rung-0 key out of `updateKeys` and
|
|
856
856
|
* its standing rung-0 hash out of `nextKeyHashes` -- in one atomic entry
|
|
857
857
|
* signed by ANOTHER credential's committed rung 0 (an annex entry cannot
|
|
@@ -861,7 +861,7 @@ export declare function ensureGenerationDelegationCurrent(options: {
|
|
|
861
861
|
* A log committing neither the retired rung's key nor its hash is already
|
|
862
862
|
* clean and the strike no-ops (`struck: false`) -- the resumable shape, and
|
|
863
863
|
* the common one: a credential that never minted or wrote this generation
|
|
864
|
-
* has no
|
|
864
|
+
* has no inventory in it. An acting rung the log does not commit (after the
|
|
865
865
|
* retired members are excluded -- so the retired credential can never sign
|
|
866
866
|
* its own strike) is refused with {@link ClientAnnexRungUncommittedError},
|
|
867
867
|
* which the caller maps to the generation-swap fallback: a fresh generation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/log.ts"],"names":[],"mappings":"AAuDA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,eAAe,EACf,MAAM,EAEP,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAUpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/log.ts"],"names":[],"mappings":"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"}
|
package/dist/clientAnnex/log.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* transient-enrollment entry, and the account document's delegated-clients
|
|
13
13
|
* service entry (the pointer at the current generation).
|
|
14
14
|
*
|
|
15
|
-
* The annex's
|
|
15
|
+
* The annex's conventions differ from the account log's on purpose:
|
|
16
16
|
*
|
|
17
17
|
* - Update authority is each standing credential's static annex rung 0
|
|
18
18
|
* (chain length one, no rung advancement, no attribution scan). Genesis
|
|
@@ -52,7 +52,7 @@ import { createDID, deriveNextKeyHash, updateDID } from '@interop/did-method-web
|
|
|
52
52
|
import { rootCapabilityId, spaceItems, spacePath, toUrl } from '@interop/was-client/paths';
|
|
53
53
|
import { base64urlnopad } from '@scure/base';
|
|
54
54
|
import { DID_LOG_RESOURCE } from '../space/collections.js';
|
|
55
|
-
import { resourceLogPinId } from '
|
|
55
|
+
import { resourceLogPinId } from '@interop/vh-resource-log';
|
|
56
56
|
import { clientAnnexRung } from './ladder.js';
|
|
57
57
|
import { assertCarryOverCommitments, concludeWithPublishedLog, didWebvhControllerTemplate, MULTIKEY_VM_TYPE, publishUpdatedLog, putLogResource, readPublishedLog, relationIds, updateKeyMultibase, updateKeySigner, withLogConflictRetry } from '../webvh/didWebvh.js';
|
|
58
58
|
import { delegationKeyInDocument } from '../webvh/listClients.js';
|
|
@@ -180,7 +180,7 @@ const DID_CORE_CONTEXT = 'https://www.w3.org/ns/did/v1';
|
|
|
180
180
|
const MULTIKEY_CONTEXT_URL = 'https://w3id.org/security/multikey/v1';
|
|
181
181
|
/**
|
|
182
182
|
* Creates the one-entry annex generation log. The genesis parameters are
|
|
183
|
-
* the annex
|
|
183
|
+
* the annex inventory (see the module doc): prerotation on via the rung-0
|
|
184
184
|
* hash commitments, no witnesses, portability off (the library's default,
|
|
185
185
|
* stated explicitly in the emitted entry), and a bare document -- id and the
|
|
186
186
|
* DID core context, nothing else.
|
|
@@ -246,7 +246,7 @@ export async function createClientAnnexLog({ wasServerUrl, spaceId, generationId
|
|
|
246
246
|
* no-pad): the sibling delegation's `invocationTarget` embeds the id and is
|
|
247
247
|
* sealed into the unlock record before the account DID exists, so no
|
|
248
248
|
* derivation over the account identity is possible -- and hash-derived
|
|
249
|
-
* addressing would import the unlock Spaces' existence-oracle
|
|
249
|
+
* addressing would import the unlock Spaces' existence-oracle exposure,
|
|
250
250
|
* unwanted here.
|
|
251
251
|
*
|
|
252
252
|
* @param options {object}
|
|
@@ -1323,7 +1323,7 @@ export async function enrollTransientClient({ readAccountDocument, storeForGener
|
|
|
1323
1323
|
*
|
|
1324
1324
|
* Failure is the caller's failure: a renewal that cannot complete throws,
|
|
1325
1325
|
* and the App Connect approval fails with the standard retryable-ceremony
|
|
1326
|
-
*
|
|
1326
|
+
* convention -- deliberately no clamp-on-failure fallback, which would deliver
|
|
1327
1327
|
* exactly the silently short grant this stage exists to prevent. By
|
|
1328
1328
|
* construction a grant minted behind a completed renewal never meets the
|
|
1329
1329
|
* monotonicity clamp below its full TTL except for 365-day-class grants at
|
|
@@ -1428,7 +1428,7 @@ async function ensureGenerationDelegationCurrentOnce({ store, ladderSeed, genera
|
|
|
1428
1428
|
return { delegation: fresh, renewed: true };
|
|
1429
1429
|
}
|
|
1430
1430
|
/**
|
|
1431
|
-
* THE CLIENT-ANNEX RUNG STRIKE: drops a retired credential's annex
|
|
1431
|
+
* THE CLIENT-ANNEX RUNG STRIKE: drops a retired credential's annex inventory
|
|
1432
1432
|
* from a generation's log -- its revealed rung-0 key out of `updateKeys` and
|
|
1433
1433
|
* its standing rung-0 hash out of `nextKeyHashes` -- in one atomic entry
|
|
1434
1434
|
* signed by ANOTHER credential's committed rung 0 (an annex entry cannot
|
|
@@ -1438,7 +1438,7 @@ async function ensureGenerationDelegationCurrentOnce({ store, ladderSeed, genera
|
|
|
1438
1438
|
* A log committing neither the retired rung's key nor its hash is already
|
|
1439
1439
|
* clean and the strike no-ops (`struck: false`) -- the resumable shape, and
|
|
1440
1440
|
* the common one: a credential that never minted or wrote this generation
|
|
1441
|
-
* has no
|
|
1441
|
+
* has no inventory in it. An acting rung the log does not commit (after the
|
|
1442
1442
|
* retired members are excluded -- so the retired credential can never sign
|
|
1443
1443
|
* its own strike) is refused with {@link ClientAnnexRungUncommittedError},
|
|
1444
1444
|
* which the caller maps to the generation-swap fallback: a fresh generation
|
|
@@ -1489,7 +1489,7 @@ async function retireClientAnnexRungOnce({ store, retiredLadderSeed, actingLadde
|
|
|
1489
1489
|
const remainingHashes = published.nextKeyHashes.filter(hash => hash !== retiredHash);
|
|
1490
1490
|
if (remainingKeys.length === published.updateKeys.length &&
|
|
1491
1491
|
remainingHashes.length === published.nextKeyHashes.length) {
|
|
1492
|
-
// Already clean: the retired credential holds no
|
|
1492
|
+
// Already clean: the retired credential holds no inventory in this
|
|
1493
1493
|
// generation (never committed, or a completed earlier strike).
|
|
1494
1494
|
return { struck: false };
|
|
1495
1495
|
}
|