Skip to content

Commit

Permalink
fix: resolved feedback
Browse files Browse the repository at this point in the history
Signed-off-by: Berend Sliedrecht <sliedrecht@berend.io>
  • Loading branch information
berendsliedrecht committed Jan 18, 2024
1 parent f0969be commit 6454a2d
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 43 deletions.
54 changes: 13 additions & 41 deletions packages/indy-vdr/src/anoncreds/IndyVdrAnonCredsRegistry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import type {
RegisterRevocationStatusListReturnStateAction,
RegisterRevocationStatusListOptions,
} from '@aries-framework/anoncreds'
import type { AgentContext } from '@aries-framework/core'
import { AgentContext, AriesFrameworkError } from '@aries-framework/core'

Check failure on line 33 in packages/indy-vdr/src/anoncreds/IndyVdrAnonCredsRegistry.ts

View workflow job for this annotation

GitHub Actions / Validate

Import "AgentContext" is only used as types

Check failure on line 33 in packages/indy-vdr/src/anoncreds/IndyVdrAnonCredsRegistry.ts

View workflow job for this annotation

GitHub Actions / Validate

There should be at least one empty line between import groups

Check failure on line 33 in packages/indy-vdr/src/anoncreds/IndyVdrAnonCredsRegistry.ts

View workflow job for this annotation

GitHub Actions / Validate

`@aries-framework/core` import should occur after import of `@aries-framework/anoncreds`
import type { SchemaResponse } from '@hyperledger/indy-vdr-shared'

import {
Expand Down Expand Up @@ -601,43 +601,10 @@ export class IndyVdrAnonCredsRegistry implements AnonCredsRegistry {
let writeRequest: CustomRequest
let didIndyRevocationRegistryDefinitionId: string

// TODO: this will bypass caching if done on a higher level.
const { credentialDefinition, resolutionMetadata } = await this.getCredentialDefinition(
agentContext,
const { schemaSeqNo, tag: credentialDefinitionTag } = parseIndyCredentialDefinitionId(
revocationRegistryDefinition.credDefId
)

if (!credentialDefinition) {
return {
registrationMetadata: {},
revocationRegistryDefinitionMetadata: {
didIndyNamespace: pool.indyNamespace,
},
revocationRegistryDefinitionState: {
state: 'failed',
reason: `error resolving credential definition with id ${revocationRegistryDefinition.credDefId}: ${resolutionMetadata.error} ${resolutionMetadata.message}`,
},
}
}

const { schemaMetadata } = await this.getSchema(agentContext, credentialDefinition.schemaId)

if (!schemaMetadata?.indyLedgerSeqNo || typeof schemaMetadata.indyLedgerSeqNo !== 'number') {
return {
registrationMetadata: {},
revocationRegistryDefinitionMetadata: {
didIndyNamespace: pool.indyNamespace,
},
revocationRegistryDefinitionState: {
revocationRegistryDefinition,
state: 'failed',
reason: `error resolving schema with id ${credentialDefinition.schemaId}: ${resolutionMetadata.error} ${resolutionMetadata.message}`,
},
}
}

const schemaSeqNo = schemaMetadata.indyLedgerSeqNo

const { endorsedTransaction, endorserDid, endorserMode } = options
if (endorsedTransaction) {
agentContext.config.logger.debug(
Expand All @@ -649,29 +616,29 @@ export class IndyVdrAnonCredsRegistry implements AnonCredsRegistry {
namespace,
namespaceIdentifier,
schemaSeqNo,
credentialDefinition.tag,
credentialDefinitionTag,
revocationRegistryDefinition.tag
)
} else {
const legacyRevocationRegistryDefinitionId = getUnqualifiedRevocationRegistryDefinitionId(
namespaceIdentifier,
schemaSeqNo,
credentialDefinition.tag,
credentialDefinitionTag,
revocationRegistryDefinition.tag
)

didIndyRevocationRegistryDefinitionId = getDidIndyRevocationRegistryDefinitionId(
namespace,
namespaceIdentifier,
schemaSeqNo,
credentialDefinition.tag,
credentialDefinitionTag,
revocationRegistryDefinition.tag
)

const legacyCredentialDefinitionId = getUnqualifiedCredentialDefinitionId(
namespaceIdentifier,
schemaSeqNo,
credentialDefinition.tag
credentialDefinitionTag
)

const revocationRegistryDefinitionRequest = new RevocationRegistryDefinitionRequest({
Expand Down Expand Up @@ -880,10 +847,15 @@ export class IndyVdrAnonCredsRegistry implements AnonCredsRegistry {
)

if (revocationRegistryNamespace && revocationRegistryNamespace !== namespace) {
// throw error
throw new AriesFrameworkError(
`Issued id '${revocationStatusList.issuerId}' does not have the same namespace (${namespace}) as the revocation registry definition '${revocationRegistryNamespace}'`
)
}

if (revocationRegistryNamespaceIdentifier !== namespaceIdentifier) {
// throw error
throw new AriesFrameworkError(
`Cannot register revocation registry definition using a different DID. Revocation registry definition contains '${revocationRegistryNamespaceIdentifier}', but DID used was '${namespaceIdentifier}'`
)
}

if (endorsedTransaction) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ describe('IndyVdrAnonCredsRegistry', () => {
await agent.wallet.delete()
})

xtest('register and resolve a schema and credential definition (internal, issuerDid != endorserDid)', async () => {
test('register and resolve a schema and credential definition (internal, issuerDid != endorserDid)', async () => {
const didCreateResult = (await endorser.dids.create<IndyVdrDidCreateOptions>({
method: 'indy',
options: {
Expand Down Expand Up @@ -424,7 +424,7 @@ describe('IndyVdrAnonCredsRegistry', () => {
})
})

xtest('register and resolve a schema and credential definition (internal, issuerDid == endorserDid)', async () => {
test('register and resolve a schema and credential definition (internal, issuerDid == endorserDid)', async () => {
const dynamicVersion = `1.${Math.random() * 100}`

const legacyIssuerId = 'DJKobikPAaYWAu9vfhEEo5'
Expand Down

0 comments on commit 6454a2d

Please sign in to comment.