@interop/wallet-core 0.66.0 → 0.67.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 (241) hide show
  1. package/README.md +12 -8
  2. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +5 -4
  3. package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
  4. package/dist/clientAnnex/credentialAnchoredGenesis.js +32 -50
  5. package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
  6. package/dist/clientAnnex/establish.d.ts +46 -18
  7. package/dist/clientAnnex/establish.d.ts.map +1 -1
  8. package/dist/clientAnnex/establish.js +112 -65
  9. package/dist/clientAnnex/establish.js.map +1 -1
  10. package/dist/clientAnnex/forget.d.ts.map +1 -1
  11. package/dist/clientAnnex/forget.js +5 -6
  12. package/dist/clientAnnex/forget.js.map +1 -1
  13. package/dist/clientAnnex/forgetLast.d.ts +26 -113
  14. package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
  15. package/dist/clientAnnex/forgetLast.js +26 -150
  16. package/dist/clientAnnex/forgetLast.js.map +1 -1
  17. package/dist/clientAnnex/heal.d.ts +79 -13
  18. package/dist/clientAnnex/heal.d.ts.map +1 -1
  19. package/dist/clientAnnex/heal.js +67 -122
  20. package/dist/clientAnnex/heal.js.map +1 -1
  21. package/dist/clientAnnex/index.d.ts +6 -6
  22. package/dist/clientAnnex/index.d.ts.map +1 -1
  23. package/dist/clientAnnex/index.js +4 -4
  24. package/dist/clientAnnex/index.js.map +1 -1
  25. package/dist/clientAnnex/ladder.d.ts +51 -4
  26. package/dist/clientAnnex/ladder.d.ts.map +1 -1
  27. package/dist/clientAnnex/ladder.js +283 -47
  28. package/dist/clientAnnex/ladder.js.map +1 -1
  29. package/dist/clientAnnex/ladderAnchored.d.ts +37 -3
  30. package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
  31. package/dist/clientAnnex/ladderAnchored.js +69 -34
  32. package/dist/clientAnnex/ladderAnchored.js.map +1 -1
  33. package/dist/clientAnnex/log.d.ts +68 -57
  34. package/dist/clientAnnex/log.d.ts.map +1 -1
  35. package/dist/clientAnnex/log.js +96 -126
  36. package/dist/clientAnnex/log.js.map +1 -1
  37. package/dist/clientAnnex/mend.js +44 -20
  38. package/dist/clientAnnex/mend.js.map +1 -1
  39. package/dist/clientAnnex/recoveryLadderAnchored.d.ts +20 -1
  40. package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
  41. package/dist/clientAnnex/recoveryLadderAnchored.js +77 -294
  42. package/dist/clientAnnex/recoveryLadderAnchored.js.map +1 -1
  43. package/dist/clientAnnex/rosterDeliveredEpochs.d.ts +13 -5
  44. package/dist/clientAnnex/rosterDeliveredEpochs.d.ts.map +1 -1
  45. package/dist/clientAnnex/rosterDeliveredEpochs.js +18 -9
  46. package/dist/clientAnnex/rosterDeliveredEpochs.js.map +1 -1
  47. package/dist/clientAnnex/selfEnroll.js +1 -1
  48. package/dist/clientAnnex/selfEnroll.js.map +1 -1
  49. package/dist/clientAnnex/zcap.d.ts +19 -0
  50. package/dist/clientAnnex/zcap.d.ts.map +1 -1
  51. package/dist/clientAnnex/zcap.js +80 -12
  52. package/dist/clientAnnex/zcap.js.map +1 -1
  53. package/dist/clients/index.d.ts +3 -2
  54. package/dist/clients/index.d.ts.map +1 -1
  55. package/dist/clients/index.js +3 -2
  56. package/dist/clients/index.js.map +1 -1
  57. package/dist/clients/listing.d.ts.map +1 -1
  58. package/dist/clients/listing.js +33 -15
  59. package/dist/clients/listing.js.map +1 -1
  60. package/dist/clients/policy.d.ts +18 -0
  61. package/dist/clients/policy.d.ts.map +1 -1
  62. package/dist/clients/policy.js +22 -8
  63. package/dist/clients/policy.js.map +1 -1
  64. package/dist/clients/revocation.d.ts +18 -30
  65. package/dist/clients/revocation.d.ts.map +1 -1
  66. package/dist/clients/revocation.js +12 -27
  67. package/dist/clients/revocation.js.map +1 -1
  68. package/dist/clients/rosterPolicy.d.ts +6 -1
  69. package/dist/clients/rosterPolicy.d.ts.map +1 -1
  70. package/dist/clients/rosterPolicy.js +27 -30
  71. package/dist/clients/rosterPolicy.js.map +1 -1
  72. package/dist/descriptors/errors.d.ts +6 -5
  73. package/dist/descriptors/errors.d.ts.map +1 -1
  74. package/dist/descriptors/errors.js +6 -5
  75. package/dist/descriptors/errors.js.map +1 -1
  76. package/dist/descriptors/index.d.ts +7 -3
  77. package/dist/descriptors/index.d.ts.map +1 -1
  78. package/dist/descriptors/index.js +7 -3
  79. package/dist/descriptors/index.js.map +1 -1
  80. package/dist/descriptors/logSource.d.ts +28 -6
  81. package/dist/descriptors/logSource.d.ts.map +1 -1
  82. package/dist/descriptors/logSource.js +33 -7
  83. package/dist/descriptors/logSource.js.map +1 -1
  84. package/dist/enrollment/enrollment.d.ts.map +1 -1
  85. package/dist/enrollment/enrollment.js +3 -7
  86. package/dist/enrollment/enrollment.js.map +1 -1
  87. package/dist/genesis/accountGenesis.d.ts +8 -10
  88. package/dist/genesis/accountGenesis.d.ts.map +1 -1
  89. package/dist/genesis/accountGenesis.js +39 -41
  90. package/dist/genesis/accountGenesis.js.map +1 -1
  91. package/dist/genesis/kmsAuthentication.d.ts +50 -0
  92. package/dist/genesis/kmsAuthentication.d.ts.map +1 -0
  93. package/dist/genesis/kmsAuthentication.js +49 -0
  94. package/dist/genesis/kmsAuthentication.js.map +1 -0
  95. package/dist/keyring/kdf.d.ts +16 -20
  96. package/dist/keyring/kdf.d.ts.map +1 -1
  97. package/dist/keyring/kdf.js +2 -2
  98. package/dist/keyring/kdf.js.map +1 -1
  99. package/dist/keyring/unlockSpace.d.ts +8 -30
  100. package/dist/keyring/unlockSpace.d.ts.map +1 -1
  101. package/dist/keyring/unlockSpace.js +8 -31
  102. package/dist/keyring/unlockSpace.js.map +1 -1
  103. package/dist/keys/clientKeyRecord.d.ts +2 -1
  104. package/dist/keys/clientKeyRecord.d.ts.map +1 -1
  105. package/dist/keys/clientKeyRecord.js +28 -11
  106. package/dist/keys/clientKeyRecord.js.map +1 -1
  107. package/dist/keys/index.d.ts +6 -2
  108. package/dist/keys/index.d.ts.map +1 -1
  109. package/dist/keys/index.js +5 -1
  110. package/dist/keys/index.js.map +1 -1
  111. package/dist/keys/rosterLogStore.d.ts.map +1 -1
  112. package/dist/keys/rosterLogStore.js +14 -5
  113. package/dist/keys/rosterLogStore.js.map +1 -1
  114. package/dist/keys/spaceEpochs.d.ts +92 -3
  115. package/dist/keys/spaceEpochs.d.ts.map +1 -1
  116. package/dist/keys/spaceEpochs.js +110 -4
  117. package/dist/keys/spaceEpochs.js.map +1 -1
  118. package/dist/keys/userKeyRoster.d.ts +30 -3
  119. package/dist/keys/userKeyRoster.d.ts.map +1 -1
  120. package/dist/keys/userKeyRoster.js +90 -15
  121. package/dist/keys/userKeyRoster.js.map +1 -1
  122. package/dist/keys/userKeyRosterCascade.d.ts.map +1 -1
  123. package/dist/keys/userKeyRosterCascade.js +5 -1
  124. package/dist/keys/userKeyRosterCascade.js.map +1 -1
  125. package/dist/recovery/continuation.d.ts +255 -0
  126. package/dist/recovery/continuation.d.ts.map +1 -0
  127. package/dist/recovery/continuation.js +471 -0
  128. package/dist/recovery/continuation.js.map +1 -0
  129. package/dist/recovery/index.d.ts +12 -8
  130. package/dist/recovery/index.d.ts.map +1 -1
  131. package/dist/recovery/index.js +11 -7
  132. package/dist/recovery/index.js.map +1 -1
  133. package/dist/recovery/recoveryDelegation.d.ts +23 -126
  134. package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
  135. package/dist/recovery/recoveryDelegation.js +1 -266
  136. package/dist/recovery/recoveryDelegation.js.map +1 -1
  137. package/dist/recovery/recoveryWebvh.d.ts +42 -83
  138. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  139. package/dist/recovery/recoveryWebvh.js +44 -380
  140. package/dist/recovery/recoveryWebvh.js.map +1 -1
  141. package/dist/request/classify.d.ts +3 -14
  142. package/dist/request/classify.d.ts.map +1 -1
  143. package/dist/request/classify.js +19 -40
  144. package/dist/request/classify.js.map +1 -1
  145. package/dist/request/index.d.ts +1 -0
  146. package/dist/request/index.d.ts.map +1 -1
  147. package/dist/request/index.js +1 -0
  148. package/dist/request/index.js.map +1 -1
  149. package/dist/request/onboarding.d.ts.map +1 -1
  150. package/dist/request/onboarding.js +19 -27
  151. package/dist/request/onboarding.js.map +1 -1
  152. package/dist/request/parse.d.ts +5 -3
  153. package/dist/request/parse.d.ts.map +1 -1
  154. package/dist/request/parse.js +7 -6
  155. package/dist/request/parse.js.map +1 -1
  156. package/dist/request/processRequest.d.ts.map +1 -1
  157. package/dist/request/processRequest.js +2 -1
  158. package/dist/request/processRequest.js.map +1 -1
  159. package/dist/request/queryPredicates.d.ts +98 -0
  160. package/dist/request/queryPredicates.d.ts.map +1 -0
  161. package/dist/request/queryPredicates.js +107 -0
  162. package/dist/request/queryPredicates.js.map +1 -0
  163. package/dist/resourceLog/document.d.ts +39 -0
  164. package/dist/resourceLog/document.d.ts.map +1 -1
  165. package/dist/resourceLog/document.js +41 -0
  166. package/dist/resourceLog/document.js.map +1 -1
  167. package/dist/resourceLog/ladderRungs.d.ts.map +1 -1
  168. package/dist/resourceLog/ladderRungs.js +3 -2
  169. package/dist/resourceLog/ladderRungs.js.map +1 -1
  170. package/dist/sync/contactsConflict.d.ts.map +1 -1
  171. package/dist/sync/contactsConflict.js +8 -2
  172. package/dist/sync/contactsConflict.js.map +1 -1
  173. package/dist/sync/engine.d.ts +38 -23
  174. package/dist/sync/engine.d.ts.map +1 -1
  175. package/dist/sync/engine.js +36 -5
  176. package/dist/sync/engine.js.map +1 -1
  177. package/dist/sync/index.d.ts +9 -12
  178. package/dist/sync/index.d.ts.map +1 -1
  179. package/dist/sync/index.js +8 -11
  180. package/dist/sync/index.js.map +1 -1
  181. package/dist/sync/push.d.ts.map +1 -1
  182. package/dist/sync/push.js +1 -2
  183. package/dist/sync/push.js.map +1 -1
  184. package/dist/sync/remint.d.ts +0 -31
  185. package/dist/sync/remint.d.ts.map +1 -1
  186. package/dist/sync/remint.js +32 -1
  187. package/dist/sync/remint.js.map +1 -1
  188. package/dist/sync/types.d.ts +4 -41
  189. package/dist/sync/types.d.ts.map +1 -1
  190. package/dist/sync/types.js +4 -47
  191. package/dist/sync/types.js.map +1 -1
  192. package/dist/unlock/index.d.ts +1 -1
  193. package/dist/unlock/index.d.ts.map +1 -1
  194. package/dist/unlock/index.js +1 -1
  195. package/dist/unlock/index.js.map +1 -1
  196. package/dist/unlock/retire.d.ts +16 -56
  197. package/dist/unlock/retire.d.ts.map +1 -1
  198. package/dist/unlock/retire.js +7 -76
  199. package/dist/unlock/retire.js.map +1 -1
  200. package/dist/unlock/standingWebvh.d.ts +20 -40
  201. package/dist/unlock/standingWebvh.d.ts.map +1 -1
  202. package/dist/unlock/standingWebvh.js +35 -76
  203. package/dist/unlock/standingWebvh.js.map +1 -1
  204. package/dist/unlock/unlockRecord.d.ts.map +1 -1
  205. package/dist/unlock/unlockRecord.js +69 -44
  206. package/dist/unlock/unlockRecord.js.map +1 -1
  207. package/dist/webvh/accountEntry.d.ts +63 -7
  208. package/dist/webvh/accountEntry.d.ts.map +1 -1
  209. package/dist/webvh/accountEntry.js +110 -19
  210. package/dist/webvh/accountEntry.js.map +1 -1
  211. package/dist/webvh/delegatedLogStore.d.ts +18 -12
  212. package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
  213. package/dist/webvh/delegatedLogStore.js +32 -11
  214. package/dist/webvh/delegatedLogStore.js.map +1 -1
  215. package/dist/webvh/didWebvh.d.ts +39 -23
  216. package/dist/webvh/didWebvh.d.ts.map +1 -1
  217. package/dist/webvh/didWebvh.js +63 -45
  218. package/dist/webvh/didWebvh.js.map +1 -1
  219. package/dist/webvh/enrollClient.d.ts.map +1 -1
  220. package/dist/webvh/enrollClient.js +19 -23
  221. package/dist/webvh/enrollClient.js.map +1 -1
  222. package/dist/webvh/index.d.ts +11 -7
  223. package/dist/webvh/index.d.ts.map +1 -1
  224. package/dist/webvh/index.js +9 -6
  225. package/dist/webvh/index.js.map +1 -1
  226. package/dist/webvh/listClients.d.ts.map +1 -1
  227. package/dist/webvh/listClients.js +102 -65
  228. package/dist/webvh/listClients.js.map +1 -1
  229. package/dist/webvh/mergeMethods.d.ts +84 -0
  230. package/dist/webvh/mergeMethods.d.ts.map +1 -0
  231. package/dist/webvh/mergeMethods.js +46 -0
  232. package/dist/webvh/mergeMethods.js.map +1 -0
  233. package/dist/webvh/revokeClient.d.ts +12 -2
  234. package/dist/webvh/revokeClient.d.ts.map +1 -1
  235. package/dist/webvh/revokeClient.js +126 -48
  236. package/dist/webvh/revokeClient.js.map +1 -1
  237. package/dist/webvh/verifyLog.d.ts +21 -0
  238. package/dist/webvh/verifyLog.d.ts.map +1 -1
  239. package/dist/webvh/verifyLog.js +36 -14
  240. package/dist/webvh/verifyLog.js.map +1 -1
  241. package/package.json +11 -11
