@hyperledger/anoncreds-shared 0.2.0-dev.5 → 0.2.0-dev.7

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.
@@ -210,4 +210,62 @@ export type Anoncreds = {
210
210
  objectFree(options: {
211
211
  objectHandle: ObjectHandle;
212
212
  }): void;
213
+ createW3cCredential(options: {
214
+ credentialDefinition: ObjectHandle;
215
+ credentialDefinitionPrivate: ObjectHandle;
216
+ credentialOffer: ObjectHandle;
217
+ credentialRequest: ObjectHandle;
218
+ attributeRawValues: Record<string, string>;
219
+ revocationConfiguration?: NativeCredentialRevocationConfig;
220
+ w3cVersion?: string;
221
+ }): ObjectHandle;
222
+ processW3cCredential(options: {
223
+ credential: ObjectHandle;
224
+ credentialRequestMetadata: ObjectHandle;
225
+ linkSecret: string;
226
+ credentialDefinition: ObjectHandle;
227
+ revocationRegistryDefinition?: ObjectHandle;
228
+ }): ObjectHandle;
229
+ createW3cPresentation(options: {
230
+ presentationRequest: ObjectHandle;
231
+ credentials: NativeCredentialEntry[];
232
+ credentialsProve: NativeCredentialProve[];
233
+ linkSecret: string;
234
+ schemas: Record<string, ObjectHandle>;
235
+ credentialDefinitions: Record<string, ObjectHandle>;
236
+ w3cVersion?: string;
237
+ }): ObjectHandle;
238
+ verifyW3cPresentation(options: {
239
+ presentation: ObjectHandle;
240
+ presentationRequest: ObjectHandle;
241
+ schemas: ObjectHandle[];
242
+ schemaIds: string[];
243
+ credentialDefinitions: ObjectHandle[];
244
+ credentialDefinitionIds: string[];
245
+ revocationRegistryDefinitions?: ObjectHandle[];
246
+ revocationRegistryDefinitionIds?: string[];
247
+ revocationStatusLists?: ObjectHandle[];
248
+ nonRevokedIntervalOverrides?: NativeNonRevokedIntervalOverride[];
249
+ }): boolean;
250
+ w3cPresentationFromJson(options: {
251
+ json: string;
252
+ }): ObjectHandle;
253
+ w3cCredentialFromJson(options: {
254
+ json: string;
255
+ }): ObjectHandle;
256
+ credentialToW3c(options: {
257
+ objectHandle: ObjectHandle;
258
+ credentialDefinition: ObjectHandle;
259
+ w3cVersion?: string;
260
+ }): ObjectHandle;
261
+ credentialFromW3c(options: {
262
+ objectHandle: ObjectHandle;
263
+ }): ObjectHandle;
264
+ w3cCredentialGetIntegrityProofDetails(options: {
265
+ objectHandle: ObjectHandle;
266
+ }): ObjectHandle;
267
+ w3cCredentialProofGetAttribute(options: {
268
+ objectHandle: ObjectHandle;
269
+ name: string;
270
+ }): string;
213
271
  };
@@ -8,6 +8,7 @@ import { CredentialOffer } from './CredentialOffer';
8
8
  import { CredentialRequest } from './CredentialRequest';
9
9
  import { CredentialRequestMetadata } from './CredentialRequestMetadata';
