@verana-labs/vs-agent-sdk 2.0.0-dev.5 → 2.0.0-dev.50
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 +11 -16
- package/build/agent/VsAgent.js +82 -172
- package/build/agent/VsAgent.js.map +1 -1
- package/build/agent/createVsAgent.d.ts +5 -0
- package/build/agent/createVsAgent.js +3 -0
- package/build/agent/createVsAgent.js.map +1 -1
- package/build/blockchain/AnonCredsTrustService.d.ts +53 -0
- package/build/blockchain/AnonCredsTrustService.js +238 -0
- package/build/blockchain/AnonCredsTrustService.js.map +1 -0
- package/build/blockchain/AuthorizationService.d.ts +0 -2
- package/build/blockchain/AuthorizationService.js +0 -18
- package/build/blockchain/AuthorizationService.js.map +1 -1
- package/build/blockchain/IndexerWebSocketService.d.ts +7 -1
- package/build/blockchain/IndexerWebSocketService.js +68 -36
- package/build/blockchain/IndexerWebSocketService.js.map +1 -1
- package/build/blockchain/VeranaChainService.d.ts +4 -1
- package/build/blockchain/VeranaChainService.js +44 -7
- package/build/blockchain/VeranaChainService.js.map +1 -1
- package/build/blockchain/VeranaIndexerService.d.ts +6 -0
- package/build/blockchain/VeranaIndexerService.js +20 -8
- package/build/blockchain/VeranaIndexerService.js.map +1 -1
- package/build/blockchain/handlers/defaultHandlers.js +2 -0
- package/build/blockchain/handlers/defaultHandlers.js.map +1 -1
- package/build/blockchain/handlers/index.d.ts +1 -0
- package/build/blockchain/handlers/index.js +1 -0
- package/build/blockchain/handlers/index.js.map +1 -1
- package/build/blockchain/handlers/selfIssuanceHandlers.d.ts +13 -0
- package/build/blockchain/handlers/selfIssuanceHandlers.js +71 -0
- package/build/blockchain/handlers/selfIssuanceHandlers.js.map +1 -0
- package/build/blockchain/handlers/stateMutations.d.ts +21 -2
- package/build/blockchain/handlers/stateMutations.js +271 -29
- 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/types.d.ts +19 -1
- package/build/blockchain/types.js.map +1 -1
- package/build/bootstrap/EcsBootstrapService.d.ts +16 -3
- package/build/bootstrap/EcsBootstrapService.js +195 -74
- package/build/bootstrap/EcsBootstrapService.js.map +1 -1
- package/build/did/CachedWebDidResolver.d.ts +0 -4
- package/build/did/CachedWebDidResolver.js +1 -5
- package/build/did/CachedWebDidResolver.js.map +1 -1
- package/build/did/artifactServices.d.ts +11 -0
- package/build/did/artifactServices.js +48 -0
- package/build/did/artifactServices.js.map +1 -0
- package/build/did/legacyDidWeb.d.ts +6 -4
- package/build/did/legacyDidWeb.js +17 -14
- package/build/did/legacyDidWeb.js.map +1 -1
- package/build/did/migrations/index.d.ts +22 -0
- package/build/did/migrations/index.js +103 -0
- package/build/did/migrations/index.js.map +1 -0
- package/build/did/migrations/migrateWebVhLog.js.map +1 -0
- package/build/did/migrations/migrateWebVhVersionTime.js.map +1 -0
- package/build/events/BaseMessageEvents.js +109 -0
- package/build/events/BaseMessageEvents.js.map +1 -1
- package/build/events/ConnectionEvents.js +110 -82
- package/build/events/ConnectionEvents.js.map +1 -1
- package/build/events/VsAgentEvents.d.ts +1 -8
- package/build/events/VsAgentEvents.js +0 -1
- package/build/events/VsAgentEvents.js.map +1 -1
- package/build/events/VtFlowEvents.d.ts +1 -1
- package/build/events/VtFlowEvents.js +2 -19
- package/build/events/VtFlowEvents.js.map +1 -1
- package/build/index.d.ts +2 -0
- package/build/index.js +5 -1
- package/build/index.js.map +1 -1
- package/build/plugins/setupBaseDidComm.js +4 -6
- package/build/plugins/setupBaseDidComm.js.map +1 -1
- package/build/transports/VsAgentWsInboundTransport.d.ts +1 -1
- package/build/transports/VsAgentWsInboundTransport.js +20 -14
- package/build/transports/VsAgentWsInboundTransport.js.map +1 -1
- package/build/utils/agent.d.ts +27 -3
- package/build/utils/agent.js +78 -19
- package/build/utils/agent.js.map +1 -1
- package/build/utils/didReadiness.d.ts +9 -0
- package/build/utils/didReadiness.js +42 -0
- package/build/utils/didReadiness.js.map +1 -0
- package/build/utils/ecsClaims.d.ts +47 -0
- package/build/utils/ecsClaims.js +120 -0
- package/build/utils/ecsClaims.js.map +1 -0
- package/build/utils/index.d.ts +2 -0
- package/build/utils/index.js +2 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/selfIssuedEcsCredential.d.ts +4 -0
- package/build/utils/selfIssuedEcsCredential.js +140 -0
- package/build/utils/selfIssuedEcsCredential.js.map +1 -0
- package/build/utils/setupSelfTr.d.ts +3 -56
- package/build/utils/setupSelfTr.js +41 -249
- package/build/utils/setupSelfTr.js.map +1 -1
- package/build/utils/trustCredentialStore.d.ts +32 -6
- package/build/utils/trustCredentialStore.js +182 -82
- package/build/utils/trustCredentialStore.js.map +1 -1
- package/build/utils/util.d.ts +10 -0
- package/build/utils/util.js +16 -0
- package/build/utils/util.js.map +1 -1
- package/build/utils/vtjscResolver.d.ts +18 -0
- package/build/utils/vtjscResolver.js +54 -0
- package/build/utils/vtjscResolver.js.map +1 -0
- package/build/vtFlow/VtFlowOrchestrator.d.ts +47 -9
- package/build/vtFlow/VtFlowOrchestrator.js +96 -55
- package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
- package/build/vtFlow/assertVerifiableService.d.ts +1 -0
- package/build/vtFlow/assertVerifiableService.js +45 -5
- package/build/vtFlow/assertVerifiableService.js.map +1 -1
- package/build/vtFlow/ecsIssuanceExemption.d.ts +12 -0
- package/build/vtFlow/ecsIssuanceExemption.js +84 -0
- package/build/vtFlow/ecsIssuanceExemption.js.map +1 -0
- package/build/vtFlow/index.d.ts +1 -0
- package/build/vtFlow/index.js +1 -0
- package/build/vtFlow/index.js.map +1 -1
- package/package.json +11 -11
- package/build/did/migrateWebVhLog.js.map +0 -1
- package/build/did/migrateWebVhVersionTime.js.map +0 -1
- /package/build/did/{migrateWebVhLog.d.ts → migrations/migrateWebVhLog.d.ts} +0 -0
- /package/build/did/{migrateWebVhLog.js → migrations/migrateWebVhLog.js} +0 -0
- /package/build/did/{migrateWebVhVersionTime.d.ts → migrations/migrateWebVhVersionTime.d.ts} +0 -0
- /package/build/did/{migrateWebVhVersionTime.js → migrations/migrateWebVhVersionTime.js} +0 -0
|
@@ -7,22 +7,30 @@ exports.upsertCredentialSchema = upsertCredentialSchema;
|
|
|
7
7
|
exports.upsertParticipant = upsertParticipant;
|
|
8
8
|
exports.reconcileVtFlowRecordsForParticipant = reconcileVtFlowRecordsForParticipant;
|
|
9
9
|
exports.markVtFlowRecordsValidated = markVtFlowRecordsValidated;
|
|
10
|
+
exports.completeVtFlowRecordsWithoutCredential = completeVtFlowRecordsWithoutCredential;
|
|
10
11
|
exports.setVtFlowRecordsParticipantRevoked = setVtFlowRecordsParticipantRevoked;
|
|
11
12
|
exports.setVtFlowRecordsParticipantSlashed = setVtFlowRecordsParticipantSlashed;
|
|
12
13
|
exports.removeHolderTrustCredentialIfRevoked = removeHolderTrustCredentialIfRevoked;
|
|
14
|
+
exports.removeSelfIssuedEcsCredentialsIfIssuerRevoked = removeSelfIssuedEcsCredentialsIfIssuerRevoked;
|
|
13
15
|
exports.reconcileVtFlowRecordsOnCancel = reconcileVtFlowRecordsOnCancel;
|
|
14
16
|
exports.startParticipantOPAutoFlow = startParticipantOPAutoFlow;
|
|
15
17
|
exports.reconcileVtjscPublications = reconcileVtjscPublications;
|
|
18
|
+
exports.publishAnonCredsSchemaForVtjsc = publishAnonCredsSchemaForVtjsc;
|
|
16
19
|
exports.publishVtjscIfOwner = publishVtjscIfOwner;
|
|
20
|
+
const anoncreds_1 = require("@credo-ts/anoncreds");
|
|
17
21
|
const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
|
|
18
22
|
const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
|
|
23
|
+
const types_1 = require("../../types");
|
|
24
|
+
const agent_1 = require("../../utils/agent");
|
|
19
25
|
const data_1 = require("../../utils/data");
|
|
26
|
+
const didReadiness_1 = require("../../utils/didReadiness");
|
|
20
27
|
const setupSelfTr_1 = require("../../utils/setupSelfTr");
|
|
28
|
+
const ecsClaims_1 = require("../../utils/ecsClaims");
|
|
21
29
|
const trustCredentialStore_1 = require("../../utils/trustCredentialStore");
|
|
30
|
+
const util_1 = require("../../utils/util");
|
|
31
|
+
const vtjscResolver_1 = require("../../utils/vtjscResolver");
|
|
22
32
|
const vtFlow_1 = require("../../vtFlow");
|
|
23
|
-
const
|
|
24
|
-
const DEFAULT_CHAIN_ID = 'vna-testnet-1';
|
|
25
|
-
const PARTICIPANT_ROLE_HOLDER = 6;
|
|
33
|
+
const types_2 = require("../types");
|
|
26
34
|
function applyStateMutation(state, activity) {
|
|
27
35
|
var _a;
|
|
28
36
|
switch (activity.msg) {
|
|
@@ -164,6 +172,26 @@ async function markVtFlowRecordsValidated(agent, participantId) {
|
|
|
164
172
|
return 'VALIDATED';
|
|
165
173
|
}, 'Failed to markValidated');
|
|
166
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Close the onboarding records of a participant that receives no credential.
|
|
177
|
+
*
|
|
178
|
+
* Only a HOLDER takes part in a credential exchange, and the exchange is what moves a record to
|
|
179
|
+
* COMPLETED. An ISSUER, a VERIFIER or a grantor is finished the moment the chain records
|
|
180
|
+
* SetParticipantOPToValidated, so without this both sides would sit at OR_SENT and VALIDATED for
|
|
181
|
+
* ever. The applicant reaches its own record here, because it watches the same chain event.
|
|
182
|
+
*/
|
|
183
|
+
async function completeVtFlowRecordsWithoutCredential(agent, participantId) {
|
|
184
|
+
var _a;
|
|
185
|
+
const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)));
|
|
186
|
+
if (!participant || participant.role === types_1.HOLDER_PARTICIPANT_TYPE)
|
|
187
|
+
return;
|
|
188
|
+
await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
|
|
189
|
+
if (record.state === credo_ts_didcomm_vt_flow_1.VtFlowState.Completed || (0, credo_ts_didcomm_vt_flow_1.isVtFlowTerminalState)(record.state))
|
|
190
|
+
return null;
|
|
191
|
+
await service.markCompleted(agentContext, record.id);
|
|
192
|
+
return 'COMPLETED';
|
|
193
|
+
}, 'Failed to mark COMPLETED');
|
|
194
|
+
}
|
|
167
195
|
async function setVtFlowRecordsParticipantRevoked(agent, participantId) {
|
|
168
196
|
await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
|
|
169
197
|
if (record.state === credo_ts_didcomm_vt_flow_1.VtFlowState.ParticipantRevoked ||
|
|
@@ -198,7 +226,7 @@ async function setVtFlowRecordsParticipantSlashed(agent, participantId) {
|
|
|
198
226
|
async function removeHolderTrustCredentialIfRevoked(agent, participantId) {
|
|
199
227
|
var _a;
|
|
200
228
|
const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)).catch(() => undefined));
|
|
201
|
-
if ((participant === null || participant === void 0 ? void 0 : participant.role) !==
|
|
229
|
+
if ((participant === null || participant === void 0 ? void 0 : participant.role) !== types_1.HOLDER_PARTICIPANT_TYPE || participant.did !== agent.did)
|
|
202
230
|
return;
|
|
203
231
|
if (!agent.publicApiBaseUrl)
|
|
204
232
|
return;
|
|
@@ -209,7 +237,7 @@ async function removeHolderTrustCredentialIfRevoked(agent, participantId) {
|
|
|
209
237
|
if (record.role !== credo_ts_didcomm_vt_flow_1.VtFlowRole.Applicant || !record.credentialExchangeRecordId)
|
|
210
238
|
continue;
|
|
211
239
|
try {
|
|
212
|
-
const credentialId = await (0, trustCredentialStore_1.removeStoredTrustCredential)(agent,
|
|
240
|
+
const credentialId = await (0, trustCredentialStore_1.removeStoredTrustCredential)(agent, record.credentialExchangeRecordId);
|
|
213
241
|
if (credentialId) {
|
|
214
242
|
agent.config.logger.info(`[IndexerWS] Removed linked VP and stored credential ${credentialId} (participant=${participantId})`);
|
|
215
243
|
}
|
|
@@ -219,10 +247,31 @@ async function removeHolderTrustCredentialIfRevoked(agent, participantId) {
|
|
|
219
247
|
}
|
|
220
248
|
}
|
|
221
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* VSA-VTI-FLOW-OP-REVOKE: an ECS credential anchored against a revoked ISSUER still verifies, but a
|
|
252
|
+
* resolver reports the Participant as REVOKED and the whole DID then fails VS-CONN-VS.
|
|
253
|
+
*/
|
|
254
|
+
async function removeSelfIssuedEcsCredentialsIfIssuerRevoked(agent, participantId) {
|
|
255
|
+
var _a;
|
|
256
|
+
if (!agent.publicApiBaseUrl)
|
|
257
|
+
return;
|
|
258
|
+
const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)).catch(() => undefined));
|
|
259
|
+
if ((participant === null || participant === void 0 ? void 0 : participant.role) !== types_1.ISSUER_PARTICIPANT_TYPE || participant.did !== agent.did)
|
|
260
|
+
return;
|
|
261
|
+
try {
|
|
262
|
+
const withdrawn = await (0, trustCredentialStore_1.withdrawSelfIssuedEcsCredentials)(agent, participant.id);
|
|
263
|
+
for (const jscUrl of withdrawn) {
|
|
264
|
+
agent.config.logger.info(`[SelfTR] Withdrew the self-issued ECS credential bound to ${jscUrl} (issuer participant ${participantId})`);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch (e) {
|
|
268
|
+
agent.config.logger.error(`[SelfTR] Failed to withdraw the ECS credentials of the revoked ISSUER participant ${participantId}`, e);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
222
271
|
async function reconcileVtFlowRecordsOnCancel(agent, participantId) {
|
|
223
272
|
var _a;
|
|
224
273
|
const participant = await ((_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getParticipant(Number(participantId)).catch(() => undefined));
|
|
225
|
-
const stillValidated = Number(participant === null || participant === void 0 ? void 0 : participant.opState) ===
|
|
274
|
+
const stillValidated = Number(participant === null || participant === void 0 ? void 0 : participant.opState) === types_2.ValidationState.VALIDATED;
|
|
226
275
|
await reconcileVtFlowRecordsForParticipant(agent, participantId, async (record, service, agentContext) => {
|
|
227
276
|
if ((0, credo_ts_didcomm_vt_flow_1.isVtFlowTerminalState)(record.state))
|
|
228
277
|
return null;
|
|
@@ -236,6 +285,20 @@ async function reconcileVtFlowRecordsOnCancel(agent, participantId) {
|
|
|
236
285
|
return 'TERMINATED_BY_APPLICANT';
|
|
237
286
|
}, 'Failed to reconcile record after cancel');
|
|
238
287
|
}
|
|
288
|
+
// [VSA-VTI-CFG-ENV-ECS]: the applicant proposes its own claims, and the validator may override
|
|
289
|
+
// them. The field is omitted when the operator configured none.
|
|
290
|
+
async function onboardingClaims(agent, schemaId) {
|
|
291
|
+
if (!agent.ecsClaims || !agent.did)
|
|
292
|
+
return undefined;
|
|
293
|
+
const schema = await agent.indexer.getCredentialSchema(schemaId);
|
|
294
|
+
const ecsKey = schema && (await (0, vs_agent_model_1.classifyEcsSchema)(schema.json_schema));
|
|
295
|
+
if (!ecsKey) {
|
|
296
|
+
agent.config.logger.warn(`[ecs-claims] schema ${schemaId} is not an ECS schema, sending no claims`);
|
|
297
|
+
return undefined;
|
|
298
|
+
}
|
|
299
|
+
// a digest the agent cannot compute must stop the flow, per [VSA-VTI-CFG-ENV-ECS]
|
|
300
|
+
return await (0, ecsClaims_1.composeEcsClaims)(agent.ecsClaims, ecsKey, agent.config.logger);
|
|
301
|
+
}
|
|
239
302
|
async function startParticipantOPAutoFlow(agent, activity) {
|
|
240
303
|
const chain = agent.veranaChain;
|
|
241
304
|
if (!chain)
|
|
@@ -247,58 +310,220 @@ async function startParticipantOPAutoFlow(agent, activity) {
|
|
|
247
310
|
if (!holderParticipant || holderParticipant.did !== agent.did)
|
|
248
311
|
return;
|
|
249
312
|
try {
|
|
313
|
+
await (0, didReadiness_1.waitUntilOwnDidIsPubliclyResolvable)(agent, agent.config.logger);
|
|
250
314
|
const orchestrator = new vtFlow_1.VtFlowOrchestrator(agent);
|
|
251
|
-
await
|
|
315
|
+
const claims = await onboardingClaims(agent, holderParticipant.schemaId);
|
|
316
|
+
await orchestrator.startOnboardingProcess(Object.assign({ applicantParticipantId }, (claims ? { claims } : {})));
|
|
252
317
|
}
|
|
253
318
|
catch (err) {
|
|
254
319
|
agent.config.logger.error(`[IndexerWS] StartParticipantOP auto-flow failed: ${err.message}\n${err.stack}`);
|
|
255
320
|
}
|
|
256
321
|
}
|
|
257
|
-
async function reconcileVtjscPublications(agent, indexer, corporationId,
|
|
322
|
+
async function reconcileVtjscPublications(agent, indexer, corporationId, ecsClaims) {
|
|
258
323
|
var _a, _b, _c, _d;
|
|
259
324
|
if (!agent.did || !agent.publicApiBaseUrl)
|
|
260
325
|
return;
|
|
261
|
-
const chainId = (
|
|
326
|
+
const chainId = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId;
|
|
327
|
+
if (!chainId) {
|
|
328
|
+
agent.config.logger.warn('[VTJSC] Skipping reconciliation: the agent is not connected to a chain');
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
262
331
|
const ecosystems = await indexer.listEcosystems();
|
|
263
|
-
|
|
332
|
+
const controlled = ecosystems.filter(entry => Number(entry.corporation_id) === corporationId);
|
|
333
|
+
const reconciled = new Set();
|
|
334
|
+
for (const ecosystem of controlled) {
|
|
264
335
|
for (const schema of await indexer.listCredentialSchemas(ecosystem.id)) {
|
|
265
336
|
const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
|
|
266
337
|
if (!didRecord)
|
|
267
338
|
return;
|
|
268
339
|
const schemaRef = `vpr:verana:${chainId}:cs:${schema.id}`;
|
|
340
|
+
reconciled.add(schemaRef);
|
|
269
341
|
const expectedDigest = (0, setupSelfTr_1.generateDigestSRI)(schema.json_schema);
|
|
270
342
|
const existingJsc = (0, trustCredentialStore_1.findMetadataEntry)(didRecord, '_vt/jsc', '', schemaRef);
|
|
271
|
-
const existingDigest = (
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
343
|
+
const existingDigest = (_c = (_b = existingJsc === null || existingJsc === void 0 ? void 0 : existingJsc.credential) === null || _b === void 0 ? void 0 : _b.credentialSubject) === null || _c === void 0 ? void 0 : _c.digestSRI;
|
|
344
|
+
let jsonSchemaCredentialId = (_d = existingJsc === null || existingJsc === void 0 ? void 0 : existingJsc.credential) === null || _d === void 0 ? void 0 : _d.id;
|
|
345
|
+
try {
|
|
346
|
+
if (!existingJsc || existingDigest !== expectedDigest) {
|
|
347
|
+
const credential = await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
|
|
275
348
|
schemaBaseId: String(schema.id),
|
|
276
349
|
jsonSchemaRef: schemaRef,
|
|
277
350
|
precomputedDigestSRI: expectedDigest,
|
|
278
351
|
});
|
|
352
|
+
jsonSchemaCredentialId = credential.id;
|
|
279
353
|
agent.config.logger.info(`[VTJSC] Reconciled VTJSC for schema ${schema.id} (ecosystem ${ecosystem.id})`);
|
|
280
354
|
}
|
|
281
|
-
|
|
282
|
-
agent.config.logger.
|
|
283
|
-
continue;
|
|
355
|
+
else if (await (0, trustCredentialStore_1.reattachVtjscPublication)(agent, schemaRef)) {
|
|
356
|
+
agent.config.logger.info(`[VTJSC] Re-attached the VTJSC of schema ${schema.id} (ecosystem ${ecosystem.id})`);
|
|
284
357
|
}
|
|
285
358
|
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
359
|
+
catch (e) {
|
|
360
|
+
agent.config.logger.error(`[VTJSC] Failed to reconcile VTJSC for schema ${schema.id}`, e);
|
|
361
|
+
}
|
|
362
|
+
// an agent that published a VTJSC before [VSA-PUB-AC-5] has no AnonCreds schema for it yet
|
|
363
|
+
if (!jsonSchemaCredentialId)
|
|
364
|
+
continue;
|
|
365
|
+
try {
|
|
366
|
+
await publishAnonCredsSchemaForVtjsc(agent, schema.id, schema.json_schema, jsonSchemaCredentialId);
|
|
367
|
+
}
|
|
368
|
+
catch (e) {
|
|
369
|
+
agent.config.logger.error(`[VTJSC] Failed to reconcile the AnonCreds schema of ${jsonSchemaCredentialId}`, e);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
await detachUncontrolledVtjscPublications(agent, indexer, corporationId, chainId, reconciled);
|
|
374
|
+
if (ecsClaims)
|
|
375
|
+
await reconcileSelfIssuedEcsCredentials(agent, indexer, ecsClaims);
|
|
376
|
+
}
|
|
377
|
+
/** The `_vt/jsc` key that `createJsc` writes for an on-chain `CredentialSchema`. */
|
|
378
|
+
const onChainSchemaRefPrefix = (chainId) => `vpr:verana:${chainId}:cs:`;
|
|
379
|
+
/**
|
|
380
|
+
* VSA-VTI-VTJSC: only the controller of an Ecosystem advertises a VTJSC for its schemas. Archival
|
|
381
|
+
* is not a loss of control — the agent keeps it, and [VSA-VTI-NOTIF-ES] gives it no handler.
|
|
382
|
+
*
|
|
383
|
+
* Each entry is resolved against the VPR one by one rather than diffed against `listEcosystems`:
|
|
384
|
+
* that endpoint is unpaginated here, and a truncated page reads like a loss of control.
|
|
385
|
+
*/
|
|
386
|
+
async function detachUncontrolledVtjscPublications(agent, indexer, corporationId, chainId, reconciled) {
|
|
387
|
+
const [didRecord] = await agent.dids.getCreatedDids({ did: agent.did });
|
|
388
|
+
if (!didRecord)
|
|
389
|
+
return;
|
|
390
|
+
const metadata = didRecord.metadata.get('_vt/jsc');
|
|
391
|
+
if (!metadata)
|
|
392
|
+
return;
|
|
393
|
+
const prefix = onChainSchemaRefPrefix(chainId);
|
|
394
|
+
const ecosystemCache = new Map();
|
|
395
|
+
const stale = [];
|
|
396
|
+
for (const schemaRef of Object.keys(metadata)) {
|
|
397
|
+
// the agent's own schema credentials live in this bucket, keyed by public URL.
|
|
398
|
+
if (!schemaRef.startsWith(prefix))
|
|
399
|
+
continue;
|
|
400
|
+
if (reconciled.has(schemaRef))
|
|
401
|
+
continue;
|
|
402
|
+
const schemaId = schemaRef.slice(prefix.length);
|
|
403
|
+
try {
|
|
404
|
+
const schema = await indexer.getCredentialSchema(schemaId);
|
|
405
|
+
const ecosystemId = String(schema.ecosystem_id);
|
|
406
|
+
if (!ecosystemCache.has(ecosystemId)) {
|
|
407
|
+
ecosystemCache.set(ecosystemId, await indexer.getEcosystem(ecosystemId));
|
|
408
|
+
}
|
|
409
|
+
const ecosystem = ecosystemCache.get(ecosystemId);
|
|
410
|
+
if (!ecosystem)
|
|
411
|
+
continue;
|
|
412
|
+
if (Number(ecosystem.corporation_id) === corporationId)
|
|
413
|
+
continue;
|
|
414
|
+
agent.config.logger.info(`[VTJSC] Detaching the VTJSC of schema ${schemaId}: ecosystem ${ecosystemId} belongs to ` +
|
|
415
|
+
`corporation ${ecosystem.corporation_id}`);
|
|
416
|
+
stale.push(schemaRef);
|
|
417
|
+
}
|
|
418
|
+
catch (error) {
|
|
419
|
+
// A lookup the VPR cannot answer is not evidence of anything; leave the entry advertised.
|
|
420
|
+
agent.config.logger.debug(`[VTJSC] Keeping the VTJSC of schema ${schemaId}: ${error.message}`);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
if (stale.length === 0)
|
|
424
|
+
return;
|
|
425
|
+
const detached = await (0, trustCredentialStore_1.detachVtjscPublications)(agent, stale);
|
|
426
|
+
if (detached.length > 0) {
|
|
427
|
+
agent.config.logger.info(`[VTJSC] Detached ${detached.length} VTJSC publication(s)`);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Rebinds and anchors this agent's own ECS credentials.
|
|
432
|
+
*
|
|
433
|
+
* It follows the ISSUER Participant entries the agent holds, not the Ecosystems its Corporation
|
|
434
|
+
* controls: an agent may issue against an Ecosystem that another Corporation owns, and an
|
|
435
|
+
* Ecosystem controller may hold no ISSUER entry at all. An entry is usable only when it names
|
|
436
|
+
* this agent's account as its vs_operator, because the chain accepts the anchoring
|
|
437
|
+
* CreateOrUpdateParticipantSession from no other signer.
|
|
438
|
+
*/
|
|
439
|
+
async function reconcileSelfIssuedEcsCredentials(agent, indexer, ecsClaims) {
|
|
440
|
+
const chain = agent.veranaChain;
|
|
441
|
+
if (!chain || !agent.did || !agent.publicApiBaseUrl)
|
|
442
|
+
return;
|
|
443
|
+
const chainId = chain.getChainId;
|
|
444
|
+
// A Participant revoked while the agent was down delivers no event it can still act on. Runs
|
|
445
|
+
// first, so a schema whose ISSUER entry was replaced ends up bound to the new one.
|
|
446
|
+
for (const participantState of [types_2.ParticipantState.Revoked, types_2.ParticipantState.Slashed]) {
|
|
447
|
+
try {
|
|
448
|
+
const stale = await indexer.listParticipants({
|
|
449
|
+
did: agent.did,
|
|
450
|
+
role: types_2.ParticipantRole.Issuer,
|
|
451
|
+
participantState,
|
|
452
|
+
});
|
|
453
|
+
for (const issuer of stale) {
|
|
454
|
+
const withdrawn = await (0, trustCredentialStore_1.withdrawSelfIssuedEcsCredentials)(agent, issuer.id);
|
|
455
|
+
for (const jscUrl of withdrawn) {
|
|
456
|
+
agent.config.logger.info(`[SelfTR] Withdrew the self-issued ECS credential bound to ${jscUrl} (${participantState} issuer participant ${issuer.id})`);
|
|
295
457
|
}
|
|
296
458
|
}
|
|
297
459
|
}
|
|
460
|
+
catch (e) {
|
|
461
|
+
agent.config.logger.error(`[SelfTR] Failed to withdraw the ECS credentials of ${participantState} ISSUER participants`, e);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
const issuers = await indexer.listParticipants({
|
|
465
|
+
did: agent.did,
|
|
466
|
+
role: types_2.ParticipantRole.Issuer,
|
|
467
|
+
participantState: types_2.ParticipantState.Active,
|
|
468
|
+
});
|
|
469
|
+
for (const issuer of issuers) {
|
|
470
|
+
if (issuer.revoked || issuer.slashed || issuer.vs_operator !== chain.address)
|
|
471
|
+
continue;
|
|
472
|
+
try {
|
|
473
|
+
const schema = await indexer.getCredentialSchema(issuer.schema_id);
|
|
474
|
+
const ecsKey = await (0, vs_agent_model_1.classifyEcsSchema)(schema.json_schema);
|
|
475
|
+
if (ecsKey !== 'ecs-service')
|
|
476
|
+
continue;
|
|
477
|
+
const jsonSchemaCredentialId = await (0, vtjscResolver_1.resolveJsonSchemaCredentialId)(agent, indexer, schema.id, chainId);
|
|
478
|
+
await (0, trustCredentialStore_1.rebindEcsCredentialSchema)(agent, agent.publicApiBaseUrl, String(schema.id), ecsKey, ecsClaims, jsonSchemaCredentialId, issuer.id, schema.json_schema);
|
|
479
|
+
}
|
|
480
|
+
catch (e) {
|
|
481
|
+
agent.config.logger.error(`[SelfTR] Failed to rebind the ECS credential of schema ${issuer.schema_id}`, e);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Publishes the one AnonCreds schema that governs every credential of a VTJSC, per [VSA-PUB-AC-5].
|
|
487
|
+
* Only the issuer of the VTJSC publishes it. The call is idempotent.
|
|
488
|
+
*/
|
|
489
|
+
async function publishAnonCredsSchemaForVtjsc(agent, credentialSchemaId, jsonSchema, jsonSchemaCredentialId) {
|
|
490
|
+
if (!agent.did)
|
|
491
|
+
return undefined;
|
|
492
|
+
const [published] = await agent.modules.anoncreds.getCreatedSchemas({
|
|
493
|
+
relatedJsonSchemaCredentialId: jsonSchemaCredentialId,
|
|
494
|
+
});
|
|
495
|
+
if (published)
|
|
496
|
+
return published.schemaId;
|
|
497
|
+
const { name, attrNames } = (0, util_1.anonCredsSchemaFromJsonSchema)(jsonSchema);
|
|
498
|
+
// used for consistency when a similar schema already exists
|
|
499
|
+
const version = String(credentialSchemaId);
|
|
500
|
+
const { schemaState, registrationMetadata } = await agent.modules.anoncreds.registerSchema({
|
|
501
|
+
schema: { attrNames, name, version, issuerId: agent.did },
|
|
502
|
+
options: { extraMetadata: { relatedJsonSchemaCredentialId: jsonSchemaCredentialId } },
|
|
503
|
+
});
|
|
504
|
+
if (schemaState.state !== 'finished') {
|
|
505
|
+
const detail = schemaState.state === 'failed' ? schemaState.reason : schemaState.state;
|
|
506
|
+
throw new Error(`Failed to register the AnonCreds schema of ${jsonSchemaCredentialId}: ${detail}`);
|
|
298
507
|
}
|
|
508
|
+
const { schemaId } = schemaState;
|
|
509
|
+
const schemaRepository = agent.dependencyManager.resolve(anoncreds_1.AnonCredsSchemaRepository);
|
|
510
|
+
const schemaRecord = await schemaRepository.findBySchemaId(agent.context, schemaId);
|
|
511
|
+
if (schemaRecord) {
|
|
512
|
+
schemaRecord.setTag('relatedJsonSchemaCredentialId', jsonSchemaCredentialId);
|
|
513
|
+
await schemaRepository.update(agent.context, schemaRecord);
|
|
514
|
+
}
|
|
515
|
+
// the did:web layout builds no attested resource: it serves the object from the AnonCreds record
|
|
516
|
+
const { attestedResource } = registrationMetadata;
|
|
517
|
+
if (attestedResource) {
|
|
518
|
+
await (0, agent_1.saveAttestedResource)(agent, attestedResource, {
|
|
519
|
+
resourceType: 'anonCredsSchema',
|
|
520
|
+
relatedJsonSchemaCredentialId: jsonSchemaCredentialId,
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
return schemaId;
|
|
299
524
|
}
|
|
300
525
|
async function publishVtjscIfOwner(state, agent, schemaEntityId, agentCorporationId) {
|
|
301
|
-
var _a
|
|
526
|
+
var _a;
|
|
302
527
|
const schema = state.credentialSchemas[schemaEntityId];
|
|
303
528
|
if (!schema) {
|
|
304
529
|
agent.config.logger.warn(`[VTJSC] Schema ${schemaEntityId} not found in state`);
|
|
@@ -313,19 +538,36 @@ async function publishVtjscIfOwner(state, agent, schemaEntityId, agentCorporatio
|
|
|
313
538
|
agent.config.logger.debug(`[VTJSC] Skipping schema ${schema.id}: ecosystem ${ecosystem.id} belongs to corporation ${ecosystem.corporationId}`);
|
|
314
539
|
return;
|
|
315
540
|
}
|
|
316
|
-
const chainId = (
|
|
541
|
+
const chainId = (_a = agent.veranaChain) === null || _a === void 0 ? void 0 : _a.getChainId;
|
|
542
|
+
if (!chainId) {
|
|
543
|
+
agent.config.logger.warn(`[VTJSC] Skipping schema ${schema.id}: the agent is not connected to a chain`);
|
|
544
|
+
return;
|
|
545
|
+
}
|
|
317
546
|
const jsonSchemaRef = `vpr:verana:${chainId}:cs:${schema.id}`;
|
|
318
547
|
const digestSRI = (0, setupSelfTr_1.generateDigestSRI)(schema.jsonSchema);
|
|
548
|
+
let jsonSchemaCredentialId;
|
|
319
549
|
try {
|
|
320
|
-
await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
|
|
550
|
+
const credential = await (0, trustCredentialStore_1.createJsc)(agent, agent.publicApiBaseUrl, (0, data_1.getEcsSchemas)(agent.publicApiBaseUrl), {
|
|
321
551
|
schemaBaseId: String(schema.id),
|
|
322
552
|
jsonSchemaRef,
|
|
323
553
|
precomputedDigestSRI: digestSRI,
|
|
324
554
|
});
|
|
555
|
+
jsonSchemaCredentialId = credential.id;
|
|
325
556
|
agent.config.logger.info(`[VTJSC] Published VTJSC for schema ${schema.id} (Ecosystem ${schema.ecosystemId}) at block ${state.lastBlockHeight}`);
|
|
326
557
|
}
|
|
327
558
|
catch (e) {
|
|
328
559
|
agent.config.logger.error(`[VTJSC] Failed to publish VTJSC for schema ${schema.id}`, e);
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
562
|
+
// an AnonCreds failure keeps the VTJSC: the startup reconciliation retries the schema
|
|
563
|
+
if (!jsonSchemaCredentialId)
|
|
564
|
+
return;
|
|
565
|
+
try {
|
|
566
|
+
const schemaId = await publishAnonCredsSchemaForVtjsc(agent, schema.id, schema.jsonSchema, jsonSchemaCredentialId);
|
|
567
|
+
agent.config.logger.info(`[VTJSC] Published the AnonCreds schema ${schemaId} of ${jsonSchemaCredentialId}`);
|
|
568
|
+
}
|
|
569
|
+
catch (e) {
|
|
570
|
+
agent.config.logger.error(`[VTJSC] Failed to publish the AnonCreds schema of ${jsonSchemaCredentialId}`, e);
|
|
329
571
|
}
|
|
330
572
|
}
|
|
331
573
|
//# sourceMappingURL=stateMutations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateMutations.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/stateMutations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stateMutations.js","sourceRoot":"","sources":["../../../src/blockchain/handlers/stateMutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./AnonCredsTrustService"), exports);
|
|
17
18
|
__exportStar(require("./AuthorizationService"), exports);
|
|
18
19
|
__exportStar(require("./IndexerWebSocketService"), exports);
|
|
19
20
|
__exportStar(require("./VeranaHelpers"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB;AACvB,6CAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/blockchain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,yDAAsC;AACtC,4DAAyC;AACzC,kDAA+B;AAC/B,uDAAoC;AACpC,yDAAsC;AACtC,0CAAuB;AACvB,6CAA0B"}
|
|
@@ -57,6 +57,10 @@ export interface IndexerSubscribeMessage {
|
|
|
57
57
|
dids?: string[];
|
|
58
58
|
corporationId?: number;
|
|
59
59
|
}
|
|
60
|
+
export interface IndexerSubscribedMessage {
|
|
61
|
+
type: 'subscribed';
|
|
62
|
+
block: number;
|
|
63
|
+
}
|
|
60
64
|
export interface IndexerEventsResponse {
|
|
61
65
|
events: IndexerEventRecord[];
|
|
62
66
|
count: number;
|
|
@@ -202,6 +206,7 @@ export interface RawParticipant {
|
|
|
202
206
|
opSummaryDigest?: string;
|
|
203
207
|
revoked: Date | undefined;
|
|
204
208
|
slashed: Date | undefined;
|
|
209
|
+
vsOperator?: string;
|
|
205
210
|
}
|
|
206
211
|
export interface Ecosystem {
|
|
207
212
|
id: number;
|
|
@@ -220,6 +225,10 @@ export interface CredentialSchema {
|
|
|
220
225
|
holderOnboardingMode: number;
|
|
221
226
|
archived: Date | undefined;
|
|
222
227
|
}
|
|
228
|
+
export interface StoredDigest {
|
|
229
|
+
digest: string;
|
|
230
|
+
created: Date | undefined;
|
|
231
|
+
}
|
|
223
232
|
export interface OperatorAuthorization {
|
|
224
233
|
id: number;
|
|
225
234
|
corporationId: number;
|
|
@@ -251,7 +260,8 @@ export interface ParticipantQueryClient {
|
|
|
251
260
|
}): Promise<{
|
|
252
261
|
participant?: RawParticipant;
|
|
253
262
|
}>;
|
|
254
|
-
|
|
263
|
+
/** The `pp` module exposes no query by DID alone; filter through ListParticipants instead. */
|
|
264
|
+
ListParticipants(req: object): Promise<{
|
|
255
265
|
participants: RawParticipant[];
|
|
256
266
|
}>;
|
|
257
267
|
GetParticipantSession(req: {
|
|
@@ -274,6 +284,13 @@ export interface CredentialSchemaQueryClient {
|
|
|
274
284
|
schema?: CredentialSchema;
|
|
275
285
|
}>;
|
|
276
286
|
}
|
|
287
|
+
export interface DigestQueryClient {
|
|
288
|
+
GetDigest(req: {
|
|
289
|
+
digest: string;
|
|
290
|
+
}): Promise<{
|
|
291
|
+
digest?: StoredDigest;
|
|
292
|
+
}>;
|
|
293
|
+
}
|
|
277
294
|
export interface DelegationQueryClient {
|
|
278
295
|
ListOperatorAuthorizations(req: {
|
|
279
296
|
corporationId: number;
|
|
@@ -296,6 +313,7 @@ export interface VeranaChainConfig {
|
|
|
296
313
|
mnemonic: string;
|
|
297
314
|
logger: BaseLogger;
|
|
298
315
|
gasPrice?: string;
|
|
316
|
+
gasAdjustment?: number;
|
|
299
317
|
corporationAddress?: string;
|
|
300
318
|
autoTriggerResolver?: boolean;
|
|
301
319
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/blockchain/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mEAAe,CAAA;IACf,2DAAW,CAAA;IACX,+DAAa,CAAA;IACb,iEAAc,CAAA;AAChB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAeY,QAAA,oBAAoB,GAAG,QAAQ,CAAA;AAC/B,QAAA,SAAS,GAAG,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/blockchain/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mEAAe,CAAA;IACf,2DAAW,CAAA;IACX,+DAAa,CAAA;IACb,iEAAc,CAAA;AAChB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B;AAeY,QAAA,oBAAoB,GAAG,QAAQ,CAAA;AAC/B,QAAA,SAAS,GAAG,8BAA8B,CAAA;AA+IvD,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,mDAAgC,CAAA;IAChC,uDAAoC,CAAA;IACpC,0CAAuB,CAAA;IACvB,oCAAiB,CAAA;AACnB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,yCAAqB,CAAA;IACrB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;AACnB,CAAC,EARW,gBAAgB,gCAAhB,gBAAgB,QAQ3B"}
|
|
@@ -16,15 +16,28 @@ export declare class EcsBootstrapService {
|
|
|
16
16
|
run(): Promise<void>;
|
|
17
17
|
private runStandalone;
|
|
18
18
|
private preflight;
|
|
19
|
+
private operatorSkipReason;
|
|
19
20
|
private acceptPendingOffers;
|
|
21
|
+
/**
|
|
22
|
+
* StartParticipantOP pays a trust deposit, and it cannot be undone. The onboarding request that
|
|
23
|
+
* must follow it travels over DIDComm from the chain event handler, which catches its own
|
|
24
|
+
* failure. The indexer marks that block processed all the same and never replays it, so an
|
|
25
|
+
* unreachable validator leaves the entry at PENDING for ever. This boot step closes that gap.
|
|
26
|
+
*/
|
|
27
|
+
private resumePendingOnboardings;
|
|
28
|
+
private resumeOnboarding;
|
|
29
|
+
private isSelfValidated;
|
|
20
30
|
private discoverEcsSchemas;
|
|
21
31
|
private discoverFromEcosystem;
|
|
22
|
-
private classifySchema;
|
|
23
32
|
private ensureHolderParticipant;
|
|
33
|
+
private findOwnActiveRoot;
|
|
34
|
+
private ensureSelfIssuedParticipant;
|
|
24
35
|
private ensureServiceIssuer;
|
|
25
36
|
private findActiveValidator;
|
|
37
|
+
private triggerResolverBestEffort;
|
|
26
38
|
private isUsableParticipant;
|
|
27
39
|
private runDelegated;
|
|
28
|
-
private
|
|
29
|
-
private
|
|
40
|
+
private findParentServiceIssuer;
|
|
41
|
+
private assertTrustedEcosystem;
|
|
42
|
+
private onboardingClaims;
|
|
30
43
|
}
|