@interop/wallet-core 0.104.2 → 0.105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +19 -18
  2. package/dist/clientAnnex/gc.d.ts +13 -2
  3. package/dist/clientAnnex/gc.d.ts.map +1 -1
  4. package/dist/clientAnnex/gc.js +17 -4
  5. package/dist/clientAnnex/gc.js.map +1 -1
  6. package/dist/clientAnnex/log.d.ts +17 -11
  7. package/dist/clientAnnex/log.d.ts.map +1 -1
  8. package/dist/clientAnnex/log.js +23 -19
  9. package/dist/clientAnnex/log.js.map +1 -1
  10. package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
  11. package/dist/clientAnnex/selfEnroll.js +0 -3
  12. package/dist/clientAnnex/selfEnroll.js.map +1 -1
  13. package/dist/enrollment/enrollment.d.ts.map +1 -1
  14. package/dist/enrollment/enrollment.js +0 -3
  15. package/dist/enrollment/enrollment.js.map +1 -1
  16. package/dist/genesis/accountGenesis.d.ts +9 -4
  17. package/dist/genesis/accountGenesis.d.ts.map +1 -1
  18. package/dist/genesis/accountGenesis.js +8 -9
  19. package/dist/genesis/accountGenesis.js.map +1 -1
  20. package/dist/menders/derive.d.ts +16 -15
  21. package/dist/menders/derive.d.ts.map +1 -1
  22. package/dist/menders/derive.js +19 -26
  23. package/dist/menders/derive.js.map +1 -1
  24. package/dist/menders/index.d.ts +7 -3
  25. package/dist/menders/index.d.ts.map +1 -1
  26. package/dist/menders/index.js +7 -3
  27. package/dist/menders/index.js.map +1 -1
  28. package/dist/menders/registry.d.ts +15 -10
  29. package/dist/menders/registry.d.ts.map +1 -1
  30. package/dist/menders/registry.js +22 -11
  31. package/dist/menders/registry.js.map +1 -1
  32. package/dist/menders/runner.d.ts +19 -2
  33. package/dist/menders/runner.d.ts.map +1 -1
  34. package/dist/menders/runner.js +17 -8
  35. package/dist/menders/runner.js.map +1 -1
  36. package/dist/menders/types.d.ts +9 -6
  37. package/dist/menders/types.d.ts.map +1 -1
  38. package/dist/resourceLog/controller.d.ts +5 -4
  39. package/dist/resourceLog/controller.d.ts.map +1 -1
  40. package/dist/resourceLog/controller.js.map +1 -1
  41. package/dist/unlock/standingClient.d.ts.map +1 -1
  42. package/dist/unlock/standingClient.js +0 -3
  43. package/dist/unlock/standingClient.js.map +1 -1
  44. package/dist/webvh/index.d.ts +5 -2
  45. package/dist/webvh/index.d.ts.map +1 -1
  46. package/dist/webvh/index.js +5 -2
  47. package/dist/webvh/index.js.map +1 -1
  48. package/dist/webvh/verifyLog.d.ts +35 -2
  49. package/dist/webvh/verifyLog.d.ts.map +1 -1
  50. package/dist/webvh/verifyLog.js +105 -26
  51. package/dist/webvh/verifyLog.js.map +1 -1
  52. package/package.json +5 -5
@@ -17,6 +17,15 @@
17
17
  * the substituted-account refusal, and the only thing the transport could
18
18
  * ever buy back.
19
19
  *
20
+ * The same fetch runs in the other direction for a reader holding no DID at
21
+ * all ({@link discoverAccountLog}): a requester granted a collection and
22
+ * nothing that names the Space owner reads the log at the Space's `id`
23
+ * collection and takes the owner from it. What stands in for the expected-DID
24
+ * check there is the location check: a did:webvh identifier encodes where its
25
+ * log is published, so the resolved DID must map back to the URL the log was
26
+ * fetched from. Both readers run that check, so a log published for another
27
+ * location and served under this one is refused whichever way it is read.
28
+ *
20
29
  * Resolution alone is one-shot verification, though: a host serving a valid
21
30
  * PREFIX of the real log serves the same SCID and the same DID, so a
22
31
  * truncated history passes every check above and a ceremony built on it
@@ -26,7 +35,7 @@
26
35
  * {@link ResourceLogPinStore} gets a served log refused when it is a
27
36
  * rollback, a fork, or an SCID/method switch relative to the pinned head.
28
37
  */
29
- import { readLogFromString, resolveDIDFromLog } from '@interop/did-method-webvh';
38
+ import { getFileUrl, readLogFromString, resolveDIDFromLog } from '@interop/did-method-webvh';
30
39
  import { resourcePath, toUrl } from '@interop/was-client/paths';
31
40
  import { webvhResourceLogController } from '../resourceLog/controller.js';
32
41
  import { DID_LOG_RESOURCE, ID_COLLECTION } from '../space/collections.js';
