@interop/wallet-core 0.73.0 → 0.75.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.
@@ -16,8 +16,18 @@
16
16
  * the handle passed in is the whole address: the store derives its own
17
17
  * chain-head pin slot from the handle's Space and collection ids
18
18
  * ({@link collectionDescriptorLogPinId}), and no caller names a `logId`.
19
+ *
20
+ * Over it sit the two lookup builders every consumer of the
21
+ * `(collectionId) => store` seam takes (the geneses' `collectionStoreFor`,
22
+ * the epoch installers' and the cascade's `storeFor`):
23
+ * {@link collectionDescriptorStores}, which takes the collection reach and
24
+ * the controller resolver as functions, and {@link accountCollectionStores},
25
+ * the bare-parts convenience over it for callers with no session, resolving
26
+ * the controller through {@link accountControllerResolver}.
19
27
  */
20
- import type { Collection } from '@interop/was-client';
28
+ import type { DIDLog } from '@interop/did-method-webvh';
29
+ import type { ZcapClient } from '@interop/ezcap';
30
+ import { type Collection, type IZcap } from '@interop/was-client';
21
31
  import type { ResourceLogPinStore, ResourceLogSigner } from '@interop/vh-resource-log';
22
32
  import type { WebvhResourceLogController } from '../resourceLog/index.js';
23
33
  import { type SealableEncryptionDescriptorStore } from './rosterLogStore.js';
@@ -70,4 +80,92 @@ export declare function collectionDescriptorLogStore({ collection, resolveContro
70
80
  pinStore: ResourceLogPinStore;
71
81
  signer: ResourceLogSigner;
72
82
  }): SealableEncryptionDescriptorStore;
83
+ /**
84
+ * The per-collection store lookup the epoch installers
85
+ * ({@link ensureWalletSpaceEpochs}, {@link walletSpaceProvisioner}), the
86
+ * geneses' `collectionStoreFor`, and the cascade's
87
+ * `CascadeCollections.storeFor` take.
88
+ */
89
+ export type CollectionStoreFor = (collectionId: string) => SealableEncryptionDescriptorStore;
90
+ /**
91
+ * Builds the per-collection store lookup from a collection reach and a
92
+ * controller resolver, both functions: the generic builder a caller with a
93
+ * live session wires with its own verified-log memo and a collection handle
94
+ * that rides whatever capability the session holds at call time (a transient
95
+ * visit's generation delegation, renewed mid-run included).
96
+ *
97
+ * Each lookup builds a fresh store over {@link collectionDescriptorLogStore}
98
+ * for the collection named, sharing the resolver, the pin store, and the
99
+ * signer across them; nothing is reached until the first lookup, so a lookup
100
+ * handed to a ceremony that never installs or rotates an epoch costs nothing.
101
+ *
102
+ * @param options {object}
103
+ * @param options.collectionFor {function} `(collectionId) => Collection` --
104
+ * how the caller reaches a collection handle (a `Space` handle's
105
+ * `collection()`, or a wrapper that rides a capability the caller renews)
106
+ * @param options.resolveController {function}
107
+ * `() => Promise<WebvhResourceLogController>` -- the caller's currently
108
+ * verified controller view, resolved per operation
109
+ * @param options.pinStore {ResourceLogPinStore} this client's chain-head
110
+ * pins, keyed per log
111
+ * @param options.signer {ResourceLogSigner} the signing key every store's
112
+ * appends are proved by; it must be listed under `assertionMethod` in the
113
+ * account document at the version each append anchors at
114
+ * @returns {CollectionStoreFor}
115
+ */
116
+ export declare function collectionDescriptorStores({ collectionFor, resolveController, pinStore, signer }: {
117
+ collectionFor: (collectionId: string) => Collection;
118
+ resolveController: () => Promise<WebvhResourceLogController>;
119
+ pinStore: ResourceLogPinStore;
120
+ signer: ResourceLogSigner;
121
+ }): CollectionStoreFor;
122
+ /**
123
+ * Builds the per-collection store lookup from bare parts, for callers with
124
+ * no session: the geneses, the mend, the recovery continuations, and a
125
+ * wallet whose every caller acts on its account with a signing client and a
126
+ * pin store. The parameter shape is {@link userKeyRosterDescriptorStore}'s,
127
+ * plus the account DID and the optional account log, so the roster store and
128
+ * its per-collection twin are built from the same parts.
129
+ *
130
+ * The controller view is {@link accountControllerResolver}'s, built here
131
+ * over the same parts, so a fan-out over every collection verifies the
132
+ * account log once. A caller that also builds the roster store and wants one
133
+ * verification for the pair builds that resolver itself and hands it to
134
+ * both {@link userKeyRosterDescriptorStore} and
135
+ * {@link collectionDescriptorStores}. Nothing is reached until the first
136
+ * lookup, so a lookup handed to a ceremony that never installs or rotates an
137
+ * epoch costs nothing.
138
+ *
139
+ * @param options {object}
140
+ * @param options.storageServerUrl {string} the storage server the account
141
+ * lives on
142
+ * @param options.zcapClient {ZcapClient} the signing client every request
143
+ * rides
144
+ * @param options.spaceId {string} the data Space id
145
+ * @param options.did {string} the account's did:webvh, the controller
146
+ * every collection log's entry proofs anchor to
147
+ * @param options.pinStore {ResourceLogPinStore} this client's chain-head
148
+ * pins, for the collection logs and for the account log's own slot when
149
+ * it is verified here
150
+ * @param options.signer {ResourceLogSigner} the signing key every store's
151
+ * appends are proved by ({@link userKeyRosterLogSigner} for an enrolled
152
+ * client, a standing credential's ladder VM on a credential-anchored
153
+ * account)
154
+ * @param [options.log] {DIDLog} the account log this run already stands on
155
+ * (a ceremony that just read or published it); given, no fetch runs
156
+ * @param [options.capability] {IZcap} an invocation capability every
157
+ * request rides (a transient visit's generation delegation); absent,
158
+ * requests invoke the root capability
159
+ * @returns {CollectionStoreFor}
160
+ */
161
+ export declare function accountCollectionStores({ storageServerUrl, zcapClient, spaceId, did, pinStore, signer, log, capability }: {
162
+ storageServerUrl: string;
163
+ zcapClient: ZcapClient;
164
+ spaceId: string;
165
+ did: string;
166
+ pinStore: ResourceLogPinStore;
167
+ signer: ResourceLogSigner;
168
+ log?: DIDLog;
169
+ capability?: IZcap;
170
+ }): CollectionStoreFor;
73
171
  //# sourceMappingURL=collectionLogStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionLogStore.d.ts","sourceRoot":"","sources":["../../src/keys/collectionLogStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACP,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,iBAAiB,EAAE,MAAM,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5D,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,iBAAiB,CAAA;CAC1B,GAAG,iCAAiC,CAYpC"}
