@interop/wallet-core 0.66.0 → 0.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/README.md +12 -8
  2. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +6 -10
  3. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
  4. package/dist/clientAnnex/credentialAnchoredGenesis.js +34 -56
  5. package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
  6. package/dist/clientAnnex/establish.d.ts +46 -29
  7. package/dist/clientAnnex/establish.d.ts.map +1 -1
  8. package/dist/clientAnnex/establish.js +111 -86
  9. package/dist/clientAnnex/establish.js.map +1 -1
  10. package/dist/clientAnnex/forget.d.ts +7 -16
  11. package/dist/clientAnnex/forget.d.ts.map +1 -1
  12. package/dist/clientAnnex/forget.js +13 -24
  13. package/dist/clientAnnex/forget.js.map +1 -1
  14. package/dist/clientAnnex/forgetLast.d.ts +33 -129
  15. package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
  16. package/dist/clientAnnex/forgetLast.js +43 -182
  17. package/dist/clientAnnex/forgetLast.js.map +1 -1
  18. package/dist/clientAnnex/gc.d.ts +26 -12
  19. package/dist/clientAnnex/gc.d.ts.map +1 -1
  20. package/dist/clientAnnex/gc.js +60 -57
  21. package/dist/clientAnnex/gc.js.map +1 -1
  22. package/dist/clientAnnex/heal.d.ts +75 -18
  23. package/dist/clientAnnex/heal.d.ts.map +1 -1
  24. package/dist/clientAnnex/heal.js +79 -147
  25. package/dist/clientAnnex/heal.js.map +1 -1
  26. package/dist/clientAnnex/index.d.ts +8 -8
  27. package/dist/clientAnnex/index.d.ts.map +1 -1
  28. package/dist/clientAnnex/index.js +5 -5
  29. package/dist/clientAnnex/index.js.map +1 -1
  30. package/dist/clientAnnex/ladder.d.ts +51 -4
  31. package/dist/clientAnnex/ladder.d.ts.map +1 -1
  32. package/dist/clientAnnex/ladder.js +283 -47
  33. package/dist/clientAnnex/ladder.js.map +1 -1
  34. package/dist/clientAnnex/ladderAnchored.d.ts +62 -73
  35. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  36. package/dist/clientAnnex/ladderAnchored.js +103 -117
  37. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  38. package/dist/clientAnnex/log.d.ts +123 -125
  39. package/dist/clientAnnex/log.d.ts.map +1 -1
  40. package/dist/clientAnnex/log.js +174 -233
  41. package/dist/clientAnnex/log.js.map +1 -1
  42. package/dist/clientAnnex/mend.d.ts +0 -4
  43. package/dist/clientAnnex/mend.d.ts.map +1 -1
  44. package/dist/clientAnnex/mend.js +50 -51
  45. package/dist/clientAnnex/mend.js.map +1 -1
  46. package/dist/clientAnnex/recoveryLadderAnchored.d.ts +25 -13
  47. package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
  48. package/dist/clientAnnex/recoveryLadderAnchored.js +80 -303
  49. package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
  50. package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -5
  51. package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
  52. package/dist/clientAnnex/rosterDeliveredEpochs.js +18 -9
  53. package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
  54. package/dist/clientAnnex/selfEnroll.d.ts +6 -10
  55. package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
  56. package/dist/clientAnnex/selfEnroll.js +13 -18
  57. package/dist/clientAnnex/selfEnroll.js.map +1 -1
  58. package/dist/clientAnnex/zcap.d.ts +19 -0
  59. package/dist/clientAnnex/zcap.d.ts.map +1 -1
  60. package/dist/clientAnnex/zcap.js +80 -12
  61. package/dist/clientAnnex/zcap.js.map +1 -1
  62. package/dist/clients/index.d.ts +3 -2
  63. package/dist/clients/index.d.ts.map +1 -1
  64. package/dist/clients/index.js +3 -2
  65. package/dist/clients/index.js.map +1 -1
  66. package/dist/clients/listing.d.ts.map +1 -1
  67. package/dist/clients/listing.js +33 -15
  68. package/dist/clients/listing.js.map +1 -1
  69. package/dist/clients/policy.d.ts +18 -0
  70. package/dist/clients/policy.d.ts.map +1 -1
  71. package/dist/clients/policy.js +22 -8
  72. package/dist/clients/policy.js.map +1 -1
  73. package/dist/clients/revocation.d.ts +18 -30
  74. package/dist/clients/revocation.d.ts.map +1 -1
  75. package/dist/clients/revocation.js +12 -27
  76. package/dist/clients/revocation.js.map +1 -1
  77. package/dist/clients/rosterPolicy.d.ts +6 -1
  78. package/dist/clients/rosterPolicy.d.ts.map +1 -1
  79. package/dist/clients/rosterPolicy.js +27 -30
  80. package/dist/clients/rosterPolicy.js.map +1 -1
  81. package/dist/descriptors/errors.d.ts +6 -5
  82. package/dist/descriptors/errors.d.ts.map +1 -1
  83. package/dist/descriptors/errors.js +6 -5
  84. package/dist/descriptors/errors.js.map +1 -1
  85. package/dist/descriptors/index.d.ts +7 -3
  86. package/dist/descriptors/index.d.ts.map +1 -1
  87. package/dist/descriptors/index.js +7 -3
  88. package/dist/descriptors/index.js.map +1 -1
  89. package/dist/descriptors/logSource.d.ts +28 -6
  90. package/dist/descriptors/logSource.d.ts.map +1 -1
  91. package/dist/descriptors/logSource.js +33 -7
  92. package/dist/descriptors/logSource.js.map +1 -1
  93. package/dist/enrollment/enrollment.d.ts.map +1 -1
  94. package/dist/enrollment/enrollment.js +3 -7
  95. package/dist/enrollment/enrollment.js.map +1 -1
  96. package/dist/genesis/accountGenesis.d.ts +11 -16
  97. package/dist/genesis/accountGenesis.d.ts.map +1 -1
  98. package/dist/genesis/accountGenesis.js +43 -47
  99. package/dist/genesis/accountGenesis.js.map +1 -1
  100. package/dist/genesis/kmsAuthentication.d.ts +50 -0
  101. package/dist/genesis/kmsAuthentication.d.ts.map +1 -0
  102. package/dist/genesis/kmsAuthentication.js +49 -0
  103. package/dist/genesis/kmsAuthentication.js.map +1 -0
  104. package/dist/keyring/kdf.d.ts +16 -20
  105. package/dist/keyring/kdf.d.ts.map +1 -1
  106. package/dist/keyring/kdf.js +2 -2
  107. package/dist/keyring/kdf.js.map +1 -1
  108. package/dist/keyring/unlockSpace.d.ts +8 -30
  109. package/dist/keyring/unlockSpace.d.ts.map +1 -1
  110. package/dist/keyring/unlockSpace.js +8 -31
  111. package/dist/keyring/unlockSpace.js.map +1 -1
  112. package/dist/keys/clientKeyRecord.d.ts +2 -1
  113. package/dist/keys/clientKeyRecord.d.ts.map +1 -1
  114. package/dist/keys/clientKeyRecord.js +28 -11
  115. package/dist/keys/clientKeyRecord.js.map +1 -1
  116. package/dist/keys/index.d.ts +6 -2
  117. package/dist/keys/index.d.ts.map +1 -1
  118. package/dist/keys/index.js +5 -1
  119. package/dist/keys/index.js.map +1 -1
  120. package/dist/keys/rosterLogStore.d.ts.map +1 -1
  121. package/dist/keys/rosterLogStore.js +14 -5
  122. package/dist/keys/rosterLogStore.js.map +1 -1
  123. package/dist/keys/spaceEpochs.d.ts +92 -3
  124. package/dist/keys/spaceEpochs.d.ts.map +1 -1
  125. package/dist/keys/spaceEpochs.js +110 -4
  126. package/dist/keys/spaceEpochs.js.map +1 -1
  127. package/dist/keys/userKeyRoster.d.ts +30 -3
  128. package/dist/keys/userKeyRoster.d.ts.map +1 -1
  129. package/dist/keys/userKeyRoster.js +90 -15
  130. package/dist/keys/userKeyRoster.js.map +1 -1
  131. package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
  132. package/dist/keys/userKeyRosterCascade.js +5 -1
  133. package/dist/keys/userKeyRosterCascade.js.map +1 -1
  134. package/dist/recovery/continuation.d.ts +250 -0
  135. package/dist/recovery/continuation.d.ts.map +1 -0
  136. package/dist/recovery/continuation.js +467 -0
  137. package/dist/recovery/continuation.js.map +1 -0
  138. package/dist/recovery/index.d.ts +12 -8
  139. package/dist/recovery/index.d.ts.map +1 -1
  140. package/dist/recovery/index.js +11 -7
  141. package/dist/recovery/index.js.map +1 -1
  142. package/dist/recovery/recoveryDelegation.d.ts +23 -126
  143. package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
  144. package/dist/recovery/recoveryDelegation.js +1 -266
  145. package/dist/recovery/recoveryDelegation.js.map +1 -1
  146. package/dist/recovery/recoveryWebvh.d.ts +52 -107
  147. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  148. package/dist/recovery/recoveryWebvh.js +54 -403
  149. package/dist/recovery/recoveryWebvh.js.map +1 -1
  150. package/dist/request/classify.d.ts +3 -14
  151. package/dist/request/classify.d.ts.map +1 -1
  152. package/dist/request/classify.js +19 -40
  153. package/dist/request/classify.js.map +1 -1
  154. package/dist/request/index.d.ts +1 -0
  155. package/dist/request/index.d.ts.map +1 -1
  156. package/dist/request/index.js +1 -0
  157. package/dist/request/index.js.map +1 -1
  158. package/dist/request/onboarding.d.ts.map +1 -1
  159. package/dist/request/onboarding.js +19 -27
  160. package/dist/request/onboarding.js.map +1 -1
  161. package/dist/request/parse.d.ts +5 -3
  162. package/dist/request/parse.d.ts.map +1 -1
  163. package/dist/request/parse.js +7 -6
  164. package/dist/request/parse.js.map +1 -1
  165. package/dist/request/processRequest.d.ts.map +1 -1
  166. package/dist/request/processRequest.js +2 -1
  167. package/dist/request/processRequest.js.map +1 -1
  168. package/dist/request/queryPredicates.d.ts +98 -0
  169. package/dist/request/queryPredicates.d.ts.map +1 -0
  170. package/dist/request/queryPredicates.js +107 -0
  171. package/dist/request/queryPredicates.js.map +1 -0
  172. package/dist/resourceLog/document.d.ts +39 -0
  173. package/dist/resourceLog/document.d.ts.map +1 -1
  174. package/dist/resourceLog/document.js +41 -0
  175. package/dist/resourceLog/document.js.map +1 -1
  176. package/dist/resourceLog/index.d.ts +2 -2
  177. package/dist/resourceLog/index.js +2 -2
  178. package/dist/resourceLog/ladderRungs.d.ts.map +1 -1
  179. package/dist/resourceLog/ladderRungs.js +3 -2
  180. package/dist/resourceLog/ladderRungs.js.map +1 -1
  181. package/dist/sync/contactsConflict.d.ts.map +1 -1
  182. package/dist/sync/contactsConflict.js +8 -2
  183. package/dist/sync/contactsConflict.js.map +1 -1
  184. package/dist/sync/engine.d.ts +38 -23
  185. package/dist/sync/engine.d.ts.map +1 -1
  186. package/dist/sync/engine.js +36 -5
  187. package/dist/sync/engine.js.map +1 -1
  188. package/dist/sync/index.d.ts +9 -12
  189. package/dist/sync/index.d.ts.map +1 -1
  190. package/dist/sync/index.js +8 -11
  191. package/dist/sync/index.js.map +1 -1
  192. package/dist/sync/push.d.ts.map +1 -1
  193. package/dist/sync/push.js +1 -2
  194. package/dist/sync/push.js.map +1 -1
  195. package/dist/sync/remint.d.ts +0 -31
  196. package/dist/sync/remint.d.ts.map +1 -1
  197. package/dist/sync/remint.js +32 -1
  198. package/dist/sync/remint.js.map +1 -1
  199. package/dist/sync/types.d.ts +4 -41
  200. package/dist/sync/types.d.ts.map +1 -1
  201. package/dist/sync/types.js +4 -47
  202. package/dist/sync/types.js.map +1 -1
  203. package/dist/unlock/index.d.ts +1 -1
  204. package/dist/unlock/index.d.ts.map +1 -1
  205. package/dist/unlock/index.js +1 -1
  206. package/dist/unlock/index.js.map +1 -1
  207. package/dist/unlock/retire.d.ts +16 -64
  208. package/dist/unlock/retire.d.ts.map +1 -1
  209. package/dist/unlock/retire.js +7 -86
  210. package/dist/unlock/retire.js.map +1 -1
  211. package/dist/unlock/standingWebvh.d.ts +27 -61
  212. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  213. package/dist/unlock/standingWebvh.js +40 -92
  214. package/dist/unlock/standingWebvh.js.map +1 -1
  215. package/dist/unlock/unlockRecord.d.ts.map +1 -1
  216. package/dist/unlock/unlockRecord.js +69 -44
  217. package/dist/unlock/unlockRecord.js.map +1 -1
  218. package/dist/webvh/accountEntry.d.ts +68 -19
  219. package/dist/webvh/accountEntry.d.ts.map +1 -1
  220. package/dist/webvh/accountEntry.js +117 -37
  221. package/dist/webvh/accountEntry.js.map +1 -1
  222. package/dist/webvh/delegatedLogStore.d.ts +24 -13
  223. package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
  224. package/dist/webvh/delegatedLogStore.js +40 -11
  225. package/dist/webvh/delegatedLogStore.js.map +1 -1
  226. package/dist/webvh/didWebvh.d.ts +91 -86
  227. package/dist/webvh/didWebvh.d.ts.map +1 -1
  228. package/dist/webvh/didWebvh.js +117 -142
  229. package/dist/webvh/didWebvh.js.map +1 -1
  230. package/dist/webvh/enrollClient.d.ts +2 -8
  231. package/dist/webvh/enrollClient.d.ts.map +1 -1
  232. package/dist/webvh/enrollClient.js +22 -31
  233. package/dist/webvh/enrollClient.js.map +1 -1
  234. package/dist/webvh/index.d.ts +12 -8
  235. package/dist/webvh/index.d.ts.map +1 -1
  236. package/dist/webvh/index.js +10 -7
  237. package/dist/webvh/index.js.map +1 -1
  238. package/dist/webvh/listClients.d.ts.map +1 -1
  239. package/dist/webvh/listClients.js +102 -65
  240. package/dist/webvh/listClients.js.map +1 -1
  241. package/dist/webvh/mergeMethods.d.ts +84 -0
  242. package/dist/webvh/mergeMethods.d.ts.map +1 -0
  243. package/dist/webvh/mergeMethods.js +46 -0
  244. package/dist/webvh/mergeMethods.js.map +1 -0
  245. package/dist/webvh/revokeClient.d.ts +15 -11
  246. package/dist/webvh/revokeClient.d.ts.map +1 -1
  247. package/dist/webvh/revokeClient.js +130 -57
  248. package/dist/webvh/revokeClient.js.map +1 -1
  249. package/dist/webvh/verifyLog.d.ts +45 -4
  250. package/dist/webvh/verifyLog.d.ts.map +1 -1
  251. package/dist/webvh/verifyLog.js +62 -21
  252. package/dist/webvh/verifyLog.js.map +1 -1
  253. package/dist/webvh/wasIdStore.d.ts +16 -3
  254. package/dist/webvh/wasIdStore.d.ts.map +1 -1
  255. package/dist/webvh/wasIdStore.js +18 -3
  256. package/dist/webvh/wasIdStore.js.map +1 -1
  257. package/package.json +11 -11
