@verana-labs/vs-agent-sdk 2.0.0-dev.74 → 2.0.0-dev.76
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 +5 -0
- package/build/agent/VsAgent.js +9 -0
- package/build/agent/VsAgent.js.map +1 -1
- package/build/blockchain/VeranaChainService.d.ts +12 -8
- package/build/blockchain/VeranaChainService.js +37 -29
- package/build/blockchain/VeranaChainService.js.map +1 -1
- package/build/blockchain/feePreflight.d.ts +32 -0
- package/build/blockchain/feePreflight.js +89 -0
- package/build/blockchain/feePreflight.js.map +1 -0
- package/build/blockchain/index.d.ts +2 -0
- package/build/blockchain/index.js +2 -0
- package/build/blockchain/index.js.map +1 -1
- package/build/blockchain/triggerResolver.d.ts +25 -0
- package/build/blockchain/triggerResolver.js +114 -0
- package/build/blockchain/triggerResolver.js.map +1 -0
- package/build/blockchain/types.d.ts +0 -1
- package/build/bootstrap/EcsBootstrapService.js +10 -22
- package/build/bootstrap/EcsBootstrapService.js.map +1 -1
- package/build/events/ConnectionEvents.js +30 -13
- package/build/events/ConnectionEvents.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/publishedDidRecord.d.ts +15 -0
- package/build/utils/publishedDidRecord.js +83 -0
- package/build/utils/publishedDidRecord.js.map +1 -0
- package/build/utils/selfIssuedEcsCredential.js +6 -11
- package/build/utils/selfIssuedEcsCredential.js.map +1 -1
- package/build/utils/trustCredentialStore.js +11 -16
- package/build/utils/trustCredentialStore.js.map +1 -1
- package/build/vtFlow/VtFlowOrchestrator.d.ts +0 -1
- package/build/vtFlow/VtFlowOrchestrator.js +4 -67
- package/build/vtFlow/VtFlowOrchestrator.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findResolverParticipantId = findResolverParticipantId;
|
|
4
|
+
exports.triggerResolver = triggerResolver;
|
|
5
|
+
exports.triggerResolverForOwnDid = triggerResolverForOwnDid;
|
|
6
|
+
exports.scheduleTriggerResolverForOwnDid = scheduleTriggerResolverForOwnDid;
|
|
7
|
+
exports.flushPendingTriggerResolvers = flushPendingTriggerResolvers;
|
|
8
|
+
const verana_types_1 = require("@verana-labs/verana-types");
|
|
9
|
+
const feePreflight_1 = require("./feePreflight");
|
|
10
|
+
/** DID record writes come in bursts, and the resolver reads the current document, so one trigger covers a burst. */
|
|
11
|
+
const COALESCE_WINDOW_MS = 2000;
|
|
12
|
+
const pendingByDid = new Map();
|
|
13
|
+
function errorMessage(error) {
|
|
14
|
+
return error instanceof Error ? error.message : String(error);
|
|
15
|
+
}
|
|
16
|
+
// AUTHZ-CHECK-3 step 1, as the flow orchestrator applies it
|
|
17
|
+
function isActiveParticipant(participant) {
|
|
18
|
+
const now = Date.now();
|
|
19
|
+
if (!participant.effective_from || Date.parse(participant.effective_from) > now)
|
|
20
|
+
return false;
|
|
21
|
+
if (participant.effective_until && Date.parse(participant.effective_until) <= now)
|
|
22
|
+
return false;
|
|
23
|
+
return !participant.revoked && !participant.slashed;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* MOD-PP-MSG-15 re-evaluates the DID of the entry, so any active entry of the agent serves.
|
|
27
|
+
* Path 1 of the message needs a `ParticipantAuthorizationRecord`, so an entry with one comes first.
|
|
28
|
+
*/
|
|
29
|
+
async function findResolverParticipantId(agent) {
|
|
30
|
+
var _a;
|
|
31
|
+
const did = agent.did;
|
|
32
|
+
if (!did)
|
|
33
|
+
return undefined;
|
|
34
|
+
const participants = await agent.indexer.listParticipants({ did });
|
|
35
|
+
const active = participants.filter(p => p.did === did && isActiveParticipant(p));
|
|
36
|
+
const authorized = active.find(p => { var _a; return (_a = agent.authorizationService) === null || _a === void 0 ? void 0 : _a.canSign(p.id, verana_types_1.veranaTypeUrls.MsgTriggerResolver); });
|
|
37
|
+
return (_a = (authorized !== null && authorized !== void 0 ? authorized : active[0])) === null || _a === void 0 ? void 0 : _a.id;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* [VSA-VT-LVP-5], [VSA-VPR-TX-4]: sends `TriggerResolver` for one entry, and reports the outcome in
|
|
41
|
+
* the log. A failure is an error line that names the entry, the cause, and the reason: the trust
|
|
42
|
+
* state of the agent stays stale until an operator acts on it. This function never throws.
|
|
43
|
+
*/
|
|
44
|
+
async function triggerResolver(agent, participantId, cause) {
|
|
45
|
+
const chain = agent.veranaChain;
|
|
46
|
+
const logger = agent.config.logger;
|
|
47
|
+
if (!chain)
|
|
48
|
+
return;
|
|
49
|
+
const target = `TriggerResolver for participant ${participantId} (${cause})`;
|
|
50
|
+
const granter = (0, feePreflight_1.feeGranterFor)(agent, participantId);
|
|
51
|
+
try {
|
|
52
|
+
// the fee pre-flight of the broadcast names the payer it could not charge
|
|
53
|
+
const { txHash } = await chain.triggerResolver(participantId, { granter });
|
|
54
|
+
logger.info(`[TriggerResolver] ${target} sent: tx ${txHash}${granter ? `, fee granter ${granter}` : ''}`);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
if (error instanceof feePreflight_1.FeePreflightError) {
|
|
58
|
+
logger.error(`[TriggerResolver] ${target} not sent: ${error.reason}: ${error.message}`);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
logger.error(`[TriggerResolver] ${target} failed: ${errorMessage(error)}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/** `triggerResolver` for the entry that covers the DID of the agent, when it holds one. Never throws. */
|
|
65
|
+
async function triggerResolverForOwnDid(agent, cause) {
|
|
66
|
+
if (!agent.veranaChain)
|
|
67
|
+
return;
|
|
68
|
+
let participantId;
|
|
69
|
+
try {
|
|
70
|
+
participantId = await findResolverParticipantId(agent);
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
agent.config.logger.error(`[TriggerResolver] cannot find the Participant entry of ${agent.did} (${cause}): ${errorMessage(error)}`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (participantId === undefined) {
|
|
77
|
+
agent.config.logger.warn(`[TriggerResolver] no active Participant entry of ${agent.did}: nothing sent (${cause})`);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
await triggerResolver(agent, participantId, cause);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Schedules `triggerResolverForOwnDid` after a short window, so that a burst of DID record writes
|
|
84
|
+
* sends one transaction. The call returns at once.
|
|
85
|
+
*/
|
|
86
|
+
function scheduleTriggerResolverForOwnDid(agent, cause) {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
const key = (_a = agent.did) !== null && _a !== void 0 ? _a : '';
|
|
89
|
+
const pending = pendingByDid.get(key);
|
|
90
|
+
if (pending)
|
|
91
|
+
clearTimeout(pending.timer);
|
|
92
|
+
const send = async () => {
|
|
93
|
+
pendingByDid.delete(key);
|
|
94
|
+
await triggerResolverForOwnDid(agent, cause);
|
|
95
|
+
};
|
|
96
|
+
const timer = setTimeout(() => void send(), COALESCE_WINDOW_MS);
|
|
97
|
+
// the window must not hold a shutdown open; `flushPendingTriggerResolvers` sends what it holds
|
|
98
|
+
(_b = timer.unref) === null || _b === void 0 ? void 0 : _b.call(timer);
|
|
99
|
+
pendingByDid.set(key, { timer, send });
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Sends every trigger that a coalescing window still holds, and waits for it. The agent calls this
|
|
103
|
+
* when it shuts down: [IDX-VT-EVAL-3] makes the trigger the only signal of a publication change, so a
|
|
104
|
+
* trigger the window still holds at exit would leave the trust state of the agent stale for good.
|
|
105
|
+
*/
|
|
106
|
+
async function flushPendingTriggerResolvers() {
|
|
107
|
+
const pending = [...pendingByDid.values()];
|
|
108
|
+
pendingByDid.clear();
|
|
109
|
+
for (const { timer, send } of pending) {
|
|
110
|
+
clearTimeout(timer);
|
|
111
|
+
await send();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=triggerResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triggerResolver.js","sourceRoot":"","sources":["../../src/blockchain/triggerResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -252,7 +252,6 @@ export interface VeranaChainConfig {
|
|
|
252
252
|
gasPrice?: string;
|
|
253
253
|
gasAdjustment?: number;
|
|
254
254
|
corporationAddress?: string;
|
|
255
|
-
autoTriggerResolver?: boolean;
|
|
256
255
|
}
|
|
257
256
|
/** Wrapper for optional uint64 values per `verana.pp.v1.OptionalUInt64`. */
|
|
258
257
|
export interface OptionalUInt64 {
|
|
@@ -5,6 +5,8 @@ const didcomm_1 = require("@credo-ts/didcomm");
|
|
|
5
5
|
const credo_ts_didcomm_vt_flow_1 = require("@verana-labs/credo-ts-didcomm-vt-flow");
|
|
6
6
|
const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
|
|
7
7
|
const blockchain_1 = require("../blockchain");
|
|
8
|
+
const feePreflight_1 = require("../blockchain/feePreflight");
|
|
9
|
+
const triggerResolver_1 = require("../blockchain/triggerResolver");
|
|
8
10
|
const types_1 = require("../types");
|
|
9
11
|
const didReadiness_1 = require("../utils/didReadiness");
|
|
10
12
|
const VtFlowOrchestrator_1 = require("../vtFlow/VtFlowOrchestrator");
|
|
@@ -148,13 +150,8 @@ class EcsBootstrapService {
|
|
|
148
150
|
const chain = this.agent.veranaChain;
|
|
149
151
|
if (!chain)
|
|
150
152
|
return;
|
|
151
|
-
await chain.setParticipantOPToValidated({
|
|
152
|
-
|
|
153
|
-
validationFees: 0,
|
|
154
|
-
issuanceFees: 0,
|
|
155
|
-
verificationFees: 0,
|
|
156
|
-
});
|
|
157
|
-
await this.triggerResolverBestEffort(chain, participant.id);
|
|
153
|
+
await chain.setParticipantOPToValidated({ id: participant.id, validationFees: 0, issuanceFees: 0, verificationFees: 0 }, { granter: (0, feePreflight_1.feeGranterFor)(this.agent, participant.id) });
|
|
154
|
+
await this.triggerResolverBestEffort(participant.id);
|
|
158
155
|
this.logger.info(`[EcsBootstrap] validated the interrupted self-issued participant ${participant.id}`);
|
|
159
156
|
return;
|
|
160
157
|
}
|
|
@@ -265,13 +262,8 @@ class EcsBootstrapService {
|
|
|
265
262
|
validatorParticipantId: root.id,
|
|
266
263
|
did: this.agent.did,
|
|
267
264
|
});
|
|
268
|
-
await chain.setParticipantOPToValidated({
|
|
269
|
-
|
|
270
|
-
validationFees: 0,
|
|
271
|
-
issuanceFees: 0,
|
|
272
|
-
verificationFees: 0,
|
|
273
|
-
});
|
|
274
|
-
await this.triggerResolverBestEffort(chain, participantId);
|
|
265
|
+
await chain.setParticipantOPToValidated({ id: participantId, validationFees: 0, issuanceFees: 0, verificationFees: 0 }, { granter: (0, feePreflight_1.feeGranterFor)(this.agent, participantId) });
|
|
266
|
+
await this.triggerResolverBestEffort(participantId);
|
|
275
267
|
this.logger.info(`[EcsBootstrap] self-issued ISSUER participant ${participantId} for the ECS ${credentialType} schema (ecosystem root ${root.id})`);
|
|
276
268
|
}
|
|
277
269
|
async ensureServiceIssuer(chain, indexer, schema) {
|
|
@@ -306,7 +298,7 @@ class EcsBootstrapService {
|
|
|
306
298
|
did: this.agent.did,
|
|
307
299
|
effectiveUntil: root.effective_until ? new Date(root.effective_until) : undefined,
|
|
308
300
|
});
|
|
309
|
-
await this.triggerResolverBestEffort(
|
|
301
|
+
await this.triggerResolverBestEffort(participantId);
|
|
310
302
|
this.logger.info(`[EcsBootstrap] self-created Service ISSUER participant ${participantId}`);
|
|
311
303
|
return;
|
|
312
304
|
}
|
|
@@ -332,13 +324,9 @@ class EcsBootstrapService {
|
|
|
332
324
|
});
|
|
333
325
|
return candidates.find(p => !p.revoked && !p.slashed && p.did !== this.agent.did);
|
|
334
326
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
}
|
|
339
|
-
catch (error) {
|
|
340
|
-
this.logger.warn(`[EcsBootstrap] TriggerResolver failed for participant ${participantId}: ${error.message}`);
|
|
341
|
-
}
|
|
327
|
+
// the helper logs the outcome, and never throws
|
|
328
|
+
async triggerResolverBestEffort(participantId) {
|
|
329
|
+
await (0, triggerResolver_1.triggerResolver)(this.agent, participantId, 'the entry became a Verifiable Service');
|
|
342
330
|
}
|
|
343
331
|
isUsableParticipant(p) {
|
|
344
332
|
return (!p.revoked &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcsBootstrapService.js","sourceRoot":"","sources":["../../src/bootstrap/EcsBootstrapService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EcsBootstrapService.js","sourceRoot":"","sources":["../../src/bootstrap/EcsBootstrapService.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,11 +32,18 @@ async function discardExtraConnection(agent, record, logger) {
|
|
|
32
32
|
await agent.didcomm.connections.deleteById(record.id);
|
|
33
33
|
return true;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
/**
|
|
36
|
+
* The DIDs under which a peer can address this agent: its public DID and the alternative DIDs
|
|
37
|
+
* of the DID record, such as the parallel did:web of a did:webvh.
|
|
38
|
+
*/
|
|
39
|
+
async function publicDidsOf(agent) {
|
|
40
|
+
if (!agent.did)
|
|
41
|
+
return [];
|
|
37
42
|
const [agentPublicDidRecord] = await agent.dids.getCreatedDids({ did: agent.did });
|
|
38
43
|
const alternativeDids = agentPublicDidRecord === null || agentPublicDidRecord === void 0 ? void 0 : agentPublicDidRecord.getTag('alternativeDids');
|
|
39
|
-
|
|
44
|
+
return [agent.did, ...(Array.isArray(alternativeDids) ? alternativeDids : [])];
|
|
45
|
+
}
|
|
46
|
+
const connectionEvents = async (agent, config) => {
|
|
40
47
|
agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionStateChanged, async ({ payload }) => {
|
|
41
48
|
// an event listener is never awaited, so a rejection here would surface as an
|
|
42
49
|
// unhandled rejection and take the process down
|
|
@@ -133,22 +140,32 @@ const connectionEvents = async (agent, config) => {
|
|
|
133
140
|
config.logger.error(`[connection-events] disclosure handler failed: ${error.message}`);
|
|
134
141
|
}
|
|
135
142
|
});
|
|
136
|
-
// Auto-accept connections that go to the public did
|
|
143
|
+
// Auto-accept connections that go to the public did.
|
|
144
|
+
//
|
|
145
|
+
// This listener is the only path that answers a DID Exchange Request sent to the public DID.
|
|
146
|
+
// Credo creates the implicit invitation of such a request with autoAcceptConnection: false, the
|
|
147
|
+
// connection record inherits that value, and the request handler never falls back to the
|
|
148
|
+
// autoAcceptConnections setting of the connections module.
|
|
137
149
|
agent.events.on(didcomm_1.DidCommConnectionEventTypes.DidCommConnectionStateChanged, async (data) => {
|
|
138
150
|
// an event listener is never awaited, so a rejection here would surface as an
|
|
139
151
|
// unhandled rejection and take the process down
|
|
140
152
|
try {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if (!outOfBandId)
|
|
153
|
+
const record = data.payload.connectionRecord;
|
|
154
|
+
config.logger.debug(`Incoming connection event: ${record.state}`);
|
|
155
|
+
if (record.state !== didcomm_1.DidCommDidExchangeState.RequestReceived || !record.outOfBandId)
|
|
156
|
+
return;
|
|
157
|
+
const oob = await agent.didcomm.oob.findById(record.outOfBandId);
|
|
158
|
+
const invitationId = oob === null || oob === void 0 ? void 0 : oob.outOfBandInvitation.id;
|
|
159
|
+
if (!invitationId || !invitationId.startsWith('did:'))
|
|
160
|
+
return;
|
|
161
|
+
const agentPublicDids = await publicDidsOf(agent);
|
|
162
|
+
if (!agentPublicDids.includes(invitationId)) {
|
|
163
|
+
config.logger.warn(`Connection request ${record.id} addresses ${invitationId}, which is none of the DIDs of this agent (${agentPublicDids.join(', ')}). The request stays unanswered.`);
|
|
144
164
|
return;
|
|
145
|
-
const oob = await agent.didcomm.oob.findById(outOfBandId);
|
|
146
|
-
if (agentPublicDids.includes(oob === null || oob === void 0 ? void 0 : oob.outOfBandInvitation.id) &&
|
|
147
|
-
data.payload.connectionRecord.state === didcomm_1.DidCommDidExchangeState.RequestReceived) {
|
|
148
|
-
config.logger.debug(`Incoming connection request for ${agent.did}`);
|
|
149
|
-
await agent.didcomm.connections.acceptRequest(data.payload.connectionRecord.id);
|
|
150
|
-
config.logger.debug(`Accepted request for ${agent.did}`);
|
|
151
165
|
}
|
|
166
|
+
config.logger.debug(`Incoming connection request for ${invitationId}`);
|
|
167
|
+
await agent.didcomm.connections.acceptRequest(record.id);
|
|
168
|
+
config.logger.debug(`Accepted request ${record.id} for ${invitationId}`);
|
|
152
169
|
}
|
|
153
170
|
catch (error) {
|
|
154
171
|
config.logger.error(`[connection-events] incoming connection handler failed: ${error.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionEvents.js","sourceRoot":"","sources":["../../src/events/ConnectionEvents.ts"],"names":[],"mappings":";;;AAIA,+CAQ0B;AAC1B,gEAKoC;AAEpC,mDAAqE;AAErE,uFAAuF;AACvF,+FAA+F;AAC/F,gFAAgF;AAChF,KAAK,UAAU,sBAAsB,CACnC,KAAmB,EACnB,MAA+B,EAC/B,MAAkB;IAElB,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IAEvE,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAC5E,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAE9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACzF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IAErC,MAAM,QAAQ,GAA4B,QAAQ,CAAC,MAAM,CACvD,CAAC,MAA+B,EAAE,SAAkC,EAAE,EAAE,CACtE,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;QACtC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACxF,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CACb,CAAA;IACD,IAAI,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;QAAE,OAAO,KAAK,CAAA;IAE3C,MAAM,CAAC,IAAI,CACT,kCAAkC,MAAM,CAAC,EAAE,iDAAiD,MAAM,CAAC,WAAW,cAAc,CAC7H,CAAA;IACD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,EAAE,YAAa,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;IAC/F,CAAC;IACD,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACrD,OAAO,IAAI,CAAA;AACb,CAAC;
|
|
1
|
+
{"version":3,"file":"ConnectionEvents.js","sourceRoot":"","sources":["../../src/events/ConnectionEvents.ts"],"names":[],"mappings":"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"}
|
package/build/utils/index.d.ts
CHANGED
package/build/utils/index.js
CHANGED
|
@@ -19,6 +19,7 @@ __exportStar(require("./boundedFetch"), exports);
|
|
|
19
19
|
__exportStar(require("./data"), exports);
|
|
20
20
|
__exportStar(require("./ecsClaims"), exports);
|
|
21
21
|
__exportStar(require("./ecsService"), exports);
|
|
22
|
+
__exportStar(require("./publishedDidRecord"), exports);
|
|
22
23
|
__exportStar(require("./setupSelfTr"), exports);
|
|
23
24
|
__exportStar(require("./trustCredentialStore"), exports);
|
|
24
25
|
__exportStar(require("./typeMetadata"), exports);
|
package/build/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,iDAA8B;AAC9B,yCAAsB;AACtB,8CAA2B;AAC3B,+CAA4B;AAC5B,gDAA6B;AAC7B,yDAAsC;AACtC,iDAA8B;AAC9B,yCAAsB;AACtB,0CAAuB;AACvB,kDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,iDAA8B;AAC9B,yCAAsB;AACtB,8CAA2B;AAC3B,+CAA4B;AAC5B,uDAAoC;AACpC,gDAA6B;AAC7B,yDAAsC;AACtC,iDAA8B;AAC9B,yCAAsB;AACtB,0CAAuB;AACvB,kDAA+B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DidRecord } from '@credo-ts/core';
|
|
2
|
+
import { VsAgent } from '../agent/VsAgent';
|
|
3
|
+
/**
|
|
4
|
+
* The one write point of the published Verifiable Trust material: the `_vt/vtc` and `_vt/jsc`
|
|
5
|
+
* metadata of the DID record and the DID Document that announces them. [VSA-VT-LVP-5] asks for a
|
|
6
|
+
* `TriggerResolver` after each change of a `LinkedVerifiablePresentation` entry, so the decision
|
|
7
|
+
* lives here rather than in each caller: the stored record is compared with the one written. The DID
|
|
8
|
+
* Document is published only when it changed, so a metadata-only write adds no `did:webvh` version.
|
|
9
|
+
*/
|
|
10
|
+
export declare function updateDidRecord(agent: VsAgent, didRecord: DidRecord): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* What a trust resolver reads of the agent: its `LinkedVerifiablePresentation` entries, and the
|
|
13
|
+
* presentations behind them. Two records with the same fingerprint resolve the same way.
|
|
14
|
+
*/
|
|
15
|
+
export declare function publicationFingerprint(didRecord: DidRecord | null): string;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateDidRecord = updateDidRecord;
|
|
4
|
+
exports.publicationFingerprint = publicationFingerprint;
|
|
5
|
+
const core_1 = require("@credo-ts/core");
|
|
6
|
+
const triggerResolver_1 = require("../blockchain/triggerResolver");
|
|
7
|
+
const adminApiService_1 = require("../did/adminApiService");
|
|
8
|
+
/**
|
|
9
|
+
* The one write point of the published Verifiable Trust material: the `_vt/vtc` and `_vt/jsc`
|
|
10
|
+
* metadata of the DID record and the DID Document that announces them. [VSA-VT-LVP-5] asks for a
|
|
11
|
+
* `TriggerResolver` after each change of a `LinkedVerifiablePresentation` entry, so the decision
|
|
12
|
+
* lives here rather than in each caller: the stored record is compared with the one written. The DID
|
|
13
|
+
* Document is published only when it changed, so a metadata-only write adds no `did:webvh` version.
|
|
14
|
+
*/
|
|
15
|
+
async function updateDidRecord(agent, didRecord) {
|
|
16
|
+
const repo = agent.context.dependencyManager.resolve(core_1.DidRepository);
|
|
17
|
+
(0, adminApiService_1.applyAdminApiServiceEntry)(didRecord.didDocument, agent.adminApiServiceEndpoint);
|
|
18
|
+
const stored = await storedRecord(agent, repo, didRecord.id);
|
|
19
|
+
const publishedBefore = publicationFingerprint(stored);
|
|
20
|
+
const documentBefore = documentFingerprint(stored);
|
|
21
|
+
await repo.update(agent.context, didRecord);
|
|
22
|
+
if (documentFingerprint(didRecord) !== documentBefore) {
|
|
23
|
+
await agent.dids.update({ did: didRecord.did, didDocument: didRecord.didDocument });
|
|
24
|
+
}
|
|
25
|
+
if (publicationFingerprint(didRecord) !== publishedBefore) {
|
|
26
|
+
(0, triggerResolver_1.scheduleTriggerResolverForOwnDid)(agent, 'the published Verifiable Trust material changed');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async function storedRecord(agent, repo, id) {
|
|
30
|
+
try {
|
|
31
|
+
return await repo.findById(agent.context, id);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
agent.config.logger.debug(`[trust-credential] cannot read the stored DID record: ${error.message}`);
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function stableStringify(value) {
|
|
39
|
+
var _a;
|
|
40
|
+
if (Array.isArray(value))
|
|
41
|
+
return `[${value.map(stableStringify).join(',')}]`;
|
|
42
|
+
if (value && typeof value === 'object') {
|
|
43
|
+
const entries = Object.entries(value)
|
|
44
|
+
.filter(([, v]) => v !== undefined)
|
|
45
|
+
.sort(([a], [b]) => a.localeCompare(b));
|
|
46
|
+
return `{${entries.map(([k, v]) => `${JSON.stringify(k)}:${stableStringify(v)}`).join(',')}}`;
|
|
47
|
+
}
|
|
48
|
+
return (_a = JSON.stringify(value)) !== null && _a !== void 0 ? _a : 'null';
|
|
49
|
+
}
|
|
50
|
+
// a document saved as a class instance reads back from storage as JSON, so both go through JSON
|
|
51
|
+
function asJson(value) {
|
|
52
|
+
return value === undefined ? undefined : JSON.parse(JSON.stringify(value));
|
|
53
|
+
}
|
|
54
|
+
/** What the agent serves as its DID Document. Two records with the same fingerprint serve the same. */
|
|
55
|
+
function documentFingerprint(didRecord) {
|
|
56
|
+
if (!(didRecord === null || didRecord === void 0 ? void 0 : didRecord.didDocument))
|
|
57
|
+
return '';
|
|
58
|
+
return stableStringify(asJson(didRecord.didDocument));
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* What a trust resolver reads of the agent: its `LinkedVerifiablePresentation` entries, and the
|
|
62
|
+
* presentations behind them. Two records with the same fingerprint resolve the same way.
|
|
63
|
+
*/
|
|
64
|
+
function publicationFingerprint(didRecord) {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
if (!didRecord)
|
|
67
|
+
return '';
|
|
68
|
+
const services = ((_b = (_a = didRecord.didDocument) === null || _a === void 0 ? void 0 : _a.service) !== null && _b !== void 0 ? _b : [])
|
|
69
|
+
.filter(service => service.type === 'LinkedVerifiablePresentation')
|
|
70
|
+
.map(service => ({ id: service.id, serviceEndpoint: service.serviceEndpoint }))
|
|
71
|
+
.sort((a, b) => a.id.localeCompare(b.id));
|
|
72
|
+
const presentations = ['_vt/vtc', '_vt/jsc'].map(key => {
|
|
73
|
+
var _a;
|
|
74
|
+
return Object.entries((_a = didRecord.metadata.get(key)) !== null && _a !== void 0 ? _a : {})
|
|
75
|
+
.map(([schemaId, entry]) => ({
|
|
76
|
+
schemaId,
|
|
77
|
+
presentation: entry.verifiablePresentation,
|
|
78
|
+
}))
|
|
79
|
+
.sort((a, b) => a.schemaId.localeCompare(b.schemaId));
|
|
80
|
+
});
|
|
81
|
+
return stableStringify(asJson({ services, presentations }));
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=publishedDidRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publishedDidRecord.js","sourceRoot":"","sources":["../../src/utils/publishedDidRecord.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.publishSelfIssuedEcsPresentation = publishSelfIssuedEcsPresentation;
|
|
|
4
4
|
const core_1 = require("@credo-ts/core");
|
|
5
5
|
const vs_agent_model_1 = require("@verana-labs/vs-agent-model");
|
|
6
6
|
const setupSelfTr_1 = require("./setupSelfTr");
|
|
7
|
+
const publishedDidRecord_1 = require("./publishedDidRecord");
|
|
7
8
|
const vcdm2_1 = require("./vcdm2");
|
|
8
9
|
const buildIntegrityData = (data) => {
|
|
9
10
|
return (0, setupSelfTr_1.generateDigestSRI)(JSON.stringify((0, setupSelfTr_1.sortKeysDeep)(data)));
|
|
@@ -111,7 +112,6 @@ async function publishSelfIssuedEcsPresentation(agent, id, ecsSchemas, schemaKey
|
|
|
111
112
|
// Resolvers only discover the credential through the [VT-CRED-W3C-LINKED-VP] fragment, and
|
|
112
113
|
// #whois does not match it. The rename above only covers documents that already carry the
|
|
113
114
|
// service, so publish it here when nothing declared it yet.
|
|
114
|
-
let didDocumentChanged = false;
|
|
115
115
|
if (attached && !((_d = didDocument.service) === null || _d === void 0 ? void 0 : _d.some(s => s.id === didDocumentServiceId))) {
|
|
116
116
|
didDocument.service = [
|
|
117
117
|
...((_e = didDocument.service) !== null && _e !== void 0 ? _e : []),
|
|
@@ -121,23 +121,18 @@ async function publishSelfIssuedEcsPresentation(agent, id, ecsSchemas, schemaKey
|
|
|
121
121
|
type: 'LinkedVerifiablePresentation',
|
|
122
122
|
}),
|
|
123
123
|
];
|
|
124
|
-
didDocumentChanged = true;
|
|
125
124
|
}
|
|
126
125
|
const whoisId = `${agent.did}#whois`;
|
|
127
126
|
if (attached && schemaKey === 'ecs-service') {
|
|
128
127
|
const whois = (_f = didDocument.service) === null || _f === void 0 ? void 0 : _f.find(s => s.id === whoisId);
|
|
129
128
|
if (whois) {
|
|
130
|
-
|
|
131
|
-
whois.serviceEndpoint = id;
|
|
132
|
-
didDocumentChanged = true;
|
|
133
|
-
}
|
|
129
|
+
whois.serviceEndpoint = id;
|
|
134
130
|
}
|
|
135
131
|
else {
|
|
136
132
|
didDocument.service = [
|
|
137
133
|
...((_g = didDocument.service) !== null && _g !== void 0 ? _g : []),
|
|
138
134
|
new core_1.DidDocumentService({ id: whoisId, serviceEndpoint: id, type: 'LinkedVerifiablePresentation' }),
|
|
139
135
|
];
|
|
140
|
-
didDocumentChanged = true;
|
|
141
136
|
}
|
|
142
137
|
}
|
|
143
138
|
const [credential] = verifiablePresentation.verifiableCredential;
|
|
@@ -149,10 +144,10 @@ async function publishSelfIssuedEcsPresentation(agent, id, ecsSchemas, schemaKey
|
|
|
149
144
|
attached,
|
|
150
145
|
};
|
|
151
146
|
didRecord.metadata.set('_vt/vtc', record);
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
147
|
+
// the write point publishes the document when it changed, and triggers the resolver when the
|
|
148
|
+
// published material did ([VSA-VT-LVP-5]): an ECS credential re-issued under the same URL changes
|
|
149
|
+
// the presentation a resolver reads, without changing the entry that announces it
|
|
150
|
+
await (0, publishedDidRecord_1.updateDidRecord)(agent, didRecord);
|
|
156
151
|
return verifiablePresentation;
|
|
157
152
|
}
|
|
158
153
|
//# sourceMappingURL=selfIssuedEcsCredential.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfIssuedEcsCredential.js","sourceRoot":"","sources":["../../src/utils/selfIssuedEcsCredential.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"selfIssuedEcsCredential.js","sourceRoot":"","sources":["../../src/utils/selfIssuedEcsCredential.ts"],"names":[],"mappings":"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"}
|