@interop/wallet-core 0.45.0 → 0.47.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 (87) hide show
  1. package/dist/keyring/record.d.ts +4 -3
  2. package/dist/keyring/record.d.ts.map +1 -1
  3. package/dist/keyring/record.js.map +1 -1
  4. package/dist/keys/rosterLogStore.d.ts.map +1 -1
  5. package/dist/keys/rosterLogStore.js +18 -1
  6. package/dist/keys/rosterLogStore.js.map +1 -1
  7. package/dist/keys/rosterStore.d.ts +25 -1
  8. package/dist/keys/rosterStore.d.ts.map +1 -1
  9. package/dist/keys/rosterStore.js +6 -2
  10. package/dist/keys/rosterStore.js.map +1 -1
  11. package/dist/recovery/index.d.ts +1 -1
  12. package/dist/recovery/index.d.ts.map +1 -1
  13. package/dist/recovery/index.js +1 -1
  14. package/dist/recovery/index.js.map +1 -1
  15. package/dist/recovery/recoveryDelegation.d.ts +27 -40
  16. package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
  17. package/dist/recovery/recoveryDelegation.js +119 -53
  18. package/dist/recovery/recoveryDelegation.js.map +1 -1
  19. package/dist/resourceLog/controller.d.ts +38 -3
  20. package/dist/resourceLog/controller.d.ts.map +1 -1
  21. package/dist/resourceLog/controller.js +106 -10
  22. package/dist/resourceLog/controller.js.map +1 -1
  23. package/dist/resourceLog/errors.d.ts +22 -1
  24. package/dist/resourceLog/errors.d.ts.map +1 -1
  25. package/dist/resourceLog/errors.js +23 -1
  26. package/dist/resourceLog/errors.js.map +1 -1
  27. package/dist/resourceLog/index.d.ts +8 -6
  28. package/dist/resourceLog/index.d.ts.map +1 -1
  29. package/dist/resourceLog/index.js +7 -5
  30. package/dist/resourceLog/index.js.map +1 -1
  31. package/dist/resourceLog/license.d.ts +44 -0
  32. package/dist/resourceLog/license.d.ts.map +1 -0
  33. package/dist/resourceLog/license.js +63 -0
  34. package/dist/resourceLog/license.js.map +1 -0
  35. package/dist/resourceLog/verify.d.ts +3 -2
  36. package/dist/resourceLog/verify.d.ts.map +1 -1
  37. package/dist/resourceLog/verify.js +30 -8
  38. package/dist/resourceLog/verify.js.map +1 -1
  39. package/dist/unlock/index.d.ts +17 -8
  40. package/dist/unlock/index.d.ts.map +1 -1
  41. package/dist/unlock/index.js +17 -8
  42. package/dist/unlock/index.js.map +1 -1
  43. package/dist/unlock/ladder.d.ts +76 -0
  44. package/dist/unlock/ladder.d.ts.map +1 -1
  45. package/dist/unlock/ladder.js +111 -1
  46. package/dist/unlock/ladder.js.map +1 -1
  47. package/dist/unlock/standingWebvh.d.ts +39 -0
  48. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  49. package/dist/unlock/standingWebvh.js +69 -4
  50. package/dist/unlock/standingWebvh.js.map +1 -1
  51. package/dist/unlock/unlockRecord.d.ts +28 -8
  52. package/dist/unlock/unlockRecord.d.ts.map +1 -1
  53. package/dist/unlock/unlockRecord.js +93 -13
  54. package/dist/unlock/unlockRecord.js.map +1 -1
  55. package/dist/webvh/companion.d.ts +681 -0
  56. package/dist/webvh/companion.d.ts.map +1 -0
  57. package/dist/webvh/companion.js +1151 -0
  58. package/dist/webvh/companion.js.map +1 -0
  59. package/dist/webvh/delegatedLogStore.d.ts +67 -0
  60. package/dist/webvh/delegatedLogStore.d.ts.map +1 -0
  61. package/dist/webvh/delegatedLogStore.js +104 -0
  62. package/dist/webvh/delegatedLogStore.js.map +1 -0
  63. package/dist/webvh/didWebvh.d.ts +109 -5
  64. package/dist/webvh/didWebvh.d.ts.map +1 -1
  65. package/dist/webvh/didWebvh.js +186 -21
  66. package/dist/webvh/didWebvh.js.map +1 -1
  67. package/dist/webvh/index.d.ts +34 -5
  68. package/dist/webvh/index.d.ts.map +1 -1
  69. package/dist/webvh/index.js +31 -5
  70. package/dist/webvh/index.js.map +1 -1
  71. package/dist/webvh/listClients.d.ts +33 -0
  72. package/dist/webvh/listClients.d.ts.map +1 -1
  73. package/dist/webvh/listClients.js +27 -0
  74. package/dist/webvh/listClients.js.map +1 -1
  75. package/dist/webvh/standingZcap.d.ts +48 -0
  76. package/dist/webvh/standingZcap.d.ts.map +1 -0
  77. package/dist/webvh/standingZcap.js +54 -0
  78. package/dist/webvh/standingZcap.js.map +1 -0
  79. package/dist/webvh/wasIdStore.d.ts +36 -6
  80. package/dist/webvh/wasIdStore.d.ts.map +1 -1
  81. package/dist/webvh/wasIdStore.js +32 -13
  82. package/dist/webvh/wasIdStore.js.map +1 -1
  83. package/dist/webvh/zcap.d.ts +24 -0
  84. package/dist/webvh/zcap.d.ts.map +1 -1
  85. package/dist/webvh/zcap.js +42 -0
  86. package/dist/webvh/zcap.js.map +1 -1
  87. package/package.json +9 -9