@@ -1,7 +1,6 @@
1
1
  import type { DIDDoc, DIDLog, VerificationMethod } from '@interop/did-method-webvh';
2
2
  import type { AccountLogSigner } from '../webvh/accountEntry.js';
3
3
  import type { WebvhIdStore } from '../webvh/didWebvh.js';
4
- import type { ResourceLogPinStore } from '@interop/vh-resource-log';
5
4
  import { type LadderStandingInventory } from '../clientAnnex/ladder.js';
6
5
  /**
7
6
  * The narrow store seam the self-enrolling and delegated-bridge ceremonies
@@ -9,7 +8,7 @@ import { type LadderStandingInventory } from '../clientAnnex/ladder.js';
9
8
  * A subset of {@link WebvhIdStore}, so an app's remote-store class satisfies
10
9
  * it too.
11
10
  */
12
- export type UnlockLogStore = Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource'>;
11
+ export type UnlockLogStore = Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource' | 'pin'>;
13
12
  /**
14
13
  * Which half of a credential's inventory one bind entry carries. `'all'` is
15
14
  * the merged entry: the `keyAgreement` member, the update-key commitment, and
@@ -19,25 +18,6 @@ export type UnlockLogStore = Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResou
19
18
  * ladder VM and commits the rung-0 hash.
20
19
  */
