@interop/wallet-core 0.107.1 → 0.109.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.
- package/README.md +26 -24
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts +3 -3
- package/dist/clientAnnex/credentialAnchoredGenesis.d.ts.map +1 -1
- package/dist/clientAnnex/credentialAnchoredGenesis.js +3 -3
- package/dist/clientAnnex/credentialAnchoredGenesis.js.map +1 -1
- package/dist/clientAnnex/establish.d.ts +10 -9
- package/dist/clientAnnex/establish.d.ts.map +1 -1
- package/dist/clientAnnex/establish.js +23 -19
- package/dist/clientAnnex/establish.js.map +1 -1
- package/dist/clientAnnex/forget.d.ts +5 -5
- package/dist/clientAnnex/forget.d.ts.map +1 -1
- package/dist/clientAnnex/forget.js +1 -1
- package/dist/clientAnnex/forget.js.map +1 -1
- package/dist/clientAnnex/forgetLast.d.ts +10 -10
- package/dist/clientAnnex/forgetLast.d.ts.map +1 -1
- package/dist/clientAnnex/forgetLast.js +4 -4
- package/dist/clientAnnex/forgetLast.js.map +1 -1
- package/dist/clientAnnex/gc.d.ts +6 -6
- package/dist/clientAnnex/gc.d.ts.map +1 -1
- package/dist/clientAnnex/gc.js +13 -10
- package/dist/clientAnnex/gc.js.map +1 -1
- package/dist/clientAnnex/heal.d.ts +21 -19
- package/dist/clientAnnex/heal.d.ts.map +1 -1
- package/dist/clientAnnex/heal.js +25 -22
- package/dist/clientAnnex/heal.js.map +1 -1
- package/dist/clientAnnex/ladderAnchored.d.ts +40 -32
- package/dist/clientAnnex/ladderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/ladderAnchored.js +33 -44
- package/dist/clientAnnex/ladderAnchored.js.map +1 -1
- package/dist/clientAnnex/log.d.ts +62 -61
- package/dist/clientAnnex/log.d.ts.map +1 -1
- package/dist/clientAnnex/log.js +68 -67
- package/dist/clientAnnex/log.js.map +1 -1
- package/dist/clientAnnex/mend.d.ts.map +1 -1
- package/dist/clientAnnex/mend.js +22 -16
- package/dist/clientAnnex/mend.js.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts +4 -3
- package/dist/clientAnnex/recoveryLadderAnchored.d.ts.map +1 -1
- package/dist/clientAnnex/recoveryLadderAnchored.js +1 -1
- package/dist/clientAnnex/selfEnroll.d.ts +3 -3
- package/dist/clientAnnex/selfEnroll.d.ts.map +1 -1
- package/dist/clientAnnex/selfEnroll.js +6 -7
- package/dist/clientAnnex/selfEnroll.js.map +1 -1
- package/dist/clientAnnex/spaceCapability.d.ts +6 -6
- package/dist/clientAnnex/spaceCapability.d.ts.map +1 -1
- package/dist/clientAnnex/spaceCapability.js +9 -12
- package/dist/clientAnnex/spaceCapability.js.map +1 -1
- package/dist/clients/index.d.ts +1 -1
- package/dist/clients/index.d.ts.map +1 -1
- package/dist/clients/index.js.map +1 -1
- package/dist/clients/listing.d.ts +12 -18
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +17 -13
- package/dist/clients/listing.js.map +1 -1
- package/dist/clients/revocation.d.ts +2 -2
- package/dist/clients/revocation.d.ts.map +1 -1
- package/dist/clients/revocation.js.map +1 -1
- package/dist/clients/rosterPolicy.d.ts +4 -4
- package/dist/clients/rosterPolicy.d.ts.map +1 -1
- package/dist/clients/rosterPolicy.js +5 -4
- package/dist/clients/rosterPolicy.js.map +1 -1
- package/dist/connections/entry.d.ts +100 -9
- package/dist/connections/entry.d.ts.map +1 -1
- package/dist/connections/entry.js +104 -12
- package/dist/connections/entry.js.map +1 -1
- package/dist/connections/grantProof.d.ts.map +1 -1
- package/dist/connections/grantProof.js +4 -5
- package/dist/connections/grantProof.js.map +1 -1
- package/dist/connections/grants.d.ts.map +1 -1
- package/dist/connections/grants.js +3 -5
- package/dist/connections/grants.js.map +1 -1
- package/dist/connections/index.d.ts +9 -5
- package/dist/connections/index.d.ts.map +1 -1
- package/dist/connections/index.js +7 -4
- package/dist/connections/index.js.map +1 -1
- package/dist/connections/replicas.d.ts +227 -0
- package/dist/connections/replicas.d.ts.map +1 -0
- package/dist/connections/replicas.js +539 -0
- package/dist/connections/replicas.js.map +1 -0
- package/dist/connections/upsert.d.ts +75 -1
- package/dist/connections/upsert.d.ts.map +1 -1
- package/dist/connections/upsert.js +62 -34
- package/dist/connections/upsert.js.map +1 -1
- package/dist/enrollment/enrollment.d.ts.map +1 -1
- package/dist/enrollment/enrollment.js +4 -5
- package/dist/enrollment/enrollment.js.map +1 -1
- package/dist/genesis/accountGenesis.d.ts +4 -4
- package/dist/genesis/accountGenesis.d.ts.map +1 -1
- package/dist/genesis/accountGenesis.js +4 -4
- package/dist/genesis/accountGenesis.js.map +1 -1
- package/dist/keyring/fetch.d.ts +3 -3
- package/dist/keyring/fetch.d.ts.map +1 -1
- package/dist/keyring/fetch.js +3 -3
- package/dist/keyring/fetch.js.map +1 -1
- package/dist/keyring/record.d.ts.map +1 -1
- package/dist/keyring/record.js +1 -2
- package/dist/keyring/record.js.map +1 -1
- package/dist/keyring/recordEnvelope.d.ts +8 -6
- package/dist/keyring/recordEnvelope.d.ts.map +1 -1
- package/dist/keyring/recordEnvelope.js +12 -6
- package/dist/keyring/recordEnvelope.js.map +1 -1
- package/dist/keyring/unlockSpace.d.ts +15 -15
- package/dist/keyring/unlockSpace.d.ts.map +1 -1
- package/dist/keyring/unlockSpace.js +18 -19
- package/dist/keyring/unlockSpace.js.map +1 -1
- package/dist/keys/collectionLogStore.d.ts +3 -3
- package/dist/keys/collectionLogStore.d.ts.map +1 -1
- package/dist/keys/collectionLogStore.js +5 -7
- package/dist/keys/collectionLogStore.js.map +1 -1
- package/dist/keys/rosterStore.d.ts +3 -3
- package/dist/keys/rosterStore.d.ts.map +1 -1
- package/dist/keys/rosterStore.js +3 -4
- package/dist/keys/rosterStore.js.map +1 -1
- package/dist/recovery/continuation.d.ts +3 -9
- package/dist/recovery/continuation.d.ts.map +1 -1
- package/dist/recovery/continuation.js +1 -3
- package/dist/recovery/continuation.js.map +1 -1
- package/dist/recovery/index.d.ts +2 -1
- package/dist/recovery/index.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.d.ts.map +1 -1
- package/dist/recovery/recoveryDelegation.js +2 -21
- package/dist/recovery/recoveryDelegation.js.map +1 -1
- package/dist/recovery/recoveryWebvh.d.ts +21 -15
- package/dist/recovery/recoveryWebvh.d.ts.map +1 -1
- package/dist/recovery/recoveryWebvh.js +12 -7
- package/dist/recovery/recoveryWebvh.js.map +1 -1
- package/dist/space/collections.d.ts +2 -2
- package/dist/space/collections.js +2 -2
- package/dist/space/deleteSpace.d.ts +3 -3
- package/dist/space/deleteSpace.d.ts.map +1 -1
- package/dist/space/deleteSpace.js +3 -4
- package/dist/space/deleteSpace.js.map +1 -1
- package/dist/space/errors.d.ts +1 -1
- package/dist/space/errors.js +1 -1
- package/dist/space/index.d.ts +4 -4
- package/dist/space/index.js +3 -3
- package/dist/space/provisioning.d.ts.map +1 -1
- package/dist/space/provisioning.js +6 -5
- package/dist/space/provisioning.js.map +1 -1
- package/dist/space/publicLink.d.ts +4 -4
- package/dist/space/publicLink.d.ts.map +1 -1
- package/dist/space/publicLink.js +9 -8
- package/dist/space/publicLink.js.map +1 -1
- package/dist/space/pwsLink.d.ts +58 -0
- package/dist/space/pwsLink.d.ts.map +1 -0
- package/dist/space/{wasLink.js → pwsLink.js} +42 -37
- package/dist/space/pwsLink.js.map +1 -0
- package/dist/testing/accountBuilder.d.ts +19 -19
- package/dist/testing/accountBuilder.d.ts.map +1 -1
- package/dist/testing/accountBuilder.js +45 -43
- package/dist/testing/accountBuilder.js.map +1 -1
- package/dist/unlock/index.d.ts +2 -1
- package/dist/unlock/index.d.ts.map +1 -1
- package/dist/unlock/retire.d.ts +7 -5
- package/dist/unlock/retire.d.ts.map +1 -1
- package/dist/unlock/retire.js +5 -4
- package/dist/unlock/retire.js.map +1 -1
- package/dist/unlock/standingWebvh.d.ts +24 -15
- package/dist/unlock/standingWebvh.d.ts.map +1 -1
- package/dist/unlock/standingWebvh.js +32 -19
- package/dist/unlock/standingWebvh.js.map +1 -1
- package/dist/unlock/unlockRecord.d.ts.map +1 -1
- package/dist/unlock/unlockRecord.js +7 -7
- package/dist/unlock/unlockRecord.js.map +1 -1
- package/dist/webvh/accountEntry.d.ts +39 -50
- package/dist/webvh/accountEntry.d.ts.map +1 -1
- package/dist/webvh/accountEntry.js +133 -55
- package/dist/webvh/accountEntry.js.map +1 -1
- package/dist/webvh/clientAnnexDid.d.ts +21 -14
- package/dist/webvh/clientAnnexDid.d.ts.map +1 -1
- package/dist/webvh/clientAnnexDid.js +19 -14
- package/dist/webvh/clientAnnexDid.js.map +1 -1
- package/dist/webvh/delegatedLogStore.d.ts +7 -14
- package/dist/webvh/delegatedLogStore.d.ts.map +1 -1
- package/dist/webvh/delegatedLogStore.js +10 -9
- package/dist/webvh/delegatedLogStore.js.map +1 -1
- package/dist/webvh/didWebProjection.d.ts +30 -49
- package/dist/webvh/didWebProjection.d.ts.map +1 -1
- package/dist/webvh/didWebProjection.js +9 -56
- package/dist/webvh/didWebProjection.js.map +1 -1
- package/dist/webvh/didWebvh.d.ts +19 -33
- package/dist/webvh/didWebvh.d.ts.map +1 -1
- package/dist/webvh/didWebvh.js +30 -41
- package/dist/webvh/didWebvh.js.map +1 -1
- package/dist/webvh/enrollClient.d.ts +5 -3
- package/dist/webvh/enrollClient.d.ts.map +1 -1
- package/dist/webvh/enrollClient.js +12 -10
- package/dist/webvh/enrollClient.js.map +1 -1
- package/dist/webvh/index.d.ts +2 -2
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +1 -1
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/logLocation.d.ts +75 -0
- package/dist/webvh/logLocation.d.ts.map +1 -0
- package/dist/webvh/logLocation.js +102 -0
- package/dist/webvh/logLocation.js.map +1 -0
- package/dist/webvh/revokeClient.d.ts +10 -4
- package/dist/webvh/revokeClient.d.ts.map +1 -1
- package/dist/webvh/revokeClient.js +22 -22
- package/dist/webvh/revokeClient.js.map +1 -1
- package/dist/webvh/verifyLog.d.ts +9 -18
- package/dist/webvh/verifyLog.d.ts.map +1 -1
- package/dist/webvh/verifyLog.js +43 -50
- package/dist/webvh/verifyLog.js.map +1 -1
- package/package.json +7 -7
- package/dist/space/wasLink.d.ts +0 -57
- package/dist/space/wasLink.d.ts.map +0 -1
- package/dist/space/wasLink.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/clients/listing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAIL,gBAAgB,EAChB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE
|
|
1
|
+
{"version":3,"file":"listing.d.ts","sourceRoot":"","sources":["../../src/clients/listing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAIL,gBAAgB,EAChB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAA;AAE7E;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;CACnB;AAuFD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,GAAG,EACH,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EACnB,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAA;IACpE,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;CACzC,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAiB/B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,GAAG,EACH,WAAW,EACX,kBAAkB,EACnB,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;CACzC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAOvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,2BAA2B,CAAC,EAChD,GAAG,EACH,WAAW,EACX,kBAAkB,EACnB,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;CACzC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAcvB"}
|
package/dist/clients/listing.js
CHANGED
|
@@ -60,17 +60,18 @@ function walletClientEntriesByKey({ entries }) {
|
|
|
60
60
|
* the caller keeps pins.
|
|
61
61
|
*
|
|
62
62
|
* @param options {object}
|
|
63
|
-
* @param options.
|
|
63
|
+
* @param options.did {string} the account's did:webvh, which locates its
|
|
64
|
+
* own log
|
|
64
65
|
* @param [options.verifiedLog] {VerifiedAccountLog} an already-verified log
|
|
65
66
|
* to read instead of fetching and verifying one
|
|
66
67
|
* @param [options.accountLogPinStore] {ResourceLogPinStore} this client's
|
|
67
68
|
* chain-head pin for the account log, checked when the log is fetched here
|
|
68
69
|
* @returns {Promise<VerifiedAccountLog>}
|
|
69
70
|
*/
|
|
70
|
-
async function resolveVerifiedAccountLog({
|
|
71
|
+
async function resolveVerifiedAccountLog({ did, verifiedLog, accountLogPinStore }) {
|
|
71
72
|
return (verifiedLog ??
|
|
72
73
|
(await verifyAccountLog({
|
|
73
|
-
|
|
74
|
+
did,
|
|
74
75
|
...(accountLogPinStore ? { pinStore: accountLogPinStore } : {})
|
|
75
76
|
})));
|
|
76
77
|
}
|
|
@@ -100,7 +101,8 @@ async function directoryNames({ readDirectoryEntries }) {
|
|
|
100
101
|
* client marked.
|
|
101
102
|
*
|
|
102
103
|
* @param options {object}
|
|
103
|
-
* @param options.
|
|
104
|
+
* @param options.did {string} the account's did:webvh, which locates its
|
|
105
|
+
* own log
|
|
104
106
|
* @param [options.readDirectoryEntries] {Function} reads the `connections`
|
|
105
107
|
* directory's entries; its `wallet-client` entries name the rows. Omitted,
|
|
106
108
|
* or throwing, every row is unlabeled
|
|
@@ -112,11 +114,11 @@ async function directoryNames({ readDirectoryEntries }) {
|
|
|
112
114
|
* chain-head pin for the account log, checked when the log is fetched here
|
|
113
115
|
* @returns {Promise<AccountClientView[]>}
|
|
114
116
|
*/
|
|
115
|
-
export async function listAccountClients({
|
|
117
|
+
export async function listAccountClients({ did, readDirectoryEntries, ownSigningKeyMultibase, verifiedLog, accountLogPinStore }) {
|
|
116
118
|
// The log read and the directory read are independent, so they run
|
|
117
119
|
// together. A failed directory read leaves every row unlabeled.
|
|
118
120
|
const [{ log }, named] = await Promise.all([
|
|
119
|
-
resolveVerifiedAccountLog({
|
|
121
|
+
resolveVerifiedAccountLog({ did, verifiedLog, accountLogPinStore }),
|
|
120
122
|
directoryNames({ readDirectoryEntries })
|
|
121
123
|
]);
|
|
122
124
|
const clients = listEnrolledWebvhClients({ log });
|
|
@@ -144,16 +146,17 @@ export async function listAccountClients({ pointer, readDirectoryEntries, ownSig
|
|
|
144
146
|
* its page.
|
|
145
147
|
*
|
|
146
148
|
* @param options {object}
|
|
147
|
-
* @param options.
|
|
149
|
+
* @param options.did {string} the account's did:webvh, which locates its
|
|
150
|
+
* own log
|
|
148
151
|
* @param [options.verifiedLog] {VerifiedAccountLog} an already-verified log
|
|
149
152
|
* to read instead of fetching and verifying one
|
|
150
153
|
* @param [options.accountLogPinStore] {ResourceLogPinStore} this client's
|
|
151
154
|
* chain-head pin for the account log, checked when the log is fetched here
|
|
152
155
|
* @returns {Promise<Set<string>>}
|
|
153
156
|
*/
|
|
154
|
-
export async function currentAccountSigningKeys({
|
|
157
|
+
export async function currentAccountSigningKeys({ did, verifiedLog, accountLogPinStore }) {
|
|
155
158
|
const { doc } = await resolveVerifiedAccountLog({
|
|
156
|
-
|
|
159
|
+
did,
|
|
157
160
|
verifiedLog,
|
|
158
161
|
accountLogPinStore
|
|
159
162
|
});
|
|
@@ -178,21 +181,22 @@ export async function currentAccountSigningKeys({ pointer, verifiedLog, accountL
|
|
|
178
181
|
* members through `delegationSignerKey`, and this set plays no part in it.
|
|
179
182
|
*
|
|
180
183
|
* @param options {object}
|
|
181
|
-
* @param options.
|
|
184
|
+
* @param options.did {string} the account's did:webvh, which locates its
|
|
185
|
+
* own log
|
|
182
186
|
* @param [options.verifiedLog] {VerifiedAccountLog} an already-verified log
|
|
183
187
|
* to read instead of fetching and verifying one
|
|
184
188
|
* @param [options.accountLogPinStore] {ResourceLogPinStore} this client's
|
|
185
189
|
* chain-head pin for the account log, checked when the log is fetched here
|
|
186
190
|
* @returns {Promise<Set<string>>} public key multibases
|
|
187
191
|
*/
|
|
188
|
-
export async function currentAccountRecordSigners({
|
|
192
|
+
export async function currentAccountRecordSigners({ did, verifiedLog, accountLogPinStore }) {
|
|
189
193
|
const verified = await resolveVerifiedAccountLog({
|
|
190
|
-
|
|
194
|
+
did,
|
|
191
195
|
verifiedLog,
|
|
192
196
|
accountLogPinStore
|
|
193
197
|
});
|
|
194
198
|
const keys = await currentAccountSigningKeys({
|
|
195
|
-
|
|
199
|
+
did,
|
|
196
200
|
verifiedLog: verified
|
|
197
201
|
});
|
|
198
202
|
for (const key of ladderVmKeyMultibases({ doc: verified.doc })) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/clients/listing.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"listing.js","sourceRoot":"","sources":["../../src/clients/listing.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
import type { IKeyAgreementKey } from '@interop/data-integrity-core';
|
|
75
75
|
import type { CollectionEncryption } from '@interop/was-client';
|
|
76
76
|
import type { EncryptionDescriptorStore } from '@interop/was-client/edv/core';
|
|
77
|
-
import { type AccountLogSigner, type PublishedKeyDocument, type RevokedClientKeys, type WebvhIdStore } from '../webvh/index.js';
|
|
77
|
+
import { type AccountLogSigner, type PublishedKeyDocument, type RevokedClientKeys, type WebvhIdStore, type DidWebProjectionStore } from '../webvh/index.js';
|
|
78
78
|
import { type CascadeCollections, type RosterSealReport, type UserKey, type UserKeyCascadeResult } from '../keys/index.js';
|
|
79
79
|
import { type CeremonyEmitter } from '../ceremonyEvents.js';
|
|
80
80
|
export type { CascadeCollections, RosterSealReport };
|
|
@@ -188,7 +188,7 @@ export declare function revokeAccountClient(options: Omit<Parameters<typeof runC
|
|
|
188
188
|
declare function runClientRevocation({ idStore, signer, projectionStore, revokedClient, knownLatentHashes, expectedDid, rosterStore, userKey, clientKeyAgreementKey, pinnedEpochId, onUserKeyAdopted, collections, remintGenerationDelegation, onRotationAdopted, events }: {
|
|
189
189
|
idStore: WebvhIdStore;
|
|
190
190
|
signer: AccountLogSigner;
|
|
191
|
-
projectionStore?:
|
|
191
|
+
projectionStore?: DidWebProjectionStore;
|
|
192
192
|
revokedClient: RevokedClientKeys;
|
|
193
193
|
knownLatentHashes?: string[];
|
|
194
194
|
expectedDid?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../../src/clients/revocation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"revocation.d.ts","sourceRoot":"","sources":["../../src/clients/revocation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revocation.js","sourceRoot":"","sources":["../../src/clients/revocation.ts"],"names":[],"mappings":"AA4EA,OAAO,EACL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"revocation.js","sourceRoot":"","sources":["../../src/clients/revocation.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,6 @@ import type { CollectionEncryption } from '@interop/was-client';
|
|
|
60
60
|
import type { EncryptionDescriptorStore } from '@interop/was-client/edv/core';
|
|
61
61
|
import { type UserKey, type UserKeyRosterReadResult } from '../keys/index.js';
|
|
62
62
|
import type { ResourceLogPinStore } from '@interop/vh-resource-log';
|
|
63
|
-
import type { AccountLogPointer } from './listing.js';
|
|
64
63
|
/**
|
|
65
64
|
* What an adopted user key carries: the key itself, the roster epoch to
|
|
66
65
|
* pin as latest-seen, and the descriptor it was read from.
|
|
@@ -132,7 +131,8 @@ export declare function checkUserKeyRosterAtLogin({ store, userKey, clientKeyAgr
|
|
|
132
131
|
* rollback carve-out.
|
|
133
132
|
*
|
|
134
133
|
* @param options {object}
|
|
135
|
-
* @param options.
|
|
134
|
+
* @param options.did {string} the account's did:webvh, which locates its
|
|
135
|
+
* own log
|
|
136
136
|
* @param options.store {EncryptionDescriptorStore} the roster's descriptor
|
|
137
137
|
* store
|
|
138
138
|
* @param options.userKey {UserKey} the start's current user key
|
|
@@ -156,8 +156,8 @@ export declare function checkUserKeyRosterAtLogin({ store, userKey, clientKeyAgr
|
|
|
156
156
|
* kids found, the kids escrowed by the mirror direction, and the key +
|
|
157
157
|
* descriptor to fan out with
|
|
158
158
|
*/
|
|
159
|
-
export declare function convergeUserKeyRosterToAccount({
|
|
160
|
-
|
|
159
|
+
export declare function convergeUserKeyRosterToAccount({ did, store, userKey, descriptor, etag, clientKeyAgreementKey, pinnedEpochId, accountLogPinStore, onUserKeyAdopted }: {
|
|
160
|
+
did: string;
|
|
161
161
|
store: EncryptionDescriptorStore;
|
|
162
162
|
userKey: UserKey;
|
|
163
163
|
descriptor: CollectionEncryption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rosterPolicy.d.ts","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"rosterPolicy.d.ts","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAC7E,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAKnE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,oBAAoB,CAAA;CACjC;AAuCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,KAAK,EACL,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,YAAY,EACb,EAAE;IACD,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,EAAE,gBAAgB,CAAA;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1D,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAqC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAsB,8BAA8B,CAAC,EACnD,GAAG,EACH,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,EACJ,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,yBAAyB,CAAA;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,oBAAoB,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qBAAqB,EAAE,gBAAgB,CAAA;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;IACxC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D,GAAG,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,oBAAoB,CAAA;CACjC,CAAC,CAgHD"}
|
|
@@ -128,7 +128,8 @@ export async function checkUserKeyRosterAtLogin({ store, userKey, clientKeyAgree
|
|
|
128
128
|
* rollback carve-out.
|
|
129
129
|
*
|
|
130
130
|
* @param options {object}
|
|
131
|
-
* @param options.
|
|
131
|
+
* @param options.did {string} the account's did:webvh, which locates its
|
|
132
|
+
* own log
|
|
132
133
|
* @param options.store {EncryptionDescriptorStore} the roster's descriptor
|
|
133
134
|
* store
|
|
134
135
|
* @param options.userKey {UserKey} the start's current user key
|
|
@@ -152,7 +153,7 @@ export async function checkUserKeyRosterAtLogin({ store, userKey, clientKeyAgree
|
|
|
152
153
|
* kids found, the kids escrowed by the mirror direction, and the key +
|
|
153
154
|
* descriptor to fan out with
|
|
154
155
|
*/
|
|
155
|
-
export async function convergeUserKeyRosterToAccount({
|
|
156
|
+
export async function convergeUserKeyRosterToAccount({ did, store, userKey, descriptor, etag, clientKeyAgreementKey, pinnedEpochId, accountLogPinStore, onUserKeyAdopted }) {
|
|
156
157
|
const unchanged = {
|
|
157
158
|
rotated: false,
|
|
158
159
|
sealed: false,
|
|
@@ -167,13 +168,13 @@ export async function convergeUserKeyRosterToAccount({ pointer, store, userKey,
|
|
|
167
168
|
let converged;
|
|
168
169
|
try {
|
|
169
170
|
const { doc } = await verifyAccountLog({
|
|
170
|
-
|
|
171
|
+
did,
|
|
171
172
|
...(accountLogPinStore ? { pinStore: accountLogPinStore } : {})
|
|
172
173
|
});
|
|
173
174
|
const result = await convergeUserKeyRosterToDocument({
|
|
174
175
|
store,
|
|
175
176
|
document: doc,
|
|
176
|
-
did
|
|
177
|
+
did,
|
|
177
178
|
descriptor,
|
|
178
179
|
...(etag !== undefined ? { etag } : {}),
|
|
179
180
|
// The escrow direction needs a key that unwraps every epoch, and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rosterPolicy.js","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"AA4DA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EAGlB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAE1E,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"rosterPolicy.js","sourceRoot":"","sources":["../../src/clients/rosterPolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,11 @@ export declare const CONNECTION_ENTRY_VERSION = 1;
|
|
|
6
6
|
* The `kind` vocabulary: what the party says it is. An entry carrying any
|
|
7
7
|
* other value reads as an unclassified party.
|
|
8
8
|
*/
|
|
9
|
-
export declare const CONNECTION_KINDS: readonly ["app", "agent", "wallet-client", "contact"];
|
|
9
|
+
export declare const CONNECTION_KINDS: readonly ["app", "agent", "wallet-client", "contact", "replica-server"];
|
|
10
|
+
/**
|
|
11
|
+
* The one kind whose entry carries a non-empty `replicas` list.
|
|
12
|
+
*/
|
|
13
|
+
export declare const REPLICA_SERVER_KIND: "replica-server";
|
|
10
14
|
/**
|
|
11
15
|
* One value of {@link CONNECTION_KINDS}.
|
|
12
16
|
*/
|
|
@@ -99,6 +103,56 @@ export type ConnectionOutboxItem = {
|
|
|
99
103
|
createdAt: string;
|
|
100
104
|
[member: string]: unknown;
|
|
101
105
|
};
|
|
106
|
+
/**
|
|
107
|
+
* One member of a `replica-server` entry's `replicas`: one replica Space on
|
|
108
|
+
* that replica server, with its source Space, its registration ids, and the
|
|
109
|
+
* user's outstanding intents toward it. Each marker is written by one intent
|
|
110
|
+
* and cleared by its completion; no unset marker reads as an intent.
|
|
111
|
+
*/
|
|
112
|
+
export type ConnectionReplica = {
|
|
113
|
+
/**
|
|
114
|
+
* The source Space's container URL, with its trailing slash, as the
|
|
115
|
+
* registration body carries it.
|
|
116
|
+
*/
|
|
117
|
+
fromSpace: string;
|
|
118
|
+
/**
|
|
119
|
+
* The replica Space's id on the replica server: 32 random bytes, base64url
|
|
120
|
+
* with no padding, distinct from the source Space's id.
|
|
121
|
+
*/
|
|
122
|
+
spaceId: string;
|
|
123
|
+
/**
|
|
124
|
+
* The id of the item's registration, present once its first registration
|
|
125
|
+
* landed. An in-place replacement of the registration's capability keeps
|
|
126
|
+
* it.
|
|
127
|
+
*/
|
|
128
|
+
registrationId?: string;
|
|
129
|
+
/**
|
|
130
|
+
* A first registration's id, present between its mint and the landing of
|
|
131
|
+
* its POST, then moved to `registrationId`.
|
|
132
|
+
*/
|
|
133
|
+
pendingRegistrationId?: string;
|
|
134
|
+
/**
|
|
135
|
+
* The registration's collection list, not empty when present. Absent when
|
|
136
|
+
* the replica server copies every live Collection.
|
|
137
|
+
*/
|
|
138
|
+
collections?: string[];
|
|
139
|
+
/**
|
|
140
|
+
* ISO 8601 UTC time of the user's Stop. Marks a stopped snapshot until a
|
|
141
|
+
* completed re-start clears it.
|
|
142
|
+
*/
|
|
143
|
+
stoppedAt?: string;
|
|
144
|
+
/**
|
|
145
|
+
* ISO 8601 UTC time of the user's re-start, written first and cleared
|
|
146
|
+
* last.
|
|
147
|
+
*/
|
|
148
|
+
restartedAt?: string;
|
|
149
|
+
/**
|
|
150
|
+
* ISO 8601 UTC time the replica Space read absent under the account's own
|
|
151
|
+
* authority.
|
|
152
|
+
*/
|
|
153
|
+
lostAt?: string;
|
|
154
|
+
[member: string]: unknown;
|
|
155
|
+
};
|
|
102
156
|
/**
|
|
103
157
|
* One member of an entry's `writers`: a `writerId` the party has written
|
|
104
158
|
* under, with the platform label it registered with and its liveness state.
|
|
@@ -146,7 +200,8 @@ export type ConnectionEntry = {
|
|
|
146
200
|
*/
|
|
147
201
|
origin?: string;
|
|
148
202
|
/**
|
|
149
|
-
* The canonical app URL, for an App Connect app
|
|
203
|
+
* The canonical app URL, for an App Connect app, or the base URL of a
|
|
204
|
+
* replica server.
|
|
150
205
|
*/
|
|
151
206
|
url?: string;
|
|
152
207
|
/**
|
|
@@ -188,6 +243,12 @@ export type ConnectionEntry = {
|
|
|
188
243
|
*/
|
|
189
244
|
outbox: ConnectionOutboxItem[];
|
|
190
245
|
writers: ConnectionWriter[];
|
|
246
|
+
/**
|
|
247
|
+
* The replica Spaces on a `replica-server` entry's server. Empty on every
|
|
248
|
+
* other kind, where a non-empty list fails the codec, and absent on a body
|
|
249
|
+
* an older build wrote, which reads as empty.
|
|
250
|
+
*/
|
|
251
|
+
replicas: ConnectionReplica[];
|
|
191
252
|
};
|
|
192
253
|
/**
|
|
193
254
|
* The writer policy every wallet that sweeps must share, or two sweepers
|
|
@@ -281,6 +342,34 @@ export declare function parseConnectionZcap(value: unknown): ConnectionZcap | un
|
|
|
281
342
|
* @returns {Uint8Array | undefined}
|
|
282
343
|
*/
|
|
283
344
|
export declare function decodeConnectionSeed(value: unknown): Uint8Array | undefined;
|
|
345
|
+
/**
|
|
346
|
+
* Whether a value is a Space's container URL: an absolute URL ending with a
|
|
347
|
+
* slash. The one rule the codec, the replica-server helpers, and the grant
|
|
348
|
+
* target check share.
|
|
349
|
+
*
|
|
350
|
+
* @param value {unknown}
|
|
351
|
+
* @returns {boolean}
|
|
352
|
+
*/
|
|
353
|
+
export declare function isSpaceContainerUrl(value: unknown): value is string;
|
|
354
|
+
/**
|
|
355
|
+
* A Space's container URL in the one form the directory stores and compares
|
|
356
|
+
* it in: URL-parsed and re-serialized, so a default port or an upper-case
|
|
357
|
+
* host names the same Space as its plain form. Refuses a value that is not
|
|
358
|
+
* a container URL ({@link isSpaceContainerUrl}) with a `TypeError`.
|
|
359
|
+
*
|
|
360
|
+
* @param value {string}
|
|
361
|
+
* @returns {string}
|
|
362
|
+
*/
|
|
363
|
+
export declare function spaceContainerUrl(value: string): string;
|
|
364
|
+
/**
|
|
365
|
+
* Whether a value is a fresh id as the directory stores one: 43 characters
|
|
366
|
+
* of base64url with no padding decoding to 32 bytes (a replica Space id, a
|
|
367
|
+
* registration id).
|
|
368
|
+
*
|
|
369
|
+
* @param value {unknown}
|
|
370
|
+
* @returns {boolean}
|
|
371
|
+
*/
|
|
372
|
+
export declare function isConnectionFreshId(value: unknown): value is string;
|
|
284
373
|
/**
|
|
285
374
|
* Reads a stored body as a directory entry, or `undefined` when it is not
|
|
286
375
|
* one. A body fails when any member this build knows has the wrong shape:
|
|
@@ -288,13 +377,15 @@ export declare function decodeConnectionSeed(value: unknown): Uint8Array | undef
|
|
|
288
377
|
* is not a DID, a `name`, `label`, or writer `label` outside the display-name
|
|
289
378
|
* rule (1 to 64 code points once the control and bidi characters are stripped
|
|
290
379
|
* and the result trimmed), a timestamp `Date.parse` cannot read, a malformed
|
|
291
|
-
* grant wrapper, received-grant wrapper, outbox item, or writer
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
*
|
|
380
|
+
* grant wrapper, received-grant wrapper, outbox item, replica item, or writer
|
|
381
|
+
* member, a non-empty `replicas` list on an entry whose `kind` is not
|
|
382
|
+
* `'replica-server'`, a `seed` or `seedTag` that is not 43 characters of
|
|
383
|
+
* base64url decoding to 32 bytes, a `seed` with no `seedTag` (or the
|
|
384
|
+
* reverse), or no `id` beside anything but exactly one writer. Every display string a view renders is
|
|
385
|
+
* held to that one rule. An absent `grantsReceived`, `outbox`, or `replicas`
|
|
386
|
+
* (a body an older build wrote, or an entry of a kind that carries none)
|
|
387
|
+
* reads as empty. Unknown members are ignored. A body with a `version` above
|
|
388
|
+
* this build's that passes every check is returned for display;
|
|
298
389
|
* {@link isWritableConnectionEntry} says it cannot be written.
|
|
299
390
|
*
|
|
300
391
|
* Where the body sits is not checked here. A reader also checks that the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/connections/entry.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/connections/entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,13 @@ export const CONNECTION_KINDS = [
|
|
|
34
34
|
'app',
|
|
35
35
|
'agent',
|
|
36
36
|
'wallet-client',
|
|
37
|
-
'contact'
|
|
37
|
+
'contact',
|
|
38
|
+
'replica-server'
|
|
38
39
|
];
|
|
40
|
+
/**
|
|
41
|
+
* The one kind whose entry carries a non-empty `replicas` list.
|
|
42
|
+
*/
|
|
43
|
+
export const REPLICA_SERVER_KIND = 'replica-server';
|
|
39
44
|
/**
|
|
40
45
|
* The `grantKind` vocabulary: `'share'` marks a grant the
|
|
41
46
|
* shared-wallet-collection flow wrote, and `'grant'` is every other delegated
|
|
@@ -254,6 +259,85 @@ export function decodeConnectionSeed(value) {
|
|
|
254
259
|
}
|
|
255
260
|
return bytes.length === CONNECTION_SEED_BYTES ? bytes : undefined;
|
|
256
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Whether a value is a Space's container URL: an absolute URL ending with a
|
|
264
|
+
* slash. The one rule the codec, the replica-server helpers, and the grant
|
|
265
|
+
* target check share.
|
|
266
|
+
*
|
|
267
|
+
* @param value {unknown}
|
|
268
|
+
* @returns {boolean}
|
|
269
|
+
*/
|
|
270
|
+
export function isSpaceContainerUrl(value) {
|
|
271
|
+
if (typeof value !== 'string' || !value.endsWith('/')) {
|
|
272
|
+
return false;
|
|
273
|
+
}
|
|
274
|
+
try {
|
|
275
|
+
new URL(value);
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
278
|
+
catch {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* A Space's container URL in the one form the directory stores and compares
|
|
284
|
+
* it in: URL-parsed and re-serialized, so a default port or an upper-case
|
|
285
|
+
* host names the same Space as its plain form. Refuses a value that is not
|
|
286
|
+
* a container URL ({@link isSpaceContainerUrl}) with a `TypeError`.
|
|
287
|
+
*
|
|
288
|
+
* @param value {string}
|
|
289
|
+
* @returns {string}
|
|
290
|
+
*/
|
|
291
|
+
export function spaceContainerUrl(value) {
|
|
292
|
+
if (!isSpaceContainerUrl(value)) {
|
|
293
|
+
throw new TypeError(`A Space container URL is an absolute URL ending with a slash; got ` +
|
|
294
|
+
`"${value}".`);
|
|
295
|
+
}
|
|
296
|
+
return new URL(value).href;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Whether a value is a fresh id as the directory stores one: 43 characters
|
|
300
|
+
* of base64url with no padding decoding to 32 bytes (a replica Space id, a
|
|
301
|
+
* registration id).
|
|
302
|
+
*
|
|
303
|
+
* @param value {unknown}
|
|
304
|
+
* @returns {boolean}
|
|
305
|
+
*/
|
|
306
|
+
export function isConnectionFreshId(value) {
|
|
307
|
+
return decodeConnectionSeed(value) !== undefined;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Reads one stored replica item, or `undefined` when a known member has the
|
|
311
|
+
* wrong shape: `fromSpace` must be a container URL, `spaceId` and each
|
|
312
|
+
* registration id a fresh id, `collections` a non-empty list of non-empty
|
|
313
|
+
* strings (an absent list means every live Collection, so an empty one has
|
|
314
|
+
* no reading), and each marker a timestamp. The item is returned verbatim, unknown members
|
|
315
|
+
* included.
|
|
316
|
+
*
|
|
317
|
+
* @param value {unknown}
|
|
318
|
+
* @returns {ConnectionReplica | undefined}
|
|
319
|
+
*/
|
|
320
|
+
function parseReplica(value) {
|
|
321
|
+
if (!isJsonObject(value)) {
|
|
322
|
+
return undefined;
|
|
323
|
+
}
|
|
324
|
+
const { fromSpace, spaceId, registrationId, pendingRegistrationId, collections, stoppedAt, restartedAt, lostAt } = value;
|
|
325
|
+
if (!isSpaceContainerUrl(fromSpace) ||
|
|
326
|
+
!isConnectionFreshId(spaceId) ||
|
|
327
|
+
(registrationId !== undefined && !isConnectionFreshId(registrationId)) ||
|
|
328
|
+
(pendingRegistrationId !== undefined &&
|
|
329
|
+
!isConnectionFreshId(pendingRegistrationId)) ||
|
|
330
|
+
(collections !== undefined &&
|
|
331
|
+
!(Array.isArray(collections) &&
|
|
332
|
+
collections.length > 0 &&
|
|
333
|
+
collections.every(collection => typeof collection === 'string' && collection !== ''))) ||
|
|
334
|
+
(stoppedAt !== undefined && !isTimestamp(stoppedAt)) ||
|
|
335
|
+
(restartedAt !== undefined && !isTimestamp(restartedAt)) ||
|
|
336
|
+
(lostAt !== undefined && !isTimestamp(lostAt))) {
|
|
337
|
+
return undefined;
|
|
338
|
+
}
|
|
339
|
+
return value;
|
|
340
|
+
}
|
|
257
341
|
/**
|
|
258
342
|
* Reads one stored writer member, or `undefined` when a known member has the
|
|
259
343
|
* wrong shape. The member is returned verbatim, unknown members included.
|
|
@@ -285,13 +369,15 @@ function parseWriter(value) {
|
|
|
285
369
|
* is not a DID, a `name`, `label`, or writer `label` outside the display-name
|
|
286
370
|
* rule (1 to 64 code points once the control and bidi characters are stripped
|
|
287
371
|
* and the result trimmed), a timestamp `Date.parse` cannot read, a malformed
|
|
288
|
-
* grant wrapper, received-grant wrapper, outbox item, or writer
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
*
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
*
|
|
372
|
+
* grant wrapper, received-grant wrapper, outbox item, replica item, or writer
|
|
373
|
+
* member, a non-empty `replicas` list on an entry whose `kind` is not
|
|
374
|
+
* `'replica-server'`, a `seed` or `seedTag` that is not 43 characters of
|
|
375
|
+
* base64url decoding to 32 bytes, a `seed` with no `seedTag` (or the
|
|
376
|
+
* reverse), or no `id` beside anything but exactly one writer. Every display string a view renders is
|
|
377
|
+
* held to that one rule. An absent `grantsReceived`, `outbox`, or `replicas`
|
|
378
|
+
* (a body an older build wrote, or an entry of a kind that carries none)
|
|
379
|
+
* reads as empty. Unknown members are ignored. A body with a `version` above
|
|
380
|
+
* this build's that passes every check is returned for display;
|
|
295
381
|
* {@link isWritableConnectionEntry} says it cannot be written.
|
|
296
382
|
*
|
|
297
383
|
* Where the body sits is not checked here. A reader also checks that the
|
|
@@ -305,7 +391,7 @@ export function parseConnectionEntry(body) {
|
|
|
305
391
|
if (!isJsonObject(body)) {
|
|
306
392
|
return undefined;
|
|
307
393
|
}
|
|
308
|
-
const { version, kind, id, name, label, origin, url, appKey, firstSeen, lastSeen, retired, declined, seed, seedTag, grants, grantsReceived, outbox, writers } = body;
|
|
394
|
+
const { version, kind, id, name, label, origin, url, appKey, firstSeen, lastSeen, retired, declined, seed, seedTag, grants, grantsReceived, outbox, writers, replicas } = body;
|
|
309
395
|
if (typeof version !== 'number' ||
|
|
310
396
|
!Number.isInteger(version) ||
|
|
311
397
|
version < 1 ||
|
|
@@ -327,7 +413,10 @@ export function parseConnectionEntry(body) {
|
|
|
327
413
|
!Array.isArray(grants) ||
|
|
328
414
|
(grantsReceived !== undefined && !Array.isArray(grantsReceived)) ||
|
|
329
415
|
(outbox !== undefined && !Array.isArray(outbox)) ||
|
|
330
|
-
!Array.isArray(writers)
|
|
416
|
+
!Array.isArray(writers) ||
|
|
417
|
+
(replicas !== undefined &&
|
|
418
|
+
(!Array.isArray(replicas) ||
|
|
419
|
+
(replicas.length > 0 && kind !== REPLICA_SERVER_KIND)))) {
|
|
331
420
|
return undefined;
|
|
332
421
|
}
|
|
333
422
|
const normalizedName = name === undefined ? undefined : normalizeDisplayName({ value: name });
|
|
@@ -340,10 +429,12 @@ export function parseConnectionEntry(body) {
|
|
|
340
429
|
const parsedReceived = (grantsReceived ?? []).map(parseReceivedGrantRecord);
|
|
341
430
|
const parsedOutbox = (outbox ?? []).map(parseOutboxItem);
|
|
342
431
|
const parsedWriters = writers.map(parseWriter);
|
|
432
|
+
const parsedReplicas = (replicas ?? []).map(parseReplica);
|
|
343
433
|
if (parsedGrants.some(grant => grant === undefined) ||
|
|
344
434
|
parsedReceived.some(grant => grant === undefined) ||
|
|
345
435
|
parsedOutbox.some(item => item === undefined) ||
|
|
346
|
-
parsedWriters.some(writer => writer === undefined)
|
|
436
|
+
parsedWriters.some(writer => writer === undefined) ||
|
|
437
|
+
parsedReplicas.some(item => item === undefined)) {
|
|
347
438
|
return undefined;
|
|
348
439
|
}
|
|
349
440
|
if (id === undefined && parsedWriters.length !== 1) {
|
|
@@ -367,7 +458,8 @@ export function parseConnectionEntry(body) {
|
|
|
367
458
|
grants: parsedGrants,
|
|
368
459
|
grantsReceived: parsedReceived,
|
|
369
460
|
outbox: parsedOutbox,
|
|
370
|
-
writers: parsedWriters
|
|
461
|
+
writers: parsedWriters,
|
|
462
|
+
replicas: parsedReplicas
|
|
371
463
|
};
|
|
372
464
|
}
|
|
373
465
|
//# sourceMappingURL=entry.js.map
|