@@ -14,10 +14,23 @@
14
14
  * VERBATIM through every re-mint, so the bind timestamp (which apps pin
15
15
  * freshness on) and the email survive a re-mint that cannot decrypt them.
16
16
  * - `bridge`: the pre-minted PUT-on-`did.jsonl` delegation, sealed in its own
17
- * self-contained `{ encryption, wrapped }` member. The one member a re-mint
18
- * replaces: revoking the client that signed the delegation rots it, and the
19
- * revocation cascade re-seals a fresh one to the credential's unlock KAK
20
- * public half ({@link remintUnlockRecordBridge}).
17
+ * self-contained `{ encryption, wrapped }` member. Re-mintable: revoking
18
+ * the client that signed the delegation rots it, and the revocation
19
+ * cascade re-seals a fresh one to the credential's unlock KAK public half
20
+ * ({@link remintUnlockRecordDelegations}).
21
+ * - `delegatedClients` (standing credentials only): the pre-minted GET+PUT
22
+ * delegation over the auxiliary companion Space's items subtree, sealed as
23
+ * its own self-contained member -- what lets a transient login reach the
24
+ * companion (delegated-clients) log with nothing but the credential. It
25
+ * rots on exactly the bridge's axis (same signer, same current-key-set
26
+ * rule), so the re-mint reseals both members in one pass. Absent on a
27
+ * recovery code, which needs no companion authority; parsed with `ladder`'s
28
+ * tolerant handling, not `bridge`'s hard refusal. The `binding` MAC does
29
+ * not cover it (the v2 context label stays): like the bridge it mirrors,
30
+ * it sits under the frame proof only, and a host-swapped member is bounded
31
+ * by the account document's independent service entry plus the fact that a
32
+ * wrong Space yields nothing the transient login's self-computed ladder
33
+ * keys verify.
21
34
  * - `ladder` (standing credentials only): the random 32-byte update-key
22
35
  * ladder seed (`./ladder`), sealed in its own `{ encryption, wrapped }`
23
36
  * member and carried VERBATIM through re-mints -- a re-mint can never read
