@interop/did-cli 0.10.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 +58 -0
- 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 +8 -8
- package/dist/commands/did.d.ts.map +1 -1
- package/dist/commands/did.js +27 -1519
- 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.map +1 -1
- package/dist/commands/was/space.js +10 -16
- 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.map +1 -1
- package/dist/commands/was.js +60 -74
- 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/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 +48 -13
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +40 -16
- 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.map +1 -1
- package/dist/was/registry.js +9 -2
- 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 +5 -4
- package/dist/keys/webvh-driver.d.ts +0 -24
- package/dist/keys/webvh-driver.d.ts.map +0 -1
- package/dist/keys/webvh-driver.js +0 -73
- package/dist/keys/webvh-driver.js.map +0 -1
package/dist/storage.js
CHANGED
|
@@ -50,15 +50,25 @@ export async function listCollection(collection) {
|
|
|
50
50
|
/**
|
|
51
51
|
* Load and JSON-parse a single item from a wallet collection.
|
|
52
52
|
*
|
|
53
|
-
* @param
|
|
54
|
-
* @param
|
|
53
|
+
* @param options {object}
|
|
54
|
+
* @param options.collection {string}
|
|
55
|
+
* @param options.storageId {string}
|
|
55
56
|
* @returns {Promise<T>}
|
|
56
57
|
*/
|
|
57
|
-
export async function loadFromCollection(collection, storageId) {
|
|
58
|
+
export async function loadFromCollection({ collection, storageId }) {
|
|
58
59
|
const filePath = join(getWalletDir(), collection, `${storageId}.json`);
|
|
59
60
|
return JSON.parse(await readFile(filePath, 'utf8'));
|
|
60
61
|
}
|
|
61
|
-
|
|
62
|
+
/**
|
|
63
|
+
* JSON-serialize and save a single item into a wallet collection.
|
|
64
|
+
*
|
|
65
|
+
* @param options {object}
|
|
66
|
+
* @param options.collection {string}
|
|
67
|
+
* @param options.storageId {string}
|
|
68
|
+
* @param options.data {object}
|
|
69
|
+
* @returns {Promise<string>} the item file path.
|
|
70
|
+
*/
|
|
71
|
+
export async function saveToCollection({ collection, storageId, data }) {
|
|
62
72
|
const dir = join(getWalletDir(), collection);
|
|
63
73
|
await mkdir(dir, { recursive: true });
|
|
64
74
|
const filePath = join(dir, `${storageId}.json`);
|
|
@@ -71,7 +81,7 @@ export async function saveToCollection(collection, storageId, data) {
|
|
|
71
81
|
* @param options {object}
|
|
72
82
|
* @param options.collection {string}
|
|
73
83
|
* @param options.storageId {string}
|
|
74
|
-
* @returns {Promise<
|
|
84
|
+
* @returns {Promise<T | undefined>} undefined when no sidecar exists.
|
|
75
85
|
*/
|
|
76
86
|
export async function loadMetaFromCollection({ collection, storageId }) {
|
|
77
87
|
const filePath = join(getWalletDir(), collection, `${storageId}.meta.json`);
|
|
@@ -150,12 +160,15 @@ export async function removeFromCollection({ collection, storageId }) {
|
|
|
150
160
|
*
|
|
151
161
|
* @param options {object}
|
|
152
162
|
* @param options.fingerprint {string}
|
|
153
|
-
* @returns {Promise<{storageId: string, key:
|
|
163
|
+
* @returns {Promise<{storageId: string, key: StoredKeyPair} | undefined>}
|
|
154
164
|
*/
|
|
155
165
|
export async function findStoredKey({ fingerprint }) {
|
|
156
166
|
const storageIds = await listCollection('keys');
|
|
157
167
|
for (const storageId of storageIds) {
|
|
158
|
-
const key = await loadFromCollection(
|
|
168
|
+
const key = await loadFromCollection({
|
|
169
|
+
collection: 'keys',
|
|
170
|
+
storageId
|
|
171
|
+
});
|
|
159
172
|
if (key.publicKeyMultibase === fingerprint || key.id === fingerprint) {
|
|
160
173
|
return { storageId, key };
|
|
161
174
|
}
|
|
@@ -165,6 +178,17 @@ export async function findStoredKey({ fingerprint }) {
|
|
|
165
178
|
function getDidsDir() {
|
|
166
179
|
return process.env.DIDS_DIR ?? join(getWalletDir(), 'dids');
|
|
167
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Extract the method name from a DID -- the segment between the first two
|
|
183
|
+
* colons (`did:web:example.com` -> `web`). Used to pick the per-method storage
|
|
184
|
+
* subdirectory and to label DIDs in listings.
|
|
185
|
+
*
|
|
186
|
+
* @param did {string}
|
|
187
|
+
* @returns {string}
|
|
188
|
+
*/
|
|
189
|
+
export function methodOf(did) {
|
|
190
|
+
return did.split(':')[1];
|
|
191
|
+
}
|
|
168
192
|
/**
|
|
169
193
|
* List the DIDs saved in local storage, across all method subdirectories.
|
|
170
194
|
*
|
|
@@ -216,7 +240,7 @@ export async function listDids() {
|
|
|
216
240
|
* @returns {Promise<T>}
|
|
217
241
|
*/
|
|
218
242
|
export async function loadDidDocument(did) {
|
|
219
|
-
const method = did
|
|
243
|
+
const method = methodOf(did);
|
|
220
244
|
const filePath = join(getDidsDir(), method, `${did}.json`);
|
|
221
245
|
return JSON.parse(await readFile(filePath, 'utf8'));
|
|
222
246
|
}
|
|
@@ -230,7 +254,7 @@ export async function loadDidDocument(did) {
|
|
|
230
254
|
* @returns {Promise<T>}
|
|
231
255
|
*/
|
|
232
256
|
export async function loadDidKeys(did) {
|
|
233
|
-
const method = did
|
|
257
|
+
const method = methodOf(did);
|
|
234
258
|
const filePath = join(getDidsDir(), method, `${did}.keys.json`);
|
|
235
259
|
return JSON.parse(await readFile(filePath, 'utf8'));
|
|
236
260
|
}
|
|
@@ -242,7 +266,7 @@ export async function loadDidKeys(did) {
|
|
|
242
266
|
* @returns {Promise<ItemMetadata | undefined>} undefined when no sidecar exists.
|
|
243
267
|
*/
|
|
244
268
|
export async function loadDidMeta({ did }) {
|
|
245
|
-
const method = did
|
|
269
|
+
const method = methodOf(did);
|
|
246
270
|
const filePath = join(getDidsDir(), method, `${did}.meta.json`);
|
|
247
271
|
try {
|
|
248
272
|
return JSON.parse(await readFile(filePath, 'utf8'));
|
|
@@ -263,7 +287,7 @@ export async function loadDidMeta({ did }) {
|
|
|
263
287
|
* @returns {Promise<string>} the sidecar file path.
|
|
264
288
|
*/
|
|
265
289
|
export async function saveDidMeta({ did, meta }) {
|
|
266
|
-
const method = did
|
|
290
|
+
const method = methodOf(did);
|
|
267
291
|
return saveToDids({ method, did, suffix: 'meta', data: meta });
|
|
268
292
|
}
|
|
269
293
|
/**
|
|
@@ -276,7 +300,7 @@ export async function saveDidMeta({ did, meta }) {
|
|
|
276
300
|
* @returns {Promise<string[]>} the file paths that were deleted.
|
|
277
301
|
*/
|
|
278
302
|
export async function removeDidFiles({ did }) {
|
|
279
|
-
const method = did
|
|
303
|
+
const method = methodOf(did);
|
|
280
304
|
const dir = join(getDidsDir(), method);
|
|
281
305
|
const removed = [];
|
|
282
306
|
const docPath = join(dir, `${did}.json`);
|
|
@@ -310,7 +334,7 @@ export async function removeDidFiles({ did }) {
|
|
|
310
334
|
* @returns {Promise<string>} the log file path.
|
|
311
335
|
*/
|
|
312
336
|
export async function saveDidLog({ did, log }) {
|
|
313
|
-
const method = did
|
|
337
|
+
const method = methodOf(did);
|
|
314
338
|
const dir = join(getDidsDir(), method);
|
|
315
339
|
await mkdir(dir, { recursive: true });
|
|
316
340
|
const filePath = join(dir, `${did}.jsonl`);
|
|
@@ -328,7 +352,7 @@ export async function saveDidLog({ did, log }) {
|
|
|
328
352
|
* @returns {Promise<string>}
|
|
329
353
|
*/
|
|
330
354
|
export async function loadDidLog(did) {
|
|
331
|
-
const method = did
|
|
355
|
+
const method = methodOf(did);
|
|
332
356
|
const filePath = join(getDidsDir(), method, `${did}.jsonl`);
|
|
333
357
|
return readFile(filePath, 'utf8');
|
|
334
358
|
}
|
|
@@ -342,7 +366,7 @@ export async function loadDidLog(did) {
|
|
|
342
366
|
* @returns {Promise<string>} the sidecar file path.
|
|
343
367
|
*/
|
|
344
368
|
export async function saveDidUpdateKeys({ did, updateKeys }) {
|
|
345
|
-
const method = did
|
|
369
|
+
const method = methodOf(did);
|
|
346
370
|
return saveToDids({ method, did, suffix: 'update-keys', data: updateKeys });
|
|
347
371
|
}
|
|
348
372
|
/**
|
|
@@ -353,7 +377,7 @@ export async function saveDidUpdateKeys({ did, updateKeys }) {
|
|
|
353
377
|
* @returns {Promise<WebvhUpdateKeys>}
|
|
354
378
|
*/
|
|
355
379
|
export async function loadDidUpdateKeys(did) {
|
|
356
|
-
const method = did
|
|
380
|
+
const method = methodOf(did);
|
|
357
381
|
const filePath = join(getDidsDir(), method, `${did}.update-keys.json`);
|
|
358
382
|
return JSON.parse(await readFile(filePath, 'utf8'));
|
|
359
383
|
}
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,SAAS,YAAY;IACnB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;IAC/B,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IAC5E,OAAO,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAC1E,CAAC;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/vc/issue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/vc/issue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/vc/issue.ts"],"names":[],"mappings":"AAmOA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CAAC,EACpC,UAAU,EACV,GAAG,EACH,KAAK,EACL,KAAK,EACN,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,CAAC,CA2ClB"}
|
package/dist/vc/issue.js
CHANGED
|
@@ -19,15 +19,9 @@ import * as EcdsaMultikey from '@interop/ecdsa-multikey';
|
|
|
19
19
|
import { ecdsaRdfc2019 } from '@interop/ecdsa-signature';
|
|
20
20
|
import { DataIntegrityProof } from '@interop/data-integrity-proof';
|
|
21
21
|
import { issue } from '@interop/vc';
|
|
22
|
-
import {
|
|
22
|
+
import { documentLoader } from '../documentLoader.js';
|
|
23
23
|
import { loadDidDocument, loadDidKeys } from '../storage.js';
|
|
24
24
|
import { isEcdsaPublicKeyMultibase } from '../keys/ecdsa.js';
|
|
25
|
-
/**
|
|
26
|
-
* Offline document loader for signing: bundles the VC / Data Integrity / suite
|
|
27
|
-
* contexts (including the `ed25519-2020` suite context) and a did:key resolver.
|
|
28
|
-
* Built once and reused across calls.
|
|
29
|
-
*/
|
|
30
|
-
const documentLoader = securityLoader().build();
|
|
31
25
|
/**
|
|
32
26
|
* The supported `--suite` values per key type. The signing key's type (read
|
|
33
27
|
* from its multibase header) determines which suites are usable; an ed25519 key
|
|
@@ -202,6 +196,9 @@ export async function issueCredential({ credential, did, keyId, suite }) {
|
|
|
202
196
|
throw new Error(`No stored secret key found for key id ${selectedKeyId} in DID ${did}`);
|
|
203
197
|
}
|
|
204
198
|
const signatureSuite = await buildSuite({ storedKey, suite });
|
|
199
|
+
// The local credential / suite / loader shapes satisfy @interop/vc's
|
|
200
|
+
// contracts structurally but are typed independently here; cast to the option
|
|
201
|
+
// types rather than the blanket `as never`.
|
|
205
202
|
return issue({
|
|
206
203
|
credential: credential,
|
|
207
204
|
suite: signatureSuite,
|
package/dist/vc/issue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/vc/issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACd,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/vc/issue.ts"],"names":[],"mappings":"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"}
|
package/dist/vc/verify.d.ts
CHANGED
|
@@ -35,6 +35,16 @@ export declare function verifyCredentialFully({ credential, registries }: {
|
|
|
35
35
|
* @returns {CheckResult | undefined}
|
|
36
36
|
*/
|
|
37
37
|
export declare function findParseFailure(result: CredentialVerificationResult): CheckResult | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Returns the explanatory `detail` of an unresolved-verification-method problem
|
|
40
|
+
* when verification failed because the proof's DID method could not be resolved,
|
|
41
|
+
* or undefined otherwise. Drives a friendly CLI hint distinguishing this
|
|
42
|
+
* misconfiguration from a genuine invalid signature.
|
|
43
|
+
*
|
|
44
|
+
* @param result {CredentialVerificationResult}
|
|
45
|
+
* @returns {string | undefined}
|
|
46
|
+
*/
|
|
47
|
+
export declare function unresolvedMethodDetail(result: CredentialVerificationResult): string | undefined;
|
|
38
48
|
/**
|
|
39
49
|
* Translates a verifier-core result into a compact summary object for the
|
|
40
50
|
* `--summary` flag.
|
package/dist/vc/verify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/vc/verify.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,4BAA4B,EAC5B,WAAW,
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/vc/verify.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,4BAA4B,EAC5B,WAAW,EAEX,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAiB/B;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE;QACN,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC3B,CAAA;IACD,eAAe,EAAE,OAAO,EAAE,CAAA;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,UAAU,EACV,UAAU,EACX,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,sBAAsB,EAAE,CAAA;CACrC,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAiBxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,4BAA4B,GACnC,WAAW,GAAG,SAAS,CAKzB;AAWD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,4BAA4B,GACnC,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,4BAA4B,GACnC,mBAAmB,CAcrB"}
|
package/dist/vc/verify.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { verifyCredential, ProblemTypes } from '@interop/verifier-core';
|
|
14
14
|
import { expirationSuite } from './suites/expirationSuite.js';
|
|
15
15
|
import { issuerDetailsSuite } from './suites/issuerDetailsSuite.js';
|
|
16
|
+
import { documentLoader } from '../documentLoader.js';
|
|
16
17
|
/**
|
|
17
18
|
* Dot-separated check ids emitted by the verifier-core pipeline (and the two
|
|
18
19
|
* custom suites) that the summary reads.
|
|
@@ -36,9 +37,17 @@ const CHECK_ID = {
|
|
|
36
37
|
*/
|
|
37
38
|
export async function verifyCredentialFully({ credential, registries }) {
|
|
38
39
|
return verifyCredential({
|
|
39
|
-
credential
|
|
40
|
+
// `credential` is typed `unknown` by verifier-core (parsed internally via
|
|
41
|
+
// Zod), so the local object passes without a cast.
|
|
42
|
+
credential,
|
|
40
43
|
registries,
|
|
41
44
|
additionalSuites: [expirationSuite, issuerDetailsSuite],
|
|
45
|
+
// The shared loader resolves did:webvh (and did:web / did:key) verification
|
|
46
|
+
// methods; verifier-core's default loader knows only did:key + did:web, so
|
|
47
|
+
// without this a did:webvh issuer's signature can never be checked. The
|
|
48
|
+
// local loader is typed independently, so cast to verifier-core's
|
|
49
|
+
// DocumentLoader rather than the blanket `as never`.
|
|
50
|
+
documentLoader: documentLoader,
|
|
42
51
|
// verbose so results[] carries EVERY check (incl. successes and the
|
|
43
52
|
// issuer-details payload), not just failures folded into summary[].
|
|
44
53
|
verbose: true
|
|
@@ -54,6 +63,34 @@ export async function verifyCredentialFully({ credential, registries }) {
|
|
|
54
63
|
export function findParseFailure(result) {
|
|
55
64
|
return result.results.find(check => check.check === CHECK_ID.parsing && check.outcome.status === 'failure');
|
|
56
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* verifier-core problem type emitted when a proof's verification method uses a
|
|
68
|
+
* DID method the document loader has no resolver/driver for. The signature was
|
|
69
|
+
* never actually checked, so this is a loader misconfiguration, not a bad
|
|
70
|
+
* signature.
|
|
71
|
+
*/
|
|
72
|
+
const VERIFICATION_METHOD_UNRESOLVED = 'https://www.w3.org/TR/vc-data-model#VERIFICATION_METHOD_UNRESOLVED';
|
|
73
|
+
/**
|
|
74
|
+
* Returns the explanatory `detail` of an unresolved-verification-method problem
|
|
75
|
+
* when verification failed because the proof's DID method could not be resolved,
|
|
76
|
+
* or undefined otherwise. Drives a friendly CLI hint distinguishing this
|
|
77
|
+
* misconfiguration from a genuine invalid signature.
|
|
78
|
+
*
|
|
79
|
+
* @param result {CredentialVerificationResult}
|
|
80
|
+
* @returns {string | undefined}
|
|
81
|
+
*/
|
|
82
|
+
export function unresolvedMethodDetail(result) {
|
|
83
|
+
for (const check of result.results) {
|
|
84
|
+
if (check.outcome.status !== 'failure') {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const problem = check.outcome.problems.find(candidate => candidate.type === VERIFICATION_METHOD_UNRESOLVED);
|
|
88
|
+
if (problem) {
|
|
89
|
+
return problem.detail;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
57
94
|
/**
|
|
58
95
|
* Translates a verifier-core result into a compact summary object for the
|
|
59
96
|
* `--summary` flag.
|
package/dist/vc/verify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/vc/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/vc/verify.ts"],"names":[],"mappings":"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"}
|
package/dist/was/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AASjE;;;;GAIG;AACH,KAAK,gBAAgB,GAAG,CAAC,OAAO,EAAE;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,OAAO,CAAA;CAChB,KAAK,SAAS,CAAA;AAcf;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,CAAA;CACxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,EAClC,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAiC5C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,EACnC,MAAM,EACN,GAAG,EACJ,GAAE;IACD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACR,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAcnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,OAAO,EACP,MAAM,EACN,GAAG,EACJ,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuC7B"}
|
package/dist/was/client.js
CHANGED
|
@@ -19,6 +19,12 @@ import { loadDidDocument, loadDidKeys } from '../storage.js';
|
|
|
19
19
|
import { resolveDidRef } from '../meta.js';
|
|
20
20
|
import { parseWasAddress } from './address.js';
|
|
21
21
|
import { resolveSpaceRef } from './registry.js';
|
|
22
|
+
/**
|
|
23
|
+
* The multibase prefix of an Ed25519 `publicKeyMultibase`. Both Ed25519 and
|
|
24
|
+
* ECDSA keys export as `type: 'Multikey'`, so the multicodec prefix of the
|
|
25
|
+
* public key is what identifies the curve.
|
|
26
|
+
*/
|
|
27
|
+
const ED25519_MULTIBASE_PREFIX = 'z6Mk';
|
|
22
28
|
function defaultWasClientFactory({ serverUrl, signer }) {
|
|
23
29
|
return WasClient.fromSigner({ serverUrl, signer });
|
|
24
30
|
}
|
|
@@ -62,8 +68,8 @@ export async function loadWasSigner({ did }) {
|
|
|
62
68
|
}
|
|
63
69
|
const keysData = await loadDidKeys(resolved);
|
|
64
70
|
// Both Ed25519 and ECDSA keys export as `type: 'Multikey'`; the curve is
|
|
65
|
-
// identified by the multicodec prefix of the public key
|
|
66
|
-
if (!keysData.publicKeyMultibase?.startsWith(
|
|
71
|
+
// identified by the multicodec prefix of the public key.
|
|
72
|
+
if (!keysData.publicKeyMultibase?.startsWith(ED25519_MULTIBASE_PREFIX)) {
|
|
67
73
|
throw new Error('WAS signing currently supports only Ed25519 keys ' +
|
|
68
74
|
`(DID ${resolved} has a different key type).`);
|
|
69
75
|
}
|
package/dist/was/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/was/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability-grant assembly for `was grant`: normalizes the requested actions,
|
|
3
|
+
* resolves the delegatee DID, signs the delegated capability via the WAS
|
|
4
|
+
* client, encodes it, and (optionally) persists it to the local zcap store.
|
|
5
|
+
* The CLI `runGrant` layer only parses options, calls `grantAccess`, and
|
|
6
|
+
* prints -- this module owns the cross-module assembly/encoding/persistence.
|
|
7
|
+
*/
|
|
8
|
+
import { type WasClient } from '@interop/was-client';
|
|
9
|
+
/**
|
|
10
|
+
* Delegates access to a WAS target: resolves the `to` DID, signs a capability
|
|
11
|
+
* for the given actions and expiration via the client, encodes it, and saves
|
|
12
|
+
* it to the local zcap store when `save` is set. Returns the signed
|
|
13
|
+
* capability, its encoded form, and the saved file path (when saved) for the
|
|
14
|
+
* caller to print.
|
|
15
|
+
*
|
|
16
|
+
* @param options {object}
|
|
17
|
+
* @param options.client {WasClient} The signing WAS client.
|
|
18
|
+
* @param options.target {string} The invocation target URL.
|
|
19
|
+
* @param options.to {string} The delegatee DID or stored-DID handle.
|
|
20
|
+
* @param options.actions {string[]} Requested actions (HTTP verbs).
|
|
21
|
+
* @param [options.ttl] {string} Time-to-live for expiration (default 1y).
|
|
22
|
+
* @param [options.expires] {string} Explicit ISO 8601 expiration (overrides
|
|
23
|
+
* ttl).
|
|
24
|
+
* @param [options.save] {boolean} Save the capability to the zcap store.
|
|
25
|
+
* @param [options.handle] {string} Short tag for the saved zcap.
|
|
26
|
+
* @param [options.description] {string} Longer description for the saved zcap.
|
|
27
|
+
* @returns {Promise<{delegatedCapability: object, encoded: string, savedPath?: string}>}
|
|
28
|
+
*/
|
|
29
|
+
export declare function grantAccess({ client, target, to, actions, ttl, expires, save, handle, description }: {
|
|
30
|
+
client: WasClient;
|
|
31
|
+
target: string;
|
|
32
|
+
to: string;
|
|
33
|
+
actions: string[];
|
|
34
|
+
ttl?: string;
|
|
35
|
+
expires?: string;
|
|
36
|
+
save?: boolean;
|
|
37
|
+
handle?: string;
|
|
38
|
+
description?: string;
|
|
39
|
+
}): Promise<{
|
|
40
|
+
delegatedCapability: Awaited<ReturnType<WasClient['grant']>>;
|
|
41
|
+
encoded: string;
|
|
42
|
+
savedPath?: string;
|
|
43
|
+
}>;
|
|
44
|
+
//# sourceMappingURL=grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.d.ts","sourceRoot":"","sources":["../../src/was/grant.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAiCpD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAAC,EAChC,MAAM,EACN,MAAM,EACN,EAAE,EACF,OAAO,EACP,GAAG,EACH,OAAO,EACP,IAAI,EACJ,MAAM,EACN,WAAW,EACZ,EAAE;IACD,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IACV,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5D,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC,CA+BD"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { resolveDidRef } from '../meta.js';
|
|
2
|
+
import { sanitizeStorageId, saveToCollection } from '../storage.js';
|
|
3
|
+
import { encodeCapability } from '../zcap/encoding.js';
|
|
4
|
+
import { expiresFromTtl } from '../zcap/ttl.js';
|
|
5
|
+
import { writeCreateMeta } from '../commands/collection-command.js';
|
|
6
|
+
/** The zcap wallet collection grants are saved into with `--save`. */
|
|
7
|
+
const ZCAP_COLLECTION = 'zcaps';
|
|
8
|
+
/** The capability actions WAS servers match against (HTTP verbs). */
|
|
9
|
+
const WAS_ACTIONS = ['GET', 'PUT', 'POST', 'DELETE'];
|
|
10
|
+
/**
|
|
11
|
+
* Normalizes grant action verbs to their canonical uppercase form,
|
|
12
|
+
* rejecting anything that is not a WAS-supported HTTP verb.
|
|
13
|
+
*
|
|
14
|
+
* @param actions {string[]}
|
|
15
|
+
* @returns {WasAction[]}
|
|
16
|
+
*/
|
|
17
|
+
function normalizeActions(actions) {
|
|
18
|
+
return actions.map(action => {
|
|
19
|
+
const verb = action.toUpperCase();
|
|
20
|
+
if (!WAS_ACTIONS.includes(verb)) {
|
|
21
|
+
throw new Error(`Unknown action "${action}" (supported: GET, PUT, POST, DELETE).`);
|
|
22
|
+
}
|
|
23
|
+
return verb;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Delegates access to a WAS target: resolves the `to` DID, signs a capability
|
|
28
|
+
* for the given actions and expiration via the client, encodes it, and saves
|
|
29
|
+
* it to the local zcap store when `save` is set. Returns the signed
|
|
30
|
+
* capability, its encoded form, and the saved file path (when saved) for the
|
|
31
|
+
* caller to print.
|
|
32
|
+
*
|
|
33
|
+
* @param options {object}
|
|
34
|
+
* @param options.client {WasClient} The signing WAS client.
|
|
35
|
+
* @param options.target {string} The invocation target URL.
|
|
36
|
+
* @param options.to {string} The delegatee DID or stored-DID handle.
|
|
37
|
+
* @param options.actions {string[]} Requested actions (HTTP verbs).
|
|
38
|
+
* @param [options.ttl] {string} Time-to-live for expiration (default 1y).
|
|
39
|
+
* @param [options.expires] {string} Explicit ISO 8601 expiration (overrides
|
|
40
|
+
* ttl).
|
|
41
|
+
* @param [options.save] {boolean} Save the capability to the zcap store.
|
|
42
|
+
* @param [options.handle] {string} Short tag for the saved zcap.
|
|
43
|
+
* @param [options.description] {string} Longer description for the saved zcap.
|
|
44
|
+
* @returns {Promise<{delegatedCapability: object, encoded: string, savedPath?: string}>}
|
|
45
|
+
*/
|
|
46
|
+
export async function grantAccess({ client, target, to, actions, ttl, expires, save, handle, description }) {
|
|
47
|
+
const normalizedActions = normalizeActions(actions);
|
|
48
|
+
const delegatee = await resolveDidRef({ ref: to });
|
|
49
|
+
if (!delegatee) {
|
|
50
|
+
throw new Error(`No locally stored DID found for "${to}".`);
|
|
51
|
+
}
|
|
52
|
+
const expiresAt = expires ?? expiresFromTtl(ttl ?? '1y').toISOString();
|
|
53
|
+
const delegatedCapability = await client.grant({
|
|
54
|
+
to: delegatee,
|
|
55
|
+
actions: normalizedActions,
|
|
56
|
+
expires: expiresAt,
|
|
57
|
+
target
|
|
58
|
+
});
|
|
59
|
+
const encoded = encodeCapability(delegatedCapability);
|
|
60
|
+
if (!save) {
|
|
61
|
+
return { delegatedCapability, encoded };
|
|
62
|
+
}
|
|
63
|
+
const storageId = sanitizeStorageId(delegatedCapability.id);
|
|
64
|
+
const savedPath = await saveToCollection({
|
|
65
|
+
collection: ZCAP_COLLECTION,
|
|
66
|
+
storageId,
|
|
67
|
+
data: delegatedCapability
|
|
68
|
+
});
|
|
69
|
+
await writeCreateMeta({
|
|
70
|
+
collection: ZCAP_COLLECTION,
|
|
71
|
+
storageId,
|
|
72
|
+
created: new Date().toISOString(),
|
|
73
|
+
handle,
|
|
74
|
+
description
|
|
75
|
+
});
|
|
76
|
+
return { delegatedCapability, encoded, savedPath };
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=grant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grant.js","sourceRoot":"","sources":["../../src/was/grant.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AAEnE,sEAAsE;AACtE,MAAM,eAAe,GAAG,OAAO,CAAA;AAE/B,qEAAqE;AACrE,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAA;AAG7D;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,OAAiB;IACzC,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAe,CAAA;QAC9C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,wCAAwC,CAClE,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAChC,MAAM,EACN,MAAM,EACN,EAAE,EACF,OAAO,EACP,GAAG,EACH,OAAO,EACP,IAAI,EACJ,MAAM,EACN,WAAW,EAWZ;IAKC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,IAAI,cAAc,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;IACtE,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;QAC7C,EAAE,EAAE,SAAS;QACb,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,SAAS;QAClB,MAAM;KACP,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;IACrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAA;IACzC,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;IAC3D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;QACvC,UAAU,EAAE,eAAe;QAC3B,SAAS;QACT,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAA;IACF,MAAM,eAAe,CAAC;QACpB,UAAU,EAAE,eAAe;QAC3B,SAAS;QACT,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjC,MAAM;QACN,WAAW;KACZ,CAAC,CAAA;IACF,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AAItB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,MAAM,EACN,WAAW,EACZ,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AAItB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,MAAM,EACN,WAAW,EACZ,EAAE;IACD,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BlB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,EAAE,CAClE,CAmBA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CACpE;IACE,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB,GACD,SAAS,CACZ,CAiBA;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,SAAS,EACV,EAAE;IACD,SAAS,EAAE,MAAM,CAAA;CAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpB"}
|
package/dist/was/registry.js
CHANGED
|
@@ -24,7 +24,11 @@ const COLLECTION = 'was-spaces';
|
|
|
24
24
|
*/
|
|
25
25
|
export async function saveSpaceRecord({ record, handle, description }) {
|
|
26
26
|
const storageId = sanitizeStorageId(record.id);
|
|
27
|
-
const filePath = await saveToCollection(
|
|
27
|
+
const filePath = await saveToCollection({
|
|
28
|
+
collection: COLLECTION,
|
|
29
|
+
storageId,
|
|
30
|
+
data: record
|
|
31
|
+
});
|
|
28
32
|
const existing = await loadMetaFromCollection({
|
|
29
33
|
collection: COLLECTION,
|
|
30
34
|
storageId
|
|
@@ -61,7 +65,10 @@ export async function listSpaceRecords() {
|
|
|
61
65
|
const storageIds = await listCollection(COLLECTION);
|
|
62
66
|
const entries = [];
|
|
63
67
|
for (const storageId of storageIds) {
|
|
64
|
-
const record = await loadFromCollection(
|
|
68
|
+
const record = await loadFromCollection({
|
|
69
|
+
collection: COLLECTION,
|
|
70
|
+
storageId
|
|
71
|
+
});
|
|
65
72
|
const meta = await loadMetaFromCollection({
|
|
66
73
|
collection: COLLECTION,
|
|
67
74
|
storageId
|
package/dist/was/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,eAAe,CAAA;AAEtB,MAAM,UAAU,GAAG,YAAY,CAAA;AAgB/B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,MAAM,EACN,MAAM,EACN,WAAW,EAKZ;IACC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/was/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/zcap/delegate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../src/zcap/delegate.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAA;AAM9E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,GAAG,EACH,UAAU,EACV,SAAS,EACT,GAAG,EACH,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,GAAU,EACV,OAAO,EACR,EAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC;IAAE,mBAAmB,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBpE"}
|
package/dist/zcap/delegate.js
CHANGED
|
@@ -16,15 +16,10 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { Ed25519Signature2020 } from '@interop/ed25519-signature';
|
|
18
18
|
import { ZcapClient } from '@interop/ezcap';
|
|
19
|
-
import {
|
|
19
|
+
import { documentLoader } from '../documentLoader.js';
|
|
20
20
|
import { encodeCapability } from './encoding.js';
|
|
21
21
|
import { expiresFromTtl } from './ttl.js';
|
|
22
22
|
import { loadDelegationSigner } from './signer.js';
|
|
23
|
-
/**
|
|
24
|
-
* Offline document loader for signing: bundles the zcap, VC, Data Integrity, and
|
|
25
|
-
* suite contexts plus a did:key resolver. Built once and reused across calls.
|
|
26
|
-
*/
|
|
27
|
-
const documentLoader = securityLoader().build();
|
|
28
23
|
/**
|
|
29
24
|
* Signs a delegated capability.
|
|
30
25
|
*
|