1
+ {"version":3,"file":"collectionLogStore.d.ts","sourceRoot":"","sources":["../../src/keys/collectionLogStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,KAAK,EAEX,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAEL,KAAK,iCAAiC,EACvC,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACP,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;IACtB,iBAAiB,EAAE,MAAM,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5D,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,iBAAiB,CAAA;CAC1B,GAAG,iCAAiC,CAYpC;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,YAAY,EAAE,MAAM,KACjB,iCAAiC,CAAA;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACP,EAAE;IACD,aAAa,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,UAAU,CAAA;IACnD,iBAAiB,EAAE,MAAM,OAAO,CAAC,0BAA0B,CAAC,CAAA;IAC5D,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,iBAAiB,CAAA;CAC1B,GAAG,kBAAkB,CAQrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,GAAG,EACH,QAAQ,EACR,MAAM,EACN,GAAG,EACH,UAAU,EACX,EAAE;IACD,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,MAAM,EAAE,iBAAiB,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB,GAAG,kBAAkB,CAoBrB"}
@@ -1,5 +1,7 @@
1
+ import { WasClient } from '@interop/was-client';
1
2
  import { resourceLogStore } from '@interop/was-client/log';
2
3
  import { collectionDescriptorLogPinId } from '../descriptors/logSource.js';
4
+ import { accountControllerResolver } from '../webvh/verifyLog.js';
3
5
  import { logGovernedDescriptorStore } from './rosterLogStore.js';
4
6
  /**
5
7
  * Builds the log-governed, sealable descriptor store over one collection's
@@ -57,4 +59,98 @@ export function collectionDescriptorLogStore({ collection, resolveController, pi
57
59
  logClass: 'collection-descriptor'
58
60
  });
59
61
  }
62
+ /**
63
+ * Builds the per-collection store lookup from a collection reach and a
64
+ * controller resolver, both functions: the generic builder a caller with a
65
+ * live session wires with its own verified-log memo and a collection handle
66
+ * that rides whatever capability the session holds at call time (a transient
67
+ * visit's generation delegation, renewed mid-run included).
68
+ *
69
+ * Each lookup builds a fresh store over {@link collectionDescriptorLogStore}
70
+ * for the collection named, sharing the resolver, the pin store, and the
71
+ * signer across them; nothing is reached until the first lookup, so a lookup
72
+ * handed to a ceremony that never installs or rotates an epoch costs nothing.
73
+ *
74
+ * @param options {object}
75
+ * @param options.collectionFor {function} `(collectionId) => Collection` --
76
+ * how the caller reaches a collection handle (a `Space` handle's
77
+ * `collection()`, or a wrapper that rides a capability the caller renews)
78
+ * @param options.resolveController {function}
79
+ * `() => Promise<WebvhResourceLogController>` -- the caller's currently
80
+ * verified controller view, resolved per operation
81
+ * @param options.pinStore {ResourceLogPinStore} this client's chain-head
82
+ * pins, keyed per log
83
+ * @param options.signer {ResourceLogSigner} the signing key every store's
84
+ * appends are proved by; it must be listed under `assertionMethod` in the
85
+ * account document at the version each append anchors at
86
+ * @returns {CollectionStoreFor}
87
+ */
88
+ export function collectionDescriptorStores({ collectionFor, resolveController, pinStore, signer }) {
89
+ return collectionId => collectionDescriptorLogStore({
90
+ collection: collectionFor(collectionId),
91
+ resolveController,
92
+ pinStore,
93
+ signer
94
+ });
95
+ }
96
+ /**
97
+ * Builds the per-collection store lookup from bare parts, for callers with
98
+ * no session: the geneses, the mend, the recovery continuations, and a
99
+ * wallet whose every caller acts on its account with a signing client and a
100
+ * pin store. The parameter shape is {@link userKeyRosterDescriptorStore}'s,
101
+ * plus the account DID and the optional account log, so the roster store and
102
+ * its per-collection twin are built from the same parts.
103
+ *
104
+ * The controller view is {@link accountControllerResolver}'s, built here
105
+ * over the same parts, so a fan-out over every collection verifies the
106
+ * account log once. A caller that also builds the roster store and wants one
107
+ * verification for the pair builds that resolver itself and hands it to
108
+ * both {@link userKeyRosterDescriptorStore} and
109
+ * {@link collectionDescriptorStores}. Nothing is reached until the first
110
+ * lookup, so a lookup handed to a ceremony that never installs or rotates an
111
+ * epoch costs nothing.
112
+ *
113
+ * @param options {object}
114
+ * @param options.storageServerUrl {string} the storage server the account
115
+ * lives on
116
+ * @param options.zcapClient {ZcapClient} the signing client every request
117
+ * rides
118
+ * @param options.spaceId {string} the data Space id
119
+ * @param options.did {string} the account's did:webvh, the controller
120
+ * every collection log's entry proofs anchor to
121
+ * @param options.pinStore {ResourceLogPinStore} this client's chain-head
122
+ * pins, for the collection logs and for the account log's own slot when
123
+ * it is verified here
124
+ * @param options.signer {ResourceLogSigner} the signing key every store's
125
+ * appends are proved by ({@link userKeyRosterLogSigner} for an enrolled
126
+ * client, a standing credential's ladder VM on a credential-anchored
127
+ * account)
128
+ * @param [options.log] {DIDLog} the account log this run already stands on
129
+ * (a ceremony that just read or published it); given, no fetch runs
130
+ * @param [options.capability] {IZcap} an invocation capability every
131
+ * request rides (a transient visit's generation delegation); absent,
132
+ * requests invoke the root capability
133
+ * @returns {CollectionStoreFor}
134
+ */
135
+ export function accountCollectionStores({ storageServerUrl, zcapClient, spaceId, did, pinStore, signer, log, capability }) {
136
+ let space;
137
+ return collectionDescriptorStores({
138
+ collectionFor: collectionId => {
139
+ space ??= new WasClient({
140
+ serverUrl: storageServerUrl,
141
+ zcapClient
142
+ }).space(spaceId, { capability });
143
+ return space.collection(collectionId);
144
+ },
145
+ resolveController: accountControllerResolver({
146
+ did,
147
+ spaceId,
148
+ host: storageServerUrl,
149
+ pinStore,
150
+ log
151
+ }),
152
+ pinStore,
153
+ signer
154
+ });
155
+ }
60
156
  //# sourceMappingURL=collectionLogStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collectionLogStore.js","sourceRoot":"","sources":["../../src/keys/collectionLogStore.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAK1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAE1E,OAAO,EACL,0BAA0B,EAE3B,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,4BAA4B,CAAC,EAC3C,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,MAAM,EAMP;IACC,OAAO,0BAA0B,CAAC;QAChC,GAAG,EAAE,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;QACrC,iBAAiB;QACjB,QAAQ;QACR,KAAK,EAAE,4BAA4B,CAAC;YAClC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,YAAY,EAAE,UAAU,CAAC,EAAE;SAC5B,CAAC;QACF,MAAM;QACN,QAAQ,EAAE,uBAAuB;KAClC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"collectionLogStore.js","sourceRoot":"","sources":["../../src/keys/collectionLogStore.ts"],"names":[],"mappings":"AA6BA,OAAO,EACL,SAAS,EAIV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAK1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAE1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EACL,0BAA0B,EAE3B,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,UAAU,4BAA4B,CAAC,EAC3C,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,MAAM,EAMP;IACC,OAAO,0BAA0B,CAAC;QAChC,GAAG,EAAE,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;QACrC,iBAAiB;QACjB,QAAQ;QACR,KAAK,EAAE,4BAA4B,CAAC;YAClC,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,YAAY,EAAE,UAAU,CAAC,EAAE;SAC5B,CAAC;QACF,MAAM;QACN,QAAQ,EAAE,uBAAuB;KAClC,CAAC,CAAA;AACJ,CAAC;AAYD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,aAAa,EACb,iBAAiB,EACjB,QAAQ,EACR,MAAM,EAMP;IACC,OAAO,YAAY,CAAC,EAAE,CACpB,4BAA4B,CAAC;QAC3B,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC;QACvC,iBAAiB;QACjB,QAAQ;QACR,MAAM;KACP,CAAC,CAAA;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,uBAAuB,CAAC,EACtC,gBAAgB,EAChB,UAAU,EACV,OAAO,EACP,GAAG,EACH,QAAQ,EACR,MAAM,EACN,GAAG,EACH,UAAU,EAUX;IACC,IAAI,KAAwB,CAAA;IAC5B,OAAO,0BAA0B,CAAC;QAChC,aAAa,EAAE,YAAY,CAAC,EAAE;YAC5B,KAAK,KAAK,IAAI,SAAS,CAAC;gBACtB,SAAS,EAAE,gBAAgB;gBAC3B,UAAU;aACX,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;YACjC,OAAO,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,CAAC;QACD,iBAAiB,EAAE,yBAAyB,CAAC;YAC3C,GAAG;YACH,OAAO;YACP,IAAI,EAAE,gBAAgB;YACtB,QAAQ;YACR,GAAG;SACJ,CAAC;QACF,QAAQ;QACR,MAAM;KACP,CAAC,CAAA;AACJ,CAAC"}
@@ -44,6 +44,14 @@
44
44
  * Those two builders are the subpath's whole store surface. Each states its
45
45
  * log class at construction, and the generic wrapper under them takes a
46
46
  * caller-chosen class and log id, so it stays module-internal.
47
+ * - `collectionDescriptorStores` / `accountCollectionStores` -- the
48
+ * `(collectionId) => store` lookup (`CollectionStoreFor`) the epoch
49
+ * installers, the geneses' `collectionStoreFor`, and the cascade take,
50
+ * over `collectionDescriptorLogStore`. The generic one takes the collection
51
+ * reach and the controller resolver as functions (a session's handle and
52
+ * verified-log memo); the account one takes the roster store's bare parts
53
+ * plus the account DID, builds the Space handle on the first lookup, and
54
+ * resolves the controller through `webvh`'s `accountControllerResolver`.
47
55
  * - `rosterRecipientKid` -- the one builder of a client's roster kid, shared by
48
56
  * the enrollment wrap and the roster read. A retiring rotation names no kid:
49
57
  * it converges onto the account document instead.
@@ -98,7 +106,8 @@ export { anchorRosterStoreAt, retireRosterRecipientAndCascade, rotateRosterToDoc
98
106
  export type { CascadeCollections, RosterCascadeResult, RosterSealReport, UserKeyAdoptedHook } from './userKeyRosterCascade.js';
99
107
  export type { DescriptorStoreRead, UserKeyRosterReadResult } from './userKeyRoster.js';
100
108
  export type { KeyAgreementDocument } from '../resourceLog/document.js';
101
- export { collectionDescriptorLogStore } from './collectionLogStore.js';
109
+ export { accountCollectionStores, collectionDescriptorLogStore, collectionDescriptorStores } from './collectionLogStore.js';
110
+ export type { CollectionStoreFor } from './collectionLogStore.js';
102
111
  export { userKeyRosterDescriptorStore, userKeyRosterPinId } from './rosterStore.js';
103
112
  export { isSealableDescriptorStore } from './rosterLogStore.js';
104
113
  export type { SealableEncryptionDescriptorStore } from './rosterLogStore.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,gCAAgC,EAChC,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,YAAY,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAA;AAE5E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,gCAAgC,EAChC,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,yBAAyB,CAAA;AAChC,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,YAAY,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAA;AAE5E,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -44,6 +44,14 @@
44
44
  * Those two builders are the subpath's whole store surface. Each states its
45
45
  * log class at construction, and the generic wrapper under them takes a
46
46
  * caller-chosen class and log id, so it stays module-internal.
47
+ * - `collectionDescriptorStores` / `accountCollectionStores` -- the
48
+ * `(collectionId) => store` lookup (`CollectionStoreFor`) the epoch
49
+ * installers, the geneses' `collectionStoreFor`, and the cascade take,
50
+ * over `collectionDescriptorLogStore`. The generic one takes the collection
51
+ * reach and the controller resolver as functions (a session's handle and
52
+ * verified-log memo); the account one takes the roster store's bare parts
53
+ * plus the account DID, builds the Space handle on the first lookup, and
54
+ * resolves the controller through `webvh`'s `accountControllerResolver`.
47
55
  * - `rosterRecipientKid` -- the one builder of a client's roster kid, shared by
48
56
  * the enrollment wrap and the roster read. A retiring rotation names no kid:
49
57
  * it converges onto the account document instead.
@@ -92,7 +100,7 @@ export { assertEnrolledClientKeyRecord, decodeClientKeyRecord, encodeClientKeyRe
92
100
  export { addUserKeyRosterRecipient, convergeUserKeyRosterToDocument, currentEpochOf, enrolledClientRosterRecipients, ensureUserKeyRoster, UserKeyRosterContinuityError, UserKeyRosterIntegrityError, UserKeyRosterUnwrapError, userKeyRosterLogSigner, userKeyRosterRecipientResolver, readUserKeyRoster, replaceUserKeyRosterRecipients, rosterRecipientKid, rosterRecipientsToRetire, rosterWrapsRecipient, rotateUserKeyRoster } from './userKeyRoster.js';
93
101
  export { cascadeCollectionsToUserKey, userKeyAsRecipient, rotateCollectionEpochsToUserKey, unwrapUserKeyGenerations } from './userKeyCascade.js';
94
102
  export { anchorRosterStoreAt, retireRosterRecipientAndCascade, rotateRosterToDocumentAndCascade } from './userKeyRosterCascade.js';
95
- export { collectionDescriptorLogStore } from './collectionLogStore.js';
103
+ export { accountCollectionStores, collectionDescriptorLogStore, collectionDescriptorStores } from './collectionLogStore.js';
96
104
  export { userKeyRosterDescriptorStore, userKeyRosterPinId } from './rosterStore.js';
97
105
  export { isSealableDescriptorStore } from './rosterLogStore.js';
98
106
  export { ensureIndexedFirstEpoch, ensureWalletSpaceEpochs, WalletSpaceProvisioningError, walletSpaceProvisioner } from './spaceEpochs.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAQ7B,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,2BAA2B,CAAA;AAalC,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAG/D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/keys/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,OAAO,EACL,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAQ7B,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,8BAA8B,EAC9B,mBAAmB,EACnB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,+BAA+B,EAC/B,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAK5B,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,2BAA2B,CAAA;AAalC,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAG/D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -88,7 +88,7 @@
88
88
  * ezcap dependency graph (the same isolation pattern as `./keyring`).
89
89
  */
90
90
  export { assertCanonicalClientKeys, BYOE_CONTEXT_URL, clientAdditionFields, clientKeyAgreementController, commitmentMatchesKey, didWebvhControllerTemplate, ensureDidWebvh, keyAgreementCommitment, keyAgreementTwinMultibase, MULTIKEY_COMMITMENT_VM_TYPE, markedVerificationMethodPair, mintClientWebvhUpdateKeys, rotateWebvhUpdateKey, servedHead, updateKeyMultibase, WebvhLogConflictError, withLogConflictRetry, withThreadedHeadOnce } from './didWebvh.js';
91
- export { accountLogPinId, logResourcePinId, AccountLogMissingError, verifiedAccountLogOf, verifyAccountLog } from './verifyLog.js';
91
+ export { accountControllerResolver, accountLogPinId, logResourcePinId, AccountLogMissingError, verifiedAccountLogOf, verifyAccountLog } from './verifyLog.js';
92
92
  export type { VerifiedAccountLog } from './verifyLog.js';
93
93
  export { wasWebvhIdStore, wasWebvhLogStore } from './wasIdStore.js';
94
94
  export type { WebvhLogResourceStore } from './wasIdStore.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACtE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1D,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,eAAe,EAChB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,7 @@
88
88
  * ezcap dependency graph (the same isolation pattern as `./keyring`).
89
89
  */
90
90
  export { assertCanonicalClientKeys, BYOE_CONTEXT_URL, clientAdditionFields, clientKeyAgreementController, commitmentMatchesKey, didWebvhControllerTemplate, ensureDidWebvh, keyAgreementCommitment, keyAgreementTwinMultibase, MULTIKEY_COMMITMENT_VM_TYPE, markedVerificationMethodPair, mintClientWebvhUpdateKeys, rotateWebvhUpdateKey, servedHead, updateKeyMultibase, WebvhLogConflictError, withLogConflictRetry, withThreadedHeadOnce } from './didWebvh.js';
91
- export { accountLogPinId, logResourcePinId, AccountLogMissingError, verifiedAccountLogOf, verifyAccountLog } from './verifyLog.js';
91
+ export { accountControllerResolver, accountLogPinId, logResourcePinId, AccountLogMissingError, verifiedAccountLogOf, verifyAccountLog } from './verifyLog.js';
92
92
  export { wasWebvhIdStore, wasWebvhLogStore } from './wasIdStore.js';
93
93
  export { ensureDidWebProjection, putDidWebProjection } from './didWebProjection.js';
94
94
  export { delegatedWebvhLogStore } from './delegatedLogStore.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEnE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,kBAAkB,CAAA;AAKzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE5D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AAKnC,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAqBtE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,eAAe,EAChB,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqFG;AACH,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EACzB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEnE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,kBAAkB,CAAA;AAKzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAE5D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,WAAW,EACX,WAAW,EACX,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,4BAA4B,CAAA;AAKnC,OAAO,EACL,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAqBtE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,eAAe,EAChB,MAAM,WAAW,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import type { DIDDoc, DIDLog } from '@interop/did-method-webvh';
2
2
  import type { PublishedWebvhLog } from './didWebvh.js';
3
+ import { type WebvhResourceLogController } from '../resourceLog/controller.js';
3
4
  import { type ResourceLogHeadPin, type ResourceLogPinStore } from '@interop/vh-resource-log';
4
5
  /**
5
6
  * The pin-slot key for the did:webvh log (`did.jsonl`) of one collection --
@@ -182,4 +183,37 @@ export interface VerifiedAccountLog {
182
183
  export declare function verifiedAccountLogOf({ published }: {
183
184
  published: PublishedWebvhLog;
184
185
  }): VerifiedAccountLog;
186
+ /**
187
+ * Builds the memoized controller resolver an account-shaped store builder
188
+ * takes ({@link userKeyRosterDescriptorStore}'s `resolveController`, and
189
+ * `accountCollectionStores`' own): the account's verified controller view,
190
+ * resolved once for the life of the resolver and shared by every store
191
+ * built over it, so a roster store and its per-collection twin built from
192
+ * the same parts verify the account log once between them.
193
+ *
194
+ * Nothing runs until the first call. With `log` given, the view is built
195
+ * from it and `did.jsonl` is never fetched: it is what the run itself
196
+ * published or adopted, so a fetch could only serve something the run has
197
+ * not built on. Otherwise the first call runs one {@link verifyAccountLog}
198
+ * under the pin store handed in, memoized as the in-flight promise; a failed
199
+ * verification clears the memo, so the next call retries rather than
200
+ * replaying the refusal.
201
+ *
202
+ * @param options {object}
203
+ * @param options.did {string} the account's did:webvh
204
+ * @param options.spaceId {string} the data Space id
205
+ * @param options.host {string} the storage server the account lives on
206
+ * @param options.pinStore {ResourceLogPinStore} the account log's
207
+ * chain-head pin, checked and advanced when the log is fetched here
208
+ * @param [options.log] {DIDLog} the account log this run already stands on
209
+ * (a ceremony that just read or published it); given, no fetch runs
210
+ * @returns {function} `() => Promise<WebvhResourceLogController>`
211
+ */
212
+ export declare function accountControllerResolver({ did, spaceId, host, pinStore, log }: {
213
+ did: string;
214
+ spaceId: string;
215
+ host: string;
216
+ pinStore: ResourceLogPinStore;
217
+ log?: DIDLog;
218
+ }): () => Promise<WebvhResourceLogController>;
185
219
  //# sourceMappingURL=verifyLog.d.ts.map
@@ -1 +1 @@
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;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAA;AAEjC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,YAAY,EACb,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAMT;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,WAAW,EACZ,EAAE;IACD,SAAS,EAAE,iBAAiB,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,iBAAiB,CAQpB;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,SAA0C;CAI9D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAC/B,GAAG,kBAAkB,CA4CrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,QAAQ,EACR,KAAK,EACL,GAAG,EACJ,EAAE;IACD,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,SAAS,EACV,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoD9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACV,EAAE;IACD,SAAS,EAAE,iBAAiB,CAAA;CAC7B,GAAG,kBAAkB,CAOrB"}
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;AAE/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAA;AAEjC;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,YAAY,EACb,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,MAAM,CAMT;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAExE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,WAAW,EACZ,EAAE;IACD,SAAS,EAAE,iBAAiB,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,iBAAiB,CAQpB;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,SAA0C;CAI9D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,GAAG,EACH,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAC/B,GAAG,kBAAkB,CA4CrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,QAAQ,EACR,KAAK,EACL,GAAG,EACJ,EAAE;IACD,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACZ,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,SAAS,EACV,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAC9B,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoD9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACV,EAAE;IACD,SAAS,EAAE,iBAAiB,CAAA;CAC7B,GAAG,kBAAkB,CAOrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,GAAG,EACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,MAAM,OAAO,CAAC,0BAA0B,CAAC,CAkB5C"}
@@ -28,6 +28,7 @@
28
28
  */
29
29
  import { readLogFromString, resolveDIDFromLog } from '@interop/did-method-webvh';
30
30
  import { resourcePath, toUrl } from '@interop/was-client/paths';
31
+ import { webvhResourceLogController } from '../resourceLog/controller.js';
31
32
  import { DID_LOG_RESOURCE, ID_COLLECTION } from '../space/collections.js';
32
33
  import { ResourceLogContinuityError, resourceLogPinId } from '@interop/vh-resource-log';
33
34
  /**
@@ -298,4 +299,42 @@ export function verifiedAccountLogOf({ published }) {
298
299
  nextKeyHashes: published.nextKeyHashes
299
300
  };
300
301
  }
302
+ /**
303
+ * Builds the memoized controller resolver an account-shaped store builder
304
+ * takes ({@link userKeyRosterDescriptorStore}'s `resolveController`, and
305
+ * `accountCollectionStores`' own): the account's verified controller view,
306
+ * resolved once for the life of the resolver and shared by every store
307
+ * built over it, so a roster store and its per-collection twin built from
308
+ * the same parts verify the account log once between them.
309
+ *
310
+ * Nothing runs until the first call. With `log` given, the view is built
311
+ * from it and `did.jsonl` is never fetched: it is what the run itself
312
+ * published or adopted, so a fetch could only serve something the run has
313
+ * not built on. Otherwise the first call runs one {@link verifyAccountLog}
314
+ * under the pin store handed in, memoized as the in-flight promise; a failed
315
+ * verification clears the memo, so the next call retries rather than
316
+ * replaying the refusal.
317
+ *
318
+ * @param options {object}
319
+ * @param options.did {string} the account's did:webvh
320
+ * @param options.spaceId {string} the data Space id
321
+ * @param options.host {string} the storage server the account lives on
322
+ * @param options.pinStore {ResourceLogPinStore} the account log's
323
+ * chain-head pin, checked and advanced when the log is fetched here
324
+ * @param [options.log] {DIDLog} the account log this run already stands on
325
+ * (a ceremony that just read or published it); given, no fetch runs
326
+ * @returns {function} `() => Promise<WebvhResourceLogController>`
327
+ */
328
+ export function accountControllerResolver({ did, spaceId, host, pinStore, log }) {
329
+ let pending;
330
+ return async () => {
331
+ pending ??= (log === undefined
332
+ ? verifyAccountLog({ did, spaceId, host, pinStore }).then(({ log: served }) => served)
333
+ : Promise.resolve(log)).then(served => webvhResourceLogController({ did, log: served }), err => {
334
+ pending = undefined;
335
+ throw err;
336
+ });
337
+ return await pending;
338
+ };
339
+ }
301
340
  //# sourceMappingURL=verifyLog.js.map
@@ -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":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAE/D,OAAO,EACL,0BAA0B,EAE3B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAGjB,MAAM,0BAA0B,CAAA;AAEjC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,EACP,YAAY,EAIb;IACC,OAAO,gBAAgB,CAAC;QACtB,OAAO;QACP,YAAY;QACZ,UAAU,EAAE,gBAAgB;KAC7B,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAuB;IAC9D,OAAO,gBAAgB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAA;AACtE,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,SAAS,EACT,WAAW,EAIZ;IACC,IAAI,WAAW,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACb,iEAAiE;YAC/D,IAAI,SAAS,CAAC,GAAG,oBAAoB,WAAW,IAAI,CACvD,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;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;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,GAAG,EACH,GAAG,EAIJ;IACC,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAA;IAC1C,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,0BAA0B,CAAC;gBACnC,MAAM,EAAE,eAAe;gBACvB,UAAU,EAAE,GAAG,CAAC,IAAI;aACrB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,0BAA0B,CAAC;gBACnC,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,GAAG,CAAC,IAAI;aACrB,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,0BAA0B,CAAC;gBACnC,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,GAAG,CAAC,IAAI;gBACpB,aAAa,EAAE,GAAG;aACnB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,0BAA0B,CAAC;gBACnC,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE,GAAG,CAAC,IAAI;aACrB,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,CAAE,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,0BAA0B,CAAC;gBACnC,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,GAAG,CAAC,IAAI;gBACpB,aAAa,EAAE,GAAG;aACnB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAA;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EACjD,QAAQ,EACR,KAAK,EACL,GAAG,EAKJ;IACC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1C,MAAM,MAAM,GAAG,yBAAyB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IACtD,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,SAAS,EAOV;IACC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,qBAAqB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,4BAA4B,CAAC;gBACjC,QAAQ;gBACR,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;gBACnC,GAAG,EAAE,SAAS,CAAC,GAAG;aACnB,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC;QAChB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,EAAE,gBAAgB,CAAC;KAChE,CAAC,CAAA;IACF,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,MAAM,QAAQ,GAAuB;QACnC,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;IACD,qBAAqB,CAAC;QACpB,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;QAC7C,WAAW,EAAE,GAAG;KACjB,CAAC,CAAA;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,4BAA4B,CAAC;YACjC,QAAQ;YACR,KAAK,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;YACnC,GAAG;SACJ,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAeD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,SAAS,EAGV;IACC,OAAO;QACL,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,aAAa,EAAE,SAAS,CAAC,aAAa;KACvC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,yBAAyB,CAAC,EACxC,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,GAAG,EAOJ;IACC,IAAI,OAAwD,CAAA;IAC5D,OAAO,KAAK,IAAI,EAAE;QAChB,OAAO,KAAK,CACV,GAAG,KAAK,SAAS;YACf,CAAC,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CACrD,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAC5B;YACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CACzB,CAAC,IAAI,CACJ,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAC1D,GAAG,CAAC,EAAE;YACJ,OAAO,GAAG,SAAS,CAAA;YACnB,MAAM,GAAG,CAAA;QACX,CAAC,CACF,CAAA;QACD,OAAO,MAAM,OAAO,CAAA;IACtB,CAAC,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.73.0",
4
+ "version": "0.75.0",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "pnpm run clear && tsc",
@@ -29,7 +29,6 @@
29
29
  "@interop/social-core": "^0.8.1",
30
30
  "@interop/storage-core": "^0.13.0",
31
31
  "@interop/vh-resource-log": "^0.5.1",
32
- "@interop/was-client": "^0.59.1",
33
32
  "@interop/x25519-key-agreement-key": "^5.4.0",
34
33
  "@noble/ciphers": "^2.3.0",
35
34
  "@noble/hashes": "^2.3.0",
@@ -39,6 +38,7 @@
39
38
  "devDependencies": {
40
39
  "@eslint/js": "^10.0.1",
41
40
  "@interop/logger": "^0.2.0",
41
+ "@interop/was-client": "^0.60.0",
42
42
  "@playwright/test": "^1.60.0",
43
43
  "@types/node": "^26.0.1",
44
44
  "@vitest/coverage-v8": "^4.1.7",
@@ -190,5 +190,8 @@
190
190
  "url": "git+https://github.com/interop-alliance/wallet-core.git"
191
191
  },
192
192
  "homepage": "https://github.com/interop-alliance/wallet-core",
193
- "bugs": "https://github.com/interop-alliance/wallet-core/issues"
193
+ "bugs": "https://github.com/interop-alliance/wallet-core/issues",
194
+ "peerDependencies": {
195
+ "@interop/was-client": ">=0.59.1 <1.0.0"
196
+ }
194
197
  }