@verana-labs/vs-agent-sdk 2.0.0-dev.50 → 2.0.0-dev.52
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/build/agent/VsAgent.d.ts +2 -2
- package/build/blockchain/AnonCredsTrustService.d.ts +5 -0
- package/build/blockchain/AnonCredsTrustService.js +16 -3
- package/build/blockchain/AnonCredsTrustService.js.map +1 -1
- package/build/blockchain/AuthorizationService.d.ts +5 -1
- package/build/blockchain/AuthorizationService.js +17 -11
- package/build/blockchain/AuthorizationService.js.map +1 -1
- package/build/blockchain/VeranaChainService.d.ts +1 -15
- package/build/blockchain/VeranaChainService.js +1 -143
- package/build/blockchain/VeranaChainService.js.map +1 -1
- package/build/blockchain/VeranaIndexerService.d.ts +8 -1
- package/build/blockchain/VeranaIndexerService.js +102 -0
- package/build/blockchain/VeranaIndexerService.js.map +1 -1
- package/build/blockchain/handlers/authorizationHandlers.js +2 -2
- package/build/blockchain/handlers/authorizationHandlers.js.map +1 -1
- package/build/blockchain/handlers/stateMutations.js +10 -10
- package/build/blockchain/handlers/stateMutations.js.map +1 -1
- package/build/blockchain/index.d.ts +1 -0
- package/build/blockchain/index.js +1 -0
- package/build/blockchain/index.js.map +1 -1
- package/build/blockchain/indexerMappers.d.ts +3 -0
- package/build/blockchain/indexerMappers.js +53 -0
- package/build/blockchain/indexerMappers.js.map +1 -0
- package/build/blockchain/types.d.ts +0 -70
- package/build/bootstrap/EcsBootstrapService.js +7 -3
- package/build/bootstrap/EcsBootstrapService.js.map +1 -1
- package/build/did/CachedDocumentLoader.d.ts +3 -0
- package/build/did/CachedDocumentLoader.js +7 -1
- package/build/did/CachedDocumentLoader.js.map +1 -1
- package/build/plugins/setupBaseDidComm.js +1 -1
- package/build/plugins/setupBaseDidComm.js.map +1 -1
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +1 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/selfIssuedEcsCredential.d.ts +5 -1
- package/build/utils/selfIssuedEcsCredential.js +20 -14
- package/build/utils/selfIssuedEcsCredential.js.map +1 -1
- package/build/utils/setupSelfTr.d.ts +24 -9
- package/build/utils/setupSelfTr.js +37 -35
- package/build/utils/setupSelfTr.js.map +1 -1
- package/build/utils/trustCredentialStore.d.ts +34 -4
- package/build/utils/trustCredentialStore.js +119 -34
- package/build/utils/trustCredentialStore.js.map +1 -1
- package/build/utils/vcdm2.d.ts +34 -0
- package/build/utils/vcdm2.js +62 -0
- package/build/utils/vcdm2.js.map +1 -0
- package/build/vtFlow/VtFlowOrchestrator.d.ts +13 -6
- package/build/vtFlow/VtFlowOrchestrator.js +38 -37
- package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
- package/package.json +11 -11
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.signLinkedDataIntegrityPresentation = signLinkedDataIntegrityPresentation;
|
|
3
4
|
exports.findMetadataEntry = findMetadataEntry;
|
|
4
5
|
exports.saveMetadataEntry = saveMetadataEntry;
|
|
5
6
|
exports.deleteMetadataEntry = deleteMetadataEntry;
|
|
@@ -14,6 +15,10 @@ exports.getTrustMetadata = getTrustMetadata;
|
|
|
14
15
|
exports.rebindEcsCredentialSchema = rebindEcsCredentialSchema;
|
|
15
16
|
exports.withdrawSelfIssuedEcsCredentials = withdrawSelfIssuedEcsCredentials;
|
|
16
17
|
const core_1 = require("@credo-ts/core");
|
|
18
|
+
// No type definitions available for this library
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
20
|
+
//@ts-expect-error
|
|
21
|
+
const jsonld_signatures_1 = require("@digitalcredentials/jsonld-signatures");
|
|
17
22
|
const verre_1 = require("@verana-labs/verre");
|
|
18
23
|
const adminApiService_1 = require("../did/adminApiService");
|
|
19
24
|
const setupSelfTr_1 = require("./setupSelfTr");
|
|
@@ -23,6 +28,71 @@ async function getDidRecord(agent) {
|
|
|
23
28
|
const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
|
|
24
29
|
return didRecord;
|
|
25
30
|
}
|
|
31
|
+
/** The credential fields shared by both data models: id, credentialSchema and credentialSubject */
|
|
32
|
+
function trustCredentialFields(credential) {
|
|
33
|
+
return credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
|
|
34
|
+
? credential.resolvedCredential
|
|
35
|
+
: credential;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* What the metadata entry stores and the DID Document service endpoint serves. A data model 1.1
|
|
39
|
+
* presentation is kept as its class instance, which serializes to JSON-LD when the DID record is
|
|
40
|
+
* saved; a Data Integrity one wraps the secured JSON, so that is what gets stored.
|
|
41
|
+
*/
|
|
42
|
+
function trustCredentialEntry(credential) {
|
|
43
|
+
return credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
|
|
44
|
+
? credential.securedCredential
|
|
45
|
+
: credential.jsonCredential;
|
|
46
|
+
}
|
|
47
|
+
function trustPresentationEntry(presentation) {
|
|
48
|
+
return presentation instanceof core_1.W3cV2DataIntegrityVerifiablePresentation
|
|
49
|
+
? presentation.securedPresentation
|
|
50
|
+
: presentation;
|
|
51
|
+
}
|
|
52
|
+
function trustPresentationId(presentation) {
|
|
53
|
+
return presentation instanceof core_1.W3cV2DataIntegrityVerifiablePresentation
|
|
54
|
+
? presentation.securedPresentation.id
|
|
55
|
+
: presentation.id;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Wraps a VC Data Model 2.0 credential in a data model 2.0 presentation secured with a
|
|
59
|
+
* DataIntegrityProof under the cryptosuite the agent is configured with, the counterpart of the
|
|
60
|
+
* linked data proof a data model 1.1 linked VP carries. The presentation is published from the DID
|
|
61
|
+
* Document rather than presented to a verifier, so there is no challenge to bind; its proof purpose
|
|
62
|
+
* is `authentication`, as Data Integrity defines for presentations.
|
|
63
|
+
*/
|
|
64
|
+
async function signLinkedDataIntegrityPresentation(agent, options) {
|
|
65
|
+
const presentation = new core_1.W3cV2Presentation({
|
|
66
|
+
id: options.id,
|
|
67
|
+
holder: options.holder,
|
|
68
|
+
verifiableCredential: [options.credential],
|
|
69
|
+
});
|
|
70
|
+
// The options type requires a challenge for every presentation format, while a Data Integrity
|
|
71
|
+
// proof only carries one when it is given
|
|
72
|
+
return await agent.w3cV2Credentials.signPresentation({
|
|
73
|
+
format: core_1.ClaimFormat.DiVp,
|
|
74
|
+
presentation,
|
|
75
|
+
cryptosuite: (0, setupSelfTr_1.getDataIntegrityCryptosuite)(agent),
|
|
76
|
+
verificationMethod: options.verificationMethodId,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Wraps a VC Data Model 1.1 credential in a data model 1.1 presentation carrying an
|
|
81
|
+
* Ed25519Signature2020 linked data proof, for credentials received from issuers that still use it.
|
|
82
|
+
*/
|
|
83
|
+
async function signLinkedDataProofPresentation(agent, options) {
|
|
84
|
+
return await agent.w3cCredentials.signPresentation({
|
|
85
|
+
format: core_1.ClaimFormat.LdpVp,
|
|
86
|
+
presentation: new core_1.W3cPresentation({
|
|
87
|
+
id: options.id,
|
|
88
|
+
holder: options.holder,
|
|
89
|
+
verifiableCredential: [options.credential],
|
|
90
|
+
}),
|
|
91
|
+
proofType: 'Ed25519Signature2020',
|
|
92
|
+
verificationMethod: options.verificationMethodId,
|
|
93
|
+
proofPurpose: new jsonld_signatures_1.purposes.AssertionProofPurpose(),
|
|
94
|
+
});
|
|
95
|
+
}
|
|
26
96
|
async function updateDidRecord(agent, didRecord) {
|
|
27
97
|
const repo = agent.context.dependencyManager.resolve(core_1.DidRepository);
|
|
28
98
|
(0, adminApiService_1.applyAdminApiServiceEntry)(didRecord.didDocument, agent.adminApiServiceEndpoint);
|
|
@@ -56,14 +126,15 @@ function findMetadataEntry(didRecord, key, id, jsonSchemaRef) {
|
|
|
56
126
|
}
|
|
57
127
|
async function saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, key) {
|
|
58
128
|
var _a, _b, _c, _d, _e;
|
|
59
|
-
const
|
|
129
|
+
const fields = trustCredentialFields(credential);
|
|
130
|
+
const schema = key === '_vt/vtc' ? fields.credentialSchema : fields.credentialSubject;
|
|
60
131
|
const ref = Array.isArray(schema) ? (_a = schema[0]) === null || _a === void 0 ? void 0 : _a.id : schema === null || schema === void 0 ? void 0 : schema.id;
|
|
61
132
|
if (!ref) {
|
|
62
133
|
throw new Error('No ID was found in credentialSubject');
|
|
63
134
|
}
|
|
64
135
|
const record = (_b = didRecord.metadata.get(key)) !== null && _b !== void 0 ? _b : {};
|
|
65
136
|
// Remove previous entry for this credential ID (if exists)
|
|
66
|
-
const found = findMetadataEntry(didRecord, key,
|
|
137
|
+
const found = findMetadataEntry(didRecord, key, fields.id, ref);
|
|
67
138
|
if (found) {
|
|
68
139
|
if ((_c = didRecord.didDocument) === null || _c === void 0 ? void 0 : _c.service) {
|
|
69
140
|
didRecord.didDocument.service = didRecord.didDocument.service.filter(s => s.id !== found.didDocumentServiceId);
|
|
@@ -71,13 +142,13 @@ async function saveMetadataEntry(agent, didRecord, credential, verifiablePresent
|
|
|
71
142
|
delete record[found.schemaId];
|
|
72
143
|
}
|
|
73
144
|
record[ref] = {
|
|
74
|
-
credential: credential
|
|
75
|
-
verifiablePresentation,
|
|
145
|
+
credential: trustCredentialEntry(credential),
|
|
146
|
+
verifiablePresentation: trustPresentationEntry(verifiablePresentation),
|
|
76
147
|
didDocumentServiceId,
|
|
77
148
|
};
|
|
78
149
|
(_e = (_d = didRecord.didDocument) === null || _d === void 0 ? void 0 : _d.service) === null || _e === void 0 ? void 0 : _e.push(new core_1.DidDocumentService({
|
|
79
150
|
id: didDocumentServiceId,
|
|
80
|
-
serviceEndpoint: verifiablePresentation
|
|
151
|
+
serviceEndpoint: trustPresentationId(verifiablePresentation),
|
|
81
152
|
type: 'LinkedVerifiablePresentation',
|
|
82
153
|
}));
|
|
83
154
|
didRecord.metadata.set(key, record);
|
|
@@ -100,12 +171,13 @@ async function createVtc(agent, publicApiBaseUrl, id, credential) {
|
|
|
100
171
|
const schemaId = `schemas-${id}-vtc-vp.json`;
|
|
101
172
|
const didDocumentServiceId = `${agent.did}#vpr-${schemaId.replace('.json', '')}`;
|
|
102
173
|
const serviceEndpoint = `${publicApiBaseUrl}/vt/${schemaId}`;
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
174
|
+
const verificationMethodId = (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord);
|
|
175
|
+
// The linked VP takes the data model of the credential it carries: a Data Integrity credential
|
|
176
|
+
// cannot be embedded in a data model 1.1 presentation, nor the other way round
|
|
177
|
+
const linkedVp = { id: serviceEndpoint, holder: agent.did, verificationMethodId };
|
|
178
|
+
const verifiablePresentation = credential instanceof core_1.W3cV2DataIntegrityVerifiableCredential
|
|
179
|
+
? await signLinkedDataIntegrityPresentation(agent, Object.assign(Object.assign({}, linkedVp), { credential }))
|
|
180
|
+
: await signLinkedDataProofPresentation(agent, Object.assign(Object.assign({}, linkedVp), { credential }));
|
|
109
181
|
await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/vtc');
|
|
110
182
|
return verifiablePresentation;
|
|
111
183
|
}
|
|
@@ -115,31 +187,30 @@ async function createJsc(agent, publicApiBaseUrl, ecsSchemas, options) {
|
|
|
115
187
|
const { id: subjectId, claims } = (0, setupSelfTr_1.createJsonSubjectRef)(jsonSchemaRef);
|
|
116
188
|
const subjectClaims = precomputedDigestSRI
|
|
117
189
|
? Object.assign(Object.assign({}, claims), { digestSRI: precomputedDigestSRI }) : await (0, setupSelfTr_1.addDigestSRI)(subjectId, claims, ecsSchemas);
|
|
118
|
-
const credentialSubject = {
|
|
119
|
-
id: subjectId,
|
|
120
|
-
claims: subjectClaims,
|
|
121
|
-
};
|
|
190
|
+
const credentialSubject = Object.assign(Object.assign({}, subjectClaims), { id: subjectId });
|
|
122
191
|
const schemaPresentation = `schemas-${schemaBaseId}-vtjsc-vp.json`;
|
|
123
192
|
const schemaCredential = `schemas-${schemaBaseId}-jsc.json`;
|
|
124
193
|
const serviceEndpoint = `${publicApiBaseUrl}/vt/${schemaPresentation}`;
|
|
125
194
|
const didDocumentServiceId = `${agent.did}#vpr-schemas-${schemaBaseId}-vtjsc-vp`;
|
|
195
|
+
const credentialId = `${publicApiBaseUrl}/vt/${schemaCredential}`;
|
|
126
196
|
const unsignedCredential = (0, setupSelfTr_1.createCredential)({
|
|
127
|
-
id:
|
|
197
|
+
id: credentialId,
|
|
128
198
|
type: ['VerifiableCredential', 'JsonSchemaCredential'],
|
|
129
199
|
issuer: agent.did,
|
|
130
200
|
credentialSubject,
|
|
201
|
+
credentialSchema: await (0, setupSelfTr_1.addDigestSRI)(setupSelfTr_1.createJsonSchema.id, { id: setupSelfTr_1.createJsonSchema.id, type: setupSelfTr_1.createJsonSchema.type }, ecsSchemas),
|
|
131
202
|
});
|
|
132
|
-
unsignedCredential.credentialSchema = await (0, setupSelfTr_1.addDigestSRI)(setupSelfTr_1.createJsonSchema.id, setupSelfTr_1.createJsonSchema, ecsSchemas);
|
|
133
203
|
const verificationMethodId = (0, setupSelfTr_1.getVerificationMethodId)(agent.config.logger, didRecord);
|
|
134
|
-
const credential = await (0, setupSelfTr_1.signerW3c)(agent,
|
|
135
|
-
const
|
|
204
|
+
const credential = await (0, setupSelfTr_1.signerW3c)(agent, unsignedCredential, verificationMethodId);
|
|
205
|
+
const verifiablePresentation = await signLinkedDataIntegrityPresentation(agent, {
|
|
136
206
|
id: serviceEndpoint,
|
|
137
207
|
holder: agent.did,
|
|
138
|
-
|
|
208
|
+
credential,
|
|
209
|
+
verificationMethodId,
|
|
139
210
|
});
|
|
140
|
-
const verifiablePresentation = await (0, setupSelfTr_1.signerW3c)(agent, unsignedPresentation, verificationMethodId);
|
|
141
211
|
await saveMetadataEntry(agent, didRecord, credential, verifiablePresentation, didDocumentServiceId, '_vt/jsc');
|
|
142
|
-
|
|
212
|
+
// the credential as published; its id is the one assigned above
|
|
213
|
+
return credential.securedCredential;
|
|
143
214
|
}
|
|
144
215
|
async function removeTrustCredential(agent, schemaId, key) {
|
|
145
216
|
var _a;
|
|
@@ -155,15 +226,30 @@ async function removeTrustCredential(agent, schemaId, key) {
|
|
|
155
226
|
}
|
|
156
227
|
return await deleteMetadataEntry(agent, schemaId, didRecord, key);
|
|
157
228
|
}
|
|
229
|
+
/**
|
|
230
|
+
* Removes the linked VP and the stored credential an exchange delivered, as
|
|
231
|
+
* [VSA-VTI-FLOW-OP-REVOKE] requires of the applicant. The credential is read from the RFC 0809
|
|
232
|
+
* format data of the exchange; exchanges earlier versions completed over other formats are not
|
|
233
|
+
* migrated. Returns the credential id, or `undefined` when none is found, in which case nothing is
|
|
234
|
+
* removed.
|
|
235
|
+
*/
|
|
158
236
|
async function removeStoredTrustCredential(agent, credentialExchangeRecordId) {
|
|
159
|
-
var _a, _b;
|
|
237
|
+
var _a, _b, _c;
|
|
160
238
|
const formatData = await agent.didcomm.credentials.getFormatData(credentialExchangeRecordId);
|
|
161
|
-
const credentialId = (_b = (_a = formatData.credential) === null || _a === void 0 ? void 0 : _a.
|
|
162
|
-
if (
|
|
239
|
+
const credentialId = (_c = (_b = (_a = formatData.credential) === null || _a === void 0 ? void 0 : _a.dataIntegrity) === null || _b === void 0 ? void 0 : _b.credential) === null || _c === void 0 ? void 0 : _c.id;
|
|
240
|
+
if (typeof credentialId !== 'string') {
|
|
241
|
+
agent.config.logger.warn(`[trust-credential] Credential exchange ${credentialExchangeRecordId} carries no RFC 0809 credential id; its linked VP and stored credential are left in place`);
|
|
163
242
|
return undefined;
|
|
243
|
+
}
|
|
164
244
|
await removeTrustCredential(agent, credentialId, '_vt/vtc');
|
|
165
|
-
|
|
166
|
-
|
|
245
|
+
// The RFC 0809 format holds a data model 2.0 credential in a W3cV2CredentialRecord and a data
|
|
246
|
+
// model 1.1 one in a W3cCredentialRecord; the credential id is tagged on both
|
|
247
|
+
for (const storedRecord of await agent.w3cV2Credentials.getAll()) {
|
|
248
|
+
if (storedRecord.getTags().givenId === credentialId) {
|
|
249
|
+
await agent.w3cV2Credentials.deleteById(storedRecord.id);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
for (const storedRecord of await agent.w3cCredentials.getAll()) {
|
|
167
253
|
if (storedRecord.getTags().givenId === credentialId) {
|
|
168
254
|
await agent.w3cCredentials.deleteById(storedRecord.id);
|
|
169
255
|
}
|
|
@@ -272,12 +358,13 @@ async function anchorCredentialDigest(agent, schemaId, credential, issuerPartici
|
|
|
272
358
|
throw new Error(`[DigestAnchor] The presentation for schema ${schemaId} has no credential`);
|
|
273
359
|
if (!agent.did)
|
|
274
360
|
throw new Error('[DigestAnchor] The agent has no public DID');
|
|
275
|
-
const schema = await
|
|
361
|
+
const schema = await agent.indexer.getCredentialSchema(schemaId).catch(() => undefined);
|
|
276
362
|
if (!schema)
|
|
277
363
|
throw new Error(`[DigestAnchor] Credential schema ${schemaId} is not on chain`);
|
|
278
|
-
|
|
364
|
+
// the credential as published, which is what a verifier digests
|
|
365
|
+
const digest = (0, verre_1.computeCredentialDigestJCS)(credential, schema.digest_algorithm);
|
|
279
366
|
// the same credential gives the same digest on each run, so an anchored digest needs no second transaction
|
|
280
|
-
if (await
|
|
367
|
+
if (await agent.indexer.getDigest(digest))
|
|
281
368
|
return;
|
|
282
369
|
// A self-issued credential has no counterparty, so the session names only the issuer.
|
|
283
370
|
const { txHash } = await chain.createOrUpdateParticipantSession({
|
|
@@ -288,6 +375,7 @@ async function anchorCredentialDigest(agent, schemaId, credential, issuerPartici
|
|
|
288
375
|
digest,
|
|
289
376
|
});
|
|
290
377
|
agent.config.logger.info(`[DigestAnchor] Anchored digest ${digest} for schema ${schemaId} against issuer participant ${issuerParticipantId} (tx ${txHash})`);
|
|
378
|
+
await agent.indexer.waitForDigest(digest);
|
|
291
379
|
}
|
|
292
380
|
// replaces the self-TR example JSC binding with the on-chain VTJSC so resolvers can link the credential to the VPR
|
|
293
381
|
/**
|
|
@@ -324,10 +412,7 @@ async function rebindEcsCredentialSchema(agent, publicApiBaseUrl, schemaId, sche
|
|
|
324
412
|
didRecord.metadata.set('_vt/vtc', record);
|
|
325
413
|
await updateDidRecord(agent, didRecord);
|
|
326
414
|
}
|
|
327
|
-
await (0, selfIssuedEcsCredential_1.publishSelfIssuedEcsPresentation)(agent, vpUrl, Object.assign(Object.assign({}, (0, data_1.getEcsSchemas)(publicApiBaseUrl)), (onChainJsonSchema ? { [schemaKey]: onChainJsonSchema } : {})), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, ecsClaims, async (verifiablePresentation) =>
|
|
328
|
-
var _a;
|
|
329
|
-
return await anchorCredentialDigest(agent, Number(schemaId), (_a = verifiablePresentation === null || verifiablePresentation === void 0 ? void 0 : verifiablePresentation.verifiableCredential) === null || _a === void 0 ? void 0 : _a[0], issuerParticipantId);
|
|
330
|
-
});
|
|
415
|
+
await (0, selfIssuedEcsCredential_1.publishSelfIssuedEcsPresentation)(agent, vpUrl, Object.assign(Object.assign({}, (0, data_1.getEcsSchemas)(publicApiBaseUrl)), (onChainJsonSchema ? { [schemaKey]: onChainJsonSchema } : {})), schemaKey, ['VerifiableCredential', 'VerifiableTrustCredential'], { id: jscUrl, type: 'JsonSchemaCredential' }, ecsClaims, async (verifiablePresentation) => await anchorCredentialDigest(agent, Number(schemaId), verifiablePresentation.verifiableCredential[0], issuerParticipantId));
|
|
331
416
|
const freshRecord = await getDidRecord(agent);
|
|
332
417
|
let recordChanged = false;
|
|
333
418
|
const vtc = (_f = freshRecord.metadata.get('_vt/vtc')) !== null && _f !== void 0 ? _f : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trustCredentialStore.js","sourceRoot":"","sources":["../../src/utils/trustCredentialStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trustCredentialStore.js","sourceRoot":"","sources":["../../src/utils/trustCredentialStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type JsonObject, W3cV2Credential, type W3cV2CredentialOptions } from '@credo-ts/core';
|
|
2
|
+
/**
|
|
3
|
+
* The W3C context that gives terms no other context defines an IRI under
|
|
4
|
+
* `https://www.w3.org/ns/credentials/undefined-term#`, which is what schema-driven ECS claims are to
|
|
5
|
+
* a JSON-LD consumer: issuer-dependent terms, not examples.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CREDENTIALS_UNDEFINED_TERMS_V2_URL = "https://www.w3.org/ns/credentials/undefined-terms/v2";
|
|
8
|
+
/**
|
|
9
|
+
* JSON-LD context of the VC Data Model 2.0 credentials the agent issues: the trust credentials it
|
|
10
|
+
* publishes from its DID Document and the ones it issues over DIDComm with the W3C Data Integrity
|
|
11
|
+
* attachment format (Aries RFC 0809).
|
|
12
|
+
*
|
|
13
|
+
* The undefined-terms context supplies the `@vocab` that lets schema-driven credential subject
|
|
14
|
+
* claims expand when a third party processes the credential as JSON-LD. The `eddsa-jcs-2022`
|
|
15
|
+
* cryptosuite securing these credentials canonicalizes JSON and never expands the context itself.
|
|
16
|
+
*/
|
|
17
|
+
export declare const CREDENTIALS_V2_CONTEXT: string[];
|
|
18
|
+
/**
|
|
19
|
+
* Builds an unsigned VC Data Model 2.0 credential. Unless told otherwise it uses
|
|
20
|
+
* {@link CREDENTIALS_V2_CONTEXT} and is valid from now for ten years.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createW3cV2Credential(options: W3cV2CredentialOptions): W3cV2Credential;
|
|
23
|
+
/** The plain JSON an RFC 0809 credential offer carries the unsigned credential as. */
|
|
24
|
+
export declare function toOfferedCredentialJson(credential: W3cV2Credential): JsonObject;
|
|
25
|
+
/** Whether a credential JSON uses the VC Data Model 2.0 base context, as RFC 0809 decides the data model version. */
|
|
26
|
+
export declare function isVcdm2Credential(credential: {
|
|
27
|
+
'@context'?: unknown;
|
|
28
|
+
}): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Whether a stored credential is what the agent publishes today: VC Data Model 2.0 secured with
|
|
31
|
+
* Data Integrity proofs. An agent upgraded from a version that published data model 1.1 linked
|
|
32
|
+
* data proofs rebuilds its trust credentials when this is false.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isDataIntegrityVcdm2Credential(credential: unknown): boolean;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CREDENTIALS_V2_CONTEXT = exports.CREDENTIALS_UNDEFINED_TERMS_V2_URL = void 0;
|
|
4
|
+
exports.createW3cV2Credential = createW3cV2Credential;
|
|
5
|
+
exports.toOfferedCredentialJson = toOfferedCredentialJson;
|
|
6
|
+
exports.isVcdm2Credential = isVcdm2Credential;
|
|
7
|
+
exports.isDataIntegrityVcdm2Credential = isDataIntegrityVcdm2Credential;
|
|
8
|
+
const core_1 = require("@credo-ts/core");
|
|
9
|
+
/**
|
|
10
|
+
* The W3C context that gives terms no other context defines an IRI under
|
|
11
|
+
* `https://www.w3.org/ns/credentials/undefined-term#`, which is what schema-driven ECS claims are to
|
|
12
|
+
* a JSON-LD consumer: issuer-dependent terms, not examples.
|
|
13
|
+
*/
|
|
14
|
+
exports.CREDENTIALS_UNDEFINED_TERMS_V2_URL = 'https://www.w3.org/ns/credentials/undefined-terms/v2';
|
|
15
|
+
/**
|
|
16
|
+
* JSON-LD context of the VC Data Model 2.0 credentials the agent issues: the trust credentials it
|
|
17
|
+
* publishes from its DID Document and the ones it issues over DIDComm with the W3C Data Integrity
|
|
18
|
+
* attachment format (Aries RFC 0809).
|
|
19
|
+
*
|
|
20
|
+
* The undefined-terms context supplies the `@vocab` that lets schema-driven credential subject
|
|
21
|
+
* claims expand when a third party processes the credential as JSON-LD. The `eddsa-jcs-2022`
|
|
22
|
+
* cryptosuite securing these credentials canonicalizes JSON and never expands the context itself.
|
|
23
|
+
*/
|
|
24
|
+
exports.CREDENTIALS_V2_CONTEXT = [
|
|
25
|
+
core_1.CREDENTIALS_CONTEXT_V2_URL,
|
|
26
|
+
exports.CREDENTIALS_UNDEFINED_TERMS_V2_URL,
|
|
27
|
+
];
|
|
28
|
+
const TEN_YEARS_MS = 10 * 365 * 24 * 60 * 60 * 1000;
|
|
29
|
+
/**
|
|
30
|
+
* Builds an unsigned VC Data Model 2.0 credential. Unless told otherwise it uses
|
|
31
|
+
* {@link CREDENTIALS_V2_CONTEXT} and is valid from now for ten years.
|
|
32
|
+
*/
|
|
33
|
+
function createW3cV2Credential(options) {
|
|
34
|
+
var _a, _b, _c;
|
|
35
|
+
const now = Date.now();
|
|
36
|
+
return new core_1.W3cV2Credential(Object.assign(Object.assign({}, options), { context: (_a = options.context) !== null && _a !== void 0 ? _a : exports.CREDENTIALS_V2_CONTEXT, validFrom: (_b = options.validFrom) !== null && _b !== void 0 ? _b : new Date(now).toISOString(), validUntil: (_c = options.validUntil) !== null && _c !== void 0 ? _c : new Date(now + TEN_YEARS_MS).toISOString() }));
|
|
37
|
+
}
|
|
38
|
+
/** The plain JSON an RFC 0809 credential offer carries the unsigned credential as. */
|
|
39
|
+
function toOfferedCredentialJson(credential) {
|
|
40
|
+
return core_1.JsonTransformer.toJSON(credential);
|
|
41
|
+
}
|
|
42
|
+
/** Whether a credential JSON uses the VC Data Model 2.0 base context, as RFC 0809 decides the data model version. */
|
|
43
|
+
function isVcdm2Credential(credential) {
|
|
44
|
+
const context = credential['@context'];
|
|
45
|
+
const base = Array.isArray(context) ? context[0] : context;
|
|
46
|
+
return base === core_1.CREDENTIALS_CONTEXT_V2_URL;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Whether a stored credential is what the agent publishes today: VC Data Model 2.0 secured with
|
|
50
|
+
* Data Integrity proofs. An agent upgraded from a version that published data model 1.1 linked
|
|
51
|
+
* data proofs rebuilds its trust credentials when this is false.
|
|
52
|
+
*/
|
|
53
|
+
function isDataIntegrityVcdm2Credential(credential) {
|
|
54
|
+
if (!credential || typeof credential !== 'object')
|
|
55
|
+
return false;
|
|
56
|
+
const { proof } = credential;
|
|
57
|
+
const proofs = Array.isArray(proof) ? proof : proof ? [proof] : [];
|
|
58
|
+
return (isVcdm2Credential(credential) &&
|
|
59
|
+
proofs.length > 0 &&
|
|
60
|
+
proofs.every(entry => (entry === null || entry === void 0 ? void 0 : entry.type) === 'DataIntegrityProof'));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=vcdm2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vcdm2.js","sourceRoot":"","sources":["../../src/utils/vcdm2.ts"],"names":[],"mappings":";;;AAmCA,sDAQC;AAGD,0DAEC;AAGD,8CAIC;AAOD,wEASC;AAvED,yCAMuB;AAEvB;;;;GAIG;AACU,QAAA,kCAAkC,GAAG,sDAAsD,CAAA;AAExG;;;;;;;;GAQG;AACU,QAAA,sBAAsB,GAAa;IAC9C,iCAA0B;IAC1B,0CAAkC;CACnC,CAAA;AAED,MAAM,YAAY,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEnD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,OAA+B;;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,OAAO,IAAI,sBAAe,iCACrB,OAAO,KACV,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,8BAAsB,EAClD,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAC3D,UAAU,EAAE,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,WAAW,EAAE,IAC5E,CAAA;AACJ,CAAC;AAED,sFAAsF;AACtF,SAAgB,uBAAuB,CAAC,UAA2B;IACjE,OAAO,sBAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAC3C,CAAC;AAED,qHAAqH;AACrH,SAAgB,iBAAiB,CAAC,UAAoC;IACpE,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAC1D,OAAO,IAAI,KAAK,iCAA0B,CAAA;AAC5C,CAAC;AAED;;;;GAIG;AACH,SAAgB,8BAA8B,CAAC,UAAmB;IAChE,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,UAAiC,CAAA;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAClE,OAAO,CACL,iBAAiB,CAAC,UAAsC,CAAC;QACzD,MAAM,CAAC,MAAM,GAAG,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAmC,aAAnC,KAAK,uBAAL,KAAK,CAAgC,IAAI,MAAK,oBAAoB,CAAC,CAC3F,CAAA;AACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { JsonObject } from '@credo-ts/core';
|
|
2
|
+
import type { DidCommDataIntegrityOfferCredentialFormat } from '@credo-ts/didcomm';
|
|
2
3
|
import { VtFlowRecord, type VtFlowEcsIssuanceExemptionContext } from '@verana-labs/credo-ts-didcomm-vt-flow';
|
|
3
4
|
import { BaseAgentModules, VsAgent } from '../agent';
|
|
4
5
|
import { Participant } from '../blockchain/types';
|
|
@@ -22,7 +23,7 @@ export interface ValidateOnboardingProcessInput {
|
|
|
22
23
|
export interface OfferOnboardingCredentialInput {
|
|
23
24
|
vtFlowRecordId: string;
|
|
24
25
|
/** The credential validateOnboardingProcess built. Without it the method builds one. */
|
|
25
|
-
credential?:
|
|
26
|
+
credential?: JsonObject;
|
|
26
27
|
/** It defaults to the schema of the applicant participant. */
|
|
27
28
|
credentialSchemaId?: string;
|
|
28
29
|
/** The participant validateOnboardingProcess returned; saves a second chain read. */
|
|
@@ -54,7 +55,7 @@ export declare class VtFlowOrchestrator {
|
|
|
54
55
|
validateOnboardingProcess(input: ValidateOnboardingProcessInput): Promise<{
|
|
55
56
|
record: VtFlowRecord;
|
|
56
57
|
participant: Participant;
|
|
57
|
-
credential?:
|
|
58
|
+
credential?: JsonObject;
|
|
58
59
|
}>;
|
|
59
60
|
/**
|
|
60
61
|
* Offer the credential of an onboarding process to its applicant. Call it only for a HOLDER, and
|
|
@@ -70,21 +71,27 @@ export declare class VtFlowOrchestrator {
|
|
|
70
71
|
acceptCredential(input: AcceptCredentialInput): Promise<VtFlowRecord>;
|
|
71
72
|
buildDirectIssuanceOffer(vtFlowRecordId: string): Promise<{
|
|
72
73
|
credentialFormats: {
|
|
73
|
-
|
|
74
|
+
dataIntegrity: DidCommDataIntegrityOfferCredentialFormat;
|
|
74
75
|
};
|
|
75
76
|
issuerParticipantId: number;
|
|
76
77
|
} | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Builds the unsigned VC Data Model 2.0 credential that goes into the offer. RFC 0809 derives the
|
|
80
|
+
* advertised data model version from its context, and the issuer secures it with a
|
|
81
|
+
* DataIntegrityProof once the applicant requests it.
|
|
82
|
+
*/
|
|
77
83
|
private buildCredential;
|
|
78
84
|
private resolveJsonSchemaCredentialId;
|
|
79
85
|
/** Per the spec the algorithm comes from the schema, never from the digest value. */
|
|
80
86
|
private digestAlgorithmForSchema;
|
|
81
87
|
/** Fired after signing and before delivery, so a failure here must abort the issuance. */
|
|
82
|
-
onCredentialIssued(vtFlowRecordId: string, signedCredential:
|
|
88
|
+
onCredentialIssued(vtFlowRecordId: string, signedCredential: Record<string, unknown>): Promise<string>;
|
|
83
89
|
verifyOfferedCredential(vtFlowRecordId: string): Promise<void>;
|
|
84
90
|
onCredentialRevoked(vtFlowRecordId: string): Promise<void>;
|
|
85
91
|
onCredentialCompleted(vtFlowRecordId: string): Promise<void>;
|
|
86
92
|
private triggerResolver;
|
|
87
|
-
|
|
93
|
+
/** The signed credential as the issuer attached it, which is the exact JSON its digest covers. */
|
|
94
|
+
private getReceivedCredentialJson;
|
|
88
95
|
checkEcsIssuanceExemption(context: VtFlowEcsIssuanceExemptionContext): Promise<boolean>;
|
|
89
96
|
publishCredentialAsLinkedVp(vtFlowRecordId: string): Promise<void>;
|
|
90
97
|
private extractSchemaBaseId;
|