@@ -5,9 +5,9 @@ import { didKeyZcapClient } from '../webvh/zcap.js';
5
5
  import { delegateLogWrite, recordedDelegationFields } from '../recovery/recoveryDelegation.js';
6
6
  import { mintUserKey } from '../keys/index.js';
7
7
  import { attributeLadderRung } from './ladder.js';
8
- import { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
8
+ import { ladderVmAgent, ladderVmSigners } from './zcap.js';
9
9
  import { clientAnnexDidParts, mintDelegatedClientsDelegation, mintPointedClientAnnexGeneration, setDelegatedClientsPointer } from './log.js';
10
- import { ladderSignedGenerationDelegationMinter, pointerEntryUpdateKeys, resolveClientAnnexSpaceId } from './heal.js';
10
+ import { ladderSignedGenerationDelegationMinter, movePointerAsLadder, rawRequestStatus, resolveClientAnnexSpaceId } from './heal.js';
11
11
  import { ensureCredentialAnchoredAccountGenesis } from './credentialAnchoredGenesis.js';
12
12
  import { CONTROLLER_PROMOTION_STAGE } from './stages.js';
13
13
  import { ensureRosterDeliveredEpochs } from './rosterDeliveredEpochs.js';
@@ -23,9 +23,15 @@ import { stageNotifier } from '../log.js';
23
23
  * delegation while the Space still answers to its creation controller, flip
24
24
  * the Space's controller to the account DID, then append the pointer entry
25
25
  * -- strictly last in the block, so pointer-present implies every prior
26
- * sub-step landed. The pointer entry signs by ladder attribution of the
27
- * currently revealed rung, and every log touch rides the caller's chain-head
28
- * pin store.
26
+ * sub-step landed. The pointer entry signs on the arm the caller states: an
27
+ * enrolled client's own update keys, or the ladder (attributed, revealed,
28
+ * and signed per attempt); every log touch rides the caller's chain-head pin
29
+ * store. On the ladder arm the rung is attributed BEFORE anything is minted,
30
+ * the pre-flight every pointer-moving arm runs: a ladder the log carries no
31
+ * rung of, and an ambiguous attribution, throw the ladder's own
32
+ * `LadderAttributionError` with no Space or generation minted, so a torn
33
+ * establishment never orphans an annex Space on an account that no longer
34
+ * anchors this ladder.
29
35
  *
