@hyperledger/anoncreds-shared 0.1.0-dev.7 → 0.1.0-dev.9

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 (63) hide show
  1. package/build/Anoncreds.d.ts +10 -2
  2. package/build/AnoncredsObject.d.ts +2 -1
  3. package/build/AnoncredsObject.js +1 -1
  4. package/build/AnoncredsObject.js.map +1 -1
  5. package/build/api/Credential.d.ts +20 -19
  6. package/build/api/Credential.js +81 -23
  7. package/build/api/Credential.js.map +1 -1
  8. package/build/api/CredentialDefinition.d.ts +4 -3
  9. package/build/api/CredentialDefinition.js +26 -13
  10. package/build/api/CredentialDefinition.js.map +1 -1
  11. package/build/api/CredentialDefinitionPrivate.d.ts +2 -1
  12. package/build/api/CredentialDefinitionPrivate.js +2 -2
  13. package/build/api/CredentialDefinitionPrivate.js.map +1 -1
  14. package/build/api/CredentialOffer.d.ts +4 -3
  15. package/build/api/CredentialOffer.js +21 -7
  16. package/build/api/CredentialOffer.js.map +1 -1
  17. package/build/api/CredentialRequest.d.ts +9 -7
  18. package/build/api/CredentialRequest.js +33 -11
  19. package/build/api/CredentialRequest.js.map +1 -1
  20. package/build/api/CredentialRequestMetadata.d.ts +2 -1
  21. package/build/api/CredentialRequestMetadata.js +2 -2
  22. package/build/api/CredentialRequestMetadata.js.map +1 -1
  23. package/build/api/CredentialRevocationConfig.d.ts +1 -0
  24. package/build/api/CredentialRevocationConfig.js +4 -0
  25. package/build/api/CredentialRevocationConfig.js.map +1 -1
  26. package/build/api/CredentialRevocationState.d.ts +4 -3
  27. package/build/api/CredentialRevocationState.js +28 -10
  28. package/build/api/CredentialRevocationState.js.map +1 -1
  29. package/build/api/KeyCorrectnessProof.d.ts +2 -1
  30. package/build/api/KeyCorrectnessProof.js +2 -2
  31. package/build/api/KeyCorrectnessProof.js.map +1 -1
  32. package/build/api/MasterSecret.d.ts +2 -1
  33. package/build/api/MasterSecret.js +2 -2
  34. package/build/api/MasterSecret.js.map +1 -1
  35. package/build/api/Presentation.d.ts +25 -18
  36. package/build/api/Presentation.js +80 -34
  37. package/build/api/Presentation.js.map +1 -1
  38. package/build/api/PresentationRequest.d.ts +2 -1
  39. package/build/api/PresentationRequest.js +2 -2
  40. package/build/api/PresentationRequest.js.map +1 -1
  41. package/build/api/RevocationRegistry.d.ts +2 -1
  42. package/build/api/RevocationRegistry.js +2 -2
  43. package/build/api/RevocationRegistry.js.map +1 -1
  44. package/build/api/RevocationRegistryDefinition.d.ts +4 -3
  45. package/build/api/RevocationRegistryDefinition.js +18 -5
  46. package/build/api/RevocationRegistryDefinition.js.map +1 -1
  47. package/build/api/RevocationRegistryDefinitionPrivate.d.ts +2 -1
  48. package/build/api/RevocationRegistryDefinitionPrivate.js +2 -2
  49. package/build/api/RevocationRegistryDefinitionPrivate.js.map +1 -1
  50. package/build/api/RevocationRegistryDelta.d.ts +2 -1
  51. package/build/api/RevocationRegistryDelta.js +2 -2
  52. package/build/api/RevocationRegistryDelta.js.map +1 -1
  53. package/build/api/RevocationStatusList.d.ts +6 -3
  54. package/build/api/RevocationStatusList.js +31 -3
  55. package/build/api/RevocationStatusList.js.map +1 -1
  56. package/build/api/Schema.d.ts +2 -1
  57. package/build/api/Schema.js +2 -2
  58. package/build/api/Schema.js.map +1 -1
  59. package/build/api/utils.d.ts +1 -0
  60. package/build/api/utils.js +6 -0
  61. package/build/api/utils.js.map +1 -0
  62. package/build/types.d.ts +1 -0
  63. package/package.json +2 -2