21
20
  export type UnlockInventoryPart = 'all' | 'key' | 'authority';
22
- /**
23
- * The ladder inventory the removal edit resolved from the log diverges from
24
- * what the caller was told one read earlier. A ceremony that names its
25
- * expected ladder VM ids (the retirement's stage 0, which hands the same list
26
- * to the dependent-record re-mint pass) gets this refusal BEFORE the edit is
27
- * published, so a concurrent ceremony -- or a host serving different log
28
- * versions to the two reads -- cannot make the strike diverge from what the
29
- * re-mint pass acted on. Nothing is written. Matched on `name` (the error
30
- * crosses app-injected seams that may resolve to another copy of this
31
- * package).
32
- */
33
- export declare class LadderInventoryDriftError extends Error {
34
- readonly expected: string[];
35
- readonly attributed: string[];
36
- constructor({ expected, attributed }: {
37
- expected: string[];
38
- attributed: string[];
39
- });
40
- }
41
21
  /**
42
22
  * A retirement whose ladder attribution could not claim the retired
43
23
  * credential's ladder VM, refused with nothing written. The shape is the
@@ -266,22 +246,24 @@ export declare function assertLadderVmClaimed({ log, doc, credentialVmId, claim,
266
246
  * @param [options.ladderSeed] {Uint8Array} the credential's ladder seed,
267
247
  * when the caller holds it
268
248
  * @param [options.expectedDid] {string} the account DID the log must
269
- * resolve to
270
- * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
271
- * pins
272
- * @param [options.logId] {string} the account log's pin slot; required
273
- * whenever a `pinStore` is supplied
274
- * @returns {Promise<LadderVmRemovalReport>} what the retirement would
275
- * strike and what it would leave unclaimed
249
+ * resolve to. The read runs under the store's own chain-head pin
250
+ * @param [options.missingMessage] {string} the absent-log refusal's
251
+ * message, for a caller whose own ceremony names what it was reading for
252
+ * @returns {Promise<object>} the removal report (what the retirement would
253
+ * strike and what it would leave unclaimed) widened with the attributed
254
+ * ladder VM ids and the document the gate ran over, which the in-ceremony
255
+ * caller acts on
276
256
  */
