@interop/wallet-core 0.60.0 → 0.62.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.
Files changed (83) hide show
  1. package/dist/clientAnnex/forgetLast.d.ts +66 -19
  2. package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
  3. package/dist/clientAnnex/forgetLast.js +120 -38
  4. package/dist/clientAnnex/forgetLast.js.map +1 -1
  5. package/dist/clientAnnex/heal.d.ts +64 -29
  6. package/dist/clientAnnex/heal.d.ts.map +1 -1
  7. package/dist/clientAnnex/heal.js +292 -54
  8. package/dist/clientAnnex/heal.js.map +1 -1
  9. package/dist/clientAnnex/index.d.ts +2 -2
  10. package/dist/clientAnnex/index.d.ts.map +1 -1
  11. package/dist/clientAnnex/index.js +2 -2
  12. package/dist/clientAnnex/index.js.map +1 -1
  13. package/dist/clientAnnex/ladder.d.ts +246 -18
  14. package/dist/clientAnnex/ladder.d.ts.map +1 -1
  15. package/dist/clientAnnex/ladder.js +742 -53
  16. package/dist/clientAnnex/ladder.js.map +1 -1
  17. package/dist/clientAnnex/ladderAnchored.d.ts +113 -6
  18. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  19. package/dist/clientAnnex/ladderAnchored.js +208 -27
  20. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  21. package/dist/clientAnnex/log.d.ts +37 -1
  22. package/dist/clientAnnex/log.d.ts.map +1 -1
  23. package/dist/clientAnnex/log.js +34 -10
  24. package/dist/clientAnnex/log.js.map +1 -1
  25. package/dist/clientAnnex/recoveryLadderAnchored.d.ts +32 -7
  26. package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
  27. package/dist/clientAnnex/recoveryLadderAnchored.js +124 -23
  28. package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
  29. package/dist/clientAnnex/zcap.js +2 -2
  30. package/dist/clientAnnex/zcap.js.map +1 -1
  31. package/dist/identity/agents.js +2 -2
  32. package/dist/identity/agents.js.map +1 -1
  33. package/dist/keys/index.d.ts +1 -1
  34. package/dist/keys/index.d.ts.map +1 -1
  35. package/dist/keys/index.js +1 -1
  36. package/dist/keys/index.js.map +1 -1
  37. package/dist/keys/userKeyRoster.d.ts +32 -2
  38. package/dist/keys/userKeyRoster.d.ts.map +1 -1
  39. package/dist/keys/userKeyRoster.js +40 -2
  40. package/dist/keys/userKeyRoster.js.map +1 -1
  41. package/dist/recovery/recoveryDelegation.d.ts +4 -1
  42. package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
  43. package/dist/recovery/recoveryDelegation.js +9 -7
  44. package/dist/recovery/recoveryDelegation.js.map +1 -1
  45. package/dist/recovery/recoveryWebvh.d.ts +42 -2
  46. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  47. package/dist/recovery/recoveryWebvh.js +160 -18
  48. package/dist/recovery/recoveryWebvh.js.map +1 -1
  49. package/dist/unlock/index.d.ts +2 -2
  50. package/dist/unlock/index.d.ts.map +1 -1
  51. package/dist/unlock/index.js +1 -1
  52. package/dist/unlock/index.js.map +1 -1
  53. package/dist/unlock/retire.d.ts +62 -9
  54. package/dist/unlock/retire.d.ts.map +1 -1
  55. package/dist/unlock/retire.js +59 -5
  56. package/dist/unlock/retire.js.map +1 -1
  57. package/dist/unlock/standingWebvh.d.ts +131 -21
  58. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  59. package/dist/unlock/standingWebvh.js +239 -54
  60. package/dist/unlock/standingWebvh.js.map +1 -1
  61. package/dist/webvh/didWebvh.d.ts +3 -2
  62. package/dist/webvh/didWebvh.d.ts.map +1 -1
  63. package/dist/webvh/didWebvh.js +7 -5
  64. package/dist/webvh/didWebvh.js.map +1 -1
  65. package/dist/webvh/index.d.ts +5 -4
  66. package/dist/webvh/index.d.ts.map +1 -1
  67. package/dist/webvh/index.js +4 -3
  68. package/dist/webvh/index.js.map +1 -1
  69. package/dist/webvh/keyAgreement.d.ts +25 -0
  70. package/dist/webvh/keyAgreement.d.ts.map +1 -1
  71. package/dist/webvh/keyAgreement.js +24 -0
  72. package/dist/webvh/keyAgreement.js.map +1 -1
  73. package/dist/webvh/listClients.d.ts +31 -18
  74. package/dist/webvh/listClients.d.ts.map +1 -1
  75. package/dist/webvh/listClients.js +60 -16
  76. package/dist/webvh/listClients.js.map +1 -1
  77. package/dist/webvh/revokeClient.d.ts +48 -0
  78. package/dist/webvh/revokeClient.d.ts.map +1 -1
  79. package/dist/webvh/revokeClient.js +85 -1
  80. package/dist/webvh/revokeClient.js.map +1 -1
  81. package/dist/webvh/zcap.js +3 -3
  82. package/dist/webvh/zcap.js.map +1 -1
  83. package/package.json +5 -5
@@ -12,11 +12,15 @@
12
12
  * key (a passphrase), so the world-readable document carries a check on the
13
13
  * key without carrying the key -- and `nextKeyHashes` gains the hash of the
14
14
  * credential's current update key (a ladder rung, or a code's single derived
