@interop/did-cli 0.9.0 → 0.10.1
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/CHANGELOG.md +149 -0
- package/README.md +192 -4
- package/dist/commands/collection-command.d.ts +169 -0
- package/dist/commands/collection-command.d.ts.map +1 -0
- package/dist/commands/collection-command.js +241 -0
- package/dist/commands/collection-command.js.map +1 -0
- package/dist/commands/did/create.d.ts +63 -0
- package/dist/commands/did/create.d.ts.map +1 -0
- package/dist/commands/did/create.js +625 -0
- package/dist/commands/did/create.js.map +1 -0
- package/dist/commands/did/manage.d.ts +68 -0
- package/dist/commands/did/manage.d.ts.map +1 -0
- package/dist/commands/did/manage.js +287 -0
- package/dist/commands/did/manage.js.map +1 -0
- package/dist/commands/did/service.d.ts +93 -0
- package/dist/commands/did/service.d.ts.map +1 -0
- package/dist/commands/did/service.js +324 -0
- package/dist/commands/did/service.js.map +1 -0
- package/dist/commands/did/webvh-update.d.ts +170 -0
- package/dist/commands/did/webvh-update.d.ts.map +1 -0
- package/dist/commands/did/webvh-update.js +402 -0
- package/dist/commands/did/webvh-update.js.map +1 -0
- package/dist/commands/did.d.ts +9 -0
- package/dist/commands/did.d.ts.map +1 -1
- package/dist/commands/did.js +107 -597
- package/dist/commands/did.js.map +1 -1
- package/dist/commands/edv.d.ts +15 -6
- package/dist/commands/edv.d.ts.map +1 -1
- package/dist/commands/edv.js +38 -28
- package/dist/commands/edv.js.map +1 -1
- package/dist/commands/key.d.ts +104 -0
- package/dist/commands/key.d.ts.map +1 -1
- package/dist/commands/key.js +432 -402
- package/dist/commands/key.js.map +1 -1
- package/dist/commands/vc.d.ts +2 -1
- package/dist/commands/vc.d.ts.map +1 -1
- package/dist/commands/vc.js +88 -145
- package/dist/commands/vc.js.map +1 -1
- package/dist/commands/was/collection.d.ts.map +1 -1
- package/dist/commands/was/collection.js +31 -85
- package/dist/commands/was/collection.js.map +1 -1
- package/dist/commands/was/publish.d.ts.map +1 -1
- package/dist/commands/was/publish.js +16 -44
- package/dist/commands/was/publish.js.map +1 -1
- package/dist/commands/was/resource.d.ts.map +1 -1
- package/dist/commands/was/resource.js +24 -51
- package/dist/commands/was/resource.js.map +1 -1
- package/dist/commands/was/shared.d.ts +78 -0
- package/dist/commands/was/shared.d.ts.map +1 -1
- package/dist/commands/was/shared.js +84 -0
- package/dist/commands/was/shared.js.map +1 -1
- package/dist/commands/was/space.d.ts +17 -0
- package/dist/commands/was/space.d.ts.map +1 -1
- package/dist/commands/was/space.js +47 -18
- package/dist/commands/was/space.js.map +1 -1
- package/dist/commands/was/tree.d.ts.map +1 -1
- package/dist/commands/was/tree.js +4 -6
- package/dist/commands/was/tree.js.map +1 -1
- package/dist/commands/was.d.ts +1 -1
- package/dist/commands/was.d.ts.map +1 -1
- package/dist/commands/was.js +71 -76
- package/dist/commands/was.js.map +1 -1
- package/dist/commands/zcap.d.ts +0 -18
- package/dist/commands/zcap.d.ts.map +1 -1
- package/dist/commands/zcap.js +63 -155
- package/dist/commands/zcap.js.map +1 -1
- package/dist/documentLoader.d.ts +5 -0
- package/dist/documentLoader.d.ts.map +1 -0
- package/dist/documentLoader.js +29 -0
- package/dist/documentLoader.js.map +1 -0
- package/dist/edv/hmac.d.ts.map +1 -1
- package/dist/edv/hmac.js +12 -12
- package/dist/edv/hmac.js.map +1 -1
- package/dist/edv/recipients.d.ts +2 -0
- package/dist/edv/recipients.d.ts.map +1 -1
- package/dist/edv/recipients.js +12 -15
- package/dist/edv/recipients.js.map +1 -1
- package/dist/keys/webvh-signer.d.ts +29 -0
- package/dist/keys/webvh-signer.d.ts.map +1 -0
- package/dist/keys/webvh-signer.js +44 -0
- package/dist/keys/webvh-signer.js.map +1 -0
- package/dist/keys/webvh-update.d.ts +33 -0
- package/dist/keys/webvh-update.d.ts.map +1 -0
- package/dist/keys/webvh-update.js +62 -0
- package/dist/keys/webvh-update.js.map +1 -0
- package/dist/meta.d.ts +36 -11
- package/dist/meta.d.ts.map +1 -1
- package/dist/meta.js +95 -73
- package/dist/meta.js.map +1 -1
- package/dist/storage.d.ts +122 -13
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +105 -13
- package/dist/storage.js.map +1 -1
- package/dist/vc/issue.d.ts.map +1 -1
- package/dist/vc/issue.js +4 -7
- package/dist/vc/issue.js.map +1 -1
- package/dist/vc/verify.d.ts +10 -0
- package/dist/vc/verify.d.ts.map +1 -1
- package/dist/vc/verify.js +38 -1
- package/dist/vc/verify.js.map +1 -1
- package/dist/was/client.d.ts.map +1 -1
- package/dist/was/client.js +8 -2
- package/dist/was/client.js.map +1 -1
- package/dist/was/grant.d.ts +44 -0
- package/dist/was/grant.d.ts.map +1 -0
- package/dist/was/grant.js +78 -0
- package/dist/was/grant.js.map +1 -0
- package/dist/was/registry.d.ts +2 -1
- package/dist/was/registry.d.ts.map +1 -1
- package/dist/was/registry.js +25 -7
- package/dist/was/registry.js.map +1 -1
- package/dist/zcap/delegate.d.ts.map +1 -1
- package/dist/zcap/delegate.js +1 -6
- package/dist/zcap/delegate.js.map +1 -1
- package/dist/zcap/signer.d.ts.map +1 -1
- package/dist/zcap/signer.js.map +1 -1
- package/package.json +8 -6
package/dist/meta.js
CHANGED
|
@@ -115,6 +115,40 @@ export async function removeKeyDidAssociation({ publicKeyMultibase, did }) {
|
|
|
115
115
|
meta: updated
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Resolve a metadata handle to a single storage id by scanning the `.meta.json`
|
|
120
|
+
* sidecars of a set of items. This is the shared core of every `resolve*Ref`
|
|
121
|
+
* helper: the direct id/fingerprint match stays in each caller, and this
|
|
122
|
+
* collapses the "scan handles, collect matches, complain on ambiguity" tail.
|
|
123
|
+
* Returns undefined when no handle matches; throws when more than one does
|
|
124
|
+
* (handles are not unique).
|
|
125
|
+
*
|
|
126
|
+
* @param options {object}
|
|
127
|
+
* @param options.ref {string} The handle to match.
|
|
128
|
+
* @param options.noun {string} Plural noun for the ambiguity message (e.g. `zcaps`).
|
|
129
|
+
* @param options.alternative {string} The unambiguous identifier to suggest instead.
|
|
130
|
+
* @param options.storageIds {string[]} The storage ids to scan.
|
|
131
|
+
* @param options.loadMeta {(storageId: string) => Promise<MetaType | undefined>}
|
|
132
|
+
* Loads the metadata sidecar for a storage id.
|
|
133
|
+
* @returns {Promise<{storageId: string, meta: MetaType} | undefined>}
|
|
134
|
+
*/
|
|
135
|
+
export async function resolveByHandle({ ref, noun, alternative, storageIds, loadMeta }) {
|
|
136
|
+
const matches = [];
|
|
137
|
+
for (const storageId of storageIds) {
|
|
138
|
+
const meta = await loadMeta(storageId);
|
|
139
|
+
if (meta?.handle === ref) {
|
|
140
|
+
matches.push({ storageId, meta });
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
if (matches.length === 0) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
if (matches.length > 1) {
|
|
147
|
+
throw new Error(`Handle "${ref}" matches ${matches.length} ${noun}; ` +
|
|
148
|
+
`use the ${alternative} instead.`);
|
|
149
|
+
}
|
|
150
|
+
return matches[0];
|
|
151
|
+
}
|
|
118
152
|
/**
|
|
119
153
|
* Resolve a user-supplied DID reference -- a full DID or a metadata handle --
|
|
120
154
|
* to a stored DID. Anything starting with `did:` is returned as-is; otherwise
|
|
@@ -130,22 +164,14 @@ export async function resolveDidRef({ ref }) {
|
|
|
130
164
|
if (ref.startsWith('did:')) {
|
|
131
165
|
return ref;
|
|
132
166
|
}
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (matches.length === 0) {
|
|
142
|
-
return undefined;
|
|
143
|
-
}
|
|
144
|
-
if (matches.length > 1) {
|
|
145
|
-
throw new Error(`Handle "${ref}" matches ${matches.length} DIDs; ` +
|
|
146
|
-
'use the full DID instead.');
|
|
147
|
-
}
|
|
148
|
-
return matches[0];
|
|
167
|
+
const match = await resolveByHandle({
|
|
168
|
+
ref,
|
|
169
|
+
noun: 'DIDs',
|
|
170
|
+
alternative: 'full DID',
|
|
171
|
+
storageIds: await listDids(),
|
|
172
|
+
loadMeta: did => loadDidMeta({ did })
|
|
173
|
+
});
|
|
174
|
+
return match?.storageId;
|
|
149
175
|
}
|
|
150
176
|
/**
|
|
151
177
|
* Resolve a user-supplied zcap reference -- a capability id (the `urn:...`
|
|
@@ -156,12 +182,15 @@ export async function resolveDidRef({ ref }) {
|
|
|
156
182
|
*
|
|
157
183
|
* @param options {object}
|
|
158
184
|
* @param options.ref {string}
|
|
159
|
-
* @returns {Promise<{storageId: string, zcap: StoredZcap, meta?:
|
|
185
|
+
* @returns {Promise<{storageId: string, zcap: StoredZcap, meta?: ItemMetadata} | undefined>}
|
|
160
186
|
*/
|
|
161
187
|
export async function resolveZcapRef({ ref }) {
|
|
162
188
|
const storageIds = await listCollection('zcaps');
|
|
163
189
|
for (const storageId of storageIds) {
|
|
164
|
-
const zcap = await loadFromCollection(
|
|
190
|
+
const zcap = await loadFromCollection({
|
|
191
|
+
collection: 'zcaps',
|
|
192
|
+
storageId
|
|
193
|
+
});
|
|
165
194
|
if (zcap.id === ref) {
|
|
166
195
|
const meta = await loadMetaFromCollection({
|
|
167
196
|
collection: 'zcaps',
|
|
@@ -170,26 +199,21 @@ export async function resolveZcapRef({ ref }) {
|
|
|
170
199
|
return { storageId, zcap, meta };
|
|
171
200
|
}
|
|
172
201
|
}
|
|
173
|
-
const
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
})
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
if (matches.length === 0) {
|
|
202
|
+
const match = await resolveByHandle({
|
|
203
|
+
ref,
|
|
204
|
+
noun: 'zcaps',
|
|
205
|
+
alternative: 'capability id',
|
|
206
|
+
storageIds,
|
|
207
|
+
loadMeta: storageId => loadMetaFromCollection({ collection: 'zcaps', storageId })
|
|
208
|
+
});
|
|
209
|
+
if (!match) {
|
|
184
210
|
return undefined;
|
|
185
211
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
const zcap = await loadFromCollection('zcaps', storageId);
|
|
192
|
-
return { storageId, zcap, meta };
|
|
212
|
+
const zcap = await loadFromCollection({
|
|
213
|
+
collection: 'zcaps',
|
|
214
|
+
storageId: match.storageId
|
|
215
|
+
});
|
|
216
|
+
return { storageId: match.storageId, zcap, meta: match.meta };
|
|
193
217
|
}
|
|
194
218
|
/**
|
|
195
219
|
* Resolve a user-supplied credential reference -- a credential id, a storage
|
|
@@ -201,12 +225,15 @@ export async function resolveZcapRef({ ref }) {
|
|
|
201
225
|
*
|
|
202
226
|
* @param options {object}
|
|
203
227
|
* @param options.ref {string}
|
|
204
|
-
* @returns {Promise<{storageId: string, credential: StoredCredential, meta?:
|
|
228
|
+
* @returns {Promise<{storageId: string, credential: StoredCredential, meta?: ItemMetadata} | undefined>}
|
|
205
229
|
*/
|
|
206
230
|
export async function resolveCredentialRef({ ref }) {
|
|
207
231
|
const storageIds = await listCollection('credentials');
|
|
208
232
|
for (const storageId of storageIds) {
|
|
209
|
-
const credential = await loadFromCollection(
|
|
233
|
+
const credential = await loadFromCollection({
|
|
234
|
+
collection: 'credentials',
|
|
235
|
+
storageId
|
|
236
|
+
});
|
|
210
237
|
if (credential.id === ref) {
|
|
211
238
|
const meta = await loadMetaFromCollection({
|
|
212
239
|
collection: 'credentials',
|
|
@@ -216,33 +243,31 @@ export async function resolveCredentialRef({ ref }) {
|
|
|
216
243
|
}
|
|
217
244
|
}
|
|
218
245
|
if (storageIds.includes(ref)) {
|
|
219
|
-
const credential = await loadFromCollection(
|
|
220
|
-
const meta = await loadMetaFromCollection({
|
|
246
|
+
const credential = await loadFromCollection({
|
|
221
247
|
collection: 'credentials',
|
|
222
248
|
storageId: ref
|
|
223
249
|
});
|
|
224
|
-
return { storageId: ref, credential, meta };
|
|
225
|
-
}
|
|
226
|
-
const matches = [];
|
|
227
|
-
for (const storageId of storageIds) {
|
|
228
250
|
const meta = await loadMetaFromCollection({
|
|
229
251
|
collection: 'credentials',
|
|
230
|
-
storageId
|
|
252
|
+
storageId: ref
|
|
231
253
|
});
|
|
232
|
-
|
|
233
|
-
matches.push({ storageId, meta });
|
|
234
|
-
}
|
|
254
|
+
return { storageId: ref, credential, meta };
|
|
235
255
|
}
|
|
236
|
-
|
|
256
|
+
const match = await resolveByHandle({
|
|
257
|
+
ref,
|
|
258
|
+
noun: 'credentials',
|
|
259
|
+
alternative: 'credential id',
|
|
260
|
+
storageIds,
|
|
261
|
+
loadMeta: storageId => loadMetaFromCollection({ collection: 'credentials', storageId })
|
|
262
|
+
});
|
|
263
|
+
if (!match) {
|
|
237
264
|
return undefined;
|
|
238
265
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
const credential = await loadFromCollection('credentials', storageId);
|
|
245
|
-
return { storageId, credential, meta };
|
|
266
|
+
const credential = await loadFromCollection({
|
|
267
|
+
collection: 'credentials',
|
|
268
|
+
storageId: match.storageId
|
|
269
|
+
});
|
|
270
|
+
return { storageId: match.storageId, credential, meta: match.meta };
|
|
246
271
|
}
|
|
247
272
|
/**
|
|
248
273
|
* Resolve a user-supplied key reference -- a publicKeyMultibase fingerprint
|
|
@@ -253,7 +278,7 @@ export async function resolveCredentialRef({ ref }) {
|
|
|
253
278
|
*
|
|
254
279
|
* @param options {object}
|
|
255
280
|
* @param options.ref {string}
|
|
256
|
-
* @returns {Promise<{storageId: string, key:
|
|
281
|
+
* @returns {Promise<{storageId: string, key: StoredKeyPair, meta?: KeyMetadata} | undefined>}
|
|
257
282
|
*/
|
|
258
283
|
export async function resolveKeyRef({ ref }) {
|
|
259
284
|
const byFingerprint = await findStoredKey({ fingerprint: ref });
|
|
@@ -264,23 +289,20 @@ export async function resolveKeyRef({ ref }) {
|
|
|
264
289
|
});
|
|
265
290
|
return { ...byFingerprint, meta };
|
|
266
291
|
}
|
|
267
|
-
const
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
if (matches.length === 0) {
|
|
292
|
+
const match = await resolveByHandle({
|
|
293
|
+
ref,
|
|
294
|
+
noun: 'keys',
|
|
295
|
+
alternative: 'publicKeyMultibase fingerprint',
|
|
296
|
+
storageIds: await listCollection('keys'),
|
|
297
|
+
loadMeta: storageId => loadMetaFromCollection({ collection: 'keys', storageId })
|
|
298
|
+
});
|
|
299
|
+
if (!match) {
|
|
276
300
|
return undefined;
|
|
277
301
|
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
const key = await loadFromCollection('keys', storageId);
|
|
284
|
-
return { storageId, key, meta };
|
|
302
|
+
const key = await loadFromCollection({
|
|
303
|
+
collection: 'keys',
|
|
304
|
+
storageId: match.storageId
|
|
305
|
+
});
|
|
306
|
+
return { storageId: match.storageId, key, meta: match.meta };
|
|
285
307
|
}
|
|
286
308
|
//# sourceMappingURL=meta.js.map
|
package/dist/meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,cAAc,EACd,QAAQ,EACR,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -28,6 +28,19 @@ export interface ItemMetadata {
|
|
|
28
28
|
export interface KeyMetadata extends ItemMetadata {
|
|
29
29
|
dids?: string[];
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* The shape of an exported key pair saved in a `<did>.keys.json` file (a DID
|
|
33
|
+
* signing key) or a wallet `keys/` collection item. Only `id` is always
|
|
34
|
+
* present: `controller`/`type` are absent from some exports, and the
|
|
35
|
+
* `publicKeyMultibase`/`secretKeyMultibase` pair is absent for a symmetric key.
|
|
36
|
+
*/
|
|
37
|
+
export interface StoredKeyPair {
|
|
38
|
+
id: string;
|
|
39
|
+
controller?: string;
|
|
40
|
+
type?: string;
|
|
41
|
+
publicKeyMultibase?: string;
|
|
42
|
+
secretKeyMultibase?: string;
|
|
43
|
+
}
|
|
31
44
|
/**
|
|
32
45
|
* List the storage IDs of all items saved in a wallet collection.
|
|
33
46
|
*
|
|
@@ -43,24 +56,41 @@ export declare function listCollection(collection: string): Promise<string[]>;
|
|
|
43
56
|
/**
|
|
44
57
|
* Load and JSON-parse a single item from a wallet collection.
|
|
45
58
|
*
|
|
46
|
-
* @param
|
|
47
|
-
* @param
|
|
59
|
+
* @param options {object}
|
|
60
|
+
* @param options.collection {string}
|
|
61
|
+
* @param options.storageId {string}
|
|
48
62
|
* @returns {Promise<T>}
|
|
49
63
|
*/
|
|
50
|
-
export declare function loadFromCollection<T = unknown>(collection
|
|
51
|
-
|
|
64
|
+
export declare function loadFromCollection<T = unknown>({ collection, storageId }: {
|
|
65
|
+
collection: string;
|
|
66
|
+
storageId: string;
|
|
67
|
+
}): Promise<T>;
|
|
68
|
+
/**
|
|
69
|
+
* JSON-serialize and save a single item into a wallet collection.
|
|
70
|
+
*
|
|
71
|
+
* @param options {object}
|
|
72
|
+
* @param options.collection {string}
|
|
73
|
+
* @param options.storageId {string}
|
|
74
|
+
* @param options.data {object}
|
|
75
|
+
* @returns {Promise<string>} the item file path.
|
|
76
|
+
*/
|
|
77
|
+
export declare function saveToCollection({ collection, storageId, data }: {
|
|
78
|
+
collection: string;
|
|
79
|
+
storageId: string;
|
|
80
|
+
data: object;
|
|
81
|
+
}): Promise<string>;
|
|
52
82
|
/**
|
|
53
83
|
* Load the `.meta.json` metadata sidecar of a wallet collection item.
|
|
54
84
|
*
|
|
55
85
|
* @param options {object}
|
|
56
86
|
* @param options.collection {string}
|
|
57
87
|
* @param options.storageId {string}
|
|
58
|
-
* @returns {Promise<
|
|
88
|
+
* @returns {Promise<T | undefined>} undefined when no sidecar exists.
|
|
59
89
|
*/
|
|
60
|
-
export declare function loadMetaFromCollection({ collection, storageId }: {
|
|
90
|
+
export declare function loadMetaFromCollection<T extends ItemMetadata = ItemMetadata>({ collection, storageId }: {
|
|
61
91
|
collection: string;
|
|
62
92
|
storageId: string;
|
|
63
|
-
}): Promise<
|
|
93
|
+
}): Promise<T | undefined>;
|
|
64
94
|
/**
|
|
65
95
|
* Save the `.meta.json` metadata sidecar of a wallet collection item.
|
|
66
96
|
*
|
|
@@ -98,18 +128,23 @@ export declare function removeFromCollection({ collection, storageId }: {
|
|
|
98
128
|
*
|
|
99
129
|
* @param options {object}
|
|
100
130
|
* @param options.fingerprint {string}
|
|
101
|
-
* @returns {Promise<{storageId: string, key:
|
|
131
|
+
* @returns {Promise<{storageId: string, key: StoredKeyPair} | undefined>}
|
|
102
132
|
*/
|
|
103
133
|
export declare function findStoredKey({ fingerprint }: {
|
|
104
134
|
fingerprint: string;
|
|
105
135
|
}): Promise<{
|
|
106
136
|
storageId: string;
|
|
107
|
-
key:
|
|
108
|
-
id?: string;
|
|
109
|
-
publicKeyMultibase?: string;
|
|
110
|
-
secretKeyMultibase?: string;
|
|
111
|
-
};
|
|
137
|
+
key: StoredKeyPair;
|
|
112
138
|
} | undefined>;
|
|
139
|
+
/**
|
|
140
|
+
* Extract the method name from a DID -- the segment between the first two
|
|
141
|
+
* colons (`did:web:example.com` -> `web`). Used to pick the per-method storage
|
|
142
|
+
* subdirectory and to label DIDs in listings.
|
|
143
|
+
*
|
|
144
|
+
* @param did {string}
|
|
145
|
+
* @returns {string}
|
|
146
|
+
*/
|
|
147
|
+
export declare function methodOf(did: string): string;
|
|
113
148
|
/**
|
|
114
149
|
* List the DIDs saved in local storage, across all method subdirectories.
|
|
115
150
|
*
|
|
@@ -176,6 +211,80 @@ export declare function saveDidMeta({ did, meta }: {
|
|
|
176
211
|
export declare function removeDidFiles({ did }: {
|
|
177
212
|
did: string;
|
|
178
213
|
}): Promise<string[]>;
|
|
214
|
+
/**
|
|
215
|
+
* Save a did:webvh history log as a raw newline-delimited JSON (`.jsonl`) file
|
|
216
|
+
* alongside the DID document, under the method subdirectory.
|
|
217
|
+
*
|
|
218
|
+
* Unlike `saveToDids`, the log is written as raw text -- each entry serialized
|
|
219
|
+
* on its own line with a trailing newline -- not as a pretty-printed JSON
|
|
220
|
+
* object, so it round-trips as a valid `did.jsonl`.
|
|
221
|
+
*
|
|
222
|
+
* @param options {object}
|
|
223
|
+
* @param options.did {string}
|
|
224
|
+
* @param options.log {object[]} the array of signed log entries.
|
|
225
|
+
* @returns {Promise<string>} the log file path.
|
|
226
|
+
*/
|
|
227
|
+
export declare function saveDidLog({ did, log }: {
|
|
228
|
+
did: string;
|
|
229
|
+
log: object[];
|
|
230
|
+
}): Promise<string>;
|
|
231
|
+
/**
|
|
232
|
+
* Load the raw did:webvh history log (`.jsonl`) saved for a DID.
|
|
233
|
+
*
|
|
234
|
+
* Returns the file's raw text (newline-delimited JSON), suitable for feeding to
|
|
235
|
+
* `resolveDIDFromLog` after splitting on newlines.
|
|
236
|
+
*
|
|
237
|
+
* @param did {string}
|
|
238
|
+
* @returns {Promise<string>}
|
|
239
|
+
*/
|
|
240
|
+
export declare function loadDidLog(did: string): Promise<string>;
|
|
241
|
+
/**
|
|
242
|
+
* A did:webvh update (authorization) key pair. Update keys authorize new log
|
|
243
|
+
* entries and are deliberately kept separate from the document's
|
|
244
|
+
* verification-method keys (`<did>.keys.json`). `secretKeyMultibase` is absent
|
|
245
|
+
* only for an externally-held key supplied by public value alone.
|
|
246
|
+
*/
|
|
247
|
+
export interface WebvhUpdateKey {
|
|
248
|
+
publicKeyMultibase: string;
|
|
249
|
+
secretKeyMultibase?: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* The update-key state of a did:webvh DID, persisted in the
|
|
253
|
+
* `<did>.update-keys.json` sidecar: the key authorized right now (`active`)
|
|
254
|
+
* and, when pre-rotation is armed, the pre-committed next key (`staged`) whose
|
|
255
|
+
* hash is published in the log's `nextKeyHashes`. `staged` is absent only when
|
|
256
|
+
* pre-rotation is off. `retired` keeps superseded secrets when a rotation is
|
|
257
|
+
* asked to preserve them (`rotate-keys --keep-old-key`); they are needed only
|
|
258
|
+
* to verify historic entries, so the default is to drop them.
|
|
259
|
+
*/
|
|
260
|
+
export interface WebvhUpdateKeys {
|
|
261
|
+
active: WebvhUpdateKey;
|
|
262
|
+
staged?: WebvhUpdateKey & {
|
|
263
|
+
nextKeyHash: string;
|
|
264
|
+
};
|
|
265
|
+
retired?: WebvhUpdateKey[];
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Save the `<did>.update-keys.json` sidecar holding a did:webvh DID's update
|
|
269
|
+
* (authorization) keys, alongside its DID document under the method subdir.
|
|
270
|
+
*
|
|
271
|
+
* @param options {object}
|
|
272
|
+
* @param options.did {string}
|
|
273
|
+
* @param options.updateKeys {WebvhUpdateKeys}
|
|
274
|
+
* @returns {Promise<string>} the sidecar file path.
|
|
275
|
+
*/
|
|
276
|
+
export declare function saveDidUpdateKeys({ did, updateKeys }: {
|
|
277
|
+
did: string;
|
|
278
|
+
updateKeys: WebvhUpdateKeys;
|
|
279
|
+
}): Promise<string>;
|
|
280
|
+
/**
|
|
281
|
+
* Load the `<did>.update-keys.json` sidecar of a did:webvh DID. Throws (ENOENT)
|
|
282
|
+
* when no sidecar exists -- e.g. a DID created before pre-rotation support.
|
|
283
|
+
*
|
|
284
|
+
* @param did {string}
|
|
285
|
+
* @returns {Promise<WebvhUpdateKeys>}
|
|
286
|
+
*/
|
|
287
|
+
export declare function loadDidUpdateKeys(did: string): Promise<WebvhUpdateKeys>;
|
|
179
288
|
/**
|
|
180
289
|
* @param options {object}
|
|
181
290
|
* @param options.method {string}
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe1E;AAED
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|