@interop/wallet-core 0.107.0 → 0.107.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clientAnnex/grantRevocation.d.ts +11 -7
- package/dist/clientAnnex/grantRevocation.d.ts.map +1 -1
- package/dist/clientAnnex/grantRevocation.js +1 -1
- package/dist/clientAnnex/grantRevocation.js.map +1 -1
- package/dist/clients/grantState.d.ts +11 -9
- package/dist/clients/grantState.d.ts.map +1 -1
- package/dist/clients/grantState.js +19 -16
- package/dist/clients/grantState.js.map +1 -1
- package/dist/clients/index.d.ts +9 -9
- package/dist/clients/index.js +9 -9
- package/dist/clients/listing.d.ts +12 -14
- package/dist/clients/listing.d.ts.map +1 -1
- package/dist/clients/listing.js +17 -23
- package/dist/clients/listing.js.map +1 -1
- package/dist/connections/grantProof.d.ts +47 -14
- package/dist/connections/grantProof.d.ts.map +1 -1
- package/dist/connections/grantProof.js +88 -57
- package/dist/connections/grantProof.js.map +1 -1
- package/dist/connections/grants.d.ts +13 -1
- package/dist/connections/grants.d.ts.map +1 -1
- package/dist/connections/grants.js +15 -26
- package/dist/connections/grants.js.map +1 -1
- package/dist/connections/index.d.ts +4 -3
- package/dist/connections/index.d.ts.map +1 -1
- package/dist/connections/index.js +3 -2
- package/dist/connections/index.js.map +1 -1
- package/dist/testing/signerFixture.d.ts +3 -3
- package/dist/testing/signerFixture.d.ts.map +1 -1
- package/dist/testing/signerFixture.js +7 -5
- package/dist/testing/signerFixture.js.map +1 -1
- package/dist/webvh/index.d.ts +13 -6
- package/dist/webvh/index.d.ts.map +1 -1
- package/dist/webvh/index.js +12 -5
- package/dist/webvh/index.js.map +1 -1
- package/dist/webvh/listClients.d.ts +124 -15
- package/dist/webvh/listClients.d.ts.map +1 -1
- package/dist/webvh/listClients.js +148 -43
- package/dist/webvh/listClients.js.map +1 -1
- package/dist/webvh/standingZcap.d.ts +4 -1
- package/dist/webvh/standingZcap.d.ts.map +1 -1
- package/dist/webvh/standingZcap.js +13 -14
- package/dist/webvh/standingZcap.js.map +1 -1
- package/package.json +5 -5
|
@@ -21,20 +21,55 @@
|
|
|
21
21
|
* `capabilityDelegation` in the current document, and the signature must
|
|
22
22
|
* verify over the capability under that key. A grant a transient session
|
|
23
23
|
* minted chains under the generation delegation embedded as the last link
|
|
24
|
-
* of its `proof.capabilityChain`, and
|
|
24
|
+
* of its `proof.capabilityChain`, and both links are verified. The parent
|
|
25
25
|
* must be delegated to an annex DID in the account's auxiliary Space (the
|
|
26
26
|
* Space the account's delegated-clients pointer names, compared by host and
|
|
27
|
-
* Space id,
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
27
|
+
* Space id), and its own proof must verify under a key or ladder VM the
|
|
28
|
+
* current document lists. The leaf is then verified the same way against
|
|
29
|
+
* the annex document of the parent's generation. The parent alone would not
|
|
30
|
+
* do: it is genuine and host-held, so a host could copy it under a leaf of
|
|
31
|
+
* its own naming a planted party. The caller resolves that annex document
|
|
32
|
+
* (`signerCheck.annexDocument`), since `connections` sits below the annex
|
|
33
|
+
* and cannot read the log itself; a collected generation resolves to none,
|
|
34
|
+
* and a grant minted under it is refused.
|
|
32
35
|
*/
|
|
33
36
|
import { DataIntegrityProof } from '@interop/data-integrity-proof';
|
|
34
37
|
import { createVerifyCryptosuite } from '@interop/ed25519-signature/eddsa-jcs-2022';
|
|
35
|
-
import {
|
|
36
|
-
import { embeddedParentCapability, firstDelegationProof } from '../webvh/index.js';
|
|
38
|
+
import { delegationSignerKey, embeddedParentCapability, firstDelegationProof } from '../webvh/index.js';
|
|
37
39
|
import { parseClientAnnexDid } from '../webvh/clientAnnexDid.js';
|
|
40
|
+
/**
|
|
41
|
+
* The annex documents resolved under each `signerCheck` object, one promise
|
|
42
|
+
* per generation, so a renewal pass's concurrent grant checks under one
|
|
43
|
+
* generation share one read of its log. A rejected read is evicted, so a
|
|
44
|
+
* later check under the same object asks again; the checks in flight share
|
|
45
|
+
* the rejection.
|
|
46
|
+
*/
|
|
47
|
+
const resolvedAnnexDocuments = new WeakMap();
|
|
48
|
+
/**
|
|
49
|
+
* The generation's annex document through the `signerCheck`'s resolver,
|
|
50
|
+
* memoized on the `signerCheck` object.
|
|
51
|
+
*
|
|
52
|
+
* @param options {object}
|
|
53
|
+
* @param options.signerCheck {object} the object the memo is keyed on
|
|
54
|
+
* @param options.signerCheck.annexDocument {AnnexDocumentResolver}
|
|
55
|
+
* @param options.clientAnnexDid {string} the generation's annex DID
|
|
56
|
+
* @returns {Promise<PublishedKeyDocument | undefined>}
|
|
57
|
+
*/
|
|
58
|
+
function resolveAnnexDocument({ signerCheck, clientAnnexDid }) {
|
|
59
|
+
let byGeneration = resolvedAnnexDocuments.get(signerCheck);
|
|
60
|
+
if (byGeneration === undefined) {
|
|
61
|
+
byGeneration = new Map();
|
|
62
|
+
resolvedAnnexDocuments.set(signerCheck, byGeneration);
|
|
63
|
+
}
|
|
64
|
+
const pending = byGeneration.get(clientAnnexDid);
|
|
65
|
+
if (pending !== undefined) {
|
|
66
|
+
return pending;
|
|
67
|
+
}
|
|
68
|
+
const resolving = signerCheck.annexDocument({ clientAnnexDid });
|
|
69
|
+
byGeneration.set(clientAnnexDid, resolving);
|
|
70
|
+
resolving.catch(() => byGeneration.delete(clientAnnexDid));
|
|
71
|
+
return resolving;
|
|
72
|
+
}
|
|
38
73
|
/**
|
|
39
74
|
* The suite every delegation proof this library mints carries, and the one
|
|
40
75
|
* this check verifies.
|
|
@@ -45,24 +80,23 @@ const DELEGATION_PROOF_SHAPE = {
|
|
|
45
80
|
proofPurpose: 'capabilityDelegation'
|
|
46
81
|
};
|
|
47
82
|
/**
|
|
48
|
-
* Verifies one capability's delegation proof against the
|
|
49
|
-
* the
|
|
83
|
+
* Verifies one capability's delegation proof against the document its signer
|
|
84
|
+
* is listed in (the account document, or a generation's annex document for
|
|
85
|
+
* an annex-arm leaf): the signer must stand under `capabilityDelegation`, and
|
|
86
|
+
* the signature must
|
|
50
87
|
* verify over the capability under that key. The key material is what the
|
|
51
|
-
* document publishes for the signer,
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* A proof naming the did:key form of a key (`did:key:<key>#<key>`, the form a
|
|
57
|
-
* client signs under) verifies under that key when the relation publishes it.
|
|
58
|
-
* A proof set is read by its first proof, as every other reader of a
|
|
59
|
-
* delegation does.
|
|
88
|
+
* document publishes for the signer, read through `delegationSignerKey`
|
|
89
|
+
* (`webvh`), so no resolver is consulted and the renewal check cannot drift
|
|
90
|
+
* from the revocation and staleness readers over the same document. A proof
|
|
91
|
+
* set is read by its first proof, as every other reader of a delegation
|
|
92
|
+
* does.
|
|
60
93
|
*
|
|
61
94
|
* @param options {object}
|
|
62
95
|
* @param options.zcap {IZcap} the capability, proof included
|
|
63
|
-
* @param options.doc {PublishedKeyDocument} the locally verified
|
|
64
|
-
*
|
|
65
|
-
* @returns {Promise<
|
|
96
|
+
* @param options.doc {PublishedKeyDocument} the locally verified document
|
|
97
|
+
* the signer is listed in
|
|
98
|
+
* @returns {Promise<{ verified: true, signerKeyId: string } | { verified:
|
|
99
|
+
* false, reason: DelegationProofRefusal }>}
|
|
66
100
|
*/
|
|
67
101
|
async function verifyDelegationProof({ zcap, doc }) {
|
|
68
102
|
const { proof: _proof, ...document } = zcap;
|
|
@@ -76,7 +110,7 @@ async function verifyDelegationProof({ zcap, doc }) {
|
|
|
76
110
|
return { verified: false, reason: 'unsupported-suite' };
|
|
77
111
|
}
|
|
78
112
|
const signerKeyId = single.verificationMethod;
|
|
79
|
-
const keyMultibase =
|
|
113
|
+
const keyMultibase = delegationSignerKey({ doc, signerKeyId });
|
|
80
114
|
if (keyMultibase === undefined) {
|
|
81
115
|
return { verified: false, reason: 'signer-unlisted' };
|
|
82
116
|
}
|
|
@@ -108,36 +142,6 @@ async function verifyDelegationProof({ zcap, doc }) {
|
|
|
108
142
|
}
|
|
109
143
|
return { verified: true, signerKeyId };
|
|
110
144
|
}
|
|
111
|
-
/**
|
|
112
|
-
* The key the document publishes under `capabilityDelegation` for a proof's
|
|
113
|
-
* `verificationMethod` DID URL, or `undefined` when the URL names no listed
|
|
114
|
-
* key. A URL under the document's DID dereferences to the member it names
|
|
115
|
-
* and takes that member's published key. A did:key URL carries its key in
|
|
116
|
-
* the DID itself and must name a key the relation publishes.
|
|
117
|
-
*
|
|
118
|
-
* @param options {object}
|
|
119
|
-
* @param options.doc {PublishedKeyDocument}
|
|
120
|
-
* @param options.signerKeyId {string} the proof's `verificationMethod`
|
|
121
|
-
* @returns {string | undefined}
|
|
122
|
-
*/
|
|
123
|
-
function listedSignerKey({ doc, signerKeyId }) {
|
|
124
|
-
const hash = signerKeyId.indexOf('#');
|
|
125
|
-
const fragment = vmFragmentOf(signerKeyId);
|
|
126
|
-
if (hash === -1 || fragment === undefined) {
|
|
127
|
-
return undefined;
|
|
128
|
-
}
|
|
129
|
-
const did = signerKeyId.slice(0, hash);
|
|
130
|
-
const relation = 'capabilityDelegation';
|
|
131
|
-
const member = relationMemberNamed({ doc, relation, did, fragment });
|
|
132
|
-
if (member !== undefined) {
|
|
133
|
-
return memberKeyMultibase(member);
|
|
134
|
-
}
|
|
135
|
-
if (did === `did:key:${fragment}` &&
|
|
136
|
-
relationKeyMultibases({ doc, relation }).has(fragment)) {
|
|
137
|
-
return fragment;
|
|
138
|
-
}
|
|
139
|
-
return undefined;
|
|
140
|
-
}
|
|
141
145
|
/**
|
|
142
146
|
* Whether two annex DIDs name the same auxiliary Space: the same host and
|
|
143
147
|
* the same Space id, whatever their generations. A string that is not an
|
|
@@ -162,9 +166,13 @@ function sameAuxiliarySpace({ did, other }) {
|
|
|
162
166
|
* parent is verified by its own proof (the root arm); a grant embedding its
|
|
163
167
|
* parent delegation as the last link of its `proof.capabilityChain` is
|
|
164
168
|
* verified by that parent's proof, after the parent's `controller` is found
|
|
165
|
-
* to be an annex DID in the account's auxiliary Space
|
|
166
|
-
*
|
|
167
|
-
*
|
|
169
|
+
* to be an annex DID in the account's auxiliary Space, and then by its own
|
|
170
|
+
* proof against the annex document the caller resolves for that generation
|
|
171
|
+
* (the annex arm). A refusal says why. The root arm reads the current
|
|
172
|
+
* document alone, with no log history and no network; the annex arm's one
|
|
173
|
+
* read beyond it is the resolver's, made once per generation under one
|
|
174
|
+
* `signerCheck` object, and what the resolver throws propagates, so a caller
|
|
175
|
+
* whose annex read fails renews nothing.
|
|
168
176
|
*
|
|
169
177
|
* @param options {object}
|
|
170
178
|
* @param options.zcap {ConnectionZcap} the recorded capability, verbatim
|
|
@@ -174,6 +182,8 @@ function sameAuxiliarySpace({ did, other }) {
|
|
|
174
182
|
* @param [options.signerCheck.clientAnnexDid] {string} the annex DID the
|
|
175
183
|
* document's delegated-clients pointer currently names; absent when it
|
|
176
184
|
* names none, which refuses every annex-arm grant
|
|
185
|
+
* @param options.signerCheck.annexDocument {AnnexDocumentResolver} the
|
|
186
|
+
* generation's annex document, for an annex-arm grant's leaf
|
|
177
187
|
* @returns {Promise<GrantProofResult>}
|
|
178
188
|
*/
|
|
179
189
|
export async function verifyRecordedGrantProof({ zcap, signerCheck }) {
|
|
@@ -190,6 +200,27 @@ export async function verifyRecordedGrantProof({ zcap, signerCheck }) {
|
|
|
190
200
|
!sameAuxiliarySpace({ did: controller, other: signerCheck.clientAnnexDid })) {
|
|
191
201
|
return { verified: false, reason: 'parent-not-annex' };
|
|
192
202
|
}
|
|
193
|
-
|
|
203
|
+
const parentResult = await verifyDelegationProof({
|
|
204
|
+
zcap: parent,
|
|
205
|
+
doc: signerCheck.doc
|
|
206
|
+
});
|
|
207
|
+
if (!parentResult.verified) {
|
|
208
|
+
return parentResult;
|
|
209
|
+
}
|
|
210
|
+
const generationDoc = await resolveAnnexDocument({
|
|
211
|
+
signerCheck,
|
|
212
|
+
clientAnnexDid: controller
|
|
213
|
+
});
|
|
214
|
+
if (generationDoc === undefined) {
|
|
215
|
+
return { verified: false, reason: 'leaf-generation-collected' };
|
|
216
|
+
}
|
|
217
|
+
const leaf = await verifyDelegationProof({
|
|
218
|
+
zcap: zcap,
|
|
219
|
+
doc: generationDoc
|
|
220
|
+
});
|
|
221
|
+
if (leaf.verified) {
|
|
222
|
+
return parentResult;
|
|
223
|
+
}
|
|
224
|
+
return { verified: false, reason: `leaf-${leaf.reason}` };
|
|
194
225
|
}
|
|
195
226
|
//# sourceMappingURL=grantProof.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grantProof.js","sourceRoot":"","sources":["../../src/connections/grantProof.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"grantProof.js","sourceRoot":"","sources":["../../src/connections/grantProof.ts"],"names":[],"mappings":"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"}
|
|
@@ -319,16 +319,28 @@ export declare function agentGrantDue({ zcap, pointedDelegationId, doc, renewalW
|
|
|
319
319
|
* parent) counts when its own proof names the key. A grant with an embedded
|
|
320
320
|
* parent counts when the parent's proof names the key, the parent's minter.
|
|
321
321
|
*
|
|
322
|
+
* This is an attribution read, so it has to work after the withdrawing
|
|
323
|
+
* edit has landed as well as before it (a torn ceremony's sweep holds only
|
|
324
|
+
* the post-edit document). A grant counts when its proof's method id and the
|
|
325
|
+
* given `keyId` name one signer under `sameSigner` (`webvh`): the same id
|
|
326
|
+
* verbatim, or the same named key. An id the document no longer publishes
|
|
327
|
+
* still matches the grants signed under that exact id. To reach a grant
|
|
328
|
+
* signed under the did:key form of a struck key once the edit has landed,
|
|
329
|
+
* hand the key as a bare multibase too.
|
|
330
|
+
*
|
|
322
331
|
* @param options {object}
|
|
323
332
|
* @param options.entries {ConnectionEntry[]}
|
|
324
333
|
* @param options.keyId {string} a verification-method id in either DID
|
|
325
334
|
* form, or a bare multibase
|
|
326
335
|
* @param options.spaceUrl {string} this Space's container URL
|
|
336
|
+
* @param options.doc {PublishedKeyDocument} the locally verified account
|
|
337
|
+
* document, before or after the key is withdrawn
|
|
327
338
|
* @returns {ConnectionEntry[]}
|
|
328
339
|
*/
|
|
329
|
-
export declare function agentConnectionsSignedBy({ entries, keyId, spaceUrl }: {
|
|
340
|
+
export declare function agentConnectionsSignedBy({ entries, keyId, spaceUrl, doc }: {
|
|
330
341
|
entries: ConnectionEntry[];
|
|
331
342
|
keyId: string;
|
|
332
343
|
spaceUrl: string;
|
|
344
|
+
doc: PublishedKeyDocument;
|
|
333
345
|
}): ConnectionEntry[];
|
|
334
346
|
//# sourceMappingURL=grants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grants.d.ts","sourceRoot":"","sources":["../../src/connections/grants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grants.d.ts","sourceRoot":"","sources":["../../src/connections/grants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,7 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2026 Interop Alliance. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* The grant index the revocation orchestrators share: the grants of one
|
|
6
|
-
* entry that pass the reader checks, their targets, the live and expired
|
|
7
|
-
* split, and the recipient kid a grant's controller derives.
|
|
8
|
-
*
|
|
9
|
-
* Every reader applies the same two checks, since the storage host can plant
|
|
10
|
-
* an entry and also holds every capability a party ever invoked. A grant
|
|
11
|
-
* whose `zcap.controller` is not the entry's `id` is dropped, so an entry at
|
|
12
|
-
* one party's id cannot steer a revocation at another party's capabilities.
|
|
13
|
-
* A grant whose `zcap.invocationTarget` is not under this Space's container
|
|
14
|
-
* URL is dropped, so no reader acts on a capability over another Space.
|
|
15
|
-
*
|
|
16
|
-
* The agent-connection readers sit beside them: the received list (the
|
|
17
|
-
* capabilities an agent handed the wallet, over targets outside this Space),
|
|
18
|
-
* the live inbox channel, the latest grant per scope, the grants one
|
|
19
|
-
* connection request's consent produced, the agent grant renewal predicate,
|
|
20
|
-
* and the agent entries one key signed grants for.
|
|
21
|
-
*/
|
|
22
|
-
import { vmFragmentOf } from '@interop/vh-resource-log';
|
|
23
1
|
import { connectionRecipientKid } from './didKey.js';
|
|
24
2
|
import { grantKindOf } from './entry.js';
|
|
25
3
|
import { INBOX_COLLECTION } from '../space/collections.js';
|
|
26
|
-
import { delegationProofKeyId, delegationSignerGone, embeddedParentCapability, zcapExpiring } from '../webvh/index.js';
|
|
4
|
+
import { delegationProofKeyId, delegationSignerGone, delegationSignerKeyReader, embeddedParentCapability, sameSigner, zcapExpiring } from '../webvh/index.js';
|
|
27
5
|
/**
|
|
28
6
|
* The agent grant renewal window: ninety days before its `expires`, a grant
|
|
29
7
|
* to an agent is due for renewal. Distinct from the thirty-day window the
|
|
@@ -410,19 +388,30 @@ export function agentGrantDue({ zcap, pointedDelegationId, doc, renewalWindowMs
|
|
|
410
388
|
* parent) counts when its own proof names the key. A grant with an embedded
|
|
411
389
|
* parent counts when the parent's proof names the key, the parent's minter.
|
|
412
390
|
*
|
|
391
|
+
* This is an attribution read, so it has to work after the withdrawing
|
|
392
|
+
* edit has landed as well as before it (a torn ceremony's sweep holds only
|
|
393
|
+
* the post-edit document). A grant counts when its proof's method id and the
|
|
394
|
+
* given `keyId` name one signer under `sameSigner` (`webvh`): the same id
|
|
395
|
+
* verbatim, or the same named key. An id the document no longer publishes
|
|
396
|
+
* still matches the grants signed under that exact id. To reach a grant
|
|
397
|
+
* signed under the did:key form of a struck key once the edit has landed,
|
|
398
|
+
* hand the key as a bare multibase too.
|
|
399
|
+
*
|
|
413
400
|
* @param options {object}
|
|
414
401
|
* @param options.entries {ConnectionEntry[]}
|
|
415
402
|
* @param options.keyId {string} a verification-method id in either DID
|
|
416
403
|
* form, or a bare multibase
|
|
417
404
|
* @param options.spaceUrl {string} this Space's container URL
|
|
405
|
+
* @param options.doc {PublishedKeyDocument} the locally verified account
|
|
406
|
+
* document, before or after the key is withdrawn
|
|
418
407
|
* @returns {ConnectionEntry[]}
|
|
419
408
|
*/
|
|
420
|
-
export function agentConnectionsSignedBy({ entries, keyId, spaceUrl }) {
|
|
421
|
-
const
|
|
409
|
+
export function agentConnectionsSignedBy({ entries, keyId, spaceUrl, doc }) {
|
|
410
|
+
const signerKey = delegationSignerKeyReader({ doc });
|
|
422
411
|
const signedBy = (zcap) => {
|
|
423
412
|
const proofKeyId = delegationProofKeyId(zcap);
|
|
424
413
|
return (proofKeyId !== undefined &&
|
|
425
|
-
(
|
|
414
|
+
sameSigner({ signerId: proofKeyId, otherId: keyId, signerKey }));
|
|
426
415
|
};
|
|
427
416
|
return entries.filter(entry => entry.kind === 'agent' &&
|
|
428
417
|
entry.retired === undefined &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/connections/grants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/connections/grants.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,8 +29,9 @@
|
|
|
29
29
|
* `markDeclined`).
|
|
30
30
|
* - The proof check a renewal runs over a recorded grant
|
|
31
31
|
* (`verifyRecordedGrantProof`), which verifies the delegation signature
|
|
32
|
-
* under a key the current document lists, and
|
|
33
|
-
*
|
|
32
|
+
* under a key the current document lists, and an annex-signed grant's
|
|
33
|
+
* leaf under the generation's annex document the caller resolves, and
|
|
34
|
+
* the action-set readers (`allowsAction`, `normalizedActions`).
|
|
34
35
|
* - The writer arm: lazy registration (`registerConnectionWriter`), the
|
|
35
36
|
* pull-path touch (`touchConnectionWriter`), the per-entry sweep
|
|
36
37
|
* (`sweepConnectionWriters`), and `resolveWriter` for history views.
|
|
@@ -49,7 +50,7 @@ export type { ConnectionsListing, ReadConnection } from './read.js';
|
|
|
49
50
|
export { AGENT_GRANT_RENEWAL_WINDOW_MS, agentConnectionsSignedBy, agentGrantDue, allowsAction, collectionIdInSpace, connectionGrants, grantRecipientKid, grantTargets, isTargetInSpace, grantScopeKey, latestGrantsPerScope, latestIndexPerScope, liveInboxChannel, normalizedActions, receivedGrantLapsed, receivedGrants, renewalScopeGrants, splitGrantsByExpiry } from './grants.js';
|
|
50
51
|
export type { ConnectionGrant, ConnectionReceivedGrant } from './grants.js';
|
|
51
52
|
export { verifyRecordedGrantProof } from './grantProof.js';
|
|
52
|
-
export type { GrantProofRefusal, GrantProofResult } from './grantProof.js';
|
|
53
|
+
export type { AnnexDocumentResolver, GrantProofRefusal, GrantProofResult } from './grantProof.js';
|
|
53
54
|
export { connectionDidKey, connectionRecipientKid, signingKeyMultibaseOfDid } from './didKey.js';
|
|
54
55
|
export { ConnectionKindMismatchError } from './errors.js';
|
|
55
56
|
export { clearReceivedGrants, dropReceivedGrant, markDeclined, pruneSupersededGrants, recordGrants, recordReceivedGrants, recordRenewedGrants, removeGrants, retireConnection, setConnectionLabel, settleOutboxItem, unretireConnection } from './upsert.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,SAAS,EACT,iBAAiB,EAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AACnE,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAC1D,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -29,8 +29,9 @@
|
|
|
29
29
|
* `markDeclined`).
|
|
30
30
|
* - The proof check a renewal runs over a recorded grant
|
|
31
31
|
* (`verifyRecordedGrantProof`), which verifies the delegation signature
|
|
32
|
-
* under a key the current document lists, and
|
|
33
|
-
*
|
|
32
|
+
* under a key the current document lists, and an annex-signed grant's
|
|
33
|
+
* leaf under the generation's annex document the caller resolves, and
|
|
34
|
+
* the action-set readers (`allowsAction`, `normalizedActions`).
|
|
34
35
|
* - The writer arm: lazy registration (`registerConnectionWriter`), the
|
|
35
36
|
* pull-path touch (`touchConnectionWriter`), the per-entry sweep
|
|
36
37
|
* (`sweepConnectionWriters`), and `resolveWriter` for history views.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connections/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,yBAAyB,EACzB,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAanB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AAM1D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,cAAc,CAAA;AASrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -37,9 +37,9 @@ export declare const ENROLLED_SIGNER: string;
|
|
|
37
37
|
export declare const LADDER_SIGNER: string;
|
|
38
38
|
export declare const GONE_SIGNER: string;
|
|
39
39
|
/**
|
|
40
|
-
* A fresh {@link AccountSignerCheck} over {@link SIGNER_FIXTURE}:
|
|
41
|
-
*
|
|
42
|
-
*
|
|
40
|
+
* A fresh {@link AccountSignerCheck} over {@link SIGNER_FIXTURE}: both VMs
|
|
41
|
+
* published under `capabilityDelegation`, and the pointer naming the current
|
|
42
|
+
* annex DID.
|
|
43
43
|
*
|
|
44
44
|
* @returns {AccountSignerCheck}
|
|
45
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerFixture.d.ts","sourceRoot":"","sources":["../../src/testing/signerFixture.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,eAAe,QAA+D,CAAA;AAC3F,eAAO,MAAM,aAAa,QAA4D,CAAA;AACtF,eAAO,MAAM,WAAW,QAA0C,CAAA;AAElE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,
|
|
1
|
+
{"version":3,"file":"signerFixture.d.ts","sourceRoot":"","sources":["../../src/testing/signerFixture.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,eAAe,QAA+D,CAAA;AAC3F,eAAO,MAAM,aAAa,QAA4D,CAAA;AACtF,eAAO,MAAM,WAAW,QAA0C,CAAA;AAElE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,CAgBvD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,EAAmB,EACnB,UAAkC,EAClC,gBAAoE,EACpE,OAAgC,EAChC,WAAW,EACX,MAAM,EACP,GAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACjD,GAAG,KAAK,CAuBb"}
|
|
@@ -21,9 +21,9 @@ export const ENROLLED_SIGNER = `${SIGNER_FIXTURE.accountDid}#${SIGNER_FIXTURE.en
|
|
|
21
21
|
export const LADDER_SIGNER = `${SIGNER_FIXTURE.accountDid}#${SIGNER_FIXTURE.ladderVm}`;
|
|
22
22
|
export const GONE_SIGNER = `${SIGNER_FIXTURE.accountDid}#z6MkGone`;
|
|
23
23
|
/**
|
|
24
|
-
* A fresh {@link AccountSignerCheck} over {@link SIGNER_FIXTURE}:
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* A fresh {@link AccountSignerCheck} over {@link SIGNER_FIXTURE}: both VMs
|
|
25
|
+
* published under `capabilityDelegation`, and the pointer naming the current
|
|
26
|
+
* annex DID.
|
|
27
27
|
*
|
|
28
28
|
* @returns {AccountSignerCheck}
|
|
29
29
|
*/
|
|
@@ -31,7 +31,6 @@ export function accountSignerCheck() {
|
|
|
31
31
|
const { accountDid, enrolledKey, ladderVm, annexDid } = SIGNER_FIXTURE;
|
|
32
32
|
return {
|
|
33
33
|
accountDid,
|
|
34
|
-
currentSigningKeys: new Set([enrolledKey]),
|
|
35
34
|
doc: {
|
|
36
35
|
verificationMethod: [
|
|
37
36
|
{ id: ENROLLED_SIGNER, publicKeyMultibase: enrolledKey },
|
|
@@ -39,7 +38,10 @@ export function accountSignerCheck() {
|
|
|
39
38
|
],
|
|
40
39
|
capabilityDelegation: [ENROLLED_SIGNER, LADDER_SIGNER]
|
|
41
40
|
},
|
|
42
|
-
clientAnnexDid: annexDid
|
|
41
|
+
clientAnnexDid: annexDid,
|
|
42
|
+
// The revocation reading never resolves the annex; the proof check's
|
|
43
|
+
// own tests build the generation documents they need.
|
|
44
|
+
annexDocument: async () => undefined
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerFixture.js","sourceRoot":"","sources":["../../src/testing/signerFixture.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,8BAA8B;IAC1C,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,yDAAyD;IACnE,WAAW,EAAE,yDAAyD;IACtE,IAAI,EAAE,qDAAqD;IAC3D,MAAM,EAAE,wBAAwB;CACxB,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,WAAW,EAAE,CAAA;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAA;AACtF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,cAAc,CAAC,UAAU,WAAW,CAAA;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;IACtE,OAAO;QACL,UAAU;QACV,
|
|
1
|
+
{"version":3,"file":"signerFixture.js","sourceRoot":"","sources":["../../src/testing/signerFixture.ts"],"names":[],"mappings":"AAiBA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,8BAA8B;IAC1C,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,yDAAyD;IACnE,WAAW,EAAE,yDAAyD;IACtE,IAAI,EAAE,qDAAqD;IAC3D,MAAM,EAAE,wBAAwB;CACxB,CAAA;AAEV;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,WAAW,EAAE,CAAA;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAA;AACtF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,cAAc,CAAC,UAAU,WAAW,CAAA;AAElE;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;IACtE,OAAO;QACL,UAAU;QACV,GAAG,EAAE;YACH,kBAAkB,EAAE;gBAClB,EAAE,EAAE,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE;gBACxD,EAAE,EAAE,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE;aACpD;YACD,oBAAoB,EAAE,CAAC,eAAe,EAAE,aAAa,CAAC;SACvD;QACD,cAAc,EAAE,QAAQ;QACxB,qEAAqE;QACrE,sDAAsD;QACtD,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;KACrC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,EAAE,GAAG,cAAc,EACnB,UAAU,GAAG,cAAc,CAAC,MAAM,EAClC,gBAAgB,GAAG,iDAAiD,EACpE,OAAO,GAAG,sBAAsB,EAChC,WAAW,EACX,MAAM,KAQJ,EAAE;IACJ,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAA;IAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI;QACzB,EAAE,EAAE,+BAA+B;QACnC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB,EAAE,IAAI;QACtB,GAAG,CAAC,MAAM,CAAC,WAAW;YACpB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,OAAO;QACL,UAAU,EAAE,CAAC,0BAA0B,CAAC;QACxC,EAAE;QACF,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAC/C,UAAU;QACV,gBAAgB;QAChB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QAC9B,OAAO;QACP,KAAK,EAAE;YACL,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D;KACkB,CAAA;AACvB,CAAC"}
|
package/dist/webvh/index.d.ts
CHANGED
|
@@ -45,10 +45,17 @@
|
|
|
45
45
|
* no-pad, over a key-agreement key's decoded multikey bytes, and the
|
|
46
46
|
* decode-based check that verifies a candidate key against a published
|
|
47
47
|
* commitment.
|
|
48
|
-
* - `
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
48
|
+
* - `delegationSignerKey` / `delegationSignerKeyReader` /
|
|
49
|
+
* `delegationKeyInDocument` -- the one reader of a delegation signer's
|
|
50
|
+
* published key (and its memoized form over one document), and the
|
|
51
|
+
* current-key-set rule for one recorded delegation: does the document
|
|
52
|
+
* still list the key that signed it under `capabilityDelegation` (a key
|
|
53
|
+
* kept under another relation alone does not count, and a missing key id
|
|
54
|
+
* reads as "cannot be checked", so: no). `signerKeyNamed`, `sameSigner`,
|
|
55
|
+
* and `didKeyMultibase` are the attribution-side readings beside it: the
|
|
56
|
+
* key an id names for "who signed this", which a did:key id carries by
|
|
57
|
+
* spec whether or not the document still lists it, and whether two ids
|
|
58
|
+
* name one signer (the same id, or the same named key).
|
|
52
59
|
* - `standingZcapStale` / `recordedZcapStale` -- the composed house staleness
|
|
53
60
|
* rule every re-mint pass and renewal stage asks (expiry, signer death, and
|
|
54
61
|
* the caller's retiring set), over a delegation in hand or over the
|
|
@@ -104,8 +111,8 @@ export { didWebProjectionCurrent, ensureDidWebProjection, putDidWebProjection }
|
|
|
104
111
|
export { delegatedWebvhLogStore } from './delegatedLogStore.js';
|
|
105
112
|
export type { DelegatedWebvhLogStore } from './delegatedLogStore.js';
|
|
106
113
|
export { delegationAtExpiry, delegationExpired, delegationProofKeyId, delegationSignerGone, recordedZcapStale, REVOCATION_CLOCK_SKEW_MS, STANDING_ZCAP_TTL_MS, standingZcapStale, embeddedParentCapability, firstDelegationProof, ZCAP_RENEWAL_WINDOW_MS, zcapExpiring } from './standingZcap.js';
|
|
107
|
-
export { attributeClientUpdateKey, delegationKeyInDocument, documentKeyMultibases, enrolledClientVmIds, isLastEnrolledClient, listEnrolledWebvhClients, markedKeyAgreementMethods, markedKeyAgreementMultibases } from './listClients.js';
|
|
108
|
-
export type { EnrolledWebvhClient, PublishedKeyDocument } from './listClients.js';
|
|
114
|
+
export { attributeClientUpdateKey, delegationKeyInDocument, delegationSignerKey, delegationSignerKeyReader, didKeyMultibase, documentKeyMultibases, sameSigner, signerKeyNamed, enrolledClientVmIds, isLastEnrolledClient, listEnrolledWebvhClients, markedKeyAgreementMethods, markedKeyAgreementMultibases } from './listClients.js';
|
|
115
|
+
export type { EnrolledWebvhClient, DelegationSignerReader, PublishedKeyDocument } from './listClients.js';
|
|
109
116
|
export { mergeVerificationMethods } from './mergeMethods.js';
|
|
110
117
|
export { accountLogDids, walletClientDid } from './documentDids.js';
|
|
111
118
|
export type { RelationMembership } from './mergeMethods.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"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"}
|
package/dist/webvh/index.js
CHANGED
|
@@ -45,10 +45,17 @@
|
|
|
45
45
|
* no-pad, over a key-agreement key's decoded multikey bytes, and the
|
|
46
46
|
* decode-based check that verifies a candidate key against a published
|
|
47
47
|
* commitment.
|
|
48
|
-
* - `
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
48
|
+
* - `delegationSignerKey` / `delegationSignerKeyReader` /
|
|
49
|
+
* `delegationKeyInDocument` -- the one reader of a delegation signer's
|
|
50
|
+
* published key (and its memoized form over one document), and the
|
|
51
|
+
* current-key-set rule for one recorded delegation: does the document
|
|
52
|
+
* still list the key that signed it under `capabilityDelegation` (a key
|
|
53
|
+
* kept under another relation alone does not count, and a missing key id
|
|
54
|
+
* reads as "cannot be checked", so: no). `signerKeyNamed`, `sameSigner`,
|
|
55
|
+
* and `didKeyMultibase` are the attribution-side readings beside it: the
|
|
56
|
+
* key an id names for "who signed this", which a did:key id carries by
|
|
57
|
+
* spec whether or not the document still lists it, and whether two ids
|
|
58
|
+
* name one signer (the same id, or the same named key).
|
|
52
59
|
* - `standingZcapStale` / `recordedZcapStale` -- the composed house staleness
|
|
53
60
|
* rule every re-mint pass and renewal stage asks (expiry, signer death, and
|
|
54
61
|
* the caller's retiring set), over a delegation in hand or over the
|
|
@@ -101,7 +108,7 @@ export { wasWebvhIdStore, wasWebvhLogStore } from './wasIdStore.js';
|
|
|
101
108
|
export { didWebProjectionCurrent, ensureDidWebProjection, putDidWebProjection } from './didWebProjection.js';
|
|
102
109
|
export { delegatedWebvhLogStore } from './delegatedLogStore.js';
|
|
103
110
|
export { delegationAtExpiry, delegationExpired, delegationProofKeyId, delegationSignerGone, recordedZcapStale, REVOCATION_CLOCK_SKEW_MS, STANDING_ZCAP_TTL_MS, standingZcapStale, embeddedParentCapability, firstDelegationProof, ZCAP_RENEWAL_WINDOW_MS, zcapExpiring } from './standingZcap.js';
|
|
104
|
-
export { attributeClientUpdateKey, delegationKeyInDocument, documentKeyMultibases, enrolledClientVmIds, isLastEnrolledClient, listEnrolledWebvhClients, markedKeyAgreementMethods, markedKeyAgreementMultibases } from './listClients.js';
|
|
111
|
+
export { attributeClientUpdateKey, delegationKeyInDocument, delegationSignerKey, delegationSignerKeyReader, didKeyMultibase, documentKeyMultibases, sameSigner, signerKeyNamed, enrolledClientVmIds, isLastEnrolledClient, listEnrolledWebvhClients, markedKeyAgreementMethods, markedKeyAgreementMultibases } from './listClients.js';
|
|
105
112
|
export { mergeVerificationMethods } from './mergeMethods.js';
|
|
106
113
|
export { accountLogDids, walletClientDid } from './documentDids.js';
|
|
107
114
|
export { credentialKeyAgreementMethods, enrolledClientKeyMultibases, introducedCredentialKeys, ladderVmIds, ladderVmKeyMultibases, relationIds, resolvedKeyAgreementMethods, retiredCredentialKeys } from '../resourceLog/document.js';
|
package/dist/webvh/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webvh/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoGG;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,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEnE,OAAO,EACL,uBAAuB,EACvB,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,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnE,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,wBAAwB,EACxB,WAAW,EACX,qBAAqB,EACrB,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,EACL,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,kBAAkB,CAAA;AAsBzB,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"}
|