@interop/wallet-core 0.53.0 → 0.55.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.
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +24 -10
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +42 -13
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +199 -0
- package/dist/clientAnnex/heal.d.ts.map +1 -0
- package/dist/clientAnnex/heal.js +421 -0
- package/dist/clientAnnex/heal.js.map +1 -0
- package/dist/clientAnnex/index.d.ts +2 -0
- package/dist/clientAnnex/index.d.ts.map +1 -1
- package/dist/clientAnnex/index.js +1 -0
- package/dist/clientAnnex/index.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +15 -2
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +30 -4
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +8 -1
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +12 -2
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +12 -2
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +10 -0
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +10 -2
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +23 -2
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +37 -14
- package/dist/webvh/didWebvh.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
import { WasClient } from '@interop/was-client';
|
|
2
|
+
import { effectiveParameters, readPublishedLog } from '../webvh/didWebvh.js';
|
|
3
|
+
import { delegationKeyInDocument, ladderVmIds } from '../webvh/listClients.js';
|
|
4
|
+
import { delegationProofKeyId, zcapExpiring } from '../webvh/standingZcap.js';
|
|
5
|
+
import { accountLogPinId } from '../webvh/verifyLog.js';
|
|
6
|
+
import { mintSpaceId } from '../genesis/accountGenesis.js';
|
|
7
|
+
import { attributeLadderRung, ladderRung, ladderVmKeyMultibase } from './ladder.js';
|
|
8
|
+
import { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
|
|
9
|
+
import { clientAnnexDidParts, clientAnnexLogPinId, clientAnnexLogStore, delegatedClientsDelegationSpaceId, delegatedClientsPointer, ensureGenerationDelegationCurrent, mintCredentialClientAnnexGeneration, mintDelegatedClientsDelegation, mintGenerationDelegation, setDelegatedClientsPointer } from './log.js';
|
|
10
|
+
/**
|
|
11
|
+
* The typed refusal of {@link ensureCredentialClientAnnexGeneration}: the
|
|
12
|
+
* account is not in a shape this visit can mend, and nothing was written.
|
|
13
|
+
* Matched on `name` -- error classes do not survive crossing package copies.
|
|
14
|
+
*/
|
|
15
|
+
export class ClientAnnexGenerationUnavailableError extends Error {
|
|
16
|
+
reason;
|
|
17
|
+
constructor({ reason, message }) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = 'ClientAnnexGenerationUnavailableError';
|
|
20
|
+
this.reason = reason;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The ladder-signed generation-delegation minter: the
|
|
25
|
+
* `mintGenerationDelegation` closure shape `ensureGenerationDelegationCurrent`
|
|
26
|
+
* takes, signing with the credential's ladder VM (`ladderVmZcapClient`) --
|
|
27
|
+
* the renewal must not depend on the very delegation it replaces, and on a
|
|
28
|
+
* ladder-anchored account the ladder VM is the one licensed delegator.
|
|
29
|
+
* Exported on its own: the transient App Connect approval's blocking renewal
|
|
30
|
+
* stage consumes the same closure.
|
|
31
|
+
*
|
|
32
|
+
* @param options {object}
|
|
33
|
+
* @param options.accountDid {string} the account did:webvh
|
|
34
|
+
* @param options.ladderSeed {Uint8Array} the credential's ladder seed, from
|
|
35
|
+
* its unlock record
|
|
36
|
+
* @param options.wasServerUrl {string} the ACCOUNT Space's storage server
|
|
37
|
+
* @param options.spaceId {string} the ACCOUNT Space's id (the delegation's
|
|
38
|
+
* target subtree)
|
|
39
|
+
* @param [options.now] {number} epoch milliseconds, for tests
|
|
40
|
+
* @returns {Function} `({ clientAnnexDid }) => Promise<IZcap>`
|
|
41
|
+
*/
|
|
42
|
+
export function ladderSignedGenerationDelegationMinter({ accountDid, ladderSeed, wasServerUrl, spaceId, now }) {
|
|
43
|
+
return async ({ clientAnnexDid }) => {
|
|
44
|
+
const zcapClient = await ladderVmZcapClient({ accountDid, ladderSeed });
|
|
45
|
+
return mintGenerationDelegation({
|
|
46
|
+
zcapClient,
|
|
47
|
+
wasServerUrl,
|
|
48
|
+
spaceId,
|
|
49
|
+
clientAnnexDid,
|
|
50
|
+
...(now !== undefined ? { now } : {})
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Ensures a transient visit can reach a live client-annex generation with a
|
|
56
|
+
* current generation delegation and a usable sibling delegation, mending
|
|
57
|
+
* from durable state alone (see the module doc for the states and the stage
|
|
58
|
+
* orders). A healthy account is a pure no-op report.
|
|
59
|
+
*
|
|
60
|
+
* Known residue: the pre-flight rung attribution runs against the SUPPLIED
|
|
61
|
+
* account view, while the pointer entry's own publish re-reads the log. The
|
|
62
|
+
* no-orphan guarantee therefore holds against that view; a concurrent
|
|
63
|
+
* ceremony advancing the rung between the two makes the pointer entry fail
|
|
64
|
+
* loudly AFTER the mint, leaving an inert unpointed generation this ensure
|
|
65
|
+
* does not reuse -- the next run converges on a fresh generation, and the
|
|
66
|
+
* orphan is the standing collect fan-out's to pick up.
|
|
67
|
+
*
|
|
68
|
+
* @param options {object}
|
|
69
|
+
* @param options.wasServerUrl {string} the account pointer's host
|
|
70
|
+
* @param options.spaceId {string} the ACCOUNT Space's id
|
|
71
|
+
* @param options.account {object} the VERIFIED account log view
|
|
72
|
+
* (`{ did, doc, log }` -- the caller's `verifyAccountLog` read; never
|
|
73
|
+
* re-fetched here)
|
|
74
|
+
* @param options.ladderSeed {Uint8Array} the credential's ladder seed, from
|
|
75
|
+
* its unlock record
|
|
76
|
+
* @param options.standingClient {object} the standing-client identity
|
|
77
|
+
* derived from the typed secret: `did` (the sibling delegation's
|
|
78
|
+
* controller) and `zcapClient` (its signer, which invokes annex requests
|
|
79
|
+
* under the sibling capability)
|
|
80
|
+
* @param options.bootstrapWasFor {Function} `({ keyAgent }) => WasClient`
|
|
81
|
+
* -- the storage client for the fresh-Space arm, signing as the ladder
|
|
82
|
+
* VM's bare did:key (the caller wires the transport; the agent is derived
|
|
83
|
+
* here from the ladder seed)
|
|
84
|
+
* @param options.idStore {WebvhIdStore} the ACCOUNT log's store (a
|
|
85
|
+
* bridge-delegated one suffices: pointer entries publish with
|
|
86
|
+
* `logOnly: true`)
|
|
87
|
+
* @param options.onRebindRecord {Function}
|
|
88
|
+
* `({ delegatedClients }) => Promise<void>` -- REQUIRED: re-seals the
|
|
89
|
+
* unlock record with the fresh sibling delegation; called whenever one was
|
|
90
|
+
* minted, after the generation and pointer are durable
|
|
91
|
+
* @param [options.delegatedClients] {IZcap} the record's sibling
|
|
92
|
+
* delegation, when the record carries one
|
|
93
|
+
* @param [options.pinStore] {ResourceLogPinStore} chain-head pins (a
|
|
94
|
+
* transient session passes an in-memory store); slot keys are derived here
|
|
95
|
+
* per log
|
|
96
|
+
* @param [options.now] {number} epoch milliseconds, for tests
|
|
97
|
+
* @returns {Promise<ClientAnnexGenerationEnsureOutcome>}
|
|
98
|
+
*/
|
|
99
|
+
export function ensureCredentialClientAnnexGeneration(options) {
|
|
100
|
+
// Refused synchronously, before any read: a fresh sibling nothing re-seals
|
|
101
|
+
// into the record would strand the very credential this ensure serves.
|
|
102
|
+
if (typeof options.onRebindRecord !== 'function') {
|
|
103
|
+
throw new TypeError('ensureCredentialClientAnnexGeneration requires onRebindRecord: a ' +
|
|
104
|
+
'fresh sibling delegation must be re-sealed into the unlock record.');
|
|
105
|
+
}
|
|
106
|
+
return ensureCredentialClientAnnexGenerationChecked(options);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The checked body of {@link ensureCredentialClientAnnexGeneration}.
|
|
110
|
+
*
|
|
111
|
+
* @param options {object} see {@link ensureCredentialClientAnnexGeneration}
|
|
112
|
+
* @returns {Promise<ClientAnnexGenerationEnsureOutcome>}
|
|
113
|
+
*/
|
|
114
|
+
async function ensureCredentialClientAnnexGenerationChecked({ wasServerUrl, spaceId, account, ladderSeed, standingClient, bootstrapWasFor, idStore, onRebindRecord, delegatedClients, pinStore, now }) {
|
|
115
|
+
// The gate: everything below signs as the ladder (the delegations as the
|
|
116
|
+
// ladder VM, the annex entries as its per-generation rung), so unless THIS
|
|
117
|
+
// ladder's VM stands in the document under the ladder-VM relation
|
|
118
|
+
// asymmetry (`capabilityDelegation` without `capabilityInvocation` -- the
|
|
119
|
+
// authority the mends actually exercise, which mere key presence says
|
|
120
|
+
// nothing about), every mend is unverifiable. The honest refusal, before
|
|
121
|
+
// anything is written.
|
|
122
|
+
const vmKey = await ladderVmKeyMultibase({ ladderSeed });
|
|
123
|
+
if (!ladderVmIds({ doc: account.doc }).includes(`${account.did}#${vmKey}`)) {
|
|
124
|
+
throw new ClientAnnexGenerationUnavailableError({
|
|
125
|
+
reason: 'ladder-vm-not-anchored',
|
|
126
|
+
message: "This credential's ladder VM is not a verification method of the " +
|
|
127
|
+
'account document, so a transient visit cannot mend the client annex.'
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// The annex Space, in the settled resolution order: the document's pointer
|
|
131
|
+
// names it; else the sibling delegation's target does (converging a torn
|
|
132
|
+
// establishment onto its own stranded Space instead of minting another
|
|
133
|
+
// orphan); else a fresh Space is minted below.
|
|
134
|
+
const pointer = delegatedClientsPointer({ doc: account.doc });
|
|
135
|
+
const siblingSpaceId = delegatedClients === undefined
|
|
136
|
+
? undefined
|
|
137
|
+
: delegatedClientsDelegationSpaceId({ delegation: delegatedClients });
|
|
138
|
+
const annexSpaceId = pointer !== undefined
|
|
139
|
+
? clientAnnexDidParts({ did: pointer }).spaceId
|
|
140
|
+
: siblingSpaceId;
|
|
141
|
+
const ladderClient = await ladderVmZcapClient({
|
|
142
|
+
accountDid: account.did,
|
|
143
|
+
ladderSeed
|
|
144
|
+
});
|
|
145
|
+
const mintDelegation = ladderSignedGenerationDelegationMinter({
|
|
146
|
+
accountDid: account.did,
|
|
147
|
+
ladderSeed,
|
|
148
|
+
wasServerUrl,
|
|
149
|
+
spaceId,
|
|
150
|
+
...(now !== undefined ? { now } : {})
|
|
151
|
+
});
|
|
152
|
+
if (annexSpaceId === undefined) {
|
|
153
|
+
// THE FRESH-SPACE ARM: neither the pointer nor a sibling names a Space.
|
|
154
|
+
// The pre-flight attribution runs before anything is minted; the stage
|
|
155
|
+
// order mirrors the credential-anchored genesis exactly.
|
|
156
|
+
const updateKeys = await pointerEntryUpdateKeys({
|
|
157
|
+
ladderSeed,
|
|
158
|
+
log: account.log
|
|
159
|
+
});
|
|
160
|
+
const freshSpaceId = mintSpaceId();
|
|
161
|
+
const keyAgent = await ladderVmAgent({ ladderSeed });
|
|
162
|
+
const bootstrapWas = bootstrapWasFor({ keyAgent });
|
|
163
|
+
const minted = await mintCredentialClientAnnexGeneration({
|
|
164
|
+
was: bootstrapWas,
|
|
165
|
+
wasServerUrl,
|
|
166
|
+
spaceId: freshSpaceId,
|
|
167
|
+
controller: keyAgent.id,
|
|
168
|
+
ladderSeed
|
|
169
|
+
});
|
|
170
|
+
// The delegation embeds while the Space still answers to the bootstrap
|
|
171
|
+
// did:key; the controller flip follows, then the pointer entry.
|
|
172
|
+
const ensured = await ensureGenerationDelegationCurrent({
|
|
173
|
+
store: clientAnnexLogStore({
|
|
174
|
+
was: bootstrapWas,
|
|
175
|
+
spaceId: freshSpaceId,
|
|
176
|
+
generationId: minted.generationId
|
|
177
|
+
}),
|
|
178
|
+
ladderSeed,
|
|
179
|
+
generationId: minted.generationId,
|
|
180
|
+
mintGenerationDelegation: mintDelegation,
|
|
181
|
+
expectedDid: minted.did,
|
|
182
|
+
...(pinStore !== undefined
|
|
183
|
+
? {
|
|
184
|
+
pinStore,
|
|
185
|
+
logId: clientAnnexLogPinId({
|
|
186
|
+
spaceId: freshSpaceId,
|
|
187
|
+
generationId: minted.generationId
|
|
188
|
+
})
|
|
189
|
+
}
|
|
190
|
+
: {}),
|
|
191
|
+
...(now !== undefined ? { now } : {})
|
|
192
|
+
});
|
|
193
|
+
await bootstrapWas
|
|
194
|
+
.space(freshSpaceId)
|
|
195
|
+
.configure({ controller: account.did, force: true });
|
|
196
|
+
await setDelegatedClientsPointer({
|
|
197
|
+
idStore,
|
|
198
|
+
updateKeys,
|
|
199
|
+
clientAnnexDid: minted.did,
|
|
200
|
+
expectedDid: account.did,
|
|
201
|
+
logOnly: true,
|
|
202
|
+
...(pinStore !== undefined
|
|
203
|
+
? { pinStore, logId: accountLogPinId({ spaceId }) }
|
|
204
|
+
: {})
|
|
205
|
+
});
|
|
206
|
+
const sibling = await mintDelegatedClientsDelegation({
|
|
207
|
+
zcapClient: ladderClient,
|
|
208
|
+
wasServerUrl,
|
|
209
|
+
clientAnnexSpaceId: freshSpaceId,
|
|
210
|
+
controller: standingClient.did,
|
|
211
|
+
...(now !== undefined ? { now } : {})
|
|
212
|
+
});
|
|
213
|
+
await onRebindRecord({ delegatedClients: sibling });
|
|
214
|
+
return {
|
|
215
|
+
clientAnnexDid: minted.did,
|
|
216
|
+
generationDelegation: ensured.delegation,
|
|
217
|
+
delegatedClients: sibling,
|
|
218
|
+
generationMinted: true,
|
|
219
|
+
spaceMinted: true,
|
|
220
|
+
delegationRenewed: false,
|
|
221
|
+
siblingReminted: true
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
// THE EXISTING-SPACE ARMS. A usable sibling first: absent, targeting a
|
|
225
|
+
// different Space than the resolved one, or stale on either of the
|
|
226
|
+
// standing-zcap axes -- expiry (past, or inside the renewal window) and
|
|
227
|
+
// signer death (its proof key no longer in the verified account document,
|
|
228
|
+
// the current-key-set rule) -- a fresh sibling is minted (local ladder-VM
|
|
229
|
+
// signing, which verifies because the gate above proved the VM a document
|
|
230
|
+
// verification method) so every annex request below can ride it.
|
|
231
|
+
let sibling = delegatedClients;
|
|
232
|
+
let siblingReminted = false;
|
|
233
|
+
const siblingStale = sibling !== undefined &&
|
|
234
|
+
(zcapExpiring({
|
|
235
|
+
...(sibling.expires !== undefined
|
|
236
|
+
? { expires: sibling.expires }
|
|
237
|
+
: {}),
|
|
238
|
+
...(now !== undefined ? { now } : {})
|
|
239
|
+
}) ||
|
|
240
|
+
!delegationKeyInDocument({
|
|
241
|
+
doc: account.doc,
|
|
242
|
+
...(delegationProofKeyId(sibling) !== undefined
|
|
243
|
+
? { delegationKeyId: delegationProofKeyId(sibling) }
|
|
244
|
+
: {})
|
|
245
|
+
}));
|
|
246
|
+
if (sibling === undefined ||
|
|
247
|
+
siblingSpaceId !== annexSpaceId ||
|
|
248
|
+
siblingStale) {
|
|
249
|
+
sibling = await mintDelegatedClientsDelegation({
|
|
250
|
+
zcapClient: ladderClient,
|
|
251
|
+
wasServerUrl,
|
|
252
|
+
clientAnnexSpaceId: annexSpaceId,
|
|
253
|
+
controller: standingClient.did,
|
|
254
|
+
...(now !== undefined ? { now } : {})
|
|
255
|
+
});
|
|
256
|
+
siblingReminted = true;
|
|
257
|
+
}
|
|
258
|
+
const usableSibling = sibling;
|
|
259
|
+
const standingWas = new WasClient({
|
|
260
|
+
serverUrl: wasServerUrl,
|
|
261
|
+
zcapClient: standingClient.zcapClient
|
|
262
|
+
});
|
|
263
|
+
const storeFor = (generationId) => clientAnnexLogStore({
|
|
264
|
+
was: standingWas,
|
|
265
|
+
spaceId: annexSpaceId,
|
|
266
|
+
generationId,
|
|
267
|
+
capability: usableSibling
|
|
268
|
+
});
|
|
269
|
+
const annexPin = (generationId) => pinStore !== undefined
|
|
270
|
+
? {
|
|
271
|
+
pinStore,
|
|
272
|
+
logId: clientAnnexLogPinId({ spaceId: annexSpaceId, generationId })
|
|
273
|
+
}
|
|
274
|
+
: {};
|
|
275
|
+
// RENEW PRECEDES MINT: a live, verifiable pointed generation is renewed in
|
|
276
|
+
// place; only a rung this generation never committed falls through to the
|
|
277
|
+
// fresh mint (the GC swap's no-committed-survivor escape).
|
|
278
|
+
if (pointer !== undefined) {
|
|
279
|
+
const parts = clientAnnexDidParts({ did: pointer });
|
|
280
|
+
const pointedLog = await readPublishedLog({
|
|
281
|
+
idStore: storeFor(parts.generationId),
|
|
282
|
+
expectedDid: pointer,
|
|
283
|
+
...annexPin(parts.generationId)
|
|
284
|
+
});
|
|
285
|
+
if (pointedLog !== undefined) {
|
|
286
|
+
try {
|
|
287
|
+
const ensured = await ensureGenerationDelegationCurrent({
|
|
288
|
+
store: storeFor(parts.generationId),
|
|
289
|
+
ladderSeed,
|
|
290
|
+
generationId: parts.generationId,
|
|
291
|
+
mintGenerationDelegation: mintDelegation,
|
|
292
|
+
expectedDid: pointer,
|
|
293
|
+
accountDoc: account.doc,
|
|
294
|
+
...annexPin(parts.generationId),
|
|
295
|
+
...(now !== undefined ? { now } : {})
|
|
296
|
+
});
|
|
297
|
+
if (siblingReminted) {
|
|
298
|
+
await onRebindRecord({ delegatedClients: usableSibling });
|
|
299
|
+
}
|
|
300
|
+
return {
|
|
301
|
+
clientAnnexDid: pointer,
|
|
302
|
+
generationDelegation: ensured.delegation,
|
|
303
|
+
delegatedClients: usableSibling,
|
|
304
|
+
generationMinted: false,
|
|
305
|
+
spaceMinted: false,
|
|
306
|
+
delegationRenewed: ensured.renewed,
|
|
307
|
+
siblingReminted
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
catch (err) {
|
|
311
|
+
if (err.name !== 'ClientAnnexRungUncommittedError') {
|
|
312
|
+
throw err;
|
|
313
|
+
}
|
|
314
|
+
// This credential's rung was never committed into the pointed
|
|
315
|
+
// generation (bound mid-generation): fall through to the fresh mint,
|
|
316
|
+
// which commits it with the fresh genesis.
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
// THE FRESH-GENERATION ARM, existing Space: pre-flight attribution first
|
|
321
|
+
// (never mint a generation the pointer entry cannot then name), then the
|
|
322
|
+
// GC swap's stage order minus its revoke -- mint, install the delegation,
|
|
323
|
+
// re-point. The fresh genesis commits only the acting credential's annex
|
|
324
|
+
// rung; other standing credentials' per-generation rungs are re-committed
|
|
325
|
+
// only by their own later ceremonies (a property of every generation
|
|
326
|
+
// swap).
|
|
327
|
+
const updateKeys = await pointerEntryUpdateKeys({
|
|
328
|
+
ladderSeed,
|
|
329
|
+
log: account.log
|
|
330
|
+
});
|
|
331
|
+
const minted = await mintCredentialClientAnnexGeneration({
|
|
332
|
+
was: standingWas,
|
|
333
|
+
wasServerUrl,
|
|
334
|
+
spaceId: annexSpaceId,
|
|
335
|
+
controller: account.did,
|
|
336
|
+
ladderSeed,
|
|
337
|
+
capability: usableSibling
|
|
338
|
+
});
|
|
339
|
+
const ensured = await ensureGenerationDelegationCurrent({
|
|
340
|
+
store: storeFor(minted.generationId),
|
|
341
|
+
ladderSeed,
|
|
342
|
+
generationId: minted.generationId,
|
|
343
|
+
mintGenerationDelegation: mintDelegation,
|
|
344
|
+
expectedDid: minted.did,
|
|
345
|
+
...annexPin(minted.generationId),
|
|
346
|
+
...(now !== undefined ? { now } : {})
|
|
347
|
+
});
|
|
348
|
+
// No revocation of the superseded generation's delegation is attempted:
|
|
349
|
+
// a transient visit has no reach that could invoke it (the standing client
|
|
350
|
+
// is neither the Space controller nor in that delegation's chain). The
|
|
351
|
+
// pointer move itself retires it on a conforming server -- the inspector
|
|
352
|
+
// clause compares the delegation's controller against the document's
|
|
353
|
+
// pointer -- and it otherwise rots on its TTL.
|
|
354
|
+
await setDelegatedClientsPointer({
|
|
355
|
+
idStore,
|
|
356
|
+
updateKeys,
|
|
357
|
+
clientAnnexDid: minted.did,
|
|
358
|
+
expectedDid: account.did,
|
|
359
|
+
logOnly: true,
|
|
360
|
+
...(pinStore !== undefined
|
|
361
|
+
? { pinStore, logId: accountLogPinId({ spaceId }) }
|
|
362
|
+
: {})
|
|
363
|
+
});
|
|
364
|
+
if (siblingReminted) {
|
|
365
|
+
await onRebindRecord({ delegatedClients: usableSibling });
|
|
366
|
+
}
|
|
367
|
+
return {
|
|
368
|
+
clientAnnexDid: minted.did,
|
|
369
|
+
generationDelegation: ensured.delegation,
|
|
370
|
+
delegatedClients: usableSibling,
|
|
371
|
+
generationMinted: true,
|
|
372
|
+
spaceMinted: false,
|
|
373
|
+
delegationRenewed: false,
|
|
374
|
+
siblingReminted
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* The pre-flight rung attribution: the `{ updateSeed, stagedSeed }` pair the
|
|
379
|
+
* pointer entry signs with, recovered from the verified account log's
|
|
380
|
+
* current parameters. The signer must be a REVEALED rung (the entry verifies
|
|
381
|
+
* against the log's `updateKeys`), with the next rung staged per the
|
|
382
|
+
* carry-over convention. No rung of this ladder standing -- or only a
|
|
383
|
+
* committed hash, which cannot sign -- refuses with
|
|
384
|
+
* {@link ClientAnnexGenerationUnavailableError} before anything is minted.
|
|
385
|
+
*
|
|
386
|
+
* @param options {object}
|
|
387
|
+
* @param options.ladderSeed {Uint8Array}
|
|
388
|
+
* @param options.log {DIDLog} the VERIFIED account log
|
|
389
|
+
* @returns {Promise<ClientWebvhUpdateKeys>}
|
|
390
|
+
*/
|
|
391
|
+
async function pointerEntryUpdateKeys({ ladderSeed, log }) {
|
|
392
|
+
const params = effectiveParameters(log);
|
|
393
|
+
const current = params[params.length - 1] ?? {
|
|
394
|
+
updateKeys: [],
|
|
395
|
+
nextKeyHashes: []
|
|
396
|
+
};
|
|
397
|
+
const unattributable = () => new ClientAnnexGenerationUnavailableError({
|
|
398
|
+
reason: 'update-key-not-attributable',
|
|
399
|
+
message: "No current account-log update key is a rung of this credential's " +
|
|
400
|
+
'ladder; the pointer entry could not be signed, so nothing is minted.'
|
|
401
|
+
});
|
|
402
|
+
let attributed;
|
|
403
|
+
try {
|
|
404
|
+
attributed = await attributeLadderRung({ ladderSeed, published: current });
|
|
405
|
+
}
|
|
406
|
+
catch (err) {
|
|
407
|
+
if (err.name === 'LadderAttributionError') {
|
|
408
|
+
throw unattributable();
|
|
409
|
+
}
|
|
410
|
+
throw err;
|
|
411
|
+
}
|
|
412
|
+
if (attributed.state !== 'revealed') {
|
|
413
|
+
throw unattributable();
|
|
414
|
+
}
|
|
415
|
+
const staged = await ladderRung({
|
|
416
|
+
ladderSeed,
|
|
417
|
+
index: attributed.rung.index + 1
|
|
418
|
+
});
|
|
419
|
+
return { updateSeed: attributed.rung.seed, stagedSeed: staged.seed };
|
|
420
|
+
}
|
|
421
|
+
//# sourceMappingURL=heal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heal.js","sourceRoot":"","sources":["../../src/clientAnnex/heal.ts"],"names":[],"mappings":"AAoDA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAM5E,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,oBAAoB,EACrB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iCAAiC,EACjC,uBAAuB,EACvB,iCAAiC,EACjC,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAqBjB;;;;GAIG;AACH,MAAM,OAAO,qCAAsC,SAAQ,KAAK;IACrD,MAAM,CAAwC;IAEvD,YAAY,EACV,MAAM,EACN,OAAO,EAIR;QACC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uCAAuC,CAAA;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sCAAsC,CAAC,EACrD,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,EACP,GAAG,EAOJ;IACC,OAAO,KAAK,EAAE,EAAE,cAAc,EAA8B,EAAE,EAAE;QAC9D,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAA;QACvE,OAAO,wBAAwB,CAAC;YAC9B,UAAU;YACV,YAAY;YACZ,OAAO;YACP,cAAc;YACd,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,UAAU,qCAAqC,CAAC,OAYrD;IACC,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACjD,MAAM,IAAI,SAAS,CACjB,mEAAmE;YACjE,oEAAoE,CACvE,CAAA;IACH,CAAC;IACD,OAAO,4CAA4C,CAAC,OAAO,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,4CAA4C,CAAC,EAC1D,YAAY,EACZ,OAAO,EACP,OAAO,EACP,UAAU,EACV,cAAc,EACd,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,GAAG,EAaJ;IACC,yEAAyE;IACzE,2EAA2E;IAC3E,kEAAkE;IAClE,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,uBAAuB;IACvB,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;IACxD,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,qCAAqC,CAAC;YAC9C,MAAM,EAAE,wBAAwB;YAChC,OAAO,EACL,kEAAkE;gBAClE,sEAAsE;SACzE,CAAC,CAAA;IACJ,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,uEAAuE;IACvE,+CAA+C;IAC/C,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC7D,MAAM,cAAc,GAClB,gBAAgB,KAAK,SAAS;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,iCAAiC,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAA;IACzE,MAAM,YAAY,GAChB,OAAO,KAAK,SAAS;QACnB,CAAC,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;QAC/C,CAAC,CAAC,cAAc,CAAA;IAEpB,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC;QAC5C,UAAU,EAAE,OAAO,CAAC,GAAG;QACvB,UAAU;KACX,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,sCAAsC,CAAC;QAC5D,UAAU,EAAE,OAAO,CAAC,GAAG;QACvB,UAAU;QACV,YAAY;QACZ,OAAO;QACP,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC,CAAA;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,wEAAwE;QACxE,uEAAuE;QACvE,yDAAyD;QACzD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;YAC9C,UAAU;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAA;QACF,MAAM,YAAY,GAAG,WAAW,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QACpD,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;QAClD,MAAM,MAAM,GAAG,MAAM,mCAAmC,CAAC;YACvD,GAAG,EAAE,YAAY;YACjB,YAAY;YACZ,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,UAAU;SACX,CAAC,CAAA;QACF,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,OAAO,GAAG,MAAM,iCAAiC,CAAC;YACtD,KAAK,EAAE,mBAAmB,CAAC;gBACzB,GAAG,EAAE,YAAY;gBACjB,OAAO,EAAE,YAAY;gBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC;YACF,UAAU;YACV,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,wBAAwB,EAAE,cAAc;YACxC,WAAW,EAAE,MAAM,CAAC,GAAG;YACvB,GAAG,CAAC,QAAQ,KAAK,SAAS;gBACxB,CAAC,CAAC;oBACE,QAAQ;oBACR,KAAK,EAAE,mBAAmB,CAAC;wBACzB,OAAO,EAAE,YAAY;wBACrB,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,CAAC;iBACH;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;QACF,MAAM,YAAY;aACf,KAAK,CAAC,YAAY,CAAC;aACnB,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,MAAM,0BAA0B,CAAC;YAC/B,OAAO;YACP,UAAU;YACV,cAAc,EAAE,MAAM,CAAC,GAAG;YAC1B,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,QAAQ,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;gBACnD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,MAAM,8BAA8B,CAAC;YACnD,UAAU,EAAE,YAAY;YACxB,YAAY;YACZ,kBAAkB,EAAE,YAAY;YAChC,UAAU,EAAE,cAAc,CAAC,GAAG;YAC9B,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;QACF,MAAM,cAAc,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAA;QACnD,OAAO;YACL,cAAc,EAAE,MAAM,CAAC,GAAG;YAC1B,oBAAoB,EAAE,OAAO,CAAC,UAAU;YACxC,gBAAgB,EAAE,OAAO;YACzB,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,IAAI;YACjB,iBAAiB,EAAE,KAAK;YACxB,eAAe,EAAE,IAAI;SACtB,CAAA;IACH,CAAC;IAED,uEAAuE;IACvE,mEAAmE;IACnE,wEAAwE;IACxE,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI,OAAO,GAAG,gBAAgB,CAAA;IAC9B,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,MAAM,YAAY,GAChB,OAAO,KAAK,SAAS;QACrB,CAAC,YAAY,CAAC;YACZ,GAAG,CAAE,OAAgC,CAAC,OAAO,KAAK,SAAS;gBACzD,CAAC,CAAC,EAAE,OAAO,EAAG,OAAgC,CAAC,OAAO,EAAE;gBACxD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC;YACA,CAAC,uBAAuB,CAAC;gBACvB,GAAG,EAAE,OAAO,CAAC,GAA2B;gBACxC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,SAAS;oBAC7C,CAAC,CAAC,EAAE,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE;oBACpD,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC,CAAA;IACP,IACE,OAAO,KAAK,SAAS;QACrB,cAAc,KAAK,YAAY;QAC/B,YAAY,EACZ,CAAC;QACD,OAAO,GAAG,MAAM,8BAA8B,CAAC;YAC7C,UAAU,EAAE,YAAY;YACxB,YAAY;YACZ,kBAAkB,EAAE,YAAY;YAChC,UAAU,EAAE,cAAc,CAAC,GAAG;YAC9B,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAA;QACF,eAAe,GAAG,IAAI,CAAA;IACxB,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,CAAA;IAC7B,MAAM,WAAW,GAAG,IAAI,SAAS,CAAC;QAChC,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,cAAc,CAAC,UAAU;KACtC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,CAAC,YAAoB,EAAE,EAAE,CACxC,mBAAmB,CAAC;QAClB,GAAG,EAAE,WAAW;QAChB,OAAO,EAAE,YAAY;QACrB,YAAY;QACZ,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAA;IACJ,MAAM,QAAQ,GAAG,CAAC,YAAoB,EAAE,EAAE,CACxC,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC;YACE,QAAQ;YACR,KAAK,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;SACpE;QACH,CAAC,CAAC,EAAE,CAAA;IAER,2EAA2E;IAC3E,0EAA0E;IAC1E,2DAA2D;IAC3D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;YACxC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAiB;YACrD,WAAW,EAAE,OAAO;YACpB,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;SAChC,CAAC,CAAA;QACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,iCAAiC,CAAC;oBACtD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBACnC,UAAU;oBACV,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,wBAAwB,EAAE,cAAc;oBACxC,WAAW,EAAE,OAAO;oBACpB,UAAU,EAAE,OAAO,CAAC,GAA2B;oBAC/C,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC/B,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtC,CAAC,CAAA;gBACF,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,cAAc,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAA;gBAC3D,CAAC;gBACD,OAAO;oBACL,cAAc,EAAE,OAAO;oBACvB,oBAAoB,EAAE,OAAO,CAAC,UAAU;oBACxC,gBAAgB,EAAE,aAAa;oBAC/B,gBAAgB,EAAE,KAAK;oBACvB,WAAW,EAAE,KAAK;oBAClB,iBAAiB,EAAE,OAAO,CAAC,OAAO;oBAClC,eAAe;iBAChB,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IACG,GAAyB,CAAC,IAAI,KAAK,iCAAiC,EACrE,CAAC;oBACD,MAAM,GAAG,CAAA;gBACX,CAAC;gBACD,8DAA8D;gBAC9D,qEAAqE;gBACrE,2CAA2C;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,qEAAqE;IACrE,SAAS;IACT,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;QAC9C,UAAU;QACV,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,mCAAmC,CAAC;QACvD,GAAG,EAAE,WAAW;QAChB,YAAY;QACZ,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,OAAO,CAAC,GAAG;QACvB,UAAU;QACV,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,iCAAiC,CAAC;QACtD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;QACpC,UAAU;QACV,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,wBAAwB,EAAE,cAAc;QACxC,WAAW,EAAE,MAAM,CAAC,GAAG;QACvB,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;QAChC,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC,CAAA;IAEF,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,yEAAyE;IACzE,qEAAqE;IACrE,+CAA+C;IAC/C,MAAM,0BAA0B,CAAC;QAC/B,OAAO;QACP,UAAU;QACV,cAAc,EAAE,MAAM,CAAC,GAAG;QAC1B,WAAW,EAAE,OAAO,CAAC,GAAG;QACxB,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,QAAQ,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;IACF,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,cAAc,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,GAAG;QAC1B,oBAAoB,EAAE,OAAO,CAAC,UAAU;QACxC,gBAAgB,EAAE,aAAa;QAC/B,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,KAAK;QAClB,iBAAiB,EAAE,KAAK;QACxB,eAAe;KAChB,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,sBAAsB,CAAC,EACpC,UAAU,EACV,GAAG,EAIJ;IACC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI;QAC3C,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;KAClB,CAAA;IACD,MAAM,cAAc,GAAG,GAAG,EAAE,CAC1B,IAAI,qCAAqC,CAAC;QACxC,MAAM,EAAE,6BAA6B;QACrC,OAAO,EACL,mEAAmE;YACnE,sEAAsE;KACzE,CAAC,CAAA;IACJ,IAAI,UAA2D,CAAA;IAC/D,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,mBAAmB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAAyB,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACjE,MAAM,cAAc,EAAE,CAAA;QACxB,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,cAAc,EAAE,CAAA;IACxB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;QAC9B,UAAU;QACV,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;KACjC,CAAC,CAAA;IACF,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;AACtE,CAAC"}
|
|
@@ -48,6 +48,8 @@ export type { ClientAnnexWriteStore } from './log.js';
|
|
|
48
48
|
export { clientAnnexGcDue, delegatedClientsPointerEstablishedAt, GENERATION_GC_PERIOD_MS, GENERATION_QUIET_BOUND_MS, GENERATION_QUIET_GRACE_MS, generationQuiet, runClientAnnexGc, swapClientAnnexGeneration } from './gc.js';
|
|
49
49
|
export type { ClientAnnexGcReport, ClientAnnexGcSwapOutcome } from './gc.js';
|
|
50
50
|
export { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
|
|
51
|
+
export { ClientAnnexGenerationUnavailableError, ensureCredentialClientAnnexGeneration, ladderSignedGenerationDelegationMinter } from './heal.js';
|
|
52
|
+
export type { ClientAnnexGenerationEnsureOutcome, ClientAnnexGenerationUnavailableReason } from './heal.js';
|
|
51
53
|
export { BuiltOnHeadNotReachedError, createLadderAnchoredAccountLog, ensureLadderAnchoredDidWebvh, forgetLastWebvhClient, forgetWebvhClient, installLadderVmWebvh, LastDurableClientForgetError, selfEnrollWebvhClient } from './ladderAnchored.js';
|
|
52
54
|
export { selfEnrollClientCore } from './selfEnroll.js';
|
|
53
55
|
export { forgetDurableClient } from './forget.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,UAAU,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE5E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAOxE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,UAAU,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AACjB,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAE5E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,qCAAqC,EACrC,qCAAqC,EACrC,sCAAsC,EACvC,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,kCAAkC,EAClC,sCAAsC,EACvC,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACjD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAOxE,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
|
|
@@ -45,6 +45,7 @@ export { attributeLadderInventory, attributeLadderRung, clientAnnexRung, clientA
|
|
|
45
45
|
export { assertGenerationId, clampGrantExpires, CLIENT_ANNEX_SPACE_TYPE, clientAnnexDidParts, clientAnnexLogPinId, clientAnnexLogStore, ClientAnnexRungUncommittedError, commitClientAnnexRung, createClientAnnexLog, DELEGATED_CLIENTS_DELEGATION_ACTIONS, DELEGATED_CLIENTS_DELEGATION_TTL_MS, DELEGATED_CLIENTS_SERVICE_TYPE, delegatedClientsDelegationMinter, delegatedClientsDelegationSpaceId, delegatedClientsPointer, delegatedClientsServiceEntry, embeddedGenerationDelegation, enrollClientAnnexTransientClient, enrollTransientClient, ensureClientAnnexSpace, ensureGenerationDelegationCurrent, GENERATION_DELEGATION_ACTIONS, GENERATION_DELEGATION_SERVICE_TYPE, GENERATION_DELEGATION_TTL_MS, GENERATION_ID_PREFIX, generationDelegationHistory, generationDelegationServiceEntry, mintClientAnnexGeneration, mintCredentialClientAnnexGeneration, mintDelegatedClientsDelegation, mintGenerationDelegation, mintGenerationId, retireClientAnnexRung, revokeTreatingAlreadyRevokedAsSuccess, servicesPointedAtClientAnnex, setDelegatedClientsPointer } from './log.js';
|
|
46
46
|
export { clientAnnexGcDue, delegatedClientsPointerEstablishedAt, GENERATION_GC_PERIOD_MS, GENERATION_QUIET_BOUND_MS, GENERATION_QUIET_GRACE_MS, generationQuiet, runClientAnnexGc, swapClientAnnexGeneration } from './gc.js';
|
|
47
47
|
export { ladderVmAgent, ladderVmZcapClient } from './zcap.js';
|
|
48
|
+
export { ClientAnnexGenerationUnavailableError, ensureCredentialClientAnnexGeneration, ladderSignedGenerationDelegationMinter } from './heal.js';
|
|
48
49
|
export { BuiltOnHeadNotReachedError, createLadderAnchoredAccountLog, ensureLadderAnchoredDidWebvh, forgetLastWebvhClient, forgetWebvhClient, installLadderVmWebvh, LastDurableClientForgetError, selfEnrollWebvhClient } from './ladderAnchored.js';
|
|
49
50
|
export { selfEnrollClientCore } from './selfEnroll.js';
|
|
50
51
|
export { forgetDurableClient } from './forget.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AAOpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAExE,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,4EAA4E;AAC5E,wBAAwB;AACxB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clientAnnex/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAA;AAOpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,EAC/B,qBAAqB,EACrB,oBAAoB,EACpB,oCAAoC,EACpC,mCAAmC,EACnC,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,EAC5B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,yBAAyB,EACzB,mCAAmC,EACnC,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,gBAAgB,EAChB,oCAAoC,EACpC,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE7D,OAAO,EACL,qCAAqC,EACrC,qCAAqC,EACrC,sCAAsC,EACvC,MAAM,WAAW,CAAA;AAMlB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGjD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAExE,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,4EAA4E;AAC5E,wBAAwB;AACxB,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DIDDoc, DIDLog } from '@interop/did-method-webvh';
|
|
2
|
-
import type { ClientWebvhUpdateKeys, WebvhEnrollmentKeys, WebvhIdStore } from '../webvh/didWebvh.js';
|
|
2
|
+
import type { ClientWebvhUpdateKeys, DidWebKeyMapV2, WebvhEnrollmentKeys, WebvhIdStore } from '../webvh/didWebvh.js';
|
|
3
3
|
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
4
4
|
import { type RevokedClientKeys } from '../webvh/revokeClient.js';
|
|
5
5
|
import { type UnlockKeyAgreementPublication, type UnlockLogStore } from '../unlock/standingWebvh.js';
|
|
@@ -21,20 +21,28 @@ import { type UnlockKeyAgreementPublication, type UnlockLogStore } from '../unlo
|
|
|
21
21
|
* durable self-enrollment ({@link selfEnrollWebvhClient}), whose add entry
|
|
22
22
|
* atomically publishes the client, retires rung 0, and removes the ladder VM.
|
|
23
23
|
*
|
|
24
|
+
* When the wallet keeps a KMS, `didWebKeys` folds the KMS-held
|
|
25
|
+
* authentication key into the entry under `authentication` only -- the
|
|
26
|
+
* durable genesis's server-side convenience, with its exclusions intact (no
|
|
27
|
+
* KMS keyAgreement or assertion key).
|
|
28
|
+
*
|
|
24
29
|
* The caller owns publication (conditional, create-only) and the pointer
|
|
25
30
|
* write that follows; this assembles and signs the log only.
|
|
26
31
|
*
|
|
27
32
|
* @param options {object}
|
|
28
33
|
* @param options.wasServerUrl {string}
|
|
29
34
|
* @param options.spaceId {string}
|
|
35
|
+
* @param [options.didWebKeys] {DidWebKeyMapV2} the parsed keys.json, when
|
|
36
|
+
* the wallet keeps a KMS; absent, the genesis is ladder-and-credential-only
|
|
30
37
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
31
38
|
* @param options.keyAgreement {UnlockKeyAgreementPublication} the
|
|
32
39
|
* credential's key-agreement publication (commitment or verbatim)
|
|
33
40
|
* @returns {Promise<{ log: DIDLog, webDoc: object, did: string }>}
|
|
34
41
|
*/
|
|
35
|
-
export declare function createLadderAnchoredAccountLog({ wasServerUrl, spaceId, ladderSeed, keyAgreement }: {
|
|
42
|
+
export declare function createLadderAnchoredAccountLog({ wasServerUrl, spaceId, didWebKeys, ladderSeed, keyAgreement }: {
|
|
36
43
|
wasServerUrl: string;
|
|
37
44
|
spaceId: string;
|
|
45
|
+
didWebKeys?: DidWebKeyMapV2;
|
|
38
46
|
ladderSeed: Uint8Array;
|
|
39
47
|
keyAgreement: UnlockKeyAgreementPublication;
|
|
40
48
|
}): Promise<{
|
|
@@ -63,6 +71,10 @@ export declare function createLadderAnchoredAccountLog({ wasServerUrl, spaceId,
|
|
|
63
71
|
* @param options.idStore {WebvhIdStore}
|
|
64
72
|
* @param options.wasServerUrl {string}
|
|
65
73
|
* @param options.spaceId {string}
|
|
74
|
+
* @param [options.didWebKeys] {DidWebKeyMapV2} the parsed keys.json, when
|
|
75
|
+
* the wallet keeps a KMS; folded into the CREATE path only (see the
|
|
76
|
+
* adoption note in the body), which also records the minted DID into
|
|
77
|
+
* keys.json's webvh block as the durable ensure does
|
|
66
78
|
* @param options.ladderSeed {Uint8Array} the credential's ladder seed
|
|
67
79
|
* @param options.keyAgreement {UnlockKeyAgreementPublication} the
|
|
68
80
|
* credential's key-agreement publication (commitment or verbatim)
|
|
@@ -78,6 +90,7 @@ export declare function ensureLadderAnchoredDidWebvh(options: {
|
|
|
78
90
|
idStore: WebvhIdStore;
|
|
79
91
|
wasServerUrl: string;
|
|
80
92
|
spaceId: string;
|
|
93
|
+
didWebKeys?: DidWebKeyMapV2;
|
|
81
94
|
ladderSeed: Uint8Array;
|
|
82
95
|
keyAgreement: UnlockKeyAgreementPublication;
|
|
83
96
|
expectedDid?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ladderAnchored.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/ladderAnchored.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EAEP,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"ladderAnchored.d.ts","sourceRoot":"","sources":["../../src/clientAnnex/ladderAnchored.ts"],"names":[],"mappings":"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"}
|