@@ -3,19 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CredentialRevocationState = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
+ const RevocationRegistryDefinition_1 = require("./RevocationRegistryDefinition");
7
+ const RevocationStatusList_1 = require("./RevocationStatusList");
8
+ const utils_1 = require("./utils");
6
9
  class CredentialRevocationState extends AnoncredsObject_1.AnoncredsObject {
7
10
  static create(options) {
8
- return new CredentialRevocationState(register_1.anoncreds.createOrUpdateRevocationState({
9
- revocationRegistryDefinition: options.revocationRegistryDefinition.handle,
10
- revocationStatusList: options.revocationStatusList.handle,
11
- revocationRegistryIndex: options.revocationRegistryIndex,
12
- tailsPath: options.tailsPath,
13
- oldRevocationStatusList: undefined,
14
- previousRevocationState: undefined,
15
- }).handle);
11
+ let credentialRevocationStateHandle;
12
+ // Objects created within this method must be freed up
13
+ const objectHandles = [];
14
+ try {
15
+ const revocationRegistryDefinition = options.revocationRegistryDefinition instanceof RevocationRegistryDefinition_1.RevocationRegistryDefinition
16
+ ? options.revocationRegistryDefinition.handle
17
+ : (0, utils_1.pushToArray)(RevocationRegistryDefinition_1.RevocationRegistryDefinition.fromJson(options.revocationRegistryDefinition).handle, objectHandles);
18
+ const revocationStatusList = options.revocationStatusList instanceof RevocationStatusList_1.RevocationStatusList
19
+ ? options.revocationStatusList.handle
20
+ : (0, utils_1.pushToArray)(RevocationStatusList_1.RevocationStatusList.fromJson(options.revocationStatusList).handle, objectHandles);
21
+ credentialRevocationStateHandle = register_1.anoncreds.createOrUpdateRevocationState({
22
+ revocationRegistryDefinition,
23
+ revocationStatusList,
24
+ revocationRegistryIndex: options.revocationRegistryIndex,
25
+ tailsPath: options.tailsPath,
26
+ oldRevocationStatusList: undefined,
27
+ previousRevocationState: undefined,
28
+ }).handle;
29
+ }
30
+ finally {
31
+ objectHandles.forEach((handle) => handle.clear());
32
+ }
33
+ return new CredentialRevocationState(credentialRevocationStateHandle);
16
34
  }
17
- static load(json) {
18
- return new CredentialRevocationState(register_1.anoncreds.revocationStateFromJson({ json }).handle);
35
+ static fromJson(json) {
36
+ return new CredentialRevocationState(register_1.anoncreds.revocationStateFromJson({ json: JSON.stringify(json) }).handle);
19
37
  }
20
38
  update(options) {
21
39
  this.handle = register_1.anoncreds.createOrUpdateRevocationState({
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialRevocationState.js","sourceRoot":"","sources":["../../src/api/CredentialRevocationState.ts"],"names":[],"mappings":";;;AAIA,wDAAoD;AACpD,0CAAuC;AAgBvC,MAAa,yBAA0B,SAAQ,iCAAe;IACrD,MAAM,CAAC,MAAM,CAAC,OAAqC;QACxD,OAAO,IAAI,yBAAyB,CAClC,oBAAS,CAAC,6BAA6B,CAAC;YACtC,4BAA4B,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM;YACzE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM;YACzD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,uBAAuB,EAAE,SAAS;YAClC,uBAAuB,EAAE,SAAS;SACnC,CAAC,CAAC,MAAM,CACV,CAAA;IACH,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,yBAAyB,CAAC,oBAAS,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1F,CAAC;IAEM,MAAM,CAAC,OAAqC;QACjD,IAAI,CAAC,MAAM,GAAG,oBAAS,CAAC,6BAA6B,CAAC;YACpD,4BAA4B,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM;YACzE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM;YACzD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,CAAC,MAAM;YAC/D,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,CAAC,MAAM;SAChE,CAAC,CAAA;IACJ,CAAC;CACF;AA5BD,8DA4BC"}
1
+ {"version":3,"file":"CredentialRevocationState.js","sourceRoot":"","sources":["../../src/api/CredentialRevocationState.ts"],"names":[],"mappings":";;;AAIA,wDAAoD;AACpD,0CAAuC;AAEvC,iFAA6E;AAC7E,iEAA6D;AAC7D,mCAAqC;AAgBrC,MAAa,yBAA0B,SAAQ,iCAAe;IACrD,MAAM,CAAC,MAAM,CAAC,OAAqC;QACxD,IAAI,+BAA+B,CAAA;QACnC,sDAAsD;QACtD,MAAM,aAAa,GAAmB,EAAE,CAAA;QACxC,IAAI;YACF,MAAM,4BAA4B,GAChC,OAAO,CAAC,4BAA4B,YAAY,2DAA4B;gBAC1E,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM;gBAC7C,CAAC,CAAC,IAAA,mBAAW,EACT,2DAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,MAAM,EAClF,aAAa,CACd,CAAA;YAEP,MAAM,oBAAoB,GACxB,OAAO,CAAC,oBAAoB,YAAY,2CAAoB;gBAC1D,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM;gBACrC,CAAC,CAAC,IAAA,mBAAW,EAAC,2CAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YAEpG,+BAA+B,GAAG,oBAAS,CAAC,6BAA6B,CAAC;gBACxE,4BAA4B;gBAC5B,oBAAoB;gBACpB,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;gBACxD,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,uBAAuB,EAAE,SAAS;gBAClC,uBAAuB,EAAE,SAAS;aACnC,CAAC,CAAC,MAAM,CAAA;SACV;gBAAS;YACR,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;SAClD;QACD,OAAO,IAAI,yBAAyB,CAAC,+BAA+B,CAAC,CAAA;IACvE,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,yBAAyB,CAAC,oBAAS,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAChH,CAAC;IAEM,MAAM,CAAC,OAAqC;QACjD,IAAI,CAAC,MAAM,GAAG,oBAAS,CAAC,6BAA6B,CAAC;YACpD,4BAA4B,EAAE,OAAO,CAAC,4BAA4B,CAAC,MAAM;YACzE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM;YACzD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,CAAC,MAAM;YAC/D,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,CAAC,MAAM;SAChE,CAAC,CAAA;IACJ,CAAC;CACF;AA/CD,8DA+CC"}
@@ -1,4 +1,5 @@
1
+ import type { JsonObject } from '../types';
1
2
  import { AnoncredsObject } from '../AnoncredsObject';
2
3
  export declare class KeyCorrectnessProof extends AnoncredsObject {
3
- static load(json: string): KeyCorrectnessProof;
4
+ static fromJson(json: JsonObject): KeyCorrectnessProof;
4
5
  }
@@ -4,8 +4,8 @@ exports.KeyCorrectnessProof = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
6
  class KeyCorrectnessProof extends AnoncredsObject_1.AnoncredsObject {
7
- static load(json) {
8
- return new KeyCorrectnessProof(register_1.anoncreds.keyCorrectnessProofFromJson({ json }).handle);
7
+ static fromJson(json) {
8
+ return new KeyCorrectnessProof(register_1.anoncreds.keyCorrectnessProofFromJson({ json: JSON.stringify(json) }).handle);
9
9
  }
10
10
  }
11
11
  exports.KeyCorrectnessProof = KeyCorrectnessProof;
@@ -1 +1 @@
1
- {"version":3,"file":"KeyCorrectnessProof.js","sourceRoot":"","sources":["../../src/api/KeyCorrectnessProof.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,mBAAoB,SAAQ,iCAAe;IAC/C,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,mBAAmB,CAAC,oBAAS,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACxF,CAAC;CACF;AAJD,kDAIC"}
1
+ {"version":3,"file":"KeyCorrectnessProof.js","sourceRoot":"","sources":["../../src/api/KeyCorrectnessProof.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,mBAAoB,SAAQ,iCAAe;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,mBAAmB,CAAC,oBAAS,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC9G,CAAC;CACF;AAJD,kDAIC"}
@@ -1,5 +1,6 @@
1
+ import type { JsonObject } from '../types';
1
2
  import { AnoncredsObject } from '../AnoncredsObject';
2
3
  export declare class MasterSecret extends AnoncredsObject {
3
4
  static create(): MasterSecret;
4
- static load(json: string): MasterSecret;
5
+ static fromJson(json: JsonObject): MasterSecret;
5
6
  }
@@ -7,8 +7,8 @@ class MasterSecret extends AnoncredsObject_1.AnoncredsObject {
7
7
  static create() {
8
8
  return new MasterSecret(register_1.anoncreds.createMasterSecret().handle);
9
9
  }
10
- static load(json) {
11
- return new MasterSecret(register_1.anoncreds.masterSecretFromJson({ json }).handle);
10
+ static fromJson(json) {
11
+ return new MasterSecret(register_1.anoncreds.masterSecretFromJson({ json: JSON.stringify(json) }).handle);
12
12
  }
13
13
  }
14
14
  exports.MasterSecret = MasterSecret;
@@ -1 +1 @@
1
- {"version":3,"file":"MasterSecret.js","sourceRoot":"","sources":["../../src/api/MasterSecret.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,YAAa,SAAQ,iCAAe;IACxC,MAAM,CAAC,MAAM;QAClB,OAAO,IAAI,YAAY,CAAC,oBAAS,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAA;IAChE,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,YAAY,CAAC,oBAAS,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1E,CAAC;CACF;AARD,oCAQC"}
1
+ {"version":3,"file":"MasterSecret.js","sourceRoot":"","sources":["../../src/api/MasterSecret.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,YAAa,SAAQ,iCAAe;IACxC,MAAM,CAAC,MAAM;QAClB,OAAO,IAAI,YAAY,CAAC,oBAAS,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAA;IAChE,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,YAAY,CAAC,oBAAS,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAChG,CAAC;CACF;AARD,oCAQC"}
@@ -1,17 +1,23 @@
1
- import type { Credential } from './Credential';
2
- import type { CredentialDefinition } from './CredentialDefinition';
3
- import type { CredentialRevocationState } from './CredentialRevocationState';
4
- import type { MasterSecret } from './MasterSecret';
5
- import type { PresentationRequest } from './PresentationRequest';
1
+ import type { JsonObject } from '../types';
6
2
  import type { RevocationRegistry } from './RevocationRegistry';
7
- import type { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
8
3
  import type { RevocationStatusList } from './RevocationStatusList';
9
- import type { Schema } from './Schema';
10
4
  import { AnoncredsObject } from '../AnoncredsObject';
5
+ import { Credential } from './Credential';
6
+ import { CredentialDefinition } from './CredentialDefinition';
7
+ import { CredentialRevocationState } from './CredentialRevocationState';
8
+ import { MasterSecret } from './MasterSecret';
9
+ import { PresentationRequest } from './PresentationRequest';
10
+ import { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
11
+ import { Schema } from './Schema';
12
+ export declare type NonRevokedIntervalOverride = {
13
+ revocationRegistryDefinitionId: string;
14
+ requestedFromTimestamp: number;
15
+ overrideRevocationStatusListTimestamp: number;
16
+ };
11
17
  export declare type CredentialEntry = {
12
- credential: Credential;
18
+ credential: Credential | JsonObject;
13
19
  timestamp?: number;
14
- revocationState?: CredentialRevocationState;
20
+ revocationState?: CredentialRevocationState | JsonObject;
15
21
  };
16
22
  export declare type CredentialProve = {
17
23
  entryIndex: number;
@@ -25,23 +31,24 @@ export declare type RevocationEntry = {
25
31
  timestamp: number;
26
32
  };
27
33
  export declare type CreatePresentationOptions = {
28
- presentationRequest: PresentationRequest;
34
+ presentationRequest: PresentationRequest | JsonObject;
29
35
  credentials: CredentialEntry[];
30
36
  credentialsProve: CredentialProve[];
31
37
  selfAttest: Record<string, string>;
32
- masterSecret: MasterSecret;
33
- schemas: Record<string, Schema>;
34
- credentialDefinitions: Record<string, CredentialDefinition>;
38
+ masterSecret: MasterSecret | JsonObject;
39
+ schemas: Record<string, Schema | JsonObject>;
40
+ credentialDefinitions: Record<string, CredentialDefinition | JsonObject>;
35
41
  };
36
42
  export declare type VerifyPresentationOptions = {
37
- presentationRequest: PresentationRequest;
38
- schemas: Record<string, Schema>;
39
- credentialDefinitions: Record<string, CredentialDefinition>;
40
- revocationRegistryDefinitions?: Record<string, RevocationRegistryDefinition>;
43
+ presentationRequest: PresentationRequest | JsonObject;
44
+ schemas: Record<string, Schema | JsonObject>;
45
+ credentialDefinitions: Record<string, CredentialDefinition | JsonObject>;
46
+ revocationRegistryDefinitions?: Record<string, RevocationRegistryDefinition | JsonObject>;
41
47
  revocationStatusLists?: RevocationStatusList[];
48
+ nonRevokedIntervalOverride?: NonRevokedIntervalOverride[];
42
49
  };
43
50
  export declare class Presentation extends AnoncredsObject {
44
51
  static create(options: CreatePresentationOptions): Presentation;
45
- static load(json: string): Presentation;
52
+ static fromJson(json: JsonObject): Presentation;
46
53
  verify(options: VerifyPresentationOptions): boolean;
47
54
  }
@@ -3,33 +3,63 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Presentation = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
+ const Credential_1 = require("./Credential");
7
+ const CredentialDefinition_1 = require("./CredentialDefinition");
8
+ const CredentialRevocationState_1 = require("./CredentialRevocationState");
9
+ const MasterSecret_1 = require("./MasterSecret");
10
+ const PresentationRequest_1 = require("./PresentationRequest");
11
+ const RevocationRegistryDefinition_1 = require("./RevocationRegistryDefinition");
12
+ const Schema_1 = require("./Schema");
13
+ const utils_1 = require("./utils");
6
14
  class Presentation extends AnoncredsObject_1.AnoncredsObject {
7
15
  static create(options) {
8
- return new Presentation(register_1.anoncreds.createPresentation({
9
- presentationRequest: options.presentationRequest.handle,
10
- credentials: options.credentials.map((item) => {
11
- var _a;
12
- return ({
13
- credential: item.credential.handle,
14
- revocationState: (_a = item.revocationState) === null || _a === void 0 ? void 0 : _a.handle,
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
+ const masterSecret = options.masterSecret instanceof MasterSecret_1.MasterSecret
24
+ ? options.masterSecret.handle
25
+ : (0, utils_1.pushToArray)(MasterSecret_1.MasterSecret.fromJson(options.masterSecret).handle, objectHandles);
26
+ presentationHandle = register_1.anoncreds.createPresentation({
27
+ presentationRequest,
28
+ credentials: options.credentials.map((item) => ({
29
+ credential: item.credential instanceof Credential_1.Credential
30
+ ? item.credential.handle
31
+ : (0, utils_1.pushToArray)(Credential_1.Credential.fromJson(item.credential).handle, objectHandles),
32
+ revocationState: item.revocationState instanceof CredentialRevocationState_1.CredentialRevocationState
33
+ ? item.revocationState.handle
34
+ : item.revocationState !== undefined
35
+ ? (0, utils_1.pushToArray)(CredentialRevocationState_1.CredentialRevocationState.fromJson(item.revocationState).handle, objectHandles)
36
+ : undefined,
15
37
  timestamp: item.timestamp,
16
- });
17
- }),
18
- credentialsProve: options.credentialsProve,
19
- selfAttest: options.selfAttest,
20
- masterSecret: options.masterSecret.handle,
21
- schemas: Object.entries(options.schemas).reduce((prev, [id, object]) => {
22
- prev[id] = object.handle;
23
- return prev;
24
- }, {}),
25
- credentialDefinitions: Object.entries(options.credentialDefinitions).reduce((prev, [id, object]) => {
26
- prev[id] = object.handle;
27
- return prev;
28
- }, {}),
29
- }).handle);
38
+ })),
39
+ credentialsProve: options.credentialsProve,
40
+ selfAttest: options.selfAttest,
41
+ masterSecret,
42
+ schemas: Object.entries(options.schemas).reduce((prev, [id, object]) => {
43
+ const objectHandle = object instanceof Schema_1.Schema ? object.handle : (0, utils_1.pushToArray)(Schema_1.Schema.fromJson(object).handle, objectHandles);
44
+ prev[id] = objectHandle;
45
+ return prev;
46
+ }, {}),
47
+ credentialDefinitions: Object.entries(options.credentialDefinitions).reduce((prev, [id, object]) => {
48
+ const objectHandle = object instanceof CredentialDefinition_1.CredentialDefinition
49
+ ? object.handle
50
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(object).handle, objectHandles);
51
+ prev[id] = objectHandle;
52
+ return prev;
53
+ }, {}),
54
+ }).handle;
55
+ }
56
+ finally {
57
+ objectHandles.forEach((handle) => handle.clear());
58
+ }
59
+ return new Presentation(presentationHandle);
30
60
  }
31
- static load(json) {
32
- return new Presentation(register_1.anoncreds.presentationFromJson({ json }).handle);
61
+ static fromJson(json) {
62
+ return new Presentation(register_1.anoncreds.presentationFromJson({ json: JSON.stringify(json) }).handle);
33
63
  }
34
64
  verify(options) {
35
65
  var _a;
@@ -43,17 +73,33 @@ class Presentation extends AnoncredsObject_1.AnoncredsObject {
43
73
  const revocationRegistryDefinitionIds = options.revocationRegistryDefinitions
44
74
  ? Object.keys(options.revocationRegistryDefinitions)
45
75
  : undefined;
46
- return register_1.anoncreds.verifyPresentation({
47
- presentation: this.handle,
48
- presentationRequest: options.presentationRequest.handle,
49
- schemas: schemas.map((object) => object.handle),
50
- schemaIds,
51
- credentialDefinitions: credentialDefinitions.map((o) => o.handle),
52
- credentialDefinitionIds,
53
- revocationRegistryDefinitions: revocationRegistryDefinitions === null || revocationRegistryDefinitions === void 0 ? void 0 : revocationRegistryDefinitions.map((o) => o.handle),
54
- revocationRegistryDefinitionIds,
55
- revocationStatusLists: (_a = options.revocationStatusLists) === null || _a === void 0 ? void 0 : _a.map((o) => o.handle),
56
- });
76
+ let verified;
77
+ const objectHandles = [];
78
+ try {
79
+ const presentationRequest = options.presentationRequest instanceof PresentationRequest_1.PresentationRequest
80
+ ? options.presentationRequest.handle
81
+ : (0, utils_1.pushToArray)(PresentationRequest_1.PresentationRequest.fromJson(options.presentationRequest).handle, objectHandles);
82
+ verified = register_1.anoncreds.verifyPresentation({
83
+ presentation: this.handle,
84
+ presentationRequest,
85
+ schemas: schemas.map((o) => o instanceof Schema_1.Schema ? o.handle : (0, utils_1.pushToArray)(Schema_1.Schema.fromJson(o).handle, objectHandles)),
86
+ schemaIds,
87
+ credentialDefinitions: credentialDefinitions.map((o) => o instanceof CredentialDefinition_1.CredentialDefinition
88
+ ? o.handle
89
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(o).handle, objectHandles)),
90
+ credentialDefinitionIds,
91
+ revocationRegistryDefinitions: revocationRegistryDefinitions === null || revocationRegistryDefinitions === void 0 ? void 0 : revocationRegistryDefinitions.map((o) => o instanceof RevocationRegistryDefinition_1.RevocationRegistryDefinition
92
+ ? o.handle
93
+ : (0, utils_1.pushToArray)(RevocationRegistryDefinition_1.RevocationRegistryDefinition.fromJson(o).handle, objectHandles)),
94
+ revocationRegistryDefinitionIds,
95
+ revocationStatusLists: (_a = options.revocationStatusLists) === null || _a === void 0 ? void 0 : _a.map((o) => o.handle),
96
+ nonRevokedIntervalOverride: options.nonRevokedIntervalOverride,
97
+ });
98
+ }
99
+ finally {
100
+ objectHandles.forEach((handle) => handle.clear());
101
+ }
102
+ return verified;
57
103
  }
58
104
  }
59
105
  exports.Presentation = Presentation;
@@ -1 +1 @@
1
- {"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../src/api/Presentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Presentation.js","sourceRoot":"","sources":["../../src/api/Presentation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
+ import type { JsonObject } from '../types';
1
2
  import { AnoncredsObject } from '../AnoncredsObject';
2
3
  export declare class PresentationRequest extends AnoncredsObject {
3
- static load(json: string): PresentationRequest;
4
+ static fromJson(json: JsonObject): PresentationRequest;
4
5
  }
@@ -4,8 +4,8 @@ exports.PresentationRequest = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
6
  class PresentationRequest extends AnoncredsObject_1.AnoncredsObject {
7
- static load(json) {
8
- return new PresentationRequest(register_1.anoncreds.presentationRequestFromJson({ json }).handle);
7
+ static fromJson(json) {
8
+ return new PresentationRequest(register_1.anoncreds.presentationRequestFromJson({ json: JSON.stringify(json) }).handle);
9
9
  }
10
10
  }
11
11
  exports.PresentationRequest = PresentationRequest;
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationRequest.js","sourceRoot":"","sources":["../../src/api/PresentationRequest.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,mBAAoB,SAAQ,iCAAe;IAC/C,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,mBAAmB,CAAC,oBAAS,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACxF,CAAC;CACF;AAJD,kDAIC"}
1
+ {"version":3,"file":"PresentationRequest.js","sourceRoot":"","sources":["../../src/api/PresentationRequest.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,mBAAoB,SAAQ,iCAAe;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,mBAAmB,CAAC,oBAAS,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC9G,CAAC;CACF;AAJD,kDAIC"}
@@ -1,3 +1,4 @@
1
+ import type { JsonObject } from '../types';
1
2
  import type { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
2
3
  import { AnoncredsObject } from '../AnoncredsObject';
3
4
  export declare type RevokeCredentialOptions = {
@@ -12,5 +13,5 @@ export declare type UpdateRevocationRegistryOptions = {
12
13
  tailsDirectoryPath: string;
13
14
  };
14
15
  export declare class RevocationRegistry extends AnoncredsObject {
15
- static load(json: string): RevocationRegistry;
16
+ static fromJson(json: JsonObject): RevocationRegistry;
16
17
  }
@@ -4,8 +4,8 @@ exports.RevocationRegistry = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
6
  class RevocationRegistry extends AnoncredsObject_1.AnoncredsObject {
7
- static load(json) {
8
- return new RevocationRegistry(register_1.anoncreds.revocationRegistryFromJson({ json }).handle);
7
+ static fromJson(json) {
8
+ return new RevocationRegistry(register_1.anoncreds.revocationRegistryFromJson({ json: JSON.stringify(json) }).handle);
9
9
  }
10
10
  }
11
11
  exports.RevocationRegistry = RevocationRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"RevocationRegistry.js","sourceRoot":"","sources":["../../src/api/RevocationRegistry.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAevC,MAAa,kBAAmB,SAAQ,iCAAe;IAC9C,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,kBAAkB,CAAC,oBAAS,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtF,CAAC;CACF;AAJD,gDAIC"}
1
+ {"version":3,"file":"RevocationRegistry.js","sourceRoot":"","sources":["../../src/api/RevocationRegistry.ts"],"names":[],"mappings":";;;AAGA,wDAAoD;AACpD,0CAAuC;AAevC,MAAa,kBAAmB,SAAQ,iCAAe;IAC9C,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,kBAAkB,CAAC,oBAAS,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5G,CAAC;CACF;AAJD,gDAIC"}
@@ -1,8 +1,9 @@
1
- import type { CredentialDefinition } from './CredentialDefinition';
1
+ import type { JsonObject } from '../types';
2
2
  import { AnoncredsObject } from '../AnoncredsObject';
3
+ import { CredentialDefinition } from './CredentialDefinition';
3
4
  import { RevocationRegistryDefinitionPrivate } from './RevocationRegistryDefinitionPrivate';
4
5
  export declare type CreateRevocationRegistryDefinitionOptions = {
5
- credentialDefinition: CredentialDefinition;
6
+ credentialDefinition: CredentialDefinition | JsonObject;
6
7
  credentialDefinitionId: string;
7
8
  tag: string;
8
9
  issuerId: string;
@@ -15,7 +16,7 @@ export declare class RevocationRegistryDefinition extends AnoncredsObject {
15
16
  revocationRegistryDefinition: RevocationRegistryDefinition;
16
17
  revocationRegistryDefinitionPrivate: RevocationRegistryDefinitionPrivate;
17
18
  };
18
- static load(json: string): RevocationRegistryDefinition;
19
+ static fromJson(json: JsonObject): RevocationRegistryDefinition;
19
20
  getId(): string;
20
21
  getMaximumCredentialNumber(): number;
21
22
  getTailsHash(): string;
@@ -3,17 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RevocationRegistryDefinition = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
+ const CredentialDefinition_1 = require("./CredentialDefinition");
6
7
  const RevocationRegistryDefinitionPrivate_1 = require("./RevocationRegistryDefinitionPrivate");
8
+ const utils_1 = require("./utils");
7
9
  class RevocationRegistryDefinition extends AnoncredsObject_1.AnoncredsObject {
8
10
  static create(options) {
9
- const { revocationRegistryDefinition: registryDefinition, revocationRegistryDefinitionPrivate: registryDefinitionPrivate, } = register_1.anoncreds.createRevocationRegistryDefinition(Object.assign(Object.assign({}, options), { credentialDefinition: options.credentialDefinition.handle }));
11
+ let createReturnObj;
12
+ // Objects created within this method must be freed up
13
+ const objectHandles = [];
14
+ try {
15
+ const credentialDefinition = options.credentialDefinition instanceof CredentialDefinition_1.CredentialDefinition
16
+ ? options.credentialDefinition.handle
17
+ : (0, utils_1.pushToArray)(CredentialDefinition_1.CredentialDefinition.fromJson(options.credentialDefinition).handle, objectHandles);
18
+ createReturnObj = register_1.anoncreds.createRevocationRegistryDefinition(Object.assign(Object.assign({}, options), { credentialDefinition }));
19
+ }
20
+ finally {
21
+ objectHandles.forEach((handle) => handle.clear());
22
+ }
10
23
  return {
11
- revocationRegistryDefinition: new RevocationRegistryDefinition(registryDefinition.handle),
12
- revocationRegistryDefinitionPrivate: new RevocationRegistryDefinitionPrivate_1.RevocationRegistryDefinitionPrivate(registryDefinitionPrivate.handle),
24
+ revocationRegistryDefinition: new RevocationRegistryDefinition(createReturnObj.revocationRegistryDefinition.handle),
25
+ revocationRegistryDefinitionPrivate: new RevocationRegistryDefinitionPrivate_1.RevocationRegistryDefinitionPrivate(createReturnObj.revocationRegistryDefinitionPrivate.handle),
13
26
  };
14
27
  }
15
- static load(json) {
16
- return new RevocationRegistryDefinition(register_1.anoncreds.revocationRegistryDefinitionFromJson({ json }).handle);
28
+ static fromJson(json) {
29
+ return new RevocationRegistryDefinition(register_1.anoncreds.revocationRegistryDefinitionFromJson({ json: JSON.stringify(json) }).handle);
17
30
  }
18
31
  getId() {
19
32
  return register_1.anoncreds.revocationRegistryDefinitionGetAttribute({ objectHandle: this.handle, name: 'id' });
@@ -1 +1 @@
1
- {"version":3,"file":"RevocationRegistryDefinition.js","sourceRoot":"","sources":["../../src/api/RevocationRegistryDefinition.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAEvC,+FAA2F;AAY3F,MAAa,4BAA6B,SAAQ,iCAAe;IACxD,MAAM,CAAC,MAAM,CAAC,OAAkD;QACrE,MAAM,EACJ,4BAA4B,EAAE,kBAAkB,EAChD,mCAAmC,EAAE,yBAAyB,GAC/D,GAAG,oBAAS,CAAC,kCAAkC,iCAC3C,OAAO,KACV,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM,IACzD,CAAA;QAEF,OAAO;YACL,4BAA4B,EAAE,IAAI,4BAA4B,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACzF,mCAAmC,EAAE,IAAI,yEAAmC,CAAC,yBAAyB,CAAC,MAAM,CAAC;SAC/G,CAAA;IACH,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,4BAA4B,CAAC,oBAAS,CAAC,oCAAoC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC1G,CAAC;IAEM,KAAK;QACV,OAAO,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACtG,CAAC;IAEM,0BAA0B;QAC/B,OAAO,MAAM,CACX,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CACxG,CAAA;IACH,CAAC;IAEM,YAAY;QACjB,OAAO,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAC9G,CAAC;IAEM,gBAAgB;QACrB,OAAO,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAClH,CAAC;CACF;AArCD,oEAqCC"}
1
+ {"version":3,"file":"RevocationRegistryDefinition.js","sourceRoot":"","sources":["../../src/api/RevocationRegistryDefinition.ts"],"names":[],"mappings":";;;AAGA,wDAAoD;AACpD,0CAAuC;AAEvC,iEAA6D;AAC7D,+FAA2F;AAC3F,mCAAqC;AAYrC,MAAa,4BAA6B,SAAQ,iCAAe;IACxD,MAAM,CAAC,MAAM,CAAC,OAAkD;QACrE,IAAI,eAGH,CAAA;QACD,sDAAsD;QAEtD,MAAM,aAAa,GAAmB,EAAE,CAAA;QACxC,IAAI;YACF,MAAM,oBAAoB,GACxB,OAAO,CAAC,oBAAoB,YAAY,2CAAoB;gBAC1D,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM;gBACrC,CAAC,CAAC,IAAA,mBAAW,EAAC,2CAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YAEpG,eAAe,GAAG,oBAAS,CAAC,kCAAkC,iCACzD,OAAO,KACV,oBAAoB,IACpB,CAAA;SACH;gBAAS;YACR,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;SAClD;QACD,OAAO;YACL,4BAA4B,EAAE,IAAI,4BAA4B,CAC5D,eAAe,CAAC,4BAA4B,CAAC,MAAM,CACpD;YACD,mCAAmC,EAAE,IAAI,yEAAmC,CAC1E,eAAe,CAAC,mCAAmC,CAAC,MAAM,CAC3D;SACF,CAAA;IACH,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,4BAA4B,CACrC,oBAAS,CAAC,oCAAoC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CACtF,CAAA;IACH,CAAC;IAEM,KAAK;QACV,OAAO,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACtG,CAAC;IAEM,0BAA0B;QAC/B,OAAO,MAAM,CACX,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CACxG,CAAA;IACH,CAAC;IAEM,YAAY;QACjB,OAAO,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IAC9G,CAAC;IAEM,gBAAgB;QACrB,OAAO,oBAAS,CAAC,wCAAwC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAClH,CAAC;CACF;AAvDD,oEAuDC"}
@@ -1,4 +1,5 @@
1
+ import type { JsonObject } from '../types';
1
2
  import { AnoncredsObject } from '../AnoncredsObject';
2
3
  export declare class RevocationRegistryDefinitionPrivate extends AnoncredsObject {
3
- static load(json: string): RevocationRegistryDefinitionPrivate;
4
+ static fromJson(json: JsonObject): RevocationRegistryDefinitionPrivate;
4
5
  }
@@ -4,8 +4,8 @@ exports.RevocationRegistryDefinitionPrivate = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
6
  class RevocationRegistryDefinitionPrivate extends AnoncredsObject_1.AnoncredsObject {
7
- static load(json) {
8
- return new RevocationRegistryDefinitionPrivate(register_1.anoncreds.revocationRegistryDefinitionPrivateFromJson({ json }).handle);
7
+ static fromJson(json) {
8
+ return new RevocationRegistryDefinitionPrivate(register_1.anoncreds.revocationRegistryDefinitionPrivateFromJson({ json: JSON.stringify(json) }).handle);
9
9
  }
10
10
  }
11
11
  exports.RevocationRegistryDefinitionPrivate = RevocationRegistryDefinitionPrivate;
@@ -1 +1 @@
1
- {"version":3,"file":"RevocationRegistryDefinitionPrivate.js","sourceRoot":"","sources":["../../src/api/RevocationRegistryDefinitionPrivate.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,mCAAoC,SAAQ,iCAAe;IAC/D,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,mCAAmC,CAC5C,oBAAS,CAAC,2CAA2C,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CACvE,CAAA;IACH,CAAC;CACF;AAND,kFAMC"}
1
+ {"version":3,"file":"RevocationRegistryDefinitionPrivate.js","sourceRoot":"","sources":["../../src/api/RevocationRegistryDefinitionPrivate.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,mCAAoC,SAAQ,iCAAe;IAC/D,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,mCAAmC,CAC5C,oBAAS,CAAC,2CAA2C,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAC7F,CAAA;IACH,CAAC;CACF;AAND,kFAMC"}
@@ -1,4 +1,5 @@
1
+ import type { JsonObject } from '../types';
1
2
  import { AnoncredsObject } from '../AnoncredsObject';
2
3
  export declare class RevocationRegistryDelta extends AnoncredsObject {
3
- static load(json: string): RevocationRegistryDelta;
4
+ static fromJson(json: JsonObject): RevocationRegistryDelta;
4
5
  }
@@ -4,8 +4,8 @@ exports.RevocationRegistryDelta = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
6
  class RevocationRegistryDelta extends AnoncredsObject_1.AnoncredsObject {
7
- static load(json) {
8
- return new RevocationRegistryDelta(register_1.anoncreds.revocationRegistryDeltaFromJson({ json }).handle);
7
+ static fromJson(json) {
8
+ return new RevocationRegistryDelta(register_1.anoncreds.revocationRegistryDeltaFromJson({ json: JSON.stringify(json) }).handle);
9
9
  }
10
10
  }
11
11
  exports.RevocationRegistryDelta = RevocationRegistryDelta;
@@ -1 +1 @@
1
- {"version":3,"file":"RevocationRegistryDelta.js","sourceRoot":"","sources":["../../src/api/RevocationRegistryDelta.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,uBAAwB,SAAQ,iCAAe;IACnD,MAAM,CAAC,IAAI,CAAC,IAAY;QAC7B,OAAO,IAAI,uBAAuB,CAAC,oBAAS,CAAC,+BAA+B,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAChG,CAAC;CACF;AAJD,0DAIC"}
1
+ {"version":3,"file":"RevocationRegistryDelta.js","sourceRoot":"","sources":["../../src/api/RevocationRegistryDelta.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAEvC,MAAa,uBAAwB,SAAQ,iCAAe;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,OAAO,IAAI,uBAAuB,CAAC,oBAAS,CAAC,+BAA+B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IACtH,CAAC;CACF;AAJD,0DAIC"}
@@ -1,8 +1,10 @@
1
- import type { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
1
+ import type { JsonObject } from '../types';
2
2
  import { AnoncredsObject } from '../AnoncredsObject';
3
+ import { RevocationRegistryDefinition } from './RevocationRegistryDefinition';
3
4
  export declare type CreateRevocationStatusListOptions = {
4
5
  revocationRegistryDefinitionId: string;
5
- revocationRegistryDefinition: RevocationRegistryDefinition;
6
+ revocationRegistryDefinition: RevocationRegistryDefinition | JsonObject;
7
+ issuerId: string;
6
8
  timestamp?: number;
7
9
  issuanceByDefault: boolean;
8
10
  };
@@ -10,13 +12,14 @@ export declare type UpdateRevocationStatusListTimestampOptions = {
10
12
  timestamp: number;
11
13
  };
12
14
  export declare type UpdateRevocationStatusListOptions = {
15
+ revocationRegstryDefinition: RevocationRegistryDefinition;
13
16
  timestamp?: number;
14
17
  issued?: Array<number>;
15
18
  revoked?: Array<number>;
16
- revocationRegstryDefinition: RevocationRegistryDefinition;
17
19
  };
18
20
  export declare class RevocationStatusList extends AnoncredsObject {
19
21
  static create(options: CreateRevocationStatusListOptions): RevocationStatusList;
22
+ static fromJson(json: JsonObject): RevocationStatusList;
20
23
  updateTimestamp(options: UpdateRevocationStatusListTimestampOptions): void;
21
24
  update(options: UpdateRevocationStatusListOptions): void;
22
25
  }
@@ -3,11 +3,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RevocationStatusList = void 0;
4
4
  const AnoncredsObject_1 = require("../AnoncredsObject");
5
5
  const register_1 = require("../register");
6
+ const RevocationRegistryDefinition_1 = require("./RevocationRegistryDefinition");
7
+ const utils_1 = require("./utils");
6
8
  class RevocationStatusList extends AnoncredsObject_1.AnoncredsObject {
7
9
  static create(options) {
8
- const revocationRegistryDefinitionObjectHandle = options.revocationRegistryDefinition.handle;
9
- const revocationStatusList = register_1.anoncreds.createRevocationStatusList(Object.assign(Object.assign({}, options), { revocationRegistryDefinition: revocationRegistryDefinitionObjectHandle }));
10
- return new RevocationStatusList(revocationStatusList.handle);
10
+ let revocationStatusListHandle;
11
+ const objectHandles = [];
12
+ try {
13
+ const revocationRegistryDefinition = options.revocationRegistryDefinition instanceof RevocationRegistryDefinition_1.RevocationRegistryDefinition
14
+ ? options.revocationRegistryDefinition.handle
15
+ : (0, utils_1.pushToArray)(RevocationRegistryDefinition_1.RevocationRegistryDefinition.fromJson(options.revocationRegistryDefinition).handle, objectHandles);
16
+ revocationStatusListHandle = register_1.anoncreds.createRevocationStatusList(Object.assign(Object.assign({}, options), { revocationRegistryDefinition })).handle;
17
+ }
18
+ finally {
19
+ objectHandles.forEach((handle) => handle.clear());
20
+ }
21
+ return new RevocationStatusList(revocationStatusListHandle);
22
+ }
23
+ static fromJson(json) {
24
+ let revocationRegistryDefinition = undefined;
25
+ try {
26
+ revocationRegistryDefinition = RevocationRegistryDefinition_1.RevocationRegistryDefinition.fromJson(json.revocationRegistryDefinition);
27
+ const revocationStatusList = RevocationStatusList.create({
28
+ issuanceByDefault: json.issuanceByDefault,
29
+ issuerId: json.issuerId,
30
+ revocationRegistryDefinitionId: json.revocationRegistryDefinitionId,
31
+ timestamp: json.timestamp,
32
+ revocationRegistryDefinition,
33
+ });
34
+ return revocationStatusList;
35
+ }
36
+ finally {
37
+ revocationRegistryDefinition === null || revocationRegistryDefinition === void 0 ? void 0 : revocationRegistryDefinition.handle.clear();
38
+ }
11
39
  }
12
40
  updateTimestamp(options) {
13
41
  const updatedRevocationStatusList = register_1.anoncreds.updateRevocationStatusListTimestampOnly({
@@ -1 +1 @@
1
- {"version":3,"file":"RevocationStatusList.js","sourceRoot":"","sources":["../../src/api/RevocationStatusList.ts"],"names":[],"mappings":";;;AAEA,wDAAoD;AACpD,0CAAuC;AAoBvC,MAAa,oBAAqB,SAAQ,iCAAe;IAChD,MAAM,CAAC,MAAM,CAAC,OAA0C;QAC7D,MAAM,wCAAwC,GAAG,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAA;QAC5F,MAAM,oBAAoB,GAAG,oBAAS,CAAC,0BAA0B,iCAC5D,OAAO,KACV,4BAA4B,EAAE,wCAAwC,IACtE,CAAA;QAEF,OAAO,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAEM,eAAe,CAAC,OAAmD;QACxE,MAAM,2BAA2B,GAAG,oBAAS,CAAC,uCAAuC,CAAC;YACpF,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,2BAA2B,EAAE,IAAI,CAAC,MAAM;SACzC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,2BAA2B,CAAA;IAC3C,CAAC;IAEM,MAAM,CAAC,OAA0C;QACtD,MAAM,2BAA2B,GAAG,oBAAS,CAAC,0BAA0B,iCACnE,OAAO,KACV,4BAA4B,EAAE,OAAO,CAAC,2BAA2B,CAAC,MAAM,EACxE,2BAA2B,EAAE,IAAI,CAAC,MAAM,IACxC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,2BAA2B,CAAA;IAC3C,CAAC;CACF;AA7BD,oDA6BC"}
1
+ {"version":3,"file":"RevocationStatusList.js","sourceRoot":"","sources":["../../src/api/RevocationStatusList.ts"],"names":[],"mappings":";;;AAGA,wDAAoD;AACpD,0CAAuC;AAEvC,iFAA6E;AAC7E,mCAAqC;AAqBrC,MAAa,oBAAqB,SAAQ,iCAAe;IAChD,MAAM,CAAC,MAAM,CAAC,OAA0C;QAC7D,IAAI,0BAA0B,CAAA;QAC9B,MAAM,aAAa,GAAmB,EAAE,CAAA;QACxC,IAAI;YACF,MAAM,4BAA4B,GAChC,OAAO,CAAC,4BAA4B,YAAY,2DAA4B;gBAC1E,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM;gBAC7C,CAAC,CAAC,IAAA,mBAAW,EACT,2DAA4B,CAAC,QAAQ,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,MAAM,EAClF,aAAa,CACd,CAAA;YAEP,0BAA0B,GAAG,oBAAS,CAAC,0BAA0B,iCAC5D,OAAO,KACV,4BAA4B,IAC5B,CAAC,MAAM,CAAA;SACV;gBAAS;YACR,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;SAClD;QACD,OAAO,IAAI,oBAAoB,CAAC,0BAA0B,CAAC,CAAA;IAC7D,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAgB;QACrC,IAAI,4BAA4B,GAA6C,SAAS,CAAA;QACtF,IAAI;YACF,4BAA4B,GAAG,2DAA4B,CAAC,QAAQ,CAClE,IAAI,CAAC,4BAA0C,CAChD,CAAA;YACD,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAAC;gBACvD,iBAAiB,EAAE,IAAI,CAAC,iBAA4B;gBACpD,QAAQ,EAAE,IAAI,CAAC,QAAkB;gBACjC,8BAA8B,EAAE,IAAI,CAAC,8BAAwC;gBAC7E,SAAS,EAAE,IAAI,CAAC,SAAmB;gBACnC,4BAA4B;aAC7B,CAAC,CAAA;YACF,OAAO,oBAAoB,CAAA;SAC5B;gBAAS;YACR,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,MAAM,CAAC,KAAK,EAAE,CAAA;SAC7C;IACH,CAAC;IAEM,eAAe,CAAC,OAAmD;QACxE,MAAM,2BAA2B,GAAG,oBAAS,CAAC,uCAAuC,CAAC;YACpF,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,2BAA2B,EAAE,IAAI,CAAC,MAAM;SACzC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,2BAA2B,CAAA;IAC3C,CAAC;IAEM,MAAM,CAAC,OAA0C;QACtD,MAAM,2BAA2B,GAAG,oBAAS,CAAC,0BAA0B,iCACnE,OAAO,KACV,4BAA4B,EAAE,OAAO,CAAC,2BAA2B,CAAC,MAAM,EACxE,2BAA2B,EAAE,IAAI,CAAC,MAAM,IACxC,CAAA;QAEF,IAAI,CAAC,MAAM,GAAG,2BAA2B,CAAA;IAC3C,CAAC;CACF;AA5DD,oDA4DC"}