15
- * key).
15
+ * key). A credential that carries a ladder gains its LADDER VM in the same
16
+ * entry, under `assertionMethod` and `capabilityDelegation`: the VM's life is
17
+ * the credential's, installed when it becomes standing and struck when it
18
+ * retires, and enrollment never touches it.
16
19
  * Decryption standing, authority latent: the credential's update key joins
17
- * `updateKeys` nowhere, and both entries are deliberately unmarked, so client
18
- * listings (keyed on `capabilityInvocation`) and revocation removals never
19
- * see them. {@link publishUnlockKey} / {@link removeUnlockKey} are one merged
20
+ * `updateKeys` nowhere, and the key-agreement entry is deliberately unmarked,
21
+ * so client listings (keyed on `capabilityInvocation`) and revocation
22
+ * removals never see it; the VM's relation asymmetry keeps it out of the same
23
+ * listings. {@link publishUnlockKey} / {@link removeUnlockKey} are one merged
20
24
  * add/remove pair, shared verbatim by the recovery-code wrappers.
21
25
  *
22
26
  * The ceremonies that EXERCISE a credential's ladder against the account log
@@ -25,15 +29,39 @@
25
29
  * here is the verify-side half every wallet needs regardless of account configuration.
26
30
  */
27
31
  import { deriveNextKeyHash, updateDID } from '@interop/did-method-webvh';
28
- import { assertCarryOverCommitments, MULTIKEY_COMMITMENT_VM_TYPE, MULTIKEY_VM_TYPE, publishUpdatedLog, readPublishedLog, relationIds, updateKeyMultibase, updateKeySigner, withLogConflictRetry } from '../webvh/didWebvh.js';
32
+ import { assertCarryOverCommitments, MULTIKEY_COMMITMENT_VM_TYPE, MULTIKEY_VM_TYPE, ladderVerificationMethod, publishUpdatedLog, readPublishedLog, relationIds, updateKeyMultibase, updateKeySigner, withLogConflictRetry } from '../webvh/didWebvh.js';
29
33
  import { ladderVmIds } from '../webvh/listClients.js';
30
34
  // The one deliberate base-side dependency on the annex subpath, pinned as an
