@bifold/verifier 1.0.0

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.
Files changed (83) hide show
  1. package/README.md +1 -0
  2. package/build/commonjs/README.md +4 -0
  3. package/build/commonjs/constants.js +9 -0
  4. package/build/commonjs/constants.js.map +1 -0
  5. package/build/commonjs/hooks/proofs.js +22 -0
  6. package/build/commonjs/hooks/proofs.js.map +1 -0
  7. package/build/commonjs/index.js +120 -0
  8. package/build/commonjs/index.js.map +1 -0
  9. package/build/commonjs/request-templates.js +59 -0
  10. package/build/commonjs/request-templates.js.map +1 -0
  11. package/build/commonjs/types/agent.js +9 -0
  12. package/build/commonjs/types/agent.js.map +1 -0
  13. package/build/commonjs/types/metadata.js +11 -0
  14. package/build/commonjs/types/metadata.js.map +1 -0
  15. package/build/commonjs/types/proof-reqeust-template.js +12 -0
  16. package/build/commonjs/types/proof-reqeust-template.js.map +1 -0
  17. package/build/commonjs/types/proof.js +26 -0
  18. package/build/commonjs/types/proof.js.map +1 -0
  19. package/build/commonjs/utils/proof-request.js +163 -0
  20. package/build/commonjs/utils/proof-request.js.map +1 -0
  21. package/build/commonjs/utils/proof.js +184 -0
  22. package/build/commonjs/utils/proof.js.map +1 -0
  23. package/build/module/README.md +4 -0
  24. package/build/module/constants.js +3 -0
  25. package/build/module/constants.js.map +1 -0
  26. package/build/module/hooks/proofs.js +15 -0
  27. package/build/module/hooks/proofs.js.map +1 -0
  28. package/build/module/index.js +7 -0
  29. package/build/module/index.js.map +1 -0
  30. package/build/module/request-templates.js +52 -0
  31. package/build/module/request-templates.js.map +1 -0
  32. package/build/module/types/agent.js +5 -0
  33. package/build/module/types/agent.js.map +1 -0
  34. package/build/module/types/metadata.js +5 -0
  35. package/build/module/types/metadata.js.map +1 -0
  36. package/build/module/types/proof-reqeust-template.js +8 -0
  37. package/build/module/types/proof-reqeust-template.js.map +1 -0
  38. package/build/module/types/proof.js +18 -0
  39. package/build/module/types/proof.js.map +1 -0
  40. package/build/module/utils/proof-request.js +151 -0
  41. package/build/module/utils/proof-request.js.map +1 -0
  42. package/build/module/utils/proof.js +171 -0
  43. package/build/module/utils/proof.js.map +1 -0
  44. package/build/typescript/__tests__/verifier/proof-request.test.d.ts +2 -0
  45. package/build/typescript/__tests__/verifier/proof-request.test.d.ts.map +1 -0
  46. package/build/typescript/__tests__/verifier/proof.test.d.ts +2 -0
  47. package/build/typescript/__tests__/verifier/proof.test.d.ts.map +1 -0
  48. package/build/typescript/constants.d.ts +3 -0
  49. package/build/typescript/constants.d.ts.map +1 -0
  50. package/build/typescript/hooks/proofs.d.ts +3 -0
  51. package/build/typescript/hooks/proofs.d.ts.map +1 -0
  52. package/build/typescript/index.d.ts +11 -0
  53. package/build/typescript/index.d.ts.map +1 -0
  54. package/build/typescript/request-templates.d.ts +3 -0
  55. package/build/typescript/request-templates.d.ts.map +1 -0
  56. package/build/typescript/types/agent.d.ts +12 -0
  57. package/build/typescript/types/agent.d.ts.map +1 -0
  58. package/build/typescript/types/metadata.d.ts +9 -0
  59. package/build/typescript/types/metadata.d.ts.map +1 -0
  60. package/build/typescript/types/proof-reqeust-template.d.ts +48 -0
  61. package/build/typescript/types/proof-reqeust-template.d.ts.map +1 -0
  62. package/build/typescript/types/proof.d.ts +51 -0
  63. package/build/typescript/types/proof.d.ts.map +1 -0
  64. package/build/typescript/utils/proof-request.d.ts +30 -0
  65. package/build/typescript/utils/proof-request.d.ts.map +1 -0
  66. package/build/typescript/utils/proof.d.ts +18 -0
  67. package/build/typescript/utils/proof.d.ts.map +1 -0
  68. package/package.json +59 -0
  69. package/src/README.md +4 -0
  70. package/src/__tests__/verifier/__snapshots__/proof-request.test.ts.snap +72 -0
  71. package/src/__tests__/verifier/__snapshots__/proof.test.ts.snap +135 -0
  72. package/src/__tests__/verifier/proof-request.test.ts +34 -0
  73. package/src/__tests__/verifier/proof.test.ts +99 -0
  74. package/src/constants.ts +2 -0
  75. package/src/hooks/proofs.ts +20 -0
  76. package/src/index.ts +45 -0
  77. package/src/request-templates.ts +62 -0
  78. package/src/types/agent.ts +53 -0
  79. package/src/types/metadata.ts +9 -0
  80. package/src/types/proof-reqeust-template.ts +59 -0
  81. package/src/types/proof.ts +68 -0
  82. package/src/utils/proof-request.ts +177 -0
  83. package/src/utils/proof.ts +173 -0
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseAnonCredsProof = exports.markProofAsViewed = exports.linkProofWithTemplate = exports.isPresentationReceived = exports.isPresentationFailed = exports.groupSharedProofDataByCredential = exports.getProofIdentifiers = exports.getProofData = void 0;
7
+ var _core = require("@credo-ts/core");
8
+ var _metadata = require("../types/metadata");
9
+ var _proof = require("../types/proof");
10
+ /*
11
+ * Extract identifiers from indy proof
12
+ * */
13
+ const getProofIdentifiers = (proof, proofIndex) => {
14
+ const identifiers = proof.identifiers[proofIndex];
15
+ if (!identifiers) {
16
+ throw new Error('Invalid indy proof data');
17
+ }
18
+ return identifiers;
19
+ };
20
+
21
+ /*
22
+ * Process anoncreds proof and return
23
+ * - shared attributes
24
+ * - shared attribute groups
25
+ * - resolved predicates
26
+ * - missing attributes
27
+ * - missing attribute groups
28
+ * - unresolved predicates
29
+ * */
30
+ exports.getProofIdentifiers = getProofIdentifiers;
31
+ const parseAnonCredsProof = (request, proof) => {
32
+ const result = new _proof.ParsedAnonCredsProof();
33
+ for (const [referent, requested_attribute] of Object.entries(request.requested_attributes)) {
34
+ if (requested_attribute.name) {
35
+ const shared = proof.requested_proof.revealed_attrs[referent];
36
+ if (shared) {
37
+ const identifiers = getProofIdentifiers(proof, shared.sub_proof_index);
38
+ result.sharedAttributes.push({
39
+ name: requested_attribute.name,
40
+ value: shared.raw,
41
+ identifiers
42
+ });
43
+ } else {
44
+ result.unresolvedAttributes.push({
45
+ name: requested_attribute.name
46
+ });
47
+ }
48
+ }
49
+ if (requested_attribute.names) {
50
+ var _proof$requested_proo;
51
+ const shared = (_proof$requested_proo = proof.requested_proof.revealed_attr_groups) === null || _proof$requested_proo === void 0 ? void 0 : _proof$requested_proo[referent];
52
+ if (shared) {
53
+ const attributes = Object.entries(shared.values).map(([name, value]) => ({
54
+ name,
55
+ value: value.raw
56
+ }));
57
+ const identifiers = getProofIdentifiers(proof, shared.sub_proof_index);
58
+ result.sharedAttributeGroups.push({
59
+ attributes,
60
+ identifiers
61
+ });
62
+ } else {
63
+ result.unresolvedAttributeGroups.push(requested_attribute.names.map(name => ({
64
+ name
65
+ })));
66
+ }
67
+ }
68
+ }
69
+ for (const [referent, requestedPredicate] of Object.entries(request.requested_predicates)) {
70
+ const shared = proof.requested_proof.predicates[referent];
71
+ if (shared) {
72
+ const identifiers = getProofIdentifiers(proof, shared.sub_proof_index);
73
+ result.resolvedPredicates.push({
74
+ name: requestedPredicate.name,
75
+ predicateType: requestedPredicate.p_type,
76
+ predicateValue: requestedPredicate.p_value,
77
+ identifiers
78
+ });
79
+ } else {
80
+ result.unresolvedPredicates.push({
81
+ name: requestedPredicate.name,
82
+ predicateType: requestedPredicate.p_type,
83
+ predicateValue: requestedPredicate.p_value
84
+ });
85
+ }
86
+ }
87
+ return result;
88
+ };
89
+
90
+ /*
91
+ * Group parsed indy proof data ( returned from `parseIndyProof`) by credential definition id
92
+ * */
93
+ exports.parseAnonCredsProof = parseAnonCredsProof;
94
+ const groupSharedProofDataByCredential = data => {
95
+ const result = new Map();
96
+ for (const item of data.sharedAttributes) {
97
+ var _result$get;
98
+ if (!result.has(item.identifiers.cred_def_id)) {
99
+ result.set(item.identifiers.cred_def_id, {
100
+ data: new _proof.CredentialSharedProofData(),
101
+ identifiers: item.identifiers
102
+ });
103
+ }
104
+ (_result$get = result.get(item.identifiers.cred_def_id)) === null || _result$get === void 0 || _result$get.data.sharedAttributes.push(item);
105
+ }
106
+ for (const item of data.sharedAttributeGroups) {
107
+ var _result$get2;
108
+ if (!result.has(item.identifiers.cred_def_id)) {
109
+ result.set(item.identifiers.cred_def_id, {
110
+ data: new _proof.CredentialSharedProofData(),
111
+ identifiers: item.identifiers
112
+ });
113
+ }
114
+ (_result$get2 = result.get(item.identifiers.cred_def_id)) === null || _result$get2 === void 0 || _result$get2.data.sharedAttributeGroups.push(item);
115
+ }
116
+ for (const item of data.resolvedPredicates) {
117
+ var _result$get3;
118
+ if (!result.has(item.identifiers.cred_def_id)) {
119
+ result.set(item.identifiers.cred_def_id, {
120
+ data: new _proof.CredentialSharedProofData(),
121
+ identifiers: item.identifiers
122
+ });
123
+ }
124
+ (_result$get3 = result.get(item.identifiers.cred_def_id)) === null || _result$get3 === void 0 || _result$get3.data.resolvedPredicates.push(item);
125
+ }
126
+ return result;
127
+ };
128
+
129
+ /*
130
+ * Retrieve proof details from Credo record
131
+ * */
132
+ exports.groupSharedProofDataByCredential = groupSharedProofDataByCredential;
133
+ const getProofData = async (agent, recordId) => {
134
+ var _data$request, _data$presentation, _data$request2, _data$presentation2;
135
+ const data = await agent.proofs.getFormatData(recordId);
136
+ if ((_data$request = data.request) !== null && _data$request !== void 0 && _data$request.anoncreds && (_data$presentation = data.presentation) !== null && _data$presentation !== void 0 && _data$presentation.anoncreds) {
137
+ return parseAnonCredsProof(data.request.anoncreds, data.presentation.anoncreds);
138
+ } else if ((_data$request2 = data.request) !== null && _data$request2 !== void 0 && _data$request2.indy && (_data$presentation2 = data.presentation) !== null && _data$presentation2 !== void 0 && _data$presentation2.indy) {
139
+ return parseAnonCredsProof(data.request.indy, data.presentation.indy);
140
+ }
141
+ return undefined;
142
+ };
143
+
144
+ /*
145
+ * Check if a presentation received
146
+ * */
147
+ exports.getProofData = getProofData;
148
+ const isPresentationReceived = record => {
149
+ return record.state === _core.ProofState.PresentationReceived || record.state === _core.ProofState.Done;
150
+ };
151
+
152
+ /*
153
+ * Check if a presentation failed
154
+ * */
155
+ exports.isPresentationReceived = isPresentationReceived;
156
+ const isPresentationFailed = record => {
157
+ return record.state === _core.ProofState.Abandoned;
158
+ };
159
+
160
+ /*
161
+ * Mark Proof record as viewed
162
+ * */
163
+ exports.isPresentationFailed = isPresentationFailed;
164
+ const markProofAsViewed = async (agent, record) => {
165
+ record.metadata.set(_metadata.ProofMetadata.customMetadata, {
166
+ ...record.metadata.data.customMetadata,
167
+ details_seen: true
168
+ });
169
+ return agent.proofs.update(record);
170
+ };
171
+
172
+ /*
173
+ * Add template reference to Proof Exchange record
174
+ * */
175
+ exports.markProofAsViewed = markProofAsViewed;
176
+ const linkProofWithTemplate = async (agent, record, templateId) => {
177
+ record.metadata.set(_metadata.ProofMetadata.customMetadata, {
178
+ ...record.metadata.data.customMetadata,
179
+ proof_request_template_id: templateId
180
+ });
181
+ return agent.proofs.update(record);
182
+ };
183
+ exports.linkProofWithTemplate = linkProofWithTemplate;
184
+ //# sourceMappingURL=proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_metadata","_proof","getProofIdentifiers","proof","proofIndex","identifiers","Error","exports","parseAnonCredsProof","request","result","ParsedAnonCredsProof","referent","requested_attribute","Object","entries","requested_attributes","name","shared","requested_proof","revealed_attrs","sub_proof_index","sharedAttributes","push","value","raw","unresolvedAttributes","names","_proof$requested_proo","revealed_attr_groups","attributes","values","map","sharedAttributeGroups","unresolvedAttributeGroups","requestedPredicate","requested_predicates","predicates","resolvedPredicates","predicateType","p_type","predicateValue","p_value","unresolvedPredicates","groupSharedProofDataByCredential","data","Map","item","_result$get","has","cred_def_id","set","CredentialSharedProofData","get","_result$get2","_result$get3","getProofData","agent","recordId","_data$request","_data$presentation","_data$request2","_data$presentation2","proofs","getFormatData","anoncreds","presentation","indy","undefined","isPresentationReceived","record","state","ProofState","PresentationReceived","Done","isPresentationFailed","Abandoned","markProofAsViewed","metadata","ProofMetadata","customMetadata","details_seen","update","linkProofWithTemplate","templateId","proof_request_template_id"],"sourceRoot":"../../../src","sources":["utils/proof.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ ## Verifier Module
2
+
3
+ This folder contains set of helpers, type definitions, and constants allowing to add verifier capability into Aries Mobile Agent React Native.
4
+ The folder is created to encourage the upcoming split of the project into sub packages.
@@ -0,0 +1,3 @@
1
+ export const protocolVersion = 'v2';
2
+ export const domain = 'didcomm://invite';
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["protocolVersion","domain"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"AAAA,OAAO,MAAMA,eAAe,GAAG,IAAI;AACnC,OAAO,MAAMC,MAAM,GAAG,kBAAkB","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { useProofs } from '@credo-ts/react-hooks';
2
+ import { useMemo } from 'react';
3
+ import { ProofMetadata } from '../types/metadata';
4
+ export const useProofsByTemplateId = templateId => {
5
+ const {
6
+ records: proofs
7
+ } = useProofs();
8
+ return useMemo(() => proofs.filter(proof => {
9
+ const metadata = proof === null || proof === void 0 ? void 0 : proof.metadata.get(ProofMetadata.customMetadata);
10
+ if ((metadata === null || metadata === void 0 ? void 0 : metadata.proof_request_template_id) === templateId) {
11
+ return proof;
12
+ }
13
+ }), [proofs, templateId]);
14
+ };
15
+ //# sourceMappingURL=proofs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useProofs","useMemo","ProofMetadata","useProofsByTemplateId","templateId","records","proofs","filter","proof","metadata","get","customMetadata","proof_request_template_id"],"sourceRoot":"../../../src","sources":["hooks/proofs.ts"],"mappings":"AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SAASC,OAAO,QAAQ,OAAO;AAE/B,SAA8BC,aAAa,QAAQ,mBAAmB;AAEtE,OAAO,MAAMC,qBAAqB,GAAIC,UAAkB,IAA4B;EAClF,MAAM;IAAEC,OAAO,EAAEC;EAAO,CAAC,GAAGN,SAAS,CAAC,CAAC;EAEvC,OAAOC,OAAO,CACZ,MACEK,MAAM,CAACC,MAAM,CAAEC,KAA0B,IAAK;IAC5C,MAAMC,QAAQ,GAAGD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,QAAQ,CAACC,GAAG,CAACR,aAAa,CAACS,cAAc,CAAwB;IACzF,IAAI,CAAAF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEG,yBAAyB,MAAKR,UAAU,EAAE;MACtD,OAAOI,KAAK;IACd;EACF,CAAC,CAAC,EACJ,CAACF,MAAM,EAAEF,UAAU,CACrB,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ export { ProofRequestType } from './types/proof-reqeust-template';
2
+ export { ProofMetadata } from './types/metadata';
3
+ export { useProofsByTemplateId } from './hooks/proofs';
4
+ export { getProofIdentifiers, parseAnonCredsProof, groupSharedProofDataByCredential, getProofData, isPresentationReceived, isPresentationFailed, markProofAsViewed, linkProofWithTemplate } from './utils/proof';
5
+ export { findProofRequestMessage, buildProofRequestDataForTemplate, createConnectionlessProofRequestInvitation, sendProofRequest, hasPredicates, isParameterizable } from './utils/proof-request';
6
+ export { getProofRequestTemplates } from './request-templates';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ProofRequestType","ProofMetadata","useProofsByTemplateId","getProofIdentifiers","parseAnonCredsProof","groupSharedProofDataByCredential","getProofData","isPresentationReceived","isPresentationFailed","markProofAsViewed","linkProofWithTemplate","findProofRequestMessage","buildProofRequestDataForTemplate","createConnectionlessProofRequestInvitation","sendProofRequest","hasPredicates","isParameterizable","getProofRequestTemplates"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,gCAAgC;AAuBjE,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,SACEC,mBAAmB,EACnBC,mBAAmB,EACnBC,gCAAgC,EAChCC,YAAY,EACZC,sBAAsB,EACtBC,oBAAoB,EACpBC,iBAAiB,EACjBC,qBAAqB,QAChB,eAAe;AAEtB,SACEC,uBAAuB,EACvBC,gCAAgC,EAChCC,0CAA0C,EAC1CC,gBAAgB,EAChBC,aAAa,EACbC,iBAAiB,QACZ,uBAAuB;AAC9B,SAASC,wBAAwB,QAAQ,qBAAqB","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ import { ProofRequestType } from './types/proof-reqeust-template';
2
+ export const getProofRequestTemplates = useDevRestrictions => {
3
+ const studentRestrictions = [{
4
+ cred_def_id: 'XUxBrVSALWHLeycAUhrNr9:3:CL:26293:student_card'
5
+ }];
6
+ const studentDevRestrictions = [{
7
+ schema_name: 'student_card'
8
+ }];
9
+ const restrictions = useDevRestrictions ? studentDevRestrictions : studentRestrictions;
10
+ const defaultProofRequestTemplates = [{
11
+ id: 'Aries:5:StudentFullName:0.0.1:indy',
12
+ name: 'Student full name',
13
+ description: 'Verify the full name of a student',
14
+ version: '0.0.1',
15
+ payload: {
16
+ type: ProofRequestType.AnonCreds,
17
+ data: [{
18
+ schema: 'XUxBrVSALWHLeycAUhrNr9:3:CL:26293:Student Card',
19
+ requestedAttributes: [{
20
+ name: 'student_first_name',
21
+ restrictions
22
+ }, {
23
+ name: 'student_last_name',
24
+ restrictions
25
+ }]
26
+ }]
27
+ }
28
+ }, {
29
+ id: 'Aries:5:StudentFullNameAndExpirationDate:0.0.1:indy',
30
+ name: 'Student full name and expiration date',
31
+ description: 'Verify that full name of a student and that he/she has a not expired student card.',
32
+ version: '0.0.1',
33
+ payload: {
34
+ type: ProofRequestType.AnonCreds,
35
+ data: [{
36
+ schema: 'XUxBrVSALWHLeycAUhrNr9:3:CL:26293:Student Card',
37
+ requestedAttributes: [{
38
+ names: ['student_first_name', 'student_last_name'],
39
+ restrictions
40
+ }],
41
+ requestedPredicates: [{
42
+ name: 'expiry_date',
43
+ predicateType: '>=',
44
+ predicateValue: 20240101,
45
+ restrictions
46
+ }]
47
+ }]
48
+ }
49
+ }];
50
+ return defaultProofRequestTemplates;
51
+ };
52
+ //# sourceMappingURL=request-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ProofRequestType","getProofRequestTemplates","useDevRestrictions","studentRestrictions","cred_def_id","studentDevRestrictions","schema_name","restrictions","defaultProofRequestTemplates","id","name","description","version","payload","type","AnonCreds","data","schema","requestedAttributes","names","requestedPredicates","predicateType","predicateValue"],"sourceRoot":"../../src","sources":["request-templates.ts"],"mappings":"AAAA,SAA+BA,gBAAgB,QAAQ,gCAAgC;AAEvF,OAAO,MAAMC,wBAAwB,GAAIC,kBAA2B,IAAK;EACvE,MAAMC,mBAAmB,GAAG,CAAC;IAAEC,WAAW,EAAE;EAAiD,CAAC,CAAC;EAC/F,MAAMC,sBAAsB,GAAG,CAAC;IAAEC,WAAW,EAAE;EAAe,CAAC,CAAC;EAChE,MAAMC,YAAY,GAAGL,kBAAkB,GAAGG,sBAAsB,GAAGF,mBAAmB;EACtF,MAAMK,4BAAyD,GAAG,CAChE;IACEC,EAAE,EAAE,oCAAoC;IACxCC,IAAI,EAAE,mBAAmB;IACzBC,WAAW,EAAE,mCAAmC;IAChDC,OAAO,EAAE,OAAO;IAChBC,OAAO,EAAE;MACPC,IAAI,EAAEd,gBAAgB,CAACe,SAAS;MAChCC,IAAI,EAAE,CACJ;QACEC,MAAM,EAAE,gDAAgD;QACxDC,mBAAmB,EAAE,CACnB;UACER,IAAI,EAAE,oBAAoB;UAC1BH;QACF,CAAC,EACD;UACEG,IAAI,EAAE,mBAAmB;UACzBH;QACF,CAAC;MAEL,CAAC;IAEL;EACF,CAAC,EACD;IACEE,EAAE,EAAE,qDAAqD;IACzDC,IAAI,EAAE,uCAAuC;IAC7CC,WAAW,EAAE,oFAAoF;IACjGC,OAAO,EAAE,OAAO;IAChBC,OAAO,EAAE;MACPC,IAAI,EAAEd,gBAAgB,CAACe,SAAS;MAChCC,IAAI,EAAE,CACJ;QACEC,MAAM,EAAE,gDAAgD;QACxDC,mBAAmB,EAAE,CACnB;UACEC,KAAK,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,CAAC;UAClDZ;QACF,CAAC,CACF;QACDa,mBAAmB,EAAE,CACnB;UACEV,IAAI,EAAE,aAAa;UACnBW,aAAa,EAAE,IAAI;UACnBC,cAAc,EAAE,QAAQ;UACxBf;QACF,CAAC;MAEL,CAAC;IAEL;EACF,CAAC,CACF;EACD,OAAOC,4BAA4B;AACrC,CAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ function getAgentModules() {
2
+ return null;
3
+ }
4
+ export {};
5
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAgentModules"],"sourceRoot":"../../../src","sources":["types/agent.ts"],"mappings":"AAqBA,SAASA,eAAeA,CAAA,EAAG;EACzB,OAAO,IAAI;AA4Bb;AAAC","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export let ProofMetadata = /*#__PURE__*/function (ProofMetadata) {
2
+ ProofMetadata["customMetadata"] = "customMetadata";
3
+ return ProofMetadata;
4
+ }({});
5
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ProofMetadata"],"sourceRoot":"../../../src","sources":["types/metadata.ts"],"mappings":"AAAA,WAAYA,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ export let ProofRequestType = /*#__PURE__*/function (ProofRequestType) {
2
+ ProofRequestType["AnonCreds"] = "anoncreds";
3
+ ProofRequestType["DIF"] = "dif";
4
+ return ProofRequestType;
5
+ }({});
6
+
7
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
8
+ //# sourceMappingURL=proof-reqeust-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ProofRequestType"],"sourceRoot":"../../../src","sources":["types/proof-reqeust-template.ts"],"mappings":"AAiCA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA;;AAU5B","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ export class ParsedAnonCredsProof {
2
+ constructor() {
3
+ this.sharedAttributes = [];
4
+ this.sharedAttributeGroups = [];
5
+ this.resolvedPredicates = [];
6
+ this.unresolvedAttributes = [];
7
+ this.unresolvedAttributeGroups = [];
8
+ this.unresolvedPredicates = [];
9
+ }
10
+ }
11
+ export class CredentialSharedProofData {
12
+ constructor() {
13
+ this.sharedAttributes = [];
14
+ this.sharedAttributeGroups = [];
15
+ this.resolvedPredicates = [];
16
+ }
17
+ }
18
+ //# sourceMappingURL=proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ParsedAnonCredsProof","constructor","sharedAttributes","sharedAttributeGroups","resolvedPredicates","unresolvedAttributes","unresolvedAttributeGroups","unresolvedPredicates","CredentialSharedProofData"],"sourceRoot":"../../../src","sources":["types/proof.ts"],"mappings":"AAoCA,OAAO,MAAMA,oBAAoB,CAAC;EAQzBC,WAAWA,CAAA,EAAG;IACnB,IAAI,CAACC,gBAAgB,GAAG,EAAE;IAC1B,IAAI,CAACC,qBAAqB,GAAG,EAAE;IAC/B,IAAI,CAACC,kBAAkB,GAAG,EAAE;IAC5B,IAAI,CAACC,oBAAoB,GAAG,EAAE;IAC9B,IAAI,CAACC,yBAAyB,GAAG,EAAE;IACnC,IAAI,CAACC,oBAAoB,GAAG,EAAE;EAChC;AACF;AAEA,OAAO,MAAMC,yBAAyB,CAAC;EAK9BP,WAAWA,CAAA,EAAG;IACnB,IAAI,CAACC,gBAAgB,GAAG,EAAE;IAC1B,IAAI,CAACC,qBAAqB,GAAG,EAAE;IAC/B,IAAI,CAACC,kBAAkB,GAAG,EAAE;EAC9B;AACF","ignoreList":[]}
@@ -0,0 +1,151 @@
1
+ import { V1RequestPresentationMessage } from '@credo-ts/anoncreds';
2
+ import { AutoAcceptProof } from '@credo-ts/core';
3
+ import { ProofRequestType } from '../types/proof-reqeust-template';
4
+ const protocolVersion = 'v2';
5
+ const domain = 'http://aries-mobile-agent.com';
6
+
7
+ /*
8
+ * Find Proof Request message in the storage by the given id
9
+ * */
10
+ export const findProofRequestMessage = async (agent, id) => {
11
+ const message = await agent.proofs.findRequestMessage(id);
12
+ if (message && message instanceof V1RequestPresentationMessage && message.indyProofRequest) {
13
+ return message.indyProofRequest;
14
+ } else {
15
+ return undefined;
16
+ }
17
+ };
18
+
19
+ /*
20
+ * Build Proof Request data from for provided template
21
+ * */
22
+ /*
23
+ * Build Proof Request data for provided template
24
+ * */
25
+ export const buildProofRequestDataForTemplate = (template, customValues) => {
26
+ if (template.payload.type === ProofRequestType.AnonCreds) {
27
+ const requestedAttributes = {};
28
+ const requestedPredicates = {};
29
+ let index = 0;
30
+ template.payload.data.forEach(data => {
31
+ var _data$requestedAttrib, _data$requestedPredic;
32
+ if ((_data$requestedAttrib = data.requestedAttributes) !== null && _data$requestedAttrib !== void 0 && _data$requestedAttrib.length) {
33
+ data.requestedAttributes.forEach(requestedAttribute => {
34
+ requestedAttributes[`referent_${index}`] = {
35
+ name: requestedAttribute.name,
36
+ names: requestedAttribute.names,
37
+ non_revoked: requestedAttribute.nonRevoked,
38
+ restrictions: requestedAttribute.restrictions
39
+ };
40
+ index++;
41
+ });
42
+ }
43
+ if ((_data$requestedPredic = data.requestedPredicates) !== null && _data$requestedPredic !== void 0 && _data$requestedPredic.length) {
44
+ data.requestedPredicates.forEach(requestedPredicate => {
45
+ const customValue = customValues && customValues[data.schema] ? customValues[data.schema][requestedPredicate.name] : undefined;
46
+ requestedPredicates[`referent_${index}`] = {
47
+ name: requestedPredicate.name,
48
+ p_value: requestedPredicate.parameterizable && customValue ? customValue : requestedPredicate.predicateValue,
49
+ p_type: requestedPredicate.predicateType,
50
+ non_revoked: requestedPredicate.nonRevoked,
51
+ restrictions: requestedPredicate.restrictions
52
+ };
53
+ index++;
54
+ });
55
+ }
56
+ });
57
+ return {
58
+ anoncreds: {
59
+ name: template.name,
60
+ version: template.version,
61
+ nonce: Date.now().toString(),
62
+ requested_attributes: requestedAttributes,
63
+ requested_predicates: requestedPredicates
64
+ }
65
+ };
66
+ }
67
+ if (template.payload.type === ProofRequestType.DIF) {
68
+ return {};
69
+ }
70
+ };
71
+ /*
72
+ * Create connectionless proof request invitation for provided template
73
+ * */
74
+ export const createConnectionlessProofRequestInvitation = async (agent, template, customPredicateValues) => {
75
+ const proofFormats = buildProofRequestDataForTemplate(template, customPredicateValues);
76
+ if (!proofFormats) {
77
+ return undefined;
78
+ }
79
+ const {
80
+ message: request,
81
+ proofRecord
82
+ } = await agent.proofs.createRequest({
83
+ protocolVersion,
84
+ autoAcceptProof: AutoAcceptProof.Always,
85
+ proofFormats
86
+ });
87
+ const {
88
+ message: invitation,
89
+ invitationUrl
90
+ } = await agent.oob.createLegacyConnectionlessInvitation({
91
+ recordId: proofRecord.id,
92
+ message: request,
93
+ domain
94
+ });
95
+ return {
96
+ request,
97
+ proofRecord,
98
+ invitation,
99
+ invitationUrl
100
+ };
101
+ };
102
+ /*
103
+ * Build Proof Request for provided template and send it to provided connection
104
+ * */
105
+ export const sendProofRequest = async (agent, template, connectionId, customPredicateValues) => {
106
+ const proofFormats = buildProofRequestDataForTemplate(template, customPredicateValues);
107
+ if (!proofFormats) {
108
+ return undefined;
109
+ }
110
+ const proofRecord = await agent.proofs.requestProof({
111
+ protocolVersion,
112
+ connectionId,
113
+ proofFormats
114
+ });
115
+ return {
116
+ proofRecord
117
+ };
118
+ };
119
+
120
+ /*
121
+ * Check if the Proof Request template contains at least one predicate
122
+ * */
123
+ export const hasPredicates = record => {
124
+ if (record.payload.type === ProofRequestType.AnonCreds) {
125
+ return record.payload.data.some(d => {
126
+ var _d$requestedPredicate;
127
+ return d.requestedPredicates && ((_d$requestedPredicate = d.requestedPredicates) === null || _d$requestedPredicate === void 0 ? void 0 : _d$requestedPredicate.length) > 0;
128
+ });
129
+ }
130
+ if (record.payload.type === ProofRequestType.DIF) {
131
+ return false;
132
+ }
133
+ return false;
134
+ };
135
+
136
+ /*
137
+ * Check if the Proof Request template contains parameterizable predicates
138
+ * */
139
+ export const isParameterizable = record => {
140
+ if (record.payload.type === ProofRequestType.AnonCreds) {
141
+ return record.payload.data.some(d => {
142
+ var _d$requestedPredicate2;
143
+ return (_d$requestedPredicate2 = d.requestedPredicates) === null || _d$requestedPredicate2 === void 0 ? void 0 : _d$requestedPredicate2.some(predicate => predicate.parameterizable);
144
+ });
145
+ }
146
+ if (record.payload.type === ProofRequestType.DIF) {
147
+ return false;
148
+ }
149
+ return false;
150
+ };
151
+ //# sourceMappingURL=proof-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["V1RequestPresentationMessage","AutoAcceptProof","ProofRequestType","protocolVersion","domain","findProofRequestMessage","agent","id","message","proofs","findRequestMessage","indyProofRequest","undefined","buildProofRequestDataForTemplate","template","customValues","payload","type","AnonCreds","requestedAttributes","requestedPredicates","index","data","forEach","_data$requestedAttrib","_data$requestedPredic","length","requestedAttribute","name","names","non_revoked","nonRevoked","restrictions","requestedPredicate","customValue","schema","p_value","parameterizable","predicateValue","p_type","predicateType","anoncreds","version","nonce","Date","now","toString","requested_attributes","requested_predicates","DIF","createConnectionlessProofRequestInvitation","customPredicateValues","proofFormats","request","proofRecord","createRequest","autoAcceptProof","Always","invitation","invitationUrl","oob","createLegacyConnectionlessInvitation","recordId","sendProofRequest","connectionId","requestProof","hasPredicates","record","some","d","_d$requestedPredicate","isParameterizable","_d$requestedPredicate2","predicate"],"sourceRoot":"../../../src","sources":["utils/proof-request.ts"],"mappings":"AAAA,SAIEA,4BAA4B,QACvB,qBAAqB;AAC5B,SAA8BC,eAAe,QAA6B,gBAAgB;AAG1F,SAA+BC,gBAAgB,QAAQ,iCAAiC;AAExF,MAAMC,eAAe,GAAG,IAAI;AAC5B,MAAMC,MAAM,GAAG,+BAA+B;;AAE9C;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,MAAAA,CACrCC,KAAY,EACZC,EAAU,KACsC;EAChD,MAAMC,OAAO,GAAG,MAAMF,KAAK,CAACG,MAAM,CAACC,kBAAkB,CAACH,EAAE,CAAC;EACzD,IAAIC,OAAO,IAAIA,OAAO,YAAYR,4BAA4B,IAAIQ,OAAO,CAACG,gBAAgB,EAAE;IAC1F,OAAOH,OAAO,CAACG,gBAAgB;EACjC,CAAC,MAAM;IACL,OAAOC,SAAS;EAClB;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gCAAgC,GAAGA,CAC9CC,QAA8B,EAC9BC,YAAqD,KAClD;EACH,IAAID,QAAQ,CAACE,OAAO,CAACC,IAAI,KAAKf,gBAAgB,CAACgB,SAAS,EAAE;IACxD,MAAMC,mBAAgE,GAAG,CAAC,CAAC;IAC3E,MAAMC,mBAAgE,GAAG,CAAC,CAAC;IAC3E,IAAIC,KAAK,GAAG,CAAC;IAEbP,QAAQ,CAACE,OAAO,CAACM,IAAI,CAACC,OAAO,CAAED,IAAI,IAAK;MAAA,IAAAE,qBAAA,EAAAC,qBAAA;MACtC,KAAAD,qBAAA,GAAIF,IAAI,CAACH,mBAAmB,cAAAK,qBAAA,eAAxBA,qBAAA,CAA0BE,MAAM,EAAE;QACpCJ,IAAI,CAACH,mBAAmB,CAACI,OAAO,CAAEI,kBAAkB,IAAK;UACvDR,mBAAmB,CAAC,YAAYE,KAAK,EAAE,CAAC,GAAG;YACzCO,IAAI,EAAED,kBAAkB,CAACC,IAAI;YAC7BC,KAAK,EAAEF,kBAAkB,CAACE,KAAK;YAC/BC,WAAW,EAAEH,kBAAkB,CAACI,UAAU;YAC1CC,YAAY,EAAEL,kBAAkB,CAACK;UACnC,CAAC;UACDX,KAAK,EAAE;QACT,CAAC,CAAC;MACJ;MACA,KAAAI,qBAAA,GAAIH,IAAI,CAACF,mBAAmB,cAAAK,qBAAA,eAAxBA,qBAAA,CAA0BC,MAAM,EAAE;QACpCJ,IAAI,CAACF,mBAAmB,CAACG,OAAO,CAAEU,kBAAkB,IAAK;UACvD,MAAMC,WAAW,GACfnB,YAAY,IAAIA,YAAY,CAACO,IAAI,CAACa,MAAM,CAAC,GAAGpB,YAAY,CAACO,IAAI,CAACa,MAAM,CAAC,CAACF,kBAAkB,CAACL,IAAI,CAAC,GAAGhB,SAAS;UAE5GQ,mBAAmB,CAAC,YAAYC,KAAK,EAAE,CAAC,GAAG;YACzCO,IAAI,EAAEK,kBAAkB,CAACL,IAAI;YAC7BQ,OAAO,EACLH,kBAAkB,CAACI,eAAe,IAAIH,WAAW,GAAGA,WAAW,GAAGD,kBAAkB,CAACK,cAAc;YACrGC,MAAM,EAAEN,kBAAkB,CAACO,aAAa;YACxCV,WAAW,EAAEG,kBAAkB,CAACF,UAAU;YAC1CC,YAAY,EAAEC,kBAAkB,CAACD;UACnC,CAAC;UACDX,KAAK,EAAE;QACT,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IACF,OAAO;MACLoB,SAAS,EAAE;QACTb,IAAI,EAAEd,QAAQ,CAACc,IAAI;QACnBc,OAAO,EAAE5B,QAAQ,CAAC4B,OAAO;QACzBC,KAAK,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;QAC5BC,oBAAoB,EAAE5B,mBAAmB;QACzC6B,oBAAoB,EAAE5B;MACxB;IACF,CAAC;EACH;EACA,IAAIN,QAAQ,CAACE,OAAO,CAACC,IAAI,KAAKf,gBAAgB,CAAC+C,GAAG,EAAE;IAClD,OAAO,CAAC,CAAC;EACX;AACF,CAAC;AASD;AACA;AACA;AACA,OAAO,MAAMC,0CAA0C,GAAG,MAAAA,CACxD5C,KAAkB,EAClBQ,QAA8B,EAC9BqC,qBAA8D,KACF;EAC5D,MAAMC,YAAY,GAAGvC,gCAAgC,CAACC,QAAQ,EAAEqC,qBAAqB,CAAC;EACtF,IAAI,CAACC,YAAY,EAAE;IACjB,OAAOxC,SAAS;EAClB;EACA,MAAM;IAAEJ,OAAO,EAAE6C,OAAO;IAAEC;EAAY,CAAC,GAAG,MAAMhD,KAAK,CAACG,MAAM,CAAC8C,aAAa,CAAC;IACzEpD,eAAe;IACfqD,eAAe,EAAEvD,eAAe,CAACwD,MAAM;IACvCL;EACF,CAAC,CAAC;EACF,MAAM;IAAE5C,OAAO,EAAEkD,UAAU;IAAEC;EAAc,CAAC,GAAG,MAAMrD,KAAK,CAACsD,GAAG,CAACC,oCAAoC,CAAC;IAClGC,QAAQ,EAAER,WAAW,CAAC/C,EAAE;IACxBC,OAAO,EAAE6C,OAAO;IAChBjD;EACF,CAAC,CAAC;EACF,OAAO;IACLiD,OAAO;IACPC,WAAW;IACXI,UAAU;IACVC;EACF,CAAC;AACH,CAAC;AAMD;AACA;AACA;AACA,OAAO,MAAMI,gBAAgB,GAAG,MAAAA,CAC9BzD,KAAkB,EAClBQ,QAA8B,EAC9BkD,YAAoB,EACpBb,qBAA8D,KACd;EAChD,MAAMC,YAAY,GAAGvC,gCAAgC,CAACC,QAAQ,EAAEqC,qBAAqB,CAAC;EACtF,IAAI,CAACC,YAAY,EAAE;IACjB,OAAOxC,SAAS;EAClB;EACA,MAAM0C,WAAW,GAAG,MAAMhD,KAAK,CAACG,MAAM,CAACwD,YAAY,CAAC;IAClD9D,eAAe;IACf6D,YAAY;IACZZ;EACF,CAAC,CAAC;EACF,OAAO;IACLE;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMY,aAAa,GAAIC,MAA4B,IAAc;EACtE,IAAIA,MAAM,CAACnD,OAAO,CAACC,IAAI,KAAKf,gBAAgB,CAACgB,SAAS,EAAE;IACtD,OAAOiD,MAAM,CAACnD,OAAO,CAACM,IAAI,CAAC8C,IAAI,CAAEC,CAAC;MAAA,IAAAC,qBAAA;MAAA,OAAKD,CAAC,CAACjD,mBAAmB,IAAI,EAAAkD,qBAAA,GAAAD,CAAC,CAACjD,mBAAmB,cAAAkD,qBAAA,uBAArBA,qBAAA,CAAuB5C,MAAM,IAAG,CAAC;IAAA,EAAC;EACpG;EACA,IAAIyC,MAAM,CAACnD,OAAO,CAACC,IAAI,KAAKf,gBAAgB,CAAC+C,GAAG,EAAE;IAChD,OAAO,KAAK;EACd;EACA,OAAO,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMsB,iBAAiB,GAAIJ,MAA4B,IAAc;EAC1E,IAAIA,MAAM,CAACnD,OAAO,CAACC,IAAI,KAAKf,gBAAgB,CAACgB,SAAS,EAAE;IACtD,OAAOiD,MAAM,CAACnD,OAAO,CAACM,IAAI,CAAC8C,IAAI,CAAEC,CAAC;MAAA,IAAAG,sBAAA;MAAA,QAAAA,sBAAA,GAAKH,CAAC,CAACjD,mBAAmB,cAAAoD,sBAAA,uBAArBA,sBAAA,CAAuBJ,IAAI,CAAEK,SAAS,IAAKA,SAAS,CAACpC,eAAe,CAAC;IAAA,EAAC;EAC/G;EACA,IAAI8B,MAAM,CAACnD,OAAO,CAACC,IAAI,KAAKf,gBAAgB,CAAC+C,GAAG,EAAE;IAChD,OAAO,KAAK;EACd;EACA,OAAO,KAAK;AACd,CAAC","ignoreList":[]}