@@ -198,6 +211,9 @@ async function openMember({ member, keyAgreementKey, keyResolver }) {
198
211
  * @param options.pointer {AccountPointer} the account pointer
199
212
  * @param options.delegation {IZcap} the PUT-on-`did.jsonl` delegation to
200
213
  * the credential-derived signing DID
214
+ * @param [options.delegatedClients] {IZcap} the companion-Space delegation
215
+ * (GET+PUT over the auxiliary Space's items subtree), for a standing
216
+ * credential (a recovery code carries none)
201
217
  * @param [options.ladderSeed] {Uint8Array} the update-key ladder seed, for
202
218
  * a standing credential (a recovery code carries none)
203
219
  * @param options.keyAgreementKey {IKeyAgreementKey} the credential's unlock
@@ -210,7 +226,7 @@ async function openMember({ member, keyAgreementKey, keyResolver }) {
210
226
  * freshness.
211
227
  * @returns {Promise<SignedUnlockRecord>}
212
228
  */
213
- export async function wrapUnlockRecord({ controller, email, pointer, delegation, ladderSeed, keyAgreementKey, signer, bindingMacKey, createdAt }) {
229
+ export async function wrapUnlockRecord({ controller, email, pointer, delegation, delegatedClients, ladderSeed, keyAgreementKey, signer, bindingMacKey, createdAt }) {
214
230
  if (ladderSeed && ladderSeed.length !== LADDER_SEED_BYTES) {
215
231
  throw new Error('The ladder seed must be 32 bytes.');
216
232
  }
@@ -234,6 +250,12 @@ export async function wrapUnlockRecord({ controller, email, pointer, delegation,
234
250
  keyAgreementKey
235
251
  });
236
252
  const bridge = await sealMember({ data: { delegation }, keyAgreementKey });
253
+ const sealedDelegatedClients = delegatedClients
254
+ ? await sealMember({
255
+ data: { delegation: delegatedClients },
256
+ keyAgreementKey
257
+ })
258
+ : undefined;
237
259
  const ladder = ladderSeed
238
260
  ? await sealMember({
239
261
  data: { ladderSeed: base64urlnopad.encode(ladderSeed) },
@@ -245,7 +267,14 @@ export async function wrapUnlockRecord({ controller, email, pointer, delegation,
245
267
  encryption: shell.encryption,
246
268
  wrapped: shell.wrapped,
247
269
  signer,
248
- members: { binding, bridge, ...(ladder ? { ladder } : {}) }
270
+ members: {
271
+ binding,
272
+ bridge,
273
+ ...(sealedDelegatedClients
274
+ ? { delegatedClients: sealedDelegatedClients }
275
+ : {}),
276
+ ...(ladder ? { ladder } : {})
277
+ }
249
278
  }));
250
279
  }
251
280
  /**
@@ -287,12 +316,18 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
287
316
  label: 'unlock'
288
317
  });
289
318
  const binding = unlockRecordBinding({ record });
290
- const { bridge: rawBridge, ladder: rawLadder } = record;
319
+ const { bridge: rawBridge, delegatedClients: rawDelegatedClients, ladder: rawLadder } = record;
291
320
  if (rawBridge === undefined) {
292
321
  throw new Error('The unlock record carries no bridge member; it predates the standing ' +
293
322
  'layout and the credential must be rebound.');
294
323
  }
295
324
  const bridge = parseSealedMember({ value: rawBridge, name: 'bridge' });
325
+ const delegatedClients = rawDelegatedClients === undefined
326
+ ? undefined
327
+ : parseSealedMember({
328
+ value: rawDelegatedClients,
329
+ name: 'delegatedClients'
330
+ });
296
331
  const ladder = rawLadder === undefined
297
332
  ? undefined
298
333
  : parseSealedMember({ value: rawLadder, name: 'ladder' });
@@ -339,6 +374,19 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
339
374
  typeof bridgePlaintext.delegation !== 'object') {
340
375
  throw new Error('Unlock record is missing its did.jsonl delegation.');
341
376
  }
377
+ let delegatedClientsDelegation;
378
+ if (delegatedClients) {
379
+ const plaintext = (await openMember({
380
+ member: delegatedClients,
381
+ keyAgreementKey,
382
+ keyResolver
383
+ }));
384
+ if (plaintext.delegation === null ||
385
+ typeof plaintext.delegation !== 'object') {
386
+ throw new Error('Unlock record has a malformed delegatedClients member.');
387
+ }
388
+ delegatedClientsDelegation = plaintext.delegation;
389
+ }
342
390
  let ladderSeed;
343
391
  if (ladder) {
344
392
  const ladderPlaintext = (await openMember({
@@ -385,6 +433,9 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
385
433
  : {}),
386
434
  pointer,
387
435
  delegation: bridgePlaintext.delegation,
436
+ ...(delegatedClientsDelegation
437
+ ? { delegatedClients: delegatedClientsDelegation }
438
+ : {}),
388
439
  ...(ladderSeed ? { ladderSeed } : {}),
389
440
  createdAt
390
441
  },
@@ -392,15 +443,23 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
392
443
  };
393
444
  }
394
445
  /**
395
- * Re-mints an unlock record's bridge: the revocation-cascade path that
396
- * replaces a rotted or expiring delegation while touching nothing else. The
446
+ * Re-mints an unlock record's pre-minted delegations: the revocation-cascade
447
+ * path that replaces a rotted or expiring bridge (and, where the record
448
+ * carries one, its companion-Space sibling) while touching nothing else. The
397
449
  * shell, the ladder member, and the binding are carried VERBATIM (the re-mint
398
450
  * cannot decrypt any of them and does not need to -- each is self-contained
399
- * and the binding covers the core), a fresh bridge is sealed to the
451
+ * and the binding covers the core), the fresh delegations are sealed to the
400
452
  * credential's unlock KAK public half, and the frame is re-signed by the
401
453
  * acting client's account key -- the mixed-signer case the reader settles
402
454
  * against the verified document.
403
455
  *
456
+ * The two members rot on one axis (same signer, same current-key-set rule,
457
+ * same renewal window), so a re-mint pass reseals both atomically; a
458
+ * `delegatedClients` member the caller supplies no fresh delegation for is
459
+ * carried verbatim, sealed as it stands (self-contained, like the ladder) --
460
+ * the fallback for a pass that cannot rebuild the companion target, never
461
+ * the intended steady state.
462
+ *
404
463
  * A record with no binding cannot be re-minted ({@link UnlockBindingError});
405
464
  * its credential must be rebound.
406
465
  *
@@ -408,28 +467,49 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
408
467
  * @param options.record {unknown} the standing stored record
409
468
  * @param options.delegation {IZcap} the freshly minted `did.jsonl`
410
469
  * delegation
470
+ * @param [options.delegatedClients] {IZcap} the freshly minted
471
+ * companion-Space delegation; when absent, an existing `delegatedClients`
472
+ * member travels verbatim
411
473
  * @param options.keyAgreementKey {IKeyAgreementKey} the credential's unlock
412
474
  * KAK, public half only
413
475
  * @param options.signer {RecordSigner} the acting client's account key
414
476
  * @returns {Promise<SignedUnlockRecord>}
415
477
  */
416
- export async function remintUnlockRecordBridge({ record, delegation, keyAgreementKey, signer }) {
478
+ export async function remintUnlockRecordDelegations({ record, delegation, delegatedClients, keyAgreementKey, signer }) {
417
479
  const { encryption, wrapped } = parseRecordFrame({
418
480
  record,
419
481
  label: 'unlock'
420
482
  });
421
483
  const binding = unlockRecordBinding({ record });
422
- const { ladder: rawLadder } = record;
484
+ const { delegatedClients: rawDelegatedClients, ladder: rawLadder } = record;
423
485
  const ladder = rawLadder === undefined
424
486
  ? undefined
425
487
  : parseSealedMember({ value: rawLadder, name: 'ladder' });
426
488
  const bridge = await sealMember({ data: { delegation }, keyAgreementKey });
489
+ const sealedDelegatedClients = delegatedClients
490
+ ? await sealMember({
491
+ data: { delegation: delegatedClients },
492
+ keyAgreementKey
493
+ })
494
+ : rawDelegatedClients === undefined
495
+ ? undefined
496
+ : parseSealedMember({
497
+ value: rawDelegatedClients,
498
+ name: 'delegatedClients'
499
+ });
427
500
  return (await signRecordFrame({
428
501
  version: KEYRING_RECORD_VERSION,
429
502
  encryption,
430
503
  wrapped,
431
504
  signer,
432
- members: { binding, bridge, ...(ladder ? { ladder } : {}) }
505
+ members: {
506
+ binding,
507
+ bridge,
508
+ ...(sealedDelegatedClients
509
+ ? { delegatedClients: sealedDelegatedClients }
510
+ : {}),
511
+ ...(ladder ? { ladder } : {})
512
+ }
433
513
  }));
434
514
  }
435
515
  //# sourceMappingURL=unlockRecord.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unlockRecord.js","sourceRoot":"","sources":["../../src/unlock/unlockRecord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unlockRecord.js","sourceRoot":"","sources":["../../src/unlock/unlockRecord.ts"],"names":[],"mappings":"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"}