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