277
- export declare function preflightUnlockCredentialRetirement({ idStore, unlockKeys, ladderSeed, expectedDid, pinStore, logId }: {
278
- idStore: Pick<WebvhIdStore, 'getIdResourceRaw'>;
257
+ export declare function preflightUnlockCredentialRetirement({ idStore, unlockKeys, ladderSeed, expectedDid, missingMessage }: {
258
+ idStore: Pick<WebvhIdStore, 'getIdResourceRaw' | 'pin'>;
279
259
  unlockKeys: StandingUnlockKeys;
280
260
  ladderSeed?: Uint8Array;
281
261
  expectedDid?: string;
282
- pinStore?: ResourceLogPinStore;
283
- logId?: string;
284
- }): Promise<LadderVmRemovalReport>;
262
+ missingMessage?: string;
263
+ }): Promise<LadderVmRemovalReport & {
264
+ ladderVmIds: string[];
265
+ document: DIDDoc;
266
+ }>;
285
267
  /**
286
268
  * The credential's `keyAgreement` verification method: an ordinary unmarked
287
269
  * entry carrying either the key verbatim (a `Multikey` with
@@ -343,13 +325,10 @@ export declare function unlockKeyVerificationMethod({ did, keyAgreement }: {
343
325
  * @param [options.part] {string} `'all'` (the default), `'key'`, or
344
326
  * `'authority'` -- see above
345
327
  * @param [options.expectedDid] {string} the account DID the log must resolve
346
- * to, from the caller's stored account pointer
347
- * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
348
- * pins; a served log that is a rollback, a fork, or an identity switch
349
- * against the pinned head is refused (`ResourceLogContinuityError`)
350
- * @param [options.logId] {string} the account log's pin slot
351
- * (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
352
- * supplied
328
+ * to, from the caller's stored account pointer. The read runs under the
329
+ * store's own chain-head pin: a served log that is a rollback, a fork, or
330
+ * an identity switch against the pinned head is refused
331
+ * (`ResourceLogContinuityError`)
353
332
  * @param [options.verb] {string} what the caller is doing, for the
354
333
  * pending-rotation refusal message (e.g. `'issuing a recovery code'`)
355
334
  * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} the account
@@ -364,8 +343,6 @@ export declare function publishUnlockKey(options: {
364
343
  ladderSeed: Uint8Array | null;
365
344
  part?: UnlockInventoryPart;
366
345
  expectedDid?: string;
367
- pinStore?: ResourceLogPinStore;
368
- logId?: string;
369
346
  verb?: string;
370
347
  }): Promise<{
371
348
  did: string;
@@ -423,6 +400,14 @@ export declare function publishUnlockKey(options: {
423
400
  * {@link LadderAttributionError} rather than acting on a ladder the seed and
424
401
  * the recorded anchor disagree about.
425
402
  *
403
+ * Every credential removed here carries a ladder, so the retirement gate
404
+ * ({@link assertLadderVmClaimed}) runs unconditionally, before any write:
405
+ * when the claim struck nothing while ladder VMs stand unclaimed and the
406
+ * credential still stands, the edit refuses with
407
+ * {@link UnclaimedLadderVmRetirementError}, naming the recorded update key
408
+ * the walk was anchored on. The retirement ceremony and a recovery code's
409
+ * removal both rely on it.
410
+ *
426
411
  * @param options {object} see {@link publishUnlockKey}, plus:
427
412
  * @param [options.ladderSeed] {Uint8Array} the retired credential's ladder
428
413
  * seed, when in hand
@@ -435,21 +420,6 @@ export declare function publishUnlockKey(options: {
435
420
  * PUT is warned and the removal proceeds. Omitted, the ladder arm leaves
436
421
  * the projection to the next visit's `ensureDidWebProjection` and the
437
422
  * client arm publishes it after the entry, as before
438
- * @param [options.expectedLadderVmIds] {string[]} the ladder VM ids the
439
- * caller already resolved for this credential, from its own read of the
440
- * log. Supplied, this edit's own attribution must match them as a set --
441
- * after the seed cross-check above -- or the edit refuses with
442
- * {@link LadderInventoryDriftError} before writing anything. That is what
443
- * ties the retirement's stage-0 read (whose list the dependent-record
444
- * re-mint pass acted on) to this one, which is otherwise independent
445
- * @param [options.requireLadderVmClaim] {boolean} the credential carries a
446
- * ladder, so its VM must be claimed: the edit refuses with
447
- * {@link UnclaimedLadderVmRetirementError} before writing when the claim
448
- * struck nothing while ladder VMs stand unclaimed and the credential still
449
- * stands ({@link assertLadderVmClaimed}). The retirement ceremony sets it,
450
- * and so does a recovery code's removal, whose inventory carries the code's
451
- * own ladder VM. The refusal names the recorded update key the walk was
452
- * anchored on
453
423
  * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, ladderVm:
454
424
  * LadderVmRemovalReport }>} see {@link publishUnlockKey}, plus the ladder
455
425
  * VM report: what this entry struck, and what stands unclaimed after it
@@ -460,11 +430,7 @@ export declare function removeUnlockKey(options: {
460
430
  projectionStore?: Pick<WebvhIdStore, 'getIdResourceRaw' | 'putIdResource'>;
461
431
  unlockKeys: StandingUnlockKeys;
462
432
  ladderSeed?: Uint8Array;
463
- expectedLadderVmIds?: string[];
464
- requireLadderVmClaim?: boolean;
465
433
  expectedDid?: string;
466
- pinStore?: ResourceLogPinStore;
467
- logId?: string;
468
434
  verb?: string;
469
435
  }): Promise<{
470
436
  did: string;
@@ -1 +1 @@
1
- {"version":3,"file":"standingWebvh.d.ts","sourceRoot":"","sources":["../../src/unlock/standingWebvh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standingWebvh.d.ts","sourceRoot":"","sources":["../../src/unlock/standingWebvh.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AASlC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAMxD,OAAO,EAKL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAA;AAEjC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACZ,kBAAkB,GAAG,eAAe,GAAG,KAAK,CAC7C,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,KAAK,GAAG,WAAW,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;gBAExB,EACV,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EACnB,EAAE;QACD,oBAAoB,EAAE,MAAM,EAAE,CAAA;QAC9B,uBAAuB,EAAE,OAAO,CAAA;QAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC5B;CAmBF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,6BAA6B,GACvC;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,6BAA6B,CAAA;IAC3C,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,YAAY,EACb,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,6BAA6B,CAAA;CAC5C,GAAG,MAAM,CAMT;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,GAAG,EACH,GAAG,EACH,UAAU,EACV,UAAU,EACX,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,kBAAkB,CAAA;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAUnC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CAAC,EACpC,GAAG,EACH,GAAG,EACH,SAAS,EACT,UAAU,EACX,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,uBAAuB,CAAA;IAClC,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,GAAG,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA+B1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,GAAG,EACH,GAAG,EACH,cAAc,EACd,KAAK,EACL,kBAAkB,EACnB,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IACrE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,mCAAmC,CAAC,EACxD,OAAO,EACP,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAA2E,EAC5E,EAAE;IACD,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,KAAK,CAAC,CAAA;IACvD,UAAU,EAAE,kBAAkB,CAAA;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,OAAO,CACT,qBAAqB,GAAG;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CACpE,CAmCA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,GAAG,EACH,YAAY,EACb,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,6BAA6B,CAAA;CAC5C,GAAG,kBAAkB,CAgBrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,gBAAgB,CAAA;IACxB,UAAU,EAAE,kBAAkB,CAAA;IAC9B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAIrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,EAAE,gBAAgB,CAAA;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAA;IAC1E,UAAU,EAAE,kBAAkB,CAAA;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,qBAAqB,CAAA;CAChC,CAAC,CAID"}
@@ -39,31 +39,6 @@ import { ladderVmIds, relationIds } from '../resourceLog/document.js';
39
39
  // `clientAnnex/ladder.ts`), never touching the annex log machinery, and
40
40
  // derives the credential's ladder VM from its seed at the install.
41
41
  import { attributeLadderInventory, LadderAttributionError, ladderVmIdsIntroducedWithCredential, ladderVmKeyMultibase } from '../clientAnnex/ladder.js';
42
- /**
43
- * The ladder inventory the removal edit resolved from the log diverges from
44
- * what the caller was told one read earlier. A ceremony that names its
45
- * expected ladder VM ids (the retirement's stage 0, which hands the same list
46
- * to the dependent-record re-mint pass) gets this refusal BEFORE the edit is
47
- * published, so a concurrent ceremony -- or a host serving different log
48
- * versions to the two reads -- cannot make the strike diverge from what the
49
- * re-mint pass acted on. Nothing is written. Matched on `name` (the error
50
- * crosses app-injected seams that may resolve to another copy of this
51
- * package).
52
- */
53
- export class LadderInventoryDriftError extends Error {
54
- expected;
55
- attributed;
56
- constructor({ expected, attributed }) {
57
- super('did:webvh: the published log attributes a different ladder VM set to ' +
58
- 'this credential than the caller resolved a moment earlier ' +
59
- `(expected ${expected.join(', ') || '(none)'}; attributed ` +
60
- `${attributed.join(', ') || '(none)'}); the inventory edit was not ` +
61
- 'published. Re-run the retirement on a fresh read.');
62
- this.name = 'LadderInventoryDriftError';
63
- this.expected = expected;
64
- this.attributed = attributed;
65
- }
66
- }
67
42
  /**
68
43
  * A retirement whose ladder attribution could not claim the retired
69
44
  * credential's ladder VM, refused with nothing written. The shape is the
@@ -305,21 +280,19 @@ export async function assertLadderVmClaimed({ log, doc, credentialVmId, claim, a
305
280
  * @param [options.ladderSeed] {Uint8Array} the credential's ladder seed,
306
281
  * when the caller holds it
307
282
  * @param [options.expectedDid] {string} the account DID the log must
308
- * resolve to
309
- * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
310
- * pins
311
- * @param [options.logId] {string} the account log's pin slot; required
312
- * whenever a `pinStore` is supplied
313
- * @returns {Promise<LadderVmRemovalReport>} what the retirement would
314
- * strike and what it would leave unclaimed
283
+ * resolve to. The read runs under the store's own chain-head pin
284
+ * @param [options.missingMessage] {string} the absent-log refusal's
285
+ * message, for a caller whose own ceremony names what it was reading for
286
+ * @returns {Promise<object>} the removal report (what the retirement would
287
+ * strike and what it would leave unclaimed) widened with the attributed
288
+ * ladder VM ids and the document the gate ran over, which the in-ceremony
289
+ * caller acts on
315
290
  */