30
36
  * Two invocation authorities, heal's pattern. A caller holding a standing
31
37
  * invocation authority (`invocation`: an enrolled client's storage handle
@@ -61,9 +67,18 @@ import { stageNotifier } from '../log.js';
61
67
  * `({ clientAnnexDid }) => Promise<IZcap>` -- the generation-delegation
62
68
  * minter (ladder-VM-signed on a ladder-anchored account)
63
69
  * @param options.idStore {WebvhIdStore} the ACCOUNT log's store
64
- * @param [options.updateKeys] {ClientWebvhUpdateKeys} the pointer entry's
65
- * signing pair; absent, it is recovered by ladder attribution of the
66
- * supplied log's current parameters
70
+ * @param options.signer {object} who signs the pointer entry:
71
+ * `{ kind: 'client', updateKeys }`, an enrolled client's own update keys
72
+ * (freewallet's remembered-login fold), or `{ kind: 'ladder' }`, under
73
+ * which the entry is moved as the ladder with the supplied `ladderSeed`
74
+ * (`movePointerAsLadder`): every attempt of its conflict retry attributes
75
+ * the ladder's current rung from the head it reads, reveals it when only
76
+ * its hash stands committed, and signs with it -- so a racing ceremony that
77
+ * spends the rung is climbed past. A pair fixed by the caller could not be,
78
+ * since the client arm's not-authorized refusal is not a conflict the retry
79
+ * re-runs on. Stated explicitly rather than read off `updateKeys`'
80
+ * absence, since the ladder arm reveals a rung into the world-readable
81
+ * `updateKeys` and an omission must not select it silently
67
82
  * @param [options.delegatedClients] {IZcap} the record's sibling
68
83
  * delegation, for the Space resolution's settled order
69
84
  * @param [options.invocation] {object} a standing invocation authority for
@@ -83,12 +98,29 @@ import { stageNotifier } from '../log.js';
83
98
  * compare-and-swap falls through to a fresh pinned read
84
99
  * @param [options.now] {number} epoch milliseconds, for tests
85
100
  * @returns {Promise<object>} the pointed (or freshly minted) annex DID,
86
- * the generation delegation when one was installed here, what ran, and --
87
- * on `accountLog` -- the account head this block leaves standing: the
101
+ * the generation delegation when one was installed here, what ran, on
102
+ * `accountLog` the account head this block leaves standing (the
88
103
  * post-pointer-entry one when it wrote, the supplied `published` verbatim
89
- * when the document already pointed at a generation
104
+ * when the document already pointed at a generation), and on the ladder
105
+ * arm `rung`: the rung the pointer entry was signed with when this call
106
+ * wrote one, else the ladder's currently attributed rung
90
107
  */
91
- export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl, accountSpaceId, ladderSeed, was, mintController, mintGenerationDelegation, idStore, updateKeys, delegatedClients, invocation, logOnly, pinStore, published, now }) {
108
+ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl, accountSpaceId, ladderSeed, was, mintController, mintGenerationDelegation, idStore, signer, delegatedClients, invocation, logOnly, pinStore, published, now }) {
109
+ // The ladder arm's pre-flight, before the pointer test and before anything
110
+ // is minted: the ladder's current rung, attributed from the account log's
111
+ // current parameters (rung 0, revealed, on a fresh establishment; a
112
+ // committed-only rung after a sibling self-enrolled). An account whose
113
+ // document no longer anchors this ladder throws here, with no Space or
114
+ // generation minted and, in the establishment, while the record is still
115
+ // in its pre-re-bind shape. A pre-flight only: the pointer entry
116
+ // attributes again per attempt inside its own retry and reveals a
117
+ // committed rung itself.
118
+ const attributed = signer.kind === 'ladder'
119
+ ? await attributeLadderRung({
120
+ ladderSeed,
121
+ published: currentLogParameters(account)
122
+ })
123
+ : undefined;
92
124
  const { pointer, annexSpaceId } = resolveClientAnnexSpaceId({
93
125
  doc: account.doc,
94
126
  ...(delegatedClients !== undefined ? { delegatedClients } : {})
@@ -99,23 +131,41 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
99
131
  generationMinted: false,
100
132
  spaceMinted: false,
101
133
  // Nothing was written, so the caller's head is still the standing one.
102
- ...(published !== undefined ? { accountLog: published } : {})
134
+ ...(published !== undefined ? { accountLog: published } : {}),
135
+ ...(attributed !== undefined ? { rung: attributed.rung } : {})
103
136
  };
104
137
  }
105
- // The pre-flight attribution precedes the mint (never mint a generation
106
- // the pointer entry could not then name), unless the caller supplied the
107
- // signing pair itself.
108
- const entryKeys = updateKeys ??
109
- (await pointerEntryUpdateKeys({ ladderSeed, log: account.log }));
110
- const pointGeneration = async (clientAnnexDid) => setDelegatedClientsPointer({
111
- idStore,
112
- signer: { kind: 'client', updateKeys: entryKeys },
113
- clientAnnexDid,
114
- expectedDid: account.did,
115
- ...(logOnly !== undefined ? { logOnly } : {}),
116
- ...(published !== undefined ? { published } : {}),
117
- ...(pinStore !== undefined
118
- ? { pinStore, logId: accountLogPinId({ spaceId: accountSpaceId }) }
138
+ const pin = pinStore !== undefined
139
+ ? { pinStore, logId: accountLogPinId({ spaceId: accountSpaceId }) }
140
+ : {};
141
+ const pointGeneration = async (clientAnnexDid) => signer.kind === 'client'
142
+ ? setDelegatedClientsPointer({
143
+ idStore,
144
+ signer,
145
+ clientAnnexDid,
146
+ expectedDid: account.did,
147
+ ...(logOnly !== undefined ? { logOnly } : {}),
148
+ ...(published !== undefined ? { published } : {}),
149
+ ...pin
150
+ })
151
+ : movePointerAsLadder({
152
+ idStore,
153
+ ladderSeed,
154
+ clientAnnexDid,
155
+ accountDid: account.did,
156
+ ...(logOnly !== undefined ? { logOnly } : {}),
157
+ ...(published !== undefined ? { published } : {}),
158
+ ...pin
159
+ });
160
+ // The one outcome shape both minting arms hand back.
161
+ const pointedOutcome = (generation, spaceMinted) => ({
162
+ clientAnnexDid: generation.clientAnnexDid,
163
+ generationDelegation: generation.generationDelegation,
164
+ generationMinted: true,
165
+ spaceMinted,
166
+ accountLog: generation.pointed.published,
167
+ ...(generation.pointed.rung !== undefined
168
+ ? { rung: generation.pointed.rung }
119
169
  : {})
120
170
  });
121
171
  // The standing-authority arm: the sibling-named Space is already
@@ -134,13 +184,7 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
134
184
  ...(pinStore !== undefined ? { pinStore } : {}),
135
185
  ...(now !== undefined ? { now } : {})
136
186
  });
137
- return {
138
- clientAnnexDid: generation.clientAnnexDid,
139
- generationDelegation: generation.generationDelegation,
140
- generationMinted: true,
141
- spaceMinted: false,
142
- accountLog: generation.pointed.published
143
- };
187
+ return pointedOutcome(generation, false);
144
188
  }
145
189
  // The bootstrap arm: mint, embed the delegation while the Space still
146
190
  // answers to its creation controller, flip, then the pointer entry.
@@ -187,13 +231,7 @@ export async function ensurePointedClientAnnexGeneration({ account, wasServerUrl
187
231
  }
188
232
  }
189
233
  });
