@credo-ts/cheqd 0.6.1-pr-2091-20241119140918 → 0.6.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.
Files changed (88) hide show
  1. package/build/CheqdApi.d.mts +45 -0
  2. package/build/CheqdApi.d.mts.map +1 -0
  3. package/build/CheqdApi.mjs +26 -0
  4. package/build/CheqdApi.mjs.map +1 -0
  5. package/build/CheqdModule.d.mts +15 -0
  6. package/build/CheqdModule.d.mts.map +1 -0
  7. package/build/CheqdModule.mjs +25 -0
  8. package/build/CheqdModule.mjs.map +1 -0
  9. package/build/CheqdModuleConfig.d.mts +21 -0
  10. package/build/CheqdModuleConfig.d.mts.map +1 -0
  11. package/build/CheqdModuleConfig.mjs +14 -0
  12. package/build/CheqdModuleConfig.mjs.map +1 -0
  13. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs +10 -0
  14. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs +7 -0
  15. package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateParam.mjs +9 -0
  16. package/build/anoncreds/index.d.mts +1 -0
  17. package/build/anoncreds/index.mjs +1 -0
  18. package/build/anoncreds/services/CheqdAnonCredsRegistry.d.mts +32 -0
  19. package/build/anoncreds/services/CheqdAnonCredsRegistry.d.mts.map +1 -0
  20. package/build/anoncreds/services/CheqdAnonCredsRegistry.mjs +349 -0
  21. package/build/anoncreds/services/CheqdAnonCredsRegistry.mjs.map +1 -0
  22. package/build/anoncreds/utils/identifiers.mjs +56 -0
  23. package/build/anoncreds/utils/identifiers.mjs.map +1 -0
  24. package/build/anoncreds/utils/transform.mjs +104 -0
  25. package/build/anoncreds/utils/transform.mjs.map +1 -0
  26. package/build/dids/CheqdDidRegistrar.d.mts +102 -0
  27. package/build/dids/CheqdDidRegistrar.d.mts.map +1 -0
  28. package/build/dids/CheqdDidRegistrar.mjs +446 -0
  29. package/build/dids/CheqdDidRegistrar.mjs.map +1 -0
  30. package/build/dids/CheqdDidResolver.d.mts +30 -0
  31. package/build/dids/CheqdDidResolver.d.mts.map +1 -0
  32. package/build/dids/CheqdDidResolver.mjs +135 -0
  33. package/build/dids/CheqdDidResolver.mjs.map +1 -0
  34. package/build/dids/didCheqdUtil.mjs +113 -0
  35. package/build/dids/didCheqdUtil.mjs.map +1 -0
  36. package/build/dids/index.d.mts +2 -0
  37. package/build/dids/index.mjs +2 -0
  38. package/build/index.d.mts +10 -0
  39. package/build/index.mjs +11 -0
  40. package/build/ledger/CheqdLedgerService.d.mts +35 -0
  41. package/build/ledger/CheqdLedgerService.d.mts.map +1 -0
  42. package/build/ledger/CheqdLedgerService.mjs +114 -0
  43. package/build/ledger/CheqdLedgerService.mjs.map +1 -0
  44. package/build/ledger/index.d.mts +1 -0
  45. package/build/ledger/index.mjs +1 -0
  46. package/package.json +22 -22
  47. package/build/CheqdApi.d.ts +0 -38
  48. package/build/CheqdApi.js +0 -34
  49. package/build/CheqdApi.js.map +0 -1
  50. package/build/CheqdModule.d.ts +0 -11
  51. package/build/CheqdModule.js +0 -33
  52. package/build/CheqdModule.js.map +0 -1
  53. package/build/CheqdModuleConfig.d.ts +0 -17
  54. package/build/CheqdModuleConfig.js +0 -14
  55. package/build/CheqdModuleConfig.js.map +0 -1
  56. package/build/anoncreds/index.d.ts +0 -1
  57. package/build/anoncreds/index.js +0 -6
  58. package/build/anoncreds/index.js.map +0 -1
  59. package/build/anoncreds/services/CheqdAnonCredsRegistry.d.ts +0 -19
  60. package/build/anoncreds/services/CheqdAnonCredsRegistry.js +0 -368
  61. package/build/anoncreds/services/CheqdAnonCredsRegistry.js.map +0 -1
  62. package/build/anoncreds/utils/identifiers.d.ts +0 -13
  63. package/build/anoncreds/utils/identifiers.js +0 -53
  64. package/build/anoncreds/utils/identifiers.js.map +0 -1
  65. package/build/anoncreds/utils/transform.d.ts +0 -43
  66. package/build/anoncreds/utils/transform.js +0 -170
  67. package/build/anoncreds/utils/transform.js.map +0 -1
  68. package/build/dids/CheqdDidRegistrar.d.ts +0 -86
  69. package/build/dids/CheqdDidRegistrar.js +0 -334
  70. package/build/dids/CheqdDidRegistrar.js.map +0 -1
  71. package/build/dids/CheqdDidResolver.d.ts +0 -25
  72. package/build/dids/CheqdDidResolver.js +0 -171
  73. package/build/dids/CheqdDidResolver.js.map +0 -1
  74. package/build/dids/didCheqdUtil.d.ts +0 -28
  75. package/build/dids/didCheqdUtil.js +0 -129
  76. package/build/dids/didCheqdUtil.js.map +0 -1
  77. package/build/dids/index.d.ts +0 -2
  78. package/build/dids/index.js +0 -8
  79. package/build/dids/index.js.map +0 -1
  80. package/build/index.d.ts +0 -5
  81. package/build/index.js +0 -17
  82. package/build/index.js.map +0 -1
  83. package/build/ledger/CheqdLedgerService.d.ts +0 -37
  84. package/build/ledger/CheqdLedgerService.js +0 -135
  85. package/build/ledger/CheqdLedgerService.js.map +0 -1
  86. package/build/ledger/index.d.ts +0 -1
  87. package/build/ledger/index.js +0 -6
  88. package/build/ledger/index.js.map +0 -1
