From 9bf72678dcd5b34f024b4feedd7e36c449ee55b8 Mon Sep 17 00:00:00 2001 From: Julien Fraichot Date: Tue, 5 Nov 2024 17:00:29 +0100 Subject: [PATCH 1/4] feat(VCv2): support multilingual name and description parsing --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 260f8f4d..e97b60d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "@blockcerts/blockcerts-verifier", "version": "0.0.0-dev", "dependencies": { - "@blockcerts/cert-verifier-js": "^6.17.1", + "@blockcerts/cert-verifier-js": "^6.19.0", "@blockcerts/cert-verifier-js-v1-legacy": "^4.0.1", "@polymer/lit-element": "0.5.1", "@polymer/polymer": "3.5.1", @@ -1942,9 +1942,9 @@ } }, "node_modules/@blockcerts/cert-verifier-js": { - "version": "6.17.1", - "resolved": "https://registry.npmjs.org/@blockcerts/cert-verifier-js/-/cert-verifier-js-6.17.1.tgz", - "integrity": "sha512-dbFSZiNt7iOhq6FeWdAzZXeUgECxq4X05mQyEGOHkRw9yeYhLjf7PgBlD8lh6WeApCvg5jL+k8xd/8wSUroKTA==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@blockcerts/cert-verifier-js/-/cert-verifier-js-6.19.0.tgz", + "integrity": "sha512-eE0mb3qBtf1NXmCymGISXyf0mKY+9QAW874/FlQ6RMCls30XmmzZMxbKFYzHy2QozJPHst9KOC+AezQEiic1vA==", "license": "MIT", "dependencies": { "@blockcerts/ecdsa-secp256k1-signature-2019": "^0.1.7", diff --git a/package.json b/package.json index 3c0c0a76..6a1cfb13 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "node": ">=18.0.0" }, "dependencies": { - "@blockcerts/cert-verifier-js": "^6.17.1", + "@blockcerts/cert-verifier-js": "^6.19.0", "@blockcerts/cert-verifier-js-v1-legacy": "^4.0.1", "@polymer/lit-element": "0.5.1", "@polymer/polymer": "3.5.1", From 122df8042d8a098d5cd7ec897bf94f5e7f2d1803 Mon Sep 17 00:00:00 2001 From: Julien Fraichot Date: Tue, 5 Nov 2024 17:02:35 +0100 Subject: [PATCH 2/4] fix(Deps): address vulnerabilities --- package-lock.json | 71 ++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/package-lock.json b/package-lock.json index e97b60d1..c66c2502 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5053,23 +5053,19 @@ "node": ">=16" } }, - "node_modules/@transmute/secp256k1-key-pair/node_modules/node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==" - }, "node_modules/@transmute/secp256k1-key-pair/node_modules/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.4.tgz", + "integrity": "sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==", "hasInstallScript": true, + "license": "MIT", "dependencies": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", + "elliptic": "^6.5.7", + "node-addon-api": "^5.0.0", "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=18.0.0" } }, "node_modules/@transmute/security-context": { @@ -8434,10 +8430,11 @@ "integrity": "sha512-1KX9ESmtl8xpT2LN2tFnKSbV4NiarbVi8DVb39ZriijvtTklyrT+4dT1wsGMHKD3CJUjXgvJzstm9qL9ICojGA==" }, "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -9315,9 +9312,10 @@ "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==" }, "node_modules/elliptic": { - "version": "6.5.7", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz", - "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==", + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz", + "integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -9474,15 +9472,6 @@ "has-binary2": "~1.0.2" } }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/engine.io/node_modules/debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -10832,17 +10821,18 @@ } }, "node_modules/express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dev": true, + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -10873,6 +10863,16 @@ "node": ">= 0.10.0" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -21584,17 +21584,18 @@ } }, "node_modules/secp256k1": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.0.tgz", - "integrity": "sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-5.0.1.tgz", + "integrity": "sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==", "hasInstallScript": true, + "license": "MIT", "dependencies": { - "elliptic": "^6.5.4", + "elliptic": "^6.5.7", "node-addon-api": "^5.0.0", "node-gyp-build": "^4.2.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.0.0" } }, "node_modules/semantic-release": { From b5b109699cf34cc9a43a60661d30d003a05da4bb Mon Sep 17 00:00:00 2001 From: Julien Fraichot Date: Tue, 5 Nov 2024 17:50:36 +0100 Subject: [PATCH 3/4] feat(VCv2): read name and description from parsed certificate property --- src/selectors/certificate.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/selectors/certificate.ts b/src/selectors/certificate.ts index 633be1dd..f71086df 100644 --- a/src/selectors/certificate.ts +++ b/src/selectors/certificate.ts @@ -57,9 +57,7 @@ export function getCertificateTitle (state: BlockcertsVerifierState): string { const certificateDefinition = getCertificateDefinition(state); if (certificateDefinition) { - return certificateDefinition.name ?? - (certificateDefinition.certificateJson as BlockcertsV3)?.name ?? - ''; + return certificateDefinition.name ?? ''; } return ''; @@ -372,9 +370,7 @@ export function getCertificateDescription (state: BlockcertsVerifierState): stri const certificateDefinition = getCertificateDefinition(state); if (certificateDefinition) { - return certificateDefinition.description ?? - (certificateDefinition.certificateJson as BlockcertsV3)?.description ?? - ''; + return certificateDefinition.description ?? ''; } return ''; From 29e7804130c1a5173fb2fa5d05fea0888dbcfaa1 Mon Sep 17 00:00:00 2001 From: Julien Fraichot Date: Tue, 5 Nov 2024 18:13:52 +0100 Subject: [PATCH 4/4] style(Lint): lint --- src/selectors/certificate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/selectors/certificate.ts b/src/selectors/certificate.ts index f71086df..71bb1cd0 100644 --- a/src/selectors/certificate.ts +++ b/src/selectors/certificate.ts @@ -5,7 +5,7 @@ import { isValidUrl } from '../helpers/validations'; import { VERIFICATION_STATUSES } from '../constants/verificationStatuses'; import { CONTENT_TYPES } from '../constants/contentTypes'; import getText from '../i18n/getText'; -import type { IVerificationMapItem, Signers, Certificate, BlockcertsV3 } from '@blockcerts/cert-verifier-js'; +import type { IVerificationMapItem, Signers, Certificate } from '@blockcerts/cert-verifier-js'; import type { BlockcertsVerifierState, IFinalStep } from '../store/getInitialState'; import type { V1Signature } from '../models/V1Signature';