@sovrahq/waci 3.4.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/handlers/issuance/step-6-issue-credential.handler.js +10 -5
- package/dist/handlers/issuance/step-6-issue-credential.handler.js.map +1 -1
- package/dist/handlers/presentation/step-4-1-presentation-proceed.handler.js +20 -15
- package/dist/handlers/presentation/step-4-1-presentation-proceed.handler.js.map +1 -1
- package/dist/handlers/presentation/step-4-request-presentation.handler.js +20 -15
- package/dist/handlers/presentation/step-4-request-presentation.handler.js.map +1 -1
- package/dist/handlers/presentation/step-5-present-proof.handler.js +59 -24
- package/dist/handlers/presentation/step-5-present-proof.handler.js.map +1 -1
- package/dist/utils/index.js +12 -3
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/handlers/issuance/step-6-issue-credential.handler.ts +12 -1
- package/src/handlers/presentation/step-4-1-presentation-proceed.handler.ts +12 -5
- package/src/handlers/presentation/step-4-request-presentation.handler.ts +12 -5
- package/src/handlers/presentation/step-5-present-proof.handler.ts +38 -5
- package/src/utils/index.ts +9 -2
- package/tsconfig.json +6 -2
|
@@ -43,6 +43,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
43
43
|
};
|
|
44
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
45
|
exports.IssueCredentialHandler = void 0;
|
|
46
|
+
var lodash_1 = require("lodash");
|
|
46
47
|
var register_handler_decorator_1 = require("../decorators/register-handler.decorator");
|
|
47
48
|
var types_1 = require("../../types");
|
|
48
49
|
var utils_1 = require("../../utils");
|
|
@@ -51,19 +52,23 @@ var IssueCredentialHandler = /** @class */ (function () {
|
|
|
51
52
|
function IssueCredentialHandler() {
|
|
52
53
|
}
|
|
53
54
|
IssueCredentialHandler.prototype.handle = function (messageThread, callbacks) {
|
|
55
|
+
var _a;
|
|
54
56
|
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
-
var message, problemReport, fulfillmentAcceptance, holderDID, issuerDID;
|
|
56
|
-
return __generator(this, function (
|
|
57
|
-
switch (
|
|
57
|
+
var message, offerMessage, threadManifests, problemReport, fulfillmentAcceptance, holderDID, issuerDID;
|
|
58
|
+
return __generator(this, function (_b) {
|
|
59
|
+
switch (_b.label) {
|
|
58
60
|
case 0:
|
|
59
61
|
message = messageThread[messageThread.length - 1];
|
|
62
|
+
offerMessage = messageThread.find(function (m) { return m.type === types_1.WACIMessageType.OfferCredential; });
|
|
63
|
+
threadManifests = (_a = offerMessage === null || offerMessage === void 0 ? void 0 : offerMessage.attachments) === null || _a === void 0 ? void 0 : _a.filter(function (a) { var _a, _b; return !(0, lodash_1.isNil)((_b = (_a = a === null || a === void 0 ? void 0 : a.data) === null || _a === void 0 ? void 0 : _a.json) === null || _b === void 0 ? void 0 : _b.credential_manifest); });
|
|
60
64
|
problemReport = new problem_report_1.ProblemReportMessage();
|
|
61
65
|
return [4 /*yield*/, callbacks[types_1.Actor.Holder].handleCredentialFulfillment({
|
|
62
66
|
message: message,
|
|
63
|
-
credentialFulfillment: message.attachments
|
|
67
|
+
credentialFulfillment: message.attachments,
|
|
68
|
+
threadManifests: threadManifests,
|
|
64
69
|
})];
|
|
65
70
|
case 1:
|
|
66
|
-
fulfillmentAcceptance =
|
|
71
|
+
fulfillmentAcceptance = _b.sent();
|
|
67
72
|
holderDID = message.to[0];
|
|
68
73
|
issuerDID = message.from;
|
|
69
74
|
//TODO define when this is neccesary
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-6-issue-credential.handler.js","sourceRoot":"","sources":["../../../src/handlers/issuance/step-6-issue-credential.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uFAA2E;AAC3E,qCAQqB;AACrB,qCAAyC;AACzC,6DAAkE;AAGlE;IAAA;
|
|
1
|
+
{"version":3,"file":"step-6-issue-credential.handler.js","sourceRoot":"","sources":["../../../src/handlers/issuance/step-6-issue-credential.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA+B;AAC/B,uFAA2E;AAC3E,qCAQqB;AACrB,qCAAyC;AACzC,6DAAkE;AAGlE;IAAA;IA0DA,CAAC;IAzDO,uCAAM,GAAZ,UACE,aAA4B,EAC5B,SAAc;;;;;;;wBAER,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAIlD,YAAY,GAAG,aAAa,CAAC,IAAI,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,uBAAe,CAAC,eAAe,EAA1C,CAA0C,CAClD,CAAC;wBACI,eAAe,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW,0CAAE,MAAM,CACvD,UAAC,CAAC,gBAAK,OAAA,CAAC,IAAA,cAAK,EAAC,MAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,0CAAE,IAAI,0CAAE,mBAAmB,CAAC,CAAA,EAAA,CAClD,CAAC;wBAEI,aAAa,GAAG,IAAI,qCAAoB,EAAE,CAAC;wBACnB,qBAAM,SAAS,CAC3C,aAAK,CAAC,MAAM,CACb,CAAC,2BAA2B,CAAC;gCAC5B,OAAO,SAAA;gCACP,qBAAqB,EAAE,OAAO,CAAC,WAAW;gCAC1C,eAAe,iBAAA;6BAChB,CAAC,EAAA;;wBANI,qBAAqB,GAAG,SAM5B;wBACI,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC1B,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;wBAE/B,oCAAoC;wBACpC,IAAI,CAAC,qBAAqB,EAAE;4BAC1B,sBAAO;oCACL,YAAY,6CAAqC;oCACjD,OAAO,EAAE;wCACP,IAAI,EAAE,uBAAe,CAAC,aAAa;wCACnC,EAAE,EAAE,IAAA,kBAAU,GAAE;wCAChB,IAAI,EAAE,OAAO,CAAC,IAAI;wCAClB,IAAI,EAAE,SAAS;wCACf,EAAE,EAAE,CAAC,SAAS,CAAC;wCACf,IAAI,EAAE,aAAa,CAAC,mBAAmB,CACrC,sCAAsC,CACvC;qCACF;iCACF,EAAC;yBACH;wBAED,sBAAO;gCACL,YAAY,6CAAqC;gCACjD,OAAO,EAAE;oCACP,IAAI,EAAE,uBAAe,CAAC,WAAW;oCACjC,EAAE,EAAE,IAAA,kBAAU,GAAE;oCAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,IAAI,EAAE,SAAS;oCACf,EAAE,EAAE,CAAC,SAAS,CAAC;oCACf,IAAI,EAAE;wCACJ,MAAM,yBAAc;qCACrB;iCACF;6BACF,EAAC;;;;KACH;IAzDU,sBAAsB;QADlC,IAAA,4CAAe,EAAC,aAAK,CAAC,MAAM,EAAE,uBAAe,CAAC,eAAe,CAAC;OAClD,sBAAsB,CA0DlC;IAAD,6BAAC;CAAA,AA1DD,IA0DC;AA1DY,wDAAsB"}
|
|
@@ -80,7 +80,7 @@ var PresentationProceed = /** @class */ (function () {
|
|
|
80
80
|
};
|
|
81
81
|
PresentationProceed.createMessage = function (presentationDefinition, challenge, credentialsToPresent, holderDID, message, callbacks) {
|
|
82
82
|
return __awaiter(this, void 0, void 0, function () {
|
|
83
|
-
var definition_id, descriptor_map, messageData, signedData;
|
|
83
|
+
var definition_id, descriptor_map, messageData, allSDJWT, signedData;
|
|
84
84
|
return __generator(this, function (_a) {
|
|
85
85
|
switch (_a.label) {
|
|
86
86
|
case 0:
|
|
@@ -105,21 +105,26 @@ var PresentationProceed = /** @class */ (function () {
|
|
|
105
105
|
},
|
|
106
106
|
verifiableCredential: credentialsToPresent,
|
|
107
107
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
allSDJWT = credentialsToPresent.every(function (vc) { return typeof vc === 'string'; });
|
|
109
|
+
if (!allSDJWT) return [3 /*break*/, 1];
|
|
110
|
+
signedData = messageData;
|
|
111
|
+
return [3 /*break*/, 3];
|
|
112
|
+
case 1: return [4 /*yield*/, callbacks[types_1.Actor.Holder].signPresentation({
|
|
113
|
+
contentToSign: messageData,
|
|
114
|
+
challenge: challenge,
|
|
115
|
+
message: message
|
|
116
|
+
})];
|
|
117
|
+
case 2:
|
|
114
118
|
signedData = _a.sent();
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
119
|
+
_a.label = 3;
|
|
120
|
+
case 3: return [2 /*return*/, {
|
|
121
|
+
id: (0, utils_1.createUUID)(),
|
|
122
|
+
media_type: 'application/ld+json',
|
|
123
|
+
format: 'dif/presentation-exchange/submission@v1.0',
|
|
124
|
+
data: {
|
|
125
|
+
json: signedData,
|
|
126
|
+
},
|
|
127
|
+
}];
|
|
123
128
|
}
|
|
124
129
|
});
|
|
125
130
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-4-1-presentation-proceed.handler.js","sourceRoot":"","sources":["../../../src/handlers/presentation/step-4-1-presentation-proceed.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAQqB;AACrB,qCAAyC;AAEzC;IAAA;
|
|
1
|
+
{"version":3,"file":"step-4-1-presentation-proceed.handler.js","sourceRoot":"","sources":["../../../src/handlers/presentation/step-4-1-presentation-proceed.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,7 +98,7 @@ var RequestPresentationHandler = /** @class */ (function () {
|
|
|
98
98
|
};
|
|
99
99
|
RequestPresentationHandler.prototype.createMessage = function (presentationDefinition, challenge, credentialsToPresent, holderDID, message, callbacks) {
|
|
100
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
101
|
-
var definition_id, descriptor_map, messageData, signedData;
|
|
101
|
+
var definition_id, descriptor_map, messageData, allSDJWT, signedData;
|
|
102
102
|
return __generator(this, function (_a) {
|
|
103
103
|
switch (_a.label) {
|
|
104
104
|
case 0:
|
|
@@ -123,21 +123,26 @@ var RequestPresentationHandler = /** @class */ (function () {
|
|
|
123
123
|
},
|
|
124
124
|
verifiableCredential: credentialsToPresent,
|
|
125
125
|
};
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
allSDJWT = credentialsToPresent.every(function (vc) { return typeof vc === 'string'; });
|
|
127
|
+
if (!allSDJWT) return [3 /*break*/, 1];
|
|
128
|
+
signedData = messageData;
|
|
129
|
+
return [3 /*break*/, 3];
|
|
130
|
+
case 1: return [4 /*yield*/, callbacks[types_1.Actor.Holder].signPresentation({
|
|
131
|
+
contentToSign: messageData,
|
|
132
|
+
challenge: challenge,
|
|
133
|
+
message: message
|
|
134
|
+
})];
|
|
135
|
+
case 2:
|
|
132
136
|
signedData = _a.sent();
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
137
|
+
_a.label = 3;
|
|
138
|
+
case 3: return [2 /*return*/, {
|
|
139
|
+
id: (0, utils_1.createUUID)(),
|
|
140
|
+
media_type: 'application/ld+json',
|
|
141
|
+
format: 'dif/presentation-exchange/submission@v1.0',
|
|
142
|
+
data: {
|
|
143
|
+
json: signedData,
|
|
144
|
+
},
|
|
145
|
+
}];
|
|
141
146
|
}
|
|
142
147
|
});
|
|
143
148
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-4-request-presentation.handler.js","sourceRoot":"","sources":["../../../src/handlers/presentation/step-4-request-presentation.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uFAA2E;AAC3E,qCASqB;AACrB,qCAAyC;AACzC,6CAAiE;AAGjE;IAAA;
|
|
1
|
+
{"version":3,"file":"step-4-request-presentation.handler.js","sourceRoot":"","sources":["../../../src/handlers/presentation/step-4-request-presentation.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uFAA2E;AAC3E,qCASqB;AACrB,qCAAyC;AACzC,6CAAiE;AAGjE;IAAA;IA0GA,CAAC;IAzGO,2CAAM,GAAZ,UACE,aAA4B,EAC5B,SAAc;;;;;;;wBAER,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAClD,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC1B,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC3B,sBAAsB,GAC1B,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAG,CAAC,CAAC,0CAAE,IAAI,0CAAE,IAAI,0CAAE,uBAAiD,CAAC;wBACpF,SAAS,GAAG,MAAA,MAAA,MAAA,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAG,CAAC,CAAC,0CAAE,IAAI,0CAAE,IAAI,0CAAE,OAAO,0CAAE,SAAS,CAAC;wBAE3E,IAAI,CAAC,SAAS;4BAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;wBACxD,IAAI,CAAC,CAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,iBAAiB,CAAA,EAAE;4BAC9C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;yBACnE;wBACgB,qBAAM,SAAS,CAC9B,aAAK,CAAC,MAAM,CACb,CAAC,yBAAyB,CAAC;gCAC1B,KAAK,EAAE,sBAAsB,CAAC,KAAK;gCACnC,gBAAgB,EAAE,sBAAsB,CAAC,iBAAiB;gCAC1D,OAAO,SAAA;6BACR,CAAC,EAAA;;wBANI,QAAQ,GAAG,SAMf;wBAEF,IAAI,QAAQ,IAAI,0CAA8B,CAAC,YAAY,EAAE;4BAC3D,sBAAO;yBACR;wBAG8B,qBAAM,IAAI,CAAC,aAAa,CACrD,sBAAsB,EACtB,SAAS,EACT,QAAQ,CAAC,oBAAoB,EAC7B,SAAS,EACT,OAAO,EACP,SAAS,CACV,EAAA;;wBAPK,sBAAsB,GAAG,SAO9B;wBACD,sBAAO;gCACL,YAAY,6CAAqC;gCACjD,OAAO,EAAE;oCACP,IAAI,EAAE,uBAAe,CAAC,YAAY;oCAClC,EAAE,EAAE,IAAA,kBAAU,GAAE;oCAChB,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,IAAI,EAAE,SAAS;oCACf,EAAE,EAAE,CAAC,WAAW,CAAC;oCACjB,IAAI,EAAE,EAAE;oCACR,WAAW,EAAE,CAAC,sBAAsB,CAAC;iCACtC;6BACF,EAAC;;;;KACH;IAEa,kDAAa,GAA3B,UACE,sBAA8C,EAC9C,SAAiB,EACjB,oBAA2B,EAC3B,SAAiB,EACjB,OAAoB,EACpB,SAAc;;;;;;wBAER,aAAa,GAAG,sBAAsB,CAAC,EAAE,CAAC;wBAC1C,cAAc,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,GAAG,CACjE,UAAC,UAAU,EAAE,KAAK,IAAK,OAAA,CAAC;4BACtB,EAAE,EAAE,UAAU,CAAC,EAAE;4BACjB,MAAM,EAAE,QAAQ;4BAChB,IAAI,EAAE,iCAA0B,KAAK,MAAG;yBACzC,CAAC,EAJqB,CAIrB,CACH,CAAC;wBAEI,WAAW,GAAG;4BAClB,UAAU,EAAE;gCACV,iEAAiE;gCACjE,oEAAoE;gCACpE,wFAAwF;6BACzF;4BACD,IAAI,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;4BAC1D,MAAM,EAAE,SAAS;4BACjB,uBAAuB,EAAE;gCACvB,EAAE,EAAE,IAAA,kBAAU,GAAE;gCAChB,aAAa,eAAA;gCACb,cAAc,gBAAA;6BACf;4BACD,oBAAoB,EAAE,oBAAoB;yBAC3C,CAAC;wBAGI,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAA,EAAE,IAAI,OAAA,OAAO,EAAE,KAAK,QAAQ,EAAtB,CAAsB,CAAC,CAAC;6BAEtE,QAAQ,EAAR,wBAAQ;wBACV,UAAU,GAAG,WAAW,CAAC;;4BAEZ,qBAAM,SAAS,CAAC,aAAK,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC;4BAC1D,aAAa,EAAE,WAAW;4BAC1B,SAAS,WAAA;4BACT,OAAO,SAAA;yBACR,CAAC,EAAA;;wBAJF,UAAU,GAAG,SAIX,CAAC;;4BAGL,sBAAO;4BACL,EAAE,EAAE,IAAA,kBAAU,GAAE;4BAChB,UAAU,EAAE,qBAAqB;4BACjC,MAAM,EAAE,2CAA2C;4BACnD,IAAI,EAAE;gCACJ,IAAI,EAAE,UAAU;6BACjB;yBACwB,EAAC;;;;KAC7B;IAzGU,0BAA0B;QADtC,IAAA,4CAAe,EAAC,aAAK,CAAC,MAAM,EAAE,uBAAe,CAAC,mBAAmB,CAAC;OACtD,0BAA0B,CA0GtC;IAAD,iCAAC;CAAA,AA1GD,IA0GC;AA1GY,gEAA0B"}
|
|
@@ -60,17 +60,20 @@ var PresentProofHandler = /** @class */ (function () {
|
|
|
60
60
|
}
|
|
61
61
|
PresentProofHandler.prototype.handle = function (messageThread, callbacks) {
|
|
62
62
|
var _a, e_1, _b, _c;
|
|
63
|
-
var _d, _e, _f;
|
|
63
|
+
var _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
64
64
|
return __awaiter(this, void 0, void 0, function () {
|
|
65
|
-
var messageToProcess, holderDID, verifierDID, problemReport, requestPresentationMessage, response, challengeToCheck, presentation, verifyPresentationResult, requests, submissionsToCheck, result, verificationResultCallback, vcs,
|
|
66
|
-
return __generator(this, function (
|
|
67
|
-
switch (
|
|
65
|
+
var messageToProcess, holderDID, verifierDID, problemReport, requestPresentationMessage, response, challengeToCheck, presentation, verifyPresentationResult, requests, submissionsToCheck, result, verificationResultCallback, vcs, allSubmissionsFound, _o, submissionsToCheck_1, submissionsToCheck_1_1, submissionToCheck, verify, _i, _p, vc, e_1_1;
|
|
66
|
+
return __generator(this, function (_q) {
|
|
67
|
+
switch (_q.label) {
|
|
68
68
|
case 0:
|
|
69
|
+
console.log('[STEP-5] 🔵 PresentProof handler started');
|
|
69
70
|
messageToProcess = messageThread[messageThread.length - 1];
|
|
70
71
|
holderDID = messageToProcess.from;
|
|
71
72
|
verifierDID = messageToProcess.to[0];
|
|
73
|
+
console.log('[STEP-5] holder:', holderDID, 'verifier:', verifierDID);
|
|
72
74
|
problemReport = new problem_report_1.ProblemReportMessage();
|
|
73
75
|
requestPresentationMessage = messageThread.find(function (message) { return message.type === types_1.WACIMessageType.RequestPresentation; });
|
|
76
|
+
console.log('[STEP-5] requestPresentationMessage found:', !!requestPresentationMessage);
|
|
74
77
|
response = {
|
|
75
78
|
responseType: 1 /* WACIMessageResponseType.ReplyThread */,
|
|
76
79
|
message: {
|
|
@@ -83,10 +86,17 @@ var PresentProofHandler = /** @class */ (function () {
|
|
|
83
86
|
},
|
|
84
87
|
};
|
|
85
88
|
challengeToCheck = (0, utils_1.extractExpectedChallenge)(requestPresentationMessage);
|
|
89
|
+
console.log('[STEP-5] challenge:', challengeToCheck);
|
|
86
90
|
presentation = (_f = (_e = (_d = messageToProcess === null || messageToProcess === void 0 ? void 0 : messageToProcess.attachments) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.json;
|
|
91
|
+
console.log('[STEP-5] presentation type:', typeof presentation, 'hasVCs:', !!(presentation === null || presentation === void 0 ? void 0 : presentation.verifiableCredential));
|
|
92
|
+
if (presentation === null || presentation === void 0 ? void 0 : presentation.verifiableCredential) {
|
|
93
|
+
console.log('[STEP-5] VCs count:', presentation.verifiableCredential.length, 'types:', presentation.verifiableCredential.map(function (v) { return typeof v; }));
|
|
94
|
+
}
|
|
95
|
+
console.log('[STEP-5] 🔵 Calling verifyPresentation callback...');
|
|
87
96
|
return [4 /*yield*/, callbacks[types_1.Actor.Verifier].verifyPresentation({ presentation: presentation, challenge: challengeToCheck, message: messageToProcess, holderDid: holderDID })];
|
|
88
97
|
case 1:
|
|
89
|
-
verifyPresentationResult =
|
|
98
|
+
verifyPresentationResult = _q.sent();
|
|
99
|
+
console.log('[STEP-5] ✅ verifyPresentation result:', verifyPresentationResult);
|
|
90
100
|
if (!verifyPresentationResult.result) {
|
|
91
101
|
//TO DO error codes from vc suite
|
|
92
102
|
return [2 /*return*/, {
|
|
@@ -101,7 +111,22 @@ var PresentProofHandler = /** @class */ (function () {
|
|
|
101
111
|
},
|
|
102
112
|
}];
|
|
103
113
|
}
|
|
114
|
+
console.log('[STEP-5] requestPresentation attachments count:', (_g = requestPresentationMessage === null || requestPresentationMessage === void 0 ? void 0 : requestPresentationMessage.attachments) === null || _g === void 0 ? void 0 : _g.length);
|
|
104
115
|
requests = requestPresentationMessage.attachments.filter(function (attachment) { return !(0, lodash_1.isNil)(attachment.data.json.presentation_definition); });
|
|
116
|
+
console.log('[STEP-5] requests with presentation_definition:', requests.length);
|
|
117
|
+
console.log('[STEP-5] messageToProcess attachments count:', (_h = messageToProcess === null || messageToProcess === void 0 ? void 0 : messageToProcess.attachments) === null || _h === void 0 ? void 0 : _h.length);
|
|
118
|
+
if (messageToProcess === null || messageToProcess === void 0 ? void 0 : messageToProcess.attachments) {
|
|
119
|
+
messageToProcess.attachments.forEach(function (att, i) {
|
|
120
|
+
var _a, _b, _c, _d, _e;
|
|
121
|
+
console.log("[STEP-5] attachment[".concat(i, "] has presentation_submission:"), !!((_b = (_a = att === null || att === void 0 ? void 0 : att.data) === null || _a === void 0 ? void 0 : _a.json) === null || _b === void 0 ? void 0 : _b.presentation_submission), 'definition_id:', (_e = (_d = (_c = att === null || att === void 0 ? void 0 : att.data) === null || _c === void 0 ? void 0 : _c.json) === null || _d === void 0 ? void 0 : _d.presentation_submission) === null || _e === void 0 ? void 0 : _e.definition_id);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (requests.length > 0) {
|
|
125
|
+
requests.forEach(function (req, i) {
|
|
126
|
+
var _a, _b, _c;
|
|
127
|
+
console.log("[STEP-5] request[".concat(i, "] presentation_definition.id:"), (_c = (_b = (_a = req === null || req === void 0 ? void 0 : req.data) === null || _a === void 0 ? void 0 : _a.json) === null || _b === void 0 ? void 0 : _b.presentation_definition) === null || _c === void 0 ? void 0 : _c.id);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
105
130
|
submissionsToCheck = requests
|
|
106
131
|
.filter(function (request) { var _a, _b; return !(0, lodash_1.isNil)((_b = (_a = request === null || request === void 0 ? void 0 : request.data) === null || _a === void 0 ? void 0 : _a.json) === null || _b === void 0 ? void 0 : _b.presentation_definition); })
|
|
107
132
|
.map(function (request) { return ({
|
|
@@ -112,30 +137,40 @@ var PresentProofHandler = /** @class */ (function () {
|
|
|
112
137
|
request.data.json.presentation_definition.id;
|
|
113
138
|
}),
|
|
114
139
|
}); });
|
|
140
|
+
console.log('[STEP-5] submissionsToCheck count:', submissionsToCheck.length);
|
|
141
|
+
submissionsToCheck.forEach(function (s, i) {
|
|
142
|
+
var _a;
|
|
143
|
+
console.log("[STEP-5] submission[".concat(i, "] found:"), !!s.submission, 'defId:', (_a = s.presentationDefinition) === null || _a === void 0 ? void 0 : _a.id);
|
|
144
|
+
});
|
|
115
145
|
result = false;
|
|
116
146
|
verificationResultCallback = callbacks[types_1.Actor.Verifier].credentialVerificationResult;
|
|
117
147
|
vcs = [];
|
|
118
|
-
|
|
119
|
-
|
|
148
|
+
allSubmissionsFound = submissionsToCheck.every(function (submissionToCheck) { return !(0, lodash_1.isNil)(submissionToCheck.submission); });
|
|
149
|
+
console.log('[STEP-5] allSubmissionsFound:', allSubmissionsFound);
|
|
150
|
+
if (!allSubmissionsFound) return [3 /*break*/, 17];
|
|
151
|
+
_q.label = 2;
|
|
120
152
|
case 2:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
153
|
+
_q.trys.push([2, 10, 11, 16]);
|
|
154
|
+
_o = true, submissionsToCheck_1 = __asyncValues(submissionsToCheck);
|
|
155
|
+
_q.label = 3;
|
|
124
156
|
case 3: return [4 /*yield*/, submissionsToCheck_1.next()];
|
|
125
157
|
case 4:
|
|
126
|
-
if (!(submissionsToCheck_1_1 =
|
|
158
|
+
if (!(submissionsToCheck_1_1 = _q.sent(), _a = submissionsToCheck_1_1.done, !_a)) return [3 /*break*/, 9];
|
|
127
159
|
_c = submissionsToCheck_1_1.value;
|
|
128
|
-
|
|
129
|
-
|
|
160
|
+
_o = false;
|
|
161
|
+
_q.label = 5;
|
|
130
162
|
case 5:
|
|
131
|
-
|
|
163
|
+
_q.trys.push([5, , 7, 8]);
|
|
132
164
|
submissionToCheck = _c;
|
|
165
|
+
console.log('[STEP-5] 🔵 Calling verifyPresentation utility...');
|
|
166
|
+
console.log('[STEP-5] submission definition_id:', (_m = (_l = (_k = (_j = submissionToCheck.submission) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.json) === null || _l === void 0 ? void 0 : _l.presentation_submission) === null || _m === void 0 ? void 0 : _m.definition_id);
|
|
133
167
|
return [4 /*yield*/, (0, utils_1.verifyPresentation)(submissionToCheck.presentationDefinition, submissionToCheck.submission, callbacks[types_1.Actor.Verifier].verifyCredential)];
|
|
134
168
|
case 6:
|
|
135
|
-
verify =
|
|
169
|
+
verify = _q.sent();
|
|
170
|
+
console.log('[STEP-5] ✅ verifyPresentation utility result:', verify === null || verify === void 0 ? void 0 : verify.result);
|
|
136
171
|
result = verify.result;
|
|
137
|
-
for (_i = 0,
|
|
138
|
-
vc =
|
|
172
|
+
for (_i = 0, _p = verify.vcs; _i < _p.length; _i++) {
|
|
173
|
+
vc = _p[_i];
|
|
139
174
|
vcs.push(vc);
|
|
140
175
|
}
|
|
141
176
|
if (!result) {
|
|
@@ -162,21 +197,21 @@ var PresentProofHandler = /** @class */ (function () {
|
|
|
162
197
|
}
|
|
163
198
|
return [3 /*break*/, 8];
|
|
164
199
|
case 7:
|
|
165
|
-
|
|
200
|
+
_o = true;
|
|
166
201
|
return [7 /*endfinally*/];
|
|
167
202
|
case 8: return [3 /*break*/, 3];
|
|
168
203
|
case 9: return [3 /*break*/, 16];
|
|
169
204
|
case 10:
|
|
170
|
-
e_1_1 =
|
|
205
|
+
e_1_1 = _q.sent();
|
|
171
206
|
e_1 = { error: e_1_1 };
|
|
172
207
|
return [3 /*break*/, 16];
|
|
173
208
|
case 11:
|
|
174
|
-
|
|
175
|
-
if (!(!
|
|
209
|
+
_q.trys.push([11, , 14, 15]);
|
|
210
|
+
if (!(!_o && !_a && (_b = submissionsToCheck_1.return))) return [3 /*break*/, 13];
|
|
176
211
|
return [4 /*yield*/, _b.call(submissionsToCheck_1)];
|
|
177
212
|
case 12:
|
|
178
|
-
|
|
179
|
-
|
|
213
|
+
_q.sent();
|
|
214
|
+
_q.label = 13;
|
|
180
215
|
case 13: return [3 /*break*/, 15];
|
|
181
216
|
case 14:
|
|
182
217
|
if (e_1) throw e_1.error;
|
|
@@ -196,7 +231,7 @@ var PresentProofHandler = /** @class */ (function () {
|
|
|
196
231
|
response.message.body.status = "OK" /* AckStatus.Ok */;
|
|
197
232
|
return [2 /*return*/, response];
|
|
198
233
|
}
|
|
199
|
-
|
|
234
|
+
_q.label = 17;
|
|
200
235
|
case 17: return [2 /*return*/];
|
|
201
236
|
}
|
|
202
237
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-5-present-proof.handler.js","sourceRoot":"","sources":["../../../src/handlers/presentation/step-5-present-proof.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA+B;AAC/B,uFAA2E;AAC3E,qCAQqB;AACrB,qCAIqB;AACrB,6DAAkE;AAGlE;IAAA;
|
|
1
|
+
{"version":3,"file":"step-5-present-proof.handler.js","sourceRoot":"","sources":["../../../src/handlers/presentation/step-5-present-proof.handler.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.js
CHANGED
|
@@ -320,10 +320,10 @@ var extractExpectedChallenge = function (presentationDefinitionMessage) {
|
|
|
320
320
|
exports.extractExpectedChallenge = extractExpectedChallenge;
|
|
321
321
|
var validateVcByInputDescriptor = function (vc, inputDescriptor) {
|
|
322
322
|
var _a, _b;
|
|
323
|
+
if (!vc || !((_a = inputDescriptor === null || inputDescriptor === void 0 ? void 0 : inputDescriptor.constraints) === null || _a === void 0 ? void 0 : _a.fields))
|
|
324
|
+
return false;
|
|
323
325
|
// SD-JWT: validate disclosed claims against required fields
|
|
324
326
|
if (typeof vc === 'string') {
|
|
325
|
-
if (!((_a = inputDescriptor.constraints) === null || _a === void 0 ? void 0 : _a.fields))
|
|
326
|
-
return true;
|
|
327
327
|
var disclosedClaims = (0, exports.extractSDJWTClaims)(vc);
|
|
328
328
|
for (var _i = 0, _c = inputDescriptor.constraints.fields; _i < _c.length; _i++) {
|
|
329
329
|
var field = _c[_i];
|
|
@@ -333,10 +333,19 @@ var validateVcByInputDescriptor = function (vc, inputDescriptor) {
|
|
|
333
333
|
}
|
|
334
334
|
return true;
|
|
335
335
|
}
|
|
336
|
+
// Handle wrapper objects {data, styles, display} - extract the actual VC
|
|
337
|
+
var actualVc = (vc && typeof vc === 'object' && 'data' in vc && vc.data) ? vc.data : vc;
|
|
338
|
+
if (typeof actualVc !== 'object')
|
|
339
|
+
return false;
|
|
336
340
|
for (var _d = 0, _e = inputDescriptor.constraints.fields; _d < _e.length; _d++) {
|
|
337
341
|
var field = _e[_d];
|
|
338
342
|
var fieldValues = (_b = field.path) === null || _b === void 0 ? void 0 : _b.map(function (path) {
|
|
339
|
-
|
|
343
|
+
try {
|
|
344
|
+
return jsonpath.value(actualVc, path);
|
|
345
|
+
}
|
|
346
|
+
catch (_a) {
|
|
347
|
+
return undefined;
|
|
348
|
+
}
|
|
340
349
|
});
|
|
341
350
|
for (var _f = 0, fieldValues_1 = fieldValues; _f < fieldValues_1.length; _f++) {
|
|
342
351
|
var value = fieldValues_1[_f];
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNil } from 'lodash';
|
|
1
2
|
import { RegisterHandler } from '../decorators/register-handler.decorator';
|
|
2
3
|
import {
|
|
3
4
|
AckStatus,
|
|
@@ -19,12 +20,22 @@ export class IssueCredentialHandler implements WACIMessageHandler {
|
|
|
19
20
|
): Promise<WACIMessageHandlerResponse> {
|
|
20
21
|
const message = messageThread[messageThread.length - 1];
|
|
21
22
|
|
|
23
|
+
// Extract credential manifest from the OfferCredential message in the thread
|
|
24
|
+
// This is needed because the holder may not have the manifest stored (e.g., DWN message replay)
|
|
25
|
+
const offerMessage = messageThread.find(
|
|
26
|
+
(m) => m.type === WACIMessageType.OfferCredential,
|
|
27
|
+
);
|
|
28
|
+
const threadManifests = offerMessage?.attachments?.filter(
|
|
29
|
+
(a) => !isNil(a?.data?.json?.credential_manifest),
|
|
30
|
+
);
|
|
31
|
+
|
|
22
32
|
const problemReport = new ProblemReportMessage();
|
|
23
33
|
const fulfillmentAcceptance = await callbacks[
|
|
24
34
|
Actor.Holder
|
|
25
35
|
].handleCredentialFulfillment({
|
|
26
36
|
message,
|
|
27
|
-
credentialFulfillment: message.attachments
|
|
37
|
+
credentialFulfillment: message.attachments,
|
|
38
|
+
threadManifests,
|
|
28
39
|
});
|
|
29
40
|
const holderDID = message.to[0];
|
|
30
41
|
const issuerDID = message.from;
|
|
@@ -82,11 +82,18 @@ export class PresentationProceed {
|
|
|
82
82
|
verifiableCredential: credentialsToPresent,
|
|
83
83
|
};
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
// SD-JWT credentials don't need VP signing — the JWT signature is sufficient
|
|
86
|
+
const allSDJWT = credentialsToPresent.every(vc => typeof vc === 'string');
|
|
87
|
+
let signedData;
|
|
88
|
+
if (allSDJWT) {
|
|
89
|
+
signedData = messageData;
|
|
90
|
+
} else {
|
|
91
|
+
signedData = await callbacks[Actor.Holder].signPresentation({
|
|
92
|
+
contentToSign: messageData,
|
|
93
|
+
challenge,
|
|
94
|
+
message
|
|
95
|
+
});
|
|
96
|
+
}
|
|
90
97
|
|
|
91
98
|
return {
|
|
92
99
|
id: createUUID(),
|
|
@@ -97,11 +97,18 @@ export class RequestPresentationHandler implements WACIMessageHandler {
|
|
|
97
97
|
verifiableCredential: credentialsToPresent,
|
|
98
98
|
};
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
100
|
+
// SD-JWT credentials don't need VP signing — the JWT signature is sufficient
|
|
101
|
+
const allSDJWT = credentialsToPresent.every(vc => typeof vc === 'string');
|
|
102
|
+
let signedData;
|
|
103
|
+
if (allSDJWT) {
|
|
104
|
+
signedData = messageData;
|
|
105
|
+
} else {
|
|
106
|
+
signedData = await callbacks[Actor.Holder].signPresentation({
|
|
107
|
+
contentToSign: messageData,
|
|
108
|
+
challenge,
|
|
109
|
+
message
|
|
110
|
+
});
|
|
111
|
+
}
|
|
105
112
|
|
|
106
113
|
return {
|
|
107
114
|
id: createUUID(),
|
|
@@ -22,15 +22,18 @@ export class PresentProofHandler implements WACIMessageHandler {
|
|
|
22
22
|
messageThread: WACIMessage[],
|
|
23
23
|
callbacks: any,
|
|
24
24
|
): Promise<WACIMessageHandlerResponse> {
|
|
25
|
+
console.log('[STEP-5] 🔵 PresentProof handler started');
|
|
25
26
|
const messageToProcess = messageThread[messageThread.length - 1];
|
|
26
27
|
|
|
27
28
|
const holderDID = messageToProcess.from;
|
|
28
29
|
const verifierDID = messageToProcess.to[0];
|
|
30
|
+
console.log('[STEP-5] holder:', holderDID, 'verifier:', verifierDID);
|
|
29
31
|
|
|
30
32
|
const problemReport = new ProblemReportMessage();
|
|
31
33
|
const requestPresentationMessage = messageThread.find(
|
|
32
34
|
(message) => message.type === WACIMessageType.RequestPresentation,
|
|
33
35
|
);
|
|
36
|
+
console.log('[STEP-5] requestPresentationMessage found:', !!requestPresentationMessage);
|
|
34
37
|
|
|
35
38
|
const response = {
|
|
36
39
|
responseType: WACIMessageResponseType.ReplyThread,
|
|
@@ -47,12 +50,19 @@ export class PresentProofHandler implements WACIMessageHandler {
|
|
|
47
50
|
const challengeToCheck = extractExpectedChallenge(
|
|
48
51
|
requestPresentationMessage,
|
|
49
52
|
);
|
|
53
|
+
console.log('[STEP-5] challenge:', challengeToCheck);
|
|
50
54
|
|
|
51
55
|
const presentation = messageToProcess?.attachments?.[0]?.data?.json;
|
|
56
|
+
console.log('[STEP-5] presentation type:', typeof presentation, 'hasVCs:', !!presentation?.verifiableCredential);
|
|
57
|
+
if (presentation?.verifiableCredential) {
|
|
58
|
+
console.log('[STEP-5] VCs count:', presentation.verifiableCredential.length, 'types:', presentation.verifiableCredential.map((v: any) => typeof v));
|
|
59
|
+
}
|
|
52
60
|
|
|
61
|
+
console.log('[STEP-5] 🔵 Calling verifyPresentation callback...');
|
|
53
62
|
const verifyPresentationResult = await callbacks[
|
|
54
63
|
Actor.Verifier
|
|
55
64
|
].verifyPresentation({ presentation, challenge: challengeToCheck, message: messageToProcess, holderDid: holderDID });
|
|
65
|
+
console.log('[STEP-5] ✅ verifyPresentation result:', verifyPresentationResult);
|
|
56
66
|
|
|
57
67
|
if (!verifyPresentationResult.result) {
|
|
58
68
|
//TO DO error codes from vc suite
|
|
@@ -72,9 +82,23 @@ export class PresentProofHandler implements WACIMessageHandler {
|
|
|
72
82
|
};
|
|
73
83
|
}
|
|
74
84
|
|
|
85
|
+
console.log('[STEP-5] requestPresentation attachments count:', requestPresentationMessage?.attachments?.length);
|
|
75
86
|
const requests = requestPresentationMessage.attachments.filter(
|
|
76
87
|
(attachment) => !isNil(attachment.data.json.presentation_definition),
|
|
77
88
|
);
|
|
89
|
+
console.log('[STEP-5] requests with presentation_definition:', requests.length);
|
|
90
|
+
|
|
91
|
+
console.log('[STEP-5] messageToProcess attachments count:', messageToProcess?.attachments?.length);
|
|
92
|
+
if (messageToProcess?.attachments) {
|
|
93
|
+
messageToProcess.attachments.forEach((att: any, i: number) => {
|
|
94
|
+
console.log(`[STEP-5] attachment[${i}] has presentation_submission:`, !!att?.data?.json?.presentation_submission, 'definition_id:', att?.data?.json?.presentation_submission?.definition_id);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
if (requests.length > 0) {
|
|
98
|
+
requests.forEach((req: any, i: number) => {
|
|
99
|
+
console.log(`[STEP-5] request[${i}] presentation_definition.id:`, req?.data?.json?.presentation_definition?.id);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
78
102
|
|
|
79
103
|
const submissionsToCheck = requests
|
|
80
104
|
.filter((request) => !isNil(request?.data?.json?.presentation_definition))
|
|
@@ -87,23 +111,32 @@ export class PresentProofHandler implements WACIMessageHandler {
|
|
|
87
111
|
),
|
|
88
112
|
}));
|
|
89
113
|
|
|
114
|
+
console.log('[STEP-5] submissionsToCheck count:', submissionsToCheck.length);
|
|
115
|
+
submissionsToCheck.forEach((s: any, i: number) => {
|
|
116
|
+
console.log(`[STEP-5] submission[${i}] found:`, !!s.submission, 'defId:', s.presentationDefinition?.id);
|
|
117
|
+
});
|
|
118
|
+
|
|
90
119
|
let result = false;
|
|
91
120
|
|
|
92
121
|
const verificationResultCallback = callbacks[Actor.Verifier].credentialVerificationResult;
|
|
93
122
|
let vcs = [];
|
|
94
123
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
124
|
+
const allSubmissionsFound = submissionsToCheck.every(
|
|
125
|
+
(submissionToCheck) => !isNil(submissionToCheck.submission),
|
|
126
|
+
);
|
|
127
|
+
console.log('[STEP-5] allSubmissionsFound:', allSubmissionsFound);
|
|
128
|
+
|
|
129
|
+
if (allSubmissionsFound) {
|
|
100
130
|
for await (const submissionToCheck of submissionsToCheck) {
|
|
131
|
+
console.log('[STEP-5] 🔵 Calling verifyPresentation utility...');
|
|
132
|
+
console.log('[STEP-5] submission definition_id:', submissionToCheck.submission?.data?.json?.presentation_submission?.definition_id);
|
|
101
133
|
|
|
102
134
|
let verify = await verifyPresentation(
|
|
103
135
|
submissionToCheck.presentationDefinition,
|
|
104
136
|
submissionToCheck.submission,
|
|
105
137
|
callbacks[Actor.Verifier].verifyCredential
|
|
106
138
|
);
|
|
139
|
+
console.log('[STEP-5] ✅ verifyPresentation utility result:', verify?.result);
|
|
107
140
|
|
|
108
141
|
result = verify.result;
|
|
109
142
|
|
package/src/utils/index.ts
CHANGED
|
@@ -243,9 +243,9 @@ export const extractExpectedChallenge = (
|
|
|
243
243
|
};
|
|
244
244
|
|
|
245
245
|
export const validateVcByInputDescriptor = (vc, inputDescriptor): boolean => {
|
|
246
|
+
if (!vc || !inputDescriptor?.constraints?.fields) return false;
|
|
246
247
|
// SD-JWT: validate disclosed claims against required fields
|
|
247
248
|
if (typeof vc === 'string') {
|
|
248
|
-
if (!inputDescriptor.constraints?.fields) return true;
|
|
249
249
|
const disclosedClaims = extractSDJWTClaims(vc);
|
|
250
250
|
for (const field of inputDescriptor.constraints.fields) {
|
|
251
251
|
const pathKey = extractClaimKeyFromPath(field.path[0]);
|
|
@@ -253,9 +253,16 @@ export const validateVcByInputDescriptor = (vc, inputDescriptor): boolean => {
|
|
|
253
253
|
}
|
|
254
254
|
return true;
|
|
255
255
|
}
|
|
256
|
+
// Handle wrapper objects {data, styles, display} - extract the actual VC
|
|
257
|
+
const actualVc = (vc && typeof vc === 'object' && 'data' in vc && vc.data) ? vc.data : vc;
|
|
258
|
+
if (typeof actualVc !== 'object') return false;
|
|
256
259
|
for (const field of inputDescriptor.constraints.fields) {
|
|
257
260
|
const fieldValues = field.path?.map((path) => {
|
|
258
|
-
|
|
261
|
+
try {
|
|
262
|
+
return jsonpath.value(actualVc, path);
|
|
263
|
+
} catch {
|
|
264
|
+
return undefined;
|
|
265
|
+
}
|
|
259
266
|
});
|
|
260
267
|
|
|
261
268
|
for (const value of fieldValues) {
|
package/tsconfig.json
CHANGED
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
"sourceMap": true,
|
|
16
16
|
"declaration": true,
|
|
17
17
|
"experimentalDecorators": true,
|
|
18
|
-
"emitDecoratorMetadata": true
|
|
19
|
-
|
|
18
|
+
"emitDecoratorMetadata": true,
|
|
19
|
+
"skipLibCheck": true,
|
|
20
|
+
"rootDir": "src"
|
|
21
|
+
},
|
|
22
|
+
"include": ["src"],
|
|
23
|
+
"exclude": ["test"]
|
|
20
24
|
}
|