@interop/wallet-core 0.30.1 → 0.32.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 (41) hide show
  1. package/dist/clients/listing.d.ts +9 -2
  2. package/dist/clients/listing.d.ts.map +1 -1
  3. package/dist/clients/listing.js +16 -4
  4. package/dist/clients/listing.js.map +1 -1
  5. package/dist/clients/revocation.d.ts +5 -1
  6. package/dist/clients/revocation.d.ts.map +1 -1
  7. package/dist/clients/revocation.js +6 -2
  8. package/dist/clients/revocation.js.map +1 -1
  9. package/dist/clients/rosterPolicy.d.ts +6 -1
  10. package/dist/clients/rosterPolicy.d.ts.map +1 -1
  11. package/dist/clients/rosterPolicy.js +8 -2
  12. package/dist/clients/rosterPolicy.js.map +1 -1
  13. package/dist/enrollment/enrollment.d.ts +7 -1
  14. package/dist/enrollment/enrollment.d.ts.map +1 -1
  15. package/dist/enrollment/enrollment.js +7 -2
  16. package/dist/enrollment/enrollment.js.map +1 -1
  17. package/dist/recovery/recoveryWebvh.d.ts +22 -5
  18. package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
  19. package/dist/recovery/recoveryWebvh.js +84 -32
  20. package/dist/recovery/recoveryWebvh.js.map +1 -1
  21. package/dist/webvh/didWebvh.d.ts +145 -10
  22. package/dist/webvh/didWebvh.d.ts.map +1 -1
  23. package/dist/webvh/didWebvh.js +205 -43
  24. package/dist/webvh/didWebvh.js.map +1 -1
  25. package/dist/webvh/index.d.ts +4 -1
  26. package/dist/webvh/index.d.ts.map +1 -1
  27. package/dist/webvh/index.js +4 -1
  28. package/dist/webvh/index.js.map +1 -1
  29. package/dist/webvh/revokeClient.d.ts +9 -1
  30. package/dist/webvh/revokeClient.d.ts.map +1 -1
  31. package/dist/webvh/revokeClient.js +23 -7
  32. package/dist/webvh/revokeClient.js.map +1 -1
  33. package/dist/webvh/verifyLog.d.ts +18 -1
  34. package/dist/webvh/verifyLog.d.ts.map +1 -1
  35. package/dist/webvh/verifyLog.js +95 -1
  36. package/dist/webvh/verifyLog.js.map +1 -1
  37. package/dist/webvh/wasIdStore.d.ts +6 -0
  38. package/dist/webvh/wasIdStore.d.ts.map +1 -1
  39. package/dist/webvh/wasIdStore.js +20 -4
  40. package/dist/webvh/wasIdStore.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"revokeClient.js","sourceRoot":"","sources":["../../src/webvh/revokeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revokeClient.js","sourceRoot":"","sources":["../../src/webvh/revokeClient.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DIDDoc, DIDLog } from '@interop/did-method-webvh';
2
+ import type { ResourceLogPinStore } from '../resourceLog/pin.js';
2
3
  /**
3
4
  * Thrown when the account has published no DID log at all (the resource is
4
5
  * absent). Distinguished from every other failure because it is the one
@@ -16,18 +17,34 @@ export declare class AccountLogMissingError extends Error {
16
17
  * an ordinary error when the fetch fails, the log does not resolve, or it
17
18
  * resolves to a DID other than the one named.
18
19
  *
20
+ * Supplied a `pinStore`, the resolved log is additionally checked for
21
+ * continuity against this client's chain-head pin and refused with a
22
+ * {@link ResourceLogContinuityError} when it is a rollback, a fork, or an
23
+ * SCID/method switch; the pin is established at first contact
24
+ * (trust-on-first-use) and advanced only by a log that verifies past it,
25
+ * never regressed. A `rollback` is the one refusal that may be nothing worse
26
+ * than replication lag, exactly as on a governed resource log: nothing
27
+ * rolled back is ever adopted here, and a caller holding a cached view of the
28
+ * document may treat that reason as a transport hiccup and carry on with what
29
+ * it has. Every other reason is a security signal. No `pinStore`, no
30
+ * continuity check -- the pin lives app-side beside the account-pointer pin,
31
+ * and a caller that has none keeps one-shot verification.
32
+ *
19
33
  * @param options {object}
20
34
  * @param options.did {string} the account's did:webvh, as the caller's
21
35
  * stored account pointer names it
22
36
  * @param options.spaceId {string} the account's Space id
23
37
  * @param options.host {string} the storage server the account lives on
38
+ * @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
39
+ * pin for the account log
24
40
  * @returns {Promise<object>} the resolved document, the raw log, and the
25
41
  * log's effective `updateKeys` / `nextKeyHashes`
26
42
  */
27
- export declare function verifyAccountLog({ did, spaceId, host }: {
43
+ export declare function verifyAccountLog({ did, spaceId, host, pinStore }: {
28
44
  did: string;
29
45
  spaceId: string;
30
46
  host: string;
47
+ pinStore?: ResourceLogPinStore;
31
48
  }): Promise<{
32
49
  doc: DIDDoc;
33
50
  log: DIDLog;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyLog.d.ts","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAG/D;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,SAA0C;CAI9D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACH,OAAO,EACP,IAAI,EACL,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,CAAC,CAmCD"}
1
+ {"version":3,"file":"verifyLog.d.ts","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAE9B;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,SAA0C;CAI9D;AAqED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACT,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,mBAAmB,CAAA;CAC/B,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,CAAC,CA4CD"}
@@ -16,9 +16,19 @@
16
16
  * caller supplies the DID it expects; a resolved DID that does not match is
17
17
  * the substituted-account refusal, and the only thing the transport could
18
18
  * ever buy back.
19
+ *
20
+ * Resolution alone is one-shot verification, though: a host serving a valid
21
+ * PREFIX of the real log serves the same SCID and the same DID, so a
22
+ * truncated history passes every check above and a ceremony built on it
23
+ * republishes erased enrollments and undone revocations as durable state. The
24
+ * remedy is the same chain-head pin the governed resource logs carry, and
25
+ * literally the same seam and refusal class: a caller that supplies a
26
+ * {@link ResourceLogPinStore} gets a served log refused when it is a
27
+ * rollback, a fork, or an SCID/method switch relative to the pinned head.
19
28
  */
20
29
  import { readLogFromString, resolveDIDFromLog } from '@interop/did-method-webvh';
21
30
  import { DID_LOG_RESOURCE, ID_COLLECTION } from '../space/collections.js';
31
+ import { ResourceLogContinuityError } from '../resourceLog/errors.js';
22
32
  /**
23
33
  * Thrown when the account has published no DID log at all (the resource is
24
34
  * absent). Distinguished from every other failure because it is the one
@@ -32,6 +42,66 @@ export class AccountLogMissingError extends Error {
32
42
  this.name = 'AccountLogMissingError';
33
43
  }
34
44
  }
45
+ /**
46
+ * Refuses a served log that conflicts with the pinned head, and returns the
47
+ * pin the served log establishes. A method or SCID that differs from the pin
48
+ * is a substituted log under the account's location; a served history shorter
49
+ * than the pinned ordinal is a rollback; a differing `versionId` at the pinned
50
+ * ordinal is a fork, whose served entries ride along as evidence (every entry
51
+ * is signed, so a conflicting pair under one SCID is transferable proof of
52
+ * equivocation). A pin whose head does not parse as `N-<hash>` is treated as
53
+ * a fork rather than trusted.
54
+ *
55
+ * @param options {object}
56
+ * @param options.log {DIDLog} the served, already-resolved log
57
+ * @param options.pin {ResourceLogHeadPin | null} the pin held for this log
58
+ * @returns {ResourceLogHeadPin} the pin the served log establishes
59
+ */
60
+ function checkAccountLogContinuity({ log, pin }) {
61
+ const genesis = log[0];
62
+ const head = log[log.length - 1];
63
+ if (!genesis || !head) {
64
+ throw new Error('The account DID log is empty.');
65
+ }
66
+ const method = genesis.parameters.method ?? '';
67
+ const scid = genesis.parameters.scid ?? '';
68
+ if (pin) {
69
+ if (pin.method !== method) {
70
+ throw new ResourceLogContinuityError({
71
+ reason: 'method-switch',
72
+ pinnedHead: pin.head
73
+ });
74
+ }
75
+ if (pin.scid !== scid) {
76
+ throw new ResourceLogContinuityError({
77
+ reason: 'scid-switch',
78
+ pinnedHead: pin.head
79
+ });
80
+ }
81
+ const pinnedOrdinal = Number.parseInt(pin.head, 10);
82
+ if (!Number.isInteger(pinnedOrdinal) || pinnedOrdinal < 1) {
83
+ throw new ResourceLogContinuityError({
84
+ reason: 'fork',
85
+ pinnedHead: pin.head,
86
+ servedEntries: log
87
+ });
88
+ }
89
+ if (log.length < pinnedOrdinal) {
90
+ throw new ResourceLogContinuityError({
91
+ reason: 'rollback',
92
+ pinnedHead: pin.head
93
+ });
94
+ }
95
+ if (log[pinnedOrdinal - 1].versionId !== pin.head) {
96
+ throw new ResourceLogContinuityError({
97
+ reason: 'fork',
98
+ pinnedHead: pin.head,
99
+ servedEntries: log
100
+ });
101
+ }
102
+ }
103
+ return { method, scid, head: head.versionId };
104
+ }
35
105
  /**
36
106
  * Fetches and locally verifies the account's world-readable DID log.
37
107
  *
@@ -39,15 +109,30 @@ export class AccountLogMissingError extends Error {
39
109
  * an ordinary error when the fetch fails, the log does not resolve, or it
40
110
  * resolves to a DID other than the one named.
41
111
  *
112
+ * Supplied a `pinStore`, the resolved log is additionally checked for
113
+ * continuity against this client's chain-head pin and refused with a
114
+ * {@link ResourceLogContinuityError} when it is a rollback, a fork, or an
115
+ * SCID/method switch; the pin is established at first contact
116
+ * (trust-on-first-use) and advanced only by a log that verifies past it,
117
+ * never regressed. A `rollback` is the one refusal that may be nothing worse
118
+ * than replication lag, exactly as on a governed resource log: nothing
119
+ * rolled back is ever adopted here, and a caller holding a cached view of the
120
+ * document may treat that reason as a transport hiccup and carry on with what
121
+ * it has. Every other reason is a security signal. No `pinStore`, no
122
+ * continuity check -- the pin lives app-side beside the account-pointer pin,
123
+ * and a caller that has none keeps one-shot verification.
124
+ *
42
125
  * @param options {object}
43
126
  * @param options.did {string} the account's did:webvh, as the caller's
44
127
  * stored account pointer names it
45
128
  * @param options.spaceId {string} the account's Space id
46
129
  * @param options.host {string} the storage server the account lives on
130
+ * @param [options.pinStore] {ResourceLogPinStore} this client's chain-head
131
+ * pin for the account log
47
132
  * @returns {Promise<object>} the resolved document, the raw log, and the
48
133
  * log's effective `updateKeys` / `nextKeyHashes`
49
134
  */
50
- export async function verifyAccountLog({ did, spaceId, host }) {
135
+ export async function verifyAccountLog({ did, spaceId, host, pinStore }) {
51
136
  const url = new URL(`/space/${spaceId}/${ID_COLLECTION.id}/${DID_LOG_RESOURCE}`, host);
52
137
  const response = await fetch(url);
53
138
  if (response.status === 404) {
@@ -65,6 +150,15 @@ export async function verifyAccountLog({ did, spaceId, host }) {
65
150
  throw new Error('The published DID log resolves to a different DID than the account ' +
66
151
  'pointer names.');
67
152
  }
153
+ if (pinStore) {
154
+ const pin = await pinStore.read();
155
+ const served = checkAccountLogContinuity({ log, pin });
156
+ // Advanced only when the served head is genuinely ahead of the pin: the
157
+ // checks above have already refused everything that is not.
158
+ if (!pin || pin.head !== served.head) {
159
+ await pinStore.write(served);
160
+ }
161
+ }
68
162
  return {
69
163
  doc: resolved.doc,
70
164
  log,
@@ -1 +1 @@
1
- {"version":3,"file":"verifyLog.js","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAO,GAAG,uCAAuC;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,GAAG,EACH,OAAO,EACP,IAAI,EAKL;IAMC,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,UAAU,OAAO,IAAI,aAAa,CAAC,EAAE,IAAI,gBAAgB,EAAE,EAC3D,IAAI,CACL,CAAA;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,sBAAsB,EAAE,CAAA;IACpC,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,+CAA+C,QAAQ,CAAC,MAAM,IAAI,CACnE,CAAA;IACH,CAAC;IACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,4CACE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,uCACzB,IAAI,CACL,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,gBAAgB,CACnB,CAAA;IACH,CAAC;IACD,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,GAAG;QACH,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE;QAC1C,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE;KACjD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"verifyLog.js","sourceRoot":"","sources":["../../src/webvh/verifyLog.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,12 @@
14
14
  * Bodies are written as raw bytes under the content type the caller states --
15
15
  * load-bearing, since the log is JSON Lines (`text/jsonl`), not JSON, and the
16
16
  * DID document is served as `application/did+json`.
17
+ *
18
+ * Reads carry the resource's ETag and writes forward the ceremonies'
19
+ * conditional-write preconditions, so a did:webvh ceremony's `did.jsonl`
20
+ * publish is a compare-and-swap. A backend that does not advertise
21
+ * `conditional-writes` serves no ETag, and the publish degrades to an
22
+ * unconditional write.
17
23
  */
18
24
  import type { WasClient } from '@interop/was-client';
19
25
  import type { WebvhIdStore } from './didWebvh.js';
@@ -1 +1 @@
1
- {"version":3,"file":"wasIdStore.d.ts","sourceRoot":"","sources":["../../src/webvh/wasIdStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAMpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EACR,EAAE;IACD,GAAG,EAAE,SAAS,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,YAAY,CAqCf"}
1
+ {"version":3,"file":"wasIdStore.d.ts","sourceRoot":"","sources":["../../src/webvh/wasIdStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAMpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EACR,EAAE;IACD,GAAG,EAAE,SAAS,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,YAAY,CAwDf"}
@@ -16,17 +16,33 @@ export function wasWebvhIdStore({ was, spaceId }) {
16
16
  .resource(resourceId);
17
17
  return {
18
18
  getIdResourceRaw: async ({ resourceId }) => {
19
- const text = await idResource(resourceId).getText();
20
- return text === null ? undefined : text;
19
+ const read = await idResource(resourceId).getWithEtag();
20
+ if (read === null) {
21
+ return undefined;
22
+ }
23
+ // The log is served as `text/jsonl`, so the body decodes to a Blob; the
24
+ // string and stringify arms are defensive fallbacks for a backend that
25
+ // served (and the codec parsed) a JSON content type instead.
26
+ const { data, etag } = read;
27
+ const text = data instanceof Blob
28
+ ? await data.text()
29
+ : typeof data === 'string'
30
+ ? data
31
+ : JSON.stringify(data);
32
+ return { text, etag };
21
33
  },
22
34
  getIdResource: async ({ resourceId }) => {
23
35
  const data = await idResource(resourceId).get();
24
36
  return data === null ? undefined : data;
25
37
  },
26
- putIdResource: async ({ resourceId, content, contentType = 'application/json' }) => {
38
+ putIdResource: async ({ resourceId, content, contentType = 'application/json', ifMatch, ifNoneMatch }) => {
27
39
  const serialized = typeof content === 'string' ? content : JSON.stringify(content);
40
+ // was-client's own PreconditionFailedError propagates as-is: its `name`
41
+ // is exactly what the seam contract names.
28
42
  await idResource(resourceId).put(new TextEncoder().encode(serialized), {
29
- contentType
43
+ contentType,
44
+ ifMatch,
45
+ ifNoneMatch
30
46
  });
31
47
  },
32
48
  putKeyMap: async ({ content }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"wasIdStore.js","sourceRoot":"","sources":["../../src/webvh/wasIdStore.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EACnB,MAAM,yBAAyB,CAAA;AAGhC;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EAIR;IACC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CACxC,GAAG;SACA,KAAK,CAAC,OAAO,CAAC;SACd,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;SACzD,QAAQ,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO;QACL,gBAAgB,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;YACnD,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;QACzC,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAA;YAC/C,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;QACzC,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,EACpB,UAAU,EACV,OAAO,EACP,WAAW,GAAG,kBAAkB,EACjC,EAAE,EAAE;YACH,MAAM,UAAU,GACd,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACjE,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACrE,WAAW;aACZ,CAAC,CAAA;QACJ,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/B,MAAM,GAAG;iBACN,KAAK,CAAC,OAAO,CAAC;iBACd,UAAU,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;iBAC9D,QAAQ,CAAC,iBAAiB,CAAC;iBAC3B,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE;gBACtD,WAAW,EAAE,kBAAkB;aAChC,CAAC,CAAA;QACN,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"wasIdStore.js","sourceRoot":"","sources":["../../src/webvh/wasIdStore.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EACnB,MAAM,yBAAyB,CAAA;AAGhC;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,GAAG,EACH,OAAO,EAIR;IACC,MAAM,UAAU,GAAG,CAAC,UAAkB,EAAE,EAAE,CACxC,GAAG;SACA,KAAK,CAAC,OAAO,CAAC;SACd,UAAU,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;SACzD,QAAQ,CAAC,UAAU,CAAC,CAAA;IAEzB,OAAO;QACL,gBAAgB,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACzC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;YACvD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,wEAAwE;YACxE,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;YAC3B,MAAM,IAAI,GACR,IAAI,YAAY,IAAI;gBAClB,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE;gBACnB,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ;oBACxB,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QACvB,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAA;YAC/C,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;QACzC,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,EACpB,UAAU,EACV,OAAO,EACP,WAAW,GAAG,kBAAkB,EAChC,OAAO,EACP,WAAW,EACZ,EAAE,EAAE;YACH,MAAM,UAAU,GACd,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACjE,wEAAwE;YACxE,2CAA2C;YAC3C,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACrE,WAAW;gBACX,OAAO;gBACP,WAAW;aACZ,CAAC,CAAA;QACJ,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC/B,MAAM,GAAG;iBACN,KAAK,CAAC,OAAO,CAAC;iBACd,UAAU,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;iBAC9D,QAAQ,CAAC,iBAAiB,CAAC;iBAC3B,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE;gBACtD,WAAW,EAAE,kBAAkB;aAChC,CAAC,CAAA;QACN,CAAC;KACF,CAAA;AACH,CAAC"}
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.30.1",
4
+ "version": "0.32.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",