190
- return {
191
- clientAnnexDid: generation.clientAnnexDid,
192
- generationDelegation: generation.generationDelegation,
193
- generationMinted: true,
194
- spaceMinted,
195
- accountLog: generation.pointed.published
196
- };
234
+ return pointedOutcome(generation, spaceMinted);
197
235
  };
198
236
  if (annexSpaceId !== undefined) {
199
237
  // A sibling-named Space under bootstrap authority alone: writable only
@@ -228,11 +266,11 @@ function authorizationRefusal(err) {
228
266
  if (candidate === null || typeof candidate !== 'object') {
229
267
  continue;
230
268
  }
231
- const carried = candidate;
232
- const status = carried.status ?? carried.response?.status;
269
+ const status = rawRequestStatus(candidate);
233
270
  if (status === 401 || status === 403) {
234
271
  return true;
235
272
  }
273
+ const carried = candidate;
236
274
  if (carried.name === 'NotAllowedError' ||
237
275
  carried.name === 'ForbiddenError' ||
238
276
  carried.name === 'UnauthorizedError') {
@@ -438,15 +476,25 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
438
476
  // 2c. The adopted-roster arm: a re-run that adopted an earlier run's
439
477
  // roster recovers the real user key from the credential's standing wrap
440
478
  // and completes the collection epochs under it -- the one installer,
441
- // through the shared mint-policy stage.
479
+ // through the shared mint-policy stage. The stage's mint guard is the
480
+ // genesis's own observation: it adopted a PRESENT roster a moment ago, so
481
+ // a decide-read now serving it absent is a host contradicting itself, and
482
+ // minting there would be a single-recipient roster genesis over a roster
483
+ // that exists. Refused outright; nothing else licenses the mint here.
442
484
  let userKey = candidateUserKey;
443
485
  if (genesis.rosterDescriptor.currentEpoch !== candidateUserKey.id) {
486
+ const adoptedEpoch = genesis.rosterDescriptor.currentEpoch;
444
487
  const delivered = await ensureRosterDeliveredEpochs({
445
488
  store: rosterStoreFor({ did, log: genesis.published.log }),
446
489
  candidateUserKey,
447
490
  clientKeyAgreementKey: standing.keyAgreementKey,
448
491
  was: bootstrapWas,
449
- spaceId
492
+ spaceId,
493
+ beforeMint: async () => {
494
+ throw new Error('The user-key roster the genesis adopted (current epoch ' +
495
+ `${String(adoptedEpoch)}) is now served absent; refusing to ` +
496
+ 'mint a fresh roster over it.');
497
+ }
450
498
  });
451
499
  if (delivered.outcome === 'no-wrap') {
452
500
  throw new Error('The adopted user-key roster could not be read back with this ' +
@@ -491,28 +539,20 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
491
539
  if (published === undefined) {
492
540
  throw new Error('The account log the genesis published could not be read.');
493
541
  }
494
- // The bind-time REVEALED rung, attributed from the published log's current
495
- // parameters (rung 0 on a fresh establishment) -- resolved HERE, before
496
- // stage 3 and strictly before the re-bind: on an account whose document no
497
- // longer anchors this ladder (a struck ladder VM), the attribution throws
498
- // while the record is still in its pre-re-bind shape, rather than after a
499
- // re-bind that would leave a rebound record with no registry entry and no
500
- // mender. A committed-only rung refuses too: it cannot sign, and recording
501
- // it as the registry's update key would misstate the standing rung.
502
- const attributed = await attributeLadderRung({
503
- ladderSeed,
504
- published: currentLogParameters(published)
505
- });
506
- if (attributed.state !== 'revealed') {
507
- throw new Error("No revealed rung of this credential's ladder stands in the account " +
508
- "log's current update keys; the establishment cannot proceed.");
509
- }
510
542
  stage('account-log-read');
543
+ // Stage 3 on the ladder arm. Its pre-mint attribution is what refuses an
544
+ // account whose document no longer anchors this ladder (a struck ladder
545
+ // VM) while the record is still in its pre-re-bind shape, rather than
546
+ // after a re-bind that would leave a rebound record with no registry entry
547
+ // and no mender. The pointer entry rides the root-invoking store in this
548
+ // window, so it republishes the `did:web` projection beside itself.
511
549
  const generation = await ensurePointedClientAnnexGeneration({
512
550
  account: published,
513
551
  wasServerUrl,
514
552
  accountSpaceId: spaceId,
515
553
  ladderSeed,
554
+ signer: { kind: 'ladder' },
555
+ logOnly: false,
516
556
  was: bootstrapWas,
517
557
  mintController: bootstrapAgent.id,
518
558
  mintGenerationDelegation: ladderSignedGenerationDelegationMinter({
@@ -559,7 +599,11 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
559
599
  : {}),
560
600
  standingFields: credentialAnchoredStandingFields({
561
601
  standing,
562
- updateKeyMultibase: attributed.rung.keyMultibase,
602
+ // The rung the pointer entry was signed with when stage 3 wrote one (a
603
+ // lost race may have climbed past the pre-flight's answer), else the
604
+ // rung stage 3's pre-flight found standing. The ladder arm always
605
+ // reports one.
606
+ updateKeyMultibase: generation.rung.keyMultibase,
563
607
  bridge,
564
608
  sibling,
565
609
  unlock: rebind
@@ -634,8 +678,11 @@ async function establishCredentialAnchoredAccountChecked({ wasServerUrl, spaceId
634
678
  export async function rebindCredentialAnchoredRecord({ accountDid, pointer, ladderSeed, standingClientDid, clientAnnexSpaceId, bindRecord, stage, priorCreatedAt, now }) {
635
679
  // The record's controller field is the ladder VM's bare did:key, derived
636
680
  // from the same seed the delegations sign under so the two cannot diverge.
637
- const controller = (await ladderVmAgent({ ladderSeed })).id;
638
- const ladderZcap = await ladderVmZcapClient({ accountDid, ladderSeed });
681
+ const { agent: ladderAgent, zcapClient: ladderZcap } = await ladderVmSigners({
682
+ accountDid,
683
+ ladderSeed
684
+ });
685
+ const controller = ladderAgent.id;
639
686
  const bridge = await delegateLogWrite({
640
687
  zcapClient: ladderZcap,
641
688
  pointer,
@@ -668,7 +715,7 @@ export async function rebindCredentialAnchoredRecord({ accountDid, pointer, ladd
668
715
  * @param options {object}
669
716
  * @param options.standing {object} the credential's standing client:
670
717
  * `clientDid`, `keyAgreementKeyMultibase`, `recipientKid`
671
- * @param options.updateKeyMultibase {string} the attributed revealed rung
718
+ * @param options.updateKeyMultibase {string} the ladder's attributed rung
672
719
  * @param [options.bridge] {IZcap} the record's bridge delegation
673
720
  * @param [options.sibling] {IZcap} the record's `delegatedClients` sibling
674
721
  * @param [options.unlock] {object} the unlock key-agreement members, from
@@ -1 +1 @@
1
- {"version":3,"file":"establish.js","sourceRoot":"","sources":["../../src/clientAnnex/establish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"establish.js","sourceRoot":"","sources":["../../src/clientAnnex/establish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"forget.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAGxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAKzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACV,eAAe,EACf,iCAAiC,EACjC,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,EAAE;IACD,QAAQ,EAAE,cAAc,CAAA;IACxB,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAA;IACxE,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,iBAAiB,CAAA;IAClC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,yBAAyB,CAAA;IACtC,yBAAyB,EAAE,gBAAgB,CAAA;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,WAAW,EAAE,kBAAkB,CAAA;CAChC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAmEtC"}
1
+ {"version":3,"file":"forget.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAC1B,MAAM,kBAAkB,CAAA;AAMzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAEhE;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACV,eAAe,EACf,iCAAiC,EACjC,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,EAAE;IACD,QAAQ,EAAE,cAAc,CAAA;IACxB,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,GAAG,eAAe,CAAC,CAAA;IACxE,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,iBAAiB,CAAA;IAClC,iCAAiC,EAAE,MAAM,CAAA;IACzC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,yBAAyB,CAAA;IACtC,yBAAyB,EAAE,gBAAgB,CAAA;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;IACrC,WAAW,EAAE,kBAAkB,CAAA;CAChC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAmEtC"}
@@ -1,7 +1,6 @@
1
- import { relationIds } from '../resourceLog/document.js';
2
1
  import { readPublishedLogOrThrow } from '../webvh/didWebvh.js';
3
2
  import { retireRosterRecipientAndCascade, rosterRecipientKid } from '../keys/index.js';
4
- import { forgetWebvhClient, LastEnrolledClientForgetError } from './ladderAnchored.js';
3
+ import { forgetWebvhClient, isSoleEnrolledClient, LastEnrolledClientForgetError } from './ladderAnchored.js';
5
4
  /**
6
5
  * Forgets one enrolled client -- this browser's own -- from its
7
6
  * account. See the module doc for the stage order (rotation and fan-out
@@ -65,10 +64,10 @@ export async function forgetEnrolledClient({ logStore, clientLogStore, pinStore,
65
64
  ...(logId !== undefined ? { logId } : {}),
66
65
  missingMessage: 'did:webvh: did.jsonl is missing; nothing to forget from.'
67
66
  });
68
- const signingVmId = `${published.did}#${forgottenClient.signingKeyMultibase}`;
69
- const invocationIds = relationIds(published.doc.capabilityInvocation);
70
- if (invocationIds.includes(signingVmId) &&
71
- invocationIds.every(id => id === signingVmId)) {
67
+ if (isSoleEnrolledClient({
68
+ doc: published.doc,
69
+ vmId: `${published.did}#${forgottenClient.signingKeyMultibase}`
70
+ })) {
72
71
  throw new LastEnrolledClientForgetError();
73
72
  }
74
73
  // Stages 1 and 2: the roster rotation off this client's wrap and the
@@ -1 +1 @@
1
- {"version":3,"file":"forget.js","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"AAsEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAI9D,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAKnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,qBAAqB,CAAA;AAoB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACV,eAAe,EACf,iCAAiC,EACjC,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,WAAW,EAiBZ;IACC,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC;QAC9C,OAAO,EAAE,QAAQ;QACjB,WAAW;QACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,cAAc,EAAE,0DAA0D;KAC3E,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,eAAe,CAAC,mBAAmB,EAAE,CAAA;IAC7E,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACrE,IACE,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,EAC7C,CAAC;QACD,MAAM,IAAI,6BAA6B,EAAE,CAAA;IAC3C,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IACxE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,yEAAyE;IACzE,kCAAkC;IAClC,MAAM,IAAI,GAAG,MAAM,+BAA+B,CAAC;QACjD,WAAW;QACX,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,iBAAiB,EAAE,kBAAkB,CAAC;YACpC,mBAAmB,EAAE,eAAe,CAAC,mBAAmB;YACxD,wBAAwB,EAAE,iCAAiC;SAC5D,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,uBAAuB,EAAE,yBAAyB;QAClD,aAAa;QACb,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,WAAW;KACZ,CAAC,CAAA;IAEF,uEAAuE;IACvE,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,KAAK,EAAE,QAAQ;QACf,eAAe,EAAE,cAAc;QAC/B,UAAU;QACV,eAAe;QACf,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,WAAW;QACX,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC,CAAA;IAEF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ,EAAE,OAAO,CAAC,GAAG;QACrB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB;YACvC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"forget.js","sourceRoot":"","sources":["../../src/clientAnnex/forget.ts"],"names":[],"mappings":"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"}