31
- // exception in the lint rule: `removeUnlockKey` resolves the retired
32
- // credential's CURRENT ladder inventory from the log itself (the shared
33
- // attribution helpers in `clientAnnex/ladder.ts`), never touching the annex
34
- // log machinery, and derives the credential's ladder VM id from a supplied
35
- // seed so the removal strikes that too.
36
- import { attributeLadderInventory, ladderVmKeyMultibase } from '../clientAnnex/ladder.js';
35
+ // exception in the lint rule: this module resolves a credential's CURRENT
36
+ // ladder inventory from the log itself (the shared attribution helpers in
37
+ // `clientAnnex/ladder.ts`), never touching the annex log machinery, and
38
+ // derives the credential's ladder VM from its seed at the install.
39
+ import { attributeLadderInventory, LadderAttributionError, ladderVmKeyMultibase } from '../clientAnnex/ladder.js';
40
+ /**
41
+ * The ladder inventory the removal edit resolved from the log diverges from
42
+ * what the caller was told one read earlier. A ceremony that names its
43
+ * expected ladder VM ids (the retirement's stage 0, which hands the same list
44
+ * to the dependent-record re-mint pass) gets this refusal BEFORE the edit is
45
+ * published, so a concurrent ceremony -- or a host serving different log
46
+ * versions to the two reads -- cannot make the strike diverge from what the
47
+ * re-mint pass acted on. Nothing is written. Matched on `name` (the error
48
+ * crosses app-injected seams that may resolve to another copy of this
49
+ * package).
50
+ */
51
+ export class LadderInventoryDriftError extends Error {
52
+ expected;
53
+ attributed;
54
+ constructor({ expected, attributed }) {
55
+ super('did:webvh: the published log attributes a different ladder VM set to ' +
56
+ 'this credential than the caller resolved a moment earlier ' +
57
+ `(expected ${expected.join(', ') || '(none)'}; attributed ` +
58
+ `${attributed.join(', ') || '(none)'}); the inventory edit was not ` +
59
+ 'published. Re-run the retirement on a fresh read.');
60
+ this.name = 'LadderInventoryDriftError';
61
+ this.expected = expected;
62
+ this.attributed = attributed;
63
+ }
64
+ }
37
65
  /**
38
66
  * The verification-method id a credential's key-agreement entry publishes
39
67
  * under: `<did>#<multibase>` for a verbatim key (indistinguishable by id from
@@ -51,6 +79,38 @@ export function unlockKeyVmId({ did, keyAgreement }) {
51
79
  : keyAgreement.commitment;
52
80
  return `${did}#${fragment}`;
53
81
  }
82
+ /**
83
+ * What of a standing credential's ladder currently stands in the published
84
+ * log, resolved with the recorded update key as ANCHOR and the credential's
85
+ * own key-agreement id as the attribution's second arm. The removal edit uses
86
+ * it to know what to strike; the retirement ceremony uses it one stage
87
+ * earlier, to name the ladder VM it is about to strike to the pass that
88
+ * re-mints whatever that VM signed for other credentials.
89
+ *
90
+ * It lives here rather than in the ceremony because this module is the one
91
+ * base-side holder of the annex attribution helpers (the pinned lint
92
+ * exception).
93
+ *
94
+ * @param options {object}
95
+ * @param options.log {DIDLog} a resolved, caller-verified log
96
+ * @param options.did {string} the account DID the log resolves to
97
+ * @param options.unlockKeys {StandingUnlockKeys} the credential's recorded
98
+ * public inventory
99
+ * @param [options.ladderSeed] {Uint8Array} the credential's ladder seed,
100
+ * when the ceremony holds it
101
+ * @returns {Promise<LadderStandingInventory>}
102
+ */
103
+ export async function attributeUnlockLadderInventory({ log, did, unlockKeys, ladderSeed }) {
104
+ return attributeLadderInventory({
105
+ log,
106
+ anchorKeyMultibase: unlockKeys.updateKeyMultibase,
107
+ credentialVmId: unlockKeyVmId({
108
+ did,
109
+ keyAgreement: unlockKeys.keyAgreement
110
+ }),
111
+ ...(ladderSeed ? { ladderSeed } : {})
112
+ });
113
+ }
54
114
  /**
55
115
  * The credential's `keyAgreement` verification method: an ordinary unmarked
56
116
  * entry carrying either the key verbatim (a `Multikey` with
@@ -115,12 +175,25 @@ export async function readLogOrThrow({ store, expectedDid, pinStore, logId }) {
115
175
  /**
116
176
  * BIND (run by an enrolled client, root authority): publishes a standing
117
177
  * credential's split configuration into the document -- one entry adding the
118
- * credential's `keyAgreement` entry (verbatim or commitment) and committing
119
- * its current update key's hash in `nextKeyHashes`. The update key joins
120
- * `updateKeys` nowhere. Idempotent: an inventory already published is a no-op,
121
- * so re-running a torn bind converges. The entry publishes conditionally on
122
- * the log this call read; a race lost to a concurrent ceremony re-runs and
123
- * rebases on the new head.
178
+ * credential's `keyAgreement` entry (verbatim or commitment), committing its
179
+ * current update key's hash in `nextKeyHashes`, and installing its LADDER VM
180
+ * under `assertionMethod` and `capabilityDelegation`, and under no other
181
+ * relation -- the asymmetry that recognizes it. The update key joins `updateKeys` nowhere.
182
+ * One entry for the whole inventory: a separate install would open a window
183
+ * in which the credential stands without the key it signs with.
184
+ *
185
+ * The ladder seed is the CALLER's to mint and to have already written
186
+ * durably. This function never mints one, so a torn bind's re-run tests
187
+ * idempotence against the SAME seed, finds the completed stage and publishes
188
+ * nothing -- where a mint-when-absent would publish a second VM that no
189
+ * anchored attribution could later strike. A credential with no ladder at all
190
+ * (a recovery code, whose inventory is one key-agreement method and one
191
+ * update key) passes `null` and gets no VM.
192
+ *
193
+ * Idempotent: an inventory already published is a no-op, so re-running a torn
194
+ * bind converges. The entry publishes conditionally on the log this call
195
+ * read; a race lost to a concurrent ceremony re-runs and rebases on the new
196
+ * head.
124
197
  *
125
198
  * @param options {object}
126
199
  * @param options.idStore {WebvhIdStore}
@@ -128,6 +201,9 @@ export async function readLogOrThrow({ store, expectedDid, pinStore, logId }) {
128
201
  * did:webvh update-key seeds
129
202
  * @param options.unlockKeys {StandingUnlockKeys} the credential's public
130
203
  * inventory
204
+ * @param options.ladderSeed {Uint8Array | null} the credential's ladder
205
+ * seed, whose VM this entry installs; `null` for a credential that carries
206
+ * no ladder
131
207
  * @param [options.expectedDid] {string} the account DID the log must resolve
132
208
  * to, from the caller's stored account pointer
133
209
  * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
@@ -163,25 +239,53 @@ export async function publishUnlockKey(options) {
163
239
  * rung key still sitting in `updateKeys` (plus the never-claimed hashes its
164
240
  * reveal entry committed). Trusting the recorded multibase alone would leave
165
241
  * the live rung commitment standing: a latent re-seizure credential via the
166
- * reveal mechanism. A supplied `ladderSeed` strengthens the attribution (every
167
- * rung known a priori, independent of the anchor's staleness); without it the
168
- * log walk alone resolves the inventory. For a single-key credential (a
242
+ * reveal mechanism. The seedless walk recovers the rungs BEHIND the anchor
243
+ * too, reading the log's positional rules backwards, so an anchor advanced by
244
+ * a self-enrollment resolves the same inventory a bind-time anchor does
245
+ * wherever each rung's hash was committed by an entry that also revealed the
246
+ * previous rung, or by a handover. One reachable shape falls outside that: a
247
+ * ladder VM the last-client transition reinstalled, whose acting rung a later
248
+ * self-enrollment then spends. That reveal-and-commit entry authorizes no key,
249
+ * so the backward walk cannot name the rung that signed it, and the VM stays
250
+ * standing as `unclaimed` (WC-158). A supplied `ladderSeed` is then a shortcut
251
+ * and a cross-check rather than a requirement (every rung known outright, no
252
+ * backward walk). For a
253
+ * single-key credential (a
169
254
  * recovery code, a never-self-enrolled bind) the resolution degenerates to
170
255
  * exactly the recorded key's hash, as before.
171
256
  *
172
- * The seed also names the credential's LADDER VM -- the stable sibling a
173
- * last-client forget's install entry publishes under `assertionMethod` and
174
- * `capabilityDelegation`, left standing by a forget torn after that entry --
175
- * and the removal strikes it in the same entry, so a retired seed no longer
176
- * signs governed-log appends or account delegations. The sibling is derived
177
- * from the seed alone, with nothing in the log attributing it to a ladder, so
178
- * a removal without the seed leaves it: rotation is the remedy for a leaked
179
- * seed exactly when the ceremony holds the credential.
257
+ * The credential's LADDER VM goes in the same entry, so a retired credential
258
+ * no longer signs governed-log appends or account delegations. This is the
259
+ * sole remover, and it needs no seed to do it: the VM is attributed from the
260
+ * log on any of three arms ({@link attributeLadderInventory}). The SIGNER
261
+ * arm claims a VM whose publishing entry a ladder rung signed. The
262
+ * CO-INTRODUCTION arm claims one whose publishing entry also introduced this
263
+ * credential's own `keyAgreement` member, which is what reaches a bind entry
264
+ * an enrolled client signed; it fires only when that entry introduced exactly
265
+ * one credential-class key-agreement member and exactly one ladder VM. The
266
+ * COMMITMENT arm claims one whose publishing entry committed a hash this
267
+ * ladder knows a priori and introduced no other credential's member, which is
268
+ * what reaches a reinstall for a credential whose member already stands. A VM
269
+ * no arm claims is left standing rather than struck -- on an account
270
+ * with several standing credentials, striking an unattributed key would take
271
+ * out a survivor's. With the seed in hand the derived id is struck too, and
272
+ * an attribution naming any OTHER VM refuses with
273
+ * {@link LadderAttributionError} rather than acting on a ladder the seed and
274
+ * the recorded anchor disagree about.
180
275
  *
181
- * @param options {object} see {@link publishUnlockKey}, plus
182
- * `[ladderSeed]` -- the retired credential's ladder seed, when in hand
183
- * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} see
184
- * {@link publishUnlockKey}
276
+ * @param options {object} see {@link publishUnlockKey}, plus:
277
+ * @param [options.ladderSeed] {Uint8Array} the retired credential's ladder
278
+ * seed, when in hand
279
+ * @param [options.expectedLadderVmIds] {string[]} the ladder VM ids the
280
+ * caller already resolved for this credential, from its own read of the
281
+ * log. Supplied, this edit's own attribution must match them as a set --
282
+ * after the seed cross-check above -- or the edit refuses with
283
+ * {@link LadderInventoryDriftError} before writing anything. That is what
284
+ * ties the retirement's stage-0 read (whose list the dependent-record
285
+ * re-mint pass acted on) to this one, which is otherwise independent
286
+ * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, ladderVm:
287
+ * LadderVmRemovalReport }>} see {@link publishUnlockKey}, plus the ladder
288
+ * VM report: what this entry struck, and what stands unclaimed after it
185
289
  */
