diff --git a/src/errors/error-messages.ts b/src/errors/error-messages.ts index 85eec9ef..206d269e 100644 --- a/src/errors/error-messages.ts +++ b/src/errors/error-messages.ts @@ -31,4 +31,5 @@ export enum ERROR_MESSAGES { ONCHAIN_ROLE_SUBJECT_AGREEMENT_NOT_SPECIFIED = 'On-chain role subject agreement not specified', REVOKE_CLAIM_MISSING_PARAMETERS = 'Revoke claim missing parameters. Required one of: claimId or claim', REVOKE_CLAIM_NOT_FOUND = 'Could not find claim to revoke', + DID_DOCUMENT_NOT_UPDATED = 'DID Document was not updated', } diff --git a/src/modules/claims/claims.service.ts b/src/modules/claims/claims.service.ts index 2217e071..de3f4db3 100644 --- a/src/modules/claims/claims.service.ts +++ b/src/modules/claims/claims.service.ts @@ -719,11 +719,15 @@ export class ClaimsService { hashAlg: 'SHA256', }, }; - await this._didRegistry.updateDocument({ + const isDocUpdated = await this._didRegistry.updateDocument({ didAttribute: DIDAttribute.ServicePoint, data, did: sub, }); + + if (!isDocUpdated) { + throw new Error(ERROR_MESSAGES.DID_DOCUMENT_NOT_UPDATED); + } } return url; } diff --git a/src/modules/did-registry/did-registry.service.ts b/src/modules/did-registry/did-registry.service.ts index 7aca4feb..0b0debfc 100644 --- a/src/modules/did-registry/did-registry.service.ts +++ b/src/modules/did-registry/did-registry.service.ts @@ -1,4 +1,4 @@ -import { Wallet, providers } from 'ethers'; +import { Wallet, providers, BigNumber } from 'ethers'; import { CID } from 'multiformats/cid'; import { KeyType } from '@ew-did-registry/keys'; import { JWT } from '@ew-did-registry/jwt'; @@ -341,7 +341,7 @@ export class DidRegistry { const update = await didDocument.update(didAttribute, updateData, validity); - return Boolean(update); + return update._hex !== BigNumber.from(0)._hex; } /**