diff --git a/e2e/claims.service.e2e.ts b/e2e/claims.service.e2e.ts index d435a6ff..4ed0ad3c 100644 --- a/e2e/claims.service.e2e.ts +++ b/e2e/claims.service.e2e.ts @@ -495,7 +495,7 @@ describe('Сlaim tests', () => { requestorFields, }); - expirationTimestamp && expect(exp).toEqual(expirationTimestamp); + expirationTimestamp && expect(exp).toEqual(Math.floor(expirationTimestamp / 1000)); expect(claimData).not.toContain({ fields: [{ key: 'temperature', value: 36 }], @@ -1030,7 +1030,7 @@ describe('Сlaim tests', () => { await claimsService.hasOnChainRole(rootOwnerDID, claimType, version) ).toBe(true); expect(expiry).toBe(Math.floor(expirationTimestamp / 1000)); - expect(expiry).toBe(Math.floor(exp / 1000)); + expect(expiry).toBe(exp); }); }); diff --git a/package-lock.json b/package-lock.json index 8e061360..3db8530a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "6.1.0", "license": "GPL-3.0-or-later", "dependencies": { - "@energyweb/credential-governance": "^2.2.1-alpha.292.0", + "@energyweb/credential-governance": "^2.2.1-alpha.293.0", "@energyweb/ekc": "^0.6.7", - "@energyweb/onchain-claims": "^2.2.1-alpha.292.0", + "@energyweb/onchain-claims": "^2.2.1-alpha.293.0", "@energyweb/staking-pool": "^1.0.0-rc.14", - "@energyweb/vc-verification": "^2.2.1-alpha.292.0", + "@energyweb/vc-verification": "^2.2.1-alpha.293.0", "@ensdomains/ens": "^0.6.2", "@ew-did-registry/claims": "0.7.1-alpha.816.0", "@ew-did-registry/credentials-interface": "0.7.1-alpha.816.0", @@ -1942,9 +1942,9 @@ } }, "node_modules/@energyweb/credential-governance": { - "version": "2.2.1-alpha.292.0", - "resolved": "https://registry.npmjs.org/@energyweb/credential-governance/-/credential-governance-2.2.1-alpha.292.0.tgz", - "integrity": "sha512-yDs1myYHMDk/2Mxdd6sTPvFGAmS8TvMyRMELSaE+CdnERvsa7P/XPQUE+CgU5aWdwXIeHyjYT6CfupxgJdX+Hg==", + "version": "2.2.1-alpha.293.0", + "resolved": "https://registry.npmjs.org/@energyweb/credential-governance/-/credential-governance-2.2.1-alpha.293.0.tgz", + "integrity": "sha512-ABOyQkZ3FOyhdiNLnaXhjop3POonYbrODWeQDIrgtWDfelc2eCp1eTY37QFOakPlwhqD4kp4th6GvNR5eUKppA==", "dependencies": { "@ew-did-registry/credentials-interface": "^0.7.1-alpha.795.0", "@ew-did-registry/did": "^0.7.1-alpha.795.0", @@ -1973,11 +1973,11 @@ } }, "node_modules/@energyweb/onchain-claims": { - "version": "2.2.1-alpha.292.0", - "resolved": "https://registry.npmjs.org/@energyweb/onchain-claims/-/onchain-claims-2.2.1-alpha.292.0.tgz", - "integrity": "sha512-p5GY+0h/au1xyqUpx5A/oBmeVxsoBhi0QWvABPISjAZ+TKkUhRrniLB9dNMUqRhgv71Vd2VKgEyiORZVnoP1Bg==", + "version": "2.2.1-alpha.293.0", + "resolved": "https://registry.npmjs.org/@energyweb/onchain-claims/-/onchain-claims-2.2.1-alpha.293.0.tgz", + "integrity": "sha512-XjNCbtBA9Iu1XFkQCJn6+61Y3opJT7mNITSgLzDXMNoA8tPstg08z/i2BLZgTsXlgYgurO9S58auHeEOUM0PkQ==", "dependencies": { - "@energyweb/credential-governance": "2.2.1-alpha.292.0", + "@energyweb/credential-governance": "2.2.1-alpha.293.0", "@ew-did-registry/did": "^0.7.1-alpha.795.0", "@ew-did-registry/did-ethr-resolver": "^0.7.1-alpha.795.0", "@poanet/solidity-flattener": "^3.0.7", @@ -2015,12 +2015,12 @@ "integrity": "sha512-+cNYvQwTKFMbKVqvVHGzcZbW+z1/pKTyQIYDDC3PaX5L0NAOshI/ZXAsrZRqp/6xEdWsm9f6u549ZLvCEUgNLw==" }, "node_modules/@energyweb/vc-verification": { - "version": "2.2.1-alpha.292.0", - "resolved": "https://registry.npmjs.org/@energyweb/vc-verification/-/vc-verification-2.2.1-alpha.292.0.tgz", - "integrity": "sha512-jM5/s/9XaLdwVk4HKtyO8WrjmCeCgiz5G+cu6JRx7v7L703xy8Jw7JeeniRaVnUnPsTLnJVvLYqddOLdac6FDA==", + "version": "2.2.1-alpha.293.0", + "resolved": "https://registry.npmjs.org/@energyweb/vc-verification/-/vc-verification-2.2.1-alpha.293.0.tgz", + "integrity": "sha512-0ZmeFmrdncLTysX4w7VDQK7dnK/ctqWUK6rHiLJR/Qzw7sFtH52TX3O4o7hm9zFSSb41ETRVsdMhBi7+Yvfgdw==", "dependencies": { - "@energyweb/credential-governance": "2.2.1-alpha.292.0", - "@energyweb/onchain-claims": "2.2.1-alpha.292.0", + "@energyweb/credential-governance": "2.2.1-alpha.293.0", + "@energyweb/onchain-claims": "2.2.1-alpha.293.0", "@ew-did-registry/claims": "^0.7.1-alpha.795.0", "@ew-did-registry/credentials-interface": "^0.7.1-alpha.795.0", "@ew-did-registry/did-ethr-resolver": "^0.7.1-alpha.795.0", @@ -38276,9 +38276,9 @@ } }, "@energyweb/credential-governance": { - "version": "2.2.1-alpha.292.0", - "resolved": "https://registry.npmjs.org/@energyweb/credential-governance/-/credential-governance-2.2.1-alpha.292.0.tgz", - "integrity": "sha512-yDs1myYHMDk/2Mxdd6sTPvFGAmS8TvMyRMELSaE+CdnERvsa7P/XPQUE+CgU5aWdwXIeHyjYT6CfupxgJdX+Hg==", + "version": "2.2.1-alpha.293.0", + "resolved": "https://registry.npmjs.org/@energyweb/credential-governance/-/credential-governance-2.2.1-alpha.293.0.tgz", + "integrity": "sha512-ABOyQkZ3FOyhdiNLnaXhjop3POonYbrODWeQDIrgtWDfelc2eCp1eTY37QFOakPlwhqD4kp4th6GvNR5eUKppA==", "requires": { "@ew-did-registry/credentials-interface": "^0.7.1-alpha.795.0", "@ew-did-registry/did": "^0.7.1-alpha.795.0", @@ -38302,11 +38302,11 @@ "requires": {} }, "@energyweb/onchain-claims": { - "version": "2.2.1-alpha.292.0", - "resolved": "https://registry.npmjs.org/@energyweb/onchain-claims/-/onchain-claims-2.2.1-alpha.292.0.tgz", - "integrity": "sha512-p5GY+0h/au1xyqUpx5A/oBmeVxsoBhi0QWvABPISjAZ+TKkUhRrniLB9dNMUqRhgv71Vd2VKgEyiORZVnoP1Bg==", + "version": "2.2.1-alpha.293.0", + "resolved": "https://registry.npmjs.org/@energyweb/onchain-claims/-/onchain-claims-2.2.1-alpha.293.0.tgz", + "integrity": "sha512-XjNCbtBA9Iu1XFkQCJn6+61Y3opJT7mNITSgLzDXMNoA8tPstg08z/i2BLZgTsXlgYgurO9S58auHeEOUM0PkQ==", "requires": { - "@energyweb/credential-governance": "2.2.1-alpha.292.0", + "@energyweb/credential-governance": "2.2.1-alpha.293.0", "@ew-did-registry/did": "^0.7.1-alpha.795.0", "@ew-did-registry/did-ethr-resolver": "^0.7.1-alpha.795.0", "@poanet/solidity-flattener": "^3.0.7", @@ -38333,12 +38333,12 @@ "integrity": "sha512-+cNYvQwTKFMbKVqvVHGzcZbW+z1/pKTyQIYDDC3PaX5L0NAOshI/ZXAsrZRqp/6xEdWsm9f6u549ZLvCEUgNLw==" }, "@energyweb/vc-verification": { - "version": "2.2.1-alpha.292.0", - "resolved": "https://registry.npmjs.org/@energyweb/vc-verification/-/vc-verification-2.2.1-alpha.292.0.tgz", - "integrity": "sha512-jM5/s/9XaLdwVk4HKtyO8WrjmCeCgiz5G+cu6JRx7v7L703xy8Jw7JeeniRaVnUnPsTLnJVvLYqddOLdac6FDA==", + "version": "2.2.1-alpha.293.0", + "resolved": "https://registry.npmjs.org/@energyweb/vc-verification/-/vc-verification-2.2.1-alpha.293.0.tgz", + "integrity": "sha512-0ZmeFmrdncLTysX4w7VDQK7dnK/ctqWUK6rHiLJR/Qzw7sFtH52TX3O4o7hm9zFSSb41ETRVsdMhBi7+Yvfgdw==", "requires": { - "@energyweb/credential-governance": "2.2.1-alpha.292.0", - "@energyweb/onchain-claims": "2.2.1-alpha.292.0", + "@energyweb/credential-governance": "2.2.1-alpha.293.0", + "@energyweb/onchain-claims": "2.2.1-alpha.293.0", "@ew-did-registry/claims": "^0.7.1-alpha.795.0", "@ew-did-registry/credentials-interface": "^0.7.1-alpha.795.0", "@ew-did-registry/did-ethr-resolver": "^0.7.1-alpha.795.0", diff --git a/package.json b/package.json index d200b423..94a2ed45 100644 --- a/package.json +++ b/package.json @@ -64,11 +64,11 @@ "npm": ">= 6.0.0" }, "dependencies": { - "@energyweb/credential-governance": "^2.2.1-alpha.292.0", + "@energyweb/credential-governance": "^2.2.1-alpha.293.0", "@energyweb/ekc": "^0.6.7", - "@energyweb/onchain-claims": "^2.2.1-alpha.292.0", + "@energyweb/onchain-claims": "^2.2.1-alpha.293.0", "@energyweb/staking-pool": "^1.0.0-rc.14", - "@energyweb/vc-verification": "^2.2.1-alpha.292.0", + "@energyweb/vc-verification": "^2.2.1-alpha.293.0", "@ensdomains/ens": "^0.6.2", "@ew-did-registry/claims": "0.7.1-alpha.816.0", "@ew-did-registry/credentials-interface": "0.7.1-alpha.816.0", diff --git a/src/modules/claims/claims.service.ts b/src/modules/claims/claims.service.ts index b123ed77..1999dab5 100644 --- a/src/modules/claims/claims.service.ts +++ b/src/modules/claims/claims.service.ts @@ -442,11 +442,11 @@ export class ClaimsService { acceptedBy: this._signerService.did, expirationTimestamp, }; + const expiry = expirationTimestamp + ? Math.floor(expirationTimestamp / 1000) + : eternityTimestamp; if (registrationTypes.includes(RegistrationTypes.OnChain)) { - const expiry = expirationTimestamp - ? Math.floor(expirationTimestamp / 1000) - : eternityTimestamp; const onChainProof = await this.createOnChainProof( role, version, @@ -485,7 +485,7 @@ export class ClaimsService { const publicClaim: IPublicClaim = { did: sub, signer: this._signerService.did, - exp: expirationTimestamp, + exp: expiry, claimData: { ...strippedClaimData, ...(issuerFields && { issuerFields }), @@ -659,6 +659,9 @@ export class ClaimsService { acceptedBy: this._signerService.did, expirationTimestamp, }; + const expiry = expirationTimestamp + ? Math.floor(expirationTimestamp / 1000) + : eternityTimestamp; if (registrationTypes.includes(RegistrationTypes.OffChain)) { const vp = await this.issueVerifiablePresentation({ @@ -673,13 +676,13 @@ export class ClaimsService { const credentialStatus = credentialStatusOverride || vpCredentialStatus; const publicClaim: IPublicClaim = { did: subject, + exp: expiry, signer: this._signerService.did, claimData: claim, ...(credentialStatus && { credentialStatus }), }; const issuedToken = await this._didRegistry.issuePublicClaim({ publicClaim, - expirationTimestamp, }); message.issuedToken = issuedToken; message.vp = JSON.stringify(vp); @@ -687,9 +690,6 @@ export class ClaimsService { if (registrationTypes.includes(RegistrationTypes.OnChain)) { const { claimType: role, claimTypeVersion: version } = claim; - const expiry = expirationTimestamp - ? Math.floor(expirationTimestamp / 1000) - : eternityTimestamp; const onChainProof = await this.createOnChainProof( role, version, @@ -1531,7 +1531,7 @@ export class ClaimsService { errors.push(ERROR_MESSAGES.PROOF_NOT_VERIFIED); } // Date.now() and JWT expiration time both identify the time elapsed since January 1, 1970 00:00:00 UTC - const isExpired = payload?.exp && payload?.exp < Date.now(); + const isExpired = payload?.exp && payload?.exp * 1000 < Date.now(); if (isExpired) { errors.push(ERROR_MESSAGES.CREDENTIAL_EXPIRED); }