186
290
  export async function removeUnlockKey(options) {
187
291
  return withLogConflictRetry(() => setUnlockKeyInventoryOnce({ ...options, polarity: 'remove' }));
@@ -195,7 +299,7 @@ export async function removeUnlockKey(options) {
195
299
  * @param options {object} see {@link publishUnlockKey}, plus `polarity`
196
300
  * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>}
197
301
  */
198
- async function setUnlockKeyInventoryOnce({ idStore, updateKeys, unlockKeys, ladderSeed, expectedDid, pinStore, logId, verb, polarity }) {
302
+ async function setUnlockKeyInventoryOnce({ idStore, updateKeys, unlockKeys, ladderSeed, expectedLadderVmIds, expectedDid, pinStore, logId, verb, polarity }) {
199
303
  const published = await readLogOrThrow({
200
304
  store: idStore,
201
305
  ...(expectedDid !== undefined ? { expectedDid } : {}),
@@ -213,35 +317,91 @@ async function setUnlockKeyInventoryOnce({ idStore, updateKeys, unlockKeys, ladd
213
317
  // goes along: it is what tells the walk a climb from a spend, so the
214
318
  // removal never annexes the commitment a spend handed to its replacement.
215
319
  const inventory = polarity === 'remove'
216
- ? await attributeLadderInventory({
320
+ ? await attributeUnlockLadderInventory({
217
321
  log: published.log,
218
- anchorKeyMultibase: unlockKeys.updateKeyMultibase,
219
- credentialVmId: vmId,
322
+ did,
323
+ unlockKeys,
220
324
  ...(ladderSeed ? { ladderSeed } : {})
221
325
  })
222
- : { revealedKeys: [], committedHashes: [] };
326
+ : { revealedKeys: [], committedHashes: [], ladderVmIds: [] };
223
327
  const removedHashes = new Set(inventory.committedHashes);
224
328
  const removedKeys = new Set(inventory.revealedKeys);
225
- // The credential's ladder VM, where one stands: the stable sibling a
226
- // last-client forget's install entry publishes, which stays behind when
227
- // that forget is torn after its first entry. It is derived from the ladder
228
- // seed and nothing else, so ownership is attributable only with the seed in
229
- // hand; a removal without it leaves the sibling standing (see
230
- // {@link removeUnlockKey}).
231
- const ladderVmId = polarity === 'remove' && ladderSeed
232
- ? `${did}#${await ladderVmKeyMultibase({ ladderSeed })}`
329
+ // The credential's ladder VM: installed by the publish polarity in this
330
+ // same entry, struck by the remove polarity in this same entry. The
331
+ // derived id is what the install publishes; the removal takes it from the
332
+ // seed when the ceremony holds one and from the log's attribution
333
+ // otherwise, so a seedless retirement still ends the credential's
334
+ // delegation authority.
335
+ const ladderVmKey = ladderSeed
336
+ ? await ladderVmKeyMultibase({ ladderSeed })
233
337
  : undefined;
234
- const ladderVmPresent = ladderVmId !== undefined && ladderVmIds({ doc }).includes(ladderVmId);
235
- const struckIds = new Set([vmId, ...(ladderVmPresent ? [ladderVmId] : [])]);
338
+ const ladderVmId = ladderVmKey === undefined ? undefined : `${did}#${ladderVmKey}`;
339
+ const standingLadderVmIds = ladderVmIds({ doc });
340
+ const struckLadderVmIds = new Set();
341
+ if (polarity === 'remove') {
342
+ if (ladderVmId !== undefined) {
343
+ const foreign = inventory.ladderVmIds.filter(id => id !== ladderVmId);
344
+ if (foreign.length > 0) {
345
+ throw new LadderAttributionError("The published log attributes a ladder VM this credential's seed " +
346
+ 'does not derive; refusing to strike on an ambiguous ' +
347
+ 'attribution.');
348
+ }
349
+ if (standingLadderVmIds.includes(ladderVmId)) {
350
+ struckLadderVmIds.add(ladderVmId);
351
+ }
352
+ }
353
+ for (const id of inventory.ladderVmIds) {
354
+ struckLadderVmIds.add(id);
355
+ }
356
+ // The drift check, before any write: this edit's own attribution against
357
+ // the list the caller resolved a read earlier. A concurrent ceremony, or
358
+ // a host serving two different log versions to the two reads, would
359
+ // otherwise let the strike diverge from what the caller's dependent-record
360
+ // pass already acted on.
361
+ if (expectedLadderVmIds !== undefined) {
362
+ const attributed = new Set(inventory.ladderVmIds);
363
+ const expected = new Set(expectedLadderVmIds);
364
+ const sameSet = attributed.size === expected.size &&
365
+ [...expected].every(id => attributed.has(id));
366
+ if (!sameSet) {
367
+ throw new LadderInventoryDriftError({
368
+ expected: [...expected],
369
+ attributed: [...attributed]
370
+ });
371
+ }
372
+ }
373
+ }
374
+ const ladderVmPresent = polarity === 'publish'
375
+ ? ladderVmId !== undefined && standingLadderVmIds.includes(ladderVmId)
376
+ : struckLadderVmIds.size > 0;
377
+ const struckIds = new Set([vmId, ...struckLadderVmIds]);
236
378
  const hashCommitted = published.nextKeyHashes.includes(keyHash);
237
379
  const settled = polarity === 'publish'
238
- ? vmPresent && hashCommitted
380
+ ? vmPresent &&
381
+ hashCommitted &&
382
+ (ladderVmId === undefined || ladderVmPresent)
239
383
  : !vmPresent &&
240
384
  !ladderVmPresent &&
241
385
  removedHashes.size === 0 &&
242
386
  removedKeys.size === 0;
387
+ const ladderVmReport = (resultDoc, struck) => {
388
+ const claimed = new Set([
389
+ ...struck,
390
+ ...inventory.ladderVmIds,
391
+ ...(ladderVmId !== undefined ? [ladderVmId] : [])
392
+ ]);
393
+ return {
394
+ struck: [...struck],
395
+ unclaimed: ladderVmIds({ doc: resultDoc }).filter(id => !claimed.has(id))
396
+ };
397
+ };
243
398
  if (settled) {
244
- return { did, doc, log: published.log };
399
+ return {
400
+ did,
401
+ doc,
402
+ log: published.log,
403
+ ladderVm: ladderVmReport(doc, struckLadderVmIds)
404
+ };
245
405
  }
246
406
  const activeKey = await updateKeyMultibase({ seed: updateKeys.updateSeed });
247
407
  if (!published.updateKeys.includes(activeKey)) {
@@ -264,11 +424,19 @@ async function setUnlockKeyInventoryOnce({ idStore, updateKeys, unlockKeys, ladd
264
424
  : published.updateKeys.filter(key => !removedKeys.has(key));
265
425
  const verificationMethods = polarity === 'publish'
266
426
  ? [
267
- ...existingMethods.filter(method => method.id !== vmId),
427
+ ...existingMethods.filter(method => method.id !== vmId && method.id !== ladderVmId),
268
428
  unlockKeyVerificationMethod({
269
429
  did,
270
430
  keyAgreement: unlockKeys.keyAgreement
271
- })
431
+ }),
432
+ ...(ladderVmKey !== undefined
433
+ ? [
434
+ ladderVerificationMethod({
435
+ controller: did,
436
+ publicKeyMultibase: ladderVmKey
437
+ })
438
+ ]
439
+ : [])
272
440
  ]
273
441
  : existingMethods.filter(method => method.id === undefined || !struckIds.has(method.id));
274
442
  // On the remove polarity every relation drops the struck ids: the
@@ -281,6 +449,18 @@ async function setUnlockKeyInventoryOnce({ idStore, updateKeys, unlockKeys, ladd
281
449
  const keyAgreement = polarity === 'publish'
282
450
  ? [...new Set([...relationIds(doc.keyAgreement), vmId])]
283
451
  : relation(doc.keyAgreement);
452
+ // The ladder VM's two relations, and only those: the asymmetry is what
453
+ // recognizes it (`ladderVmIds`) and what keeps it out of every client
454
+ // listing.
455
+ const withLadderVm = (ids) => ladderVmId === undefined
456
+ ? relationIds(ids)
457
+ : [...new Set([...relationIds(ids), ladderVmId])];
458
+ const assertionMethod = polarity === 'publish'
459
+ ? withLadderVm(doc.assertionMethod)
460
+ : relation(doc.assertionMethod);
461
+ const capabilityDelegation = polarity === 'publish'
462
+ ? withLadderVm(doc.capabilityDelegation)
463
+ : relation(doc.capabilityDelegation);
284
464
  const updated = await updateDID({
285
465
  log: published.log,
286
466
  signer,
@@ -291,12 +471,17 @@ async function setUnlockKeyInventoryOnce({ idStore, updateKeys, unlockKeys, ladd
291
471
  nextKeyHashes,
292
472
  verificationMethods,
293
473
  authentication: relation(doc.authentication),
294
- assertionMethod: relation(doc.assertionMethod),
474
+ assertionMethod,
295
475
  keyAgreement,
296
476
  capabilityInvocation: relation(doc.capabilityInvocation),
297
- capabilityDelegation: relation(doc.capabilityDelegation)
477
+ capabilityDelegation
298
478
  });
299
479
  await publishUpdatedLog({ idStore, updated, ifMatch: published.etag });
300
- return { did: updated.did, doc: updated.doc, log: updated.log };
480
+ return {
481
+ did: updated.did,
482
+ doc: updated.doc,
483
+ log: updated.log,
484
+ ladderVm: ladderVmReport(updated.doc, struckLadderVmIds)
485
+ };
301
486
  }
302
487
  //# sourceMappingURL=standingWebvh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standingWebvh.js","sourceRoot":"","sources":["../../src/unlock/standingWebvh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standingWebvh.js","sourceRoot":"","sources":["../../src/unlock/standingWebvh.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAMxE,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAOrD,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,wEAAwE;AACxE,mEAAmE;AACnE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,0BAA0B,CAAA;AAajC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,QAAQ,CAAU;IAClB,UAAU,CAAU;IAE7B,YAAY,EACV,QAAQ,EACR,UAAU,EAIX;QACC,KAAK,CACH,uEAAuE;YACrE,4DAA4D;YAC5D,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,eAAe;YAC3D,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,gCAAgC;YACpE,mDAAmD,CACtD,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;CACF;AAuCD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,GAAG,EACH,YAAY,EAIb;IACC,MAAM,QAAQ,GACZ,oBAAoB,IAAI,YAAY;QAClC,CAAC,CAAC,YAAY,CAAC,kBAAkB;QACjC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAA;IAC7B,OAAO,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAA;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,GAAG,EACH,GAAG,EACH,UAAU,EACV,UAAU,EAMX;IACC,OAAO,wBAAwB,CAAC;QAC9B,GAAG;QACH,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,cAAc,EAAE,aAAa,CAAC;YAC5B,GAAG;YACH,YAAY,EAAE,UAAU,CAAC,YAAY;SACtC,CAAC;QACF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,GAAG,EACH,YAAY,EAIb;IACC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAA;IAC/C,IAAI,oBAAoB,IAAI,YAAY,EAAE,CAAC;QACzC,OAAO;YACL,EAAE;YACF,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,GAAG;YACf,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;SACpD,CAAA;IACH,CAAC;IACD,OAAO;QACL,EAAE;QACF,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,GAAG;QACf,mBAAmB,EAAE,YAAY,CAAC,UAAU;KACvB,CAAA;AACzB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EAMN;IACC,4EAA4E;IAC5E,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;QACvC,OAAO,EAAE,KAAqB;QAC9B,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAA;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAStC;IACC,OAAO,oBAAoB,CAAC,GAAG,EAAE,CAC/B,yBAAyB,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAC/D,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAUrC;IAMC,OAAO,oBAAoB,CAAC,GAAG,EAAE,CAC/B,yBAAyB,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAC9D,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,yBAAyB,CAAC,EACvC,OAAO,EACP,UAAU,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,QAAQ,EAYT;IAMC,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC;QACrC,KAAK,EAAE,OAAO;QACd,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAAA;IAC9B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IACtE,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAA;IAE1E,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAC7B,CAAA;IACD,4EAA4E;IAC5E,2EAA2E;IAC3E,iEAAiE;IACjE,wEAAwE;IACxE,qEAAqE;IACrE,0EAA0E;IAC1E,MAAM,SAAS,GACb,QAAQ,KAAK,QAAQ;QACnB,CAAC,CAAC,MAAM,8BAA8B,CAAC;YACnC,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,GAAG;YACH,UAAU;YACV,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;QACJ,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAA;IAChE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACnD,wEAAwE;IACxE,oEAAoE;IACpE,0EAA0E;IAC1E,kEAAkE;IAClE,kEAAkE;IAClE,wBAAwB;IACxB,MAAM,WAAW,GAAG,UAAU;QAC5B,CAAC,CAAC,MAAM,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC;QAC5C,CAAC,CAAC,SAAS,CAAA;IACb,MAAM,UAAU,GACd,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;IACjE,MAAM,mBAAmB,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAChD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAA;IAC3C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAA;YACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,sBAAsB,CAC9B,kEAAkE;oBAChE,sDAAsD;oBACtD,cAAc,CACjB,CAAA;YACH,CAAC;YACD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YACvC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3B,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,2EAA2E;QAC3E,yBAAyB;QACzB,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAC7C,MAAM,OAAO,GACX,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;gBACjC,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,yBAAyB,CAAC;oBAClC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC;oBACvB,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;iBAC5B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,eAAe,GACnB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC;QACtE,CAAC,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,OAAO,GACX,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,SAAS;YACT,aAAa;YACb,CAAC,UAAU,KAAK,SAAS,IAAI,eAAe,CAAC;QAC/C,CAAC,CAAC,CAAC,SAAS;YACV,CAAC,eAAe;YAChB,aAAa,CAAC,IAAI,KAAK,CAAC;YACxB,WAAW,CAAC,IAAI,KAAK,CAAC,CAAA;IAC5B,MAAM,cAAc,GAAG,CACrB,SAAiB,EACjB,MAAmB,EACI,EAAE;QACzB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC;YACtB,GAAG,MAAM;YACT,GAAG,SAAS,CAAC,WAAW;YACxB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAA;QACF,OAAO;YACL,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;YACnB,SAAS,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;SAC1E,CAAA;IACH,CAAC,CAAA;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,GAAG;YACH,GAAG;YACH,GAAG,EAAE,SAAS,CAAC,GAAG;YAClB,QAAQ,EAAE,cAAc,CAAC,GAAG,EAAE,iBAAiB,CAAC;SACjD,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,uEAAuE;YACrE,mDAAmD;YACnD,GAAG,IAAI,IAAI,+BAA+B,GAAG,CAChD,CAAA;IACH,CAAC;IACD,MAAM,0BAA0B,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAE/C,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAyB,CAAA;IAC9E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;IACrE,MAAM,aAAa,GACjB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,sEAAsE;IACtE,8DAA8D;IAC9D,MAAM,gBAAgB,GACpB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,SAAS,CAAC,UAAU;QACtB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/D,MAAM,mBAAmB,GACvB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC;YACE,GAAG,eAAe,CAAC,MAAM,CACvB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,UAAU,CACzD;YACD,2BAA2B,CAAC;gBAC1B,GAAG;gBACH,YAAY,EAAE,UAAU,CAAC,YAAY;aACtC,CAAC;YACF,GAAG,CAAC,WAAW,KAAK,SAAS;gBAC3B,CAAC,CAAC;oBACE,wBAAwB,CAAC;wBACvB,UAAU,EAAE,GAAG;wBACf,kBAAkB,EAAE,WAAW;qBAChC,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACH,CAAC,CAAC,eAAe,CAAC,MAAM,CACpB,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAC/D,CAAA;IACP,kEAAkE;IAClE,6EAA6E;IAC7E,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,QAAQ,GAAG,CACf,GAAgD,EACtC,EAAE,CACZ,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACvD,MAAM,YAAY,GAChB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAChC,uEAAuE;IACvE,sEAAsE;IACtE,WAAW;IACX,MAAM,YAAY,GAAG,CACnB,GAAgD,EACtC,EAAE,CACZ,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,eAAe,GACnB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC;QACnC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IACnC,MAAM,oBAAoB,GACxB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAExC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC;QAC9B,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,MAAM;QACN,cAAc,EAAE,IAAI;QACpB,wEAAwE;QACxE,4EAA4E;QAC5E,UAAU,EAAE,gBAAgB;QAC5B,aAAa;QACb,mBAAmB;QACnB,cAAc,EAAE,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;QAC5C,eAAe;QACf,YAAY;QACZ,oBAAoB,EAAE,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACxD,oBAAoB;KACrB,CAAC,CAAA;IACF,MAAM,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;IACtE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC;KACzD,CAAA;AACH,CAAC"}
@@ -251,8 +251,9 @@ export declare function assertCanonicalClientKeys({ signingKeyMultibase, keyAgre
251
251
  /**
252
252
  * The one builder of the ladder VM's published verification method -- the
253
253
  * STABLE SIBLING key a standing credential derives from its ladder seed
254
- * (`@interop/wallet-core/unlock`, `ladderVmKeyMultibase`), published while
255
- * the account has no enrolled client. The shape is forced, not
254
+ * (`@interop/wallet-core/unlock`, `ladderVmKeyMultibase`), published for as
255
+ * long as that credential stands and co-resident with whatever clients the
256
+ * account has enrolled. The shape is forced, not
256
257
  * preferred: @interop/zcap's `isController` flat-compares the delegating VM's
257
258
  * `controller` string against the parent capability's controller (which the
258
259
  * server synthesizes as the account did:webvh), and only an
@@ -1 +1 @@
1
- {"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"AA4EA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,MAAM,EACN,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAUlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAU3D,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,gBAAgB,CAAC,OAAO,EAAE;QACxB,UAAU,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAA;IACxD;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAChE;;;;;;;;;;OAUG;IACH,aAAa,CAAC,OAAO,EAAE;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;QACxB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,OAAO,CAAA;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,aAAa,CAAA;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,uBAAuB,CAAA;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,6BAAoB,CAAA;AAOjD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;IACtB,iBAAiB,CAAC,EAAE,UAAU,CAAA;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,mBAAmB,EACpB,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;CAC5B,GAAG,MAAM,CAET;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,mBAAmB,EACpB,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;CAC5B,GAAG,MAAM,CAGT;AAiCD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,wBAAwB,EACzB,EAAE;IACD,wBAAwB,EAAE,MAAM,CAAA;CACjC,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,wBAAwB,EACzB,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,wBAAwB,EAAE,MAAM,CAAA;CACjC,GAAG,OAAO,CAIV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACZ,EAAE;IACD,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB,GAAG,CAAC,wBAAwB,EAAE,MAAM,KAAK,OAAO,CA4BhD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,UAAU,EACV,mBAAmB,EACnB,wBAAwB,EACzB,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wBAAwB,EAAE,MAAM,CAAA;CACjC,GAAG,kBAAkB,EAAE,CAgBvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,mBAAmB,EACnB,wBAAwB,EACzB,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,wBAAwB,EAAE,MAAM,CAAA;CACjC,GAAG,IAAI,CAWP;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,UAAU,EACV,kBAAkB,EACnB,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,kBAAkB,CAOrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,CAAA;AAErE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,YAAY,EACZ,OAAO,EACP,YAA+B,EAChC,EAAE;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,MAAM,CAGT;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAKhF;AAWD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACL,EAAE;IACD,IAAI,EAAE,UAAU,CAAA;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACL,EAAE;IACD,IAAI,EAAE,UAAU,CAAA;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AA2PD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,kBAAkB,EAClB,kBAAkB,EACnB,EAAE;IACD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,YAAY,EACZ,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,aAAa,EACb,MAAM,EACP,EAAE;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,4BAA4B,EAAE,kBAAkB,CAAA;IAChD,2BAA2B,EAAE,MAAM,CAAA;IACnC,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAaxD;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAE5C,OAAO,SACkE,EACzE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,CAAC,EACnC,KAAK,EACL,GAAG,EACH,OAAO,EACP,WAAW,EACZ,EAAE;IACD,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IAC1C,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAehB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,eAAe,CAAC,EACpC,OAAO,EACP,GAAG,EACH,MAAM,EACN,OAAO,EACP,WAAW,EACZ,EAAE;IACD,OAAO,EAAE,YAAY,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,OAAO,EACP,OAAO,EACP,OAAO,EACR,EAAE;IACD,OAAO,EAAE,YAAY,CAAA;IACrB,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,UAAU,EACV,KAAK,EACN,EAAE;IACD,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,YAAY,CAAA;IACxB,KAAK,EAAE,aAAa,CAAA;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,OAAO,EACP,WAAW,EACX,QAAQ,EACR,KAAK,EACN,EAAE;IACD,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAoDzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAExD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAG3E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,SAAS,EACV,EAAE;IACD,OAAO,EAAE,YAAY,CAAA;IACrB,SAAS,EAAE,iBAAiB,CAAA;CAC7B,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAOxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,GACV,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAc1D;AA6DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC5C,OAAO,EAAE,YAAY,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,UAAU,EAAE,eAAe,CAAA;IAC3B,UAAU,EAAE,qBAAqB,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAC/B,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAE3B;AA6GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,qBAAqB,CAAA;IACjC,iBAAiB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACjE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAE3B;AAyID;;;;;;;;;;GAUG;AACH,wBAAsB,0BAA0B,CAAC,EAC/C,SAAS,EACV,EAAE;IACD,SAAS,EAAE,iBAAiB,CAAA;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAUhB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,kBAAkB,EAAE,MAAM,CAAA;IAC1B,wBAAwB,EAAE,MAAM,CAAA;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,KAAK,CAAC,MAAM,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,GACpD,MAAM,EAAE,CASV;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,qBAAqB,CAAA;IACjC,SAAS,EAAE,mBAAmB,CAAA;CAC/B,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAE3B;AAqJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,aAAa,EACb,OAAO,EACP,WAAW,EACX,QAAQ,EACR,KAAK,EACN,EAAE;IACD,aAAa,EAAE,aAAa,CAAA;IAC5B,OAAO,EAAE,YAAY,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,cAAc,CAAC,CA6F1B"}
1
+ {"version":3,"file":"didWebvh.d.ts","sourceRoot":"","sources":["../../src/webvh/didWebvh.ts"],"names":[],"mappings":"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"}
@@ -326,8 +326,9 @@ export function assertCanonicalClientKeys({ signingKeyMultibase, keyAgreementKey
326
326
  /**
327
327
  * The one builder of the ladder VM's published verification method -- the
328
328
  * STABLE SIBLING key a standing credential derives from its ladder seed
329
- * (`@interop/wallet-core/unlock`, `ladderVmKeyMultibase`), published while
330
- * the account has no enrolled client. The shape is forced, not
329
+ * (`@interop/wallet-core/unlock`, `ladderVmKeyMultibase`), published for as
330
+ * long as that credential stands and co-resident with whatever clients the
331
+ * account has enrolled. The shape is forced, not
331
332
  * preferred: @interop/zcap's `isController` flat-compares the delegating VM's
332
333
  * `controller` string against the parent capability's controller (which the
333
334
  * server synthesizes as the account did:webvh), and only an
@@ -543,9 +544,10 @@ function assembleWebvhVerificationMethods({ controllerTemplate, didWebKeys, clie
543
544
  };
544
545
  }
545
546
  if (ladderVm) {
546
- throw new Error('did:webvh: a genesis document lists a founding client or a ladder VM, ' +
547
- 'never both -- the ladder VM exists only while the account has no ' +
548
- 'enrolled client.');
547
+ throw new Error('did:webvh: a genesis document lists either a founding client or a ' +
548
+ 'ladder VM, and this one supplies both. The constraint is ' +
549
+ 'genesis-only: a later entry may publish clients and ladder VMs ' +
550
+ 'side by side.');
549
551
  }
550
552
  const { signingKeyMultibase, keyAgreementKeyMultibase } = clientKeys;
551
553
  const method = (publicKeyMultibase) => ({