10
10
  import { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
11
+ import { W3cCredential } from './W3cCredential';
11
12
  export type CreateCredentialOptions = {
12
13
  credentialDefinition: CredentialDefinition | JsonObject;
13
14
  credentialDefinitionPrivate: CredentialDefinitionPrivate | JsonObject;
@@ -25,6 +26,13 @@ export type ProcessCredentialOptions = {
25
26
  credentialDefinition: CredentialDefinition | JsonObject;
26
27
  revocationRegistryDefinition?: RevocationRegistryDefinition | JsonObject;
27
28
  };
29
+ export type CredentialToW3cOptions = {
30
+ credentialDefinition: CredentialDefinition | JsonObject;
31
+ w3cVersion?: string;
32
+ };
33
+ export type CredentialFromW3cOptions = {
34
+ credential: W3cCredential;
35
+ };
28
36
  export declare class Credential extends AnoncredsObject {
29
37
  static create(options: CreateCredentialOptions): Credential;
30
38
  static fromJson(json: JsonObject): Credential;
@@ -33,4 +41,6 @@ export declare class Credential extends AnoncredsObject {
33
41
  get credentialDefinitionId(): string;
34
42
  get revocationRegistryId(): string;
35
43
  get revocationRegistryIndex(): number | undefined;
44
+ toW3c(options: CredentialToW3cOptions): W3cCredential;
45
+ static fromW3c(options: CredentialFromW3cOptions): Credential;
36
46
  }
@@ -9,6 +9,7 @@ const CredentialOffer_1 = require("./CredentialOffer");
9
9
  const CredentialRequest_1 = require("./CredentialRequest");
10
10
  const CredentialRequestMetadata_1 = require("./CredentialRequestMetadata");
11
11
  const RevocationRegistryDefinition_1 = require("./RevocationRegistryDefinition");
12
+ const W3cCredential_1 = require("./W3cCredential");
12
13
  const utils_1 = require("./utils");
13
14
  class Credential extends AnoncredsObject_1.AnoncredsObject {
14
15
  static create(options) {
@@ -96,6 +97,30 @@ class Credential extends AnoncredsObject_1.AnoncredsObject {
96
97
  const index = register_1.anoncreds.credentialGetAttribute({ objectHandle: this.handle, name: 'rev_reg_index' });
97
98
  return index ? Number(index) : undefined;
98
99
  }
100
+ toW3c(options) {
101
+ let credential;
102
+ // Objects created within this method must be freed up
103
+ const objectHandles = [];
104
+ try {
105
+ const credentialDefinition = options.credentialDefinition instanceof CredentialDefinition_1.CredentialDefinition
106
+ ? options.credentialDefinition.handle
107
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(options.credentialDefinition).handle, objectHandles);
108
+ credential = new W3cCredential_1.W3cCredential(register_1.anoncreds.credentialToW3c({
109
+ objectHandle: this.handle,
110
+ credentialDefinition,
111
+ w3cVersion: options.w3cVersion
112
+ }).handle);
113
+ }
114
+ finally {
115
+ objectHandles.forEach((handle) => {
116
+ handle.clear();
117
+ });
118
+ }
119
+ return credential;
120
+ }
121
+ static fromW3c(options) {
122
+ return new Credential(register_1.anoncreds.credentialFromW3c({ objectHandle: options.credential.handle }).handle);
123
+ }
99
124
  }
100
125
  exports.Credential = Credential;
101
126
  //# sourceMappingURL=Credential.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Credential.js","sourceRoot":"","sources":["../../src/api/Credential.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Credential.js","sourceRoot":"","sources":["../../src/api/Credential.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { CredentialRevocationConfig } from './CredentialRevocationConfig';
2
+ import type { RevocationStatusList } from './RevocationStatusList';
3
+ import type { JsonObject } from '../types';
4
+ import { AnoncredsObject } from '../AnoncredsObject';
5
+ import { Credential } from './Credential';
6
+ import { CredentialDefinition } from './CredentialDefinition';
7
+ import { CredentialDefinitionPrivate } from './CredentialDefinitionPrivate';
8
+ import { CredentialOffer } from './CredentialOffer';
9
+ import { CredentialRequest } from './CredentialRequest';
10
+ import { CredentialRequestMetadata } from './CredentialRequestMetadata';
11
+ import { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
12
+ export type CreateW3cCredentialOptions = {
13
+ credentialDefinition: CredentialDefinition | JsonObject;
14
+ credentialDefinitionPrivate: CredentialDefinitionPrivate | JsonObject;
15
+ credentialOffer: CredentialOffer | JsonObject;
16
+ credentialRequest: CredentialRequest | JsonObject;
17
+ attributeRawValues: Record<string, string>;
18
+ revocationRegistryId?: string;
19
+ revocationConfiguration?: CredentialRevocationConfig;
20
+ revocationStatusList?: RevocationStatusList | JsonObject;
21
+ w3cVersion?: string;
22
+ };
23
+ export type ProcessW3cCredentialOptions = {
24
+ credentialRequestMetadata: CredentialRequestMetadata | JsonObject;
25
+ linkSecret: string;
26
+ credentialDefinition: CredentialDefinition | JsonObject;
27
+ revocationRegistryDefinition?: RevocationRegistryDefinition | JsonObject;
28
+ };
29
+ export type W3cCredentialFromLegacyOptions = {
30
+ credential: Credential;
31
+ credentialDefinition: CredentialDefinition | JsonObject;
32
+ w3cVersion?: string;
33
+ };
34
+ export declare class W3cCredential extends AnoncredsObject {
35
+ private proofDetails?;
36
+ static create(options: CreateW3cCredentialOptions): W3cCredential;
37
+ static fromJson(json: JsonObject): W3cCredential;
38
+ process(options: ProcessW3cCredentialOptions): this;
39
+ private getProofDetails;
40
+ get schemaId(): string;
41
+ get credentialDefinitionId(): string;
42
+ get revocationRegistryId(): string;
43
+ get revocationRegistryIndex(): number | undefined;
44
+ get timestamp(): number | undefined;
45
+ toLegacy(): Credential;
46
+ static fromLegacy(options: W3cCredentialFromLegacyOptions): W3cCredential;
47
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.W3cCredential = void 0;
4
+ const AnoncredsObject_1 = require("../AnoncredsObject");
5
+ const register_1 = require("../register");
6
+ const Credential_1 = require("./Credential");
7
+ const CredentialDefinition_1 = require("./CredentialDefinition");
8
+ const CredentialDefinitionPrivate_1 = require("./CredentialDefinitionPrivate");
9
+ const CredentialOffer_1 = require("./CredentialOffer");
10
+ const CredentialRequest_1 = require("./CredentialRequest");
11
+ const CredentialRequestMetadata_1 = require("./CredentialRequestMetadata");
12
+ const RevocationRegistryDefinition_1 = require("./RevocationRegistryDefinition");
13
+ const utils_1 = require("./utils");
14
+ class W3cCredential extends AnoncredsObject_1.AnoncredsObject {
15
+ static create(options) {
16
+ var _a;
17
+ let credential;
18
+ // Objects created within this method must be freed up
19
+ const objectHandles = [];
20
+ try {
21
+ const credentialDefinition = options.credentialDefinition instanceof CredentialDefinition_1.CredentialDefinition
22
+ ? options.credentialDefinition.handle
23
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(options.credentialDefinition).handle, objectHandles);
24
+ const credentialDefinitionPrivate = options.credentialDefinitionPrivate instanceof CredentialDefinitionPrivate_1.CredentialDefinitionPrivate
25
+ ? options.credentialDefinitionPrivate.handle
26
+ : (0, utils_1.pushToArray)(CredentialDefinitionPrivate_1.CredentialDefinitionPrivate.fromJson(options.credentialDefinitionPrivate).handle, objectHandles);
27
+ const credentialOffer = options.credentialOffer instanceof CredentialOffer_1.CredentialOffer
28
+ ? options.credentialOffer.handle
29
+ : (0, utils_1.pushToArray)(CredentialOffer_1.CredentialOffer.fromJson(options.credentialOffer).handle, objectHandles);
30
+ const credentialRequest = options.credentialRequest instanceof CredentialRequest_1.CredentialRequest
31
+ ? options.credentialRequest.handle
32
+ : (0, utils_1.pushToArray)(CredentialRequest_1.CredentialRequest.fromJson(options.credentialRequest).handle, objectHandles);
33
+ credential = register_1.anoncreds.createW3cCredential({
34
+ credentialDefinition,
35
+ credentialDefinitionPrivate,
36
+ credentialOffer,
37
+ credentialRequest,
38
+ attributeRawValues: options.attributeRawValues,
39
+ revocationConfiguration: (_a = options.revocationConfiguration) === null || _a === void 0 ? void 0 : _a.native,
40
+ w3cVersion: options.w3cVersion
41
+ });
42
+ }
43
+ finally {
44
+ objectHandles.forEach((handle) => {
45
+ handle.clear();
46
+ });
47
+ }
48
+ return new W3cCredential(credential.handle);
49
+ }
50
+ static fromJson(json) {
51
+ return new W3cCredential(register_1.anoncreds.w3cCredentialFromJson({ json: JSON.stringify(json) }).handle);
52
+ }
53
+ process(options) {
54
+ let credential;
55
+ // Objects created within this method must be freed up
56
+ const objectHandles = [];
57
+ try {
58
+ const credentialDefinition = options.credentialDefinition instanceof CredentialDefinition_1.CredentialDefinition
59
+ ? options.credentialDefinition.handle
60
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(options.credentialDefinition).handle, objectHandles);
61
+ const credentialRequestMetadata = options.credentialRequestMetadata instanceof CredentialRequestMetadata_1.CredentialRequestMetadata
62
+ ? options.credentialRequestMetadata.handle
63
+ : (0, utils_1.pushToArray)(CredentialRequestMetadata_1.CredentialRequestMetadata.fromJson(options.credentialRequestMetadata).handle, objectHandles);
64
+ const revocationRegistryDefinition = options.revocationRegistryDefinition instanceof RevocationRegistryDefinition_1.RevocationRegistryDefinition
65
+ ? options.revocationRegistryDefinition.handle
66
+ : options.revocationRegistryDefinition !== undefined
67
+ ? (0, utils_1.pushToArray)(RevocationRegistryDefinition_1.RevocationRegistryDefinition.fromJson(options.revocationRegistryDefinition).handle, objectHandles)
68
+ : undefined;
69
+ credential = register_1.anoncreds.processW3cCredential({
70
+ credential: this.handle,
71
+ credentialDefinition,
72
+ credentialRequestMetadata,
73
+ linkSecret: options.linkSecret,
74
+ revocationRegistryDefinition
75
+ });
76
+ // We can discard previous handle and store the new one
77
+ this.handle.clear();
78
+ this.handle = credential;
79
+ }
80
+ finally {
81
+ objectHandles.forEach((handle) => {
82
+ handle.clear();
83
+ });
84
+ }
85
+ return this;
86
+ }
87
+ getProofDetails() {
88
+ if (!this.proofDetails) {
89
+ this.proofDetails = register_1.anoncreds.w3cCredentialGetIntegrityProofDetails({ objectHandle: this.handle });
90
+ }
91
+ return this.proofDetails;
92
+ }
93
+ get schemaId() {
94
+ const proofDetails = this.getProofDetails();
95
+ return register_1.anoncreds.w3cCredentialProofGetAttribute({ objectHandle: proofDetails, name: 'schema_id' });
96
+ }
97
+ get credentialDefinitionId() {
98
+ const proofDetails = this.getProofDetails();
99
+ return register_1.anoncreds.w3cCredentialProofGetAttribute({ objectHandle: proofDetails, name: 'cred_def_id' });
100
+ }
101
+ get revocationRegistryId() {
102
+ const proofDetails = this.getProofDetails();
103
+ return register_1.anoncreds.w3cCredentialProofGetAttribute({ objectHandle: proofDetails, name: 'rev_reg_id' });
104
+ }
105
+ get revocationRegistryIndex() {
106
+ const proofDetails = this.getProofDetails();
107
+ const index = register_1.anoncreds.w3cCredentialProofGetAttribute({ objectHandle: proofDetails, name: 'rev_reg_index' });
108
+ return index ? Number(index) : undefined;
109
+ }
110
+ get timestamp() {
111
+ const proofDetails = this.getProofDetails();
112
+ const index = register_1.anoncreds.w3cCredentialProofGetAttribute({ objectHandle: proofDetails, name: 'timestamp' });
113
+ return index ? Number(index) : undefined;
114
+ }
115
+ toLegacy() {
116
+ return new Credential_1.Credential(register_1.anoncreds.credentialFromW3c({
117
+ objectHandle: this.handle
118
+ }).handle);
119
+ }
120
+ static fromLegacy(options) {
121
+ let credential;
122
+ // Objects created within this method must be freed up
123
+ const objectHandles = [];
124
+ try {
125
+ const credentialDefinition = options.credentialDefinition instanceof CredentialDefinition_1.CredentialDefinition
126
+ ? options.credentialDefinition.handle
127
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(options.credentialDefinition).handle, objectHandles);
128
+ credential = new W3cCredential(register_1.anoncreds.credentialToW3c({
129
+ objectHandle: options.credential.handle,
130
+ credentialDefinition,
131
+ w3cVersion: options.w3cVersion
132
+ }).handle);
133
+ }
134
+ finally {
135
+ objectHandles.forEach((handle) => {
136
+ handle.clear();
137
+ });
138
+ }
139
+ return credential;
140
+ }
141
+ }
142
+ exports.W3cCredential = W3cCredential;
143
+ //# sourceMappingURL=W3cCredential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"W3cCredential.js","sourceRoot":"","sources":["../../src/api/W3cCredential.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { CredentialProve, NonRevokedIntervalOverride } from './Presentation';
2
+ import type { JsonObject } from '../types';
3
+ import { AnoncredsObject } from '../AnoncredsObject';
4
+ import { CredentialDefinition } from './CredentialDefinition';
5
+ import { CredentialRevocationState } from './CredentialRevocationState';
6
+ import { PresentationRequest } from './PresentationRequest';
7
+ import { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
8
+ import { RevocationStatusList } from './RevocationStatusList';
9
+ import { Schema } from './Schema';
10
+ import { W3cCredential } from './W3cCredential';
11
+ export type W3cCredentialEntry = {
12
+ credential: W3cCredential | JsonObject;
13
+ timestamp?: number;
14
+ revocationState?: CredentialRevocationState | JsonObject;
15
+ };
16
+ export type CreateW3cPresentationOptions = {
17
+ presentationRequest: PresentationRequest | JsonObject;
18
+ credentials: W3cCredentialEntry[];
19
+ credentialsProve: CredentialProve[];
20
+ linkSecret: string;
21
+ schemas: Record<string, Schema | JsonObject>;
22
+ credentialDefinitions: Record<string, CredentialDefinition | JsonObject>;
23
+ };
24
+ export type VerifyW3cPresentationOptions = {
25
+ presentationRequest: PresentationRequest | JsonObject;
26
+ schemas: Record<string, Schema | JsonObject>;
27
+ credentialDefinitions: Record<string, CredentialDefinition | JsonObject>;
28
+ revocationRegistryDefinitions?: Record<string, RevocationRegistryDefinition | JsonObject>;
29
+ revocationStatusLists?: (RevocationStatusList | JsonObject)[];
30
+ nonRevokedIntervalOverrides?: NonRevokedIntervalOverride[];
31
+ };
32
+ export declare class W3cPresentation extends AnoncredsObject {
33
+ static create(options: CreateW3cPresentationOptions): W3cPresentation;
34
+ static fromJson(json: JsonObject): W3cPresentation;
35
+ verify(options: VerifyW3cPresentationOptions): boolean;
36
+ }
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.W3cPresentation = void 0;
4
+ const AnoncredsObject_1 = require("../AnoncredsObject");
5
+ const register_1 = require("../register");
6
+ const CredentialDefinition_1 = require("./CredentialDefinition");
7
+ const CredentialRevocationState_1 = require("./CredentialRevocationState");
8
+ const PresentationRequest_1 = require("./PresentationRequest");
9
+ const RevocationRegistryDefinition_1 = require("./RevocationRegistryDefinition");
10
+ const RevocationStatusList_1 = require("./RevocationStatusList");
11
+ const Schema_1 = require("./Schema");
12
+ const W3cCredential_1 = require("./W3cCredential");
13
+ const utils_1 = require("./utils");
14
+ class W3cPresentation extends AnoncredsObject_1.AnoncredsObject {
15
+ static create(options) {
16
+ let presentationHandle;
17
+ // Objects created within this method must be freed up
18
+ const objectHandles = [];
19
+ try {
20
+ const presentationRequest = options.presentationRequest instanceof PresentationRequest_1.PresentationRequest
21
+ ? options.presentationRequest.handle
22
+ : (0, utils_1.pushToArray)(PresentationRequest_1.PresentationRequest.fromJson(options.presentationRequest).handle, objectHandles);
23
+ presentationHandle = register_1.anoncreds.createW3cPresentation({
24
+ presentationRequest,
25
+ credentials: options.credentials.map((item) => ({
26
+ credential: item.credential instanceof W3cCredential_1.W3cCredential
27
+ ? item.credential.handle
28
+ : (0, utils_1.pushToArray)(W3cCredential_1.W3cCredential.fromJson(item.credential).handle, objectHandles),
29
+ revocationState: item.revocationState instanceof CredentialRevocationState_1.CredentialRevocationState
30
+ ? item.revocationState.handle
31
+ : item.revocationState !== undefined
32
+ ? (0, utils_1.pushToArray)(CredentialRevocationState_1.CredentialRevocationState.fromJson(item.revocationState).handle, objectHandles)
33
+ : undefined,
34
+ timestamp: item.timestamp
35
+ })),
36
+ credentialsProve: options.credentialsProve,
37
+ linkSecret: options.linkSecret,
38
+ schemas: Object.entries(options.schemas).reduce((prev, [id, object]) => {
39
+ const objectHandle = object instanceof Schema_1.Schema ? object.handle : (0, utils_1.pushToArray)(Schema_1.Schema.fromJson(object).handle, objectHandles);
40
+ prev[id] = objectHandle;
41
+ return prev;
42
+ }, {}),
43
+ credentialDefinitions: Object.entries(options.credentialDefinitions).reduce((prev, [id, object]) => {
44
+ const objectHandle = object instanceof CredentialDefinition_1.CredentialDefinition
45
+ ? object.handle
46
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(object).handle, objectHandles);
47
+ prev[id] = objectHandle;
48
+ return prev;
49
+ }, {})
50
+ }).handle;
51
+ }
52
+ finally {
53
+ objectHandles.forEach((handle) => {
54
+ handle.clear();
55
+ });
56
+ }
57
+ return new W3cPresentation(presentationHandle);
58
+ }
59
+ static fromJson(json) {
60
+ return new W3cPresentation(register_1.anoncreds.w3cPresentationFromJson({ json: JSON.stringify(json) }).handle);
61
+ }
62
+ verify(options) {
63
+ var _a;
64
+ const schemas = Object.values(options.schemas);
65
+ const schemaIds = Object.keys(options.schemas);
66
+ const credentialDefinitions = Object.values(options.credentialDefinitions);
67
+ const credentialDefinitionIds = Object.keys(options.credentialDefinitions);
68
+ const revocationRegistryDefinitions = options.revocationRegistryDefinitions
69
+ ? Object.values(options.revocationRegistryDefinitions)
70
+ : undefined;
71
+ const revocationRegistryDefinitionIds = options.revocationRegistryDefinitions
72
+ ? Object.keys(options.revocationRegistryDefinitions)
73
+ : undefined;
74
+ let verified;
75
+ const objectHandles = [];
76
+ try {
77
+ const presentationRequest = options.presentationRequest instanceof PresentationRequest_1.PresentationRequest
78
+ ? options.presentationRequest.handle
79
+ : (0, utils_1.pushToArray)(PresentationRequest_1.PresentationRequest.fromJson(options.presentationRequest).handle, objectHandles);
80
+ verified = register_1.anoncreds.verifyW3cPresentation({
81
+ presentation: this.handle,
82
+ presentationRequest,
83
+ schemas: schemas.map((o) => o instanceof Schema_1.Schema ? o.handle : (0, utils_1.pushToArray)(Schema_1.Schema.fromJson(o).handle, objectHandles)),
84
+ schemaIds,
85
+ credentialDefinitions: credentialDefinitions.map((o) => o instanceof CredentialDefinition_1.CredentialDefinition
86
+ ? o.handle
87
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(o).handle, objectHandles)),
88
+ credentialDefinitionIds,
89
+ revocationRegistryDefinitions: revocationRegistryDefinitions === null || revocationRegistryDefinitions === void 0 ? void 0 : revocationRegistryDefinitions.map((o) => o instanceof RevocationRegistryDefinition_1.RevocationRegistryDefinition
90
+ ? o.handle
91
+ : (0, utils_1.pushToArray)(RevocationRegistryDefinition_1.RevocationRegistryDefinition.fromJson(o).handle, objectHandles)),
92
+ revocationRegistryDefinitionIds,
93
+ revocationStatusLists: (_a = options.revocationStatusLists) === null || _a === void 0 ? void 0 : _a.map((o) => o instanceof RevocationStatusList_1.RevocationStatusList
94
+ ? o.handle
95
+ : (0, utils_1.pushToArray)(RevocationStatusList_1.RevocationStatusList.fromJson(o).handle, objectHandles)),
96
+ nonRevokedIntervalOverrides: options.nonRevokedIntervalOverrides
97
+ });
98
+ }
99
+ finally {
100
+ objectHandles.forEach((handle) => {
101
+ handle.clear();
102
+ });
103
+ }
104
+ return verified;
105
+ }
106
+ }
107
+ exports.W3cPresentation = W3cPresentation;
108
+ //# sourceMappingURL=W3cPresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"W3cPresentation.js","sourceRoot":"","sources":["../../src/api/W3cPresentation.ts"],"names":[],"mappings":"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"}
@@ -15,3 +15,5 @@ export * from './RevocationRegistry';
15
15
  export * from './RevocationRegistryDefinition';
16
16
  export * from './RevocationRegistryDefinitionPrivate';
17
17
  export * from './RevocationStatusList';
18
+ export * from './W3cCredential';
19
+ export * from './W3cPresentation';
@@ -31,4 +31,6 @@ __exportStar(require("./RevocationRegistry"), exports);
31
31
  __exportStar(require("./RevocationRegistryDefinition"), exports);
32
32
  __exportStar(require("./RevocationRegistryDefinitionPrivate"), exports);
33
33
  __exportStar(require("./RevocationStatusList"), exports);
34
+ __exportStar(require("./W3cCredential"), exports);
35
+ __exportStar(require("./W3cPresentation"), exports);
34
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,yDAAsC;AACtC,gEAA6C;AAC7C,+DAA4C;AAC5C,8DAA2C;AAC3C,wDAAqC;AACrC,oDAAiC;AACjC,sDAAmC;AACnC,8DAA2C;AAC3C,+CAA4B;AAC5B,wDAAqC;AACrC,iDAA8B;AAC9B,2CAAwB;AACxB,uDAAoC;AACpC,iEAA8C;AAC9C,wEAAqD;AACrD,yDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,yDAAsC;AACtC,gEAA6C;AAC7C,+DAA4C;AAC5C,8DAA2C;AAC3C,wDAAqC;AACrC,oDAAiC;AACjC,sDAAmC;AACnC,8DAA2C;AAC3C,+CAA4B;AAC5B,wDAAqC;AACrC,iDAA8B;AAC9B,2CAAwB;AACxB,uDAAoC;AACpC,iEAA8C;AAC9C,wEAAqD;AACrD,yDAAsC;AACtC,kDAA+B;AAC/B,oDAAiC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperledger/anoncreds-shared",
3
- "version": "0.2.0-dev.5",
3
+ "version": "0.2.0-dev.7",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Anoncreds wrapper library with NodeJS and React Native",
6
6
  "main": "build/index",
@@ -27,5 +27,5 @@
27
27
  "rimraf": "3.0.2",
28
28
  "typescript": "~5.2.2"
29
29
  },
30
- "gitHead": "d87d60a887a80b709dda4ab5b52af2ebe7c7630a"
30
+ "gitHead": "8c7a83a563cb318ba169d3515988b30fc031d85d"
31
31
  }