package/build/CheqdApi.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CheqdApi = void 0;
13
- const core_1 = require("@credo-ts/core");
14
- const tsyringe_1 = require("tsyringe");
15
- const dids_1 = require("./dids");
16
- let CheqdApi = class CheqdApi {
17
- constructor(agentContext) {
18
- this.agentContext = agentContext;
19
- }
20
- async createResource(did, options) {
21
- const cheqdDidRegistrar = this.agentContext.dependencyManager.resolve(dids_1.CheqdDidRegistrar);
22
- return await cheqdDidRegistrar.createResource(this.agentContext, did, options);
23
- }
24
- async resolveResource(resourceUrl) {
25
- const cheqdDidResolver = this.agentContext.dependencyManager.resolve(dids_1.CheqdDidResolver);
26
- return await cheqdDidResolver.resolveResource(this.agentContext, resourceUrl);
27
- }
28
- };
29
- exports.CheqdApi = CheqdApi;
30
- exports.CheqdApi = CheqdApi = __decorate([
31
- (0, tsyringe_1.injectable)(),
32
- __metadata("design:paramtypes", [core_1.AgentContext])
33
- ], CheqdApi);
34
- //# sourceMappingURL=CheqdApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheqdApi.js","sourceRoot":"","sources":["../src/CheqdApi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA6C;AAC7C,uCAAqC;AAErC,iCAAwF;AAGjF,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAGnB,YAAmB,YAA0B;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,OAAmC;QAC1E,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,wBAAiB,CAAC,CAAA;QACxF,OAAO,MAAM,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,uBAAgB,CAAC,CAAA;QACtF,OAAO,MAAM,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAC/E,CAAC;CACF,CAAA;AAhBY,4BAAQ;mBAAR,QAAQ;IADpB,IAAA,qBAAU,GAAE;qCAIsB,mBAAY;GAHlC,QAAQ,CAgBpB"}
@@ -1,11 +0,0 @@
1
- import type { CheqdModuleConfigOptions } from './CheqdModuleConfig';
2
- import type { AgentContext, DependencyManager, Module } from '@credo-ts/core';
3
- import { CheqdApi } from './CheqdApi';
4
- import { CheqdModuleConfig } from './CheqdModuleConfig';
5
- export declare class CheqdModule implements Module {
6
- readonly config: CheqdModuleConfig;
7
- readonly api: typeof CheqdApi;
8
- constructor(config: CheqdModuleConfigOptions);
9
- register(dependencyManager: DependencyManager): void;
10
- initialize(agentContext: AgentContext): Promise<void>;
11
- }
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheqdModule = void 0;
4
- const core_1 = require("@credo-ts/core");
5
- const CheqdApi_1 = require("./CheqdApi");
6
- const CheqdModuleConfig_1 = require("./CheqdModuleConfig");
7
- const ledger_1 = require("./ledger");
8
- class CheqdModule {
9
- constructor(config) {
10
- this.api = CheqdApi_1.CheqdApi;
11
- this.config = new CheqdModuleConfig_1.CheqdModuleConfig(config);
12
- }
13
- register(dependencyManager) {
14
- // Warn about experimental module
15
- dependencyManager
16
- .resolve(core_1.AgentConfig)
17
- .logger.warn("The '@credo-ts/cheqd' module is experimental and could have unexpected breaking changes. When using this module, make sure to use strict versions for all @credo-ts packages.");
18
- // Register config
19
- dependencyManager.registerInstance(CheqdModuleConfig_1.CheqdModuleConfig, this.config);
20
- dependencyManager.registerSingleton(ledger_1.CheqdLedgerService);
21
- // Cheqd module needs Buffer to be available globally
22
- // If it is not available yet, we overwrite it with the
23
- // Buffer implementation from Credo
24
- global.Buffer = global.Buffer || core_1.Buffer;
25
- }
26
- async initialize(agentContext) {
27
- // not required
28
- const cheqdLedgerService = agentContext.dependencyManager.resolve(ledger_1.CheqdLedgerService);
29
- await cheqdLedgerService.connect();
30
- }
31
- }
32
- exports.CheqdModule = CheqdModule;
33
- //# sourceMappingURL=CheqdModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheqdModule.js","sourceRoot":"","sources":["../src/CheqdModule.ts"],"names":[],"mappings":";;;AAGA,yCAAoD;AAEpD,yCAAqC;AACrC,2DAAuD;AACvD,qCAA6C;AAE7C,MAAa,WAAW;IAItB,YAAmB,MAAgC;QAFnC,QAAG,GAAG,mBAAQ,CAAA;QAG5B,IAAI,CAAC,MAAM,GAAG,IAAI,qCAAiB,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAEM,QAAQ,CAAC,iBAAoC;QAClD,iCAAiC;QACjC,iBAAiB;aACd,OAAO,CAAC,kBAAW,CAAC;aACpB,MAAM,CAAC,IAAI,CACV,+KAA+K,CAChL,CAAA;QAEH,kBAAkB;QAClB,iBAAiB,CAAC,gBAAgB,CAAC,qCAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAElE,iBAAiB,CAAC,iBAAiB,CAAC,2BAAkB,CAAC,CAAA;QAEvD,qDAAqD;QACrD,uDAAuD;QACvD,mCAAmC;QACnC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,aAAM,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,YAA0B;QAChD,eAAe;QACf,MAAM,kBAAkB,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,2BAAkB,CAAC,CAAA;QACrF,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC;CACF;AAhCD,kCAgCC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * CheqdModuleConfigOptions defines the interface for the options of the CheqdModuleConfig class.
3
- */
4
- export interface CheqdModuleConfigOptions {
5
- networks: NetworkConfig[];
6
- }
7
- export interface NetworkConfig {
8
- rpcUrl?: string;
9
- cosmosPayerSeed?: string;
10
- network: string;
11
- }
12
- export declare class CheqdModuleConfig {
13
- private options;
14
- constructor(options: CheqdModuleConfigOptions);
15
- /** See {@link CheqdModuleConfigOptions.networks} */
16
- get networks(): NetworkConfig[];
17
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheqdModuleConfig = void 0;
4
- class CheqdModuleConfig {
5
- constructor(options) {
6
- this.options = options;
7
- }
8
- /** See {@link CheqdModuleConfigOptions.networks} */
9
- get networks() {
10
- return this.options.networks;
11
- }
12
- }
13
- exports.CheqdModuleConfig = CheqdModuleConfig;
14
- //# sourceMappingURL=CheqdModuleConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheqdModuleConfig.js","sourceRoot":"","sources":["../src/CheqdModuleConfig.ts"],"names":[],"mappings":";;;AAaA,MAAa,iBAAiB;IAG5B,YAAmB,OAAiC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,oDAAoD;IACpD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;IAC9B,CAAC;CACF;AAXD,8CAWC"}
@@ -1 +0,0 @@
1
- export { CheqdAnonCredsRegistry } from './services/CheqdAnonCredsRegistry';
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheqdAnonCredsRegistry = void 0;
4
- var CheqdAnonCredsRegistry_1 = require("./services/CheqdAnonCredsRegistry");
5
- Object.defineProperty(exports, "CheqdAnonCredsRegistry", { enumerable: true, get: function () { return CheqdAnonCredsRegistry_1.CheqdAnonCredsRegistry; } });
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/anoncreds/index.ts"],"names":[],"mappings":";;;AAAA,4EAA0E;AAAjE,gIAAA,sBAAsB,OAAA"}
@@ -1,19 +0,0 @@
1
- import type { AnonCredsRegistry, GetCredentialDefinitionReturn, GetRevocationStatusListReturn, GetRevocationRegistryDefinitionReturn, GetSchemaReturn, RegisterCredentialDefinitionOptions, RegisterCredentialDefinitionReturn, RegisterSchemaReturn, RegisterSchemaOptions, RegisterRevocationRegistryDefinitionReturn, RegisterRevocationStatusListReturn, RegisterRevocationRegistryDefinitionOptions, RegisterRevocationStatusListOptions } from '@credo-ts/anoncreds';
2
- import type { AgentContext } from '@credo-ts/core';
3
- export declare class CheqdAnonCredsRegistry implements AnonCredsRegistry {
4
- methodName: string;
5
- /**
6
- * This class supports resolving and registering objects with cheqd identifiers.
7
- * It needs to include support for the schema, credential definition, revocation registry as well
8
- * as the issuer id (which is needed when registering objects).
9
- */
10
- readonly supportedIdentifier: RegExp;
11
- getSchema(agentContext: AgentContext, schemaId: string): Promise<GetSchemaReturn>;
12
- registerSchema(agentContext: AgentContext, options: RegisterSchemaOptions): Promise<RegisterSchemaReturn>;
13
- registerCredentialDefinition(agentContext: AgentContext, options: RegisterCredentialDefinitionOptions): Promise<RegisterCredentialDefinitionReturn>;
14
- getCredentialDefinition(agentContext: AgentContext, credentialDefinitionId: string): Promise<GetCredentialDefinitionReturn>;
15
- getRevocationRegistryDefinition(agentContext: AgentContext, revocationRegistryDefinitionId: string): Promise<GetRevocationRegistryDefinitionReturn>;
16
- registerRevocationRegistryDefinition(agentContext: AgentContext, { revocationRegistryDefinition, options }: RegisterRevocationRegistryDefinitionOptions): Promise<RegisterRevocationRegistryDefinitionReturn>;
17
- getRevocationStatusList(agentContext: AgentContext, revocationRegistryId: string, timestamp: number): Promise<GetRevocationStatusListReturn>;
18
- registerRevocationStatusList(agentContext: AgentContext, { revocationStatusList, options }: RegisterRevocationStatusListOptions): Promise<RegisterRevocationStatusListReturn>;
19
- }
@@ -1,368 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CheqdAnonCredsRegistry = void 0;
4
- const core_1 = require("@credo-ts/core");
5
- const dids_1 = require("../../dids");
6
- const identifiers_1 = require("../utils/identifiers");
7
- const transform_1 = require("../utils/transform");
8
- class CheqdAnonCredsRegistry {
9
- constructor() {
10
- this.methodName = 'cheqd';
11
- /**
12
- * This class supports resolving and registering objects with cheqd identifiers.
13
- * It needs to include support for the schema, credential definition, revocation registry as well
14
- * as the issuer id (which is needed when registering objects).
15
- */
16
- this.supportedIdentifier = identifiers_1.cheqdSdkAnonCredsRegistryIdentifierRegex;
17
- }
18
- async getSchema(agentContext, schemaId) {
19
- try {
20
- const cheqdDidResolver = agentContext.dependencyManager.resolve(dids_1.CheqdDidResolver);
21
- const parsedDid = (0, identifiers_1.parseCheqdDid)(schemaId);
22
- if (!parsedDid)
23
- throw new core_1.CredoError(`Invalid schemaId: ${schemaId}`);
24
- agentContext.config.logger.trace(`Submitting get schema request for schema '${schemaId}' to ledger`);
25
- const response = await cheqdDidResolver.resolveResource(agentContext, schemaId);
26
- const schema = core_1.JsonTransformer.fromJSON(response.resource, transform_1.CheqdSchema);
27
- return {
28
- schema: {
29
- attrNames: schema.attrNames,
30
- name: schema.name,
31
- version: schema.version,
32
- issuerId: parsedDid.did,
33
- },
34
- schemaId,
35
- resolutionMetadata: {},
36
- schemaMetadata: {},
37
- };
38
- }
39
- catch (error) {
40
- agentContext.config.logger.error(`Error retrieving schema '${schemaId}'`, {
41
- error,
42
- schemaId,
43
- });
44
- return {
45
- schemaId,
46
- resolutionMetadata: {
47
- error: 'notFound',
48
- message: `unable to resolve schema: ${error.message}`,
49
- },
50
- schemaMetadata: {},
51
- };
52
- }
53
- }
54
- async registerSchema(agentContext, options) {
55
- var _a;
56
- try {
57
- const cheqdDidRegistrar = agentContext.dependencyManager.resolve(dids_1.CheqdDidRegistrar);
58
- const schema = options.schema;
59
- const schemaResource = {
60
- id: core_1.utils.uuid(),
61
- name: `${schema.name}-Schema`,
62
- resourceType: 'anonCredsSchema',
63
- data: {
64
- name: schema.name,
65
- version: schema.version,
66
- attrNames: schema.attrNames,
67
- },
68
- version: schema.version,
69
- };
70
- const response = await cheqdDidRegistrar.createResource(agentContext, schema.issuerId, schemaResource);
71
- if (response.resourceState.state !== 'finished') {
72
- throw new core_1.CredoError((_a = response.resourceState.reason) !== null && _a !== void 0 ? _a : 'Unknown error');
73
- }
74
- return {
75
- schemaState: {
76
- state: 'finished',
77
- schema,
78
- schemaId: `${schema.issuerId}/resources/${schemaResource.id}`,
79
- },
80
- registrationMetadata: {},
81
- schemaMetadata: {},
82
- };
83
- }
84
- catch (error) {
85
- agentContext.config.logger.debug(`Error registering schema for did '${options.schema.issuerId}'`, {
86
- error,
87
- did: options.schema.issuerId,
88
- schema: options,
89
- });
90
- return {
91
- schemaMetadata: {},
92
- registrationMetadata: {},
93
- schemaState: {
94
- state: 'failed',
95
- schema: options.schema,
96
- reason: `unknownError: ${error.message}`,
97
- },
98
- };
99
- }
100
- }
101
- async registerCredentialDefinition(agentContext, options) {
102
- var _a;
103
- try {
104
- const cheqdDidRegistrar = agentContext.dependencyManager.resolve(dids_1.CheqdDidRegistrar);
105
- const { credentialDefinition } = options;
106
- const schema = await this.getSchema(agentContext, credentialDefinition.schemaId);
107
- if (!schema.schema)
108
- throw new core_1.CredoError(`Schema not found for schemaId: ${credentialDefinition.schemaId}`);
109
- const credDefName = `${schema.schema.name}-${credentialDefinition.tag}`;
110
- const credDefNameHashBuffer = core_1.Hasher.hash(credDefName, 'sha-256');
111
- const credDefResource = {
112
- id: core_1.utils.uuid(),
113
- name: core_1.TypedArrayEncoder.toHex(credDefNameHashBuffer),
114
- resourceType: 'anonCredsCredDef',
115
- data: {
116
- type: credentialDefinition.type,
117
- tag: credentialDefinition.tag,
118
- value: credentialDefinition.value,
119
- schemaId: credentialDefinition.schemaId,
120
- },
121
- version: core_1.utils.uuid(),
122
- };
123
- const response = await cheqdDidRegistrar.createResource(agentContext, credentialDefinition.issuerId, credDefResource);
124
- if (response.resourceState.state !== 'finished')
125
- throw new core_1.CredoError((_a = response.resourceState.reason) !== null && _a !== void 0 ? _a : 'Unknown error');
126
- return {
127
- credentialDefinitionState: {
128
- state: 'finished',
129
- credentialDefinition,
130
- credentialDefinitionId: `${credentialDefinition.issuerId}/resources/${credDefResource.id}`,
131
- },
132
- registrationMetadata: {},
133
- credentialDefinitionMetadata: {},
134
- };
135
- }
136
- catch (error) {
137
- agentContext.config.logger.error(`Error registering credential definition for did '${options.credentialDefinition.issuerId}'`, {
138
- error,
139
- did: options.credentialDefinition.issuerId,
140
- schema: options,
141
- });
142
- return {
143
- credentialDefinitionMetadata: {},
144
- registrationMetadata: {},
145
- credentialDefinitionState: {
146
- state: 'failed',
147
- credentialDefinition: options.credentialDefinition,
148
- reason: `unknownError: ${error.message}`,
149
- },
150
- };
151
- }
152
- }
153
- async getCredentialDefinition(agentContext, credentialDefinitionId) {
154
- var _a;
155
- try {
156
- const cheqdDidResolver = agentContext.dependencyManager.resolve(dids_1.CheqdDidResolver);
157
- const parsedDid = (0, identifiers_1.parseCheqdDid)(credentialDefinitionId);
158
- if (!parsedDid)
159
- throw new core_1.CredoError(`Invalid credentialDefinitionId: ${credentialDefinitionId}`);
160
- agentContext.config.logger.trace(`Submitting get credential definition request for '${credentialDefinitionId}' to ledger`);
161
- const response = await cheqdDidResolver.resolveResource(agentContext, credentialDefinitionId);
162
- const credentialDefinition = core_1.JsonTransformer.fromJSON(response.resource, transform_1.CheqdCredentialDefinition);
163
- return {
164
- credentialDefinition: Object.assign(Object.assign({}, credentialDefinition), { issuerId: parsedDid.did }),
165
- credentialDefinitionId,
166
- resolutionMetadata: {},
167
- credentialDefinitionMetadata: ((_a = response.resourceMetadata) !== null && _a !== void 0 ? _a : {}),
168
- };
169
- }
170
- catch (error) {
171
- agentContext.config.logger.error(`Error retrieving credential definition '${credentialDefinitionId}'`, {
172
- error,
173
- credentialDefinitionId,
174
- });
175
- return {
176
- credentialDefinitionId,
177
- resolutionMetadata: {
178
- error: 'notFound',
179
- message: `unable to resolve credential definition: ${error.message}`,
180
- },
181
- credentialDefinitionMetadata: {},
182
- };
183
- }
184
- }
185
- async getRevocationRegistryDefinition(agentContext, revocationRegistryDefinitionId) {
186
- var _a;
187
- try {
188
- const cheqdDidResolver = agentContext.dependencyManager.resolve(dids_1.CheqdDidResolver);
189
- const parsedDid = (0, identifiers_1.parseCheqdDid)(revocationRegistryDefinitionId);
190
- if (!parsedDid)
191
- throw new core_1.CredoError(`Invalid revocationRegistryDefinitionId: ${revocationRegistryDefinitionId}`);
192
- agentContext.config.logger.trace(`Submitting get revocation registry definition request for '${revocationRegistryDefinitionId}' to ledger`);
193
- const searchDid = parsedDid.path
194
- ? revocationRegistryDefinitionId
195
- : `${revocationRegistryDefinitionId}${revocationRegistryDefinitionId.includes('?') ? '&' : '?'}resourceType=anonCredsRevocRegDef`;
196
- const response = await cheqdDidResolver.resolveResource(agentContext, searchDid);
197
- const revocationRegistryDefinition = core_1.JsonTransformer.fromJSON(response.resource, transform_1.CheqdRevocationRegistryDefinition);
198
- return {
199
- revocationRegistryDefinition: Object.assign(Object.assign({}, revocationRegistryDefinition), { issuerId: parsedDid.did }),
200
- revocationRegistryDefinitionId,
201
- resolutionMetadata: {},
202
- revocationRegistryDefinitionMetadata: ((_a = response.resourceMetadata) !== null && _a !== void 0 ? _a : {}),
203
- };
204
- }
205
- catch (error) {
206
- agentContext.config.logger.error(`Error retrieving revocation registry definition '${revocationRegistryDefinitionId}'`, {
207
- error,
208
- revocationRegistryDefinitionId,
209
- });
210
- return {
211
- revocationRegistryDefinitionId,
212
- resolutionMetadata: {
213
- error: 'notFound',
214
- message: `unable to resolve revocation registry definition: ${error.message}`,
215
- },
216
- revocationRegistryDefinitionMetadata: {},
217
- };
218
- }
219
- }
220
- async registerRevocationRegistryDefinition(agentContext, { revocationRegistryDefinition, options }) {
221
- var _a, _b;
222
- try {
223
- const credentialDefinition = await this.getCredentialDefinition(agentContext, revocationRegistryDefinition.credDefId);
224
- if (!credentialDefinition.credentialDefinition)
225
- throw new core_1.CredoError(`Credential definition not found for id: ${revocationRegistryDefinition.credDefId}`);
226
- const credentialDefinitionName = credentialDefinition.credentialDefinitionMetadata.name;
227
- if (!credentialDefinitionName)
228
- throw new core_1.CredoError(`Credential definition name not found for id: ${revocationRegistryDefinition.credDefId}`);
229
- const cheqdDidRegistrar = agentContext.dependencyManager.resolve(dids_1.CheqdDidRegistrar);
230
- const revocationRegistryDefinitionResource = {
231
- id: core_1.utils.uuid(),
232
- name: credentialDefinitionName,
233
- resourceType: 'anonCredsRevocRegDef',
234
- data: {
235
- credDefId: revocationRegistryDefinition.credDefId,
236
- revocDefType: revocationRegistryDefinition.revocDefType,
237
- tag: revocationRegistryDefinition.tag,
238
- value: revocationRegistryDefinition.value,
239
- },
240
- version: core_1.utils.uuid(),
241
- };
242
- const response = await cheqdDidRegistrar.createResource(agentContext, revocationRegistryDefinition.issuerId, revocationRegistryDefinitionResource);
243
- if (response.resourceState.state !== 'finished')
244
- throw new core_1.CredoError((_a = response.resourceState.reason) !== null && _a !== void 0 ? _a : 'Unknown error');
245
- return {
246
- revocationRegistryDefinitionState: {
247
- state: 'finished',
248
- revocationRegistryDefinition,
249
- revocationRegistryDefinitionId: `${revocationRegistryDefinition.issuerId}/resources/${revocationRegistryDefinitionResource.id}`,
250
- },
251
- registrationMetadata: {},
252
- revocationRegistryDefinitionMetadata: ((_b = response.resourceMetadata) !== null && _b !== void 0 ? _b : {}),
253
- };
254
- }
255
- catch (error) {
256
- agentContext.config.logger.error(`Error registering revocation registry definition for did '${revocationRegistryDefinition.issuerId}'`, {
257
- error,
258
- did: revocationRegistryDefinition.issuerId,
259
- options,
260
- });
261
- return {
262
- revocationRegistryDefinitionMetadata: {},
263
- registrationMetadata: {},
264
- revocationRegistryDefinitionState: {
265
- state: 'failed',
266
- revocationRegistryDefinition,
267
- reason: `unknownError: ${error.message}`,
268
- },
269
- };
270
- }
271
- }
272
- async getRevocationStatusList(agentContext, revocationRegistryId, timestamp) {
273
- var _a, _b;
274
- try {
275
- const cheqdDidResolver = agentContext.dependencyManager.resolve(dids_1.CheqdDidResolver);
276
- const parsedDid = (0, identifiers_1.parseCheqdDid)(revocationRegistryId);
277
- if (!parsedDid)
278
- throw new core_1.CredoError(`Invalid revocationRegistryId: ${revocationRegistryId}`);
279
- agentContext.config.logger.trace(`Submitting get revocation status request for '${revocationRegistryId}' to ledger`);
280
- const revocationRegistryDefinition = await this.getRevocationRegistryDefinition(agentContext, revocationRegistryId);
281
- if (!revocationRegistryDefinition.revocationRegistryDefinition)
282
- throw new core_1.CredoError(`Revocation registry definition not found for id: ${revocationRegistryId}`);
283
- const revocationRegistryDefinitionName = revocationRegistryDefinition.revocationRegistryDefinitionMetadata.name;
284
- if (!revocationRegistryDefinitionName)
285
- throw new core_1.CredoError(`Revocation registry definition name not found for id: ${revocationRegistryId}`);
286
- const response = await cheqdDidResolver.resolveResource(agentContext, `${parsedDid.did}?resourceType=anonCredsStatusList&resourceVersionTime=${timestamp}&resourceName=${revocationRegistryDefinitionName}`);
287
- const revocationStatusList = core_1.JsonTransformer.fromJSON(response.resource, transform_1.CheqdRevocationStatusList);
288
- const statusListTimestamp = ((_a = response.resourceMetadata) === null || _a === void 0 ? void 0 : _a.created)
289
- ? Math.floor(response.resourceMetadata.created.getTime() / 1000)
290
- : undefined;
291
- if (statusListTimestamp === undefined)
292
- throw new core_1.CredoError(`Unable to extract revocation status list timestamp from resource ${revocationRegistryId}`);
293
- return {
294
- revocationStatusList: Object.assign(Object.assign({}, revocationStatusList), { issuerId: parsedDid.did, timestamp: statusListTimestamp }),
295
- resolutionMetadata: {},
296
- revocationStatusListMetadata: ((_b = response.resourceMetadata) !== null && _b !== void 0 ? _b : {}),
297
- };
298
- }
299
- catch (error) {
300
- agentContext.config.logger.error(`Error retrieving revocation registry status list '${revocationRegistryId}'`, {
301
- error,
302
- revocationRegistryId,
303
- });
304
- return {
305
- resolutionMetadata: {
306
- error: 'notFound',
307
- message: `unable to resolve revocation registry status list: ${error.message}`,
308
- },
309
- revocationStatusListMetadata: {},
310
- };
311
- }
312
- }
313
- async registerRevocationStatusList(agentContext, { revocationStatusList, options }) {
314
- var _a, _b;
315
- try {
316
- const revocationRegistryDefinition = await this.getRevocationRegistryDefinition(agentContext, revocationStatusList.revRegDefId);
317
- if (!revocationRegistryDefinition.revocationRegistryDefinition) {
318
- throw new core_1.CredoError(`Revocation registry definition not found for id: ${revocationStatusList.revRegDefId}`);
319
- }
320
- const revocationRegistryDefinitionName = revocationRegistryDefinition.revocationRegistryDefinitionMetadata.name;
321
- if (!revocationRegistryDefinitionName)
322
- throw new core_1.CredoError(`Revocation registry definition name not found for id: ${revocationStatusList.revRegDefId}`);
323
- const cheqdDidRegistrar = agentContext.dependencyManager.resolve(dids_1.CheqdDidRegistrar);
324
- const revocationStatusListResource = {
325
- id: core_1.utils.uuid(),
326
- name: revocationRegistryDefinitionName,
327
- resourceType: 'anonCredsStatusList',
328
- data: {
329
- currentAccumulator: revocationStatusList.currentAccumulator,
330
- revRegDefId: revocationStatusList.revRegDefId,
331
- revocationList: revocationStatusList.revocationList,
332
- },
333
- version: core_1.utils.uuid(),
334
- };
335
- const response = await cheqdDidRegistrar.createResource(agentContext, revocationStatusList.issuerId, revocationStatusListResource);
336
- if (response.resourceState.state !== 'finished')
337
- throw new core_1.CredoError((_a = response.resourceState.reason) !== null && _a !== void 0 ? _a : 'Unknown error');
338
- // It's not possible to get the timestamp from the response, so we set it to the current time
339
- const nowTimestamp = Math.floor(Date.now() / 1000);
340
- return {
341
- revocationStatusListState: {
342
- state: 'finished',
343
- revocationStatusList: Object.assign(Object.assign({}, revocationStatusList), { timestamp: nowTimestamp }),
344
- },
345
- registrationMetadata: {},
346
- revocationStatusListMetadata: ((_b = response.resourceMetadata) !== null && _b !== void 0 ? _b : {}),
347
- };
348
- }
349
- catch (error) {
350
- agentContext.config.logger.error(`Error registering revocation status list for did '${revocationStatusList.issuerId}'`, {
351
- error,
352
- did: revocationStatusList.issuerId,
353
- options,
354
- });
355
- return {
356
- revocationStatusListMetadata: {},
357
- registrationMetadata: {},
358
- revocationStatusListState: {
359
- state: 'failed',
360
- revocationStatusList,
361
- reason: `unknownError: ${error.message}`,
362
- },
363
- };
364
- }
365
- }
366
- }
367
- exports.CheqdAnonCredsRegistry = CheqdAnonCredsRegistry;
368
- //# sourceMappingURL=CheqdAnonCredsRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CheqdAnonCredsRegistry.js","sourceRoot":"","sources":["../../../src/anoncreds/services/CheqdAnonCredsRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { CheqdNetwork } from '@cheqd/sdk';
2
- import type { ParsedDid } from '@credo-ts/core';
3
- export declare const cheqdSdkAnonCredsRegistryIdentifierRegex: RegExp;
4
- export declare const cheqdDidRegex: RegExp;
5
- export declare const cheqdDidVersionRegex: RegExp;
6
- export declare const cheqdDidVersionsRegex: RegExp;
7
- export declare const cheqdDidMetadataRegex: RegExp;
8
- export declare const cheqdResourceRegex: RegExp;
9
- export declare const cheqdResourceMetadataRegex: RegExp;
10
- export type ParsedCheqdDid = ParsedDid & {
11
- network: `${CheqdNetwork}`;
12
- };
13
- export declare function parseCheqdDid(didUrl: string): ParsedCheqdDid | null;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cheqdResourceMetadataRegex = exports.cheqdResourceRegex = exports.cheqdDidMetadataRegex = exports.cheqdDidVersionsRegex = exports.cheqdDidVersionRegex = exports.cheqdDidRegex = exports.cheqdSdkAnonCredsRegistryIdentifierRegex = void 0;
4
- exports.parseCheqdDid = parseCheqdDid;
5
- const core_1 = require("@credo-ts/core");
6
- const class_validator_1 = require("class-validator");
7
- const ID_CHAR = '([a-z,A-Z,0-9,-])';
8
- const NETWORK = '(testnet|mainnet)';
9
- const IDENTIFIER = `((?:${ID_CHAR}*:)*(${ID_CHAR}+))`;
10
- const PATH = `(/[^#?]*)?`;
11
- const QUERY = `([?][^#]*)?`;
12
- const VERSION_ID = `(.*?)`;
13
- const FRAGMENT = `([#].*)?`;
14
- exports.cheqdSdkAnonCredsRegistryIdentifierRegex = new RegExp(`^did:cheqd:${NETWORK}:${IDENTIFIER}${PATH}${QUERY}${FRAGMENT}$`);
15
- exports.cheqdDidRegex = new RegExp(`^did:cheqd:${NETWORK}:${IDENTIFIER}${QUERY}${FRAGMENT}$`);
16
- exports.cheqdDidVersionRegex = new RegExp(`^did:cheqd:${NETWORK}:${IDENTIFIER}/version/${VERSION_ID}${QUERY}${FRAGMENT}$`);
17
- exports.cheqdDidVersionsRegex = new RegExp(`^did:cheqd:${NETWORK}:${IDENTIFIER}/versions${QUERY}${FRAGMENT}$`);
18
- exports.cheqdDidMetadataRegex = new RegExp(`^did:cheqd:${NETWORK}:${IDENTIFIER}/metadata${QUERY}${FRAGMENT}$`);
19
- exports.cheqdResourceRegex = new RegExp(`^did:cheqd:${NETWORK}:${IDENTIFIER}/resources/${IDENTIFIER}${QUERY}${FRAGMENT}$`);
20
- exports.cheqdResourceMetadataRegex = new RegExp(`^did:cheqd:${NETWORK}:${IDENTIFIER}/resources/${IDENTIFIER}/metadata${QUERY}${FRAGMENT}`);
21
- function parseCheqdDid(didUrl) {
22
- if (didUrl === '' || !didUrl)
23
- return null;
24
- const sections = didUrl.match(exports.cheqdSdkAnonCredsRegistryIdentifierRegex);
25
- if (sections) {
26
- if (!(core_1.utils.isValidUuid(sections[2]) ||
27
- ((0, class_validator_1.isBase58)(sections[2]) && core_1.TypedArrayEncoder.fromBase58(sections[2]).length == 16))) {
28
- return null;
29
- }
30
- const parts = {
31
- did: `did:cheqd:${sections[1]}:${sections[2]}`,
32
- method: 'cheqd',
33
- network: sections[1],
34
- id: sections[2],
35
- didUrl,
36
- };
37
- if (sections[7]) {
38
- const params = sections[7].slice(1).split('&');
39
- parts.params = {};
40
- for (const p of params) {
41
- const kv = p.split('=');
42
- parts.params[kv[0]] = kv[1];
43
- }
44
- }
45
- if (sections[6])
46
- parts.path = sections[6];
47
- if (sections[8])
48
- parts.fragment = sections[8].slice(1);
49
- return parts;
50
- }
51
- return null;
52
- }
53
- //# sourceMappingURL=identifiers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../../src/anoncreds/utils/identifiers.ts"],"names":[],"mappings":"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"}