316
- export async function preflightUnlockCredentialRetirement({ idStore, unlockKeys, ladderSeed, expectedDid, pinStore, logId }) {
291
+ export async function preflightUnlockCredentialRetirement({ idStore, unlockKeys, ladderSeed, expectedDid, missingMessage = 'did:webvh: did.jsonl is missing; nothing to retire from.' }) {
317
292
  const published = await readPublishedLogOrThrow({
318
293
  idStore,
319
294
  ...(expectedDid !== undefined ? { expectedDid } : {}),
320
- ...(pinStore ? { pinStore } : {}),
321
- ...(logId !== undefined ? { logId } : {}),
322
- missingMessage: 'did:webvh: did.jsonl is missing; nothing to retire from.'
295
+ missingMessage
323
296
  });
324
297
  const { did, doc } = published;
325
298
  const inventory = await attributeUnlockLadderInventory({
@@ -344,7 +317,12 @@ export async function preflightUnlockCredentialRetirement({ idStore, unlockKeys,
344
317
  claim,
345
318
  anchorKeyMultibase: unlockKeys.updateKeyMultibase
346
319
  });
347
- return { struck: claim.struck, unclaimed: claim.unclaimed };
320
+ return {
321
+ struck: claim.struck,
322
+ unclaimed: claim.unclaimed,
323
+ ladderVmIds: inventory.ladderVmIds,
324
+ document: doc
325
+ };
348
326
  }
349
327
  /**
350
328
  * The credential's `keyAgreement` verification method: an ordinary unmarked
@@ -420,13 +398,10 @@ export function unlockKeyVerificationMethod({ did, keyAgreement }) {
420
398
  * @param [options.part] {string} `'all'` (the default), `'key'`, or
421
399
  * `'authority'` -- see above
422
400
  * @param [options.expectedDid] {string} the account DID the log must resolve
423
- * to, from the caller's stored account pointer
424
- * @param [options.pinStore] {ResourceLogPinStore} the caller's chain-head
425
- * pins; a served log that is a rollback, a fork, or an identity switch
426
- * against the pinned head is refused (`ResourceLogContinuityError`)
427
- * @param [options.logId] {string} the account log's pin slot
428
- * (`accountLogPinId({ spaceId })`); required whenever a `pinStore` is
429
- * supplied
401
+ * to, from the caller's stored account pointer. The read runs under the
402
+ * store's own chain-head pin: a served log that is a rollback, a fork, or
403
+ * an identity switch against the pinned head is refused
404
+ * (`ResourceLogContinuityError`)
430
405
  * @param [options.verb] {string} what the caller is doing, for the
431
406
  * pending-rotation refusal message (e.g. `'issuing a recovery code'`)
432
407
  * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>} the account
@@ -488,6 +463,14 @@ export async function publishUnlockKey(options) {
488
463
  * {@link LadderAttributionError} rather than acting on a ladder the seed and
489
464
  * the recorded anchor disagree about.
490
465
  *
466
+ * Every credential removed here carries a ladder, so the retirement gate
467
+ * ({@link assertLadderVmClaimed}) runs unconditionally, before any write:
468
+ * when the claim struck nothing while ladder VMs stand unclaimed and the
469
+ * credential still stands, the edit refuses with
470
+ * {@link UnclaimedLadderVmRetirementError}, naming the recorded update key
471
+ * the walk was anchored on. The retirement ceremony and a recovery code's
472
+ * removal both rely on it.
473
+ *
491
474
  * @param options {object} see {@link publishUnlockKey}, plus:
492
475
  * @param [options.ladderSeed] {Uint8Array} the retired credential's ladder
493
476
  * seed, when in hand
@@ -500,21 +483,6 @@ export async function publishUnlockKey(options) {
500
483
  * PUT is warned and the removal proceeds. Omitted, the ladder arm leaves
501
484
  * the projection to the next visit's `ensureDidWebProjection` and the
502
485
  * client arm publishes it after the entry, as before
503
- * @param [options.expectedLadderVmIds] {string[]} the ladder VM ids the
504
- * caller already resolved for this credential, from its own read of the
505
- * log. Supplied, this edit's own attribution must match them as a set --
506
- * after the seed cross-check above -- or the edit refuses with
507
- * {@link LadderInventoryDriftError} before writing anything. That is what
508
- * ties the retirement's stage-0 read (whose list the dependent-record
509
- * re-mint pass acted on) to this one, which is otherwise independent
510
- * @param [options.requireLadderVmClaim] {boolean} the credential carries a
511
- * ladder, so its VM must be claimed: the edit refuses with
512
- * {@link UnclaimedLadderVmRetirementError} before writing when the claim
513
- * struck nothing while ladder VMs stand unclaimed and the credential still
514
- * stands ({@link assertLadderVmClaimed}). The retirement ceremony sets it,
515
- * and so does a recovery code's removal, whose inventory carries the code's
516
- * own ladder VM. The refusal names the recorded update key the walk was
517
- * anchored on
518
486
  * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog, ladderVm:
519
487
  * LadderVmRemovalReport }>} see {@link publishUnlockKey}, plus the ladder
520
488
  * VM report: what this entry struck, and what stands unclaimed after it
@@ -531,14 +499,12 @@ export async function removeUnlockKey(options) {
531
499
  * @param options {object} see {@link publishUnlockKey}, plus `polarity`
532
500
  * @returns {Promise<{ did: string, doc: DIDDoc, log: DIDLog }>}
533
501
  */
534
- async function setUnlockKeyInventoryOnce({ idStore, signer, projectionStore, unlockKeys, ladderSeed, part = 'all', expectedLadderVmIds, requireLadderVmClaim, expectedDid, pinStore, logId, verb, polarity }) {
502
+ async function setUnlockKeyInventoryOnce({ idStore, signer, projectionStore, unlockKeys, ladderSeed, part = 'all', expectedDid, verb, polarity }) {
535
503
  let ladderVmReport = { struck: [], unclaimed: [] };
536
504
  const outcome = await signAccountEntry({
537
505
  idStore,
538
506
  signer,
539
507
  ...(expectedDid !== undefined ? { expectedDid } : {}),
540
- ...(pinStore ? { pinStore } : {}),
541
- ...(logId !== undefined ? { logId } : {}),
542
508
  missingMessage: 'did:webvh: did.jsonl is missing; nothing to enroll into.',
543
509
  verb: verb ?? 'changing an unlock credential',
544
510
  // The post-strike projection, published while the caller's store can
@@ -595,36 +561,18 @@ async function setUnlockKeyInventoryOnce({ idStore, signer, projectionStore, unl
595
561
  })
596
562
  : { struck: [], unclaimed: [] };
597
563
  if (polarity === 'remove') {
598
- // The drift check, before any write: this edit's own attribution
599
- // against the list the caller resolved a read earlier. A concurrent
600
- // ceremony, or a host serving two different log versions to the two
601
- // reads, would otherwise let the strike diverge from what the
602
- // caller's dependent-record pass already acted on.
603
- if (expectedLadderVmIds !== undefined) {
604
- const attributed = new Set(inventory.ladderVmIds);
605
- const expected = new Set(expectedLadderVmIds);
606
- const sameSet = attributed.size === expected.size &&
607
- [...expected].every(id => attributed.has(id));
608
- if (!sameSet) {
609
- throw new LadderInventoryDriftError({
610
- expected: [...expected],
611
- attributed: [...attributed]
612
- });
613
- }
614
- }
615
- // The retirement gate, before any write and after the drift check: a
616
- // ladder-carrying credential whose claim struck nothing while ladder
617
- // VMs stand unclaimed is refused rather than retired with its VM left
618
- // standing.
619
- if (requireLadderVmClaim) {
620
- await assertLadderVmClaimed({
621
- log: published.log,
622
- doc,
623
- credentialVmId: vmId,
624
- claim,
625
- anchorKeyMultibase: unlockKeys.updateKeyMultibase
626
- });
627
- }
564
+ // The retirement gate, before any write: a ladder-carrying credential
565
+ // whose claim struck nothing while ladder VMs stand unclaimed is
566
+ // refused rather than retired with its VM left standing. Every
567
+ // credential removed here carries a ladder, so the gate is
568
+ // unconditional on this polarity.
569
+ await assertLadderVmClaimed({
570
+ log: published.log,
571
+ doc,
572
+ credentialVmId: vmId,
573
+ claim,
574
+ anchorKeyMultibase: unlockKeys.updateKeyMultibase
575
+ });
628
576
  }
629
577
  const struckLadderVmIds = new Set(claim.struck);
630
578
  const ladderVmPresent = polarity === 'publish'
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"unlockRecord.d.ts","sourceRoot":"","sources":["../../src/unlock/unlockRecord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unlockRecord.d.ts","sourceRoot":"","sources":["../../src/unlock/unlockRecord.ts"],"names":[],"mappings":"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"}
@@ -255,6 +255,24 @@ async function openMember({ member, keyAgreementKey, keyResolver }) {
255
255
  });
256
256
  return cipher.decrypt({ envelope: member.wrapped });
257
257
  }
258
+ /**
259
+ * One member's plaintext out of a settled concurrent open: the value, or the
260
+ * open's own failure rethrown. The members open together, so their failures
261
+ * are claimed in the order the checks below them run rather than in the order
262
+ * the requests happened to fail.
263
+ *
264
+ * @param settled {PromiseSettledResult<unknown>}
265
+ * @returns {unknown} the member plaintext
266
+ */
267
+ function openedMember(settled) {
268
+ if (settled === undefined) {
269
+ return undefined;
270
+ }
271
+ if (settled.status === 'rejected') {
272
+ throw settled.reason;
273
+ }
274
+ return settled.value;
275
+ }
258
276
  /**
259
277
  * Wraps an unlock record at bind time: the shell (controller, optional
260
278
  * email, pointer, timestamp) sealed to the credential's unlock KAK, the
@@ -295,32 +313,36 @@ export async function wrapUnlockRecord({ controller, email, pointer, delegation,
295
313
  pointer,
296
314
  ...(ladderSeed ? { ladderSeed } : {})
297
315
  });
298
- const shell = await sealMember({
299
- data: {
300
- controller,
301
- ...(email ? { email } : {}),
302
- pointer: {
303
- ...(pointer.did ? { did: pointer.did } : {}),
304
- spaceId: pointer.spaceId,
305
- host: pointer.host
316
+ // The four members seal independently, so they seal concurrently: nothing
317
+ // below reads one member's result to build another's.
318
+ const [shell, bridge, sealedDelegatedClients, ladder] = await Promise.all([
319
+ sealMember({
320
+ data: {
321
+ controller,
322
+ ...(email ? { email } : {}),
323
+ pointer: {
324
+ ...(pointer.did ? { did: pointer.did } : {}),
325
+ spaceId: pointer.spaceId,
326
+ host: pointer.host
327
+ },
328
+ createdAt: recordCreatedAtStamp({ createdAt })
306
329
  },
307
- createdAt: recordCreatedAtStamp({ createdAt })
308
- },
309
- keyAgreementKey
310
- });
311
- const bridge = await sealMember({ data: { delegation }, keyAgreementKey });
312
- const sealedDelegatedClients = delegatedClients
313
- ? await sealMember({
314
- data: { delegation: delegatedClients },
315
- keyAgreementKey
316
- })
317
- : undefined;
318
- const ladder = ladderSeed
319
- ? await sealMember({
320
- data: { ladderSeed: base64urlnopad.encode(ladderSeed) },
321
330
  keyAgreementKey
322
- })
323
- : undefined;
331
+ }),
332
+ sealMember({ data: { delegation }, keyAgreementKey }),
333
+ delegatedClients
334
+ ? sealMember({
335
+ data: { delegation: delegatedClients },
336
+ keyAgreementKey
337
+ })
338
+ : undefined,
339
+ ladderSeed
340
+ ? sealMember({
341
+ data: { ladderSeed: base64urlnopad.encode(ladderSeed) },
342
+ keyAgreementKey
343
+ })
344
+ : undefined
345
+ ]);
324
346
  return (await signRecordFrame({
325
347
  version: KEYRING_RECORD_VERSION,
326
348
  encryption: shell.encryption,
@@ -408,11 +430,26 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
408
430
  });
409
431
  proofState = 'verified';
410
432
  }
411
- const shell = (await openMember({
412
- member: { encryption, wrapped },
413
- keyAgreementKey,
414
- keyResolver
415
- }));
433
+ // The members open independently, so they open concurrently -- started
434
+ // only here, after the proof state above is settled, so nothing is
435
+ // decrypted before the record's authenticity is checked. The checks below
436
+ // stay in their original order over the joined results, so which malformed
437
+ // member's refusal a caller sees is unchanged.
438
+ const [shellOpen, bridgeOpen, delegatedClientsOpen, ladderOpen] = await Promise.allSettled([
439
+ openMember({
440
+ member: { encryption, wrapped },
441
+ keyAgreementKey,
442
+ keyResolver
443
+ }),
444
+ openMember({ member: bridge, keyAgreementKey, keyResolver }),
445
+ delegatedClients
446
+ ? openMember({ member: delegatedClients, keyAgreementKey, keyResolver })
447
+ : undefined,
448
+ ladder
449
+ ? openMember({ member: ladder, keyAgreementKey, keyResolver })
450
+ : undefined
451
+ ]);
452
+ const shell = openedMember(shellOpen);
416
453
  if (typeof shell.controller !== 'string' || !shell.controller) {
417
454
  throw new Error('Unlock record is missing a controller.');
418
455
  }
@@ -424,22 +461,14 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
424
461
  value: shell.createdAt,
425
462
  label: 'Unlock'
426
463
  });
427
- const bridgePlaintext = (await openMember({
428
- member: bridge,
429
- keyAgreementKey,
430
- keyResolver
431
- }));
464
+ const bridgePlaintext = openedMember(bridgeOpen);
432
465
  if (bridgePlaintext.delegation === null ||
433
466
  typeof bridgePlaintext.delegation !== 'object') {
434
467
  throw new Error('Unlock record is missing its did.jsonl delegation.');
435
468
  }
436
469
  let delegatedClientsDelegation;
437
470
  if (delegatedClients) {
438
- const plaintext = (await openMember({
439
- member: delegatedClients,
440
- keyAgreementKey,
441
- keyResolver
442
- }));
471
+ const plaintext = openedMember(delegatedClientsOpen);
443
472
  if (plaintext.delegation === null ||
444
473
  typeof plaintext.delegation !== 'object') {
445
474
  throw new Error('Unlock record has a malformed delegatedClients member.');
@@ -448,11 +477,7 @@ export async function unwrapUnlockRecord({ record, keyAgreementKey, keyResolver,
448
477
  }
449
478
  let ladderSeed;
450
479
  if (ladder) {
451
- const ladderPlaintext = (await openMember({
452
- member: ladder,
453
- keyAgreementKey,
454
- keyResolver
455
- }));
480
+ const ladderPlaintext = openedMember(ladderOpen);
456
481
  if (typeof ladderPlaintext.ladderSeed !== 'string') {
457
482
  throw new Error('Unlock record has a malformed ladder member.');
458
483
  }