@digitalbazaar/vc 5.0.0 → 6.0.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Verifiable Credentials JS Library _(@digitalbazaar/vc)_
2
2
 
3
- [![Build Status](https://img.shields.io/github/workflow/status/digitalbazaar/vc-js/Node.js%20CI)](https://github.com/digitalbazaar/vc-js/actions?query=workflow%3A%22Node.js+CI%22)
3
+ [![Build Status](https://img.shields.io/github/workflow/status/digitalbazaar/vc/Node.js%20CI)](https://github.com/digitalbazaar/vc/actions?query=workflow%3A%22Node.js+CI%22)
4
4
  [![NPM Version](https://img.shields.io/npm/v/@digitalbazaar/vc.svg)](https://npm.im/@digitalbazaar/vc)
5
5
 
6
6
  > A Javascript library for issuing and verifying Verifiable Credentials.
@@ -59,8 +59,8 @@ npm install @digitalbazaar/vc
59
59
  To install locally (for development):
60
60
 
61
61
  ```
62
- git clone https://github.com/digitalbazaar/vc-js.git
63
- cd vc-js
62
+ git clone https://github.com/digitalbazaar/vc.git
63
+ cd vc
64
64
  npm install
65
65
  ```
66
66
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Copyright (c) 2019-2022 Digital Bazaar, Inc. All rights reserved.
2
+ * Copyright (c) 2019-2023 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
- import jsonld from 'jsonld';
5
4
  import jsigs from 'jsonld-signatures';
5
+ import jsonld from 'jsonld';
6
6
 
7
7
  const {purposes: {AssertionProofPurpose}} = jsigs;
8
8
 
@@ -40,7 +40,6 @@ export class CredentialIssuancePurpose extends AssertionProofPurpose {
40
40
  * @param {string} options.verificationMethod - Key id URL to the paired
41
41
  * public key.
42
42
  * @param {object} [options.documentLoader] - A document loader.
43
- * @param {object} [options.expansionMap] - An expansion map.
44
43
  *
45
44
  * @throws {Error} If verification method not authorized by controller.
46
45
  * @throws {Error} If proof's created timestamp is out of range.
@@ -48,11 +47,11 @@ export class CredentialIssuancePurpose extends AssertionProofPurpose {
48
47
  * @returns {Promise<{valid: boolean, error: Error}>} Resolves on completion.
49
48
  */
50
49
  async validate(proof, {
51
- document, suite, verificationMethod, documentLoader, expansionMap
50
+ document, suite, verificationMethod, documentLoader
52
51
  }) {
53
52
  try {
54
53
  const result = await super.validate(proof, {
55
- document, suite, verificationMethod, documentLoader, expansionMap
54
+ document, suite, verificationMethod, documentLoader
56
55
  });
57
56
 
58
57
  if(!result.valid) {
@@ -1,23 +1,12 @@
1
1
  /*!
2
- * Copyright (c) 2019-2022 Digital Bazaar, Inc. All rights reserved.
2
+ * Copyright (c) 2019-2023 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
4
  import {
5
5
  contexts as credentialContexts
6
6
  } from 'credentials-context';
7
- import {
8
- CONTEXT as vcExamplesV1Context,
9
- CONTEXT_URL as vcExamplesV1ContextUrl
10
- } from './vc-examples-v1.js';
11
- import {
12
- CONTEXT as odrlContext,
13
- CONTEXT_URL as odrlContextUrl
14
- } from './odrl.js';
15
-
16
- export const contexts = {};
17
7
 
18
- contexts[vcExamplesV1ContextUrl] = vcExamplesV1Context;
19
- contexts[odrlContextUrl] = odrlContext;
8
+ export const contexts = new Map();
20
9
 
21
10
  for(const [url, context] of credentialContexts.entries()) {
22
- contexts[url] = context;
11
+ contexts.set(url, context);
23
12
  }
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * Copyright (c) 2019-2022 Digital Bazaar, Inc. All rights reserved.
2
+ * Copyright (c) 2019-2023 Digital Bazaar, Inc. All rights reserved.
3
3
  */
4
4
  // load locally embedded contexts
5
5
  import {contexts} from './contexts/index.js';
6
6
 
7
7
  export async function documentLoader(url) {
8
- const context = contexts[url];
8
+ const context = contexts.get(url);
9
9
  if(context !== undefined) {
10
10
  return {
11
11
  contextUrl: null,
package/lib/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * @author David I. Lehn
6
6
  *
7
7
  * @license BSD 3-Clause License
8
- * Copyright (c) 2017-2022 Digital Bazaar, Inc.
8
+ * Copyright (c) 2017-2023 Digital Bazaar, Inc.
9
9
  * All rights reserved.
10
10
  *
11
11
  * Redistribution and use in source and binary forms, with or without
@@ -34,10 +34,10 @@
34
34
  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
35
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
36
  */
37
- import jsonld from 'jsonld';
38
- import jsigs from 'jsonld-signatures';
39
- import {CredentialIssuancePurpose} from './CredentialIssuancePurpose.js';
40
37
  import {documentLoader as _documentLoader} from './documentLoader.js';
38
+ import {CredentialIssuancePurpose} from './CredentialIssuancePurpose.js';
39
+ import jsigs from 'jsonld-signatures';
40
+ import jsonld from 'jsonld';
41
41
  export const defaultDocumentLoader =
42
42
  jsigs.extendContextLoader(_documentLoader);
43
43
  import * as credentialsContext from 'credentials-context';
@@ -106,7 +106,6 @@ export const dateRegex = new RegExp('^(\\d{4})-(0[1-9]|1[0-2])-' +
106
106
  *
107
107
  * Other optional params passed to `sign()`:
108
108
  * @param {object} [options.documentLoader] - A document loader.
109
- * @param {object} [options.expansionMap] - An expansion map.
110
109
  * @param {string|Date} [options.now] - A string representing date time in
111
110
  * ISO 8601 format or an instance of Date. Defaults to current date time.
112
111
  *
@@ -115,7 +114,7 @@ export const dateRegex = new RegExp('^(\\d{4})-(0[1-9]|1[0-2])-' +
115
114
  * @returns {Promise<VerifiableCredential>} Resolves on completion.
116
115
  */
117
116
  export async function issue({
118
- credential, suite, expansionMap,
117
+ credential, suite,
119
118
  purpose = new CredentialIssuancePurpose(),
120
119
  documentLoader = defaultDocumentLoader,
121
120
  now
@@ -142,7 +141,7 @@ export async function issue({
142
141
  // run common credential checks
143
142
  _checkCredential({credential, now});
144
143
 
145
- return jsigs.sign(credential, {purpose, documentLoader, suite, expansionMap});
144
+ return jsigs.sign(credential, {purpose, documentLoader, suite});
146
145
  }
147
146
 
148
147
  /**
@@ -291,7 +290,7 @@ async function _verifyCredential(options = {}) {
291
290
  });
292
291
 
293
292
  const result = await jsigs.verify(
294
- credential, {purpose, documentLoader, ...options});
293
+ credential, {...options, purpose, documentLoader});
295
294
 
296
295
  // if verification has already failed, skip status check
297
296
  if(!result.verified) {
@@ -383,7 +382,7 @@ export async function signPresentation(options = {}) {
383
382
 
384
383
  const documentLoader = options.documentLoader || defaultDocumentLoader;
385
384
 
386
- return jsigs.sign(presentation, {purpose, documentLoader, ...options});
385
+ return jsigs.sign(presentation, {...options, purpose, documentLoader});
387
386
  }
388
387
 
389
388
  /**
@@ -442,7 +441,7 @@ async function _verifyPresentation(options = {}) {
442
441
  if(credentials.length > 0) {
443
442
  // verify every credential in `verifiableCredential`
444
443
  credentialResults = await Promise.all(credentials.map(credential => {
445
- return verifyCredential({credential, documentLoader, ...options});
444
+ return verifyCredential({...options, credential, documentLoader});
446
445
  }));
447
446
 
448
447
  for(const [i, credentialResult] of credentialResults.entries()) {
@@ -470,7 +469,7 @@ async function _verifyPresentation(options = {}) {
470
469
  new AuthenticationProofPurpose({controller, domain, challenge});
471
470
 
472
471
  const presentationResult = await jsigs.verify(
473
- presentation, {purpose, documentLoader, ...options});
472
+ presentation, {...options, purpose, documentLoader});
474
473
 
475
474
  return {
476
475
  presentationResult,
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@digitalbazaar/vc",
3
- "version": "5.0.0",
3
+ "version": "6.0.1",
4
4
  "description": "Verifiable Credentials JavaScript library.",
5
- "homepage": "https://github.com/digitalbazaar/vc-js",
5
+ "homepage": "https://github.com/digitalbazaar/vc",
6
6
  "author": {
7
7
  "name": "Digital Bazaar, Inc.",
8
8
  "email": "support@digitalbazaar.com",
@@ -15,10 +15,10 @@
15
15
  ],
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "https://github.com/digitalbazaar/vc-js"
18
+ "url": "https://github.com/digitalbazaar/vc"
19
19
  },
20
20
  "bugs": {
21
- "url": "https://github.com/digitalbazaar/vc-js/issues",
21
+ "url": "https://github.com/digitalbazaar/vc/issues",
22
22
  "email": "support@digitalbazaar.com"
23
23
  },
24
24
  "license": "BSD-3-Clause",
@@ -29,33 +29,35 @@
29
29
  ],
30
30
  "dependencies": {
31
31
  "credentials-context": "^2.0.0",
32
- "jsonld": "^8.0.0",
32
+ "jsonld": "^8.1.0",
33
33
  "jsonld-signatures": "^11.0.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@digitalbazaar/ed25519-signature-2018": "^3.0.0",
36
+ "@digitalbazaar/ed25519-signature-2018": "^4.0.0",
37
37
  "@digitalbazaar/ed25519-verification-key-2018": "^4.0.0",
38
- "c8": "^7.11.3",
39
- "chai": "^4.3.6",
38
+ "@digitalbazaar/credentials-examples-context": "^1.0.0",
39
+ "@digitalbazaar/odrl-context": "^1.0.0",
40
+ "c8": "^7.12.0",
41
+ "chai": "^4.3.7",
40
42
  "cross-env": "^7.0.3",
41
43
  "did-context": "^3.1.1",
42
- "did-veres-one": "^15.0.0",
43
- "eslint": "^8.17.0",
44
- "eslint-config-digitalbazaar": "^3.0.0",
45
- "eslint-plugin-jsdoc": "^39.3.2",
46
- "eslint-plugin-unicorn": "^42.0.0",
47
- "karma": "^6.4.0",
44
+ "did-veres-one": "^16.0.0",
45
+ "eslint": "^8.32.0",
46
+ "eslint-config-digitalbazaar": "^4.2.0",
47
+ "eslint-plugin-jsdoc": "^39.6.4",
48
+ "eslint-plugin-unicorn": "^45.0.2",
49
+ "karma": "^6.4.1",
48
50
  "karma-chai": "^0.1.0",
49
51
  "karma-chrome-launcher": "^3.1.1",
50
52
  "karma-mocha": "^2.0.1",
51
53
  "karma-mocha-reporter": "^2.2.5",
52
54
  "karma-sourcemap-loader": "^0.3.8",
53
55
  "karma-webpack": "^5.0.0",
54
- "mocha": "^10.0.0",
56
+ "mocha": "^10.2.0",
55
57
  "mocha-lcov-reporter": "^1.3.0",
56
- "uuid": "^8.3.2",
58
+ "uuid": "^9.0.0",
57
59
  "veres-one-context": "^12.0.0",
58
- "webpack": "^5.73.0"
60
+ "webpack": "^5.75.0"
59
61
  },
60
62
  "c8": {
61
63
  "reporter": [
@@ -1,206 +0,0 @@
1
- /*!
2
- * Copyright (c) 2019-2022 Digital Bazaar, Inc. All rights reserved.
3
- */
4
-
5
- export const CONTEXT_URL = 'https://www.w3.org/ns/odrl.jsonld';
6
- /* eslint-disable quote-props, key-spacing, max-len */
7
- export const CONTEXT = {
8
- '@context': {
9
- 'odrl': 'http://www.w3.org/ns/odrl/2/',
10
- 'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
11
- 'rdfs': 'http://www.w3.org/2000/01/rdf-schema#',
12
- 'owl': 'http://www.w3.org/2002/07/owl#',
13
- 'skos': 'http://www.w3.org/2004/02/skos/core#',
14
- 'dct': 'http://purl.org/dc/terms/',
15
- 'xsd': 'http://www.w3.org/2001/XMLSchema#',
16
- 'vcard': 'http://www.w3.org/2006/vcard/ns#',
17
- 'foaf': 'http://xmlns.com/foaf/0.1/',
18
- 'schema': 'http://schema.org/',
19
- 'cc': 'http://creativecommons.org/ns#',
20
-
21
- 'uid': '@id',
22
- 'type': '@type',
23
-
24
- 'Policy': 'odrl:Policy',
25
- 'Rule': 'odrl:Rule',
26
- 'profile': {'@type': '@id', '@id': 'odrl:profile'},
27
-
28
- 'inheritFrom': {'@type': '@id', '@id': 'odrl:inheritFrom'},
29
-
30
- 'ConflictTerm': 'odrl:ConflictTerm',
31
- 'conflict': {'@type': '@vocab', '@id': 'odrl:conflict'},
32
- 'perm': 'odrl:perm',
33
- 'prohibit': 'odrl:prohibit',
34
- 'invalid': 'odrl:invalid',
35
-
36
- 'Agreement': 'odrl:Agreement',
37
- 'Assertion': 'odrl:Assertion',
38
- 'Offer': 'odrl:Offer',
39
- 'Privacy': 'odrl:Privacy',
40
- 'Request': 'odrl:Request',
41
- 'Set': 'odrl:Set',
42
- 'Ticket': 'odrl:Ticket',
43
-
44
- 'Asset': 'odrl:Asset',
45
- 'AssetCollection': 'odrl:AssetCollection',
46
- 'relation': {'@type': '@id', '@id': 'odrl:relation'},
47
- 'hasPolicy': {'@type': '@id', '@id': 'odrl:hasPolicy'},
48
-
49
- 'target': {'@type': '@id', '@id': 'odrl:target'},
50
- 'output': {'@type': '@id', '@id': 'odrl:output'},
51
-
52
- 'partOf': {'@type': '@id', '@id': 'odrl:partOf'},
53
- 'source': {'@type': '@id', '@id': 'odrl:source'},
54
-
55
- 'Party': 'odrl:Party',
56
- 'PartyCollection': 'odrl:PartyCollection',
57
- 'function': {'@type': '@vocab', '@id': 'odrl:function'},
58
- 'PartyScope': 'odrl:PartyScope',
59
-
60
- 'assignee': {'@type': '@id', '@id': 'odrl:assignee'},
61
- 'assigner': {'@type': '@id', '@id': 'odrl:assigner'},
62
- 'assigneeOf': {'@type': '@id', '@id': 'odrl:assigneeOf'},
63
- 'assignerOf': {'@type': '@id', '@id': 'odrl:assignerOf'},
64
- 'attributedParty': {'@type': '@id', '@id': 'odrl:attributedParty'},
65
- 'attributingParty': {'@type': '@id', '@id': 'odrl:attributingParty'},
66
- 'compensatedParty': {'@type': '@id', '@id': 'odrl:compensatedParty'},
67
- 'compensatingParty': {'@type': '@id', '@id': 'odrl:compensatingParty'},
68
- 'consentingParty': {'@type': '@id', '@id': 'odrl:consentingParty'},
69
- 'consentedParty': {'@type': '@id', '@id': 'odrl:consentedParty'},
70
- 'informedParty': {'@type': '@id', '@id': 'odrl:informedParty'},
71
- 'informingParty': {'@type': '@id', '@id': 'odrl:informingParty'},
72
- 'trackingParty': {'@type': '@id', '@id': 'odrl:trackingParty'},
73
- 'trackedParty': {'@type': '@id', '@id': 'odrl:trackedParty'},
74
- 'contractingParty': {'@type': '@id', '@id': 'odrl:contractingParty'},
75
- 'contractedParty': {'@type': '@id', '@id': 'odrl:contractedParty'},
76
-
77
- 'Action': 'odrl:Action',
78
- 'action': {'@type': '@vocab', '@id': 'odrl:action'},
79
- 'includedIn': {'@type': '@id', '@id': 'odrl:includedIn'},
80
- 'implies': {'@type': '@id', '@id': 'odrl:implies'},
81
-
82
- 'Permission': 'odrl:Permission',
83
- 'permission': {'@type': '@id', '@id': 'odrl:permission'},
84
-
85
- 'Prohibition': 'odrl:Prohibition',
86
- 'prohibition': {'@type': '@id', '@id': 'odrl:prohibition'},
87
-
88
- 'obligation': {'@type': '@id', '@id': 'odrl:obligation'},
89
-
90
- 'use': 'odrl:use',
91
- 'grantUse': 'odrl:grantUse',
92
- 'aggregate': 'odrl:aggregate',
93
- 'annotate': 'odrl:annotate',
94
- 'anonymize': 'odrl:anonymize',
95
- 'archive': 'odrl:archive',
96
- 'concurrentUse': 'odrl:concurrentUse',
97
- 'derive': 'odrl:derive',
98
- 'digitize': 'odrl:digitize',
99
- 'display': 'odrl:display',
100
- 'distribute': 'odrl:distribute',
101
- 'execute': 'odrl:execute',
102
- 'extract': 'odrl:extract',
103
- 'give': 'odrl:give',
104
- 'index': 'odrl:index',
105
- 'install': 'odrl:install',
106
- 'modify': 'odrl:modify',
107
- 'move': 'odrl:move',
108
- 'play': 'odrl:play',
109
- 'present': 'odrl:present',
110
- 'print': 'odrl:print',
111
- 'read': 'odrl:read',
112
- 'reproduce': 'odrl:reproduce',
113
- 'sell': 'odrl:sell',
114
- 'stream': 'odrl:stream',
115
- 'textToSpeech': 'odrl:textToSpeech',
116
- 'transfer': 'odrl:transfer',
117
- 'transform': 'odrl:transform',
118
- 'translate': 'odrl:translate',
119
-
120
- 'Duty': 'odrl:Duty',
121
- 'duty': {'@type': '@id', '@id': 'odrl:duty'},
122
- 'consequence': {'@type': '@id', '@id': 'odrl:consequence'},
123
- 'remedy': {'@type': '@id', '@id': 'odrl:remedy'},
124
-
125
- 'acceptTracking': 'odrl:acceptTracking',
126
- 'attribute': 'odrl:attribute',
127
- 'compensate': 'odrl:compensate',
128
- 'delete': 'odrl:delete',
129
- 'ensureExclusivity': 'odrl:ensureExclusivity',
130
- 'include': 'odrl:include',
131
- 'inform': 'odrl:inform',
132
- 'nextPolicy': 'odrl:nextPolicy',
133
- 'obtainConsent': 'odrl:obtainConsent',
134
- 'reviewPolicy': 'odrl:reviewPolicy',
135
- 'uninstall': 'odrl:uninstall',
136
- 'watermark': 'odrl:watermark',
137
-
138
- 'Constraint': 'odrl:Constraint',
139
- 'LogicalConstraint': 'odrl:LogicalConstraint',
140
- 'constraint': {'@type': '@id', '@id': 'odrl:constraint'},
141
- 'refinement': {'@type': '@id', '@id': 'odrl:refinement'},
142
- 'Operator': 'odrl:Operator',
143
- 'operator': {'@type': '@vocab', '@id': 'odrl:operator'},
144
- 'RightOperand': 'odrl:RightOperand',
145
- 'rightOperand': 'odrl:rightOperand',
146
- 'rightOperandReference':{'@type': 'xsd:anyURI', '@id': 'odrl:rightOperandReference'},
147
- 'LeftOperand': 'odrl:LeftOperand',
148
- 'leftOperand': {'@type': '@vocab', '@id': 'odrl:leftOperand'},
149
- 'unit': 'odrl:unit',
150
- 'dataType': {'@type': 'xsd:anyType', '@id': 'odrl:datatype'},
151
- 'status': 'odrl:status',
152
-
153
- 'absolutePosition': 'odrl:absolutePosition',
154
- 'absoluteSpatialPosition': 'odrl:absoluteSpatialPosition',
155
- 'absoluteTemporalPosition':'odrl:absoluteTemporalPosition',
156
- 'absoluteSize': 'odrl:absoluteSize',
157
- 'count': 'odrl:count',
158
- 'dateTime': 'odrl:dateTime',
159
- 'delayPeriod': 'odrl:delayPeriod',
160
- 'deliveryChannel': 'odrl:deliveryChannel',
161
- 'elapsedTime': 'odrl:elapsedTime',
162
- 'event': 'odrl:event',
163
- 'fileFormat': 'odrl:fileFormat',
164
- 'industry': 'odrl:industry:',
165
- 'language': 'odrl:language',
166
- 'media': 'odrl:media',
167
- 'meteredTime': 'odrl:meteredTime',
168
- 'payAmount': 'odrl:payAmount',
169
- 'percentage': 'odrl:percentage',
170
- 'product': 'odrl:product',
171
- 'purpose': 'odrl:purpose',
172
- 'recipient': 'odrl:recipient',
173
- 'relativePosition': 'odrl:relativePosition',
174
- 'relativeSpatialPosition': 'odrl:relativeSpatialPosition',
175
- 'relativeTemporalPosition':'odrl:relativeTemporalPosition',
176
- 'relativeSize': 'odrl:relativeSize',
177
- 'resolution': 'odrl:resolution',
178
- 'spatial': 'odrl:spatial',
179
- 'spatialCoordinates': 'odrl:spatialCoordinates',
180
- 'systemDevice': 'odrl:systemDevice',
181
- 'timeInterval': 'odrl:timeInterval',
182
- 'unitOfCount': 'odrl:unitOfCount',
183
- 'version': 'odrl:version',
184
- 'virtualLocation': 'odrl:virtualLocation',
185
-
186
- 'eq': 'odrl:eq',
187
- 'gt': 'odrl:gt',
188
- 'gteq': 'odrl:gteq',
189
- 'lt': 'odrl:lt',
190
- 'lteq': 'odrl:lteq',
191
- 'neq': 'odrl:neg',
192
- 'isA': 'odrl:isA',
193
- 'hasPart': 'odrl:hasPart',
194
- 'isPartOf': 'odrl:isPartOf',
195
- 'isAllOf': 'odrl:isAllOf',
196
- 'isAnyOf': 'odrl:isAnyOf',
197
- 'isNoneOf': 'odrl:isNoneOf',
198
- 'or': 'odrl:or',
199
- 'xone': 'odrl:xone',
200
- 'and': 'odrl:and',
201
- 'andSequence': 'odrl:andSequence',
202
-
203
- 'policyUsage': 'odrl:policyUsage'
204
-
205
- }
206
- };
@@ -1,62 +0,0 @@
1
- /*!
2
- * Copyright (c) 2019-2022 Digital Bazaar, Inc. All rights reserved.
3
- */
4
-
5
- export const CONTEXT_URL = 'https://www.w3.org/2018/credentials/examples/v1';
6
- /* eslint-disable quote-props */
7
- export const CONTEXT = {
8
- '@context': [
9
- {
10
- '@version': 1.1
11
- },
12
- 'https://www.w3.org/ns/odrl.jsonld',
13
- {
14
- 'ex': 'https://example.org/examples#',
15
- 'schema': 'http://schema.org/',
16
- 'rdf': 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
17
-
18
- '3rdPartyCorrelation': 'ex:3rdPartyCorrelation',
19
- 'AllVerifiers': 'ex:AllVerifiers',
20
- 'AlumniCredential': 'ex:AlumniCredential',
21
- 'Archival': 'ex:Archival',
22
- 'BachelorDegree': 'ex:BachelorDegree',
23
- 'Child': 'ex:Child',
24
- 'CLCredentialDefinition2019': 'ex:CLCredentialDefinition2019',
25
- 'CLSignature2019': 'ex:CLSignature2019',
26
- 'DisputeCredential': 'ex:DisputeCredential',
27
- 'IssuerPolicy': 'ex:IssuerPolicy',
28
- 'HolderPolicy': 'ex:HolderPolicy',
29
- 'Mother': 'ex:Mother',
30
- 'PrescriptionCredential': 'ex:PrescriptionCredential',
31
- 'RelationshipCredential': 'ex:RelationshipCredential',
32
- 'UniversityDegreeCredential': 'ex:UniversityDegreeCredential',
33
- 'ZkpExampleSchema2018': 'ex:ZkpExampleSchema2018',
34
-
35
- 'alumniOf': {'@id': 'schema:alumniOf', '@type': 'rdf:HTML'},
36
- 'attributes': 'ex:attributes',
37
- 'child': {'@id': 'ex:child', '@type': '@id'},
38
- 'college': 'ex:college',
39
- 'currentStatus': 'ex:currentStatus',
40
- 'degree': 'ex:degree',
41
- 'degreeSchool': 'ex:degreeSchool',
42
- 'degreeType': 'ex:degreeType',
43
- 'familyName': 'schema:familyName',
44
- 'givenName': 'schema:givenName',
45
- 'issuerData': 'ex:issuerData',
46
- 'name': {'@id': 'schema:name', '@type': 'rdf:HTML'},
47
- 'nonRevocationProof': 'ex:nonRevocationProof',
48
- 'parent': {'@id': 'ex:parent', '@type': '@id'},
49
- 'prescription': 'ex:prescription',
50
- 'primaryProof': 'ex:primaryProof',
51
- 'referenceId': 'ex:referenceId',
52
- 'documentPresence': 'ex:documentPresence',
53
- 'evidenceDocument': 'ex:evidenceDocument',
54
- 'signature': 'ex:signature',
55
- 'signatureCorrectnessProof': 'ex:signatureCorrectnessProof',
56
- 'spouse': 'schema:spouse',
57
- 'statusReason': 'ex:statusReason',
58
- 'subjectPresence': 'ex:subjectPresence',
59
- 'verifier': {'@id': 'ex:verifier', '@type': '@id'},
60
- }
61
- ]
62
- };