@@ -192,8 +201,10 @@ export async function checkAndAdvanceAccountLogPin({ pinStore, logId, log }) {
192
201
  * Fetches and locally verifies the account's world-readable DID log.
193
202
  *
194
203
  * Throws {@link AccountLogMissingError} when the log resource is absent, and
195
- * an ordinary error when the fetch fails, the log does not resolve, or it
196
- * resolves to a DID other than the one named.
204
+ * an ordinary error when the fetch fails, the log does not resolve, the
205
+ * resolved DID names another log location than the URL it was served from,
206
+ * or it resolves to a DID other than the one named. The same reader with no
207
+ * expected DID is {@link discoverAccountLog}.
197
208
  *
198
209
  * Supplied a `pinStore`, the resolved log is additionally checked for
199
210
  * continuity against this client's chain-head pin and refused with a
@@ -234,17 +245,84 @@ export async function checkAndAdvanceAccountLogPin({ pinStore, logId, log }) {
234
245
  * log, and the log's effective `updateKeys` / `nextKeyHashes`
235
246
  */
236
247
  export async function verifyAccountLog({ did, spaceId, host, pinStore, published }) {
237
- if (published !== undefined) {
238
- assertPublishedLogDid({ published, expectedDid: did });
239
- if (pinStore) {
240
- await checkAndAdvanceAccountLogPin({
241
- pinStore,
242
- logId: accountLogPinId({ spaceId }),
243
- log: published.log
244
- });
245
- }
246
- return verifiedAccountLogOf({ published });
248
+ const head = published ?? (await readAccountLog({ spaceId, host }));
249
+ await adoptAccountLog({
250
+ published: head,
251
+ expectedDid: did,
252
+ spaceId,
253
+ pinStore
254
+ });
255
+ return verifiedAccountLogOf({ published: head });
256
+ }
257
+ /**
258
+ * Resolves the account published at a Space with no DID known in advance:
259
+ * fetches the world-readable log out of the Space's `id` collection, resolves
260
+ * it locally, and returns the DID it resolves to beside the verified view.
261
+ *
262
+ * The caller that needs it is a requester holding per-collection grants and
263
+ * nothing that names the Space owner (the grant chain's root is an opaque
264
+ * URN, and the Space Description needs a Space-scoped capability App Connect
265
+ * never delegates). The log is self-certifying, so the owner is the DID whose
266
+ * log is published there and whose identifier maps back to that URL, the
267
+ * location check `readAccountLog` runs. {@link verifyAccountLog} is this same
268
+ * reader plus the expected-DID check.
269
+ *
270
+ * Throws {@link AccountLogMissingError} when the log resource is absent, and
271
+ * an ordinary error when the fetch fails, the log does not resolve, or the
272
+ * resolved DID names another location. A `pinStore` adds the same chain-head
273
+ * check-and-advance {@link verifyAccountLog} runs, under the same slot.
274
+ *
275
+ * @param options {object}
276
+ * @param options.spaceId {string} the Space whose owner is wanted
277
+ * @param options.host {string} the storage server the Space lives on
278
+ * @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
279
+ * pins, keyed by {@link accountLogPinId} over the `spaceId` above
280
+ * @returns {Promise<PublishedWebvhLog>} the owner's DID, the resolved
281
+ * document, the raw log, and the log's effective update-key parameters
282
+ */
283
+ export async function discoverAccountLog({ spaceId, host, pinStore }) {
284
+ const published = await readAccountLog({ spaceId, host });
285
+ return adoptAccountLog({ published, spaceId, pinStore });
286
+ }
287
+ /**
288
+ * The checks both readers run on a resolved head, in the one order: the
289
+ * expected-DID refusal (when a DID is expected) before the chain-head
290
+ * check-and-advance, so a substituted account never advances the pin.
291
+ *
292
+ * @param options {object}
293
+ * @param options.published {PublishedWebvhLog}
294
+ * @param options.spaceId {string}
295
+ * @param [options.expectedDid] {string}
296
+ * @param [options.pinStore] {ResourceLogPinStore}
297
+ * @returns {Promise<PublishedWebvhLog>} the same head
298
+ */
299
+ async function adoptAccountLog({ published, spaceId, expectedDid, pinStore }) {
300
+ assertPublishedLogDid({ published, expectedDid });
301
+ if (pinStore) {
302
+ await checkAndAdvanceAccountLogPin({
303
+ pinStore,
304
+ logId: accountLogPinId({ spaceId }),
305
+ log: published.log
306
+ });
247
307
  }
308
+ return published;
309
+ }
310
+ /**
311
+ * The one fetch-parse-resolve body both readers share: fetch `id/did.jsonl`
312
+ * unauthenticated, parse and resolve it, and refuse a resolved DID whose
313
+ * published log location is not the URL it was served from. The location
314
+ * check compares the host of `getFileUrl(did)` against the fetched URL, and
315
+ * its path against the fetched path past the server's base path (the DID
316
+ * encodes no base path); anything else is a log published for another
317
+ * location and served here.
318
+ *
319
+ * @param options {object}
320
+ * @param options.spaceId {string}
321
+ * @param options.host {string}
322
+ * @returns {Promise<PublishedWebvhLog>} the resolved head, with no ETag
323
+ * (the read is a plain fetch, not a store read)
324
+ */
325
+ async function readAccountLog({ spaceId, host }) {
248
326
  const url = toUrl({
249
327
  serverUrl: host,
250
328
  path: resourcePath(spaceId, ID_COLLECTION.id, DID_LOG_RESOURCE)
@@ -261,25 +339,26 @@ export async function verifyAccountLog({ did, spaceId, host, pinStore, published
261
339
  if (resolved.meta.error || !resolved.did || !resolved.doc) {
262
340
  throw new Error(`The account's DID log failed to resolve (${resolved.meta.error ?? 'the resolver returned no DID document'}).`);
263
341
  }
264
- const verified = {
342
+ const publishedAt = new URL(getFileUrl(resolved.did));
343
+ const fetchedFrom = new URL(url);
344
+ // The DID encodes the server's host and the Space path, not a base path a
345
+ // sub-path deployment serves under (`toUrl` keeps that prefix), so the
346
+ // expected path is the server's base path joined with the DID's own.
347
+ const basePath = new URL(host).pathname.replace(/\/$/, '');
348
+ if (publishedAt.host !== fetchedFrom.host ||
349
+ basePath + publishedAt.pathname !== fetchedFrom.pathname) {
350
+ throw new Error(`did:webvh: the published did.jsonl resolves to ${resolved.did}, ` +
351
+ `whose log location (${publishedAt.href}) is not where it was ` +
352
+ `served from (${fetchedFrom.href}).`);
353
+ }
354
+ return {
355
+ did: resolved.did,
265
356
  doc: resolved.doc,
266
357
  log,
267
358
  updateKeys: resolved.meta.updateKeys ?? [],
268
359
  nextKeyHashes: resolved.meta.nextKeyHashes ?? [],
269
360
  meta: resolved.meta
270
361
  };
271
- assertPublishedLogDid({
272
- published: { ...verified, did: resolved.did },
273
- expectedDid: did
274
- });
275
- if (pinStore) {
276
- await checkAndAdvanceAccountLogPin({
277
- pinStore,
278
- logId: accountLogPinId({ spaceId }),
279
- log
280
- });
281
- }
282
- return verified;
283
362
  }
284
363
  /**
285
364
  * The {@link VerifiedAccountLog} view of a head a ceremony already read or
@@ -1 +1 @@
1
- {"version":3,"file":"verifyLog.js","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyLog.js","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@interop/wallet-core",
3
3
  "description": "Shared wallet-domain logic (WAS sync engine core and wallet Space layout contracts) for Interop wallet apps.",
4
- "version": "0.104.2",
4
+ "version": "0.105.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",
@@ -24,12 +24,12 @@
24
24
  "@interop/capability-agent": "^0.2.1",
25
25
  "@interop/data-integrity-core": "^8.8.0",
26
26
  "@interop/data-integrity-proof": "^3.4.7",
27
- "@interop/did-method-webvh": "^5.13.0",
27
+ "@interop/did-method-webvh": "^5.14.0",
28
28
  "@interop/ed25519-signature": "^7.2.3",
29
29
  "@interop/ed25519-verification-key": "^8.2.1",
30
30
  "@interop/ezcap": "^7.5.1",
31
31
  "@interop/social-core": "^0.8.1",
32
- "@interop/vh-resource-log": "^0.7.0",
32
+ "@interop/vh-resource-log": "^0.8.0",
33
33
  "@interop/x25519-key-agreement-key": "^5.4.1",
34
34
  "@noble/ciphers": "^2.3.0",
35
35
  "@noble/hashes": "^2.3.0",
@@ -40,7 +40,7 @@
40
40
  "@eslint/js": "^10.0.1",
41
41
  "@interop/logger": "^0.2.0",
42
42
  "@interop/storage-core": "^0.35.1",
43
- "@interop/was-client": "^0.94.0",
43
+ "@interop/was-client": "^0.96.0",
44
44
  "@playwright/test": "^1.60.0",
45
45
  "@types/node": "^26.0.1",
46
46
  "@vitest/coverage-v8": "^4.1.7",
@@ -56,7 +56,7 @@
56
56
  "was-teaching-server": "^0.42.1"
57
57
  },
58
58
  "peerDependencies": {
59
- "@interop/was-client": ">=0.92.0 <1.0.0"
59
+ "@interop/was-client": ">=0.96.0 <1.0.0"
60
60
  },
61
61
  "files": [
62
62
  "dist",