diff --git a/docs/api/classes/modules_claims.ClaimsService.md b/docs/api/classes/modules_claims.ClaimsService.md index b7bc384f..8dfeb5e9 100644 --- a/docs/api/classes/modules_claims.ClaimsService.md +++ b/docs/api/classes/modules_claims.ClaimsService.md @@ -785,6 +785,8 @@ Verifies that credential was issued by authorized issuer `Promise`<`void`\> +void. Returns "Proof Not Verified" error if VC not verified. Returns error if issuer not verified + ___ ### create diff --git a/src/modules/claims/claims.service.ts b/src/modules/claims/claims.service.ts index 114feb94..198b4658 100644 --- a/src/modules/claims/claims.service.ts +++ b/src/modules/claims/claims.service.ts @@ -1,8 +1,6 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { providers, utils, Wallet } from 'ethers'; -import { - verifyCredential, -} from 'didkit-wasm-node'; +import { verifyCredential } from 'didkit-wasm-node'; import jsonwebtoken from 'jsonwebtoken'; import { v4 } from 'uuid'; import { @@ -11,9 +9,7 @@ import { PreconditionType, RoleCredentialSubject, } from '@energyweb/credential-governance'; -import { - VerifiableCredential -} from '@ew-did-registry/credentials-interface'; +import { VerifiableCredential } from '@ew-did-registry/credentials-interface'; import { ClaimRevocation } from '@energyweb/onchain-claims'; import { Methods } from '@ew-did-registry/did'; import { Algorithms } from '@ew-did-registry/jwt'; @@ -106,16 +102,13 @@ export class ClaimsService { private _claimManagerInterface = ClaimManager__factory.createInterface(); private _claimRevocation: ClaimRevocation; private _vcIssuerVerifier: VCIssuerVerification; - protected verifyProof: ( - vc: string, - proof_options: string - ) => Promise + private verifyProof: (vc: string, proof_options: string) => Promise; constructor( private _signerService: SignerService, private _domainsService: DomainsService, private _cacheClient: CacheClient, private _didRegistry: DidRegistry, - private _verifiableCredentialService: VerifiableCredentialsServiceBase, + private _verifiableCredentialService: VerifiableCredentialsServiceBase ) { this._signerService.onInit(this.init.bind(this)); this._setClaimIssuerVerifier(); @@ -134,7 +127,7 @@ export class ClaimsService { domainsService, cacheClient, didRegistry, - verifiableCredentialService, + verifiableCredentialService ); await service.init(); return service; @@ -1216,10 +1209,7 @@ export class ClaimsService { * @param {String} role Registration types of the claim */ private async verifyIssuer(role: string): Promise { - await this._vcIssuerVerifier.verifyIssuer( - this._signerService.did, - role, - ); + await this._vcIssuerVerifier.verifyIssuer(this._signerService.did, role); } /** @@ -1417,21 +1407,24 @@ export class ClaimsService { ); } - /** + /** * Verifies that credential was issued by authorized issuer * * @param {VerifiableCredential) { - const issuerDID = this._signerService.did; - if (!await this._verifiableCredentialService.verify(vc)) { - throw new Error(ERROR_MESSAGES.PROOF_NOT_VERIFIED) - } - const role = vc.credentialSubject.role.namespace; - await this._vcIssuerVerifier.verifyIssuer(issuerDID, role); + async verifyVc( + vc: VerifiableCredential + ): Promise { + const issuerDID = this._signerService.did; + if (!(await this._verifiableCredentialService.verify(vc))) { + throw new Error(ERROR_MESSAGES.PROOF_NOT_VERIFIED); } + const role = vc.credentialSubject.role.namespace; + await this._vcIssuerVerifier.verifyIssuer(issuerDID, role); + } - /** + /** * * Set the Verifier for Claim Issuance. *