@credo-ts/indy-vdr 0.6.0-pr-2539-20251127092008 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  import { IndyVdrError } from "./error/IndyVdrError.mjs";
2
2
  import "./error/index.mjs";
3
3
  import { verificationPublicJwkForIndyDid } from "./dids/didIndyUtil.mjs";
4
- import { __decorateMetadata } from "./_virtual/_@oxc-project_runtime@0.97.0/helpers/decorateMetadata.mjs";
5
- import { __decorate } from "./_virtual/_@oxc-project_runtime@0.97.0/helpers/decorate.mjs";
4
+ import { __decorateMetadata } from "./_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
5
+ import { __decorate } from "./_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
6
6
  import { IndyVdrPoolService } from "./pool/IndyVdrPoolService.mjs";
7
7
  import "./pool/index.mjs";
8
8
  import { multiSignRequest, signRequest } from "./utils/sign.mjs";
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.97.0/helpers/decorate.js
1
+ //#region \0@oxc-project+runtime@0.99.0/helpers/decorate.js
2
2
  function __decorate(decorators, target, key, desc) {
3
3
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
4
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.97.0/helpers/decorateMetadata.js
1
+ //#region \0@oxc-project+runtime@0.99.0/helpers/decorateMetadata.js
2
2
  function __decorateMetadata(k, v) {
3
3
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
4
4
  }
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.97.0/helpers/decorateParam.js
1
+ //#region \0@oxc-project+runtime@0.99.0/helpers/decorateParam.js
2
2
  function __decorateParam(paramIndex, decorator) {
3
3
  return function(target, key) {
4
4
  decorator(target, key, paramIndex);
@@ -5,6 +5,8 @@ import { AgentContext } from "@credo-ts/core";
5
5
  declare class IndyVdrAnonCredsRegistry implements AnonCredsRegistry {
6
6
  readonly methodName = "indy";
7
7
  readonly supportedIdentifier: RegExp;
8
+ allowsCaching: boolean;
9
+ allowsLocalRecord: boolean;
8
10
  getSchema(agentContext: AgentContext, schemaId: string): Promise<GetSchemaReturn>;
9
11
  registerSchema(agentContext: AgentContext, options: IndyVdrRegisterSchema): Promise<IndyVdrRegisterSchemaReturn>;
10
12
  getCredentialDefinition(agentContext: AgentContext, credentialDefinitionId: string): Promise<GetCredentialDefinitionReturn>;
@@ -1 +1 @@
1
- {"version":3,"file":"IndyVdrAnonCredsRegistry.d.mts","names":[],"sources":["../../src/anoncreds/IndyVdrAnonCredsRegistry.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"IndyVdrAnonCredsRegistry.d.mts","names":[],"sources":["../../src/anoncreds/IndyVdrAnonCredsRegistry.ts"],"sourcesContent":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import "../pool/index.mjs";
4
4
  import { multiSignRequest } from "../utils/sign.mjs";
5
5
  import { getDidIndyCredentialDefinitionId, getDidIndyRevocationRegistryDefinitionId, getDidIndyRevocationRegistryEntryId, getDidIndySchemaId, indyVdrAnonCredsRegistryIdentifierRegex } from "./utils/identifiers.mjs";
6
6
  import { anonCredsRevocationStatusListFromIndyVdr, indyVdrCreateLatestRevocationDelta } from "./utils/transform.mjs";
7
- import { dateToTimestamp, getUnqualifiedCredentialDefinitionId, getUnqualifiedRevocationRegistryDefinitionId, getUnqualifiedSchemaId, parseIndyCredentialDefinitionId, parseIndyDid, parseIndyRevocationRegistryId, parseIndySchemaId } from "@credo-ts/anoncreds";
7
+ import { AnonCredsRegistryService, dateToTimestamp, getUnqualifiedCredentialDefinitionId, getUnqualifiedRevocationRegistryDefinitionId, getUnqualifiedSchemaId, parseIndyCredentialDefinitionId, parseIndyDid, parseIndyRevocationRegistryId, parseIndySchemaId } from "@credo-ts/anoncreds";
8
8
  import { CredoError } from "@credo-ts/core";
9
9
  import { CredentialDefinitionRequest, CustomRequest, GetCredentialDefinitionRequest, GetRevocationRegistryDefinitionRequest, GetRevocationRegistryDeltaRequest, GetSchemaRequest, GetTransactionRequest, RevocationRegistryDefinitionRequest, RevocationRegistryEntryRequest, SchemaRequest } from "@hyperledger/indy-vdr-shared";
10
10
 
@@ -13,6 +13,8 @@ var IndyVdrAnonCredsRegistry = class {
13
13
  constructor() {
14
14
  this.methodName = "indy";
15
15
  this.supportedIdentifier = indyVdrAnonCredsRegistryIdentifierRegex;
16
+ this.allowsCaching = true;
17
+ this.allowsLocalRecord = true;
16
18
  }
17
19
  async getSchema(agentContext, schemaId) {
18
20
  try {
@@ -203,7 +205,7 @@ var IndyVdrAnonCredsRegistry = class {
203
205
  schemaSeqNo = Number(operation?.ref);
204
206
  didIndyCredentialDefinitionId = getDidIndyCredentialDefinitionId(namespace, namespaceIdentifier, schemaSeqNo, tag);
205
207
  } else {
206
- const { schemaMetadata, resolutionMetadata } = await this.getSchema(agentContext, schemaId);
208
+ const { schemaMetadata, resolutionMetadata } = await agentContext.resolve(AnonCredsRegistryService).getSchema(agentContext, schemaId, { useLocalRecord: false });
207
209
  if (!schemaMetadata?.indyLedgerSeqNo || typeof schemaMetadata.indyLedgerSeqNo !== "number") return {
208
210
  registrationMetadata: {},
209
211
  credentialDefinitionMetadata: { didIndyNamespace: pool.indyNamespace },
@@ -427,7 +429,7 @@ var IndyVdrAnonCredsRegistry = class {
427
429
  },
428
430
  revocationStatusListMetadata: {}
429
431
  };
430
- const { revocationRegistryDefinition, resolutionMetadata, revocationRegistryDefinitionMetadata } = await this.getRevocationRegistryDefinition(agentContext, revocationRegistryDefinitionId);
432
+ const { revocationRegistryDefinition, resolutionMetadata, revocationRegistryDefinitionMetadata } = await agentContext.resolve(AnonCredsRegistryService).getRevocationRegistryDefinition(agentContext, revocationRegistryDefinitionId);
431
433
  if (!revocationRegistryDefinition || !revocationRegistryDefinitionMetadata.issuanceType || typeof revocationRegistryDefinitionMetadata.issuanceType !== "string") return {
432
434
  resolutionMetadata: { error: `error resolving revocation registry definition with id ${revocationRegistryDefinitionId}: ${resolutionMetadata.error} ${resolutionMetadata.message}` },
433
435
  revocationStatusListMetadata: { didIndyNamespace: pool.indyNamespace }
@@ -1 +1 @@
1
- {"version":3,"file":"IndyVdrAnonCredsRegistry.mjs","names":["writeRequest: CustomRequest","didIndyCredentialDefinitionId: string","schemaSeqNo: number","didIndyRevocationRegistryDefinitionId: string"],"sources":["../../src/anoncreds/IndyVdrAnonCredsRegistry.ts"],"sourcesContent":["import type {\n AnonCredsCredentialDefinition,\n AnonCredsRegistry,\n AnonCredsRevocationRegistryDefinition,\n AnonCredsSchema,\n GetCredentialDefinitionReturn,\n GetRevocationRegistryDefinitionReturn,\n GetRevocationStatusListReturn,\n GetSchemaReturn,\n RegisterCredentialDefinitionReturn,\n RegisterCredentialDefinitionReturnStateAction,\n RegisterCredentialDefinitionReturnStateFailed,\n RegisterCredentialDefinitionReturnStateFinished,\n RegisterCredentialDefinitionReturnStateWait,\n RegisterRevocationRegistryDefinitionReturn,\n RegisterRevocationRegistryDefinitionReturnStateAction,\n RegisterRevocationRegistryDefinitionReturnStateFailed,\n RegisterRevocationRegistryDefinitionReturnStateFinished,\n RegisterRevocationRegistryDefinitionReturnStateWait,\n RegisterRevocationStatusListOptions,\n RegisterRevocationStatusListReturn,\n RegisterRevocationStatusListReturnStateAction,\n RegisterRevocationStatusListReturnStateFailed,\n RegisterRevocationStatusListReturnStateFinished,\n RegisterRevocationStatusListReturnStateWait,\n RegisterSchemaReturn,\n RegisterSchemaReturnStateAction,\n RegisterSchemaReturnStateFailed,\n RegisterSchemaReturnStateFinished,\n RegisterSchemaReturnStateWait,\n} from '@credo-ts/anoncreds'\nimport {\n dateToTimestamp,\n getUnqualifiedCredentialDefinitionId,\n getUnqualifiedRevocationRegistryDefinitionId,\n getUnqualifiedSchemaId,\n parseIndyCredentialDefinitionId,\n parseIndyDid,\n parseIndyRevocationRegistryId,\n parseIndySchemaId,\n} from '@credo-ts/anoncreds'\nimport type { AgentContext } from '@credo-ts/core'\nimport { CredoError } from '@credo-ts/core'\nimport type { SchemaResponse } from '@hyperledger/indy-vdr-shared'\nimport {\n CredentialDefinitionRequest,\n CustomRequest,\n GetCredentialDefinitionRequest,\n GetRevocationRegistryDefinitionRequest,\n GetRevocationRegistryDeltaRequest,\n GetSchemaRequest,\n GetTransactionRequest,\n RevocationRegistryDefinitionRequest,\n RevocationRegistryEntryRequest,\n SchemaRequest,\n} from '@hyperledger/indy-vdr-shared'\nimport { verificationPublicJwkForIndyDid } from '../dids/didIndyUtil'\nimport { IndyVdrPoolService } from '../pool'\nimport { multiSignRequest } from '../utils/sign'\nimport {\n getDidIndyCredentialDefinitionId,\n getDidIndyRevocationRegistryDefinitionId,\n getDidIndyRevocationRegistryEntryId,\n getDidIndySchemaId,\n indyVdrAnonCredsRegistryIdentifierRegex,\n} from './utils/identifiers'\nimport type { RevocationRegistryDelta } from './utils/transform'\nimport { anonCredsRevocationStatusListFromIndyVdr, indyVdrCreateLatestRevocationDelta } from './utils/transform'\n\nexport class IndyVdrAnonCredsRegistry implements AnonCredsRegistry {\n public readonly methodName = 'indy'\n\n public readonly supportedIdentifier = indyVdrAnonCredsRegistryIdentifierRegex\n\n public async getSchema(agentContext: AgentContext, schemaId: string): Promise<GetSchemaReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n // parse schema id (supports did:indy and legacy)\n const { did, namespaceIdentifier, schemaName, schemaVersion } = parseIndySchemaId(schemaId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n agentContext.config.logger.debug(`Getting schema '${schemaId}' from ledger '${pool.indyNamespace}'`)\n\n // even though we support did:indy and legacy identifiers we always need to fetch using the legacy identifier\n const legacySchemaId = getUnqualifiedSchemaId(namespaceIdentifier, schemaName, schemaVersion)\n const request = new GetSchemaRequest({ schemaId: legacySchemaId })\n\n agentContext.config.logger.trace(\n `Submitting get schema request for schema '${schemaId}' to ledger '${pool.indyNamespace}'`\n )\n const response = await pool.submitRequest(request)\n\n agentContext.config.logger.trace(`Got un-parsed schema '${schemaId}' from ledger '${pool.indyNamespace}'`, {\n response,\n })\n\n if (!('attr_names' in response.result.data)) {\n agentContext.config.logger.error(`Error retrieving schema '${schemaId}'`)\n\n return {\n schemaId,\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to find schema with id ${schemaId}`,\n },\n schemaMetadata: {},\n }\n }\n\n return {\n schema: {\n attrNames: response.result.data.attr_names,\n name: response.result.data.name,\n version: response.result.data.version,\n issuerId: did,\n },\n schemaId,\n resolutionMetadata: {},\n schemaMetadata: {\n didIndyNamespace: pool.indyNamespace,\n // NOTE: the seqNo is required by the indy-sdk even though not present in AnonCreds v1.\n // For this reason we return it in the metadata.\n indyLedgerSeqNo: response.result.seqNo,\n },\n }\n } catch (error) {\n agentContext.config.logger.error(`Error retrieving schema '${schemaId}'`, {\n error,\n schemaId,\n })\n\n return {\n schemaId,\n resolutionMetadata: {\n error: 'notFound',\n },\n schemaMetadata: {},\n }\n }\n }\n\n public async registerSchema(\n agentContext: AgentContext,\n options: IndyVdrRegisterSchema\n ): Promise<IndyVdrRegisterSchemaReturn> {\n const schema = options.schema\n const { issuerId, name, version, attrNames } = schema\n try {\n // This will throw an error if trying to register a schema with a legacy indy identifier. We only support did:indy identifiers\n // for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n\n const { namespaceIdentifier, namespace } = parseIndyDid(issuerId)\n const { endorserDid, endorserMode } = options.options\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n let writeRequest: CustomRequest\n const didIndySchemaId = getDidIndySchemaId(namespace, namespaceIdentifier, schema.name, schema.version)\n\n const endorsedTransaction = options.options.endorsedTransaction\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${issuerId}'`,\n schema\n )\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n } else {\n agentContext.config.logger.debug(`Create schema tx on ledger '${namespace}' with did '${issuerId}'`, schema)\n const legacySchemaId = getUnqualifiedSchemaId(namespaceIdentifier, name, version)\n\n const schemaRequest = new SchemaRequest({\n submitterDid: namespaceIdentifier,\n schema: { id: legacySchemaId, name, ver: '1.0', version, attrNames },\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n schemaRequest,\n submitterKey,\n endorserDid !== issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndySchemaId,\n schemaState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n schemaId: didIndySchemaId,\n schema: schema,\n schemaRequest: writeRequest.body,\n },\n registrationMetadata: {},\n schemaMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n const response = await pool.submitRequest(writeRequest)\n\n agentContext.config.logger.debug(`Registered schema '${didIndySchemaId}' on ledger '${pool.indyNamespace}'`, {\n response,\n writeRequest,\n })\n\n return {\n schemaState: {\n state: 'finished',\n schema: schema,\n schemaId: didIndySchemaId,\n },\n registrationMetadata: {},\n schemaMetadata: {\n // NOTE: the seqNo is required by the indy-sdk even though not present in AnonCreds v1.\n // For this reason we return it in the metadata.\n // Cast to SchemaResponse to pass type check\n indyLedgerSeqNo: (response as SchemaResponse)?.result?.txnMetadata?.seqNo,\n },\n }\n } catch (error) {\n agentContext.config.logger.error(`Error registering schema for did '${issuerId}'`, {\n error,\n did: issuerId,\n schema: schema,\n })\n\n return {\n schemaMetadata: {},\n registrationMetadata: {},\n schemaState: {\n state: 'failed',\n schema: schema,\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n public async getCredentialDefinition(\n agentContext: AgentContext,\n credentialDefinitionId: string\n ): Promise<GetCredentialDefinitionReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n // we support did:indy and legacy identifiers\n const { did, namespaceIdentifier, schemaSeqNo, tag } = parseIndyCredentialDefinitionId(credentialDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(\n `Getting credential definition '${credentialDefinitionId}' from ledger '${pool.indyNamespace}'`\n )\n\n const legacyCredentialDefinitionId = getUnqualifiedCredentialDefinitionId(namespaceIdentifier, schemaSeqNo, tag)\n const request = new GetCredentialDefinitionRequest({\n credentialDefinitionId: legacyCredentialDefinitionId,\n })\n\n agentContext.config.logger.trace(\n `Submitting get credential definition request for credential definition '${credentialDefinitionId}' to ledger '${pool.indyNamespace}'`\n )\n const response = await pool.submitRequest(request)\n\n // We need to fetch the schema to determine the schemaId (we only have the seqNo)\n const schema = await this.fetchIndySchemaWithSeqNo(agentContext, response.result.ref, namespaceIdentifier)\n\n if (!schema || !response.result.data) {\n agentContext.config.logger.error(`Error retrieving credential definition '${credentialDefinitionId}'`)\n\n return {\n credentialDefinitionId,\n credentialDefinitionMetadata: {},\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to resolve credential definition with id ${credentialDefinitionId}`,\n },\n }\n }\n\n // Format the schema id based on the type of the credential definition id\n const schemaId = credentialDefinitionId.startsWith('did:indy')\n ? getDidIndySchemaId(pool.indyNamespace, schema.schema.issuerId, schema.schema.name, schema.schema.version)\n : schema.schema.schemaId\n\n return {\n credentialDefinitionId,\n credentialDefinition: {\n issuerId: did,\n schemaId,\n tag: response.result.tag,\n type: 'CL',\n value: response.result.data,\n },\n credentialDefinitionMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n resolutionMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(`Error retrieving credential definition '${credentialDefinitionId}'`, {\n error,\n credentialDefinitionId,\n })\n\n return {\n credentialDefinitionId,\n credentialDefinitionMetadata: {},\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to resolve credential definition: ${error.message}`,\n },\n }\n }\n }\n\n public async registerCredentialDefinition(\n agentContext: AgentContext,\n options: IndyVdrRegisterCredentialDefinition\n ): Promise<IndyVdrRegisterCredentialDefinitionReturn> {\n const credentialDefinition = options.credentialDefinition\n const { schemaId, issuerId, tag, value } = credentialDefinition\n\n try {\n // This will throw an error if trying to register a credential definition with a legacy indy identifier. We only support did:indy\n // identifiers for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n const { namespaceIdentifier, namespace } = parseIndyDid(issuerId)\n const { endorserDid, endorserMode } = options.options\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n agentContext.config.logger.debug(\n `Registering credential definition on ledger '${namespace}' with did '${issuerId}'`,\n options.credentialDefinition\n )\n\n let writeRequest: CustomRequest\n let didIndyCredentialDefinitionId: string\n let schemaSeqNo: number\n\n const endorsedTransaction = options.options.endorsedTransaction\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${issuerId}'`,\n credentialDefinition\n )\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n const operation = JSON.parse(endorsedTransaction)?.operation\n // extract the seqNo from the endorsed transaction, which is contained in the ref field of the operation\n schemaSeqNo = Number(operation?.ref)\n didIndyCredentialDefinitionId = getDidIndyCredentialDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n tag\n )\n } else {\n // TODO: this will bypass caching if done on a higher level.\n const { schemaMetadata, resolutionMetadata } = await this.getSchema(agentContext, schemaId)\n\n if (!schemaMetadata?.indyLedgerSeqNo || typeof schemaMetadata.indyLedgerSeqNo !== 'number') {\n return {\n registrationMetadata: {},\n credentialDefinitionMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n credentialDefinitionState: {\n credentialDefinition: options.credentialDefinition,\n state: 'failed',\n reason: `error resolving schema with id ${schemaId}: ${resolutionMetadata.error} ${resolutionMetadata.message}`,\n },\n }\n }\n schemaSeqNo = schemaMetadata.indyLedgerSeqNo\n\n // FIXME: we need to check if schemaId has same namespace as issuerId and it should not be a legacy identifier\n // FIXME: in the other methods we also need to add checks. E.g. when creating a revocation\n // status list, you can only create a revocation status list for a credential definition registry that is created\n // under the same namespace and by the same issuer id (you can create a cred def for a schema created by another issuer\n // but you can't create a revocation registry based on a cred def created by another issuer. We need to add these checks\n // to all register methods in this file)\n const legacyCredentialDefinitionId = getUnqualifiedCredentialDefinitionId(issuerId, schemaSeqNo, tag)\n didIndyCredentialDefinitionId = getDidIndyCredentialDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n tag\n )\n\n const credentialDefinitionRequest = new CredentialDefinitionRequest({\n submitterDid: namespaceIdentifier,\n credentialDefinition: {\n ver: '1.0',\n id: legacyCredentialDefinitionId,\n schemaId: schemaSeqNo.toString(),\n type: 'CL',\n tag,\n value,\n },\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n credentialDefinitionRequest,\n submitterKey,\n endorserDid !== issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndyCredentialDefinitionId,\n credentialDefinitionState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n credentialDefinition: credentialDefinition,\n credentialDefinitionId: didIndyCredentialDefinitionId,\n credentialDefinitionRequest: writeRequest.body,\n },\n registrationMetadata: {},\n credentialDefinitionMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n\n const response = await pool.submitRequest(writeRequest)\n agentContext.config.logger.debug(\n `Registered credential definition '${didIndyCredentialDefinitionId}' on ledger '${pool.indyNamespace}'`,\n {\n response,\n credentialDefinition: options.credentialDefinition,\n }\n )\n\n return {\n credentialDefinitionMetadata: {},\n credentialDefinitionState: {\n credentialDefinition: credentialDefinition,\n credentialDefinitionId: didIndyCredentialDefinitionId,\n state: 'finished',\n },\n registrationMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(`Error registering credential definition for schema '${schemaId}'`, {\n error,\n did: issuerId,\n credentialDefinition: options.credentialDefinition,\n })\n\n return {\n credentialDefinitionMetadata: {},\n registrationMetadata: {},\n credentialDefinitionState: {\n credentialDefinition: options.credentialDefinition,\n state: 'failed',\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n public async getRevocationRegistryDefinition(\n agentContext: AgentContext,\n revocationRegistryDefinitionId: string\n ): Promise<GetRevocationRegistryDefinitionReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { did, namespaceIdentifier, credentialDefinitionTag, revocationRegistryTag, schemaSeqNo } =\n parseIndyRevocationRegistryId(revocationRegistryDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(\n `Using ledger '${pool.indyNamespace}' to retrieve revocation registry definition '${revocationRegistryDefinitionId}'`\n )\n\n const legacyRevocationRegistryId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n const request = new GetRevocationRegistryDefinitionRequest({\n revocationRegistryId: legacyRevocationRegistryId,\n })\n\n agentContext.config.logger.trace(\n `Submitting get revocation registry definition request for revocation registry definition '${revocationRegistryDefinitionId}' to ledger`\n )\n const response = await pool.submitRequest(request)\n\n if (!response.result.data) {\n agentContext.config.logger.error(\n `Error retrieving revocation registry definition '${revocationRegistryDefinitionId}' from ledger`,\n {\n revocationRegistryDefinitionId,\n }\n )\n\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: 'unable to resolve revocation registry definition',\n },\n revocationRegistryDefinitionId,\n revocationRegistryDefinitionMetadata: {},\n }\n }\n\n agentContext.config.logger.trace(\n `Got revocation registry definition '${revocationRegistryDefinitionId}' from ledger '${pool.indyNamespace}'`,\n {\n response,\n }\n )\n\n const credentialDefinitionId = revocationRegistryDefinitionId.startsWith('did:indy:')\n ? getDidIndyCredentialDefinitionId(\n pool.indyNamespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag\n )\n : getUnqualifiedCredentialDefinitionId(namespaceIdentifier, schemaSeqNo, credentialDefinitionTag)\n\n const revocationRegistryDefinition = {\n issuerId: did,\n revocDefType: response.result.data.revocDefType,\n value: {\n maxCredNum: response.result.data.value.maxCredNum,\n tailsHash: response.result.data.value.tailsHash,\n tailsLocation: response.result.data.value.tailsLocation,\n publicKeys: {\n accumKey: {\n z: response.result.data.value.publicKeys.accumKey.z,\n },\n },\n },\n tag: response.result.data.tag,\n credDefId: credentialDefinitionId,\n } satisfies AnonCredsRevocationRegistryDefinition\n\n return {\n revocationRegistryDefinitionId,\n revocationRegistryDefinition,\n revocationRegistryDefinitionMetadata: {\n issuanceType: response.result.data.value.issuanceType,\n didIndyNamespace: pool.indyNamespace,\n },\n resolutionMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error retrieving revocation registry definition '${revocationRegistryDefinitionId}' from ledger`,\n {\n error,\n revocationRegistryDefinitionId,\n }\n )\n\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to resolve revocation registry definition: ${error.message}`,\n },\n revocationRegistryDefinitionId,\n revocationRegistryDefinitionMetadata: {},\n }\n }\n }\n\n public async registerRevocationRegistryDefinition(\n agentContext: AgentContext,\n { options, revocationRegistryDefinition }: IndyVdrRegisterRevocationRegistryDefinition\n ): Promise<IndyVdrRegisterRevocationRegistryDefinitionReturn> {\n try {\n // This will throw an error if trying to register a credential definition with a legacy indy identifier. We only support did:indy\n // identifiers for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n const { namespaceIdentifier, namespace } = parseIndyDid(revocationRegistryDefinition.issuerId)\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n agentContext.config.logger.debug(\n `Registering revocation registry definition on ledger '${namespace}' with did '${revocationRegistryDefinition.issuerId}'`,\n revocationRegistryDefinition\n )\n\n let writeRequest: CustomRequest\n let didIndyRevocationRegistryDefinitionId: string\n\n const { schemaSeqNo, tag: credentialDefinitionTag } = parseIndyCredentialDefinitionId(\n revocationRegistryDefinition.credDefId\n )\n\n const { endorsedTransaction, endorserDid, endorserMode } = options\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${revocationRegistryDefinition.issuerId}'`,\n revocationRegistryDefinition\n )\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n didIndyRevocationRegistryDefinitionId = getDidIndyRevocationRegistryDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryDefinition.tag\n )\n } else {\n const legacyRevocationRegistryDefinitionId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryDefinition.tag\n )\n\n didIndyRevocationRegistryDefinitionId = getDidIndyRevocationRegistryDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryDefinition.tag\n )\n\n const legacyCredentialDefinitionId = getUnqualifiedCredentialDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag\n )\n\n const revocationRegistryDefinitionRequest = new RevocationRegistryDefinitionRequest({\n submitterDid: namespaceIdentifier,\n revocationRegistryDefinitionV1: {\n id: legacyRevocationRegistryDefinitionId,\n ver: '1.0',\n credDefId: legacyCredentialDefinitionId,\n tag: revocationRegistryDefinition.tag,\n revocDefType: revocationRegistryDefinition.revocDefType,\n value: {\n issuanceType: 'ISSUANCE_BY_DEFAULT',\n ...revocationRegistryDefinition.value,\n },\n },\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, revocationRegistryDefinition.issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n revocationRegistryDefinitionRequest,\n submitterKey,\n endorserDid !== revocationRegistryDefinition.issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndyRevocationRegistryDefinitionId,\n revocationRegistryDefinitionState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n revocationRegistryDefinition,\n revocationRegistryDefinitionId: didIndyRevocationRegistryDefinitionId,\n revocationRegistryDefinitionRequest: writeRequest.body,\n },\n registrationMetadata: {},\n revocationRegistryDefinitionMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== revocationRegistryDefinition.issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n\n const response = await pool.submitRequest(writeRequest)\n agentContext.config.logger.debug(\n `Registered revocation registry definition '${didIndyRevocationRegistryDefinitionId}' on ledger '${pool.indyNamespace}'`,\n {\n response,\n revocationRegistryDefinition,\n }\n )\n\n return {\n revocationRegistryDefinitionMetadata: {},\n revocationRegistryDefinitionState: {\n revocationRegistryDefinition,\n revocationRegistryDefinitionId: didIndyRevocationRegistryDefinitionId,\n state: 'finished',\n },\n registrationMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error registering revocation registry definition for credential definition '${revocationRegistryDefinition.credDefId}'`,\n {\n error,\n did: revocationRegistryDefinition.issuerId,\n revocationRegistryDefinition,\n }\n )\n\n return {\n revocationRegistryDefinitionMetadata: {},\n registrationMetadata: {},\n revocationRegistryDefinitionState: {\n revocationRegistryDefinition,\n state: 'failed',\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n public async getRevocationStatusList(\n agentContext: AgentContext,\n revocationRegistryDefinitionId: string,\n timestamp: number\n ): Promise<GetRevocationStatusListReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { did } = parseIndyRevocationRegistryId(revocationRegistryDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n const revocationDelta = await this.fetchIndyRevocationDelta(\n agentContext,\n revocationRegistryDefinitionId,\n timestamp\n )\n\n if (!revocationDelta) {\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: `Error retrieving revocation registry delta '${revocationRegistryDefinitionId}' from ledger, potentially revocation interval ends before revocation registry creation`,\n },\n revocationStatusListMetadata: {},\n }\n }\n\n const { revocationRegistryDefinition, resolutionMetadata, revocationRegistryDefinitionMetadata } =\n await this.getRevocationRegistryDefinition(agentContext, revocationRegistryDefinitionId)\n\n if (\n !revocationRegistryDefinition ||\n !revocationRegistryDefinitionMetadata.issuanceType ||\n typeof revocationRegistryDefinitionMetadata.issuanceType !== 'string'\n ) {\n return {\n resolutionMetadata: {\n error: `error resolving revocation registry definition with id ${revocationRegistryDefinitionId}: ${resolutionMetadata.error} ${resolutionMetadata.message}`,\n },\n revocationStatusListMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n }\n }\n\n const isIssuanceByDefault = revocationRegistryDefinitionMetadata.issuanceType === 'ISSUANCE_BY_DEFAULT'\n\n return {\n resolutionMetadata: {},\n revocationStatusList: anonCredsRevocationStatusListFromIndyVdr(\n revocationRegistryDefinitionId,\n revocationRegistryDefinition,\n revocationDelta,\n isIssuanceByDefault\n ),\n revocationStatusListMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error retrieving revocation registry delta '${revocationRegistryDefinitionId}' from ledger, potentially revocation interval ends before revocation registry creation?\"`,\n {\n error,\n revocationRegistryId: revocationRegistryDefinitionId,\n }\n )\n\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: `Error retrieving revocation registry delta '${revocationRegistryDefinitionId}' from ledger, potentially revocation interval ends before revocation registry creation: ${error.message}`,\n },\n revocationStatusListMetadata: {},\n }\n }\n }\n\n public async registerRevocationStatusList(\n agentContext: AgentContext,\n { options, revocationStatusList }: IndyVdrRegisterRevocationStatusList\n ): Promise<IndyVdrRegisterRevocationStatusListReturn> {\n try {\n // This will throw an error if trying to register a revocation status list with a legacy indy identifier. We only support did:indy\n // identifiers for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n const { endorsedTransaction, endorserDid, endorserMode } = options\n const { namespaceIdentifier, namespace } = parseIndyDid(revocationStatusList.issuerId)\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n agentContext.config.logger.debug(\n `Registering revocation status list on ledger '${namespace}' with did '${revocationStatusList.issuerId}'`,\n revocationStatusList\n )\n\n let writeRequest: CustomRequest\n\n // Parse the revocation registry id\n const {\n schemaSeqNo,\n credentialDefinitionTag,\n namespaceIdentifier: revocationRegistryNamespaceIdentifier,\n revocationRegistryTag,\n namespace: revocationRegistryNamespace,\n } = parseIndyRevocationRegistryId(revocationStatusList.revRegDefId)\n\n const legacyRevocationRegistryDefinitionId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n\n const didIndyRevocationRegistryEntryId = getDidIndyRevocationRegistryEntryId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n\n if (revocationRegistryNamespace && revocationRegistryNamespace !== namespace) {\n throw new CredoError(\n `Issued id '${revocationStatusList.issuerId}' does not have the same namespace (${namespace}) as the revocation registry definition '${revocationRegistryNamespace}'`\n )\n }\n\n if (revocationRegistryNamespaceIdentifier !== namespaceIdentifier) {\n throw new CredoError(\n `Cannot register revocation registry definition using a different DID. Revocation registry definition contains '${revocationRegistryNamespaceIdentifier}', but DID used was '${namespaceIdentifier}'`\n )\n }\n\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${revocationStatusList.issuerId}'`,\n revocationStatusList\n )\n\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n } else {\n const previousDelta = await this.fetchIndyRevocationDelta(\n agentContext,\n legacyRevocationRegistryDefinitionId,\n // Fetch revocation delta for current timestamp\n dateToTimestamp(new Date())\n )\n\n const revocationRegistryDefinitionEntryValue = indyVdrCreateLatestRevocationDelta(\n revocationStatusList.currentAccumulator,\n revocationStatusList.revocationList,\n previousDelta ?? undefined\n )\n\n const revocationRegistryDefinitionRequest = new RevocationRegistryEntryRequest({\n submitterDid: namespaceIdentifier,\n revocationRegistryEntry: {\n ver: '1.0',\n value: revocationRegistryDefinitionEntryValue,\n },\n revocationRegistryDefinitionType: 'CL_ACCUM',\n revocationRegistryDefinitionId: legacyRevocationRegistryDefinitionId,\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, revocationStatusList.issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n revocationRegistryDefinitionRequest,\n submitterKey,\n endorserDid !== revocationStatusList.issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndyRevocationRegistryEntryId,\n revocationStatusListState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n revocationStatusList,\n revocationStatusListRequest: writeRequest.body,\n },\n registrationMetadata: {},\n revocationStatusListMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== revocationStatusList.issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n\n const response = await pool.submitRequest<RevocationRegistryEntryRequest>(\n writeRequest as RevocationRegistryEntryRequest\n )\n agentContext.config.logger.debug(\n `Registered revocation status list '${didIndyRevocationRegistryEntryId}' on ledger '${pool.indyNamespace}'`,\n {\n response,\n revocationStatusList,\n }\n )\n\n return {\n revocationStatusListMetadata: {},\n revocationStatusListState: {\n revocationStatusList: {\n ...revocationStatusList,\n timestamp: response.result.txnMetadata.txnTime,\n },\n state: 'finished',\n },\n registrationMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error registering revocation status list for revocation registry definition '${revocationStatusList.revRegDefId}}'`,\n {\n error,\n did: revocationStatusList.issuerId,\n }\n )\n\n return {\n registrationMetadata: {},\n revocationStatusListMetadata: {},\n revocationStatusListState: {\n revocationStatusList,\n state: 'failed',\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n private async fetchIndySchemaWithSeqNo(agentContext: AgentContext, seqNo: number, did: string) {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(`Getting transaction with seqNo '${seqNo}' from ledger '${pool.indyNamespace}'`)\n // ledgerType 1 is domain ledger\n const request = new GetTransactionRequest({ ledgerType: 1, seqNo })\n\n agentContext.config.logger.trace(`Submitting get transaction request to ledger '${pool.indyNamespace}'`)\n const response = await pool.submitRequest(request)\n\n if (response.result.data?.txn.type !== '101') {\n agentContext.config.logger.error(`Could not get schema from ledger for seq no ${seqNo}'`)\n return null\n }\n\n const schema = response.result.data?.txn.data as SchemaType\n const schemaDid = response.result.data?.txn.metadata.from as string\n const schemaId = getUnqualifiedSchemaId(schemaDid, schema.data.name, schema.data.version)\n\n return {\n schema: {\n schemaId,\n attr_name: schema.data.attr_names,\n name: schema.data.name,\n version: schema.data.version,\n issuerId: schemaDid,\n seqNo,\n },\n indyNamespace: pool.indyNamespace,\n }\n }\n\n private async fetchIndyRevocationDelta(\n agentContext: AgentContext,\n revocationRegistryDefinitionId: string,\n toTs: number\n ): Promise<null | RevocationRegistryDelta> {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { did, namespaceIdentifier, schemaSeqNo, credentialDefinitionTag, revocationRegistryTag } =\n parseIndyRevocationRegistryId(revocationRegistryDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(\n `Using ledger '${pool.indyNamespace}' to retrieve revocation registry deltas with revocation registry definition id '${revocationRegistryDefinitionId}' until ${toTs}`\n )\n\n const legacyRevocationRegistryDefinitionId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n\n const deltaRequest = new GetRevocationRegistryDeltaRequest({\n toTs,\n submitterDid: namespaceIdentifier,\n revocationRegistryId: legacyRevocationRegistryDefinitionId,\n })\n\n agentContext.config.logger.trace(`Submitting get transaction request to ledger '${pool.indyNamespace}'`)\n const response = await pool.submitRequest(deltaRequest)\n const {\n result: { data, type, txnTime },\n } = response\n\n // Indicating there are no deltas\n if (type !== '117' || data === null || !txnTime) {\n agentContext.config.logger.warn(\n `Could not get any deltas from ledger for revocation registry definition '${revocationRegistryDefinitionId}' from ledger '${pool.indyNamespace}'`\n )\n return null\n }\n\n return {\n revoked: data.value.revoked,\n issued: data.value.issued,\n accum: data.value.accum_to.value.accum,\n txnTime,\n }\n }\n}\n\ninterface SchemaType {\n data: {\n attr_names: string[]\n version: string\n name: string\n }\n}\n\ntype InternalEndorsement = { endorserMode: 'internal'; endorserDid: string; endorsedTransaction?: never }\ntype ExternalEndorsementCreate = { endorserMode: 'external'; endorserDid: string; endorsedTransaction?: never }\ntype ExternalEndorsementSubmit = { endorserMode: 'external'; endorserDid?: never; endorsedTransaction: string }\n\nexport interface IndyVdrRegisterSchemaInternalOptions {\n schema: AnonCredsSchema\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterSchemaExternalCreateOptions {\n schema: AnonCredsSchema\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterSchemaExternalSubmitOptions {\n schema: AnonCredsSchema\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterSchemaReturnStateAction extends RegisterSchemaReturnStateAction {\n action: 'endorseIndyTransaction'\n schemaRequest: string\n}\n\nexport interface IndyVdrRegisterSchemaReturn extends RegisterSchemaReturn {\n schemaState:\n | RegisterSchemaReturnStateWait\n | IndyVdrRegisterSchemaReturnStateAction\n | RegisterSchemaReturnStateFinished\n | RegisterSchemaReturnStateFailed\n}\n\nexport type IndyVdrRegisterSchema =\n | IndyVdrRegisterSchemaInternalOptions\n | IndyVdrRegisterSchemaExternalCreateOptions\n | IndyVdrRegisterSchemaExternalSubmitOptions\n\nexport type IndyVdrRegisterSchemaOptions = IndyVdrRegisterSchema['options']\n\nexport interface IndyVdrRegisterCredentialDefinitionInternalOptions {\n credentialDefinition: AnonCredsCredentialDefinition\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionExternalCreateOptions {\n credentialDefinition: AnonCredsCredentialDefinition\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionExternalSubmitOptions {\n credentialDefinition: AnonCredsCredentialDefinition\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionReturnStateAction\n extends RegisterCredentialDefinitionReturnStateAction {\n action: 'endorseIndyTransaction'\n credentialDefinitionRequest: string\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionReturn extends RegisterCredentialDefinitionReturn {\n credentialDefinitionState:\n | RegisterCredentialDefinitionReturnStateWait\n | IndyVdrRegisterCredentialDefinitionReturnStateAction\n | RegisterCredentialDefinitionReturnStateFinished\n | RegisterCredentialDefinitionReturnStateFailed\n}\n\nexport type IndyVdrRegisterCredentialDefinition =\n | IndyVdrRegisterCredentialDefinitionInternalOptions\n | IndyVdrRegisterCredentialDefinitionExternalCreateOptions\n | IndyVdrRegisterCredentialDefinitionExternalSubmitOptions\n\nexport type IndyVdrRegisterCredentialDefinitionOptions = IndyVdrRegisterCredentialDefinition['options']\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionInternalOptions {\n revocationRegistryDefinition: AnonCredsRevocationRegistryDefinition\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionExternalCreateOptions {\n revocationRegistryDefinition: AnonCredsRevocationRegistryDefinition\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionExternalSubmitOptions {\n revocationRegistryDefinition: AnonCredsRevocationRegistryDefinition\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionReturnStateAction\n extends RegisterRevocationRegistryDefinitionReturnStateAction {\n action: 'endorseIndyTransaction'\n revocationRegistryDefinitionRequest: string\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionReturn extends RegisterRevocationRegistryDefinitionReturn {\n revocationRegistryDefinitionState:\n | IndyVdrRegisterRevocationRegistryDefinitionReturnStateAction\n | RegisterRevocationRegistryDefinitionReturnStateWait\n | RegisterRevocationRegistryDefinitionReturnStateFinished\n | RegisterRevocationRegistryDefinitionReturnStateFailed\n}\n\nexport type IndyVdrRegisterRevocationRegistryDefinition =\n | IndyVdrRegisterRevocationRegistryDefinitionInternalOptions\n | IndyVdrRegisterRevocationRegistryDefinitionExternalCreateOptions\n | IndyVdrRegisterRevocationRegistryDefinitionExternalSubmitOptions\n\nexport type IndyVdrRegisterRevocationRegistryDefinitionOptions = IndyVdrRegisterRevocationRegistryDefinition['options']\n\nexport interface IndyVdrRegisterRevocationStatusListInternalOptions extends RegisterRevocationStatusListOptions {\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterRevocationStatusListExternalCreateOptions extends RegisterRevocationStatusListOptions {\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterRevocationStatusListExternalSubmitOptions extends RegisterRevocationStatusListOptions {\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterRevocationStatusListReturnStateAction\n extends RegisterRevocationStatusListReturnStateAction {\n action: 'endorseIndyTransaction'\n revocationStatusListRequest: string\n}\n\nexport interface IndyVdrRegisterRevocationStatusListReturn extends RegisterRevocationStatusListReturn {\n revocationStatusListState:\n | IndyVdrRegisterRevocationStatusListReturnStateAction\n | RegisterRevocationStatusListReturnStateWait\n | RegisterRevocationStatusListReturnStateFinished\n | RegisterRevocationStatusListReturnStateFailed\n}\n\nexport type IndyVdrRegisterRevocationStatusList =\n | IndyVdrRegisterRevocationStatusListInternalOptions\n | IndyVdrRegisterRevocationStatusListExternalCreateOptions\n | IndyVdrRegisterRevocationStatusListExternalSubmitOptions\n\nexport type IndyVdrRegisterRevocationStatusListOptions = IndyVdrRegisterRevocationStatusList['options']\n"],"mappings":"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"}
1
+ {"version":3,"file":"IndyVdrAnonCredsRegistry.mjs","names":["writeRequest: CustomRequest","didIndyCredentialDefinitionId: string","schemaSeqNo: number","didIndyRevocationRegistryDefinitionId: string"],"sources":["../../src/anoncreds/IndyVdrAnonCredsRegistry.ts"],"sourcesContent":["import type {\n AnonCredsCredentialDefinition,\n AnonCredsRegistry,\n AnonCredsRevocationRegistryDefinition,\n AnonCredsSchema,\n GetCredentialDefinitionReturn,\n GetRevocationRegistryDefinitionReturn,\n GetRevocationStatusListReturn,\n GetSchemaReturn,\n RegisterCredentialDefinitionReturn,\n RegisterCredentialDefinitionReturnStateAction,\n RegisterCredentialDefinitionReturnStateFailed,\n RegisterCredentialDefinitionReturnStateFinished,\n RegisterCredentialDefinitionReturnStateWait,\n RegisterRevocationRegistryDefinitionReturn,\n RegisterRevocationRegistryDefinitionReturnStateAction,\n RegisterRevocationRegistryDefinitionReturnStateFailed,\n RegisterRevocationRegistryDefinitionReturnStateFinished,\n RegisterRevocationRegistryDefinitionReturnStateWait,\n RegisterRevocationStatusListOptions,\n RegisterRevocationStatusListReturn,\n RegisterRevocationStatusListReturnStateAction,\n RegisterRevocationStatusListReturnStateFailed,\n RegisterRevocationStatusListReturnStateFinished,\n RegisterRevocationStatusListReturnStateWait,\n RegisterSchemaReturn,\n RegisterSchemaReturnStateAction,\n RegisterSchemaReturnStateFailed,\n RegisterSchemaReturnStateFinished,\n RegisterSchemaReturnStateWait,\n} from '@credo-ts/anoncreds'\nimport {\n AnonCredsRegistryService,\n dateToTimestamp,\n getUnqualifiedCredentialDefinitionId,\n getUnqualifiedRevocationRegistryDefinitionId,\n getUnqualifiedSchemaId,\n parseIndyCredentialDefinitionId,\n parseIndyDid,\n parseIndyRevocationRegistryId,\n parseIndySchemaId,\n} from '@credo-ts/anoncreds'\nimport type { AgentContext } from '@credo-ts/core'\nimport { CredoError } from '@credo-ts/core'\nimport type { SchemaResponse } from '@hyperledger/indy-vdr-shared'\nimport {\n CredentialDefinitionRequest,\n CustomRequest,\n GetCredentialDefinitionRequest,\n GetRevocationRegistryDefinitionRequest,\n GetRevocationRegistryDeltaRequest,\n GetSchemaRequest,\n GetTransactionRequest,\n RevocationRegistryDefinitionRequest,\n RevocationRegistryEntryRequest,\n SchemaRequest,\n} from '@hyperledger/indy-vdr-shared'\nimport { verificationPublicJwkForIndyDid } from '../dids/didIndyUtil'\nimport { IndyVdrPoolService } from '../pool'\nimport { multiSignRequest } from '../utils/sign'\nimport {\n getDidIndyCredentialDefinitionId,\n getDidIndyRevocationRegistryDefinitionId,\n getDidIndyRevocationRegistryEntryId,\n getDidIndySchemaId,\n indyVdrAnonCredsRegistryIdentifierRegex,\n} from './utils/identifiers'\nimport type { RevocationRegistryDelta } from './utils/transform'\nimport { anonCredsRevocationStatusListFromIndyVdr, indyVdrCreateLatestRevocationDelta } from './utils/transform'\n\nexport class IndyVdrAnonCredsRegistry implements AnonCredsRegistry {\n public readonly methodName = 'indy'\n\n public readonly supportedIdentifier = indyVdrAnonCredsRegistryIdentifierRegex\n\n public allowsCaching = true\n public allowsLocalRecord = true\n\n public async getSchema(agentContext: AgentContext, schemaId: string): Promise<GetSchemaReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n // parse schema id (supports did:indy and legacy)\n const { did, namespaceIdentifier, schemaName, schemaVersion } = parseIndySchemaId(schemaId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n agentContext.config.logger.debug(`Getting schema '${schemaId}' from ledger '${pool.indyNamespace}'`)\n\n // even though we support did:indy and legacy identifiers we always need to fetch using the legacy identifier\n const legacySchemaId = getUnqualifiedSchemaId(namespaceIdentifier, schemaName, schemaVersion)\n const request = new GetSchemaRequest({ schemaId: legacySchemaId })\n\n agentContext.config.logger.trace(\n `Submitting get schema request for schema '${schemaId}' to ledger '${pool.indyNamespace}'`\n )\n const response = await pool.submitRequest(request)\n\n agentContext.config.logger.trace(`Got un-parsed schema '${schemaId}' from ledger '${pool.indyNamespace}'`, {\n response,\n })\n\n if (!('attr_names' in response.result.data)) {\n agentContext.config.logger.error(`Error retrieving schema '${schemaId}'`)\n\n return {\n schemaId,\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to find schema with id ${schemaId}`,\n },\n schemaMetadata: {},\n }\n }\n\n return {\n schema: {\n attrNames: response.result.data.attr_names,\n name: response.result.data.name,\n version: response.result.data.version,\n issuerId: did,\n },\n schemaId,\n resolutionMetadata: {},\n schemaMetadata: {\n didIndyNamespace: pool.indyNamespace,\n // NOTE: the seqNo is required by the indy-sdk even though not present in AnonCreds v1.\n // For this reason we return it in the metadata.\n indyLedgerSeqNo: response.result.seqNo,\n },\n }\n } catch (error) {\n agentContext.config.logger.error(`Error retrieving schema '${schemaId}'`, {\n error,\n schemaId,\n })\n\n return {\n schemaId,\n resolutionMetadata: {\n error: 'notFound',\n },\n schemaMetadata: {},\n }\n }\n }\n\n public async registerSchema(\n agentContext: AgentContext,\n options: IndyVdrRegisterSchema\n ): Promise<IndyVdrRegisterSchemaReturn> {\n const schema = options.schema\n const { issuerId, name, version, attrNames } = schema\n try {\n // This will throw an error if trying to register a schema with a legacy indy identifier. We only support did:indy identifiers\n // for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n\n const { namespaceIdentifier, namespace } = parseIndyDid(issuerId)\n const { endorserDid, endorserMode } = options.options\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n let writeRequest: CustomRequest\n const didIndySchemaId = getDidIndySchemaId(namespace, namespaceIdentifier, schema.name, schema.version)\n\n const endorsedTransaction = options.options.endorsedTransaction\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${issuerId}'`,\n schema\n )\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n } else {\n agentContext.config.logger.debug(`Create schema tx on ledger '${namespace}' with did '${issuerId}'`, schema)\n const legacySchemaId = getUnqualifiedSchemaId(namespaceIdentifier, name, version)\n\n const schemaRequest = new SchemaRequest({\n submitterDid: namespaceIdentifier,\n schema: { id: legacySchemaId, name, ver: '1.0', version, attrNames },\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n schemaRequest,\n submitterKey,\n endorserDid !== issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndySchemaId,\n schemaState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n schemaId: didIndySchemaId,\n schema: schema,\n schemaRequest: writeRequest.body,\n },\n registrationMetadata: {},\n schemaMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n const response = await pool.submitRequest(writeRequest)\n\n agentContext.config.logger.debug(`Registered schema '${didIndySchemaId}' on ledger '${pool.indyNamespace}'`, {\n response,\n writeRequest,\n })\n\n return {\n schemaState: {\n state: 'finished',\n schema: schema,\n schemaId: didIndySchemaId,\n },\n registrationMetadata: {},\n schemaMetadata: {\n // NOTE: the seqNo is required by the indy-sdk even though not present in AnonCreds v1.\n // For this reason we return it in the metadata.\n // Cast to SchemaResponse to pass type check\n indyLedgerSeqNo: (response as SchemaResponse)?.result?.txnMetadata?.seqNo,\n },\n }\n } catch (error) {\n agentContext.config.logger.error(`Error registering schema for did '${issuerId}'`, {\n error,\n did: issuerId,\n schema: schema,\n })\n\n return {\n schemaMetadata: {},\n registrationMetadata: {},\n schemaState: {\n state: 'failed',\n schema: schema,\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n public async getCredentialDefinition(\n agentContext: AgentContext,\n credentialDefinitionId: string\n ): Promise<GetCredentialDefinitionReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n // we support did:indy and legacy identifiers\n const { did, namespaceIdentifier, schemaSeqNo, tag } = parseIndyCredentialDefinitionId(credentialDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(\n `Getting credential definition '${credentialDefinitionId}' from ledger '${pool.indyNamespace}'`\n )\n\n const legacyCredentialDefinitionId = getUnqualifiedCredentialDefinitionId(namespaceIdentifier, schemaSeqNo, tag)\n const request = new GetCredentialDefinitionRequest({\n credentialDefinitionId: legacyCredentialDefinitionId,\n })\n\n agentContext.config.logger.trace(\n `Submitting get credential definition request for credential definition '${credentialDefinitionId}' to ledger '${pool.indyNamespace}'`\n )\n const response = await pool.submitRequest(request)\n\n // We need to fetch the schema to determine the schemaId (we only have the seqNo)\n const schema = await this.fetchIndySchemaWithSeqNo(agentContext, response.result.ref, namespaceIdentifier)\n\n if (!schema || !response.result.data) {\n agentContext.config.logger.error(`Error retrieving credential definition '${credentialDefinitionId}'`)\n\n return {\n credentialDefinitionId,\n credentialDefinitionMetadata: {},\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to resolve credential definition with id ${credentialDefinitionId}`,\n },\n }\n }\n\n // Format the schema id based on the type of the credential definition id\n const schemaId = credentialDefinitionId.startsWith('did:indy')\n ? getDidIndySchemaId(pool.indyNamespace, schema.schema.issuerId, schema.schema.name, schema.schema.version)\n : schema.schema.schemaId\n\n return {\n credentialDefinitionId,\n credentialDefinition: {\n issuerId: did,\n schemaId,\n tag: response.result.tag,\n type: 'CL',\n value: response.result.data,\n },\n credentialDefinitionMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n resolutionMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(`Error retrieving credential definition '${credentialDefinitionId}'`, {\n error,\n credentialDefinitionId,\n })\n\n return {\n credentialDefinitionId,\n credentialDefinitionMetadata: {},\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to resolve credential definition: ${error.message}`,\n },\n }\n }\n }\n\n public async registerCredentialDefinition(\n agentContext: AgentContext,\n options: IndyVdrRegisterCredentialDefinition\n ): Promise<IndyVdrRegisterCredentialDefinitionReturn> {\n const credentialDefinition = options.credentialDefinition\n const { schemaId, issuerId, tag, value } = credentialDefinition\n\n try {\n // This will throw an error if trying to register a credential definition with a legacy indy identifier. We only support did:indy\n // identifiers for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n const { namespaceIdentifier, namespace } = parseIndyDid(issuerId)\n const { endorserDid, endorserMode } = options.options\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n agentContext.config.logger.debug(\n `Registering credential definition on ledger '${namespace}' with did '${issuerId}'`,\n options.credentialDefinition\n )\n\n let writeRequest: CustomRequest\n let didIndyCredentialDefinitionId: string\n let schemaSeqNo: number\n\n const endorsedTransaction = options.options.endorsedTransaction\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${issuerId}'`,\n credentialDefinition\n )\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n const operation = JSON.parse(endorsedTransaction)?.operation\n // extract the seqNo from the endorsed transaction, which is contained in the ref field of the operation\n schemaSeqNo = Number(operation?.ref)\n didIndyCredentialDefinitionId = getDidIndyCredentialDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n tag\n )\n } else {\n // TODO: this will bypass caching if done on a higher level.\n const anoncredsRegistryService = agentContext.resolve(AnonCredsRegistryService)\n const { schemaMetadata, resolutionMetadata } = await anoncredsRegistryService.getSchema(\n agentContext,\n schemaId,\n {\n // Local record does not have the 'indyLedgerSeqNo', which we need to register the credential definition\n useLocalRecord: false,\n }\n )\n\n if (!schemaMetadata?.indyLedgerSeqNo || typeof schemaMetadata.indyLedgerSeqNo !== 'number') {\n return {\n registrationMetadata: {},\n credentialDefinitionMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n credentialDefinitionState: {\n credentialDefinition: options.credentialDefinition,\n state: 'failed',\n reason: `error resolving schema with id ${schemaId}: ${resolutionMetadata.error} ${resolutionMetadata.message}`,\n },\n }\n }\n schemaSeqNo = schemaMetadata.indyLedgerSeqNo\n\n // FIXME: we need to check if schemaId has same namespace as issuerId and it should not be a legacy identifier\n // FIXME: in the other methods we also need to add checks. E.g. when creating a revocation\n // status list, you can only create a revocation status list for a credential definition registry that is created\n // under the same namespace and by the same issuer id (you can create a cred def for a schema created by another issuer\n // but you can't create a revocation registry based on a cred def created by another issuer. We need to add these checks\n // to all register methods in this file)\n const legacyCredentialDefinitionId = getUnqualifiedCredentialDefinitionId(issuerId, schemaSeqNo, tag)\n didIndyCredentialDefinitionId = getDidIndyCredentialDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n tag\n )\n\n const credentialDefinitionRequest = new CredentialDefinitionRequest({\n submitterDid: namespaceIdentifier,\n credentialDefinition: {\n ver: '1.0',\n id: legacyCredentialDefinitionId,\n schemaId: schemaSeqNo.toString(),\n type: 'CL',\n tag,\n value,\n },\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n credentialDefinitionRequest,\n submitterKey,\n endorserDid !== issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndyCredentialDefinitionId,\n credentialDefinitionState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n credentialDefinition: credentialDefinition,\n credentialDefinitionId: didIndyCredentialDefinitionId,\n credentialDefinitionRequest: writeRequest.body,\n },\n registrationMetadata: {},\n credentialDefinitionMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n\n const response = await pool.submitRequest(writeRequest)\n agentContext.config.logger.debug(\n `Registered credential definition '${didIndyCredentialDefinitionId}' on ledger '${pool.indyNamespace}'`,\n {\n response,\n credentialDefinition: options.credentialDefinition,\n }\n )\n\n return {\n credentialDefinitionMetadata: {},\n credentialDefinitionState: {\n credentialDefinition: credentialDefinition,\n credentialDefinitionId: didIndyCredentialDefinitionId,\n state: 'finished',\n },\n registrationMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(`Error registering credential definition for schema '${schemaId}'`, {\n error,\n did: issuerId,\n credentialDefinition: options.credentialDefinition,\n })\n\n return {\n credentialDefinitionMetadata: {},\n registrationMetadata: {},\n credentialDefinitionState: {\n credentialDefinition: options.credentialDefinition,\n state: 'failed',\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n public async getRevocationRegistryDefinition(\n agentContext: AgentContext,\n revocationRegistryDefinitionId: string\n ): Promise<GetRevocationRegistryDefinitionReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { did, namespaceIdentifier, credentialDefinitionTag, revocationRegistryTag, schemaSeqNo } =\n parseIndyRevocationRegistryId(revocationRegistryDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(\n `Using ledger '${pool.indyNamespace}' to retrieve revocation registry definition '${revocationRegistryDefinitionId}'`\n )\n\n const legacyRevocationRegistryId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n const request = new GetRevocationRegistryDefinitionRequest({\n revocationRegistryId: legacyRevocationRegistryId,\n })\n\n agentContext.config.logger.trace(\n `Submitting get revocation registry definition request for revocation registry definition '${revocationRegistryDefinitionId}' to ledger`\n )\n const response = await pool.submitRequest(request)\n\n if (!response.result.data) {\n agentContext.config.logger.error(\n `Error retrieving revocation registry definition '${revocationRegistryDefinitionId}' from ledger`,\n {\n revocationRegistryDefinitionId,\n }\n )\n\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: 'unable to resolve revocation registry definition',\n },\n revocationRegistryDefinitionId,\n revocationRegistryDefinitionMetadata: {},\n }\n }\n\n agentContext.config.logger.trace(\n `Got revocation registry definition '${revocationRegistryDefinitionId}' from ledger '${pool.indyNamespace}'`,\n {\n response,\n }\n )\n\n const credentialDefinitionId = revocationRegistryDefinitionId.startsWith('did:indy:')\n ? getDidIndyCredentialDefinitionId(\n pool.indyNamespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag\n )\n : getUnqualifiedCredentialDefinitionId(namespaceIdentifier, schemaSeqNo, credentialDefinitionTag)\n\n const revocationRegistryDefinition = {\n issuerId: did,\n revocDefType: response.result.data.revocDefType,\n value: {\n maxCredNum: response.result.data.value.maxCredNum,\n tailsHash: response.result.data.value.tailsHash,\n tailsLocation: response.result.data.value.tailsLocation,\n publicKeys: {\n accumKey: {\n z: response.result.data.value.publicKeys.accumKey.z,\n },\n },\n },\n tag: response.result.data.tag,\n credDefId: credentialDefinitionId,\n } satisfies AnonCredsRevocationRegistryDefinition\n\n return {\n revocationRegistryDefinitionId,\n revocationRegistryDefinition,\n revocationRegistryDefinitionMetadata: {\n issuanceType: response.result.data.value.issuanceType,\n didIndyNamespace: pool.indyNamespace,\n },\n resolutionMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error retrieving revocation registry definition '${revocationRegistryDefinitionId}' from ledger`,\n {\n error,\n revocationRegistryDefinitionId,\n }\n )\n\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: `unable to resolve revocation registry definition: ${error.message}`,\n },\n revocationRegistryDefinitionId,\n revocationRegistryDefinitionMetadata: {},\n }\n }\n }\n\n public async registerRevocationRegistryDefinition(\n agentContext: AgentContext,\n { options, revocationRegistryDefinition }: IndyVdrRegisterRevocationRegistryDefinition\n ): Promise<IndyVdrRegisterRevocationRegistryDefinitionReturn> {\n try {\n // This will throw an error if trying to register a credential definition with a legacy indy identifier. We only support did:indy\n // identifiers for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n const { namespaceIdentifier, namespace } = parseIndyDid(revocationRegistryDefinition.issuerId)\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n agentContext.config.logger.debug(\n `Registering revocation registry definition on ledger '${namespace}' with did '${revocationRegistryDefinition.issuerId}'`,\n revocationRegistryDefinition\n )\n\n let writeRequest: CustomRequest\n let didIndyRevocationRegistryDefinitionId: string\n\n const { schemaSeqNo, tag: credentialDefinitionTag } = parseIndyCredentialDefinitionId(\n revocationRegistryDefinition.credDefId\n )\n\n const { endorsedTransaction, endorserDid, endorserMode } = options\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${revocationRegistryDefinition.issuerId}'`,\n revocationRegistryDefinition\n )\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n didIndyRevocationRegistryDefinitionId = getDidIndyRevocationRegistryDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryDefinition.tag\n )\n } else {\n const legacyRevocationRegistryDefinitionId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryDefinition.tag\n )\n\n didIndyRevocationRegistryDefinitionId = getDidIndyRevocationRegistryDefinitionId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryDefinition.tag\n )\n\n const legacyCredentialDefinitionId = getUnqualifiedCredentialDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag\n )\n\n const revocationRegistryDefinitionRequest = new RevocationRegistryDefinitionRequest({\n submitterDid: namespaceIdentifier,\n revocationRegistryDefinitionV1: {\n id: legacyRevocationRegistryDefinitionId,\n ver: '1.0',\n credDefId: legacyCredentialDefinitionId,\n tag: revocationRegistryDefinition.tag,\n revocDefType: revocationRegistryDefinition.revocDefType,\n value: {\n issuanceType: 'ISSUANCE_BY_DEFAULT',\n ...revocationRegistryDefinition.value,\n },\n },\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, revocationRegistryDefinition.issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n revocationRegistryDefinitionRequest,\n submitterKey,\n endorserDid !== revocationRegistryDefinition.issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndyRevocationRegistryDefinitionId,\n revocationRegistryDefinitionState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n revocationRegistryDefinition,\n revocationRegistryDefinitionId: didIndyRevocationRegistryDefinitionId,\n revocationRegistryDefinitionRequest: writeRequest.body,\n },\n registrationMetadata: {},\n revocationRegistryDefinitionMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== revocationRegistryDefinition.issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n\n const response = await pool.submitRequest(writeRequest)\n agentContext.config.logger.debug(\n `Registered revocation registry definition '${didIndyRevocationRegistryDefinitionId}' on ledger '${pool.indyNamespace}'`,\n {\n response,\n revocationRegistryDefinition,\n }\n )\n\n return {\n revocationRegistryDefinitionMetadata: {},\n revocationRegistryDefinitionState: {\n revocationRegistryDefinition,\n revocationRegistryDefinitionId: didIndyRevocationRegistryDefinitionId,\n state: 'finished',\n },\n registrationMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error registering revocation registry definition for credential definition '${revocationRegistryDefinition.credDefId}'`,\n {\n error,\n did: revocationRegistryDefinition.issuerId,\n revocationRegistryDefinition,\n }\n )\n\n return {\n revocationRegistryDefinitionMetadata: {},\n registrationMetadata: {},\n revocationRegistryDefinitionState: {\n revocationRegistryDefinition,\n state: 'failed',\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n public async getRevocationStatusList(\n agentContext: AgentContext,\n revocationRegistryDefinitionId: string,\n timestamp: number\n ): Promise<GetRevocationStatusListReturn> {\n try {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { did } = parseIndyRevocationRegistryId(revocationRegistryDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n const revocationDelta = await this.fetchIndyRevocationDelta(\n agentContext,\n revocationRegistryDefinitionId,\n timestamp\n )\n\n if (!revocationDelta) {\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: `Error retrieving revocation registry delta '${revocationRegistryDefinitionId}' from ledger, potentially revocation interval ends before revocation registry creation`,\n },\n revocationStatusListMetadata: {},\n }\n }\n\n const anoncredsRegistryService = agentContext.resolve(AnonCredsRegistryService)\n const { revocationRegistryDefinition, resolutionMetadata, revocationRegistryDefinitionMetadata } =\n await anoncredsRegistryService.getRevocationRegistryDefinition(agentContext, revocationRegistryDefinitionId)\n\n if (\n !revocationRegistryDefinition ||\n !revocationRegistryDefinitionMetadata.issuanceType ||\n typeof revocationRegistryDefinitionMetadata.issuanceType !== 'string'\n ) {\n return {\n resolutionMetadata: {\n error: `error resolving revocation registry definition with id ${revocationRegistryDefinitionId}: ${resolutionMetadata.error} ${resolutionMetadata.message}`,\n },\n revocationStatusListMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n }\n }\n\n const isIssuanceByDefault = revocationRegistryDefinitionMetadata.issuanceType === 'ISSUANCE_BY_DEFAULT'\n\n return {\n resolutionMetadata: {},\n revocationStatusList: anonCredsRevocationStatusListFromIndyVdr(\n revocationRegistryDefinitionId,\n revocationRegistryDefinition,\n revocationDelta,\n isIssuanceByDefault\n ),\n revocationStatusListMetadata: {\n didIndyNamespace: pool.indyNamespace,\n },\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error retrieving revocation registry delta '${revocationRegistryDefinitionId}' from ledger, potentially revocation interval ends before revocation registry creation?\"`,\n {\n error,\n revocationRegistryId: revocationRegistryDefinitionId,\n }\n )\n\n return {\n resolutionMetadata: {\n error: 'notFound',\n message: `Error retrieving revocation registry delta '${revocationRegistryDefinitionId}' from ledger, potentially revocation interval ends before revocation registry creation: ${error.message}`,\n },\n revocationStatusListMetadata: {},\n }\n }\n }\n\n public async registerRevocationStatusList(\n agentContext: AgentContext,\n { options, revocationStatusList }: IndyVdrRegisterRevocationStatusList\n ): Promise<IndyVdrRegisterRevocationStatusListReturn> {\n try {\n // This will throw an error if trying to register a revocation status list with a legacy indy identifier. We only support did:indy\n // identifiers for registering, that will allow us to extract the namespace and means all stored records will use did:indy identifiers.\n const { endorsedTransaction, endorserDid, endorserMode } = options\n const { namespaceIdentifier, namespace } = parseIndyDid(revocationStatusList.issuerId)\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n const pool = indyVdrPoolService.getPoolForNamespace(namespace)\n\n agentContext.config.logger.debug(\n `Registering revocation status list on ledger '${namespace}' with did '${revocationStatusList.issuerId}'`,\n revocationStatusList\n )\n\n let writeRequest: CustomRequest\n\n // Parse the revocation registry id\n const {\n schemaSeqNo,\n credentialDefinitionTag,\n namespaceIdentifier: revocationRegistryNamespaceIdentifier,\n revocationRegistryTag,\n namespace: revocationRegistryNamespace,\n } = parseIndyRevocationRegistryId(revocationStatusList.revRegDefId)\n\n const legacyRevocationRegistryDefinitionId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n\n const didIndyRevocationRegistryEntryId = getDidIndyRevocationRegistryEntryId(\n namespace,\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n\n if (revocationRegistryNamespace && revocationRegistryNamespace !== namespace) {\n throw new CredoError(\n `Issued id '${revocationStatusList.issuerId}' does not have the same namespace (${namespace}) as the revocation registry definition '${revocationRegistryNamespace}'`\n )\n }\n\n if (revocationRegistryNamespaceIdentifier !== namespaceIdentifier) {\n throw new CredoError(\n `Cannot register revocation registry definition using a different DID. Revocation registry definition contains '${revocationRegistryNamespaceIdentifier}', but DID used was '${namespaceIdentifier}'`\n )\n }\n\n if (endorsedTransaction) {\n agentContext.config.logger.debug(\n `Preparing endorsed tx '${endorsedTransaction}' for submission on ledger '${namespace}' with did '${revocationStatusList.issuerId}'`,\n revocationStatusList\n )\n\n writeRequest = new CustomRequest({ customRequest: endorsedTransaction })\n } else {\n const previousDelta = await this.fetchIndyRevocationDelta(\n agentContext,\n legacyRevocationRegistryDefinitionId,\n // Fetch revocation delta for current timestamp\n dateToTimestamp(new Date())\n )\n\n const revocationRegistryDefinitionEntryValue = indyVdrCreateLatestRevocationDelta(\n revocationStatusList.currentAccumulator,\n revocationStatusList.revocationList,\n previousDelta ?? undefined\n )\n\n const revocationRegistryDefinitionRequest = new RevocationRegistryEntryRequest({\n submitterDid: namespaceIdentifier,\n revocationRegistryEntry: {\n ver: '1.0',\n value: revocationRegistryDefinitionEntryValue,\n },\n revocationRegistryDefinitionType: 'CL_ACCUM',\n revocationRegistryDefinitionId: legacyRevocationRegistryDefinitionId,\n })\n\n const submitterKey = await verificationPublicJwkForIndyDid(agentContext, revocationStatusList.issuerId)\n writeRequest = await pool.prepareWriteRequest(\n agentContext,\n revocationRegistryDefinitionRequest,\n submitterKey,\n endorserDid !== revocationStatusList.issuerId ? endorserDid : undefined\n )\n\n if (endorserMode === 'external') {\n return {\n jobId: didIndyRevocationRegistryEntryId,\n revocationStatusListState: {\n state: 'action',\n action: 'endorseIndyTransaction',\n revocationStatusList,\n revocationStatusListRequest: writeRequest.body,\n },\n registrationMetadata: {},\n revocationStatusListMetadata: {},\n }\n }\n\n if (endorserMode === 'internal' && endorserDid !== revocationStatusList.issuerId) {\n const endorserKey = await verificationPublicJwkForIndyDid(agentContext, endorserDid as string)\n await multiSignRequest(agentContext, writeRequest, endorserKey, parseIndyDid(endorserDid).namespaceIdentifier)\n }\n }\n\n const response = await pool.submitRequest<RevocationRegistryEntryRequest>(\n writeRequest as RevocationRegistryEntryRequest\n )\n agentContext.config.logger.debug(\n `Registered revocation status list '${didIndyRevocationRegistryEntryId}' on ledger '${pool.indyNamespace}'`,\n {\n response,\n revocationStatusList,\n }\n )\n\n return {\n revocationStatusListMetadata: {},\n revocationStatusListState: {\n revocationStatusList: {\n ...revocationStatusList,\n timestamp: response.result.txnMetadata.txnTime,\n },\n state: 'finished',\n },\n registrationMetadata: {},\n }\n } catch (error) {\n agentContext.config.logger.error(\n `Error registering revocation status list for revocation registry definition '${revocationStatusList.revRegDefId}}'`,\n {\n error,\n did: revocationStatusList.issuerId,\n }\n )\n\n return {\n registrationMetadata: {},\n revocationStatusListMetadata: {},\n revocationStatusListState: {\n revocationStatusList,\n state: 'failed',\n reason: `unknownError: ${error.message}`,\n },\n }\n }\n }\n\n private async fetchIndySchemaWithSeqNo(agentContext: AgentContext, seqNo: number, did: string) {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(`Getting transaction with seqNo '${seqNo}' from ledger '${pool.indyNamespace}'`)\n // ledgerType 1 is domain ledger\n const request = new GetTransactionRequest({ ledgerType: 1, seqNo })\n\n agentContext.config.logger.trace(`Submitting get transaction request to ledger '${pool.indyNamespace}'`)\n const response = await pool.submitRequest(request)\n\n if (response.result.data?.txn.type !== '101') {\n agentContext.config.logger.error(`Could not get schema from ledger for seq no ${seqNo}'`)\n return null\n }\n\n const schema = response.result.data?.txn.data as SchemaType\n const schemaDid = response.result.data?.txn.metadata.from as string\n const schemaId = getUnqualifiedSchemaId(schemaDid, schema.data.name, schema.data.version)\n\n return {\n schema: {\n schemaId,\n attr_name: schema.data.attr_names,\n name: schema.data.name,\n version: schema.data.version,\n issuerId: schemaDid,\n seqNo,\n },\n indyNamespace: pool.indyNamespace,\n }\n }\n\n private async fetchIndyRevocationDelta(\n agentContext: AgentContext,\n revocationRegistryDefinitionId: string,\n toTs: number\n ): Promise<null | RevocationRegistryDelta> {\n const indyVdrPoolService = agentContext.dependencyManager.resolve(IndyVdrPoolService)\n\n const { did, namespaceIdentifier, schemaSeqNo, credentialDefinitionTag, revocationRegistryTag } =\n parseIndyRevocationRegistryId(revocationRegistryDefinitionId)\n const { pool } = await indyVdrPoolService.getPoolForDid(agentContext, did)\n\n agentContext.config.logger.debug(\n `Using ledger '${pool.indyNamespace}' to retrieve revocation registry deltas with revocation registry definition id '${revocationRegistryDefinitionId}' until ${toTs}`\n )\n\n const legacyRevocationRegistryDefinitionId = getUnqualifiedRevocationRegistryDefinitionId(\n namespaceIdentifier,\n schemaSeqNo,\n credentialDefinitionTag,\n revocationRegistryTag\n )\n\n const deltaRequest = new GetRevocationRegistryDeltaRequest({\n toTs,\n submitterDid: namespaceIdentifier,\n revocationRegistryId: legacyRevocationRegistryDefinitionId,\n })\n\n agentContext.config.logger.trace(`Submitting get transaction request to ledger '${pool.indyNamespace}'`)\n const response = await pool.submitRequest(deltaRequest)\n const {\n result: { data, type, txnTime },\n } = response\n\n // Indicating there are no deltas\n if (type !== '117' || data === null || !txnTime) {\n agentContext.config.logger.warn(\n `Could not get any deltas from ledger for revocation registry definition '${revocationRegistryDefinitionId}' from ledger '${pool.indyNamespace}'`\n )\n return null\n }\n\n return {\n revoked: data.value.revoked,\n issued: data.value.issued,\n accum: data.value.accum_to.value.accum,\n txnTime,\n }\n }\n}\n\ninterface SchemaType {\n data: {\n attr_names: string[]\n version: string\n name: string\n }\n}\n\ntype InternalEndorsement = { endorserMode: 'internal'; endorserDid: string; endorsedTransaction?: never }\ntype ExternalEndorsementCreate = { endorserMode: 'external'; endorserDid: string; endorsedTransaction?: never }\ntype ExternalEndorsementSubmit = { endorserMode: 'external'; endorserDid?: never; endorsedTransaction: string }\n\nexport interface IndyVdrRegisterSchemaInternalOptions {\n schema: AnonCredsSchema\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterSchemaExternalCreateOptions {\n schema: AnonCredsSchema\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterSchemaExternalSubmitOptions {\n schema: AnonCredsSchema\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterSchemaReturnStateAction extends RegisterSchemaReturnStateAction {\n action: 'endorseIndyTransaction'\n schemaRequest: string\n}\n\nexport interface IndyVdrRegisterSchemaReturn extends RegisterSchemaReturn {\n schemaState:\n | RegisterSchemaReturnStateWait\n | IndyVdrRegisterSchemaReturnStateAction\n | RegisterSchemaReturnStateFinished\n | RegisterSchemaReturnStateFailed\n}\n\nexport type IndyVdrRegisterSchema =\n | IndyVdrRegisterSchemaInternalOptions\n | IndyVdrRegisterSchemaExternalCreateOptions\n | IndyVdrRegisterSchemaExternalSubmitOptions\n\nexport type IndyVdrRegisterSchemaOptions = IndyVdrRegisterSchema['options']\n\nexport interface IndyVdrRegisterCredentialDefinitionInternalOptions {\n credentialDefinition: AnonCredsCredentialDefinition\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionExternalCreateOptions {\n credentialDefinition: AnonCredsCredentialDefinition\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionExternalSubmitOptions {\n credentialDefinition: AnonCredsCredentialDefinition\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionReturnStateAction\n extends RegisterCredentialDefinitionReturnStateAction {\n action: 'endorseIndyTransaction'\n credentialDefinitionRequest: string\n}\n\nexport interface IndyVdrRegisterCredentialDefinitionReturn extends RegisterCredentialDefinitionReturn {\n credentialDefinitionState:\n | RegisterCredentialDefinitionReturnStateWait\n | IndyVdrRegisterCredentialDefinitionReturnStateAction\n | RegisterCredentialDefinitionReturnStateFinished\n | RegisterCredentialDefinitionReturnStateFailed\n}\n\nexport type IndyVdrRegisterCredentialDefinition =\n | IndyVdrRegisterCredentialDefinitionInternalOptions\n | IndyVdrRegisterCredentialDefinitionExternalCreateOptions\n | IndyVdrRegisterCredentialDefinitionExternalSubmitOptions\n\nexport type IndyVdrRegisterCredentialDefinitionOptions = IndyVdrRegisterCredentialDefinition['options']\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionInternalOptions {\n revocationRegistryDefinition: AnonCredsRevocationRegistryDefinition\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionExternalCreateOptions {\n revocationRegistryDefinition: AnonCredsRevocationRegistryDefinition\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionExternalSubmitOptions {\n revocationRegistryDefinition: AnonCredsRevocationRegistryDefinition\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionReturnStateAction\n extends RegisterRevocationRegistryDefinitionReturnStateAction {\n action: 'endorseIndyTransaction'\n revocationRegistryDefinitionRequest: string\n}\n\nexport interface IndyVdrRegisterRevocationRegistryDefinitionReturn extends RegisterRevocationRegistryDefinitionReturn {\n revocationRegistryDefinitionState:\n | IndyVdrRegisterRevocationRegistryDefinitionReturnStateAction\n | RegisterRevocationRegistryDefinitionReturnStateWait\n | RegisterRevocationRegistryDefinitionReturnStateFinished\n | RegisterRevocationRegistryDefinitionReturnStateFailed\n}\n\nexport type IndyVdrRegisterRevocationRegistryDefinition =\n | IndyVdrRegisterRevocationRegistryDefinitionInternalOptions\n | IndyVdrRegisterRevocationRegistryDefinitionExternalCreateOptions\n | IndyVdrRegisterRevocationRegistryDefinitionExternalSubmitOptions\n\nexport type IndyVdrRegisterRevocationRegistryDefinitionOptions = IndyVdrRegisterRevocationRegistryDefinition['options']\n\nexport interface IndyVdrRegisterRevocationStatusListInternalOptions extends RegisterRevocationStatusListOptions {\n options: InternalEndorsement\n}\n\nexport interface IndyVdrRegisterRevocationStatusListExternalCreateOptions extends RegisterRevocationStatusListOptions {\n options: ExternalEndorsementCreate\n}\n\nexport interface IndyVdrRegisterRevocationStatusListExternalSubmitOptions extends RegisterRevocationStatusListOptions {\n options: ExternalEndorsementSubmit\n}\n\nexport interface IndyVdrRegisterRevocationStatusListReturnStateAction\n extends RegisterRevocationStatusListReturnStateAction {\n action: 'endorseIndyTransaction'\n revocationStatusListRequest: string\n}\n\nexport interface IndyVdrRegisterRevocationStatusListReturn extends RegisterRevocationStatusListReturn {\n revocationStatusListState:\n | IndyVdrRegisterRevocationStatusListReturnStateAction\n | RegisterRevocationStatusListReturnStateWait\n | RegisterRevocationStatusListReturnStateFinished\n | RegisterRevocationStatusListReturnStateFailed\n}\n\nexport type IndyVdrRegisterRevocationStatusList =\n | IndyVdrRegisterRevocationStatusListInternalOptions\n | IndyVdrRegisterRevocationStatusListExternalCreateOptions\n | IndyVdrRegisterRevocationStatusListExternalSubmitOptions\n\nexport type IndyVdrRegisterRevocationStatusListOptions = IndyVdrRegisterRevocationStatusList['options']\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IndyVdrPool.d.mts","names":[],"sources":["../../src/pool/IndyVdrPool.ts"],"sourcesContent":[],"mappings":";;;;;UAYiB,0BAAA;;;AAAjB;AAKiB,UAAA,eAAA,CAKO;EAGP,MAAA,EAAA,MAAA;EAMA,OAAA,EAAA,MAAA;EAQJ,IAAA,EAAA,MAAA;EAGc,eAAA,EAAA,MAAA;EAEM,oBAAA,EAtBT,oBAsBS;;AA+BG,UAlDnB,oBAAA,CAkDmB;EAAO,GAAA,EAjDpC,MAiDoC,CAAA,MAAA,EAAA,MAAA,CASlB;EAAA,UAAA,EAAA,MAAA;EAoB0B,OAAA,EAAA,MAAA;;AAEtC,UA3EI,iBAAA,CA2EJ;EACiB,mBAAI,EAAA,MAAA;EAAlB,YAAI,EAAA,OAAA;EACI,aAAA,EAAA,MAAA;EAAA,0BAAA,CAAA,EAzEO,0BAyEP;EA6BqB,gBAAA,CAAA,EAAA,OAAA;;AAEZ,cApGpB,WAAA,CAoGoB;EAApB,QAAA,KAAA;EAAR,QAAA,UAAA;EAAO,eAAA,CAAA,EAjGe,eAiGf,GAAA,IAAA;0BA/FqB;;gBAQd;;;;;;uBAuBiB;;;;sBASX,QATkB,6BAAA,CASlB,YAAA;;;sCAoB0B,8BACjC,uBACL,qBACG,GAAA,CAAI,UAAU,GAAA,CAAI,0CACV,QAAA;;;;;;;gCA6BqB,8BAC3B,UACb,QAAQ,oBAAoB"}
1
+ {"version":3,"file":"IndyVdrPool.d.mts","names":[],"sources":["../../src/pool/IndyVdrPool.ts"],"sourcesContent":[],"mappings":";;;;;UAYiB,0BAAA;;;AAAjB;AAKiB,UAAA,eAAA,CAAe;EAQf,MAAA,EAAA,MAAA;EAMA,OAAA,EAAA,MAAA;EAQJ,IAAA,EAAA,MAAA;EAGc,eAAA,EAAA,MAAA;EAEM,oBAAA,EAtBT,oBAsBS;;AA+BG,UAlDnB,oBAAA,CAkDmB;EAAO,GAAA,EAjDpC,MAiDoC,CAAA,MAAA,EAAA,MAAA,CASlB;EAAA,UAAA,EAAA,MAAA;EAoB0B,OAAA,EAAA,MAAA;;AAEtC,UA3EI,iBAAA,CA2EJ;EACiB,mBAAI,EAAA,MAAA;EAAlB,YAAI,EAAA,OAAA;EACI,aAAA,EAAA,MAAA;EAAA,0BAAA,CAAA,EAzEO,0BAyEP;EA6BqB,gBAAA,CAAA,EAAA,OAAA;;AAEZ,cApGpB,WAAA,CAoGoB;EAApB,QAAA,KAAA;EAAR,QAAA,UAAA;EAAO,eAAA,CAAA,EAjGe,eAiGf,GAAA,IAAA;0BA/FqB;;gBAQd;;;;;;uBAuBiB;;;;sBASX,QATkB,6BAAA,CASlB,YAAA;;;sCAoB0B,8BACjC,uBACL,qBACG,GAAA,CAAI,UAAU,GAAA,CAAI,0CACV,QAAA;;;;;;;gCA6BqB,8BAC3B,UACb,QAAQ,oBAAoB"}
@@ -6,9 +6,9 @@ import { IndyVdrPool } from "./IndyVdrPool.mjs";
6
6
  import { IndyVdrModuleConfig } from "../IndyVdrModuleConfig.mjs";
7
7
  import { isSelfCertifiedDid } from "../utils/did.mjs";
8
8
  import { allSettled, onlyFulfilled, onlyRejected } from "../utils/promises.mjs";
9
- import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.97.0/helpers/decorateMetadata.mjs";
10
- import { __decorateParam } from "../_virtual/_@oxc-project_runtime@0.97.0/helpers/decorateParam.mjs";
11
- import { __decorate } from "../_virtual/_@oxc-project_runtime@0.97.0/helpers/decorate.mjs";
9
+ import { __decorateMetadata } from "../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
10
+ import { __decorateParam } from "../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateParam.mjs";
11
+ import { __decorate } from "../_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
12
12
  import { didIndyRegex } from "@credo-ts/anoncreds";
13
13
  import { CacheModuleConfig, InjectionSymbols, inject, injectable } from "@credo-ts/core";
14
14
  import { GetNymRequest } from "@hyperledger/indy-vdr-shared";
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  ".": "./build/index.mjs",
5
5
  "./package.json": "./package.json"
6
6
  },
7
- "version": "0.6.0-pr-2539-20251127092008",
7
+ "version": "0.6.0",
8
8
  "files": [
9
9
  "build"
10
10
  ],
@@ -19,12 +19,12 @@
19
19
  "directory": "packages/indy-vdr"
20
20
  },
21
21
  "dependencies": {
22
- "@credo-ts/anoncreds": "0.6.0-pr-2539-20251127092008",
23
- "@credo-ts/core": "0.6.0-pr-2539-20251127092008"
22
+ "@credo-ts/anoncreds": "0.6.0",
23
+ "@credo-ts/core": "0.6.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@hyperledger/indy-vdr-nodejs": "^0.2.2",
27
- "@hyperledger/indy-vdr-shared": "^0.2.2",
26
+ "@hyperledger/indy-vdr-nodejs": "^0.2.3",
27
+ "@hyperledger/indy-vdr-shared": "^0.2.3",
28
28
  "@stablelib/ed25519": "^2.0.2",
29
29
  "@types/ref-array-di": "^1.2.8",
30
30
  "@types/ref-struct-di": "^1.1.12",
@@ -32,7 +32,7 @@
32
32
  "typescript": "~5.9.3"
33
33
  },
34
34
  "peerDependencies": {
35
- "@hyperledger/indy-vdr-shared": "^0.2.2"
35
+ "@hyperledger/indy-vdr-shared": "^0.2.3"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "tsdown --config-loader unconfig"